İçindekiler:
- Adım 1: Adım 1: Times'ı Ev Asistanından Göndermenin Bir Yoluna İhtiyacım Var
- Adım 2: Adım 2: Aşağıdaki Kodu Configuration.yaml'e Ekleyin
- Adım 3: Adım 3: Şimdi Bilgileri ESPHOME API'sine Almamız Gerekiyor
- Adım 4: Adım 4: Şimdi Fişin ESPHome Yapılandırması
- Adım 5: Adım 5: ESPHome Home Assistant Bağlantısı… Işınla Beni Scotty
- Adım 6: Adım 6: Biraz Zaman Ekleyelim
- Adım 7: Adım 7: Aralık
- 8. Adım: 8. Adım: Yani Zamanımız ve Paramız Var… Sırada Ne Var?
- Adım 9: Adım 9: Şimdi Bazı Senaryolar için: 'Olmak ya da Olmamak: Bütün Mesele Bu'
- Adım 10: Adım 10: Bazı Bonus Komut Dosyaları
- Adım 11: Adım 11: Bazı Son Düşünceler
Video: ESPHOME SONOF S26 Zamanlamalı Işık: 11 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
İyi günler. Bu yüzden günün belirli bir saatinde açıp kapatmak istediğim bir akvaryum ışığım var. Sadece kendim için karmaşık hale getirmem gerekiyordu. Home Assistant kontrol panelimden açılıp kapanma zamanını değiştirebilmek istiyorum. Belki daha da fazlası.
Bakalım kendimi bir tavşan deliğine daha ne kadar sokabileceğim.
Adım 1: Adım 1: Times'ı Ev Asistanından Göndermenin Bir Yoluna İhtiyacım Var
Bazı googling yardımcı olur. Saçınızı biraz yolmak yardımcı olur, eğer gerçekten varsa:POpen benim Visual Studio Code Editor eklentim. Config klasörü altında configuration.yaml dosyasını bulun ve bazı forumlarda gizli bulduğum bazı şeyleri kopyalayıp yapıştırın. Özür dilerim hatırlasaydım teşekkür ederdim. Kodu eklendi ve ev asistanını yeniden başlattı.
Adım 2: Adım 2: Aşağıdaki Kodu Configuration.yaml'e Ekleyin
Numara giriniz:
ft_start_hr:
isim: FT Light Başlangıç Saatleri
simge: mdi: saat başlangıcı
dk: 0
maksimum: 23
Aşama 1
# başlangıç: 13
İlk satır, giriş numarası varlık kimliği olacaktır.
Sonra bu küçük ahbap için bazı ayrıntılara ihtiyacımız var:
Bir isim harika olacak: Bunun için FT Light Başlangıç Saatleri Not. FT Fish Tank içindir… Düşündüğünüz gibi değil miydi?
Sonraki isteğe bağlı bir simgedir. Aralarından seçim yapabileceğiniz çok şey var, o yüzden çıldırın… ya da olmayın.
Sonra bir min, max ve adım değeri koyabiliriz. Bu saatler olduğu için tek adımlarla 0 - 23'ü seçtim.
Başlangıçta bir başlangıç değerim vardı ve ev asistanı yeniden başlatıldığında onu bu başlangıç değerine değiştirecekti. Home Assistant'ın onun için belirlediğim son değeri denemesini ve hatırlamasını istediğim için yorum yapmaya karar verdim.
Bir kutu seçmek için moda girebilirsiniz. Ancak varsayılan olarak sizin için güzel bir kaydırıcı seçer. Şimdilik bir kaydırıcının yeterli olacağını düşünüyorum.
Girintilerin çok önemli olduğundan haberdar olun. Resme bakın
Yani bunlar size ev asistanında ayarlayabilmeniz için varlıklar verecektir.
Girilen sayılar hakkında daha fazla bilgi için bir bağlantı:
www.home-assistant.io/integrations/input_n…
Adım 3: Adım 3: Şimdi Bilgileri ESPHOME API'sine Almamız Gerekiyor
sensör:
- platform: şablon
sensörler:
ft_start_hr:
değer_şablonu: '{{ durum.input_number.ft_start_hr.state | int }}'
n
Bu, ESPHome API'sine gereken bağlantıyı sağlar ve artık süslü metin kaydırıcısı yerine bir tam sayıdır:-P
Burada giriş numarası durumunu alıp bir tamsayıya dönüştürmek ve bir sensörde saklamaktır.
İşte şablonlar hakkında biraz daha bilgi:
www.home-assistant.io/integrations/templat…
Oh, dosyamın Dosya uzantısını metne dönüştürdüm, böylece Yükleyebilirim… Talimatlar bir yaml ile yok edilebilir…
Adım 4: Adım 4: Şimdi Fişin ESPHome Yapılandırması
S-on-off fişi için bir temel yapılandırma ile başladım ve sonra tamir etmeye başladım.
Google'ın tüm cevapları olduğu için S26 fişinin ESPHome ile nasıl flaş edileceğine dair ayrıntılara girmeyeceğim.
Tam yapılandırma dosyam sonunda indirilebilecek. Da Da Dah…
Öyleyse, Home Assistant'a bağlı kısımla başlayalım:
Birbirleriyle konuşabilmeleri için ev asistanındaki sensörlerle eşleşen sensörler oluşturmalıyız.
Adım 5: Adım 5: ESPHome Home Assistant Bağlantısı… Işınla Beni Scotty
sensör:
- platform: ev yardımcısı
entity_id: sensor.ft_start_hr
kimlik: id_ft_start_hr
Şimdi ESPHome'da ev yardımcısı türünde bir sensör yaratıyoruz. Kim tahmin ederdi?
Varlık kimliğinin, configuration.yaml dosyanızda ayarladığınızla eşleşmesi gerekir.
ESPHome'un bu sensöre düşünme bolluğu içinde başvurabilmesi için bir kimlik oluşturdum.
Adım 6: Adım 6: Biraz Zaman Ekleyelim
Yani bu zaman ayarlı bir fiş olduğu için… Aslında biraz zaman ekleyelim… Yoksa çıkarma mı? Şimdi geçmişte mi?
İşte zaman bileşeninin bazı temelleri. Farklı olanları seçebiliriz ama ben ev asistanını seçtim. Çok kolay?
esphome.io/components/time.html
Adım 7: Adım 7: Aralık
Hayır, mola değil mi, değil mi?
Aralık:
- aralık: 1sn
sonra:
- lambda: |-
id(gl_ft_start_hr) = id(id_ft_start_hr).durum;
Bu yüzden ev asistanından global değişkene sensör değerini yazmak için 1 saniyelik bir aralık belirledim.
Zaman geçtikçe bunu saniyede bir yapmak istiyorum…tik tak
8. Adım: 8. Adım: Yani Zamanımız ve Paramız Var… Sırada Ne Var?
Bu yüzden, anahtar anahtarı anahtarını açma zamanının gelip gelmediğini belirlemek için bir ikili sensör şablonu kullanmaya karar verdim… röle
Kimliğe sahip üç anahtar oluşturdum: start_time_valid, stop_time_valid ve run_time_valid
start_time_valid, röleyi açmak için ayarlanan süre geçtiğinde doğrudur.
Gereken saniyelerden, sonra dakikalardan ve son olarak da saatlerden daha büyük veya eşit olup olmadığımızı kontrol etmek için iç içe if ifadeleri kullandım.
stop_time_valid, anahtarı kapatmak için ayarlanma zamanı gelmeden önce olduğunda doğrudur. Bu, röleyi kapatmak için gerekli süreyi geçmediğini kontrol etmek için tersine çevrilir.
run_time_valid, hem start_time_valid hem de stop_time_valid doğru olduğunda doğrudur. Sanırım bunun için bir normal ve koşul kullanabilirdim. Lambdalarla işlerin hızına yeni başladım.
- platform: şablon
isim: "Başlangıç Zamanı Geçerli"
kimlik: start_time_valid
lambda: |-
if (id(homeassistant_time).now().hour > id(gl_ft_start_hr)) {
true döndür;
}
else if (id(homeassistant_time).now().hour == id(gl_ft_start_hr) &&
id(homeassistant_time).now().dakika > id(gl_ft_start_mn)) {
true döndür;
}
else if (id(homeassistant_time).now().hour == id(gl_ft_start_hr) &&
id(homeassistant_time).now().dakika == id(gl_ft_start_mn) &&
id(homeassistant_time).now().second >= id(gl_ft_start_ss)){
true döndür;
}
Başka {
yanlış döndür;
}
Adım 9: Adım 9: Şimdi Bazı Senaryolar için: 'Olmak ya da Olmamak: Bütün Mesele Bu'
Hmm yanlış senaryo dostum!
Bu yüzden, anahtarı taktığımda… veya evin elektriği yeniden geldiyse, anahtarın açık mı yoksa kapalı mı olduğunu bilmesini ve buna göre hareket etmesini istedim. (evet hepimiz oyunculuk derslerine gidiyoruz)
İlk komut dosyası kimliği: kontrol durumu, açık olup olmadığımızı kontrol ediyor ve buna göre hareket ediyor. Ayrıca, bu komut dosyasının yalnızca bir kez çalıştırıldığından ve diğer komut dosyalarımın oyundaki rollerini yapmalarını engellemediğinden emin olmak için: izleme kimliğine sahip küresel bir bayrak ekledim.
Bunun 3 ve koşulu var: röle kapalı, açık olması gerekiyor ve ben zaten üzerime düşeni yapmadım. Bu, daha sonra çalışan diğer komut dosyalarını kapatacak, röleyi açacak ve izleme bayraklarını ayarlayacaktır.
İkinci komut dosyası kimliği: checkstatusoff, ilkinin tam tersidir. Şimdi perdeleri kapatmamız gerekip gerekmediğini kontrol ediyoruz. Bunun için izleme bayrağı izleme kapalı
Her saniyeyi kontrol etmek için bu iki betiği 1 saniye aralıklarla çalıştırıyorum.
Adım 10: Adım 10: Bazı Bonus Komut Dosyaları
Eklemek istediğim iki özellik daha, tanktaki ışığı kapatırsam, o anda ışık yanacaksa 5 saniye sonra tekrar açılacaktı. Ayrıca, ışık kapalıysa ve balıklarımı görmek için açmak istesem ve planlanan saatin dışındaysa, 5 dakika boyunca yanacaktı. Evet 5 dakika yeterince uzun… İşinize geri dönün.
İlk komut dosyası kimliği:röleisoff, planlanan zamanda kapalıysa ışığı 5 dakika boyunca açar ve ardından kapanır.
İkinci komut dosyası kimliği: geçiş, pratik olarak birincinin tersidir ve açık olması gerekiyorsa ışığı 5 saniye sonra tekrar açar. Işığımı kapatabileceğinizi kim söyledi bayım!
İşte komut dosyaları hakkında biraz daha bilgi:
esphome.io/guides/automations.html
Komut dosyaları hakkında bazı bonus bilgiler, engellememeleridir. Bir lambda gecikme koymadığınız sürece. Uh Hayır Hayır Hayır
Adım 11: Adım 11: Bazı Son Düşünceler
Ev asistanından anahtarın düğmeyle aynı şekilde hareket etmesini istedim.
Ev asistanında basıldığını görmem gerekmediği için ikili sensör yerel anahtarı için bir isim koymadım.
Ev asistanından geçiş yapmak için scriptleri kullanmak istediğim için röle anahtarı için bir isim koymadım.
Ev asistanından geçiş yapmak için kullanabilmem için bir adla bir şablon anahtarı oluşturdum. Komut dosyalarımı fişteki yerel anahtarla aynı şekilde çalıştıracak.
Fiş yine de düzgün çalışıp çalışmayacaksa ev asistanımı kapatıp açmayacağını test etmedim. öyle umuyorum. Home Assistant API ile bağlantının kesilmesiyle ilgili bazı sorunlar hakkında bazı gönderiler gördüm.
Umarım bu küçük öğretici size yardımcı olur ve lütfen daha iyi hale getirmeme yardım etmekten çekinmeyin. Ben uzman değilim ve çok yavaş öğreniyorum. Nasıl yapacağımı öğrendiğim bazı şeylerin, dışarıdaki birinin bunu çözmeye çalışmasına yardımcı olabileceğini düşündüm.
Şimdi ev asistanında gün doğumu ve gün batımına göre saatleri değiştirmek için…+ - birkaç
Önerilen:
DIY -Prototip- Arduino Zamanlamalı USB Şarj Cihazı: 8 Adım
Kendin Yap -Prototip- Arduino Zamanlamalı USB Şarj Cihazı: arduino ile ilgili seminerimiz sırasında arduino'yu içeren mutlu bir hack icat etmek zorunda kaldık. Arduino için bazı kodlar kullanarak şarj cihazlarından gelen gücü kesecek bir cihaz yapmaya karar verdik. Powerbuddy! Bu prototip aslında cihazları şu şekilde şarj etmiyor
Neopiksel ve Pull Up Switch Kullanarak Işık - Işık Modülünü Çekin: 6 Adım (Resimli)
Neopiksel ve Pull Up Switch Kullanarak Işık - Işık Modülünü Çekin: Işık modülünün özellikleri Arduino Uno Hardware & internet Neopixel & Enformatik Okulu'ndan ödünç alınan güç kaynağı & Ürün Tasarımı Güç kaynağı ile kontrol edilen ışık modülü Tüm fonksiyonlar
Bluetooth Uzaktan Kumandalı Işık Anahtarı -- Güçlendirme. Işık Düğmesi Çalışıyor, Ekstra Yazma Yok.: 9 Adım (Resimli)
Bluetooth Uzaktan Kumandalı Işık Anahtarı -- Güçlendirme. Işık Anahtarı Hala Çalışıyor, Ekstra Yazma Yok.: Güncelleme 25 Kasım 2017 -- Bu projenin kilovatlarca yükü kontrol edebilen Yüksek Güçlü versiyonu için bkz. Bazı BLE panoları / yazılım yığınları şarküteri
Müzikle Tepkisel Işık--Masaüstünü Harika Hale Getirmek için Süper Basit Müzik Tepkisel Işık Nasıl Yapılır.: 5 Adım (Resimlerle)
Müzik Reaktif Işık||Masaüstünü Harika Hale Getirmek için Süper Basit Müzik Reaktif Işığı Nasıl Yapılır.: Hey naber arkadaşlar, Bugün çok ilginç bir proje inşa edeceğiz.Bugün müzikle reaktif ışık oluşturacağız. aslında düşük frekanslı ses sinyali olan bas. Yapımı çok basit. Biz
20$/20dk Ticari Kaliteli Katlanır Işık Kutusu / Işık Çadırı: 7 Adım (Resimlerle)
20$/20dk Ticari Kalitede Katlanır Işık Kutusu / Işık Çadırı: Ürün veya yakın çekim fotoğraflar için bir DIY ışık kutusu arıyorsanız, çok sayıda seçeneğiniz olduğunu zaten biliyorsunuzdur. Karton kutulardan çamaşır sepetlerine kadar, projenin ölümüne yapıldığını düşünüyor olabilirsiniz. Fakat bekle! 20 dolar için