Sommario:
- Passaggio 1: Passaggio 1: ho bisogno di un modo per inviare l'assistente Times From Home
- Passaggio 2: Passaggio 2: Aggiunto il seguente codice a Configuration.yaml
- Passaggio 3: Passaggio 3: ora è necessario ottenere le informazioni sull'API ESPHOME
- Passaggio 4: Passaggio 4: quindi la configurazione ESPHome della spina ora
- Passaggio 5: Passaggio 5: la connessione di ESPHome Home Assistant … Beam Me Up Scotty
- Passaggio 6: Passaggio 6: aggiungiamo un po' di tempo
- Passaggio 7: Passaggio 7: Intervallo
- Passaggio 8: Passaggio 8: così abbiamo tempo e denaro… E adesso?
- Passaggio 9: Passaggio 9: ora per alcuni script: "Essere o non essere: questo è il problema"
- Passaggio 10: Passaggio 10: alcuni script bonus
- Passaggio 11: Passaggio 11: alcune considerazioni finali
Video: ESPHOME SONOF S26 Luce temporizzata: 11 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Buona giornata. Quindi ho una luce per l'acquario che voglio accendere e spegnere a una certa ora del giorno. Ho solo dovuto complicare le cose per me stesso. Voglio essere in grado di modificare l'ora in cui si accende e si spegne dalla dashboard di Home Assistant. Forse anche di più.
Quindi vediamo quanto ancora posso portarmi in una tana di coniglio.
Passaggio 1: Passaggio 1: ho bisogno di un modo per inviare l'assistente Times From Home
Un po' di google aiuta. Alcuni tirarti i capelli aiuta, se in realtà ne hai: PApri il mio componente aggiuntivo Visual Studio Code Editor. Nella cartella Config trova il file configuration.yaml e copia e incolla alcune cose che ho trovato nascoste in alcuni forum. Scusate se mi sono ricordato darei un riconoscimento. Aggiunto il codice e riavviato l'assistente domestico.
Passaggio 2: Passaggio 2: Aggiunto il seguente codice a Configuration.yaml
numero_input:
ft_start_hr:
nome: FT Light Start Hours
icona: mdi:clock-start
minimo: 0
massimo: 23
passo 1
# iniziale: 13
La prima riga sarà l'ID entità del numero di input.
Poi abbiamo bisogno di alcuni dettagli per questo tizio:
Un nome sarà fantastico: FT Light Start Hours per questo P. S. FT sta per Fish Tank… Non è quello che stavi pensando vero?
La prossima è un'icona opzionale. C'è un sacco di cose tra cui scegliere, quindi impazzisci … o no.
Quindi possiamo inserire un valore min, max e step. Dato che sono le ore, ho scelto 0 - 23 con passaggi singoli.
Inizialmente avevo un valore iniziale e quando l'assistente domestico si riavviava lo cambiava in questo valore iniziale. Ho deciso di commentarlo perché volevo che Home Assistant provasse a ricordare l'ultimo valore che avevo impostato per questo.
Puoi mettere in modalità per scegliere una scatola. Ma come impostazione predefinita sceglie un bel dispositivo di scorrimento per te. Penso che uno slider andrà bene per ora.
Sii consapevole delle rientranze in quanto sono molto importanti. Guarda l'immagine
Quindi questi ti daranno entità nell'assistente domestico per essere in grado di adattarti.
Ecco un collegamento a ulteriori informazioni sui numeri di input:
www.home-assistant.io/integrations/input_n…
Passaggio 3: Passaggio 3: ora è necessario ottenere le informazioni sull'API ESPHOME
sensore:
- piattaforma: modello
sensori:
ft_start_hr:
value_template: '{{ States.input_number.ft_start_hr.state | int}}'
n
Questo darà all'API ESPHome la connessione richiesta, così come ora è un numero intero invece di un fantasioso cursore di testo:-P
Qui sta prendendo lo stato del numero di input e lo converte in un numero intero e lo memorizza in un sensore.
Ecco qualche informazione in più sui modelli:
www.home-assistant.io/integrations/tempplat…
Oh, ho cambiato l'estensione del mio file in testo in modo da poterlo caricare… Instructables potrebbe essere distruttibile con uno yaml…
Passaggio 4: Passaggio 4: quindi la configurazione ESPHome della spina ora
Ho iniziato con una configurazione di base per la spina s-on-off e poi ho iniziato ad armeggiare.
Non entrerò nei dettagli su come eseguire il flashing della spina S26 con ESPHome poiché Google ha tutte le risposte.
Il mio file di configurazione completo sarà disponibile per il download alla fine. Da Da Dah…
Quindi iniziamo con la parte collegata a Home Assistant:
Dobbiamo creare sensori che corrispondano ai sensori dell'assistente domestico in modo che possano parlare tra loro.
Passaggio 5: Passaggio 5: la connessione di ESPHome Home Assistant … Beam Me Up Scotty
sensore:
- piattaforma: assistente domestico
entità_id: sensor.ft_start_hr
id: id_ft_start_hr
Quindi ora creiamo un sensore in ESPHome del tipo homeassistant. Chi l'avrebbe mai detto?
L'ID entità dovrà corrispondere a quello che hai impostato nel tuo file configuration.yaml.
Ho impostato un ID in modo che ESPHome possa fare riferimento a questo sensore nella sua abbondanza di pensiero.
Passaggio 6: Passaggio 6: aggiungiamo un po' di tempo
Quindi, essendo questa una presa temporizzata… Aggiungiamo effettivamente un po' di tempo… O si sottrae? Ora è nel passato?
Ecco alcune nozioni di base sulla componente temporale. Possiamo sceglierne di diversi, ma io ho scelto l'assistente domestico. Troppo facile?
esphome.io/components/time.html
Passaggio 7: Passaggio 7: Intervallo
No, non è una pausa, o lo è?
intervallo:
- intervallo: 1sec
poi:
- lambda: |-
id(gl_ft_start_hr) = id(id_ft_start_hr).state;
Quindi ho impostato un intervallo di 1 secondo per scrivere il valore del sensore dall'assistente domestico alla variabile globale.
Voglio solo farlo una volta al secondo mentre il tempo stringe… tic tac
Passaggio 8: Passaggio 8: così abbiamo tempo e denaro… E adesso?
Quindi ho deciso di utilizzare un modello di sensore binario per determinare se è il momento di accendere l'interruttore dell'interruttore… relè
Ho creato tre opzioni con gli id: start_time_valid, stop_time_valid e run_time_valid
start_time_valid è vero quando è passato il tempo impostato per accendere il relè.
Ho usato le istruzioni if annidate per verificare se eravamo maggiori o uguali ai secondi richiesti, quindi ai minuti e infine alle ore.
stop_time_valid è vero quando è ora prima che sia il momento di impostare lo spegnimento dell'interruttore. Questo viene invertito per verificare che ora non sia passato il tempo necessario per spegnere il relè
run_time_valid è vero quando sia start_time_valid che stop_time_valid sono veri. Suppongo che avrei potuto semplicemente usare un normale e una condizione per questo. Sono appena entrato nel vivo delle cose con le lambda.
- piattaforma: modello
nome: "Ora di inizio valida"
id: start_time_valid
lambda: |-
if (id(homeassistant_time).now().hour > id(gl_ft_start_hr)) {
restituire vero;
}
else if (id(homeassistant_time).now().hour == id(gl_ft_start_hr) &&
id(homeassistant_time).now().minute > id(gl_ft_start_mn)) {
restituire vero;
}
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)){
restituire vero;
}
altro {
restituire falso;
}
Passaggio 9: Passaggio 9: ora per alcuni script: "Essere o non essere: questo è il problema"
Hmm script sbagliato amico!
Quindi, se ho collegato l'interruttore… o se la corrente della casa è appena tornata, volevo che l'interruttore sapesse se doveva essere acceso o spento e si comportava di conseguenza. (sì, andiamo tutti a lezione di recitazione)
Il primo ID di script: checkstatuson, sta controllando se siamo fatti per essere attivi e agendo di conseguenza. Ho anche incluso un flag globale con l'id: trackingon, per assicurarmi che questo script venga eseguito solo una volta e non impedisca agli altri miei script di fare la loro parte nel gioco.
Questo ha 3 e condizioni: il relè è spento, dovrebbe essere acceso e non ho già fatto la mia parte. Questo spegnerà quindi qualsiasi altro script in esecuzione, attiverà il relè e imposterà i flag di tracciamento.
Il secondo ID di script: checkstatusoff, è esattamente l'opposto del primo. Stiamo solo controllando se dobbiamo chiudere le tende adesso. Il flag di tracciamento per questo è trackingoff
Eseguo questi due script nell'intervallo di 1 secondo per controllare ogni secondo.
Passaggio 10: Passaggio 10: alcuni script bonus
Altre due funzionalità che volevo aggiungere erano se spegnevo la luce sul serbatoio che si riaccendeva dopo 5 secondi se la luce doveva essere accesa in quel momento. Inoltre, se la luce era spenta e volevo accenderla per vedere i miei pesci ed era fuori dall'orario programmato, si accendeva per 5 minuti. Sì, 5 minuti sono sufficienti… Torna al lavoro.
Il primo ID di script: relayisoff accenderà la luce per 5 minuti se è spento programmato in tempo e poi si spegnerà.
Il secondo script id: relayison è praticamente invertito rispetto al primo e riaccenderà la luce 5 secondi dopo se è destinata ad essere accesa. Chi ha detto che puoi spegnere il mio signore della luce!
Di seguito sono riportate ulteriori informazioni sugli script:
esphome.io/guides/automations.html
Alcune informazioni bonus sugli script sono che non sono bloccanti. A meno che tu non metta un ritardo in un lambda. Uh No No No
Passaggio 11: Passaggio 11: alcune considerazioni finali
Da assistente domestico volevo che l'interruttore agisse allo stesso modo del pulsante.
Non ho messo un nome per l'interruttore locale del sensore binario in quanto non avevo bisogno di vederlo spinto nell'assistente domestico.
Non ho messo un nome per l'interruttore del relè perché volevo usare gli script per fare il passaggio dall'assistente domestico.
Ho creato uno switch modello con un nome in modo da poterlo utilizzare per passare dall'assistente domestico. Eseguirà i miei script allo stesso modo dell'interruttore locale alla spina.
Non ho testato se spegnere il mio assistente domestico se la spina funzionerà ancora correttamente. Lo spero. Ho visto alcuni post su alcuni problemi quando si perde la connessione all'API Home Assistant.
Spero davvero che questo piccolo tutorial ti sia d'aiuto e sentiti libero di aiutarmi a migliorarlo. Non sono un esperto e imparo molto lentamente. Ho solo pensato che alcune cose che ho imparato a fare potrebbero aiutare qualcuno là fuori che lotta per capirlo.
Ora per modificare gli orari nell'assistente domestico in base all'alba e al tramonto…+ - alcuni
Consigliato:
Luce LED temporizzata per capannone solare e alimentata a batteria: 4 passaggi
Luce a LED temporizzata per capannone solare e alimentata a batteria: in questo tutorial ti mostrerò come ho realizzato una luce a LED nel mio capannone. Dato che non ho un collegamento alla rete elettrica, l'ho alimentato a batteria. La batteria viene caricata tramite pannello solare. La luce a LED si accende tramite un interruttore a impulsi e si spegne dopo
Luce diurna per bici da strada e luce laterale visibile 350mA (cella singola): 11 passaggi (con immagini)
Luce diurna per bici da strada e luce laterale visibile da 350 mA (cella singola): questa luce per bici ha LED ambra anteriori e rivolti a 45 ° guidati fino a 350 mA. La visibilità laterale può migliorare la sicurezza in prossimità degli incroci. L'ambra è stata selezionata per la visibilità diurna. La luce è stata installata sul drop sinistro del manubrio. I suoi modelli possono essere disti
Luce d'atmosfera animata e luce notturna: 6 passaggi (con immagini)
Animated Mood Light & Night Light: Avendo un fascino che rasenta l'ossessione per la luce, ho deciso di creare una selezione di piccoli PCB modulari che potrebbero essere utilizzati per creare display luminosi RGB di qualsiasi dimensione. Dopo aver realizzato il PCB modulare mi sono imbattuto nell'idea di disporli in un
Luce notturna con rilevamento della luce commutabile: 8 passaggi (con immagini)
Luce notturna con rilevamento della luce commutabile: questa istruzione mostra come ho violato un sensore di luce notturna in modo che possa essere spento manualmente. Leggi attentamente, fai attenzione a eventuali circuiti aperti e chiudi la tua area se necessario prima del test dell'unità
RaspiWWV - Trasmissione temporizzata audio a onde corte WWV simulata: 10 passaggi (con immagini)
RaspiWWV - Trasmissione temporale audio a onde corte simulata WWV: ricordi i giorni in cui ti sedevi ad ascoltare i segnali orari WWV sulla tua radio a onde corte (tic, tic, tic… Al tono, sarà l'ora…)? (Ascoltalo su YouTube sopra) Oh! Te lo sei perso? Ora puoi (ri) vivere quei momenti e avere y