Sadržaj:

Vremensko svjetlo ESPHOME SONOF S26: 11 koraka (sa slikama)
Vremensko svjetlo ESPHOME SONOF S26: 11 koraka (sa slikama)

Video: Vremensko svjetlo ESPHOME SONOF S26: 11 koraka (sa slikama)

Video: Vremensko svjetlo ESPHOME SONOF S26: 11 koraka (sa slikama)
Video: Woox Smart Bulb R5085 pametna žarulja – bežično upravljajte svjetlom (21.01.2022) 2024, Studeni
Anonim
ESPHOME SONOF S26 Vremensko svjetlo
ESPHOME SONOF S26 Vremensko svjetlo

Dobar dan. Tako da imam svjetlo za akvarij koje želim uključiti i isključiti u određeno doba dana. Morala sam si samo zakomplicirati. Želim moći promijeniti vrijeme uključivanja i isključivanja s nadzorne ploče kućnog pomoćnika. Možda čak i više.

Pa samo da vidimo koliko još mogu ući u zečju rupu.

Korak 1: Korak 1: Trebam način da pošaljem vremena od kućnog pomoćnika

Malo googlanje pomaže. Neka vam čupanja kose pomažu, ako ih zaista imate: PO otvorite moj dodatak Visual Studio Code Editor. U mapi Config pronađite datoteku configuration.yaml te kopirajte i zalijepite neke stvari koje sam pronašao skrivene na nekom forumu. Oprosti ako sam se sjetio, dao bih priznanje. Dodao je kôd i ponovno pokrenuo kućnog pomoćnika.

Korak 2: Korak 2: Dodao je sljedeći kôd u Configuration.yaml

Korak 2: Dodao je sljedeći kôd u Configuration.yaml
Korak 2: Dodao je sljedeći kôd u Configuration.yaml

ulazni_broj:

ft_start_hr:

naziv: Sati početka rada FT Light

ikona: mdi: start-sat

min: 0

maks.: 23

korak 1

# početno: 13

Prvi redak bit će ID entiteta ulaznog broja.

Zatim nam trebaju neki detalji za ovog malog frajera:

Ime će biti sjajno: FT Light Start Hours za ovaj P. S. FT je za Fish Tank … Nije ono što ste mislili, zar ne?

Slijedi izborna ikona. Ima puno toga za izabrati pa poludjeti … ili ne.

Tada možemo unijeti vrijednost min, max i step. Kako su ovo sati, odabrao sam 0 - 23 s jednim korakom.

U početku sam imao početnu vrijednost, a kad bi se kućni pomoćnik ponovno pokrenuo, promijenio bi je u ovu početnu vrijednost. Odlučio sam to komentirati jer sam htio da kućni pomoćnik pokuša zapamtiti posljednju vrijednost koju sam mu postavio.

Možete staviti u način rada za odabir kutije. Ali prema zadanim postavkama odabire lijepi klizač za vas. Mislim da će za sada poslužiti klizač.

Budite svjesni udubljenja jer su vrlo važna. Pogledajte sliku

Dakle, oni će vam dati entitete u kućnom pomoćniku da se možete prilagoditi.

Evo veze do više informacija o ulaznim brojevima:

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

Korak 3: Korak 3: Sada moramo dobiti informacije do ESPHOME API -ja

Korak 3: Sada moramo dobiti informacije u ESPHOME API
Korak 3: Sada moramo dobiti informacije u ESPHOME API

senzor:

- platforma: predložak

senzori:

ft_start_hr:

predložak vrijednosti: '{{states.input_number.ft_start_hr.state | int}} '

n

To će omogućiti ESPHome API-ju potrebnu vezu, kao i sada je cijeli broj umjesto otmjenog klizača za tekst:-P

Ovdje se uzima stanje ulaznog broja i pretvara u cijeli broj i pohranjuje u senzor.

Evo još nekih informacija o predlošcima:

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

Oh, promijenio sam proširenje datoteke svoje datoteke u tekst kako bih ga mogao prenijeti … Instrukcije se mogu uništiti s yaml -om …

Korak 4: Korak 4: Dakle, ESPHome konfiguracija Plug Now

Korak 4: Dakle, ESPHome konfiguracija priključka sada
Korak 4: Dakle, ESPHome konfiguracija priključka sada

Počeo sam s osnovnom konfiguracijom za s-on-off utikač, a zatim sam počeo petljati.

Neću ulaziti u detalje o tome kako spojiti utikač S26 s ESPHomeom jer google ima sve odgovore.

Moja će puna konfiguracijska datoteka biti dostupna za preuzimanje na kraju. Da Da Dah…

Pa počnimo s povezanim dijelom s Home Assistantom:

Moramo stvoriti senzore koji odgovaraju senzorima kućnog pomoćnika kako bi mogli međusobno razgovarati.

Korak 5: Korak 5: Povezivanje ESPHome kućnog pomoćnika … Beam Me Up Scotty

Korak 5: Povezivanje ESPHome kućnog pomoćnika … Beam Me Up Scotty
Korak 5: Povezivanje ESPHome kućnog pomoćnika … Beam Me Up Scotty

senzor:

- platforma: kućni pomoćnik

entity_id: sensor.ft_start_hr

id: id_ft_start_hr

Tako sada stvaramo senzor u ESPHomeu tipa homeassistant. Tko bi mogao pretpostaviti?

ID entiteta morat će se podudarati s onim što ste postavili u datoteci configuration.yaml.

Postavio sam id kako bi ESPHome mogao upotrijebiti ovaj senzor u svom obilju razmišljanja.

Korak 6: Korak 6: Omogućuje dodavanje vremena

Korak 6: Omogućimo dodavanje vremena
Korak 6: Omogućimo dodavanje vremena

Dakle, budući da je ovo vremenski utikač … Omogućimo zapravo dodavanje nekog vremena … Ili se oduzima? Je li to sada u prošlosti?

Evo nekoliko osnova vremenske komponente. Možemo izabrati neke različite, ali ja sam odabrala pomoćnika za kuću. Prelako?

esphome.io/components/time.html

Korak 7: Korak 7: Interval

Korak 7: Interval
Korak 7: Interval

Ne, nije pauza, ili je tako?

interval:

- interval: 1 sekunda

zatim:

- lambda: |-

id (gl_ft_start_hr) = id (id_ft_start_hr).stanje;

Zato sam postavio interval od 1 sekunde za pisanje vrijednosti senzora od kućnog pomoćnika do globalne varijable.

Samo želim ovo učiniti jednom u sekundi kako vrijeme otkucava … tik tak

Korak 8: Korak 8: Dakle, imamo vremena i novca … Što je sljedeće?

Korak 8: Dakle, imamo vremena i novca … Što je sljedeće?
Korak 8: Dakle, imamo vremena i novca … Što je sljedeće?

Stoga sam odlučio upotrijebiti predložak binarnog senzora kako bih utvrdio je li vrijeme za uključivanje prekidača … releja

Napravio sam tri prekidača s ID -ovima: start_time_valid, stop_time_valid i run_time_valid

start_time_valid je istina kada je prošlo vrijeme postavljeno za uključivanje releja.

Koristio sam ugniježđene if naredbe da provjerim jesu li veće ili jednake potrebnim sekundama, zatim minutama i na kraju satima.

stop_time_valid je istinito kada je sada prije nego što je vrijeme postavljeno za isključivanje prekidača. Ovo je obrnuto za provjeru da sada nije prošlo potrebno vrijeme za isključivanje releja

run_time_valid je istina kada su i start_time_valid i stop_time_valid točni. Pretpostavljam da sam za ovo mogao koristiti samo normalno stanje. Upravo sam ušao u zamah s lambdama.

- platforma: predložak

naziv: "Vrijeme početka valjano"

id: start_time_valid

lambda: |-

if (id (homeassistant_time).now (). hour> id (gl_ft_start_hr)) {

return true;

}

inače if (id (homeassistant_time).now (). hour == id (gl_ft_start_hr) &&

id (homeassistant_time).now (). minute> id (gl_ft_start_mn)) {

return true;

}

inače if (id (homeassistant_time).now (). hour == id (gl_ft_start_hr) &&

id (homeassistant_time).now (). minute == id (gl_ft_start_mn) &&

id (homeassistant_time).now (). second> = id (gl_ft_start_ss)) {{100} {101}

return true;

}

drugo {

return false;

}

Korak 9: Korak 9: Sada za neke skripte: 'Biti, ili ne biti: to je pitanje'

Korak 9: Sada za neke skripte: 'Biti, ili ne biti: to je pitanje'
Korak 9: Sada za neke skripte: 'Biti, ili ne biti: to je pitanje'

Hmm kriva skripta stari!

Dakle, ako sam uključio prekidač … ili se kućno napajanje samo ponovo uključilo, htio sam da prekidač zna ima li namjeru biti uključen ili isključen i da se ponaša u skladu s tim. (da, svi idemo na satove glume)

Prvi skriptni ID: checkstatuson, provjerava da li smo uključeni i djelujemo li u skladu s tim. Uključio sam i globalnu zastavu s id: trackingon, kako bi se osiguralo da se ova skripta pokrene samo jednom i ne ometa moje druge skripte u obavljanju njihove uloge u predstavi.

Ovo ima tri uvjeta: relej je isključen, znači da je uključen, a ja već nisam odradio svoj dio posla. Time ćete isključiti sve druge skripte koje se izvode, uključiti relej i postaviti zastavice za praćenje.

Drugi id skripte: checkstatusoff, upravo je suprotan od prvog. Samo provjeravamo moramo li sada zatvoriti zastore. Zastavica praćenja za ovaj je praćenje

Pokrećem ove dvije skripte u intervalu od 1 sekunde da provjerim svaku sekundu.

Korak 10: Korak 10: Neke bonus skripte

Korak 10: Neke bonus skripte
Korak 10: Neke bonus skripte

Još dvije značajke koje sam želio dodati bile su, ako sam isključio svjetlo u spremniku, da će se ponovno uključiti nakon 5 sekundi ako se misli da će svjetlo biti upaljeno u to vrijeme. Također, ako je svjetlo bilo isključeno i htio sam ga upaliti da vidim svoje ribice, a on nije bio na rasporedu na vrijeme, uključio bi se na 5 minuta. Da, 5 minuta je dovoljno dugo … Vratite se na posao.

Prva skripta id: relayisoff uključit će svjetlo na 5 minuta ako je isključeno prema rasporedu na vrijeme, a zatim će se isključiti.

Druga skripta id: relej je praktički obrnuta od prve i ponovno će uključiti svjetlo 5 sekundi kasnije ako je namjeravana biti uključena. Tko je rekao da mi možete isključiti svjetlo gospodine!

Evo još nekih informacija o skriptama:

esphome.io/guides/automations.html

Neki bonus podaci o skriptama su da ne blokiraju. Osim ako ne stavite odgodu u lambda. Uh Ne Ne Ne Ne

Korak 11: Korak 11: Neke završne misli

Korak 11: Neke završne misli
Korak 11: Neke završne misli
Korak 11: Neke završne misli
Korak 11: Neke završne misli

Od kućnog pomoćnika želio sam da prekidač djeluje na isti način kao i gumb.

Nisam dao naziv lokalnoj sklopki binarnog senzora jer nisam morao vidjeti da se gura u kućnom pomoćniku.

Nisam stavio naziv relejnog prekidača jer sam želio koristiti skripte za prebacivanje s kućnog pomoćnika.

Napravio sam prekidač predloška s imenom kako bih ga mogao koristiti za prebacivanje s kućnog pomoćnika. Pokretat će moje skripte isto kao i lokalni prekidač na priključku.

Nisam testirao isključuje li kućni pomoćnik ako će utikač i dalje raditi ispravno. Nadam se. Vidio sam neke postove o nekim problemima pri gubitku veze s API -jem kućnog pomoćnika.

Iskreno se nadam da će vam ovaj mali vodič pomoći i slobodno mi pomozite da to učinim boljim. Nisam stručnjak i učim vrlo sporo. Samo sam mislio da neke stvari koje sam naučio raditi mogu pomoći nekome tko se bori da to shvati.

Sada za promjenu vremena u kućnom pomoćniku na temelju izlaska i zalaska sunca …+ - nekoliko

Preporučeni: