Sisukord:

ESPHOME SONOF S26 ajastatud valgus: 11 sammu (piltidega)
ESPHOME SONOF S26 ajastatud valgus: 11 sammu (piltidega)

Video: ESPHOME SONOF S26 ajastatud valgus: 11 sammu (piltidega)

Video: ESPHOME SONOF S26 ajastatud valgus: 11 sammu (piltidega)
Video: Sonoff S26 Pinout 2021 version | Tasmota | Подключение с паяльником. 2024, Juuli
Anonim
ESPHOME SONOF S26 Ajastatud valgus
ESPHOME SONOF S26 Ajastatud valgus

Head päeva. Nii et mul on akvaariumi tuli, mida ma tahan teatud kellaajal sisse ja välja lülitada. Ma pidin selle lihtsalt enda jaoks keeruliseks tegema. Soovin, et saaksin oma koduabilise armatuurlaual muuta sisselülitamise ja väljalülitamise aega. Võib -olla isegi rohkem.

Nii et vaatame, kui palju ma veel jäneseauku saan.

1. samm: 1. samm: mul on vaja aega koduse assistendilt aega saata

Mõni googeldamine aitab. Mõni juuste väljatõmbamine aitab, kui teil seda tegelikult on: POA avage minu Visual Studio koodiredaktori lisandmoodul. Leidke kausta Konfiguratsioon alt fail config.yaml ning kopeerige ja kleepige mõned asjad, mille leidsin mõnest foorumist peidetuna. Vabandan, kui meelde tuleb, annan tunnustuse. Lisas koodi ja taaskäivitas koduabilise.

2. etapp: 2. samm: lisati järgmine kood saidile Configuration.yaml

Samm 2: Lisati järgmine kood saidile Configuration.yaml
Samm 2: Lisati järgmine kood saidile Configuration.yaml

sisendnumber:

ft_start_hr:

nimi: FT kerge algusaeg

ikoon: mdi: kella algus

min: 0

max: 23

samm 1

# esialgne: 13

Esimene rida on sisendnumbri olemi ID.

Järgmisena vajame selle väikese kuti jaoks mõningaid üksikasju:

Nimi on vinge: FT Light Start Hours for this one P. S. FT on Fish Tank jaoks … Mitte see, mida sa arvasid, eks?

Järgmine on valikuline ikoon. Seal on palju valida, nii et minge hulluks … või mitte.

Siis saame sisestada min, max ja sammu väärtuse. Kuna see on tund, valisin ühe sammuga 0–23.

Esialgu oli mul algväärtus ja kui koduabiline taaskäivitas, muudaks see selle algväärtuseks. Otsustasin seda kommenteerida, kuna soovisin, et Home Assistant prooviks meelde jätta viimast väärtust, mille ma sellele seadsin.

Saate kasti valimiseks režiimi lülitada. Kuid vaikimisi valib see teile kena liuguri. Ma arvan, et liugur teeb seda praegu.

Olge teadlik taanetest, kuna need on väga olulised. Vaadake pilti

Nii et need annavad teile koduses assistendis olemid, mida saate kohandada.

Siin on link sisendnumbrite kohta lisateabe saamiseks:

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

3. samm: 3. samm: nüüd peame teabe hankima ESPHOME API -sse

Samm: nüüd peame teabe hankima ESPHOME API -sse
Samm: nüüd peame teabe hankima ESPHOME API -sse

andur:

- platvorm: mall

andurid:

ft_start_hr:

value_template: '{{States.input_number.ft_start_hr.state | int}} '

n

See annab ESPHome API-le vajaliku ühenduse, samuti on see nüüd väljamõeldud teksti liuguri asemel täisarv:-P

Siin võtab see sisendnumbri oleku ja teisendab selle täisarvuks ning salvestab selle andurisse.

Siin on lisateavet mallide kohta:

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

Oh, muutsin oma faili faililaiendi tekstiks, et saaksin selle üles laadida … Juhitavad failid võivad olla yamliga hävitavad …

Samm 4: Samm 4: Nii et ESPHome'i pistiku seadistamine kohe

Samm 4: Nii et ESPHome'i pistiku seadistamine kohe
Samm 4: Nii et ESPHome'i pistiku seadistamine kohe

Alustasin s-on-off pistiku baaskonfiguratsiooniga ja hakkasin siis nokitsema.

Ma ei hakka üksikasjalikult kirjeldama, kuidas S26 pistikut ESPHome'iga välgutada, kuna Google'il on kõik vastused.

Minu täielik konfiguratsioonifail on lõpus allalaadimiseks saadaval. Da Da Dah…

Alustame siis koduabilisega lingitud osast:

Peame looma andurid, mis sobivad koduabilise anduritega, et nad saaksid omavahel rääkida.

5. samm: 5. samm: ESPHome'i koduabilise ühendus … Beam Me Up Scotty

Samm: ESPHome'i koduabilise ühendus… Beam Me Up Scotty
Samm: ESPHome'i koduabilise ühendus… Beam Me Up Scotty

andur:

- platvorm: koduabiline

üksuse_id: sensor.ft_start_hr

id: id_ft_start_hr

Nüüd loome ESPHome'i tüüpi koduabilise anduri. Kes oleks osanud arvata?

Olemi ID peab vastama sellele, mille olete seadistanud failis configuration.yaml.

Seadistasin id, et ESPHome saaks sellele andurile oma arvukuses viidata.

6. samm: 6. samm: lisame veidi aega

6. samm: lisame veidi aega
6. samm: lisame veidi aega

Nii et see on ajastatud pistik … Lisame tegelikult natuke aega … Või lahutatakse? Kas see on nüüd minevik?

Siin on mõned ajakomponendi põhitõed. Võime valida mõned erinevad, kuid mina valisin koduabilise. Liiga lihtne?

esphome.io/components/time.html

7. samm: 7. samm: intervall

Samm: intervall
Samm: intervall

Ei, see pole paus või on?

intervall:

- intervall: 1 sekund

siis:

- lambda: |-

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

Seega määrasin 1 -sekundilise intervalli, et kirjutada anduri väärtus kodust assistendist globaalsele muutujale.

Ma tahan seda teha vaid korra sekundis, kuna aeg tiksub … tiksu

8. samm: 8. samm: nii et meil on aega ja raha… mis edasi?

8. samm: nii et meil on aega ja raha… mis edasi?
8. samm: nii et meil on aega ja raha… mis edasi?

Nii otsustasin kasutada binaarsensori malli, et teha kindlaks, kas on aeg lüliti lüliti lüliti… relee sisse lülitada

Lõin kolm lülitit ID -dega: start_time_valid, stop_time_valid ja run_time_valid

start_time_valid on tõene, kui relee sisselülitamiseks määratud aeg on juba möödas.

Kasutasin pesastatud if -avaldusi, et kontrollida, kas oleme nõutud sekunditest suuremad või võrdsed, seejärel minutid ja lõpuks tunnid.

stop_time_valid on tõene, kui praegu on aeg lüliti välja lülitada. See on vastupidine, et kontrollida, kas nüüd pole relee väljalülitamiseks vajalik aeg möödas

run_time_valid on tõene, kui nii start_time_valid kui ka stop_time_valid on tõesed. Ma arvan, et oleksin võinud selle jaoks lihtsalt tavalist ja tingimust kasutada. Sattusin just lambdadega asjade hoogu.

- platvorm: mall

nimi: "Kehtiv algusaeg"

id: start_time_valid

lambda: |-

if (id (koduabilise_aeg). nüüd (). tund> id (gl_ft_start_hr)) {

tagastama tõene;

}

muidu kui (id (koduabilise_aeg). now (). tund == id (gl_ft_start_hr) &&

id (koduabilise_aeg). nüüd (). minut> id (gl_ft_start_mn)) {

tagastama tõene;

}

muidu kui (id (koduabilise_aeg). now (). tund == id (gl_ft_start_hr) &&

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

id (koduabilise_aeg). now (). teine> = id (gl_ft_start_ss)) {

tagastama tõene;

}

muu {

tagastama vale;

}

Samm 9: samm 9: nüüd mõned skriptid: „Olla või mitte olla: see on küsimus”

Samm: nüüd mõned skriptid: „Olla või mitte olla: see on küsimus”
Samm: nüüd mõned skriptid: „Olla või mitte olla: see on küsimus”

Hmm, vale skript!

Nii et kui ma lüliti ühendasin… või maja toide tuli uuesti sisse, tahtsin, et lüliti teaks, kas see on mõeldud sisse või välja lülitamiseks ja käitub vastavalt. (jah, me kõik läheme näitlemistundidesse)

Esimene skripti ID: checkstatuson, kontrollib, kas oleme mõeldud kasutamiseks ja vastavalt käituma. Lisasin ka globaalse lipu ID: trackingoniga, tagamaks, et see skript käivitatakse ainult üks kord ja see ei takista mu teistel skriptidel oma osa näidendis täitmast.

Sellel on kolm tingimust: relee on välja lülitatud, see peab olema sisse lülitatud ja ma pole oma osa juba teinud. See lülitab seejärel välja kõik muud skriptid, lülitab relee sisse ja määrab jälgimislipud.

Teise skripti ID: statusstatoffoff, on täpselt vastupidine esimesele. Me lihtsalt kontrollime, kas peame nüüd kardinad sulgema. Selle jälgimislipp on jälgimine

Käivitan need kaks skripti 1 -sekundilise intervalliga, et iga sekund kontrollida.

Samm 10: samm 10: mõned boonusskriptid

Samm: mõned boonusskriptid
Samm: mõned boonusskriptid

Veel kaks funktsiooni, mida tahtsin lisada, oli see, et kui lülitan paagi valguse välja, lülitub see 5 sekundi pärast uuesti sisse, kui tuli peaks sel ajal põlema. Samuti lülitub see 5 minutiks sisse, kui tuli oli välja lülitatud ja ma tahtsin selle sisse lülitada, et näha oma kalakesi ja see oleks õigel ajal ajast väljas. Jah, 5 minutit on piisavalt pikk … Tagasi tööle.

Esimene skripti ID: relee lülitab valguse sisse 5 minutiks, kui see on ajaliselt välja lülitatud, ja lülitub seejärel välja.

Teine skripti ID: relee on praktiliselt vastupidine esimesele ja lülitab valguse 5 sekundi pärast uuesti sisse, kui see peaks olema sisse lülitatud. Kes ütles, et saate mu valgusmeister välja lülitada!

Siin on skriptide kohta lisateavet:

esphome.io/guides/automations.html

Skriptide lisateave on see, et need ei blokeeri. Kui te lambdaga viivitust ei pane. Oh ei, ei

11. samm: 11. samm: mõned lõplikud mõtted

11. samm: mõned lõplikud mõtted
11. samm: mõned lõplikud mõtted
11. samm: mõned lõplikud mõtted
11. samm: mõned lõplikud mõtted

Koduse assistendi soovisin, et lüliti toimiks samamoodi nagu nupp.

Ma ei pannud binaarsensori kohalikule lülitile nime, kuna ei pidanud nägema, et see kodukassistendis sisse lükatakse.

Ma ei pannud releelülitile nime, kuna tahtsin kasutada kodust assistendist ümberlülitamise skripte.

Lõin nimega mallilüliti, et saaksin seda kasutada koduabilise vahetamiseks. See käivitab minu skriptid samamoodi nagu pistiku kohalik lüliti.

Ma ei ole testinud, kas lülitan oma koduabilise välja, kui pistik ikka korralikult töötab. Ma loodan nii. Olen näinud mõningaid postitusi mõningate probleemide kohta, kui ühendus Home Assistant API -ga katkeb.

Loodan väga, et see väike õpetus aitab teid ja palun aidake mul seda paremaks muuta. Ma pole asjatundja ja õpin väga aeglaselt. Ma lihtsalt arvasin, et mõned asjad, mida ma õppisin tegema, võivad aidata kedagi, kes võitleb selle välja selgitamisega.

Nüüd muutke koduabilise aegu päikesetõusu ja -loojangu põhjal…+ - mõned

Soovitan: