Taula de continguts:

Llum temporitzada ESPHOME SONOF S26: 11 passos (amb imatges)
Llum temporitzada ESPHOME SONOF S26: 11 passos (amb imatges)

Vídeo: Llum temporitzada ESPHOME SONOF S26: 11 passos (amb imatges)

Vídeo: Llum temporitzada ESPHOME SONOF S26: 11 passos (amb imatges)
Vídeo: Llum temporitzada 2024, Juliol
Anonim
Llum temporitzada ESPHOME SONOF S26
Llum temporitzada ESPHOME SONOF S26

Bon dia. Per tant, tinc una llum de la peixera que vull encendre i apagar una hora determinada del dia. Simplement havia de fer-ho complicat per a mi. Vull poder canviar l'hora en què s'encén i s'apaga des del tauler de l'Assistent de casa. Potser encara més.

Per tant, vegem quant puc portar-me a un forat de conill.

Pas 1: Pas 1: Necessito una manera d’enviar l’hora de l’assistent de casa

Alguns google ajuden. Alguns que us treuran els cabells us ajudaran, si en teniu: Obriu el complement del Visual Studio Code Editor. A la carpeta Config, trobeu el fitxer configuration.yaml i heu copiat i enganxat algunes coses que he trobat amagades en algun fòrum. Disculpeu si recordés que donaria agraïment. S'ha afegit el codi i s'ha reiniciat l'assistent domèstic.

Pas 2: Pas 2: s'ha afegit el següent codi a Configuration.yaml

Pas 2: afegiu el següent codi a Configuration.yaml
Pas 2: afegiu el següent codi a Configuration.yaml

número_entrada:

ft_start_hr:

nom: FT Light Start Hours

icona: mdi: start-clock

min: 0

màxim: 23

Pas 1

# inicial: 13

La primera línia serà l'identificador d'entitat del número d'entrada.

A continuació, necessitem alguns detalls per a aquest petit noi:

Un nom serà increïble: FT Light Start Hours for this P. S. FT és per a Fish Tank … No és el que pensaves, oi?

A continuació hi ha una icona opcional. Hi ha un munt de coses per triar, així que tornar-se boig … o no.

A continuació, podem introduir un valor mínim, màxim i pas. Com que són hores he triat del 0 al 23 amb passos senzills.

Inicialment tenia un valor inicial i, quan es reiniciava l’assistent domèstic, el canviaria per aquest valor inicial. Vaig decidir comentar-ho, ja que volia que Home Assistant intentés recordar l'últim valor que li havia assignat.

Podeu posar-vos en mode per triar un quadre. Però, per defecte, tria un bon control lliscant per a vosaltres. Crec que ara hi haurà un control lliscant.

Tingueu en compte els sagnats, ja que són molt importants. Vegeu la imatge

Així doncs, us donaran entitats a l’assistent domèstic per poder ajustar-vos.

Aquí teniu un enllaç per obtenir més informació sobre els números d’entrada:

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

Pas 3: Pas 3: ara necessitem obtenir la informació a l'API ESPHOME

Pas 3: ara necessitem obtenir la informació a l'API ESPHOME
Pas 3: ara necessitem obtenir la informació a l'API ESPHOME

sensor:

- plataforma: plantilla

sensors:

ft_start_hr:

model_valor: '{{states.input_number.ft_start_hr.state | int}} '

n

Això donarà a l'API ESPHome la connexió necessària, així com ara és un enter en lloc d'un control lliscant de text elegant:-P

Aquí pren l'estat del número d'entrada i el converteix en un enter i l'emmagatzema en un sensor.

Aquí hi ha més informació sobre les plantilles:

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

Ah, he canviat l'extensió de fitxer del meu fitxer a text perquè pugui penjar-lo … Els instructables poden ser destructibles amb un yaml …

Pas 4: Pas 4: per tant, la configuració ESPHome del connector ara

Pas 4: per tant, la configuració ESPHome del connector ara
Pas 4: per tant, la configuració ESPHome del connector ara

Vaig començar amb una configuració base per al endoll de connexió i després vaig començar a jugar.

No entraré en detalls sobre com flashear el connector S26 amb ESPHome, ja que Google té totes les respostes.

El fitxer de configuració complet estarà disponible per descarregar al final. Da Da Dah …

Comencem, doncs, amb la part enllaçada a Home Assistant:

Hem de crear sensors que coincideixin amb els de l’assistent domèstic perquè puguin parlar entre ells.

Pas 5: Pas 5: la connexió ESPHome Home Assistant … Beam Me Up Scotty

Pas 5: la connexió d'ASPHome Home Assistant … Beam Me Up Scotty
Pas 5: la connexió d'ASPHome Home Assistant … Beam Me Up Scotty

sensor:

- plataforma: homeasistant

id_entitat: sensor.ft_start_hr

id: id_ft_start_hr

Per tant, ara creem un sensor a ESPHome del tipus homeasistant. Qui ho hauria endevinat?

L'identificador d'entitat haurà de coincidir amb el que heu configurat al fitxer configuration.yaml.

Vaig configurar un identificador perquè ESPHome pogués fer referència a aquest sensor en la seva abundància de pensament.

Pas 6: Pas 6: Permet afegir una mica de temps

Pas 6: Permet afegir una mica de temps
Pas 6: Permet afegir una mica de temps

Així doncs, en ser un endoll temporitzat … Afegim una mica de temps … O es resta? Ara és en el passat?

Aquests són alguns aspectes bàsics del component de temps. Podem triar-ne d’altres de diferents, però jo vaig triar el cas. Massa fàcil?

esphome.io/components/time.html

Pas 7: Pas 7: Interval

Pas 7: Interval
Pas 7: Interval

No, no és un descans, o no?

interval:

- interval: 1seg

llavors:

- lambda: | -

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

Per tant, he establert un interval d’1 segon per escriure el valor del sensor de l’assistent domèstic a la variable global.

Només vull fer-ho un cop al segon, ja que el temps passa … tick tick

Pas 8: Pas 8: doncs, tenim temps i diners … Què passa després?

Pas 8: doncs, tenim temps i diners … Què passa?
Pas 8: doncs, tenim temps i diners … Què passa?

Així que vaig decidir utilitzar una plantilla de sensor binari per determinar si és hora d’encendre l’interruptor de l’interruptor … relé

He creat tres commutadors amb els identificadors: start_time_valid, stop_time_valid i run_time_valid

start_time_valid és cert quan passa el temps establert per encendre el relé.

He utilitzat instruccions nested if per comprovar si érem més grans o iguals als segons necessaris, després als minuts i finalment a les hores.

stop_time_valid és cert quan és ara abans de configurar l'hora per apagar l'interruptor. Això s'inverteix per comprovar que ara no ha passat el temps requerit per apagar el relé

run_time_valid és cert quan tant start_time_valid com stop_time_valid són certes. Suposo que podria haver utilitzat una condició normal per a aquesta. Acabo d’entrar en el swing de les coses amb lambdas.

- plataforma: plantilla

nom: "Hora d'inici vàlida"

id: start_time_valid

lambda: | -

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

tornar cert;

}

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

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

tornar cert;

}

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

tornar cert;

}

més {

tornar fals;

}

Pas 9: Pas 9: ara per a alguns scripts: "Ser o no ser: aquesta és la qüestió"

Pas 9: ara per a alguns scripts: "Ser o no ser: aquesta és la qüestió"
Pas 9: ara per a alguns scripts: "Ser o no ser: aquesta és la qüestió"

Mmm tipus de guió incorrecte!

Per tant, si vaig endollar l’interruptor … o si l’alimentació de la casa acaba de tornar-se a encendre, volia que l’interruptor sàpiga si s’ha d’encendre o apagar i actuar en conseqüència. (sí, tots anem a fer classes d’interpretació)

El primer identificador de script: checksstatuson, és comprovar si estem destinats a actuar i actuar en conseqüència. També he inclòs un indicador global amb l'identificador: trackingon, per assegurar-me que aquest script només s'executa una vegada i que no impedeix que els altres scripts facin la seva part a l'obra.

Això té 3 condicions: el relleu està apagat, està pensat per estar activat i jo encara no he fet la meva part. A continuació, s'apagarà qualsevol altre script en execució, activarà el relé i establirà els indicadors de seguiment.

El segon identificador de script: checksstatusoff, és exactament el contrari del primer. Simplement comprovem si hem de tancar les cortines ara. La marca de seguiment d’aquest és trackingoff

Executo aquests dos scripts en l'interval d'1 segon per comprovar cada segon.

Pas 10: pas 10: alguns scripts de bonificació

Pas 10: alguns scripts de bonificació
Pas 10: alguns scripts de bonificació

Dues funcions més que volia afegir eren si apagava la llum del tanc que tornaria a encendre-la al cap de 5 segons si la llum està pensada per estar encesa en aquell moment. A més, si la llum estava apagada i volia engegar-la per veure els peixos i que fos fora del seu temps previst, s’encendria durant 5 minuts. Sí, 5 minuts són prou llargs … Torneu a la feina.

El primer identificador de script: relayisoff encendrà el llum durant 5 minuts si està apagat programat a temps i després s’apagarà.

El segon identificador de script: relayison està pràcticament invertit del primer i tornarà a encendre la llum 5 segons més tard si voleu que estigui encès. Qui va dir que podeu apagar la meva llum, senyor!

Aquí teniu més informació sobre els scripts:

esphome.io/guides/automations.html

Alguna informació addicional sobre els scripts és que no bloqueja. A menys que posis un retard en una lambda. Uh No No No

Pas 11: Pas 11: Alguns pensaments finals

Pas 11: Alguns pensaments finals
Pas 11: Alguns pensaments finals
Pas 11: Alguns pensaments finals
Pas 11: Alguns pensaments finals

Des de l’assistent de casa volia que l’interruptor actués de la mateixa manera que el botó.

No he posat un nom per al commutador local del sensor binari, ja que no calia veure'l empès a l'assistent domèstic.

No vaig posar un nom per al commutador de relés, ja que volia utilitzar els scripts per fer el canvi des de l'assistent domèstic.

He creat un commutador de plantilla amb un nom perquè pugui utilitzar-lo per canviar d’assistent de casa. Executarà els meus scripts igual que el commutador local del connector.

No he provat si apagueu l'assistent domèstic si el connector continua funcionant correctament. Tant espero. He vist algunes publicacions sobre alguns problemes en perdre la connexió amb l'API Home Assistant.

Realment espero que aquest petit tutorial us ajudi i no dubteu a ajudar-me a millorar-lo. No sóc expert i aprenc molt lentament. Només vaig pensar que algunes coses que vaig aprendre a fer podrien ajudar a algú que lluita per esbrinar-ho.

Ara canvieu els horaris de l’assistent domèstic en funció de la sortida i la posta de sol … + - uns quants

Recomanat: