Mündəricat:

ESPHOME SONOF S26 Zamanlı İşıq: 11 Addım (Şəkillərlə birlikdə)
ESPHOME SONOF S26 Zamanlı İşıq: 11 Addım (Şəkillərlə birlikdə)

Video: ESPHOME SONOF S26 Zamanlı İşıq: 11 Addım (Şəkillərlə birlikdə)

Video: ESPHOME SONOF S26 Zamanlı İşıq: 11 Addım (Şəkillərlə birlikdə)
Video: Hikaye Yoluyla İngilizce Öğrenin ★ altyazılı hikaye / İngilizce Pratik Dinleme. 2024, Noyabr
Anonim
ESPHOME SONOF S26 Zamanlı İşıq
ESPHOME SONOF S26 Zamanlı İşıq

Yaxşı gün. Günün müəyyən bir vaxtında açıb söndürmək istədiyim bir balıq tankı işığım var. Sadəcə bunu özüm üçün çətinləşdirməli idim. Ev köməkçisi tablosundan açılma və sönmə vaxtını dəyişə bilmək istəyirəm. Bəlkə də daha çox.

Gəlin görüm nə qədər daha çox özümü bir dovşan çuxuruna apara bilərəm.

Addım 1: Adım 1: Zaman köməkçisindən vaxt göndərməyin bir yoluna ehtiyacım var

Bəzi googling kömək edir. Saçlarınızı çıxarmaq bəziləri kömək edir, əgər həqiqətən varsa: PO Visual Studio Kod Redaktoru eklentimi açın. Config qovluğunun altında configuration.yaml faylını tapın və bəzi forumlarda gizlətdiyim bəzi şeyləri kopyalayıb yapışdırın. Bağışlayın, xatırlasam, etiraf edərdim. Kodu əlavə etdi və ev köməkçisini yenidən başlatdı.

Adım 2: Adım 2: Aşağıdakı Kod Configuration.yaml -ə əlavə edildi

Addım 2: Aşağıdakı Kod Configuration.yaml -ə əlavə edildi
Addım 2: Aşağıdakı Kod Configuration.yaml -ə əlavə edildi

giriş_sayı:

ft_start_hr:

adı: FT Light Başlama Saatı

simge: mdi: saatın başlanğıcı

dəq: 0

maksimum: 23

addım 1

# ilkin: 13

İlk sətir giriş nömrəsi şəxsiyyət nömrəsi olacaq.

Sonra bu balaca üçün bəzi detallara ehtiyacımız var:

Bir ad zəhmli olacaq: Bunun üçün FT Light Başlama Saatları P. S. FT Balıq Tankı üçündür … Doğru düşündüyünüz kimi deyil?

Sonrakı, isteğe bağlı bir simvoldur. Çılğın olmağı seçdiyiniz çox şey var … ya da yox.

Sonra min, maksimum və addım dəyərini qoya bilərik. Saat olduğu üçün tək addımlarla 0 - 23 seçdim.

Əvvəlcə bir başlanğıc dəyərim var idi və ev köməkçisi yenidən başladıqda onu bu ilkin dəyərə dəyişərdi. Ev köməkçisindən bunun üçün təyin etdiyim son dəyəri sınamasını və xatırlamasını istədiyim üçün bunu şərh etmək qərarına gəldim.

Bir qutu seçmək üçün rejimi daxil edə bilərsiniz. Ancaq standart olaraq sizin üçün gözəl bir kaydırıcı seçir. İndiyə qədər bir kaydırıcının edəcəyini düşünürəm.

Girintilərdən xəbərdar olun, çünki onlar çox vacibdir

Beləliklə, bunlar sizə ev köməkçisindəki varlıqları tənzimləyə bilmələri üçün verəcək.

Giriş nömrələri haqqında daha çox məlumat əldə etmək üçün bir link:

www.home-assistant.io/integrations/input_n…

Addım 3: Adım 3: İndi ESPHOME API -yə məlumat almalıyıq

Addım 3: İndi ESPHOME API -yə məlumat almalıyıq
Addım 3: İndi ESPHOME API -yə məlumat almalıyıq

sensor:

- platforma: şablon

sensorlar:

ft_start_hr:

dəyər_şablonu: '{{States.input_number.ft_start_hr.state | int}} '

n

Bu, ESPHome API-yə lazımi bağlantı verəcək, həm də indi xülya mətn sürgü əvəzinə tamsayıdır:-P

Burada giriş nömrəsi vəziyyətini alır və tam bir rəqəmə çevirir və bir sensorda saxlayır.

Şablonlar haqqında daha çox məlumat:

www.home-assistant.io/integrations/templat…

Yükləyə bilmək üçün faylımın Fayl uzantısını mətnə dəyişdim … Təlimatlar yaml ilə dağıla bilər …

Addım 4: Addım 4: Beləliklə, İndi ESPHome Konfiqurasiyası

Addım 4: ESPHome İndi Fişin Konfiqurasiyası
Addım 4: ESPHome İndi Fişin Konfiqurasiyası

S-on-off fişi üçün əsas konfiqurasiya ilə başladım və sonra tinking etməyə başladım.

Google -un bütün cavabları olduğu üçün SSP fişini ESPHome ilə necə flaş etmək barədə ətraflı məlumat verməyəcəyəm.

Tam konfiqurasiya faylımı sonunda yükləmək mümkün olacaq. Da Da Dah…

Beləliklə, Home Assistant ilə əlaqəli hissədən başlayaq:

Bir -birimizlə danışa bilmələri üçün ev köməkçisindəki sensorlara uyğun sensorlar yaratmalıyıq.

Addım 5: Adım 5: ESPHome Ev Köməkçisi Bağlantısı… Scotty Me Beam

Addım 5: ESPHome Ev Köməkçisi Bağlantısı… Scotty Me Beam
Addım 5: ESPHome Ev Köməkçisi Bağlantısı… Scotty Me Beam

sensor:

- platforma: ev köməkçisi

varlıq_kimi: sensor.ft_start_hr

id: id_ft_start_hr

Beləliklə, indi ESPHome -da ev köməkçisi tipli bir sensor yaradırıq. Kim təxmin edərdi?

Varlıq id konfiqurasiya.yaml faylınızda qurduğunuzla uyğun olmalıdır.

ESPHome -un bu sensora çoxlu düşüncə tərzinə istinad etməsi üçün bir id qurdum.

Adım 6: Adım 6: Biraz vaxt əlavə edək

Addım 6: Biraz vaxt əlavə edək
Addım 6: Biraz vaxt əlavə edək

Beləliklə, bu zamanlanmış bir fiş olması ilə … Əslində bir az vaxt əlavə edək … Yoxsa çıxarmaq olar? İndi keçmişdədir?

Burada zaman komponentinin bəzi əsasları var. Fərqli birini seçə bilərik, amma mən ev köməkçisini seçdim. Çox asan?

esphome.io/components/time.html

Adım 7: Adım 7: Aralıq

Addım 7: Aralıq
Addım 7: Aralıq

Xeyr, bu fasilə deyil, yoxsa?

interval:

- interval: 1sn

sonra:

- lambda: |-

id (gl_ft_start_hr) = id (id_ft_start_hr).dövlət;

Sensor dəyərini ev köməkçisindən qlobal dəyişənə yazmaq üçün 1 saniyəlik bir vaxt təyin etdim.

Vaxt keçdikcə bunu saniyədə bir dəfə etmək istəyirəm… gənə tock

Adım 8: Adım 8: Deməli, Vaxtımız və Pulumuz Var… Sonra nə edək?

Addım 8: Beləliklə, Vaxtımız və Pulumuz Var … Sonra nə olacaq?
Addım 8: Beləliklə, Vaxtımız və Pulumuz Var … Sonra nə olacaq?

Buna görə açar keçid açarını açma vaxtının olub olmadığını təyin etmək üçün ikili sensor şablonundan istifadə etmək qərarına gəldim … rölesi

İd ilə üç açar yaratdım: start_time_valid, stop_time_valid və run_time_valid

start_time_valid, röleyi açmaq üçün qurulmuş vaxt keçdikdə doğrudur.

Lazım olan saniyələrə, daha sonra dəqiqələrə və nəhayət saata bərabər olub -olmamağımızı yoxlamaq üçün yuvalı if ifadələrini istifadə etdim.

stop_time_valid, anahtarı söndürmək üçün vaxt təyin edilməmişdir. Bu, röleyi söndürmək üçün lazım olan vaxtın keçmədiyini yoxlamaq üçün tərsinə çevrilir

run_time_valid həm start_time_valid, həm də stop_time_valid doğru olduqda doğru olur. Düşünürəm ki, bunun üçün normal və şərtdən istifadə edə bilərdim. Sadəcə lambdalarla işlərin yelləncəsinə düşdüm.

- platforma: şablon

adı: "Başlama vaxtı keçərlidir"

id: start_time_valid

lambda: |-

əgər (id (homeassistant_time).now (). saat> id (gl_ft_start_hr)) {

doğru qayıtmaq;

}

başqa halda (id (homeassistant_time).now (). hour == id (gl_ft_start_hr) &&

id (homeassistant_time).now (). dəqiqə> id (gl_ft_start_mn)) {

doğru qayıtmaq;

}

başqa halda (id (homeassistant_time).now (). hour == id (gl_ft_start_hr) &&

id (homeassistant_time).now (). dəqiqə == id (gl_ft_start_mn) &&

id (homeassistant_time).now (). second> = id (gl_ft_start_ss)) {

doğru qayıtmaq;

}

başqa {

saxta qayıtmaq;

}

Addım 9: Adım 9: İndi Bəzi Ssenarilər üçün: 'Olmaq və ya Olmamaq: Bu Sualdır'

Addım 9: İndi Bəzi Ssenarilər üçün: 'Olmaq və ya Olmamaq: Sual budur'
Addım 9: İndi Bəzi Ssenarilər üçün: 'Olmaq və ya Olmamaq: Sual budur'

Hmm səhv ssenari dostum!

Beləliklə, açarı bağlasam… və ya evin gücü yenidən açılsa, açarın açılmasının və ya söndürülməsinin lazım olduğunu bilməsini və buna uyğun hərəkət etməsini istədim. (bəli, hamımız aktyorluq dərslərinə gedirik)

İlk skript identifikatoru: checkingstatuson, üzərində olmaq istədiyimizi və buna uyğun hərəkət etməyimizi yoxlayır. Bu skriptin yalnız bir dəfə işlədilməsini və digər skriptlərimin oyunda öz rollarını oynamasına mane olmamasını təmin etmək üçün id: trackingon ilə qlobal bir bayraq da daxil etdim.

Bunun 3 və şərti var: röle söndürüldü, açıldı və mən artıq öz üzərimə düşəni etməmişəm. Bu, işləyən digər skriptləri söndürəcək, röleyi açacaq və izləmə bayraqlarını təyin edəcək.

İkinci skript id: checkingstatusoff, birincinin tam əksidir. İndi pərdələri bağlamağımız lazım olub olmadığını yoxlayırıq. Bunun izləmə bayrağı izləmədir

Hər saniyəni yoxlamaq üçün bu iki skripti 1 saniyəlik müddətdə işlədirəm.

Addım 10: Adım 10: Bəzi Bonus Skriptləri

Addım 10: Bəzi Bonus Skriptləri
Addım 10: Bəzi Bonus Skriptləri

Əlavə etmək istədiyim daha iki xüsusiyyət, tankdakı işığı söndürsəm, işığın o vaxt yanması üçün 5 saniyədən sonra yenidən açılacağıdır. Ayrıca, işıq sönsə və balıklarımı görmək üçün onu açmaq istəsəm və vaxtında təyin olunmamışsa, 5 dəqiqə yandırılacaq. Bəli 5 dəqiqə kifayət qədər uzun … İşə qayıdın.

İlk skript identifikatoru: vaxtında söndürüldükdə relayisoff işığı 5 dəqiqə yandıracaq və sonra sönəcək.

İkinci skript identifikatoru: relayison praktiki olaraq birincisindən geri çevrilir və işığı 5 saniyə sonra yandırılacağı təqdirdə yenidən yandırır. Kim dedi ki, mənim cənab işığı söndürə bilərsiniz!

İşdə skriptlər haqqında daha çox məlumat:

esphome.io/guides/automations.html

Skriptlər haqqında bəzi bonus məlumatları blok etməmələridir. Bir lambda gecikdirməsəniz. Uh Xeyr Xeyr

Addım 11: Adım 11: Bəzi Son Düşüncələr

Addım 11: Bəzi Son Düşüncələr
Addım 11: Bəzi Son Düşüncələr
Addım 11: Bəzi Son Düşüncələr
Addım 11: Bəzi Son Düşüncələr

Ev köməkçisindən açarın düymə ilə eyni şəkildə hərəkət etməsini istədim.

İkili sensorun yerli açarına bir ad qoymadım, çünki ev köməkçisində itələdiyini görməyə ehtiyac yox idi.

Ev köməkçisindən keçid etmək üçün skriptlərdən istifadə etmək istədiyim üçün relay keçidinə bir ad qoymadım.

Ev köməkçisindən keçmək üçün istifadə edə biləcəyim bir ad ilə bir şablon açarı yaratdım. Skriptlərimi fişdəki yerli keçidlə eyni şəkildə işlədəcək.

Fiş hələ də düzgün işləyərsə ev köməkçisinin söndürülüb -söndürülmədiyini sınamamışam. Mən belə ümid edirəm. Home Assistant API ilə əlaqəni kəsərkən bəzi problemlər haqqında bəzi yazıları gördüm.

Ümid edirəm ki, bu kiçik dərslik sizə kömək edəcək və lütfən daha yaxşı olmağımda mənə kömək edə bilərsiniz. Mən mütəxəssis deyiləm və çox yavaş öyrənirəm. Sadəcə düşündüm ki, necə edəcəyimi öyrəndiyim bəzi şeylər orada olan kiməsə başa düşməkdə kömək edə bilər.

Günəşin doğuşuna və gün batmasına əsaslanaraq ev köməkçisinin vaxtını dəyişdirmək …+ - bir neçə

Tövsiyə: