Obsah:

Časované svetlo ESPHOME SONOF S26: 11 krokov (s obrázkami)
Časované svetlo ESPHOME SONOF S26: 11 krokov (s obrázkami)

Video: Časované svetlo ESPHOME SONOF S26: 11 krokov (s obrázkami)

Video: Časované svetlo ESPHOME SONOF S26: 11 krokov (s obrázkami)
Video: Elektroměr měření energie sonoff SO ESPHome Home Assistant 2024, Júl
Anonim
Časované svetlo ESPHOME SONOF S26
Časované svetlo ESPHOME SONOF S26

Dobrý deň. Mám teda svetlo nádrže na ryby, ktoré chcem v určitú dennú dobu zapnúť a vypnúť. Jednoducho som si to musel skomplikovať sám. Chcem mať možnosť zmeniť čas zapnutia a vypnutia z hlavného panela Home Assistant. Možno ešte viac.

Pozrime sa teda, o koľko viac sa môžem dostať do králičej nory.

Krok 1: Krok 1: Potrebujem spôsob, ako odoslať asistentovi časy z domu

Nejaké googlovanie pomáha. Niektoré vytrhávanie vlasov vám pomôžu, ak nejaké skutočne máte: POpen môj doplnok Visual Studio Code Editor. V priečinku Config nájdite súbor configuration.yaml a skopírujte a prilepte niektoré veci, ktoré som našiel skryté v nejakom fóre. Ospravedlňujem sa, ak som si spomenul, dal by som uznanie. Bol pridaný kód a reštartovaný domáci asistent.

Krok 2: Krok 2: Do súboru Configuration.yaml bol pridaný nasledujúci kód

Krok 2: Do súboru Configuration.yaml bol pridaný nasledujúci kód
Krok 2: Do súboru Configuration.yaml bol pridaný nasledujúci kód

vstupné_číslo:

ft_start_hr:

názov: FT Light Start Hours

ikona: mdi: spustenie hodín

min: 0

max: 23

krok 1

# počiatočné: 13

Prvý riadok bude ID entity vstupného čísla.

Ďalej potrebujeme niekoľko podrobností o tomto malom chlapcovi:

Názov bude úžasný: Ľahké štartovacie hodiny FT pre túto P. S. FT je pre Fish Tank … Nie je to to, čo ste si mysleli, že?

Ďalej je voliteľná ikona. Možností je veľa, takže sa vybláznite … alebo nie.

Potom môžeme zadať minimálnu, maximálnu a krokovú hodnotu. Pretože sú to hodiny, vybral som 0 - 23 s jednotlivými krokmi.

Pôvodne som mal počiatočnú hodnotu a keď sa domáci asistent reštartoval, zmení sa na túto počiatočnú hodnotu. Rozhodol som sa to komentovať, pretože som chcel, aby sa Home Assistant pokúsil zapamätať si poslednú hodnotu, ktorú som preň nastavil.

Môžete prepnúť do režimu a vybrať pole. Štandardne vám však vyberie pekný posúvač. Myslím, že zatiaľ posúvač poslúži.

Dávajte si pozor na priehlbiny, pretože sú veľmi dôležité. Pozrite si obrázok

Vďaka tomu vám entity v domácom asistentovi umožnia prispôsobiť sa.

Tu je odkaz na ďalšie informácie o vstupných číslach:

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

Krok 3: Krok 3: Teraz potrebujeme získať informácie do rozhrania ESPHOME API

Krok 3: Teraz potrebujeme získať informácie do rozhrania ESPHOME API
Krok 3: Teraz potrebujeme získať informácie do rozhrania ESPHOME API

senzor:

- platforma: šablóna

senzory:

ft_start_hr:

šablóna hodnoty: '{{States.input_number.ft_start_hr.state | int}} '

n

To poskytne rozhraniu ESPHome API požadované pripojenie, ako aj to, že teraz je namiesto efektného posúvača textu celé číslo:-P

Tu vstupuje do stavu vstupného čísla a prevádza sa na celé číslo a ukladá sa do senzora.

Tu je niekoľko ďalších informácií o šablónach:

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

Ach, zmenil som príponu súboru svojho súboru na text, aby som ho mohol nahrať … Instructables môže byť zničiteľné pomocou yaml …

Krok 4: Krok 4: Konfigurácia systému ESPHome zapojením teraz

Krok 4: Takže konfigurácia ESPHome Plug Now
Krok 4: Takže konfigurácia ESPHome Plug Now

Začal som so základnou konfiguráciou zástrčky s-on-off a potom som začal drotať.

Nebudem sa podrobne zaoberať tým, ako zasunúť zástrčku S26 do systému ESPHome, pretože Google má všetky odpovede.

Na konci bude možné stiahnuť môj úplný konfiguračný súbor. Da Da Dah…

Začnime teda prepojenou časťou s Home Assistant:

Musíme vytvoriť senzory, ktoré sa zhodujú so senzormi v domácom asistentovi, aby mohli spolu hovoriť.

Krok 5: Krok 5: Pripojenie ESPHome Home Assistant … Vyžarujte ma, Scotty

Krok 5: Pripojenie domáceho asistenta ESPHome … Preneste ma do Scotty
Krok 5: Pripojenie domáceho asistenta ESPHome … Preneste ma do Scotty

senzor:

- platforma: odolná voči domácemu prostrediu

entity_id: sensor.ft_start_hr

id: id_ft_start_hr

Teraz teda v ESPHome vytvoríme senzor typu homeassistant. Kto by to bol tipoval

ID entity sa bude musieť zhodovať s tým, čo ste nastavili v súbore configuration.yaml.

Nastavil som id tak, aby ESPHome mohol odkazovať na tento senzor v množstve myslenia.

Krok 6: Krok 6: Pridajme trochu času

Krok 6: Poďme pridať nejaký čas
Krok 6: Poďme pridať nejaký čas

Takže keď ide o načasovanú zástrčku … Skutočne pridajme nejaký čas … Alebo sa odpočíta? Je to teraz v minulosti?

Tu sú niektoré základy časovej zložky. Môžeme si vybrať niekoľko rôznych, ale ja som si vybral homeassistant. Príliš ľahké?

esphome.io/components/time.html

Krok 7: Krok 7: Interval

Krok 7: Interval
Krok 7: Interval

Nie, nie je to prestávka, alebo áno?

interval:

- interval: 1 sek

potom:

- lambda: |-

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

Nastavil som teda interval 1 sekundu na zapísanie hodnoty senzora z domáceho asistenta do globálnej premennej.

Chcem to urobiť len raz za sekundu, pretože čas beží … tik tock

Krok 8: Krok 8: Aby sme mali čas a peniaze … Čo ďalej?

Krok 8: Aby sme mali čas a peniaze … Čo ďalej?
Krok 8: Aby sme mali čas a peniaze … Čo ďalej?

Rozhodol som sa teda použiť šablónu binárneho senzora, aby som určil, či je čas zapnúť spínač spínača … relé

Vytvoril som tri prepínače s identifikátormi: start_time_valid, stop_time_valid a run_time_valid

start_time_valid je pravdivé, keď je teraz viac času nastaveného na zapnutie relé.

Použil som vnorené príkazy if, aby som skontroloval, či sme väčšie alebo rovné požadovaným sekundám, potom minútam a nakoniec hodinám.

stop_time_valid je true, keď je teraz, než je nastavený čas na vypnutie spínača. Toto je obrátené pri kontrole, že teraz neprešiel požadovaný čas na vypnutie relé

run_time_valid je true, ak sú true aj start_time_valid a stop_time_valid. Predpokladám, že som na to mohol použiť normálny stav. Práve som sa dostal do swingu vecí s lambdami.

- platforma: šablóna

názov: "Čas začiatku platnosti"

id: start_time_valid

lambda: |-

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

návrat true;

}

else if (id (homeassistant_time). now (). hour == id (gl_ft_start_hr) &&

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

návrat true;

}

else 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)) {

návrat true;

}

inak {

return false;

}

Krok 9: Krok 9: Teraz niektoré skripty: „Byť alebo nebyť: To je otázka“

Krok 9: Teraz niektoré skripty: „Byť alebo nebyť: To je otázka“
Krok 9: Teraz niektoré skripty: „Byť alebo nebyť: To je otázka“

Hmm zlý scenár kámo!

Ak som teda zapojil vypínač … alebo sa práve zaplo napájanie domu, chcel som, aby vypínač vedel, či má byť zapnutý alebo vypnutý, a podľa toho sa správal. (áno, všetci chodíme na hodiny herectva)

Prvé ID skriptu: checkingstatuson je kontrola, či máme byť zapnutý a podľa toho sa správať. Tiež som pridal globálny príznak s id: trackingon, aby som zaistil, že tento skript sa spustí iba raz a nebude brániť mojim ďalším skriptom v ich úlohe v hre.

To má 3 a podmienky: relé je vypnuté, má byť zapnuté a ja som ešte neurobil svoju časť. To potom vypne všetky ostatné spustené skripty, zapne relé a nastaví vlajky sledovania.

Druhé ID skriptu: checkstatusoff je pravým opakom prvého. Len kontrolujeme, či teraz musíme zatiahnuť závesy. Sledovací príznak pre tento je trackingoff

Tieto dva skripty spúšťam v intervale 1 sekundy, aby som skontroloval každú sekundu.

Krok 10: Krok 10: Niektoré bonusové skripty

Krok 10: Niektoré bonusové skripty
Krok 10: Niektoré bonusové skripty

Ďalšie dve funkcie, ktoré som chcel pridať, bolo, že ak som na nádrži vypol svetlo, po 5 sekundách sa znova zapne, ak sa v tom čase chce svetlo rozsvietiť. Tiež, ak by svetlo zhaslo a chcel by som ho zapnúť, aby som videl moje ryby, a bolo mimo stanoveného času, zapne sa na 5 minút. Áno, 5 minút je dosť dlho … Vráťte sa do práce.

Prvé ID skriptu: relayisoff zapne svetlo na 5 minút, ak je vypnuté naplánované načas a potom sa vypne.

Druhý skript id: reléison je prakticky obrátený k prvému a ak má byť zapnuté, svetlo znova zapne o 5 sekúnd neskôr. Kto povedal, že môžete vypnúť môjho svetelného pána!

Tu je niekoľko ďalších informácií o skriptoch:

esphome.io/guides/automations.html

Niektoré bonusové informácie o skriptoch sú, že neblokujú. Pokiaľ neodložíte lambda. Uhh Nie Nie Nie

Krok 11: Krok 11: Niektoré záverečné myšlienky

Krok 11: Niektoré záverečné myšlienky
Krok 11: Niektoré záverečné myšlienky
Krok 11: Niektoré záverečné myšlienky
Krok 11: Niektoré záverečné myšlienky

Od domáceho asistenta som chcel, aby prepínač fungoval rovnako ako tlačidlo.

Nedal som názov miestneho prepínača binárnych senzorov, pretože nebolo potrebné vidieť, ako je zatlačený v domácom asistentovi.

Nedal som názov reléovému spínaču, pretože som chcel použiť skripty na prepnutie z domáceho asistenta.

Vytvoril som prepínač šablóny s názvom, aby som ho mohol použiť na prepnutie z domáceho asistenta. Spustí moje skripty rovnako ako lokálny prepínač na zástrčke.

Netestoval som, či vypnutie domáceho asistenta, ak zástrčka bude stále správne fungovať. V to dúfam Videl som niekoľko príspevkov o niektorých problémoch pri strate pripojenia k rozhraniu Home Assistant API.

Naozaj dúfam, že vám tento malý návod pomôže a neváhajte mi ho pomôcť vylepšiť. Nie som odborník a učím sa veľmi pomaly. Myslel som si, že niektoré veci, ktoré som sa naučil, môžu pomôcť niekomu tam vonku, kto má problém prísť na to.

Teraz zmeňte časy v domácom asistentovi na základe východu a západu slnka …+ - niekoľko

Odporúča: