Sisällysluettelo:

ESPHOME SONOF S26 Ajastettu valo: 11 vaihetta (kuvilla)
ESPHOME SONOF S26 Ajastettu valo: 11 vaihetta (kuvilla)

Video: ESPHOME SONOF S26 Ajastettu valo: 11 vaihetta (kuvilla)

Video: ESPHOME SONOF S26 Ajastettu valo: 11 vaihetta (kuvilla)
Video: Sonoff S26 Pinout 2021 version | Tasmota | Подключение с паяльником. 2024, Marraskuu
Anonim
ESPHOME SONOF S26 Ajastettu valo
ESPHOME SONOF S26 Ajastettu valo

Hyvää päivää. Minulla on siis akvaariovalo, jonka haluan kytkeä päälle ja pois päältä tietyn vuorokaudenajan. Minun oli vain tehtävä se monimutkaiseksi itselleni. Haluan pystyä muuttamaan käynnistymis- ja sammutusaikaa Home Assistant -hallintapaneelista. Ehkä jopa enemmän.

Joten katsotaanpa kuinka paljon enemmän voin viedä itseni kanin reikään.

Vaihe 1: Vaihe 1: Tarvitsen tavan lähettää ajat Home Assistantilta

Jotkut googlaukset auttavat. Jotkut hiustesi vetämisestä auttavat, jos sinulla niitä on: POAna Visual Studio Code Editor -lisäosani. Etsi Config -kansiosta config.yaml -tiedosto ja kopioi ja liitä joitain juttuja, jotka löysin piilotettuna joiltakin foorumeilta. Anteeksi, jos muistan, annan tunnustuksen. Lisäsi koodin ja käynnisti kodin avustajan uudelleen.

Vaihe 2: Vaihe 2: Lisäsi seuraavan koodin Configuration.yaml -tiedostoon

Vaihe 2: Lisäsi seuraavan koodin Configuration.yaml -tiedostoon
Vaihe 2: Lisäsi seuraavan koodin Configuration.yaml -tiedostoon

input_number:

ft_start_hr:

nimi: FT Light Start Hours

kuvake: mdi: kellon käynnistys

min: 0

enintään: 23

vaihe 1

# alkukirjain: 13

Ensimmäinen rivi on syötetyn numeron entiteetin tunnus.

Seuraavaksi tarvitsemme yksityiskohtia tälle pienelle kaverille:

Nimi on mahtava: FT Light Start Hours for this one P. S. FT on Fish Tank … Ei mitä ajattelit oikein?

Seuraava on valinnainen kuvake. Valittavana on paljon, joten hulluksi … tai ei.

Sitten voimme laittaa min, max ja step arvon. Koska tämä on tunti, valitsin 0 - 23 yhdellä askeleella.

Aluksi minulla oli alkuarvo ja kun kotiavustaja käynnisti sen uudelleen, se muutti sen tähän alkuarvoon. Päätin kommentoida sitä, koska halusin, että Home Assistant yrittää muistaa viimeksi asettamani arvon.

Voit asettaa tilan valitaksesi laatikon. Mutta oletusarvoisesti se valitsee sinulle mukavan liukusäätimen. Luulen, että liukusäädin tekee toistaiseksi.

Ole tietoinen sisennyksistä, koska ne ovat erittäin tärkeitä, katso kuva

Joten nämä antavat sinulle koti -avustajan kokonaisuuksia, joita voit säätää.

Tässä on linkki lisätietoihin syöttönumeroista:

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

Vaihe 3: Vaihe 3: Nyt meidän on saatava tiedot ESPHOME -sovellusliittymään

Vaihe 3: Nyt meidän on saatava tiedot ESPHOME -sovellusliittymään
Vaihe 3: Nyt meidän on saatava tiedot ESPHOME -sovellusliittymään

sensori:

- alusta: malli

anturit:

ft_start_hr:

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

n

Tämä antaa ESPHome-sovellusliittymälle tarvittavan yhteyden, ja se on nyt kokonaisluku hienon tekstiliukusäätimen sijaan:-P

Tässä se ottaa tulonumeron tilan ja muuntaa sen kokonaisluvuksi ja tallentaa sen anturiin.

Tässä on lisätietoja malleista:

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

Voi, muutin tiedostoni tiedostopääteksi tekstiksi, jotta voin ladata sen… Ohjattavat tiedostot voivat olla tuhoisia yamlilla…

Vaihe 4: Vaihe 4: Joten Plugin ESPHome -kokoonpano nyt

Vaihe 4: Joten Plug Now ESPHome Configuration
Vaihe 4: Joten Plug Now ESPHome Configuration

Aloitin peruskonfiguraatiolla s-on-off-pistokkeelle ja aloitin sitten tinkimisen.

En mene yksityiskohtiin siitä, kuinka S26 -pistoke vilkkuu ESPHomen avulla, koska Googlella on kaikki vastaukset.

Koko kokoonpanotiedostoni on ladattavissa lopussa. Da Da Dah…

Aloitetaan siis Home Assistantin linkitetystä osasta:

Meidän on luotava antureita, jotka vastaavat koti -avustajan antureita, jotta he voivat puhua keskenään.

Vaihe 5: Vaihe 5: ESPHome Home Assistant -yhteys… Beam Me Up Scotty

Vaihe 5: ESPHome Home Assistant -yhteys… Beam Me Up Scotty
Vaihe 5: ESPHome Home Assistant -yhteys… Beam Me Up Scotty

sensori:

- alusta: koti -avustaja

entiteetin_tunnus: sensor.ft_start_hr

tunnus: id_ft_start_hr

Joten nyt luomme anturin ESPHome -tyyppiseen koti -avustajaan. Kuka olisi arvannut?

Entiteetin tunnuksen on vastattava määrityksiä.yaml -tiedostossa määrittämääsi.

Asetin tunnuksen, jotta ESPHome voisi viitata tähän anturiin ajattelunsa runsaudessa.

Vaihe 6: Vaihe 6: Lisää aikaa

Vaihe 6: Lisää aikaa
Vaihe 6: Lisää aikaa

Joten koska tämä on ajastettu pistoke… Lisäämme itse asiassa jonkin aikaa… Vai vähennetäänkö se? Onko se nyt menneisyyttä?

Tässä on joitain ajan komponentin perusteita. Voimme valita joitain erilaisia, mutta minä valitsin koti -avustajan. Liian helppo?

esphome.io/components/time.html

Vaihe 7: Vaihe 7: Väli

Vaihe 7: Väli
Vaihe 7: Väli

Ei, se ei ole tauko, vai onko?

väli:

- väli: 1 sek

sitten:

- lambda: |-

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

Joten asetin 1 sekunnin välin kirjoittaakseni anturin arvon kotiassistentista globaaliin muuttujaan.

Haluan tehdä tämän vain kerran sekunnissa, kun aika tikittää… rasti tock

Vaihe 8: Vaihe 8: Joten meillä on aikaa ja rahaa… Mitä seuraavaksi?

Vaihe 8: Joten meillä on aikaa ja rahaa… Mitä seuraavaksi?
Vaihe 8: Joten meillä on aikaa ja rahaa… Mitä seuraavaksi?

Niinpä päätin käyttää binäärianturimallia määrittääkseni, onko aika kytkeä kytkin päälle … rele

Olen luonut kolme kytkintä tunnuksilla: start_time_valid, stop_time_valid ja run_time_valid

start_time_valid on totta, kun on nyt ohi releen kytkemiseen asetettu aika.

Käytin sisäkkäisiä if -lausekkeita tarkistamaan, olimmeko suurempia tai yhtä suuria kuin vaaditut sekunnit, sitten minuutit ja lopulta tunnit.

stop_time_valid on totta, kun on nyt aika asettaa kytkin pois päältä. Tämä käännetään tarkistamalla, ettei nyt ole kulunut vaadittavaa aikaa releen sammuttamiseen

run_time_valid on tosi, kun sekä start_time_valid että stop_time_valid ovat totta. Luulen, että olisin voinut käyttää vain normaalia ja kuntoa tähän. Pääsin juuri vauhtiin lambdien kanssa.

- alusta: malli

nimi: "Aloitusaika voimassa"

id: start_time_valid

lambda: |-

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

palaa tosi;

}

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

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

palaa tosi;

}

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

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

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

palaa tosi;

}

muu {

palauta epätosi;

}

Vaihe 9: Vaihe 9: Nyt joillekin skripteille: "Olla tai olla olematta: se on kysymys"

Vaihe 9: Nyt joillekin skripteille: "Olla tai olla olematta: se on kysymys"
Vaihe 9: Nyt joillekin skripteille: "Olla tai olla olematta: se on kysymys"

Hmm väärä käsikirjoitus jätkä!

Joten jos kytkin kytkimen pistorasiaan… tai talon virta tuli takaisin, halusin kytkimen tietävän, onko sen tarkoitus olla päällä vai pois ja toimia sen mukaisesti. (kyllä me kaikki menemme näyttelijätunneille)

Ensimmäinen komentosarjan tunnus: Checkstatuson tarkistaa, onko meidän tarkoitus olla päällä ja toimia sen mukaisesti. Lisäsin myös globaalin lipun, jossa on tunnus: trackingon, varmistaakseni, että tämä komentosarja suoritetaan vain kerran eikä estä muita skriptejäni osallistumasta näytelmään.

Tällä on kolme ehtoa: rele on pois päältä, sen on tarkoitus olla päällä, enkä ole jo tehnyt osani. Tämä sammuttaa kaikki muut käynnissä olevat skriptit, kytkee releen päälle ja asettaa seurantaliput.

Toinen skriptitunnus: checkstatusoff, on juuri päinvastainen kuin ensimmäinen. Tarkistamme vain, onko meidän nyt suljettava verhot. Tämän seurantalippu on seuranta

Suoritan nämä kaksi komentosarjaa 1 sekunnin välein tarkistamaan joka sekunti.

Vaihe 10: Vaihe 10: Jotkut bonusskriptit

Vaihe 10: Jotkut Bonus Scripts
Vaihe 10: Jotkut Bonus Scripts

Halusin lisätä vielä kaksi ominaisuutta, jos sammutin säiliön valon, se kytkeytyy takaisin päälle 5 sekunnin kuluttua, jos valon on tarkoitus olla päällä silloin. Lisäksi, jos valo oli pois päältä ja halusin kytkeä sen päälle nähdäkseni kalani ja se ei ollut aikataulussa, se kytkeytyy päälle 5 minuutiksi. Kyllä 5 minuuttia on tarpeeksi pitkä aika … Palaa töihin.

Ensimmäinen skriptitunnus: rele kytkee valon päälle 5 minuutiksi, jos se on sammutettu aikataulussa ajoissa, ja sammuu sitten.

Toinen skriptitunnus: rele on käytännössä päinvastainen kuin ensimmäinen ja kytkee valon takaisin päälle 5 sekuntia myöhemmin, jos sen on tarkoitus olla päällä. Kuka sanoi, että voit sammuttaa valoherrani!

Tässä on lisätietoja skripteistä:

esphome.io/guides/automations.html

Jotkut lisätiedot skripteistä ovat, että ne eivät estä. Ellet lykkää lambdaa. Uh Ei Ei Ei

Vaihe 11: Vaihe 11: Joitakin viimeisiä ajatuksia

Vaihe 11: Joitakin viimeisiä ajatuksia
Vaihe 11: Joitakin viimeisiä ajatuksia
Vaihe 11: Joitakin viimeisiä ajatuksia
Vaihe 11: Joitakin viimeisiä ajatuksia

Kotiassistentilta halusin kytkimen toimivan samalla tavalla kuin painike.

En kirjoittanut binaarianturin paikalliskytkimen nimeä, koska minun ei tarvinnut nähdä sitä työnnettäessä kodin avustajaa.

En kirjoittanut relekytkimen nimeä, koska halusin käyttää komentosarjoja siirtymiseen kotiassistentista.

Luin mallikytkimen, jolla on nimi, jotta voin käyttää sitä siirtyäksesi kodin avustajasta. Se suorittaa komentosarjamme samalla tavalla kuin pistokkeen paikallinen kytkin.

En ole testannut, sammuttaako kotiavustaja, jos pistoke toimii edelleen oikein. Toivon niin. Olen nähnyt joitakin viestejä joistakin ongelmista, kun yhteys Home Assistant -sovellusliittymään katkeaa.

Toivon todella, että tämä pieni opetusohjelma auttaa sinua ja auta minua parantamaan sitä. En ole asiantuntija ja opin hitaasti. Ajattelin vain, että jotkut asiat, jotka olen oppinut tekemään, voivat auttaa jotakuta, joka kamppailee selvittämään sen.

Nyt muutetaan koti -avustajan aikoja auringonnousun ja -laskun perusteella…+ - muutama

Suositeltava: