Akıllı Ev Kontrolü ve İzleme Mobil Uygulaması Nasıl Yapılır
Akıllı ev kontrolü ve izleme için bir mobil uygulamayı planlayın, tasarlayın, geliştirin ve yayınlayın—cihaz desteği, güvenlik, UX, bildirimler ve testleri kapsar.

Kullanım Senaryolarını ve Hedef Cihazları Belirleyin
Ekranlar, protokoller veya uygulama mimarisi üzerinde düşünmeden önce uygulamanın ne için olduğunu netleştirin. "Akıllı ev mobil uygulaması" hızlı cihaz kontrolü, sürekli izleme veya ikisinin karışımı anlamına gelebilir—ve her seçim hangi işi önce inşa etmeniz gerektiğini değiştirir.
Net bir hedefle başlayın
Uygulamanın mükemmel yapması gereken birincil işi seçin:
- Kontrol-öncelikli: ışıkları açma, bir kapının kilidini açma veya termostatı ayarlama gibi hızlı eylemler.
- İzleme-öncelikli: ne olduğunu anlama (sıcaklık trendleri, kapı olayları, kamera durumu) ve uyarılara yanıt verme.
- Kontrol + izleme: ev otomasyonu uygulamaları için yaygın, ama kapsam hızla büyüyebilir—neyin "zorunlu" neyin "sonra" olduğunu tanımlayın.
Pratik bir kural: kullanıcılar uygulamayı saniyeler için açıyorsa kontrolü önceliklendirin. Cevap almak için açıyorlarsa izlemeyi önceliklendirin.
Destekleyeceğiniz cihazları listeleyin (ve “destek”in ne anlama geldiğini belirtin)
Erken aşamada açık bir cihaz envanteri oluşturun. Tipik kategoriler:
- Işıklar ve anahtarlar
- Akıllı prizler
- Termostatlar
- Kilitler
- Kameralar ve kapı zilleri
- Sensörler (hareket, kontak, duman/CO, sızıntı, sıcaklık/nem)
Her cihaz türü için gereken yetenekleri tanımlayın: aç/kapa, kısma, pil seviyesi, geçmiş, canlı görüntü, firmware durumu ve internet kesildiğinde çalışması gerekip gerekmediği. Bu, belirsiz "cihaz kontrolü ve izleme" gereksinimlerinin sonsuz kenar durumlarına dönüşmesini önler.
Hedef kullanıcıları ve temel senaryoları belirleyin
Kullanıcıların gerçekten önemsediği 5–10 senaryo yazın, örneğin:
- Eve varış: alarmı devre dışı bırak, kilidi aç, giriş ışıklarını aç
- Yatma zamanı: kapıları kilitle, alt katı kapat, termostatı ayarla
- Uzaktayken: sensörleri devreye al, uyarı al, kamera durumunu kontrol et
Başarı metriklerini erken belirleyin
İyi IoT uygulama geliştirme ölçülebilirdir. Şunları seçin:
- Kurulum tamamlama oranı (eşleştirme + ilk başarılı eylem)
- Günlük/haftalık aktif kontrol (anahtar eylemlerin ne sıklıkta gerçekleştiği)
- Uyarı yanıt süresi (bildirimden detayları açmaya kadar geçen süre)
Bu metrikler, sonraki aşamalarda ödünler yapılırken ürün kararlarını yönlendirecektir.
Platformları ve Yapım Yaklaşımınızı Seçin
Platform seçimi her şeyi etkiler: cihaz entegrasyonları, performans, QA çabası ve hatta "çevrimdışı kontrol"'ün gerçekte ne anlama geldiği. UI bileşenlerine ve veri modellerine karar vermeden önce kapsamınızı ve yaklaşımınızı belirleyin.
Platform kapsamınızı seçin (iOS, Android veya her ikisi)
Tüketici kitlesine gönderim yapıyorsanız, er ya da geç her iki platform için plan yapın. Sıralama sorusu:
- Bir platformla başlayın ürün doğrularken hız istiyorsanız.
- Başından itibaren her iki platformu inşa edin eğer dağıtım ortaklarınız, donanım paketleriniz veya net bir teslim tarihi varsa.
Ayrıca minimum işletim sistemi sürümlerinizi belirleyin. Çok eski cihazları desteklemek (arka plan sınırlamaları, Bluetooth davranış farklılıkları, bildirim tuhaflıkları) maliyeti sessizce artırabilir.
Tablet desteği ve erişilebilirlik
Tabletler, duvara monte "ev panosu" kullanımı için büyük fayda sağlayabilir. Bu ürünün parçasıysa, ekranların ölçeklenmesini tasarlayın (bölünmüş görünümler, daha büyük dokunmatik hedefler) ve yatay düzenleri düşünün.
Erişilebilirlik cilalı bir kontrol deneyimi istiyorsanız zorunludur. Erken gereksinimler belirleyin: dinamik yazı boyutu, durum durumları için renk kontrastı, anahtarlar ve sensörler için ekran okuyucu etiketleri ve titreşim/ses alternatifleri.
Yaklaşımı seçin: native, çapraz platform veya web + sarmalayıcı
- Native (Swift/Kotlin): Bluetooth performansı, arka plan davranışı ve platforma özgü UX için en iyisi.
- Çapraz platform (Flutter/React Native): paylaşılan UI ve özellik eşitliği için daha hızlı, ancak Bluetooth, Wi‑Fi yapılandırma ve push bildirimleri için eklenti olgunluğunu doğrulayın.
- Web + sarmalayıcı: gerçek cihaz kontrolü için genellikle zayıf bir uyum; yalnızca "sadece izleme" veya yönetici ekranları için kabul edilebilir olabilir, fakat eşleştirme ve düşük gecikmeli kontrolle zorlanır.
Temel çevrimdışı kararları: yerel kontrol vs sadece bulut
İnternet olmadan nelerin çalışması gerektiğine karar verin: ışıkları açmak, kapıları kilitleyip açmak, son bilinen sensör durumlarını görüntülemek gibi.
- Sadece bulut kontrolü daha basittir, ama Wi‑Fi dalgalıysa kullanıcı uygulamayı suçlayacaktır.
- Yerel kontrol güvenilirliği artırabilir, ama karmaşıklık getirir (ağ keşfi, yerel kimlik doğrulama, çakışma çözümü).
Açık bir çevrimdışı vaat tanımlayın (neyin çalıştığı, neyin çalışmadığı) ve buna göre tasarlayın.
Akıllı Ev Protokollerini ve Entegrasyonları Anlayın
Bir akıllı ev uygulaması nadiren tek bir "akıllı ev" ile konuşur. Farklı güvenilirlik ve gecikme profillerine sahip cihazların karışımıyla iletişim kurar. Bunu erken doğru yapmak sonraki yeniden yazmaları önler.
Cihazlar nasıl bağlanır (ve uygulamanız için ne anlam ifade eder)
Wi‑Fi cihazları genellikle internet üzerinden (satıcı bulutu) veya ev ağınız üzerinden (yerel LAN) konuşur. Bulut kontrolü uzaktan erişimi kolaylaştırır, ancak uptime ve oran sınırlamalarına bağlıdır. Yerel LAN kontrolü anlık hissedebilir ve internet kesildiğinde çalışmaya devam edebilir, ancak keşif, kimlik doğrulama ve ağ kenar durumu işleme gerektirir.
Bluetooth eşleştirme ve yakındaki cihazlar (kilitler, sensörler) için yaygındır. Hızlı olabilir, ama telefon merkezlidir: arka plan sınırlamaları, OS izinleri ve menzil önemlidir.
Zigbee ve Z‑Wave genellikle bir hub gerektirir. Uygulamanız genellikle her uç cihazla değil hub'ın API'siyle entegre olur. Bu çoklu cihaz desteğini basitleştirebilir, ama sizi hub yeteneklerine bağlar.
Matter/Thread cihaz kontrolünü standardize etmeyi amaçlar. Pratikte hâlâ ekosistemlerle (Apple/Google/Amazon) ve değişen cihaz özellik kapsamıyla uğraşacaksınız.
Entegrasyon yolunuzu seçin
Genelde bir veya daha fazlasını seçersiniz:
- Hub entegrasyonu (Home Assistant, SmartThings vb.) geniş cihaz kapsamı için
- Vendor bulutları markalı ekosistemler ve uzak erişim için
- Yerel LAN API'leri hız ve çevrimdışı dostu kontrol için
Destekleyeceğiniz her cihaz için: eşleştirme yöntemi, gereken izinler, desteklenen eylemler, güncelleme sıklığı ve API limitleri (oran sınırlamaları, kota, polling kısıtları) dokümante edin.
Cihaz yetenek modeli oluşturun
"Cihaz X düğmesi Y'e sahiptir" şeklinde sert kodlamadan kaçının. Bunun yerine cihazları switch, dimmer, temperature, motion, battery, lock, energy gibi yeteneklere normalleştirin ve meta veriler ekleyin (birimler, aralıklar, salt okunur mu yoksa kontrol edilebilir mi). Bu, yeni cihaz türleri ortaya çıktığında UI ve otomasyonların ölçeklenmesini sağlar.
Hızlı Kontrol ve Açık İzleme için UX Tasarlayın
Akıllı ev UX'i ilk birkaç saniyede kazanır veya kaybeder: kullanıcılar bir eylem yapmak, bunun başarılı olduğunu onaylamak ve devam etmek ister. Hız, açıklık ve güven öncelikli olsun—özellikle cihazlar çevrimdışı olduğunda veya tahmin edilemez davrandığında.
Temel ekranları eşleyin (ve tahmin edilebilir tutun)
Kullanıcıların bir kez öğrenip her yerde yeniden kullanabileceği küçük bir "çapa" ekran setiyle başlayın:
- Onboarding: hesap (gerekliyse), izinler ve açık bir “Cihaz Ekle” giriş noktası.
- Ana pano: odalar, favoriler ve kritik durumlar (alarm, sızıntı gibi) genel görünümü.
- Oda görünümü: tutarlı kontrollerle gruplanmış cihazlar ve oda seviyesi durumu.
- Cihaz detay: genişletilmiş kontroller, geçmiş (varsa), pil/yazılım durumu ve sorun giderme.
- Otomasyonlar/sahne: basit oluşturma ve test, düz İngilizce (plain-language) koşullar ve eylemlerle.
Tutarlılık zekâdan önemlidir: aynı simgeler, aynı birincil eylem yerleşimi, aynı durum dili.
“Tek dokunuş” kontrol için optimize edin
Sık yapılan eylemleri zahmetsiz hale getirin:
- Büyük anahtarlar ve hareket açısından güvenli kontroller kullanın (kritik eylemler için küçük kaydırıcılar kullanmaktan kaçının).
- Panoda hızlı eylemler sağlayın (örn. “Tüm ışıkları kapat”, “Kapıları kilitle”).
- Anında geri bildirim gösterin: düğme durumu hemen değişsin, uygulama tamamlamayı doğrulasın (“Açılıyor…”, sonra “Açık”).
Güven oluşturan izleme
İzleme çoğunlukla belirsizliği iyi iletmekle ilgilidir. Her zaman cihaz çevrimiçi/çevrimdışı ve son güncelleme zamanını gösterin. Sensörler için hem şimdiki değeri hem de küçük bir trend ipucunu gösterin (“2 dakika önce güncellendi”). Kötü haberleri saklamayın.
Dostane uyarı ve hata metinleri
Kullanıcının harekete geçmesine yardımcı olacak dil kullanın:
- “Eşleştirme başarısız. Cihazın kurulum modunda ve 3 metre içinde olduğundan emin olun.”
- “Cihaza ulaşılamıyor. Güç ve Wi‑Fi'yi kontrol edin, sonra tekrar deneyin.”
Tek bir net sonraki adım ve bir “Tekrar dene” düğmesi sunun.
Erişilebilirlik temel kuralları
Büyük dokunma hedefleri, güçlü kontrast ve dinamik metin desteğiyle tasarlayın. Her kontrolün ekran okuyucu için açık bir etiketi olsun ve durumu yalnızca renge dayandırmayın (ör. “Çevrimdışı” metni + simge kullanın).
Güvenilir Bir Onboarding ve Cihaz Eşleştirme Akışı Oluşturun
Onboarding akışı akıllı ev uygulamalarında güveni kazanır veya kaybeder. Kullanıcılar "cihaz kuruyor" değil—anında bir ışığı açmaya çalışıyor. Amacınız eşleştirmeyi tahmin edilebilir, hızlı ve kurtarılabilir hissettirmek.
Doğru eşleştirme akışını seçin (ve açık olun)
Cihazlarınızın gerektirdiği eşleştirme yöntemlerini destekleyin, ama bunları kullanıcıya açık seçenekler olarak sunun:
- QR kodu eşleştirme: cihazda basılı bir kod varsa en hızlı yol. Kodun nerede olduğunu ve taradıktan sonra ne olacağını açıklayın.
- Bluetooth keşfi: yakındaki kurulumlar için harika. Sinyal gücü ve tanımlanabilir bir ad ile cihaz listesi gösterin.
- Wi‑Fi kimlik bilgileri: kullanıcılara adım adım rehberlik edin; hangi ağ adını seçmeleri gerektiğini (2.4 GHz vs 5 GHz) açıkça gösterin.
- Hub eşleştirme: bir hub varsa, sıra: “Önce hub'i eşleştirin, sonra cihazları ekleyin” şeklinde açıklayın.
Gerekli izinleri yalnızca gerektiğinde isteyin
Eşleştirme genellikle Bluetooth ve bazen tarama gereği olarak konum izinleri ister; ayrıca bildirimler uyarılar için gereklidir. Hepsini ilk ekranda istemeyin. Sistem isteminden hemen önce “neden”i açıklayın: “Yakındaki cihazları bulmak için Bluetooth gerekiyor.” Kullanıcı reddederse, “Ayarlar’da düzelt” gibi basit bir yol sağlayın.
Hatalar için tasarlayın (çünkü olacaktır)
Yaygın sorunlar: yanlış Wi‑Fi parolası, zayıf sinyal, firmware uyuşmazlığı. Tespit edebildiklerinizi tespit edin ve spesifik çözümler sunun: seçili ağ adını gösterin, router'a daha yakın olmalarını önerin veya tahmini süreyle bir güncelleme isteyin.
Her zaman bir kurtarma yolu ekleyin
Her eşleştirme ekranında görünür bir çıkış yolu olmalı: Tekrar dene, Baştan başla ve Sıfırlama talimatları (model-spesifik adımlar). Bir destek giriş noktası (“Contact support” veya “Chat”) ekleyin ve kullanıcıların aramak zorunda kalmadan paylaşabileceği tanılama bilgilerini ekleyin.
Uygulama Mimarisi ve Veri Akışını Planlayın
Akıllı ev mobil uygulaması nadiren "sadece bir uygulama"dır. Mobil istemci, bir backend (çoğunlukla) ve cihaz tarafı (doğrudan cihaza, hub aracılığıyla veya vendor cloud üzerinden) olmak üzere üç hareketli parçadan oluşan bir sistemdir. Mimariniz komutların nasıl gittiğini (dokunma → eylem) ve gerçeğin nasıl geri geldiğini (cihaz → durum) açıkça göstermeli.
Temel bileşenleri tanımlayın
En azından şu yolları haritalandırın:
- Kontrol yolu: telefon → (backend veya hub) → cihaz, net yeniden denemeler ve zaman aşımı ile.
- Telemetri yolu: cihaz → (hub/cloud) → backend → telefon; güncellemeler sıra dışı gelebilir.
Hem yerel hem uzak kontrolü destekliyorsanız uygulamanın rotayı nasıl seçeceğine karar verin (aynı Wi‑Fi = yerel, evden uzakta = bulut) ve bir yol başarısız olduğunda ne olacağını belirleyin.
“Durum”un nerede yaşadığına karar verin
Akıllı ev uygulamaları durum tutarlılığında başarır veya başarısız olur. Birincil hakikat kaynağını seçin:
- Hub-yönetimli durum (Zigbee/Z‑Wave için yaygın): hub cihaz durumunu saklar ve uygulamaya sunar.
- Bulut veritabanı durumu: backend çapraz cihaz erişimi ve geçmiş için son bilinen durumu saklar.
- Uygulama yerel önbelleği: UI hızlandırır ama "en iyi çaba" olarak değerlendirilmelidir.
Pratik bir desen: backend (veya hub) hakikat kaynağı olsun, uygulama önbellek tutsun ve UI belirsiz olduğunda "Güncelleniyor…" ibaresi göstersin.
Gerçek zamanlı güncellemeleri planlayın
Cihaz türüne ve ölçeğe göre seçin:
- Polling: en basit; yavaş değişen sensörler için uygun, sık güncellemede maliyetli.
- Push eventleri: pil ve yanıt verme için en iyi (ör. vendor webhook).
- WebSockets: canlı panolar ve çoklu kullanıcı senkronizasyonu için harika.
Çoklu ev ve çoklu kullanıcıyı baştan modelleyin
Home → Rooms → Devices modelleyin, sonra Users + Roles (owner, admin, guest) ve paylaşılan erişim ekleyin. İzinleri veri-akış kuralları olarak ele alın: kim komut gönderebilir, kim geçmişi görebilir ve hangi bildirimler ev içinde kimin için izinli.
Hızlı yineleme: kendinizi kilitlemeden prototip oluşturun
Eğer bir IoT ürününü doğruluyorsanız (veya eski bir boru hattını yeniden inşa ediyorsanız), tam yığını hızlıca prototiplemek—mobil UI, backend ve veri modeli—sonra cihaz entegrasyonlarını sertleştirmek faydalı olabilir.
Koder.ai gibi platformlar burada kullanışlıdır: akıllı ev mobil uygulama akışlarınızı sohbet halinde tarif edebilir, Planning Mode ile ekranları ve veri akışını haritalayabilir ve React web panoları, Go + PostgreSQL backend ve Flutter mobil gibi yaygın yığınlarla çalışan bir temel üretebilirsiniz. Snapshots ve rollback, cihaz yetenek modelleri ve otomasyon kuralları üzerinde güvenle yineleme yapmayı kolaylaştırır.
Güvenlik, Gizlilik ve Erişim Kontrolü Temelleri
Güvenlik, akıllı ev mobil uygulamasında sonradan eklenen bir özellik değildir. Uygulamanız kapıları açabilir, alarmları devre dışı bırakabilir veya kamera akışlarını gösterebilir—bu yüzden küçük kısayollar gerçek dünyada tehlikelere yol açabilir.
Kimlik doğrulama ve güvenli oturumlar
Hedef kitlenize ve destek yüküne uyan bir giriş yöntemi seçin:
- E-posta + parola (basit, ama güvenli parola sıfırlama akışları gerektirir)
- SSO (Apple/Google) daha düşük sürtünme ve daha az unutulan parola sağlar
- Magic link / tek seferlik kod parola depolamayı tamamen atlamak için
Seçiminiz ne olursa olsun, oturum yönetimini birinci sınıf kabul edin: kısa ömürlü erişim tokenleri, rotasyonlu refresh tokenler ve "tüm cihazlardan çıkış" seçeneği. Paylaşılan tabletler veya duvarda duran cihazları destekliyorsanız daha sıkı izinlerle bir “paylaşılan cihaz modu” ekleyin.
Taşıma güvenliği ve gizli anahtar depolama
Uygulama, backend ve cihazlar arasındaki tüm trafik TLS ile korunmalıdır. Üretimde geçici HTTP istisnalarına izin vermeyin ve yüksek riskli uygulamalar için sertifika pinleme düşünün.
Telefonda sırları (API anahtarları, eşleştirme kodları, refresh tokenler) düz metin olarak asla saklamayın. Platform tarafından sağlanan güvenli depolamayı kullanın (iOS Keychain, Android Keystore). Kayıtlarda tokenler ve kişisel veri gösterilmesi konusunda dikkatli olun: maskelenmiş veya karartılmış olsun.
Yetkilendirme: kim ne yapabilir
Rolleri erken tanımlayın ve hem UI hem backend kurallarında tutarlı tutun:
- Owner: tam kontrol, faturalama, paylaşım, fabrika sıfırlama
- Admin: cihazları ve otomasyonları yönetir, ama kritik eylemlerde sınırlı olabilir
- Guest: yalnızca temel kontrol (örn. ışıklar), güvenlik sistemi değişikliklerine erişim yok
- Zaman sınırlı erişim: otomatik olarak süresi dolan misafirler (temizlikçi, köpek gezdirici)
Yetkileri sadece butonları gizleyerek değil, sunucu tarafında uygulatın.
Güven ve sorun giderme için denetim geçmişi
Kilitle/açma, arm/disarm, kullanıcı ekleme/kaldırma, otomasyon değişiklikleri ve uzaktan erişim olayları gibi yüksek etki taşıyan eylemler için bir audit trail oluşturun. Basit bir uygulama içi “Etkinlik” ekranı (zaman damgaları ve eylemi yapan kişi) kullanıcı güvenini artırır ve destek ekiplerinin sorunları hızla tanılamasına yardımcı olur.
İzleme, Uyarılar ve Bildirimler
Uyarılar bir akıllı ev uygulamasını rahatlatıcı ya da rahatsız edici hale getirebilir. Hedef basit: doğru olayı, yeterli bağlamla, doğru zamanda kullanıcıya sunmak; telefonunuzu sirene çevirmemek.
Hangi olayların uyarı tetikleyeceğine karar verin
Gerçekte evde yaşayan birinin umursayacağı olayları listeleyin. Yaygın kategoriler:
- Güvenlik: duman/CO alarmı, su sızıntısı, cam kırılma (destekleniyorsa)
- Güvenlik (hırsızlık): hareket algılanması, kapı/pencere açılması, alarm arm/disarm
- Güvenilirlik: cihaz çevrimdışı, hub bağlantısı koptu, pil zayıf
- Konfor: paket tespiti, garaj kapısı açık kaldı
Sıkçıl ("chatty") olaylara dikkat edin (yoğun koridordaki her hareket). Bunlar varsayılan kapalı olmalı veya yalnızca uygulama içi geçmişe düşürülmelidir.
Bildirim ayarlarını anlaşılır yapın
Kullanıcılar ayrıntılı bir kural matrisini yapılandırmak istemez. Birkaç net kontrol sunun:
- Sessiz saatler (örn. 22:00–07:00) kritik güvenlik uyarıları için istisnalarla
- Önem seviyeleri (Kritik, Önemli, Bilgi) kullanıcıların açıp kapatabileceği
- Cihaz bazlı ayarlar (ön kapı için bildir, oturma odası hareketi için bildirme)
Eğer birden fazla ev veya kullanıcı destekleniyorsa, ayarlar doğru kapsamda (ev başına, kullanıcı başına) olmalı ki bir kişinin tercihleri diğerini bozmasın.
“Ne oldu?” sorusunu cevaplayan uygulama içi etkinlik beslemesi ekleyin
Push bildirimleri geçicidir. Uygulama içi etkinlik akışı, kullanıcıların sistemi sonradan doğrulamasına yardımcı olur.
Akışta şunlar olmalı:
- Net bir olay başlığı (“Ön Kapı Açıldı”)
- Zaman damgası (ve zaman dilimi farkındalığı)
- Yer bağlamı (ev + oda)
- Cihaz adı (ve ideal olarak bir simge)
Kameraları destekliyorsanız akıştan ilgili klibe veya küçük bir görüntüye bağlayın. Desteklemiyorsanız cihaz detay sayfasına bağlantı verin ki kullanıcı anlık durumu hızlıca kontrol edebilsin.
Uyarıları eyleme dönüştürülebilir ve spesifik tutun
Yararlı bir uyarı hemen dört soruyu yanıtlamalı: ne oldu, nerede, ne zaman ve bir sonraki adım ne.
İyi: “Duman alarmı: Mutfak • 02:14 — Acil durumda aramak ve susturmak için dokunun (destekleniyorsa).”
Kötü: “Alarm tetiklendi.”
Mümkünse hızlı eylemler ekleyin (“Sireni kapat”, “Kilit at”), ama başarısız olması muhtemel eylemler sunmayın—cihaz çevrimdışıysa bunu söyleyin ve kurtarma adımları sunun. Bildirim ile etkinlik geçmişinin tutarlı olmasını sağlayın: bir push başarısız olsa veya kapatılsa bile etkinlik akışı olayı yansıtmalıdır.
Kullanıcıların Anlayabileceği Sahne ve Otomasyonlar
Sahne ve otomasyonlar uygulamayı "akıllı" hissettiren yerlerdir—ama kurallar bir programlama aracına benzediğinde kullanıcılar şaşırır. Amaç güçlü davranışı tahmin edilebilir ve kolay düzeltilir kılmaktır.
Aşina olunan otomasyon türleriyle başlayın
Çoğu hane halkının beklediği temel seti destekleyin:
- Zamanlamalar: "Her gün 07:00'de Mutfak ışıklarını aç."
- Sahneler: tek dokunuşla birden çok ayarı yapan paketler (örn. “Film Gecesi”: ışıkları kıs, storları kapat, termostatı ayarla).
- Sensöre dayalı tetikleyiciler: "10 PM sonrası hareket algılanırsa Koridor ışığını 5 dakika aç."
- Geofencing (isteğe bağlı): “Evden çıkınca ışıkları kapat” (isteğe bağlı ve açık şekilde açıklanmalı).
“Eğer bu olursa → şu olsun” şablonlarını kullanın
Gerçek niyetle eşleşen şablonlardan başlayan basit bir oluşturucu en iyisidir:
- “Ne zaman kapı açılır → o zaman giriş ışığını aç”
- “Günbatımında → o zaman ‘Akşam’ sahnesini çalıştır”
- “Eğer sıcaklık X’in altına düşerse → o zaman ısıtıcıyı aç”
Editörü kısa tutun: Tetikleyici, Koşullar (opsiyonel), Eylem(ler). Üstte açık dilde bir özet gösterin: “Eğer Koridorda hareket 10 PM sonrası ise, Koridor Işığını 5 dakika aç.”
Döngüleri ve tekrarlanan tetiklemeleri önleyin
Otomasyonların cihazları spamlemesini engelleyecek güvenlik kontrolleri planlayın:
- Soğuma süreleri (örn. 2 dakika içinde tekrar çalıştırma)
- Durum kontrolleri (yalnızca zaten kapalıysa aç)
- Çakışma uyarıları (aynı cihaz için iki kural çatışması)
Manuel müdahale davranışını tanımlayın
Kullanıcılar manuel olarak anahtar çevirecek. Sonra ne olduğunu belirleyin ve iletin:
- Otomasyon hemen yeniden başlar mı, bir zaman aşımından sonra mı yoksa bir sonraki planlı çalışmada mı?
- Manuel değişiklik otomasyonu devre dışı bırakır mı (“Yarın sabaha kadar duraklat”)?
Bunu basit bir kontrol olarak sunun: “Manuel değişiklikler bu otomasyonu şu sürede duraklatır: 1 saat / bir sonraki çalışmaya kadar / asla.”
Güvenilirlik: Çevrimdışı İşleme ve Hata Kurtarma
Akıllı ev uygulamaları dağınık koşullarda yaşar: Wi‑Fi düşer, router yeniden başlatılır, cihazlar pil tasarrufu için uykuya gider ve bulut hizmetleri arızalanır. Güvenilirlik sadece çalışma süresi değil—işler ters gittiğinde uygulamanızın nasıl davrandığıdır.
Bağlantı sorunlarını panik olmadan görünür kılın
Uygun seviyede tutarlı bir bağlantı durumu gösterin: ev (gateway/bulut), oda ve cihaz. Bir komut gönderildiğinde ne olduğunu yansıtın: Gönderiliyor… → Onaylandı veya Başarısız. Mantıklı zaman aşımılar ve sınırlı yeniden denemeler kullanın. UI, uygulamanın ne yaptığını söylemeli (“Tekrar deneniyor…”) ve arka planda sessizce döngüye girmemelidir.
Durumu önbelleğe alın, ama dürüstçe etiketleyin
Ana panonun çevrimdışı olsa bile faydalı kalması için son bilinen durumu yerelde önbelleğe alın. Veriler eski olabilir diye Son güncelleme zaman damgası gösterin ve canlı gibi davranmayın.
Kontrollerde optimistik UI dikkatli kullanın. Bir ışığı açmak anlık hissettirebilir, ama onay gelmezse net bir geri alma mekanizması olmalıdır: “Cihaza ulaşılamadı. Durum değişmemiş olabilir.”
Kesintiler sırasında yerel-öncelikli kontrol
Mümkünse internet kesintisinde yalnızca yerel kontrolü (LAN/Bluetooth/Hub-araçlı) destekleyin. Önemli olan beklentileri yönetmektir:
- Eğer yerel kontrol varsa: “Yerelde çalışıyor (internet yok).”
- Değilse: “Bu cihaz için internet gerekli.”
Bu, destek taleplerini azaltır ve güven oluşturur.
Kullanıcıyı daha az sinirlendiren hata kurtarma desenleri
Tek dokunuşla kurtarma eylemlerini tercih edin: Tekrar dene, Yeniden bağlan, Hub yeniden başlatma talimatları veya Wi‑Fi kontrolü ipuçları cihaz-spesifik. Uygulama tekrar öne geldiğinde arka planda sessizce yenileyin ve yalnızca kullanıcı eylemi gerekiyorsa kesintiye uğratın.
Firmware güncellemeleri korkutucu sürprizler olmadan
Firmware güncellemeleri güvenilirlik özellikleri olabilir—ama aceleyle uygulanırsa güvenilirliği bozabilir. Net istemler ve rehberlik kullanın:
- Güncellemenin neden önemli olduğunu açıklayın (bug fix, güvenlik).
- Güvenlik adımlarını verin: telefonu yakın tutun, gücü çekmeyin, uygulamayı kapatmayın.
- Riskli durumları (düşük pil, zayıf sinyal) tespit edip beklemeyi önerin.
İyi yapıldığında, çevrimdışı işleme ve kurtarma uygulamanızı ev ağı sorunlarına rağmen güvenilir hissettirir.
Gerçek Evlerde Test Planı (Sadece Laboratuvar Değil)
Bir akıllı ev uygulaması demoda mükemmel görünebilir ama bir apartman dairesinde başarısız olabilir. Gerçek evler dağınık Wi‑Fi, kalın duvarlar, eski telefonlar, paylaşılan hesaplar ve karışık marka kombinasyonları getirir. Test planınız bu çeşitliliği erken yeniden üretmeli—yayın tarihini kilitlemeden önce.
Gerçek telefon ve ağ çeşitliliğiyle eşleştirme testleri
Eşleştirme kullanıcıların ilk izlenimini oluşturduğu için bunu bir özellik olarak değil, bir ürün olarak test edin.
Senaryoları test edin:
- Birden çok telefon modeli (düşük uç ve amiral gemisi) ve çeşitli OS sürümleri
- Farklı router kurulumları (yalnızca 2.4 GHz, çift bant, band steering, misafir ağı)
- Yaygın “ev tuhaflıkları” (zayıf sinyal odaları, sıçrayıcılar/mesh, captive portal)
Ayrıca insan akışını test edin: yanlış Wi‑Fi şifresi, kullanıcı Bluetooth/konum iznini reddeder, kurulum sırasında uygulamadan çıkma veya telefon kilitlenmesi.
Kenar durumları: düzgünce ele alınması gereken hatalar
Gerçek evler sık kenar durumlarını tetikler; bunlar için açık test vakaları ve beklenen UI davranışları yazın.
Tekrarlanabilir senaryolar:
- Bir kontrol eylemi sırasında cihaz çevrimdışı (toggle, setpoint, kilit/aç)
- Düşük pil uyarıları ve pil oturum sırasında bitince ne olur
- Hub yeniden başlatma/power cycle iken pano izleme
- Router yeniden başlatma, ISP kesintisi ve kontrol sırasında Wi‑Fi'den hücresel veriye geçiş
Uygulama net olmalı: ne biliniyor, ne beklemede ve ne başarısız oldu—ve kullanıcıyı bir spinner içinde sıkıştırmamalı.
Gerçek kullanıcı davranışına uygun güvenlik kontrolleri
Güvenlik testi yalnızca penetrasyon testi değildir; kimlik doğrulama ve izinlerin güvenli davrandığını doğrulamaktır.
Odak noktaları:
- Kimlik doğrulama akışları (token yenileme, çıkış, oturum süresi, çoklu cihaz girişleri)
- İzin istemleri (Bluetooth, konum, bildirimler): zamanlama ve açıklayıcı metin
- Veri depolama incelemesi: günlüklerde sır yok, güvenli yerel önbellek ve keychain/keystore kullanımı
Eğer uygulama birden fazla ev üyesini destekliyorsa, rol değişikliklerini (admin vs guest) test edin ve erişimin iptal edildiğinde derhal kaldırıldığını doğrulayın.
Yük altındaki performans: büyük panolar ve bildirim gecikmesi
Birçok akıllı ev onlarca cihaza sahiptir. Performans sorunları genelde ölçeklendikçe görünür.
Test edin:
- 50+ cihazlı panolar (kaydırma, arama, filtreleme, oda geçişi)
- Soğuk başlatma ve arkadan dönme hızları
- Sık sensör güncellemeleri altında gerçek zamanlı güncelleme davranışı
- Olaydan push iletiminin gecikmesi, DND ve düşük güç modları dahil
Metrikler izleyin ve net eşikler belirleyin. Pano çok yavaş yükleniyorsa veya bildirimler gecikiyorsa kullanıcılar sistemin güvensiz olduğunu varsayar.
Yayın, Destek ve Sürekli İyileştirmeler
Bir akıllı ev mobil uygulaması yayınlandığında bitmiş sayılmaz. Gerçek evler dağınıktır: Wi‑Fi düşer, cihazlar değiştirilir ve kullanıcılar yeniden öğrenmeden düzeltmeler bekler. İyi bir yayın planı hızlı öğrenmeyi, müşteri desteğini ve zaman içinde güvenilirliği korumayı sağlar.
App Store & Play Store hazırlığı
Yayın öncesi mağaza varlıklarını ve uyumluluk detaylarını hazırlayın ki kullanıcılar izinler veya veri işleme konusunda sürpriz yaşamasın.
- Açık izin açıklamaları (Bluetooth, konum, bildirimler): "Kurulum sırasında yakındaki cihazları bulmak için Bluetooth kullanılır." gibi düz dil amaç metinleri yazın.
- Gizlilik detayları: ne toplandığını ve nedenini açıklayın (özellikle teşhis ve analiz). Kamera/mikrofon varsa ne zaman erişildiğini açıkça belirtin.
- Ekran görüntüleri sonuçları gösterir: eşleştirme, cihaz kontrolü ve izleme durumları (çevrimdışı örnek dahil) genelde daha iyi dönüşüm sağlar.
Abonelik veya premium izleme özellikleri satıyorsanız, uygulama içi satın alma metninizi mağaza listesindekiyle eşleştirin ve kullanıcıları karşılaştırma için /pricing gibi sayfaya yönlendirirken metin olarak belirtin.
Evi saygıyla gözeten analizler
İzleme, ürün sağlığı ve UX iyileştirmeleri için olmalı, hassas ev davranışlarına değil.
İzleyin:
- Onboarding hunisi: kurulum → hesap oluşturma → eşleştirme başlatıldı → eşleştirme başarı → ilk kontrol eylemi
- Eşleştirme hata sebepleri: zaman aşımı, yanlış kimlik bilgisi, firmware uyuşmazlığı (kategori olarak kaydedin)
- Özellik kullanımı: hangi cihaz türleri en çok kontrol ediliyor, hangi ekranlar çıkışa neden oluyor
Ham cihaz adları, tam adresler veya rutinleri ortaya çıkaran ayrıntılı olay zaman çizelgeleri toplamaktan kaçının. Mümkünse topla ve açık bir opt‑out sunun.
Gerçek sorunları çözen destek yolları
Akıllı ev desteği sıklıkla “cihaz + ağ + kullanıcı” kombinasyonudur. Yardımı sorunun çıktığı anda erişilebilir yapın.
- Uygulama içi SSS ve hızlı çözümler: “Cihaz çevrimdışı”, “Eşleştirme takıldı”, “Sıfırlama talimatları”, “LED anlamları”.
- Bağlamsal yardım: hata durumunda doğrudan sorun giderme adımlarını gösterin, ayarlarda gömülü değil.
- Yükseltme yolu: hassas olmayan tanılama bilgileri (uygulama sürümü, cihaz modeli, son hata kodu) ekleyen bir “Contact support” akışı ve e‑posta tercih edenler için /contact sunun.
Bakım yol haritası: uygulamayı uyumlu tutun
Sürekli yayınlarınızı şunlar etrafında planlayın:
- Yeni cihaz desteği (ve yeni firmware davranışları)
- Hata düzeltmeleri önceliklendirilmiş olarak
- Güvenlik güncellemeleri: bağımlılık yamaları, sertifika rotasyonları, izin değişiklikleri
Uyumluluk çalışmasını sürekli kabul edin: OS güncellemeleri, router değişiklikleri ve yeni akıllı ev standartları, lansmanda iyi çalışan akışları bozabilir.
Köşeleri kesmeden daha hızlı gönderme
Yineleme sırasında araçlar çevrim süresini hızlandırabilir—özellikle UI değişiklikleri, backend uç noktaları ve roller/izin mantığını koordine ederken.
Koder.ai ile ekipler genellikle sohbet iş akışı üzerinden özellikleri hızlıca oluşturup geliştirme, kaynak kodu gerektiğinde dışa aktarma ve barındırma/deploy için yerleşik araçları kullanarak daha hızlı iterasyon yaparlar. Deneyimleri paylaşırken Koder.ai, içerik oluşturucular için kredi kazanma programı ve ekipler için davet/referral seçenekleri sunar—denemeyi maliyet açısından kolaylaştırır ve ücretsiz, pro, business ile enterprise katmanları arasındaki geçişleri destekler.
SSS
How do I decide whether my smart home app should be control-first or monitoring-first?
Önce bir ana görev seçin:
- Kontrol-öncelikli: kullanıcıların uygulamayı saniyeler için açtığı durumlar (hızlı anahtarlar, kilit/açma, termostat ayarı).
- İzleme-öncelikli: kullanıcıların uygulamayı cevap almak için açtığı durumlar (durum, trendler, olay geçmişi, uyarılar).
- Her ikisi yalnızca kapsamı kontrol altında tutacak net bir "must-have vs later" listesine sahipseniz uygun.
Sonra 5–10 gerçek senaryo yazın (eve varış, yatma zamanı, uzakta modu vb.) ve bunların etrafında inşa edin.
What should I define for each device type before I start building?
Erken bir cihaz envanteri oluşturun ve her cihaz türü için “destek”in ne anlama geldiğini tanımlayın.
Her kategori (ışıklar, kilitler, termostatlar, kameralar, sensörler) için belgeleyin:
- Gerekli eylemler (aç/kapa, kısma, setpoint ayarı, kilitle/aç)
- Gerekli okumalar (pil, yazılım sürümü, çevrimdışı/çevrimiçi, son güncelleme)
- Geçmiş ihtiyacı (olaylar vs trendler)
- İnternet olmadan çalışıp çalışmaması
- Eşleştirme yöntemi (QR, Bluetooth, Wi‑Fi yapılandırma, hub)
Bu, belirsiz gereksinimlerin ileride sonsuz kenar durumlarına dönüşmesini önler.
Should I build iOS and Android from day one, and do I need tablet support?
Aşağıdaki üç kuralı kullanın:
- Bir platformla başlayın (iOS veya Android) eğer doğrulama yapıyor ve hız istiyorsanız.
- Her iki platformu baştan inşa edin eğer ortaklarınız, donanım paketleriniz veya sabit bir lansman tarihiniz varsa.
- Erken bir minimum işletim sistemi sürümü belirleyin; çok eski cihazları desteklemek QA maliyetini ve Bluetooth/arka plan/bildirim davranışını zorlayabilir.
Duvara monte panolar önemliyse, baştan tablet düzenlerini (yatay, bölünmüş görünümler, daha büyük dokunmatik hedefler) planlayın.
Native vs cross-platform: what’s best for a smart home control app?
En zorlu teknik gereksinime göre seçin:
- Native (Swift/Kotlin): Bluetooth kararlılığı, arka plan davranışı ve platforma özgü iyi UX için en iyisi.
- Cross-platform (Flutter/React Native): paylaşılan UI ve hız için iyi, ancak Bluetooth, Wi‑Fi yapılandırma ve push bildirimleri için eklentilerin olgunluğunu önce doğrulayın.
- Web + wrapper: genellikle yalnızca izleme/şüpheci yönetim ekranları için kabul edilebilir; eşleştirme ve düşük gecikmeli kontrolle zorlanır.
Eğer eşleştirme ve çevrimdışı/yerel kontrol temelse, native (veya dikkatle doğrulanmış cross-platform) daha güvenlidir.
What does “offline control” realistically mean, and how should I implement it?
Açık bir çevrimdışı vaat belirleyin ve buna göre tasarlayın.
Yaygın çevrimdışı-dostu seçenekler:
- Yerel LAN kontrolü: aynı ağdaki Wi‑Fi cihazları için
- Hub tabanlı kontrol: hub yerelde kaldığında (Zigbee/Z‑Wave)
- Bluetooth: yakın mesafe cihazları için (genellikle kurulum + temel kontrol)
Ayrıca çevrimdışıyken ne olacağını tanımlayın:
- “Working locally (no internet)” veya “Bu cihaz için internet gerekli” gibi mesajlar gösterin.
- Son bilinen durumu önbelleğe alın ve görünür bir son güncelleme zaman damgası gösterin.
- Tıklamalarda sonsuza kadar dönmemesi için zaman aşımı ve sınırlı yeniden denemeler kullanın.
How do I choose between hub integration, vendor clouds, and local LAN APIs?
Entegrasyonları ayrı şeritler olarak ele alın ve kasıtlı seçim yapın:
- Hub entegrasyonu (ör. Home Assistant/SmartThings) geniş cihaz desteği ve tek bir API yüzeyi sağlar.
- Vendor cloud'lar markalı ekosistemler ve güvenilir uzak erişim için uygundur.
- Yerel LAN API'leri düşük gecikme ve daha iyi kesinti davranışı sağlar.
Her entegrasyon için eşleştirme adımlarını, izinleri, desteklenen eylemleri, güncelleme sıklığını ve oran sınırlamaları/kuota bilgilerini dokümante edin. Bu, cihaz sayısı veya olay hacmi arttığında sürprizleri önler.
What is a device capability model, and why does it matter?
Bir yetkinlik (capability) modeli kullanın, cihaz-spesifik UI mantığı yerine.
Örnek yetenekler:
switch,dimmer,lock,temperature,motion,battery,energy
Aşağıdaki meta verileri ekleyin:
- Birimler ve aralıklar (°C/°F, min/max setpoint)
- Salt okunur mu yoksa kontrol edilebilir mi
- Opsiyonel özellikler (ör. kilitte “auto-lock”, “jammed” durumu)
Ardından UI'ınız yetenekleri render eder; böylece yeni cihaz türleri/markaları eklemek için ekranları yeniden yazmanız gerekmez.
What makes a reliable onboarding and device pairing flow?
Eşleştirme akışı öngörülebilir ve kurtarılabilir olmalı.
Pratik eşleştirme kontrol listesi:
- Açık yöntemler sunun: QR, Bluetooth keşfi, Wi‑Fi kimlik bilgileri, hub eşleştirme.
- İzinleri tam zamanında isteyin ve nedenini açıklayın (Bluetooth/konum/bildirimler).
- Yaygın hatalar için tasarlayın (yanlış Wi‑Fi parolası, zayıf sinyal, yazılım uyuşmazlığı) ve spesifik çözümler sunun.
- Her zaman Tekrar dene, Baştan başla ve Sıfırlama talimatları verin.
- Destek yolunu ekleyin ve paylaşılabilir, hassas olmayan tanılama bilgilerini iliştirin (uygulama sürümü, cihaz modeli, hata kategorisi).
Bu, kullanıcı güvenini en çok etkileyen alandır.
How should I design the app architecture and data flow for control and monitoring?
Komutları ve durum güncellemelerini modelleyin.
- Kontrol yolu: telefon → backend/hub/cihaz, yeniden denemeler + zaman aşımı ile.
- Telemetri yolu: cihaz → hub/cloud/backend → telefon; güncellemeler geç veya sıra dışı gelebilir.
Bir “hakikat kaynağı” seçin:
- Genelde hub veya backend tek doğru kaynaktır; uygulama hız için önbellek tutar.
Cihaz ihtiyaçlarına göre gerçek zaman stratejisi seçin:
- Yavaş değişen sensörler için polling
- Verimli bildirimler için webhook/push
- Canlı panolar ve çoklu kullanıcı senkronizasyonu için WebSocket
Ayrıca erken aşamada çoklu ev ve roller tasarlayın, böylece izinler UI ve backend arasında tutarlı olur.
What security and privacy basics should a smart home app include from day one?
Gerçek dünyada zarar verebilecek küçük hataları önlemek için temel güvenlik uygulamalarına odaklanın:
- Her yerde TLS kullanın ve token/secret için cihazda güvenli depolama (iOS Keychain / Android Keystore) kullanın.
- Güvenli oturum yönetimi uygulayın (kısa ömürlü erişim tokenleri, refresh token rotasyonu, "tüm cihazlardan çıkış" seçeneği).
- Roller tanımlayın (owner/admin/guest, isteğe bağlı zaman sınırlı erişim) ve yetkileri sunucu tarafında zorunlu kılın; sadece butonları gizlemeyin.
- Kritik eylemler (kilit açma, alarm arm/disarm, paylaşım değişiklikleri) için bir denetim günlüğü tutun; bu hem kullanıcı güvenini artırır hem destek için faydalıdır.
Yardım veya politika bağlantıları verirken, /contact veya /pricing gibi göreli yolları metin olarak kullanın (link eklemeyin).