Indholdsfortegnelse:
- Trin 1: Trin 1: Jeg har brug for en måde at sende tiderne hjemmefra -assistenten
- Trin 2: Trin 2: Tilføjede følgende kode til Configuration.yaml
- Trin 3: Trin 3: Nu skal vi hente oplysningerne til ESPHOME API
- Trin 4: Trin 4: Så ESPHome -konfiguration af stikket Now
- Trin 5: Trin 5: forbindelsen til ESPHome Home Assistant … Beam Me Up Scotty
- Trin 6: Trin 6: Lad os tilføje noget tid
- Trin 7: Trin 7: Interval
- Trin 8: Trin 8: Så vi har tid og penge … Hvad så?
- Trin 9: Trin 9: Nu for nogle scripts: 'At være, eller ikke være: Det er spørgsmålet'
- Trin 10: Trin 10: Nogle bonusscripts
- Trin 11: Trin 11: Nogle sidste tanker
Video: ESPHOME SONOF S26 Timed Light: 11 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
God dag. Så jeg har et akvariumslys, som jeg vil tænde og slukke på et bestemt tidspunkt på dagen. Jeg var bare nødt til at gøre det kompliceret for mig selv. Jeg vil gerne kunne ændre den tid, den tændes og slukkes fra mit Home Assistant -dashboard. Måske endnu mere.
Så lad os bare se, hvor meget mere jeg kan tage mig selv ind i et kaninhul.
Trin 1: Trin 1: Jeg har brug for en måde at sende tiderne hjemmefra -assistenten
Noget googling hjælper. Nogle hjælper med at trække dit hår ud, hvis du faktisk har nogen: POpen my Visual Studio Code Editor add-on. Under Config -mappen skal du finde filen config.yaml og kopiere og indsætte nogle ting, jeg fandt skjult i et eller andet forum. Undskyld hvis jeg huskede jeg ville give anerkendelse. Tilføjede koden og genstartede hjemmeassistent.
Trin 2: Trin 2: Tilføjede følgende kode til Configuration.yaml
input_number:
ft_start_hr:
navn: FT Light Start Hours
ikon: mdi: urstart
min: 0
maks: 23
trin 1
# initial: 13
Den første linje vil være input -id -enheds -id.
Dernæst har vi brug for nogle detaljer til denne lille fyr:
Et navn vil være fantastisk: FT Light Start Hours for denne ene P. S. FT er til Fish Tank … Ikke hvad du tænkte rigtigt?
Næste er et valgfrit ikon. Masser derude at vælge imellem, så gå amok … eller ej.
Derefter kan vi indsætte en min, max og trinværdi. Da dette er timer, valgte jeg 0 - 23 med enkelte trin.
Oprindeligt havde jeg en startværdi, og når hjemmeassistent genstartede, ville den ændre den til denne startværdi. Jeg besluttede at kommentere det, da jeg ville have Hjemassistent til at prøve at huske den sidste værdi, jeg havde angivet for det.
Du kan sætte i tilstand for at vælge en boks. Men som standard vælger den en god skyder til dig. Jeg tror, at en skyder vil gøre det nu.
Vær opmærksom på fordybningerne, da de er meget vigtige. Se billedet
Så disse vil give dig enheder i hjemmeassistent for at kunne justere.
Her er et link til mere information om inputnumre:
www.home-assistant.io/integrations/input_n…
Trin 3: Trin 3: Nu skal vi hente oplysningerne til ESPHOME API
sensor:
- platform: skabelon
sensorer:
ft_start_hr:
value_template: '{{states.input_number.ft_start_hr.state | int}} '
n
Dette vil give ESPHome API den nødvendige forbindelse, såvel som det nu er et helt tal i stedet for fancy tekstskyder:-P
Her tager det input -nummeret tilstand og konverterer det til et helt tal og gemmer det i en sensor.
Her er mere information om skabelonerne:
www.home-assistant.io/integrations/templat…
Åh, jeg ændrede filtypen af min fil til tekst, så jeg kan uploade den … Instrukturer kan være ødelæggelige med en yaml …
Trin 4: Trin 4: Så ESPHome -konfiguration af stikket Now
Jeg startede med en basekonfiguration til s-on-off stikket og begyndte derefter at pille.
Jeg vil ikke gå i detaljer om, hvordan man blinker S26 -stikket med ESPHome, da google har alle svarene.
Min fulde konfigurationsfil kan downloades i slutningen. Da Da Dah…
Så lad os starte med den linkede del til Home Assistant:
Vi skal oprette sensorer, der matcher sensorerne i hjemmeassistenten, så de kan tale med hinanden.
Trin 5: Trin 5: forbindelsen til ESPHome Home Assistant … Beam Me Up Scotty
sensor:
- platform: Hjælpeassistent
entity_id: sensor.ft_start_hr
id: id_ft_start_hr
Så nu opretter vi en sensor i ESPHome af typen homeassistant. Hvem ville have gættet?
Enheds -id'et skal matche det, du har konfigureret i din configuration.yaml -fil.
Jeg konfigurerede et id, så ESPHome kunne referere til denne sensor i sin overflod af tænkning.
Trin 6: Trin 6: Lad os tilføje noget tid
Så da dette er et timet stik … Lad os faktisk tilføje lidt tid … Eller er det trukket fra? Er det nu i fortiden?
Her er nogle grundlæggende oplysninger om tidskomponenten. Vi kan vælge nogle forskellige, men jeg valgte hjemmeassistent. For nemt?
esphome.io/components/time.html
Trin 7: Trin 7: Interval
Nej det er ikke en pause, eller er det?
interval:
- interval: 1 sek
derefter:
- lambda: |-
id (gl_ft_start_hr) = id (id_ft_start_hr). stat;
Så jeg indstillede et interval på 1 sekund for at skrive sensorværdien fra hjemmeassistent til den globale variabel.
Jeg vil bare gøre dette en gang i sekundet, da tiden tikker … tick tock
Trin 8: Trin 8: Så vi har tid og penge … Hvad så?
Så jeg besluttede at bruge en binær sensor skabelon til at afgøre, om det er tid til at tænde kontakten switch switch … relæ
Jeg oprettede tre switches med id'erne: start_time_valid, stop_time_valid og run_time_valid
start_time_valid er sand, når det nu er forbi den tid, der er konfigureret til at tænde relæet.
Jeg brugte nestede hvis udsagn til at kontrollere, om vi var større eller lig med de nødvendige sekunder, derefter minutter og endelig timer.
stop_time_valid er sand, når det er nu, før det er tid til at slukke kontakten. Dette er omvendt for at kontrollere, at nu ikke er forbi den nødvendige tid til at slukke relæet
run_time_valid er sand, når både start_time_valid og stop_time_valid er sande. Jeg formoder, at jeg bare kunne have brugt en normal og tilstand til denne. Jeg kom lige i gang med tingene med lambdas.
- platform: skabelon
navn: "Starttid gyldig"
id: start_time_valid
lambda: |-
if (id (homeassistant_time).now (). time> id (gl_ft_start_hr)) {
vende tilbage sandt;
}
ellers hvis (id (homeassistant_time).now (). time == id (gl_ft_start_hr) &&
id (homeassistant_time).now (). minut> id (gl_ft_start_mn)) {
vende tilbage sandt;
}
ellers hvis (id (homeassistant_time).now (). time == id (gl_ft_start_hr) &&
id (homeassistant_time).now (). minut == id (gl_ft_start_mn) &&
id (homeassistant_time).now (). second> = id (gl_ft_start_ss)) {
vende tilbage sandt;
}
andet {
return falsk;
}
Trin 9: Trin 9: Nu for nogle scripts: 'At være, eller ikke være: Det er spørgsmålet'
Hmm forkert script fyr!
Så hvis jeg tilsluttede kontakten … eller husstrømmen lige var tændt, ville jeg gerne have kontakten til at vide, om den er tænkt eller slukket og handle derefter. (ja vi går alle til skuespilstimer)
Det første script -id: checkstatuson, er at kontrollere, om vi er tænkt til at være tændt og handle i overensstemmelse hermed. Jeg inkluderede også et globalt flag med id: trackingon for at sikre, at dette script bare køres en gang og ikke forhindrer mine andre scripts i at gøre deres del i stykket.
Dette har 3 og betingelser: relæet er slukket, det er tænkt at være tændt, og jeg har ikke allerede gjort mit. Dette vil derefter slukke alle andre scripts, der kører, tænde relæet og indstille sporingsflaggene.
Det andet script -id: checkstatusoff, er lige det modsatte af det første. Vi tjekker bare, om vi skal lukke gardinerne nu. Sporingsflaget for denne er trackingoff
Jeg kører disse to scripts i intervallet på 1 sekund for at kontrollere hvert sekund.
Trin 10: Trin 10: Nogle bonusscripts
Yderligere to funktioner, jeg ønskede at tilføje, var, hvis jeg slukkede lyset på tanken, som det vil tænde igen efter 5 sekunder, hvis lyset er tænkt på det tidspunkt. Hvis lyset også var slukket, og jeg ville tænde det for at se mine fishies, og det var ude af planlagt til tiden, ville det tænde i 5 minutter. Ja 5 minutter er lang nok … Kom tilbage til arbejdet.
Det første script -id: relayisoff tænder lyset i 5 minutter, hvis det ikke er planlagt til tiden og derefter slukker.
Det andet script -id: relayison er praktisk talt omvendt af det første og vil tænde lyset igen 5 sekunder senere, hvis det er tænkt. Hvem sagde, at du kan slukke min lysmester!
Her er nogle flere oplysninger om scripts:
esphome.io/guides/automations.html
Nogle bonusoplysninger om scripts er, at de ikke blokerer. Medmindre du sætter en forsinkelse i en lambda. Uh Nej Nej Nej
Trin 11: Trin 11: Nogle sidste tanker
Fra hjemmeassistent ønskede jeg, at kontakten skulle fungere på samme måde som knappen.
Jeg lagde ikke et navn til den lokale sensor for den binære sensor, da jeg ikke behøvede at se den blive skubbet ind i hjemmeassistenten.
Jeg lagde ikke et navn til relækontakten, da jeg ville bruge scripts til at skifte fra hjemmeassistent.
Jeg oprettede en skabelonomskifter med et navn, så jeg kan bruge det til at skifte fra hjemmeassistent. Det kører mine scripts på samme måde som den lokale switch på stikket.
Jeg har ikke testet, om min hjemmeassistent skulle slukkes, hvis stikket stadig fungerer korrekt. Det håber jeg. Jeg har set nogle indlæg om nogle problemer, når jeg mister forbindelsen til Home Assistant API.
Jeg håber virkelig, at denne lille tutorial vil hjælpe dig, og du er velkommen til at hjælpe mig med at gøre det bedre. Jeg er ingen ekspert og lærer meget langsomt. Jeg tænkte bare, at nogle ting, jeg lærte at gøre, kan hjælpe nogen derude, der kæmper for at finde ud af det.
Nu for at ændre tiderne i hjemmeassistenten baseret på solopgang og solnedgang …+ - et par stykker
Anbefalede:
Styr din automatiske glideport med hjemmeassistent og ESPHome: 5 trin (med billeder)
Styr din automatiske skydelåge med hjemmeassistent og ESPHome: Den følgende artikel er lidt feedback på min personlige erfaring med at kontrollere den automatiske skydelåge, som jeg havde installeret på mit hus. Denne port, mærket "V2 Alfariss", var forsynet med et par Phox V2 fjernbetjeninger for at styre den. Jeg har også
Shadow Light Box - Styring med IR -fjernbetjening med Arduino: 8 trin (med billeder)
Shadow Light Box - Styring med IR -fjernbetjening med Arduino: Denne instruktion vil guide dig til, hvordan du laver skygge -lysboks til næste jul. Du kan lave det selv til at dekorere dit værelse eller gøre det til din ven som en gave. Denne skyggeæske kan lave forskellige slags farver ved at blande farve med rød, blå, grøn farve
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores
LED Light Drawing Pens: Værktøjer til at tegne Light Doodles: 6 trin (med billeder)
LED Light Drawing Pens: Værktøjer til at tegne Light Doodles: Min kone Lori er en uafbrudt doodler, og jeg har spillet med lang eksponering fotografering i årevis. Inspireret af PikaPika light artistry -gruppen og lethed med digitale kameraer tog vi lysformet kunstform for at se, hvad vi kunne gøre.Vi har en stor