Tartalomjegyzék:

ESPHOME SONOF S26 időzített fény: 11 lépés (képekkel)
ESPHOME SONOF S26 időzített fény: 11 lépés (képekkel)

Videó: ESPHOME SONOF S26 időzített fény: 11 lépés (képekkel)

Videó: ESPHOME SONOF S26 időzített fény: 11 lépés (képekkel)
Videó: Sonoff S26 R2 - how to flash ESPHome or Tasmota 2024, Július
Anonim
ESPHOME SONOF S26 Időzített fény
ESPHOME SONOF S26 Időzített fény

Jó nap. Tehát van egy akváriumlámpám, amelyet a nap egy bizonyos időpontjában szeretnék be- és kikapcsolni. Csak meg kellett bonyolítanom magamnak. Szeretném megváltoztatni a be- és kikapcsolási időt a Home Assistant műszerfalán. Talán még többet is.

Lássuk hát, mennyit vihetek még bele egy nyúllyukba.

1. lépés: 1. lépés: Szükségem van arra, hogy elküldjem az időket az otthoni asszisztensről

Némi googleolás segít. Néhányan kihúzzák a hajadat, ha valóban van ilyen: PO Nyisd meg a Visual Studio Code Editor bővítményemet. A Config mappa alatt keresse meg a configuration.yaml fájlt, és másolja le és illessze be a fórumban rejtett dolgokat. Bocs, ha eszembe jut, elismerném. Hozzáadta a kódot, és újraindította az otthoni asszisztenst.

2. lépés: 2. lépés: A következő kódot hozzáadta a Configuration.yaml fájlhoz

2. lépés: A következő kódot hozzáadta a Configuration.yaml fájlhoz
2. lépés: A következő kódot hozzáadta a Configuration.yaml fájlhoz

input_number:

ft_start_hr:

név: FT Light Start Hours

ikon: mdi: óraindítás

min: 0

max: 23

1. lépés

# kezdőbetű: 13

Az első sor a bemeneti szám entitás azonosítója lesz.

Ezután néhány részletre van szükségünk ehhez a kis fickóhoz:

A név fantasztikus lesz: FT Light Start Hours for this one P. S. Az FT a Fish Tank … Nem az, amire gondolt?

A következő opcionális ikon. Rengeteg közül lehet választani, tehát megőrülni … vagy nem.

Ezután megadhatunk egy min, max és lépés értéket. Mivel ez az óra, 0 - 23 -at választottam egyetlen lépéssel.

Kezdetben volt egy kezdeti értékem, és amikor az otthoni asszisztens újraindult, akkor ezt a kezdeti értéket módosította. Úgy döntöttem, hogy megjegyzést fűzök hozzá, mivel azt akartam, hogy a Home Assistant megpróbálja emlékezni az utolsó értékre, amelyet beállítottam.

Bekapcsolhatja a módot a doboz kiválasztásához. De alapértelmezés szerint egy szép csúszkát választ az Ön számára. Szerintem egy csúszka egyelőre megteszi.

Legyen tisztában a bemélyedésekkel, mivel ezek nagyon fontosak. Lásd a képet

Így ezek megadják az entitásokat az otthoni asszisztensben, hogy képesek legyenek beállítani.

Itt található egy link a bemeneti számokkal kapcsolatos további információkhoz:

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

3. lépés: 3. lépés: Most meg kell szereznünk az információkat az ESPHOME API -hoz

3. lépés: Most el kell juttatnunk az információkat az ESPHOME API -hoz
3. lépés: Most el kell juttatnunk az információkat az ESPHOME API -hoz

érzékelő:

- platform: sablon

érzékelők:

ft_start_hr:

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

n

Ez megadja az ESPHome API-nak a szükséges kapcsolatot, és ez most egész szám a díszes szövegcsúszka helyett:-P

Itt a bemeneti szám állapotát veszi át, és egész számmá alakítja, és egy érzékelőben tárolja.

Íme néhány további információ a sablonokról:

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

Ó, a fájlom fájlkiterjesztését szöveggé változtattam, hogy feltölthessem … Az utasítások megsemmisíthetők a yaml segítségével …

4. lépés: 4. lépés: Tehát a Plug Now ESPHome konfigurációja

4. lépés: Tehát a Plug Now ESPHome konfigurációja
4. lépés: Tehát a Plug Now ESPHome konfigurációja

Kezdtem az s-on-off dugó alapkonfigurációjával, majd elkezdtem bütykölni.

Nem részletezem, hogyan lehet az S26 dugót az ESPHome segítségével villogni, mivel a Google mindenre választ ad.

A teljes konfigurációs fájlom a végén letölthető lesz. Da Da Dah…

Kezdjük tehát a Home Assistant linkelt részével:

Olyan érzékelőket kell létrehoznunk, amelyek illeszkednek az otthoni asszisztens érzékelőihez, hogy beszélhessenek egymással.

5. lépés: 5. lépés: az ESPHome Home Assistant kapcsolat… Beam Me Up Scotty

5. lépés: Az ESPHome Home Assistant kapcsolat… Beam Me Up Scotty
5. lépés: Az ESPHome Home Assistant kapcsolat… Beam Me Up Scotty

érzékelő:

- platform: házi asszisztens

entitásazonosító: sensor.ft_start_hr

azonosító: id_ft_start_hr

Tehát most létrehozzunk egy érzékelőt az ESPHome -ban, amely a házi segítségnyújtó. Ki gondolta volna?

Az entitás azonosítójának meg kell egyeznie a konfiguráció.yaml fájlban beállítottal.

Beállítottam egy azonosítót, hogy az ESPHome hivatkozhasson erre az érzékelőre a rengeteg gondolkodásban.

6. lépés: 6. lépés: Adjunk hozzá egy kis időt

6. lépés: Adjunk hozzá egy kis időt
6. lépés: Adjunk hozzá egy kis időt

Tehát mivel ez egy időzített dugó … Tényleg adjunk hozzá egy kis időt… Vagy kivonjuk? Ez most a múlt?

Íme néhány alap az időkomponensről. Választhatunk néhányat, de én a házi asszisztenst választottam. Túl könnyű?

esphome.io/components/time.html

7. lépés: 7. lépés: intervallum

7. lépés: Időköz
7. lépés: Időköz

Nem, nem szünet, vagy nem?

intervallum:

- időköz: 1 mp

azután:

- lambda: |-

id (gl_ft_start_hr) = id (id_ft_start_hr).állapot;

Tehát 1 másodperces intervallumot állítottam be az érzékelő értékének írására az otthoni asszisztensről a globális változóra.

Csak másodpercenként egyszer szeretném ezt megtenni, mivel az idő ketyeg… pipálja ki

8. lépés: 8. lépés: Tehát van időnk és pénzünk… Mi a következő lépés?

8. lépés: Tehát van időnk és pénzünk… Mi a következő lépés?
8. lépés: Tehát van időnk és pénzünk… Mi a következő lépés?

Ezért úgy döntöttem, hogy bináris érzékelő sablont használok annak megállapítására, hogy ideje -e bekapcsolni a kapcsoló kapcsolóját… relét

Három kapcsolót hoztam létre az azonosítókkal: start_time_valid, stop_time_valid és run_time_valid

A start_time_valid igaz, ha már túl van a relé bekapcsolására beállított időn.

A beágyazott if utasításokat használtam annak ellenőrzésére, hogy nagyobbak vagy egyenlőek vagyunk -e a szükséges másodpercekkel, majd percekkel és végül órákkal.

A stop_time_valid igaz akkor, amikor még nincs ideje beállítani a kapcsolót. Ezt megfordítják annak ellenőrzésére, hogy most nem múlt el a relé kikapcsolásához szükséges idő

A run_time_valid igaz, ha mind a start_time_valid, mind a stop_time_valid igaz. Azt hiszem, ehhez csak egy normális és állapotot használhattam volna. Most kerültem a dolgok lendületébe lambdákkal.

- platform: sablon

név: "Érvényes kezdési idő"

id: start_time_valid

lambda: |-

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

return true;

}

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

id (homeassistant_time).most (). perc> id (gl_ft_start_mn)) {

return true;

}

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

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

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

return true;

}

más {

hamis visszatérés;

}

9. lépés: 9. lépés: Most néhány forgatókönyv esetében: „Légy, vagy ne légy: ez a kérdés”

9. lépés: Most néhány forgatókönyv esetében: „Légy, vagy ne légy: ez a kérdés”
9. lépés: Most néhány forgatókönyv esetében: „Légy, vagy ne légy: ez a kérdés”

Hmm rossz forgatókönyv haver!

Tehát, ha bedugtam a kapcsolót… vagy a ház áramellátása újra bekapcsolódott, azt akartam, hogy a kapcsoló tudja, hogy be vagy ki kell -e kapcsolni, és ennek megfelelően kell eljárni. (igen, mindannyian színészleckére megyünk)

Az első szkript azonosítója: checkstatuson, annak ellenőrzése, hogy be vagyunk -e kapcsolva, és ennek megfelelően cselekszünk. Az id: trackingon nevű globális zászlót is beillesztettem annak biztosítására, hogy ez a szkript csak egyszer fusson le, és ne akadályozza a többi szkriptemet abban, hogy részt vegyenek a darabban.

Ennek 3 feltétele van: a relé ki van kapcsolva, be van kapcsolva, és még nem tettem meg a részemet. Ez kikapcsolja a többi futó szkriptet, bekapcsolja a relét és beállítja a követési zászlókat.

A második szkript azonosítója: checkstatusoff, éppen az ellenkezője az elsőnek. Csak azt vizsgáljuk, hogy most be kell -e zárni a függönyt. Ennek a nyomkövető zászlója a követés

Ezt a két szkriptet az 1 másodperces intervallumban futtatom, hogy minden másodpercben ellenőrizzem.

10. lépés: 10. lépés: Néhány bónuszszkript

10. lépés: Néhány bónuszszkript
10. lépés: Néhány bónuszszkript

További két funkciót szerettem volna hozzáadni, ha lekapcsolom a lámpát a tartálynál, akkor 5 másodperc múlva újra bekapcsol, ha a lámpát akkor kell bekapcsolni. Továbbá, ha a lámpa kialudt, és be akartam kapcsolni, hogy lássam a halakat, és az időzónán kívül volt, akkor 5 percre bekapcsol. Igen, az 5 perc elég hosszú … Menj vissza dolgozni.

Az első szkript azonosítója: a relé kikapcsolja 5 percre bekapcsolja a lámpát, ha az időzített időzítésben ki van kapcsolva, majd kikapcsol.

A második szkript azonosítója: a relé gyakorlatilag megfordult az elsővel, és 5 másodperccel később visszakapcsolja a lámpát, ha be van kapcsolva. Ki mondta, hogy kikapcsolhatod a fényt uram!

Íme néhány további információ a szkriptekről:

esphome.io/guides/automations.html

Néhány bónusz információ a szkriptekről, hogy nem blokkolják. Hacsak nem késleltet egy lambdát. Uh Nem Nem Nem

11. lépés: 11. lépés: Néhány utolsó gondolat

11. lépés: Néhány utolsó gondolat
11. lépés: Néhány utolsó gondolat
11. lépés: Néhány utolsó gondolat
11. lépés: Néhány utolsó gondolat

Az otthoni asszisztenstől azt akartam, hogy a kapcsoló ugyanúgy működjön, mint a gomb.

Nem adtam nevet a bináris érzékelő helyi kapcsolójának, mivel nem kellett látnom, hogy az otthoni asszisztensben nyomja.

Nem adtam nevet a relé kapcsolójának, mivel a szkripteket akartam használni az otthoni asszisztensről történő váltáshoz.

Létrehoztam egy sablonváltót névvel, így használhatom az otthoni asszisztensről való váltáshoz. Ugyanúgy futtatja a szkripteimet, mint a helyi kapcsoló a csatlakozónál.

Nem teszteltem, hogy kikapcsolom -e az otthoni asszisztenst, ha a dugó továbbra is megfelelően működik. Remélem. Láttam néhány bejegyzést a Home Assistant API -val való kapcsolat elvesztésével kapcsolatos problémákról.

Nagyon remélem, hogy ez a kis oktatóanyag segít neked, és kérlek, bátran segíts, hogy jobbá tegyem. Nem vagyok szakértő, és nagyon lassan tanulok. Csak arra gondoltam, hogy néhány dolog, amit megtanultam, segíthet valakinek, aki nehezen talál rá.

Most változtassa meg az otthoni asszisztens idejét a napfelkelte és a naplemente alapján…+ - néhány

Ajánlott: