Raspberry Pi 4'e Home Assistant ve eklentilerinin yanı sıra; InfluxDB, Grafana ve Glances kurup, istatistik toplama işini başlattıkan sonra, sistemin performansında gözle görülür düşüş başladı. Bunu bekliyordum, çünkü kurduğum uygulamalar her saniye veri toplayarak veritabanına bilgi yazıyor ve bu bilgileri analiz etmeyi sağlıyorlar. Daha birçok entegrasyon yapmayı da planladığımdan, bu beklediğim bir durumdu. Uzun bir süredir sunucu olarak çalışacak bir mini pc araştırıyordum. Sonunda Dell Optiplex 3070 Micro Form Factor bilgisayarda karar kıldım. < Resime gitmek için tıklayın > < Resime gitmek için tıklayın > Sistemin kapasitesi şöyle: Intel Core i3 9100T, 16GB DDR4-2666 Mhz, 1TB HDD + 512 GB SSD Sistemi Free DOS olarak satın aldım ancak bilgisayarı açtığımda Windows kurulumuna geçti. Sanırım lisanslı olmayabilir, henüz kontrol etmedim. Ancak eğer lisanslı ise yazık olacak çünkü amacım bu PC'de Linux üzerinde Docker'lar çalıştırmak. Görebildiğim tek eksiği Bluetooth olmaması. Mevcut planımda Bluetooth cihazları entegre etmek yoktu ancak, yakında Xiamoi Mi Bluetooth akıllı tartı gelecek. Bu tartıyı HA'ya tanıtmak mümkün; bununla ilgili entegrasyon kodları yazılmış. Eğer bluetooth entegrasyonu şart olursa, USB'den bağlanan bir Bluetooth adaptör araştıracağım. Optiplex'in iyi tarafı çok sayıda USB girişinin bulunması. Docker sistemine geçmek ve HA'yı Dell'e taşımak başlı başına bir iş olacak. |
Dell Mini PC'ye Ubuntu kuracağım ancak altından kalkamadığım bir sorun var. Evde USB stick yok; bu PC'de DVD/CD yok. UNetbootin programını indirdim bilgisayara. Bu program USB stick veya DVD/CD olmadan OS kurmayı sağlıyor. Bilgisayarı yeniden başlatınca OS yüklenmeden önce seçenek getiriyor. Sorun şurada: Bilgisayarın boot partition diski 1 TB HDD, yavaş bir disk. Windows buraya kuruldu. Hızlı olan 512 GB SSD ise formatsız durumda. Amacım Ubuntu'yu SSD'ye kurmak. Önce SSD'yi Mini Tool Partition Wizard ile Ext4 olarak formatladım ancak Windows bu diski görmedi. Bu sefer SSD'yi ExFAT olarak formatladım; Windows'tan diske ulaşabiliyorum ancak UNetBootin programından D diski seçemiyorum. < Resime gitmek için tıklayın > SSD'yi NTFS olarak formatladım, sonuç değişmedi. FAT32'yi de denedim; işe yaramadı. Ubuntu'yu ikinci disk olan SSD'ye nasıl kuracağım bilmeyece dönüştü. Belki açılışta boot partition değiştirebilirim ama bu sefer Windows'a da ulaşamayacağım için ve CD/DVD-USB stick olmadığından çıkmaz sokağa gireceğim. |
Millet yanlışlıkla windows olan main partitiona kurduğu için 'Show all disks' seçeneğini kaldırmışlardı. Şu hala çalışıyor olabilir: unetbootin installtype=USB targetdrive=D:\ Bkz: https://sourceforge.net/p/unetbootin/wiki/commands/#targetdrive |
|
Not: Dell bilgisayarın 1TB HDD kısmına daha önce Ubuntu kurmuştum. UNetBootin'in parametrik kullanımını başka bir Windows bilgisayardan şöyle denedim: Ubuntu ISO kurulum paketini USB HDD'ye atıp, bu USB ile Dell bilgisayarı boot etmeyi planladım. Nasıl olduysa Dell'in boot seçeneklerinden USB HDD'den açılış yapabildim. Ancak gitti USB HDD'ye kurulum yapmaya başladı :) İptal edip, Dell'i 512GB SSD'den açmayı denedim. Karşıma Ubuntu kurulum menüsü geldi. Bu iyi haber (nasıl olduysa SSD'ye UEFI boot kopyalamışım). Kurulum adımlarında sıra disk seçimine gelince ısrarla 1TB'lık HDD'yi buldu, seçenekler arasında SSD'yi göstermiyor (Disk formatını FAT32 yapmıştım). Başka yöntemler de deneyeceğim. Sırada bilgisayarı Ubuntu ile açıp SSD'ye UNetBootin ile ikinci bir Ubuntu kurmaya çalışacağım. Diğer yöntem de Network PXE hizmeti kurmak. Bunu yıllar önce şirket ortamında uzaktan OS kurulumları için uygulamıştım. |
HA'yı mini pc'ye taşıma işinde beklemediğim bir durumla karşılaştım. Amacım PC'ye ubuntu kurmak ve Docker üzerinde HA çalıştırmaktı. Ancak bunun arkasını iyice araştırmadığımı fark ettim. HA'nın dört farklı kurulum modeli var. 1) Raspberry Pi, Tinkerboard, Odroid, Intel NUC cihazları için hazırlanmış özel HA image kurulumu 2) Oracle VirtualBox, Hyper-V, VMWare sanallaştırma platformları için özel HA image kurulumu 3) Docker üzerine HA Core+Supervisor veya HA Core kurulumu 4) Python Virtual Environment üzerine HA Core kurulumu Dell pc'yi satın alırken planım Docker kurulumuydu. Ancak HA'yı geliştiren ekip docker üzerine Supervisor kurulum desteğini durdurdu. Bunun nedeni, Supervisor'ın çok karmaşık bir bileşen olması ve OS ile olan derin bağlantısından dolayı sorunlarının çözümünün de zor olması. Bunun yerine docker üzerine sadece HA Core desteği veriyor. Ancak Supervisor olmadan eklentiler kurmak/güncellemek çok zor hale geliyor. Bu, benim gibi yeni başlayanlar için iyi bir seçenek değil. Bu durumda geriye diğer seçenek kalıyor: Ubuntu üzerine Oracle VirtualBox kurulumu yaparak HA VirtualBox image kurulumu yapmak. Kullandığım Windows dizüstü bilgisayara VirtualBox kurup üzerinde HA çalıştırdım. Karşılaştığım tek sorun, ağ performansının kötü olmasıydı. Bu sorunu çözmek için Ubuntu tarafında VirtualBox ağ ayarlarını incelemem gerekecek. Ayrıca diğer uygulamalar için VirtualBox'lara gerek olmayabilir (AdGuard, MySQL, InfluxDB, Grafana, Glances, vb.): bu uygulamaları doğrudan Ubuntu'ya kurabilirim. Diğer konu ise Dell pc'ye Ubuntu kurulumunda SSD'yi gösteremiyor olmam. Yıllar önce aldığım eski USB HDD'ye BalenaEtcher programıyla Ubuntu ISO dosyasını aktardım. Dell pc'nin boot order ayarlarından USB HDD'den açılış yapmasını sağladım. Tam da olması gerektiği gibi, Dell pc'ye USB HDD'deki Ubuntu setup programından kurulumu başlattım. Ancak kurulum yapılacak diski seçme ekranı geldiğinde setup programı SSD'yi görmüyor (burada 232GB olan USB HDD; 930GB olan da Dell pc'deki 1TB HDD; ikisinin de Toshiba olması ilginç tesadüf). < Resime gitmek için tıklayın > Bunun olası nedeni SSD'nin formatını Ubuntu setup programı tanımıyor olabilir. Bunun için yapılacakları araştırmak gerekiyor. Zaten Dell pc'yi 1TB'lık HDD'den Ubuntu'yla açıyorum. Mevcut Ubuntu işletim sisteminden SSD'ye erişip, formatlayabilirim belki. |
Docker üzerine ha core ve supervisor desteği henüz tam durdurulmadı, ertelendi ve hala tartışılıyor. Bendeki kurulum da böyle. Bildiğim kadarıyla HA kullanan çoğu insanın da böyle (anket sonucu). Ekip bu desteği durdurursa tam kendi bacağına sıkmış olur. Umarım bir çözüm bulurlar... |
https://www.juanmtech.com/set-up-hassio-in-docker-and-in-an-ubuntu-server/ curl -sL "https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh" | bash -s |
Bu arada core kullanmak o kadar zor değil bence. Sanal makine çalıştırmaktan daha kolay geliyor bana. Ben bi süre hassio kullandım ama yakın zamanda tekrar core’a döndüm. Kullanmayı planladığınız kaç addon var? |
< Resime gitmek için tıklayın > < Resime gitmek için tıklayın > |
Ben esphome, grafana, influxdb, mariadb, portainer, deconz, unifi, visual studio code ve birkaç tane de custom addon kullanıyorum; benim için olmazsa olmaz bunlar, gerçekten elim kolum bağlanır... Tamam influx, grafana, unifi vs direk sisteme kurup çalışabilirim ancak deconz ve esphome'un HA core'a tam entegrasyonu bir başağrısı, custom addonlar ise bildiğim kadarıyla zaten mümkün değil... |
hacs tarafında birşey yapmaya gerek yok, bunlar direk ha core ile çalışıyor. Bazı supervisor addonları ise hiç sorunsuz ubuntudan çalıştırılabilyor. Mesela sizdeki mqtt ve glances'ı direk ubuntuda docker olmadan, adguard'ı ise synology'de docker ile çalıştırıyorum. |
|
HA'ya bir süre ara vermek zorunda kaldım; çünkü birkaç günüm Dell OptiPlex 3070'teki SSD'ye Ubuntu, VirtualBox ve HA kurmakla geçti. Mart'ta ilk defa HA ve Raspberry Pi'ye başladığımda ne kadar acemilik yaşadıysam, aynı şey bugün linux dünyası ve Ubuntu için de geçerliydi. Otuz yıl boyunca Microsoft pencerelerinden ekmeğimi kazandığım için, bir gün olsun aix/unix/linux dünyasına girme fırsatı bulamamıştım. Boot partition'ı HDD'den SSD'ye taşımak bile bir-iki günüme mal oldu, ama bir şeyleri bozmadan da öğrenilmiyor. Nihayet SSD'ye Ubuntu kurabildim. Basit işlemler bile çok zamanımı aldı: Örneğin swap partition oluşturmak, TCP/IP tanımlarını DHCP'den sabit IP'ye dönüştürmek, vb. detaylar. VirtualBox kurulumunu terminalden beceremediğim için GNOME GUI kurmak zorunda kaldım. Ancak halen altından kalkamadığım bir konu, VNC veya RDP ile masaüstüne bağlantı kurduğumda karşıma gri bir ekran gelmesi. Bu arada bilgisayara VirtualBox kurdum ve üzerinde HA VDI image ile bir sanal bilgisayar açtım. Raspberry Pi'ye göre çok kısa sürede HA kuruldu (VirtualBox'ta 4GB RAM ayırmıştım). Ardından 530GB'lık HA snapshot image dosyasından restore işlemi yaptım ve sonunda tüm HA konfigürasyonlarım ve entegrasyonlar karşıma geldi. Bu bölümde gelen önerileri dikkate alacağım. Örneğin InfluxDB, Grafana, Glance, AdGuard gibi uygulamaları HA'dan kaldırıp Ubuntu'ya doğrudan kurmayı planlıyorum. Not: RDP sorununu araştırırken Ubuntu'da firewall'ın açık olduğunu fark ettim ve 3389 için gerekli kuralı tanımlayınca, Windows'tan Ubuntu'ya RDP yapabildim. |
Merhaba, akıllı ev konusunda biraz yeniyim. HA'nın Smartthings, IFTTT gibi hazır ve kolay sistemlere olan üstünlüğü nedir acaba? Bu kadar uğraşınıza değiyor mu onu merak ediyorum. |
Ayrıntılı bilgi için çok teşekkürler. Bu işe kalkışan kimsenin yaptıklarınızı sıkıcı bulacağını sanmıyorum. Ama ciddi bir altyapı, vakit ve cesaret gerektiren bir şey. Bu konuda sizi tebrik ediyorum. Umarım istediğiniz gibi bir otomasyona ulaşırsınız sonunda :) Gizlilik konusunda size hak versem de, her ne kadar ticari yazılımlara güvenilemese de, Google ve diğer kullandığımız ürünlerin güvenliği de tartışılır. Evimizde sürekli bizi dinleyen bir asistan var sonuçta, düşüncesi bile ürpertici aslında.. |
düşündüklerimin aynısını düşünen birisini buldum. şu an çok mutluyum. |
İçerisinde oldukça faydalı bilgiler bulunduran bir konu olmuş. Ellerinize sağlık. |
Devamını okumayı bekliyorum 😀 |
Önce bu ihtiyacın neden ortaya çıktığından bahsedeyim: Evde lise çağında bir çocuğunuz varsa, derslerine ayırdığı zamanla, oyun oynama/film-dizi izlemeye ayırdığı zaman arasında bir denge kurmaya özen göstermeniz gerekir. İşte bu nedenle evde Kaspersky Safe Kids uygulamasını kullanıyoruz. En önemli kullanım amacımız bilgisayar/telefonda kısıtlı saatler yaratmak. Bu saatlerde oyun oynayamaz/film-dizi izleyemez ama dersle ilgili uygulamaları çalıştırabilir, okulun online kaynaklarından faydalanabilir.
Sorun şu ki, kısıtlı saate girildiğinde eğer ekranda oyun çalışıyorsa veya bir film oynuyorsa bilgisayar uyku moduna geçmiyor, sürekli açık kalıyor. Bunu önlemenin bir yolu, bilgisayarı uyku moduna gönderen bir scripti uzaktan çalıştırmak. Uyku modunda olan bilgisayarı tekrar uyandırmak için de Wake on LAN hizmetinden faydalanmak. Ayrıca, gece belirli bir saatten sonra bilgisayarın kapatılması, elektriğinin kesilmesi ve sabah ders için çalışır duruma gelmesi de rutin işler arasında.
Bilgisayarın elektriğini uzaktan yönetmek için Broadlink uyumlu akıllı bir priz kullanıyorum.
< Resime gitmek için tıklayın >
HA'ya bu prizi şu şekilde tanıttım:
Bu prizin HA web sayfasında ve cep telefonu uygulamasında görünmesi için aşağıdaki lovelace düğmesini tanımladım:
Ekrandaki görüntüsü:
< Resime gitmek için tıklayın >
Eğer bu işaret sarı ise priz on konumda, siyah ise off konumda demektir. Üzerine tıklayarak prizi açıp-kapatmak mümkün.
Uzaktan elle açıp kapatmak özel durumlar için faydalı. Asıl amaç akşam belirli bir saatte prizin otomatik kapanması ve sabah belirli bir zamanda otomatik açılması. Bunun için aşağıdaki otomasyonu hazırladım.
Bu otomasyon gece 12 ve sabah 8'de toggle işlemi yapıyor. Yani, priz açıksa kapatıyor; kapalıysa, açıyor.
Bilgisayarı uzaktan uyku moduna almak için IFTTT servisiyle Push2Run programından faydalandım.
< Resime gitmek için tıklayın >
Push2Run programı Dropbox'ta bir klasörü takip ediyor. Bu klasörde bir text dosyası oluşturulursa içinde yazanları okuyor ve kriterleri sağlayan tanımlı aksiyonları çalıştırıyor. Yani Push2Run her amaçla kullanılabilir. Bu örnekte uykuya almak için kullanıyorum.
Text dosyasında "Bilgisayarı kapat", "shutdown" vb. bir ifade varsa shutdown komutunu çalıştırıyor. Ancak bu konutu /h parametresiyle çağırdığım için bilgisayarı kapatmak yerine hibernate modunda uykuya alıyor.
Bu text dosyasını oluşturan ise IFTTT servisi. IFTTT'de bazı tanımlar yaptım. Örneğin, her gün akşam 7'de Dropbox'ta text dosyası oluşturan tanım aşağıdaki şekilde.
< Resime gitmek için tıklayın >
HA'dan bilgisayarı uykuya göndermek için aşağıdaki scripti hazırladım.
Bu scriptin HA web sayfasında ve cep telefonu uygulamasında görünmesi için aşağıdaki lovelace düğmesini tanımladım:
Ekrandaki görüntüsü:
< Resime gitmek için tıklayın >
Uykuya geçen veya tamamen kapanan bir bilgisayarı uzaktan açmak için, hem bilgisayarın BIOS tarafında hem de ağ adaptör tarafında Wake-on-LAN tanımları yaptım.
HA'da ise şu tanımlamayı yaptım:
Bu WOL tanımının HA web sayfasında ve cep telefonu uygulamasında görünmesi için aşağıdaki lovelace düğmesini tanımladım:
< Resime gitmek için tıklayın >
Bilgisayarı uzaktan açmak/kapatmak, hatta bu işi belirli zaman periyoduna veya koşula göre uyarlamak isteyenler için gerekli tüm detayları açıkladım. WOL ayarları bilgisayarın BIOS ve ağ adaptörü markasına göre değiştiği için detaya inmedim. Diğer akıllı ev otomasyon cihazlarıyla asla yapılamayacak işler HA ile mümkün hale geliyor.
Sadece IoT cihazların yönetimi değil, aklınıza gelen her tür Internet hizmetini de HA'ya entegre edebilirsiniz. Bunun için tek kural, bu hizmetin API servislerine ulaşabilmeniz veya HTTP/MQTT ile yönetilebilmesi. Bir ara oyun platfromu Steam Online'ı HA'ya nasıl entegre ettiğimi, bundan nasıl faydalandığımı da anlatırım.
< Bu mesaj bu kişi tarafından değiştirildi Bahadir.Gurel -- 27 Mayıs 2020; 16:39:55 >