Bonjour,
Description de la situation :
-
le matériel :
– Sur une multiprise classique, j’ai la tv, la chaine hifi, le magnétoscope.
– A proximité, j’ai un éclairage d’ambiance non branché sur la multiprise -
utilisation :
– quand je vais me coucher ou que je quitte le domicile je « switch off » cette multiprise
– quand je me lève ou que je rentre au domicile je « switch on » cette multiprise
– s’il fait nuit et que je regarde la tv, j’allume l’éclairage durant cette période -
précisions :
– si j’écoute de la musique je ne suis pas forcément être dans la pièce, donc pas de lumière
– si j’enregistre la tv avec le magnétoscope, je ne « switchoff » pas la multiprise
Il y a une prise intelligente (on / off / mesure du courant) sur la tv et sur la lumière.
Ce que j’essaye de faire :
- si je regarde la tv :
– de jour, pas de lumière
– de nuit, lumière
– allumage ou extinction automatique de la lumière si je regarde la TV et que la nuit arrive ou s’en va.
Mon problème :
Je découvre Home Assistant et j’essaye les automatismes.
Quand on passe du visuel à yaml, le nom des prises est remplacé par une chaine alphanumérique.
Par exemple avec l’éditeur visuel, j’ai quelque chose comme :
- switch.smart_plug_telev_socket_1 pour la télé
- switch.smart_plug_lamp_socket_1 pour la lampe
et quand j’ouvre avec yaml ça devient : - entity_id: cb78264eac9eijklm2bedb2cddc2a65 pour la télé
- entity_id: ddb16eabcdef9d021a13b3154e6d2a pour la lampe
Quand on programme dans yaml, il y a plusieurs structures d’écriture ensemble pour faire la même chose. Un peu comme du code séquentielle et POO.
Avec le soleil, il y a de nombreuses infos, lever ou coucher du jour, lever ou coucher du soleil, etc.
Je me base sur la puissance consommée pour savoir si la télé et la lampe sont allumées.
Ce que je suis arrivé à faire progressivement :
- Si manuellement sur la prise, j’éteins la télé et que la lampe consomme, j’éteins automatiquement la lampe.
- Si manuellement sur la prise j’allume la télé et que la lampe ne consomme pas, j"allume automatiquement la lampe.
Ca fait 2 automatismes distinctifs.
J’ai voulu simplifier avec le changement de consommation de la télé,
mais je n’ai pas réussi à intégrer la condition
– si la consommation de la lampe != 0.0 W
– alors éteindre
– sinon allumer.
Après j’aurais intégré un test sur la consommation de la télé, pour considérer si elle est en veille ou pas.
Pour que la différence nuit/jour soit prise en compte j’ai utilisé l’évènement sun prochain coucher et sun prochain lever.
Mais ça ne fonctionne qu’au changement d’état.
- Si la télé est déjà allumée avant que le soleil se couche, la lampe s"allume.
- Si j’allume la télé après le coucher du soleil, la lampe ne s’allume pas.
- Si la télé est déjà allumée avant que le soleil se lève, la lampe s’éteint.
Dans mes recherches, j’ai trouvé la position du soleil par rapport à l’horizon.
C’est cette dernière qui a ma préférence, car avec une valeur négative il fait nuit et une valeur positive il fait jour.
Là encore, je n’arrive pas à structurer l’automatisme.
Sur le papier ça fonctionne, et aussi en C avec arduino, un bouton poussoir (pour basculer de jour à nuit) et 2 leds, ça fonctionne aussi.
J’ai lu YAML Ain’t Markup Language (YAML™) revision 1.2.2 , mais il n’y a aucune explication sur les if else and or que l’on retrouve dans des exemples yaml utilisés avec Home Assistant.
Je ne sais que mettre dans le trigger (j’ai envisagé le changement de seconde) et pas encore comment faire une condition sur la position du soleil, la consommation de la télé et de la lampe.
Pour finir :
- quelle valeur traiter pour la télé quand j’éteins manuellement le multiprise pour éteindre les appareils en veille (télé, hifi, magnétoscope) alors que la prise télé ne communiquera pas ?
- combien de temps faut-il attendre pour avoir une valeur de la prise télé quand j’allume manuellement le multiprise ?
- que se passera-t-il lors d’une coupure de courant :
– en journée,
– la nuit,
– commençant le jour et finissant la nuit,
– commençant la nuit et finissant le jour
Il me semble que tout est là.
Merci du temps passer à me lire et à celui employé à me proposer des explications, les liens ou tuto, des solutions.
Je ne demande pas une solution toute faite, mais à m’aider à comprendre comment le faire bien.