Pandemi döneminde en çok ilgimi çeken hobi akıllı ev otomasyonuydu. Open-source ve son derece özelleştirilebilir olan Home Assistant platformunu keşfettim ve evimi daha iyi çalıştırmanın birçok karmaşık yolunu öğrendim.
Dikkat eksikliği ve hiperaktivite bozukluğum (DEHB) var ve Home Assistant, yürütme işlevi bozukluğumu yönetmek için çok değerli bir alet oldu. Sesli takvim hatırlatmaları, çamaşır hatırlatmaları, zamanlayıcılar ve kapı zili kameram ile köpek için bakıcı kamerasını izlemek için kullanıyorum. Ayrıca, benim için saf bir teknik zevk kaynağı. Son zamanlarda ev otomasyonu düşkünlüğümdeki en keyifli adımlardan birini attım.
Home Assistant, akıllı ev cihazlarınızla etkileşim kurabileceğiniz özel paneller oluşturmanıza olanak tanıyor. Topluluk üyeleri panellerini mükemmelleştirmek için sayısız saat harcıyor ve bazıları gerçekten etkileyici. Ben bile Home Assistant için ışık yüklü bir tema keşfettim ki bu tema, çocukluğumda izlediğim Star Trek: Next Generation’ın LCARS bilgisayar kontrol sistemi görünümüne oldukça yaklaşıyor. LCARS, pratik veya faydalı bir bilgisayar arayüzü değil. Ama görünümü çok hoş. Estetiği beni sekiz yaşında büyülemişti ve hiç bırakmadı.
Ev otomasyonum çoğunlukla otomasyon yoluyla gerçekleştirilirken, ses kontrolüne de geniş ölçüde başvuruyorum (evet, “Bilgisayar” benim uyandırma kelimem). Star Trek izlerken aldığım yanlış alarmlar buna değer. Ama bazı şeyler için her zaman bir panel istemişimdir. Bazen şeyleri manuel olarak kontrol etmek istersiniz. Hava durumu gösterimi veya özel aydınlatma sahneleri tetiklemek için çok kullanışlı. Home Assistant’a olan ilgimin başından itibaren LCARS tarzı bir arayüz kullanmayı çok istemiştim. Yukarıda bağlantısı verilen tema oldukça iyi; telefonumun ana paneli için bunu kullanıyorum. Ama mükemmel değil.
Kavisli bölücülerin boyutları ve oranları biraz bozuk, düğmelerin her biri iki parçaya ayrılmış. Küçük şeyler. Ama ben, doğruluğu olabildiğince ileriye taşımak isteyen bir hayranım. Bu yüzden kendi tasarımımı oluşturdum.
Sonunda LVGL (Light and Versatile Graphics Library) ile tanıştım. Bu, grafik arayüzler yaratmanıza olanak tanıyor ve bunlar, Home Assistant paneli kurulumundan çok daha fazla özelleştirme ve karmaşıklık sunuyor. LVGL’in Home Assistant ile konuşmasının bir yolunu bulmak gerektiğini düşündüm. Bulmacanın son parçası ise ESPHome. ESPHome, kodlama deneyimi olmayanlar için WiFi destekli mikrodenetleyicileri (ESP32, ESP8266 ve RP2040 gibi) kullanarak görece basit işaretleme diliyle programlama yapmayı sağlayan açık kaynaklı bir yazılım çerçevesidir ve Home Assistant ile derin bir entegrasyon sunuyor. Olanaklar sonsuz. ESPHome bileşenlerini hareket dedektörleri, varlık sensörü, hava kalitesi sensörü ve LED şeritleri kontrolörleri olarak kullanıyorum. Ayrıca ESPHome belirli ekran donanımında LVGL’i destekliyor.
Bu Waveshare 7” dokunmatik ekranı ve entegre ESP32-S3 mikrodenetleyici ile hemen çalışmaya başladım.
Saatler harcayarak, 90’lar dönemine ait Star Trek’teki birçok LCARS panelinin ekran görüntülerini ve hayranların yeniden yaratmalarını buldum. Ve bunu daralttım:
Tuvok’un odasında gördüğünüz bir grafik. Gösteride ne yapması gerektiğinden emin değilim, fakat içinde pek çok renkli düğme ve yuvarlatılmış köşe var. Ve sonraki bölümde, kim bilir ne içindi o iki ölçüm aracı vardı. Ama bu benim gözümde aydınlatma parlaklığı kontrol düğmeleri gibiydi. Böylece tasarımım oluştu.
Sonraki adım ona bir arayüz inşa etmek oldu. ESPHome’da LVGL kullanarak bir arayüz oluşturmak için, istediğiniz grafik öğesinin özelliklerini (boyut, konum, renk vb.) belirlemek için YAML kullanırsınız. LVGL, bunlara “widget” diyor. Önce tasarımımı bir referans olarak Adobe Illustrator’da oluşturmuşum.
Sonrasında, tasarımı ESPHome editöründe yeniden yaratma görevine başladım. Neyse ki, C dilini bilmeniz gerekmiyor (LVGL’in yazıldığı dil) ESPHome’da kullanmak için. Bunun yerine, benim gibi hevesli bir amatör için çok daha hoşgörülü olan YAML kullanıyorsunuz. Bileşen bileşen, her düğmenin boyutunu, konumunu, rengini, etiketini ve şeklinin ne olacağını belirttim. LVGL’de yerleşik widget’ları kullanmak en iyi uygulamadır, sadece resimler eklemek yerine. LVGL bu yeteneğe sahip, ancak ESP32 mikrodenetleyicileri pek çok yedek kaynağa sahip değildir ve resimler bunları hızla tüketir. Bu tasarımda kullanılan tek gerçek görüntüler, sağ üstteki iki ölçüm aracıdır. Diğer tüm şekiller LVGL düğme widget’larıdır.
Sonunda oraya ulaştım. Gerçekten otantik görünümde bir LCARS dokunmatik ekranım oldu. 12 yaşındaki halim çok etkilenirdi. 41 yaşındaki ben de gerçekten etkileniyorum.
Geriye sadece cihazlarıma bağlamak kaldı. Bu projeyi gerçekleştirdiğim sırada oturma odasında vakit geçiriyordum, bu yüzden oturma odası lambalarıyla başladım. (Evet, bu projeyi, ne yapacağım konusunda tam bir fikrim olmadan tamamladım. Bu, tamamen pratik düşünenler için bir hobi değil.)
Belirli bir düğmeyi, ışıklar açıkken beyaz ışık yanacak, ışıklar kapalıyken ise orijinal rengine dönecek şekilde ayarladım. Başka bir düğme, ışıkları açıp kapatıyordu. Daha fazla işlevsel düğme, benim için daha otantik bir deneyim yaratıyor. Bu panelde evimdeki ışıklardan daha fazla düğme mevcut. Üst köşedeki bir ölçüm aracı, lambaların parlaklığını hem yansıtan hem de kontrol eden bir düğme olarak işlev görüyor. Durum düğmeleri, evim işletim modunun “normal” mi yoksa “rahat” mı olduğunu gösteriyor ki bu da geniş WLED kurulumumdaki aydınlatma sahnelerini belirliyor.
Panel ile birlikte dokunmatik ekran, kanepe yakınındaki bir standda yer alıyor. Hiç pratik değil. LCARS ile ilgili olarak zaten bunu biliyorduk. Ancak, çok güzel. Ve çocukluk kahramanlarımın starship’lerini kullandıkları gibi evimi kontrol edebilmek, benim hasta kalbimi çok sevindiriyor.







