Şimdi Ara

Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu (2. sayfa)

Bu Konudaki Kullanıcılar:
2 Misafir - 2 Masaüstü
5 sn
91
Cevap
33
Favori
9.194
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
4 oy
Öne Çıkar
Sayfa: önceki 12345
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Febz11 F kullanıcısına yanıt
    Evet bence bir başlığı hakettik ☺️

    < Bu ileti DH mobil uygulamasından atıldı >
  • Febz11 F kullanıcısına yanıt
    Başlığı gördüm, doğru ve kapsamlı bilgi vermek açısından iyi olmuş. Benim tecrübelerim yap-boz şeklinde olduğundan, buraya yazmaya devam edeceğim. "Acemi birisi nasıl yol alır?" konusunda bilgi verebilir.

    Birkaç kez Home Assistant kurup, konfigürasyonları bozup, çalışamaz hale gelince yeniden kurarak, bazı şeylerin eğrisini-doğrusunu görmeye başladım. Bu yolculukta ilk keşfettiğim şey, HA için mutlaka ayrı bir donanımın gerekmiyor olması. En azından, esaslı bir yatırım yapmadan önce, sadece HA'yı keşfetmek için mevcut bir bilgisayarı da kullanabiliriz. HA, Python ile geliştirildiği için, eğer Python deneyimi varsa ve bilgisayarda Python yüklüyse Python virtual environment üzrine kurabiliriz. Bu en karışık yöntem. Python deneyimim olsa da, bir ev otomasyonu için tekrar Python'a girmek istemedim. Diğer yöntem, eğer bilgisayarda Windows 10 Pro varsa, Hyper-V ortamında sanal sunucu olarak HA'yı çalıştırmak (alternatif olarak VMWare sanal sunucuya da kurulabilir). Ben bu yöntemi denedim. Aşağıdaki bağlantıda, Hyper-V ortamına HA'nın nasıl kurulacağını adım-adım anlatan bir yazı var (gerçekten de, mouse tıklamalarına kadar detaylı yazmış arkadaş). O kadar açık anlatılmış ki, ilk denememde başarılı oldum.

    Expand Hassio.vhdx file and Create New HASSIO VM in Hyper-V

    Bu makalede anlatılanları yazmayacağım. Eğer bilgisayarına HA kurmak isteyen varsa, uygun zamanda kendi blog sayfamda bu konuyu Türkçe adım-adım anlatacağım. İsteyenlere paylaşırım.

    Bu makalede kurulumla ilgili anlatılmayan tek kritik şey sabit IP atama konusu. Sabit IP atamayınca, bazı restartlar sırasında IP'nin değiştiğini fark ettim. Üstelik Huawei modemde DHCP kira süresi sınırsız olmasına ve bu sunucu için DHCP IP rezervasyonu yapmış olmama rağmen. Raspberry Pi'ye kurarken sorun yok. SD karta ilgili konfigürasyon dosyasını kopyalayınca sabit IP tanımlama gerçekleşiyor. Ancak Hyper-V'de bu bir sorun. Bunu şu şekilde çözdüm: HA Hyper-V'de açıldığı zaman, konsol ekranında nmcli komutunu kullanarak IP/Gateway/DNS atayabildim. Bununla ilgili süper çözümü HA dökümantasyonunda değil, bir blog sayfasında buldum.

    Using nmcli to set a static IPV4 address in Hass.io

    HA dökümanlarını yazanlar sizin Python ve Linux gurusu olduğunuzu varsaymışlar. O terminolojiye alışana kadar işiniz zor.

    Bu paylaştığım iki bağlantıyı dikkatli uygularsanız, çalışır bir HA ortamınız olur.

    Entegrasyonlar sırasında konfigürasyon dosyasına müdahale etmek gerekiyor (configuration.yaml). Bir hata yaparsanız, HA'yı restart edince web sayfasına ulaşamıyorsunuz. Bu durum gerçekten kötü. Önlem olarak Samba paylaşımını kurmak gerekiyor. Bu sayede, Windows'tan HA'nın çalıştığı işletim sisteminin konfigürasyon klasörüne erişmek mümkün oluyor. Böylece sistem web'ten yanıt vermese bile, orijinal konfigürasyona dönmek mümkün. Bir diğer önlem şu: Her konfigürasyon değişikliği öncesinde Snapshot almak. File Backup programlarının sunduğu gibi, Full (tam) veya Partial (kısmi) yedek alınabilir. Bu yedeği güvenli bir klasöre atarsanız, konfigürasyonlar bozulursa veya sistem saçma-sapan işler yapmaya başlayınca, bir önceki sağlam durumuna dönmek mümkün. Tabii eğer sistem açılmıyorsa, yeniden imajdan kurmak ve ardından yedek snapshot'u yüklemek gerekiyor. Ancak bu işler gerçekten hızlı ve basit. Eğer disk alanı sorununuz yoksa, mevcut HA image dosyasının yedeğini almak da bir çözüm.

    Üzerinde duracağım entegrasyonlar şunlar olacak:

    - LG WebOS TV entegrasyonu
    - iRobot Roomba entegrasyonu
    - Ikea Tradfri entegrasyonu
    - Android TV entegrasyonu
    - Turkcell Sagemcom entgerasyonu
    - Kodi entegrasonu
    - Webhooks yardımıyla iki yönlü IFTTT entegrasyonu
    - Google Assistant, Microsoft Cortana ve Apple Siri entegrasyonu
    - QNAP NAS entegrasyonu
    - Windows desktop ve dizüstü için Push2Run entegrasyonu
    - Android telefonlar için Tasker ve Automate entegrasyonu
    - iOS için Shortcuts/HomeKit entegrasyonu
    - Google hizmetleri entegrasyonu (Google'un bizim davranışlarımız hakkında tuttuğu tüm bilgileri kullanma)
    - Plex Media Server entegrasyonu
    - Life360 entegrasyonu

    Her entegrasyonun ne amaçla olacağını ve getireceği faydaları da yazacağım. Bu fayda konusuna girmeden önce de, alışkanlıklar konusunda okuduğum onlarca kitaptan bu işin biraz da özüne inmeye çalışacağım. Çünkü bizi iyisiyle-kötüsüyle biz yapan şey, farkında olduğumuz veya olmadığımız tüm alışkanlıklarımız. Hayatımızda bir şeyleri kökünden değiştirmenin tek yolu, ilgili alışkanlıkları değiştirmekten geçiyor.



    < Bu mesaj bu kişi tarafından değiştirildi Bahadir.Gurel -- 4 Nisan 2020; 21:0:42 >




  • Piyasada akıllı ev otomasyonu cihazlarının ekranlı olanları da var.

    Örneğin, Amazon Echo Show ve Google Nest Hub bunlardan sadece ikisi.

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    İstediğimiz takdirde, Raspberry Pi'de çalışan Home Assistant'a da dokunmatik ekran ekleyebiliriz.

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    HA'yı Amazon, Google, Apple, Samsung vb. firmalardan ayıran en önemli nokta, ekran arabirimini dilediğimiz şekilde özelleştirebilme olanağımız.

    Gerçekten izlemeye doyamayacağınız bazı örnekleri paylaşayım:

    Harrie de Groot bir ekran arabirimi tasarlamış: 3D home navigation & control (Unity + Home Assistant)

    3D modelleme için Sketchup, 3D motoru için Unity, kamera kontrolü için Cinemachine kullanmış.

    Bu bir uç örnek. Evin planını 2D veya 3D olarak HA ekranına yerleştirmek için bu kadar masraflı ve uzmanlık gerektiren işlere soyunmaya gerek yok. Daha basit ve kolay yapılabilir olanı, Aaron Godfrey'in yolunu izleyip ücretsiz SweetHome 3D kullanmak.

    Aaron'un detaylı anlatımı şurada: My Home Assistant Floorplan

    SweetHome 3D uygulamasını bundan 10 yıl kadar önce eve taşınırken kullanmıştım. Taşınma sırasında veya evdeki büyük mobilyaları değiştireceğiniz sırada çok işe yarayan bir program. Öğrenmesi de oldukça kolay ve eğlenceli: SweetHome 3D

    Aaron'un tasarladığı ekran arabirimi şöyle: Home Assistant 3D Floorplan Demo

    Tabii bu arabirim tasarımları da sizin zevkinize göre değişiyor.

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu



    < Bu mesaj bu kişi tarafından değiştirildi Bahadir.Gurel -- 7 Nisan 2020; 10:42:22 >




  • 10 gündür buraya yazamadım ama bu sürede HA'nın birçok özelliğini keşfettim. Çok şey denedim. Bunlardan bazılarını sadece iş olsun diye yaptım.

    Google Calendar entegrasyonu: Google Calendar'da yedekleme takvimi var. Google Calendar'ı HA'ya tanıttım. Bunun yanı sıra, kritik dosyaların bulunduğu bilgisayarda QNAP depolama ortamına dosya yedekleyen .bat uzantılı bir batch script var. Push2Run programına bu .bat dosyasını gösterdim. Böylece Push2Run programı, içinde kriterleri sağlayan bir dosya Dropbox hesabıma geldiğinde .bat dosyasını çalıştırıyor. Daha sonra HA'da bir otomasyon tanımladım. Bu otomasyon Google Calendar'da yedekleme işinin zamanı geldiğinde Dropbox'a kriterleri sağlayan bir dosya gönderiyor. Böylece yedekleme işini takvime bağladım. Tabii bu büyük bir başarı değil, çünkü ben bunu zaten IFTTT-Push2Run ile yapmıştım.

    Google Assistant entegrasyonu: Google Assistant ile HA'yı entegre ettim. HA'da senaryoları, scriptleri ve otomasyonu kullanarak şöyle bir entegrasyon yaptım:

    Evdeki her bireyin günlük yaptığı spor antrenmanı var. Google Assistant'a "Spor vakti geldi" dediğimde aşağıdakiler gerçekleşiyor:

    - Android telefonlarda ve Android TV box'ta ekrana diyalog kutusu geliyor ve bu mesajı yazıyor (LlamaLab Automate ile). İleride bunu Google Assistant'ın okumasını sağlayacağım.

    - Bilgisayarlarda ekrana diyalog kutusu çıkıyor ve bu mesajı yazıyor (Push2Run ile). İleride Microsoft Cortana'nın okumasını sağlayacağım.

    - LG WebOS TV'nin sağ üst köşesinde bu mesaj çıkıyor. İleride LG TV'nin okumasını sağlayacağım (LG WebOS bunu destekliyor).

    - Evdeki tüm ışıklar üç defa yanıp sönüyor ve son kaldığı konuma geçiyor.

    Bunu eğlence olsun diye yaptım ama Google Calendar entegrasyonuyla otomasyona da alabilirim.

    HA'da otomasyonlar, senaryolar, triggerlar, koşul testleri, script desteği inanılmaz bir pencere açıyor. "İmkansız, bu yapılamaz" dediğiniz şeyler, eğer bir mantık sürecine uygunsa imkan dahiline giriyor. Ben şunları yaptım bu sürede:

    Evde IKEA Tradfri aydınlatma, anahtar, sensör ve prizler var. IKEA'nın uygulamasıyla asla yapamayacağım şeyler şu an çalışıyor. Neler mi?

    - Bazı odalarda hem hareket sensörü hem de akıllı anahtar var. Normalde sensörün önünden geçerseniz, ışığı yakıyor ama bir süre sonra ışık sönüyor. Bu durumda akıllı anahtarla tekrar açmak gerekiyor. HA otomasyonu ile mantığı tamamen değiştirdim. Artık odaya girdiğimde ışığı açıyor ama zamanlayıcıyı devreye sokmuyor. Eğer bir kez daha sensörün önünden geçersem ışığı kapatıyor. Bunu Tradfri uygulamasıyla asla yapamazdım.

    - Gündüz bir odanın ışığını yakarsanız farklı renk ve parlaklıkta, akşam yakarsanız farklı renk ve parlaklıkta, uyku saatlerine yakın yakarsanız farklı renk ve parlaklıkta yanıyor. Tabii anahtardan da değiştirebilirsiniz ama varsayılanı böyle oldu.

    - Saat 1:00'de tüm odaların ışıklarını kapatıyor. Bu saatten sonra ışığı açarsanız ve kapatmayı unutursanız, HA ışıkların durumunu kontrol ediyor ve açık olanları 5 dk sonra kapatıyor.

    - Saat 12:00'den sonra salonun ışığını kapatırsanız veya telefondan veya sesli söylerseniz TV, Android TV box, LG HTS, Turkcell Sagemcom, QNAP gibi cihazları da kapatıyor. QNAP'a SSH ile shutdown gönderiyor.

    Bu yaptığım entegrasyonları ekran görüntüleriyle birlikte blog sayfamda yazıyorum. Nasıl yaptığımı merak edenler olursa, yakında bağlantıları paylaşacağım.



    < Bu mesaj bu kişi tarafından değiştirildi Bahadir.Gurel -- 17 Nisan 2020; 11:32:36 >




  • Bahadir.Gurel B kullanıcısına yanıt
    Elinize saglik cok guzel paylasim.

    Bende HA ile ugrasiyorum 1aydir falan. Evimdeki cihazlari ekleyip uzaktan kontrol yapabiliyorum. Simdi appdaemon ile akilli ev kontrol paneli hazirliyorum. Bunlari ilerki zamanlarda youtubeda video cekerek anlatacagim. Blog sayfanizi paylasirsaniz incelemek isterim. Kolay gelsin

    < Bu ileti DH mobil uygulamasından atıldı >
  • Hocam çok iyi iş yapmışsınız

    < Bu ileti DH mobil uygulamasından atıldı >
  • Kaliteli bir konu olmuş, merakla güncellemeleri bekliyoruz

    < Bu ileti DH mobil uygulamasından atıldı >
  • bdurmus kullanıcısına yanıt
    Rica ederim, elimden geldiğince paylaşacağım. Bu sıralar blog kısmına sadece kurulum ve konfigürasyon ekran görüntülerini kopyaladım. Yaptığım işlemleri yazıyorum. Tamamlandığında taslaktan çıkarıp paylaşıma açacağım. Amacım genelde yapıldığı şekilde, konfigürasyon bilgilerini, cihaz listesini ve tüm otomasyonları Github'a koymak.

    HA sitelerinde Appdaemon'la ilgili yazılara rastladım ama kullanım amacını çözemedim. Yapmakta olduğunuz şeyi biraz açıklarsanız fikir verebilir.

    Kısa vadeli amacım, daha önceden yazdığım cihazlarla entegrasyonları incelemek ve burada anlatmak. Uzun vadede ise yapay zeka entegrasyonları yapmak. İlk önceliğim TensorFlow (TensorFlow Object Detection) kullanarak bir kameradan görüntü tanıma ve buna göre aksiyon alan bir otomasyon hazırlamak. Gelecekte ise, HA'nın Google API'ler vasıtasıyla cep telefonlarımızdan topladığı verileri ve evdeki IoT cihazlarından toplanan verileri işleyen otomasyonlar yapmak. Bir örnek vereyim: Natro'dan POP3/IMAP hizmeti alıyorum ama spam konusu başımın belası. Sırf bu nedenle MailWasher Pro programına spam işini çözmesi için yıllık kabarık bir ücret ödedim. Amacım, bu spam yönetimini, basit bir machine learning uygulaması olan Python'da Bayes filtreleme (SpamBayes) kullanarak Raspberry Pi'de devreye almak.



    < Bu mesaj bu kişi tarafından değiştirildi Bahadir.Gurel -- 17 Nisan 2020; 15:2:29 >




  • Bahadir.Gurel B kullanıcısına yanıt
    Appdaemon ile Akilli ev kontrol paneli olusturabiliyoruz, yani bir dashboard. HA ya eklediginiz ve HA sayfasindan kontrol ettiginiz cihazlari bu panelden kontrol edebiliyorsunuz. Guncel akilli evlerin kapi girisinin yaninda bulunan ekranlardan evi kontrol ettiginiz gibi bu sekilde evi kontrol edebiliyorsunuz.

    Örnek yaptigim panelin fotograflarini ekliyorum:

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Eski, kullanmadiginiz bir tabletin tarayicisindan acip, bunu ya kapinizin yanina monte ederek ya da seyyar sekilde tasiyarak ev aletlerinizi tek bir yerden kontrol edebilirsiniz.


    Bu arada su an icin youtube da 2 video paylastim. Bu ekrandan kontrol ettigim cogu cihazi bu videolarda anlattigim Broadlink cihaziyla kontrol ediyorum. HA kurulumunu ve appdaemon ile dashboard yapiminida ilerleyen videolarimda anlatacagim. İlgisini cekip takip etmek isteyenler abone olabilir






    < Bu mesaj bu kişi tarafından değiştirildi bdurmus -- 17 Nisan 2020; 17:46:51 >
    < Bu ileti DH mobil uygulamasından atıldı >




  • Home Assistant (HA) kullanmayı planlayanlar için tecrübelerimi paylaşmaya devam edeceğim. Kurulum ve konfigürasyon detaylarını bir blog sayfasında hazır hale getirdiğim bileşenlere öncelik vereceğim (Yakında bunları Github üzerine taşıyacağım).

    İlk ele alacağım konu yedekleme. Ancak bu yedeklemenin amacı, bizzat Home Assistant'ın yedeklenmesi konusu (cep telefonlarının ve bilgisayarların HA ile verilerinin yedeklenmesi konusuna başka bir zaman değineceğim). Raspberry Pi üzerine kurduğum HA'yı hem keşfetmek hem de üzerine yeni entegrasyonları kurmak adına HA'ya çok sık müdahale ediyorum. Haliyle hatalı yaptığım müdahaleler sonrasında HA'nın ya açılmadığı ya da stabilitesinin bozulduğu durumlarla karşılaştım ve birkaç kez yeniden kurmak zorunda kaldım. İşte bu durum HA'nın yedeklenmesine öncelik vermemi gerektirdi.

    HA'nın Supervisor kısmında yer alan Snapshots fonksiyonu full (tam) veya partial (kısmi) snapshot almamı sağlıyor. Yaptığım her kritik değişiklik sonrasında bir snapshot aldım ve bir önceki duruma dönmek için ilgili dosyayı geri yüklemek yeterli oldu. Eğer hiç açılmayan bir HA ile karşılaşsaydım, yapmam gereken ilk şey, sıfır bir HA image ile Raspberry Pi'yi açmak, ardından son stabil snapshot'ı geri yüklemek olacaktı.

    HA'nın yedekleme sistemi çok basit. Bu nedenle çok sıkıntıları var. Aldığı snapshot'ları doğrudan Raspberry Pi SD karta kaydediyor. Bu güvenilir değil; sonuçta kart bile arızalanıyor ve boş alan kısıtlı. Bu sorunun üstesinden gelmek için evde bulunan QNAP NAs depolama alanına bu snapshot dosyaları düzenli kopyalama çözümü geliştirdim. Windows'ta hazırladığım bir script haftada bir çalışıp, dosyaları yedekliyor.

    İlerleyen dönemde daha iyi bir yedekleme çözümü buldum. Stephen Beechen'in geliştirdiği ve Github'tan paylaştığı Hass.io Google Drive Backup eklentisi. Bu eklentiyi nasıl kurduğumu ve konfigürasyon detaylarını blog sayfamda paylaştım. Detayları merak edenler için: Home Assistant yedekleme

    Hass.io Google Drive Backup yedekleme işini daha profesyonel hale getiriyor.

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Özelliklerinden bahsedeyim:

    - Sistem belirtilen periyotta otomatik snapshot alıyor. Ben bu periyodu 3 günde bir olarak tanımladım.

    - Snapshot oluştururken bir kopyasını Raspberry Pi sd karta diğerini Google Drive'a saklıyor.

    - Retension (alıkoyma) periyot özelliği var. Yani, aldığı snaphot'ların kaç tanesini saklayacağına sınır koyabilirsiniz. İşi otomatik yaptığı için, bir süre sonra hem SD kartın dolması hem de Google Drive'da yer kalmaması sorunu yaşanabilir. Retension periyodu 7 dosyayla sınırlandırdım. Çünkü SD kartta 40 GB'a yakın, Google Drive'da ise 50 GB'a yakın saklama alanım var ve bu alanlara başka şeyler de yüklüyorum.

    - Snapshot'ları SD kartta saklamasak bile sistem Google Drive'dan önceki snapshot'u geri yükleyebilir.

    - Sistem HA Notificaitons ile entegre çalışıyor. Yani, yedekleme işlemine dair bilgilendirmeleri kullanarak otomasyon, script veya senaryo hazırlamak mümkün. Örneğin, snapshot alamadığında HA'nın ana sayfasına bu hatayı yazabilir veya cep telefonumuza iletebilir.

    7 dosyalık retension periyot yeterli ama tüm snapshot'ları daha ucuz bir ortamda saklamam gerekiyordu. QNAP NAS ortamı bunun için uygun olduğundan bir script vasıtasıyla haftada bir, yeni eklenen snapshot'ları NAS'a gönderiyorum.

    Otomatik snapshot işlemi iyi ancak benim konfigürasyon takibi için aldığım snapshot'ları retension dışında tutmam gerekiyor. Sistem buna da izin veriyor. HA'da kritik bir değişiklik yaparsam ve çalıştığını görürsem hemen bir snapshot almalıyım. Ayrıca bu snapshot'ı niye aldığımı anlatan bir not defteri de olmalı. İşte bu konfigürasyon değişikliği bilgilerini QNAP NAS'ta oluşturduğum text dosyalarına yazıyorum.

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Daha güncel text dosyaları önceki dosyalardaki detayları da içeriyor. Çünkü her yeni snapshot yeni konfigürasyonun yanı sıra eski konfigürasyon değişikliklerini de içeriyor.

    Örneğin, son konfigürasyon değişiklik dosyası şöyle:

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Bu kadar detayı niye takip ediyorum? Otuz yıl bilgisayar sektöründe çalışıp başıma binlerce kez sorun geldiği için olsa gerek. Bir dönem şirketin kalite yönetim sürecinde konfigürasyon yöneticisi olarak çalışmış olmamın da bunda etkisi var.




  • Merhabalar,
    Bende 2000 yılından beri ev otomasyonu ile ilgileniyorum. O zamanlar böyle son kullanıcı ürünleri olmadığından kendimiz bir şeyler yapmaya çalışırdık. Embeded web serverı olan kartlara devreler yapar uzaktan kumandaları röle ile tetiklerdik. Bugünlere geldiğimizde ürün çeşitliliği o kadar arttıki bu seferde tek yerden kontrol isteği belirmeye başladı.
    Hep adını duyduğum, raspberry pi elimde olmasına rağmen hep uzak durduğum HA sistemini sayenizde uygulamaya karar verdim.
    İşimi görüp görmeyeceğini tecrübe etmeye başladım.
    Benim sistemimde smartlife (tuya), philips hue, cololight, geeklink, amazon echodot, tenvis ip kamera ürünleri bulunuyor. Bütün bunların kontrolü kendi yazılımları ile ayrı ayrı yapılıyor. Ama amazon alexa app ile hepsini tek yerden kontrol etmekte mümkün. Yanlız bundada kullanıcı arayüz sıkıntısı var ve pek kullanışlı değil.
    Kullanmaya başlayalı 1-2 hafta olmasına rağmen bütün bu cihazların adaptasyonunu sonunda gerçekleştirdim. HA ile uyumlu olmayan, eklentisi ve dökümanı olmayan ve ev otomasyonumun kemik kısmını yöneten geeklink marka çin malı sistemimi bile bir şekilde adapte ettim.Asıl bahsetmek istediğimde aslında bu kısım.
    Şuan piyasaya çıkan ürünlerin çoğunda alexa entegrasyonu mevcut. Benim kullandığım geeklink ürünlerindede bulunuyor. Ben geçen tesadüfen bir "Alaxa Media Player" addon'nu buldum. Bunu kısa bir uğraşla ekledim. Şuan alexaya yaptırdığım işlemleri komut göndererek yapabilir hale geldim. Buda alexa entegrasyonu bulunan bütün cihazlara komut gönderebilmek anlamına geliyor. Bunu alexa app tarafında routine olarak tanımlayıp HA tarafın dada routine adını tetiklediğimizde işlem tamamlanmış oluyor. Mesela kapı açıldığında size hoş geldiniz dedirtebilir yada müzik çalabilir hale gelebiliyorsunuz. Yada HA ya adapte edemediğiniz bir lambayı açıp kapatabilirsiniz. Hali hazırda alexa bunları zaten yapabiliyor ama home assistant entegrasyonu ile daha bir kullanışlı oluyor.
    Aşağıdaki linkten detaylarına ulaşabilirsiniz.

    Alexa Media Player Link
    Otomasyon Örnekleri

    Konuyu açan, emek verip paylaşım yapan herkese teşekkürler. Umarım bizler için güzel bir kaynak oluşur.



    < Bu mesaj bu kişi tarafından değiştirildi mertosgali -- 29 Nisan 2020; 14:2:44 >




  • mertosgali kullanıcısına yanıt
    Gerçekten HA başka kapılar açıyor. Ben ilk başladığımda evdeki akıllı denilen cihazları tek bir noktadan yönetmeyi planlamıştım. Ama işin içine girdikçe, aslında her gün el yordamıyla yaptığım ve kendiliğinden gerçekleşmesini istediğim her şeyin HA ile otomasyona alınabileceğini fark ettim. Tabii bu söylediğim "her şeyin yönetilebilirliği" android, ios, windows, linux ortamlarında kod yazabilmeyi veya makro uygulamalarında çözümler geliştirme deneyimi de gerektiriyor. Yoksa HA tek başına yeterli değil. İşin bu kısmı zor. Daha doğrusu bilgisayar sektöründe olup da bundan ekmeğini kazanan biri için uğraşılabilir bir konu HA. Ancak bunlara uzak olan birisinin önünde açması gereken çok kapı var. HA nedeniyle Python'da bilgisayarların otomasyonuna yardımcı olacak bazı kodlar yazmaya başladım. Tabii powershell de yardımcı oluyor. Bunlar Push2Run kontrolünde HA tarafından çalıştırılıyor. Bunun yanı sıra, LlamaLab Automate Android uygulamasında hafıza kartında kalan boş alan takibini, aylık mobil veri kullanımını ve paket kotasının ne kadarının kullanıldığı gibi takip işlerine yönelik makrolar hazırladım. Bunlar şu aşamada HA'ya bilgi veriyor. HA da bizi bilgilendiriyor.




  • Evde A95X F3 Air Android TV kullanıyoruz. Kullanım amacımız genelde Kodi aracılığıyla film ve dizileri izlemek. Bunun haricinde, YKS sınav kitaplarının Android tabanlı video uygulamalarını da bu cihazdan çalıştırıyoruz. Spotify, Youtube, Simule gibi uygulamalar yüklü olsa da, bunların LG WebOS'te de uygulamaları olduğundan, genelde LG'den çalıştırmayı tercih ediyoruz.

    Android TV'yi Home Assistant'a nasıl entegre ettiğimi ve HA ile neler yapabileceğimizi anlatayım.

    Bu konuların uzmanı sayılmam ama, Android işletim sistemini uzaktan yönetmek için client/server olarak iletişimi sağlayan ADB (Android Debug Bridge) servisini kullanmak gerekiyor. HA ile Android TV entegrasyonunda client tarafı HA, server tarafı Android TV olacak.

    Bu iletişimin çalışması için Android işletim sisteminde önce Geliştirici modunu, ardından bu özellik altında gelen USB Debugging fonksiyonunu açmak gerekiyor.

    HA tarafında ise iki adım var. İlk adım HA'ya Android Debug Bridge eklentisi kurmak, ardından bu ADB servisi üzerinden Android TV'ye komutlar gönderecek olan "androidtv.py" Python kodunu HA'ya kopyalayıp, bunu bir device entity gibi tanımlamak.

    Bu işlemleri doğru adımlarla yapınca A95X F3 Air cihazı HA'nın Lovelace sayfasına media player olarak ekledim.

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Source kısmında görünen seçenekler Android TV'ye gönderebileceğimiz komutlar.

    Ancak bu ilkel haliyle Android TV'ye çok şey yaptıramayız. Asıl olarak bu device entity'leri otomasyonlar, scriptler ve senaryolarda akıllı şekilde kullanarak bir çok şey yaptırmak mümkün.

    Neler yapabiliriz:
    - Android TV'nin bize sunduğu tüm aksiyonları gerçekleştirebiliriz: sesini yükseltmek/azaltmak, Spotify veya Youtube gibi yüklü uygulamaları başlatmak, Spotify listesinden tanımladığımız Playlist'i çalıştırmak, vb.

    - Android TV'ye tuş basma komutları gönderebiliriz. Bunların detayları şurada:https://developer.android.com/reference/android/view/KeyEvent

    - Android TV'nin durumu hakkında bilgi alabiliriz: Şu an Android üzerinde ne çalışıyor? vb.

    Kurulumdan kısaca bahsedeyim:
    HA'ya Supervisor Add-on bölümünden Android Debug Bridge kurdum ve A95X F3 Air'in IP adresini girdim.

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Daha sonra androidtv.py dosyasını Github'tan indirdim ve /custom_components/media_player klasörü altına kopyaladım (https://github.com/a1ex4/home-assistant/blob/androidtv/homeassistant/components/media_player/androidtv.py). Configuration.yaml dosyasına şu satırları yazdım.

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Burada 127.0.0.1'in varlık nedeni Android Debug Bridge'in HA üzerine çalışıyor olması. androidtv.py scripti çalıştığı zaman doğrudan bu servise ulaşıyor. Her ikisi de aynı cihazda olduğundan lokal IP vermek yeterli.

    Kurulum ve konfigürasyon işi sadece bundan ibaret. HA ile A95X F3 Air arasında bağlantı kurdum ve çalışır durumda. Ancak asıl iş bundan sonra başlıyor. A95X F3 Air'in akıllı ev sürecindeki rolünü belirlemek ve gerekli otomasyonları geliştirmek.



    < Bu mesaj bu kişi tarafından değiştirildi Bahadir.Gurel -- 6 Mayıs 2020; 15:42:49 >




  • Bugün iRobot Roomba 980 entegrasyonunda yaşadığım sorundan bahsetmek istiyorum. HA'ya başladığım ilk günlerde, ağa bağlanabilen iRobot Roomba 900 serisi için HA eklentisinin bulunduğunu öğrenmiştim. Zamanla iRobot Braava (MOP) cihazı için de destek geldi.

    iRobot Roomba entegrasyonu burada açıklanıyor: iRobot Roomba. Kabaca işlem çok basit görünüyor. Tek yapmanız gereken şey Configuration.yaml dosyasına Roomba'nın IP adresini, iOS/Android iRobot uygulamasında tanımladığınız kullanıcı adını ve şifrenizi girmekten ibaret gibi. Hatta HA'nın 109 versiyonunda artık Configuration.yaml dosyasına da girmeye gerek yok. iRobot Roomba konfigürasyonu doğrudan HA kullanıcı arabiriminden yapılabiliyor (Yeni hedef HA'nın sadece bilgisayar yazılımcılarına yönelik değil, son kullanıcıya yönelik hale getirilmesi).

    Sorun şurada başlıyor: HA'nın sizden istediği kullanıcı adı ve şifresi, sizin telefondan uygulamaya girerken kullandığınız user/pass bilgileri değil. Bunların anlaşılmaz formata dönüştürülmüş hali. Bunu bilmenize imkan yok. Tek yolu ya HTTP Request yoluyla, ya Python koduyla, ya da HA'ya yüklenen bir eklenti yoluyla kullanıcı adınızı ve şifrenizi öğrenmek.

    Python kodu şurada:
    Python program and library to control iRobot Roomba 980 Vacuum Cleaner

    HTTP Request yöntemi şurada: Unofficial iRobot Roomba and Braava (i7/i7+, 980, 960, 900, e5, 690, 675, m6, etc) node.js library (SDK) to control your robot

    İki yöntem sadece user/pass almakla kalmıyor, aynı zamanda robotun oluşturduğu haritaya ulaşma imkanı veriyor ve komut gönderimi/geri bildirim işlemlerine olanak tanıyor.

    Bilgisayarımda Python yüklü olduğundan, Python kodu üzerinden şifre almayı denedim. Ama her defasında kullanıcı adımın kriptik halini ve robotun teknik detaylarını alabilirken şifre aşamasında hata alıyorum.

    HA forumlarını epey karıştırdıktan sonra benimle benzer sorunları yaşayanları buldum. Ortak sorun şu: Robot süpürgeye birden fazla uygulama bağlıysa şifreyi veremiyor. Şifreyi almak istediğinizde robot süpürgeye bağlı uygulama kalmamalı. Benim ortamımda hem IFTTT, hem Life360, hem iOS/Android'lerde çalışan iRobot uygulamaları aktif durumda.

    Tüm entegrasyonları kaldırıp, robot süpürgeyi resetlemek belki kesin çözüm, ama bu yöntem bugüne kadar kurduğum tüm düzeni yeni baştan yapmayı gerektirecek. Ben şunu denedim: Modemi kapattım (böylece Life360 ve IFTTT erişemez). Wifi üzeriden bağlanan telefonları da kapattım. Ancak yine de başarılı olamadım. Halen uğraşlarım devam ediyor.

    Roborock S5/S6 kullananlar için HA entegrasyonlarına rastladım. Hem daha basit hem de entegrasyonla çok daha fazla iş yaptırılabiliyor.




  • Arkadaşlar, Home Assistant macerasına girmiş olanları iyi günler bekliyor. Yazılım hayli hızlı geliştiriliyor. Kullandığım son iki aydır HA'nın kalitesinde ve kullanım kolaylığında gözle görülür gelişmeyi yaşıyorum.

    HA'yla uğraşanlara fikir vermesi için bir acemi olarak neler yaptığımı da anlatmaya devam ediyorum. Android TV'yi HA'ya nasıl tanıttığımı anlatmıştım. Bugün bu entegrasyonu kullanarak A95X F3 Air Androiv TV kutusunda yüklü uygulamaları HA'dan nasıl başlatıp, kapatabildiğimi de göstereceğim. Örnek olarak Kodi'yi ele alacağım.

    Android üzerinde yüklü her uygulamanın sistemden erişim adı var. Örneğin, Kodi'ye ulaşmak için: org.xbmc.kodi sistem adını kullanmanız yeterli. Bendeki sistemde PRF Video Çözüm uygulaması yüklü. Buna erişmek istediğimde de air.com.fernus.vectorvideo.prf sistem adını kullanıyorum. A95X android cihazında yüklü uygulamaların sistem adlarının bir listesine ulaşmak için, LlamaLab Automate uygulamasını kullandım. Başka yollar da vardır muhtemelen.

    Bir uygulamayı HA'dan başlatmak veya kapatmak için HA script'leri kullanıyorum. Kodi'yi başlatmak için tanımladığım script şöyle:

    senaryo_035:
    alias: 'Senaryo 035: Kodi başlat (A95X F3 Air)'
    sequence:
    - data:
    source: org.xbmc.kodi
    entity_id: media_player.a95x_f3_air
    service: media_player.select_source

    Bunun Türkçe açıklaması şu: A95X F3 Air'i daha önceden HA'da bir Medya Player olarak tanımlamıştım. media_player komutunun select_source adında bir fonksiyonu var, yani kullanılacak kaynağı seçiyorsunuz. Mesela TV'de HDMI 1 dediğinizde doğrudan HDMI 1'e bağlı kaynağı ekrana getirir. Android OS'te de bunun anlamı "seçilen uygulamayı ekrana getir" demek. Kaynak olarak da org.xbmc.kodi yani Kodi'yi seçtim.

    Açık Kodi uygulamasını HA'dan kapatmak için de şu script'i tanımladım.

    senaryo_034:
    alias: 'Senaryo 034: Kodi kapat (A95X F3 Air)'
    sequence:
    - data_template:
    command: am force-stop org.xbmc.kodi
    entity_id: media_player.a95x_f3_air
    service: androidtv.adb_command

    Tabii bu scriptleri HA'nın konfigürasyon ekranında script listesinden çalıştırmak mantıklı bir yol değil.

    En iyisi bunu HA'nın ana sayfasında bir Kodi düğmesi olarak tanımlamak. Onu da şöyle yaptım:

    Configuration.yaml dosyasında sanal switch tanımladım.

    switch:
    - platform: command_line
    switches:
    kodi_durum:
    friendly_name: Kodi aç/kapa
    command_on: ''
    command_off: ''

    Bu tanımladığım sanal switch'i ana sayfada oluşturduğum bir buton'a bağladım. Bu buton 'on' konuma alınırsa Kodi başlamalı, 'off' konuma alınırsa çalışan Kodi kapanmalı.

    Tabii bu durum değişimlerini yakalayan ve ilgili script'i çalıştıran bir otomasyonu da hazırlamam gerekli:

    - id: senaryo_035
    alias: Senaryo 035
    description: ''
    trigger:
    - entity_id: switch.kodi_durum
    platform: state
    to: 'on'
    condition: []
    action:
    - data: {}
    service: script.senaryo_035
    - id: senaryo_034
    alias: Senaryo 034
    description: ''
    trigger:
    - entity_id: switch.kodi_durum
    platform: state
    to: 'off'
    condition: []
    action:
    - data: {}
    service: script.senaryo_034

    Bütün otomasyon bundan ibaret!

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    HA sayfasının o sırada A95X'te açık olan uygulamanın ekran görüntüsünü de yansıtması gerçekten güzel bir özellik.

    Ancak çok basit bir Kodi aç/kapa için bu kadar konfigürasyon yapmak da benim gibi acemi birinin başarısı olabilir. Kodi haricinde çok sayıda uygulamayı kontrol etmeye kalktığınızda konfigürasyon işi de katlanacak.

    HA foruma baktığımda Template üzerinde kodlar yazarak bunu kısalttıklarını gördüm. Kod yazma işinden anlıyor olsam da, HA kod yapısı ve kullanım şekli bana şu an uzak. Yakın bir zamanda işi öğrendikçe kodlar vasıtasıyla bu konfigürasyonları azaltmaya çalışacağım.




  • Program yazdığım yıllardan gelen bir beklentim var. Bir sistem geliştiriyorsanız işlerinizin yolunda gitmesi için aşağıdaki ortamları da kurmanız gerekiyor:

    - Geliştirme ortamı
    - Test / QA ortamı
    - Canlı ortam

    Bu ortamlar sadece programcılar için değil, sistemleri yönetenler için de benzer ihtiyaçları karşılıyor. Keza HA için de geçerli.

    Evde HA'nın hizmet verdiği ortam Raspberry Pi. Bu ortamda işler karışırsa tüm otomasyonlar aksayacak demektir. Düzenli snapshot'lar alıyorum almasına ama, büyük bir sorun sonrasında son snapshot'tan sistemi sağlıklı kurtarmak riskli. Mümkün olduğunca, canlı ortamda yapacağım değişiklikleri önceden test etmiş olmam gerekiyor.

    Bu amaçla test ortamı kurmaya karar verdim. Windows'ta çalışacak bir sanallaştırma sistemine ihtiyacım vardı. Hyper-V güzel ve sağlam bir çözüm ama Android Emulator olarak kullandığım LDPlayer'ın çalışmasını engelliyor. Hyper-V'yi kaldırmadıkça LDPLayer'ın çalışmasına imkan yok. Oracle'ın açık kaynak kodlu VirtualBox sanallaştırma platformu harika bir çözüm oldu. HA'nın VirtualBox için hazırlanmış image paketi mevcut. VirtualBox'ta HA ortamı kurmak ve sabit bir IP atamak çok kısa sürdü.

    Ancak herşey burada bitmiyor. Testleri canlı ortama birebir benzer bir test ortamda yapmak gerekiyor. Bu durumda canlı ortamda yaptığım her şeyi test ortamında tekrarlamak pratikte büyük sorun. Snapshot burada iyi bir çözüm sundu. Raspberry Pi HA'nın son snapshot dosyasını VirtualBox'ın backup klasörüne kopyalayıp, test HA'dan restore yaptım. İlk başta test sistemi açılmadı. Sorunun Configuration.yaml dosyasında olduğunu keşfettim. Bu dosyada şu satırlar sorun çıkarıyordu:

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Bu kısım canlı HA'ya HTTPS ile internetten erişimi tanımlıyor. Bu kısmı test HA'nın IP adresi ile değiştirince, canlı ortamın aynısını test ortamında elde ettim.

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Bundan sonra yeni bir fonksiyonu veya eklentiyi sisteme eklemek istediğimde tek yapmam gereken, önce canlı ortamın son snapshot'ını test ortamına kopyalayıp, bu snapshot'tan geri yüklemek. Bunun sonrasında da, Configuration.yaml dosyasında ilgili adresi değiştirmek.

    Hazır yeri gelmişken, geliştirme ortamına ne zaman ihtiyaç olur? Şöyle ki: Diyelim canlı HA'ya yeni bir arabirim hazırlayacağım. Bunu hazırlaması da günler sürecek. Bu dönemde de başka ihtiyaçlar gereği test HA'ya canlıdan geri dönüşler yapmam gerekir ama geliştirme yaptığım ortamın da bozulmaması lazım. İşte böyle durumlara karşı, test ve geliştirme ortamlarının ayrı olması gerekir.




  • Eline emegine saglik abicim sagolasin

    < Bu ileti DH mobil uygulamasından atıldı >
  • quote:

    Orijinalden alıntı: melole123

    Eline emegine saglik abicim sagolasin
    Hocam sen sağol. Soruların olursa detaylı açıklarım. Her ne kadar HA acemisi olsam da, bilgisayar sektöründen dolayı yatkınlığım var.
  • Home Assistant için ciddi ciddi sunucu yatırımı yapmaya karar verdim. Bu iş Raspberry Pi'nin altından kalkabileceği boyutta değil. Neden mi? Çünkü HA üzerine kurduğum her eklenti çalışıyor ve bu eklentiler günlük yaşamınızdaki birçok işin üstesinden geliyor.

    Örnek derseniz, AdGuard. Bu yazılım sitelere girdiğinizde karşınıza çıkacak reklamları engelliyor. Böylece reklam pencereleriyle boğuşmak veya hareketli animasyonlarına takılmak yerine, sitedeki amaçladığınız içeriğe odaklanıyorsunuz. AdGuard eklentisini HA'ya kurduğumdan beridir, bilgisayarımdan DonanımHaber, ekşisözlük vb. sitelere girdiğimde reklamlarla karşılaşmıyorum.

    HA eklentileri yelpazesi o kadar geniş ki, bu kadar hizmeti işletecek yüksek kapasiteli bir sunucuya ihtiyaç olacak. Bu konuya ayrıca geleceğim, ancak önce HA üzerine AdGuard'ı nasıl kurduğumu anlatayım.

    AdGuard'ın neler yapabildiği hakkında bilgi almak isterseniz şuraya bakabilirsiniz:
    AdGuard

    Ayrıca Franck Nijhof HA'ya AdGuard kurulum ve konfigürasyon işini 3 saatlik videoda çok detaylı anlatıyor: AdGuard Home Assistant

    Şu mantıklı soru herkesin aklına gelir: Neden ayrı bir hizmet olarak çalışabilen uygulamaları sadece eklenti olarak HA'dan kullanalım? Cevabı şurada yatıyor: Entegrasyon kolaylığı ve HA panelini her tür hizmetin yönetim merkezine çevirmek.

    Ben en basit şekilde nasıl yaptığımı anlatayım:

    Çalışan HA üzerine AdGuard eklentisi kurmak için üç şartı yerine getirmemiz gerekiyor:

    1) HA'ya sabit IP atamak (HA'yı kurduğumda ilk işim bu olmuştu)
    2) HA'nın DNS adresine modemin 192.168.1.1 vb. gateway adresi yerine, Google DNS adresi atamak (8.8.8.8 ve 8.8.4.4) (Bu işlemi de nmcli komutuyla yaptım, detayları için bir adres paylaşırım)
    3) Modemin DNS adres kısmına HA'nın IP adresini yazmak (Evdeki tüm cihazların performansını doğrudan etkileyecek bu ayarı yapmak yerine, test amacıyla, kullandığım bilgisayarın DNS kısmına HA'nın IP adresini girdim)

    AdGuard eklentisinin HA'ya kurulum ve konfigürasyonu şurada açıklanıyor:
    Home Assistant Community Add-on: AdGuard Home

    AdGuard eklentisi diğer eklentiler gibi Supervisor > Add-on kısmından kuruluyor. Hiçbir konfigürasyon ayarına gerek kalmadan servisi başlatınca hizmet vermeye başlıyor.

    Boyumu aşan işler: Raspberry Pi 4 ile ev otomasyonu

    Türkçe bir arayüzle karşılaşınca şaşırdım, çünkü HA'yı İngilizce kullanıyorum.

    AdGuard'ı Raspberry Pi HA'ya değil, test olarak kullandığım VirtualBox'taki sanal HA'ya kurdum. Sitelere ilk girişte biraz gecikmeyle karşılaştım. Raspberry Pi HA'da devreye alınca gerçek performansını göreceğim.

    AdGuard vb. reklam engelleyici sitelerin asıl avantajı, reklam scriptlerinin internet hattınızı kullanmasını engelleyerek size band genişliği açması. Bununla ilgili karşılaştırma testleri var. Bulursam paylaşırım.



    < Bu mesaj bu kişi tarafından değiştirildi Bahadir.Gurel -- 13 Mayıs 2020; 13:1:20 >




  • Bahadir.Gurel B kullanıcısına yanıt
    İş dönüp dolaşıp ciddileştikçe gerçekten sunucu yatırımına geliyor. Ben de aynı aşamalardan geçip sonunda bir daha uğraşmamak için Intel NUC7i7BNHX1 almıştım. 500 GB SDD, 1TB HDD ve Ubuntu Linux ile güzel bir server oldu. Sadece HA değil, PLEX Film,Calibre EKitap, Unifi Network Controller gibi serverları da bu makinaya kurdum. i7 olduğu için tık demiyor tabii, ama aklınızda bulunsun, RPi da olsa başka serverda olsa modem+switch+HA server üçlüsü için bir UPS de şart hale geliyor.

    HAssio veya Supervisor addon denilen bu eklenti paketleri Docker altında çalışıyor. Bu nedenle birçok avantaj ve dezavantajları var. Avantajları kurulum ve kaldırma çok basit ve sistemde hiçbir ekstra paket artık vs bırakmıyor. Yedeklemesi de çok kolay. Ama docker olduğu için (VM) altında çalışıyor ve eklenti içinden linuxun dizinlerine ulaşmak mümkün değil (yani çok zor).

    Ben addon olarak AirCast, ESPHome, File Editor, Grafana, Influx, Mariadb, portainer , Terminal SSH, Visual Code, ve deconz kullanıyorum.

    Aklınızda bulunsun HA'nın standart kullandığı SQLLite db'de eninde sonunda şişme oluyor. Bu nedenle ve Maria DB'ye geçtim. Özellikle History ve Logbook çok yavaş çalışıyordu. Influx ve Grafana'yı da tavsiye ederim; Influx özellikle IOT'lar için geliştirilen bir arşiv veri tabanı, Grafana'da bugüne kadar gördüğüm en başarılı ve güzel grafik programı. Bu şekliyle geriye dönük 1 yıllık veri analizi yapabiliyorsunuz, elektrik tüketimi, hava durumu, vs vs gibi.

    Yazdıklarınız HA için burada birçok arkadaşa çok faydalı oluyor; canı gönülden tebrik ederim, ellerinize sağlık.




  • 
Sayfa: önceki 12345
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.