Table des matières:
- Étape 1: Étape 1: J'ai besoin d'un moyen d'envoyer les heures de l'assistant à domicile
- Étape 2: Étape 2: Ajout du code suivant à Configuration.yaml
- Étape 3: Étape 3: Nous devons maintenant obtenir les informations sur l'API ESPHOME
- Étape 4: Étape 4: Donc la configuration ESPHome de la prise maintenant
- Étape 5: Étape 5: la connexion ESPHome Home Assistant… Beam Me Up Scotty
- Étape 6: Étape 6: Ajoutons du temps
- Étape 7: Étape 7: Intervalle
- Étape 8: Étape 8: Nous avons donc du temps et de l'argent… Et ensuite ?
- Étape 9: Étape 9: Maintenant pour certains scripts: « Être ou ne pas être: telle est la question »
- Étape 10: Étape 10: Quelques scripts bonus
- Étape 11: Étape 11: Quelques réflexions finales
Vidéo: Éclairage temporisé ESPHOME SONOF S26 : 11 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Bonne journée. J'ai donc une lampe d'aquarium que je veux allumer et éteindre à un certain moment de la journée. Je devais juste me compliquer les choses. Je souhaite pouvoir modifier l'heure à laquelle il s'allume et s'éteint à partir de mon tableau de bord Home Assistant. Peut-être même plus.
Voyons donc à quel point je peux me mettre dans un terrier de lapin.
Étape 1: Étape 1: J'ai besoin d'un moyen d'envoyer les heures de l'assistant à domicile
Certains googler aide. Un peu de vous arracher les cheveux aide, si vous en avez réellement:POuvrez mon module complémentaire Visual Studio Code Editor. Dans le dossier Config, recherchez le fichier configuration.yaml et copiez et collez des éléments que j'ai trouvés cachés dans un forum. Désolé si je me souvenais, je donnerais un accusé de réception. Ajout du code et redémarrage de l'assistant à domicile.
Étape 2: Étape 2: Ajout du code suivant à Configuration.yaml
nombre_entrée:
ft_start_hr:
nom: FT Light Start Hours
icône: mdi: démarrage de l'horloge
min: 0
maximum: 23
étape 1
# initiale: 13
La première ligne sera l'identifiant de l'entité du numéro d'entrée.
Ensuite, nous avons besoin de quelques détails pour ce petit gars:
Un nom sera génial: FT Light Start Hours pour celui-ci P. S. FT est pour Fish Tank… Ce n'est pas ce que vous pensiez, n'est-ce pas ?
Vient ensuite une icône facultative. Il y a beaucoup de choix alors devenez fou… ou pas.
Ensuite, nous pouvons entrer une valeur min, max et step. Comme il s'agit d'heures, j'ai choisi 0 - 23 avec des étapes simples.
Au départ, j'avais une valeur initiale et lorsque l'assistant à domicile redémarrait, il la changeait en cette valeur initiale. J'ai décidé de le commenter car je voulais que Home Assistant essaie de se souvenir de la dernière valeur que j'avais définie pour cela.
Vous pouvez mettre en mode choisir une case. Mais par défaut, il choisit un joli curseur pour vous. Je pense qu'un curseur fera l'affaire pour le moment.
Soyez conscient des indentations car elles sont très importantes. Voir l'image
Ceux-ci vous donneront donc des entités dans l'assistant à domicile pour pouvoir vous ajuster.
Voici un lien vers plus d'informations sur les numéros d'entrée:
www.home-assistant.io/integrations/input_n…
Étape 3: Étape 3: Nous devons maintenant obtenir les informations sur l'API ESPHOME
capteur:
- plateforme: modèle
capteurs:
ft_start_hr:
value_template: '{{ states.input_number.ft_start_hr.state | entier }}'
m
Cela donnera à l'API ESPHome la connexion requise, et il s'agit désormais d'un entier au lieu d'un curseur de texte fantaisie:-P
Ici, il prend l'état du nombre d'entrée et le convertit en un entier et le stocke dans un capteur.
Voici quelques informations supplémentaires sur les modèles:
www.home-assistant.io/integrations/templat…
Oh, j'ai changé l'extension de fichier de mon fichier en texte pour que je puisse le télécharger… Les instructables peuvent être destructibles avec un yaml…
Étape 4: Étape 4: Donc la configuration ESPHome de la prise maintenant
J'ai commencé avec une configuration de base pour la prise s-on-off, puis j'ai commencé à bricoler.
Je n'entrerai pas dans les détails sur la façon de flasher la prise S26 avec ESPHome car google a toutes les réponses.
Mon fichier de configuration complet sera disponible en téléchargement à la fin. Da Da Dah…
Commençons donc par la partie liée à Home Assistant:
Nous devons créer des capteurs qui correspondent aux capteurs de l'assistant domestique afin qu'ils puissent se parler.
Étape 5: Étape 5: la connexion ESPHome Home Assistant… Beam Me Up Scotty
capteur:
- plateforme: assistante à domicile
entity_id: sensor.ft_start_hr
identifiant: id_ft_start_hr
Alors maintenant, nous créons un capteur dans ESPHome du type homeassistant. Qui l'aurait deviné ?
L'identifiant de l'entité devra correspondre à ce que vous avez configuré dans votre fichier configuration.yaml.
J'ai configuré un identifiant pour qu'ESPHome puisse référencer ce capteur dans son abondance de réflexion.
Étape 6: Étape 6: Ajoutons du temps
Donc, avec ceci étant une prise chronométrée… Ajoutons en fait du temps… Ou est-ce soustrait ? C'est maintenant du passé ?
Voici quelques notions de base de la composante temps. Nous pouvons en choisir d'autres mais j'ai choisi homeassistant. Trop facile?
esphome.io/components/time.html
Étape 7: Étape 7: Intervalle
Non ce n'est pas une pause, ou est-ce?
intervalle:
- intervalle: 1sec
alors:
- lambda: |-
id(gl_ft_start_hr) = id(id_ft_start_hr).state;
J'ai donc défini un intervalle de 1 seconde pour écrire la valeur du capteur de l'assistant domestique dans la variable globale.
Je veux juste le faire une fois par seconde car le temps passe… tic tac
Étape 8: Étape 8: Nous avons donc du temps et de l'argent… Et ensuite ?
J'ai donc décidé d'utiliser un modèle de capteur binaire pour déterminer s'il est temps d'allumer l'interrupteur interrupteur interrupteur… relais
J'ai créé trois commutateurs avec les identifiants: start_time_valid, stop_time_valid et run_time_valid
start_time_valid est vrai lorsqu'il est maintenant passé l'heure configurée pour allumer le relais.
J'ai utilisé des instructions if imbriquées pour vérifier si nous étions supérieurs ou égaux aux secondes requises, puis aux minutes et enfin aux heures.
stop_time_valid est vrai lorsqu'il est maintenant avant qu'il ne soit temps de mettre le commutateur hors tension. Ceci est inversé pour vérifier que maintenant n'a pas dépassé le temps requis pour éteindre le relais
run_time_valid est vrai lorsque start_time_valid et stop_time_valid sont vrais. Je suppose que j'aurais pu simplement utiliser une condition normale et pour celui-ci. Je viens d'entrer dans le vif du sujet avec les lambdas.
- plateforme: modèle
nom: "Heure de début valide"
identifiant: heure_début_valide
lambda: |-
if (id(homeassistant_time).now().hour > id(gl_ft_start_hr)) {
renvoie vrai;
}
else if (id(homeassistant_time).now().hour == id(gl_ft_start_hr) &&
id(homeassistant_time).now().minute > id(gl_ft_start_mn)) {
renvoie vrai;
}
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)){
renvoie vrai;
}
autre {
renvoie faux;
}
Étape 9: Étape 9: Maintenant pour certains scripts: « Être ou ne pas être: telle est la question »
Hmm mauvais script mec !
Donc, si je branchais l'interrupteur… ou si l'alimentation de la maison venait juste de revenir, je voulais que l'interrupteur sache s'il est censé être allumé ou éteint et agisse en conséquence. (oui on va tous prendre des cours de théâtre)
Le premier identifiant de script: checkstatuson, vérifie si nous sommes censés être activés et agit en conséquence. J'ai également inclus un indicateur global avec l'identifiant: trackingon, pour m'assurer que ce script n'est exécuté qu'une seule fois et n'empêche pas mes autres scripts de jouer leur rôle dans la pièce.
Cela a 3 et conditions: le relais est éteint, c'est censé être allumé et je n'ai pas encore fait ma part. Cela désactivera ensuite tous les autres scripts en cours d'exécution, activera le relais et définira les indicateurs de suivi.
Le deuxième identifiant de script: checkingstatusoff, est exactement le contraire du premier. Nous vérifions juste si nous devons fermer les rideaux maintenant. Le drapeau de suivi pour celui-ci est trackingoff
J'exécute ces deux scripts dans l'intervalle de 1 seconde pour vérifier chaque seconde.
Étape 10: Étape 10: Quelques scripts bonus
Deux autres fonctionnalités que je voulais ajouter étaient que si j'éteignais la lumière au niveau du réservoir, elle se rallumerait après 5 secondes si la lumière est censée être allumée à ce moment-là. De plus, si la lumière était éteinte et que je voulais l'allumer pour voir mes poissons et qu'elle était en dehors de l'heure prévue, elle s'allumait pendant 5 minutes. Oui 5 minutes c'est assez long… Remettez-vous au travail.
Le premier identifiant de script: relayisoff allumera la lumière pendant 5 minutes si elle est éteinte à l'heure prévue, puis s'éteindra.
Le deuxième script id: relayison est pratiquement inversé par rapport au premier et rallumera la lumière 5 secondes plus tard s'il est censé être allumé. Qui a dit que vous pouviez éteindre ma lumière monsieur !
Voici quelques informations supplémentaires sur les scripts:
esphome.io/guides/automations.html
Certaines informations bonus sur les scripts sont qu'ils ne sont pas bloquants. Sauf si tu mets un delay dans un lambda.euh non non non
Étape 11: Étape 11: Quelques réflexions finales
De l'assistant à domicile, je voulais que le commutateur agisse de la même manière que le bouton.
Je n'ai pas mis de nom pour le commutateur local du capteur binaire car je n'avais pas besoin de le voir poussé dans l'assistant domestique.
Je n'ai pas mis de nom pour le commutateur de relais car je voulais utiliser les scripts pour effectuer la commutation depuis l'assistant domestique.
J'ai créé un modèle de commutateur avec un nom afin que je puisse l'utiliser pour passer de l'assistant à domicile. Il exécutera mes scripts de la même manière que le commutateur local au niveau de la prise.
Je n'ai pas testé si la mise hors tension de mon assistant domestique si la prise fonctionne toujours correctement. Je l'espère. J'ai vu des articles sur certains problèmes lors de la perte de connexion à l'API Home Assistant.
J'espère vraiment que ce petit tutoriel vous aidera et n'hésitez pas à m'aider à l'améliorer. Je ne suis pas un expert et j'apprends très lentement. Je pensais juste que certaines choses que j'avais apprises à faire pourraient aider quelqu'un qui a du mal à le comprendre.
Maintenant, pour changer les heures dans l'assistant à domicile en fonction du lever et du coucher du soleil…+ - quelques-uns
Conseillé:
Lampe LED de bureau intelligente - Éclairage intelligent avec Arduino - Espace de travail Neopixels : 10 étapes (avec photos)
Lampe LED de bureau intelligente | Éclairage intelligent avec Arduino | Espace de travail Neopixels : maintenant, nous passons beaucoup de temps à la maison, à étudier et à travailler virtuellement, alors pourquoi ne pas agrandir notre espace de travail avec un système d'éclairage personnalisé et intelligent basé sur les LED Arduino et Ws2812b. Ici, je vous montre comment construire votre Smart Lampe LED de bureau qui
Horloge murale explosive bricolage avec éclairage de mouvement : 20 étapes (avec photos)
DIY Exploding Wall Clock With Motion Lighting: Dans cette instructable / vidéo, je vais vous montrer étape par étape comment créer une horloge murale créative et unique avec un système d'éclairage de mouvement intégré. Cette idée de conception d'horloge tout à fait unique est orientée pour rendre l'horloge plus interactive . Quand je marche
Support de casque simple bricolage avec éclairage subtil: 19 étapes (avec photos)
Support de casque simple bricolage avec éclairage subtil : dans ce Instructable, je vais vous montrer comment faire un support de casque simple et compact avec un éclairage subtil à l'arrière, en utilisant des matériaux peu coûteux et des outils de base. Pinces Fer à souder
Contrôlez votre portail coulissant automatique avec Home Assistant et ESPHome : 5 étapes (avec photos)
Contrôlez votre portail coulissant automatique avec Home Assistant et ESPHome : L'article suivant est un retour d'expérience sur mon expérience personnelle de contrôle du portail coulissant automatique que j'avais installé sur ma maison. Ce portail, de marque "V2 Alfariss", était fourni avec quelques télécommandes Phox V2 pour le contrôler. J'ai aussi
Interrupteur d'éclairage télécommandé Bluetooth - Rénovation. L'interrupteur d'éclairage fonctionne toujours, pas d'écriture supplémentaire. : 9 étapes (avec images)
Interrupteur d'éclairage télécommandé Bluetooth - Rénovation. L'interrupteur d'éclairage fonctionne toujours, pas d'écriture supplémentaire. : Mise à jour du 25 novembre 2017 -- Pour une version haute puissance de ce projet qui peut contrôler les kilowatts de charge, voir Retrofit BLE Control to High Power Loads - No Extra Wiring Required Update 15th November 2017 - Certaines cartes BLE / piles logicielles livraient