Comme d'aucuns ont pu le remarquer, les ampoules connectées s'allument après une coupure secteur (Mi, Hue, Ikea, Tuya, etc...)., c'est logique car si on les actionne depuis un inter d'origine il faut bien que l'ampoule répondre en dehors de tout contexte domotique, bien que certaines, Shelly par exemple, permettent comme les prises commandées et modules de choisir cet état.
Pour palier à ce problème et ne pas retrouver toutes mes ampoules allumées quand je rentre à cause d'une coupure ayant eu lieu dans la journée, j'ai fait un groupe d'ampoules (dans light.yaml) à éteindre après que l'onduleur ait signalé la reprise électrique (ça sous entend bien sur d'avoir configuré un addon sur l'onduleur afin d'avoir le binay_sensor:
idoine).
- platform: group
name: Groupe de Coupure
entities:
- light.tuya_cour_1
- light.tuya_cour_2
- light.tuya_chevet
- light.tuya_strip_antoine
- light.hall_1
- light.hall_2
- light.cuisine_led
- light.sejour_led
- light.cuisine_lampe_de_table
- light.bureau_led_bt
- light.ikea_r14_entree
- light.ikea_e27_tv
Et une petite automation :
- alias: P - Light OFF après reprise électrique
description: ''
trigger:
- platform: state
entity_id: binary_sensor.ups
from: 'off'
to: 'on'
condition: []
action:
- service: light.turn_off
data: {}
entity_id: light.groupe_de_coupure
Ca fonctionne mais ce n'est pas satisfaisant car ça éteint toutes les ampoules, et pas seulement celles qui étaient éteintes avant la coupure. J'ai commencé par me dire qu'idéalement il faudrait connaitre leur état avant la coupure, le stocker dans des input quelque chose et faire une automation de malade à exécuter lors du rétablissement électrique. Ca m'a donné mal au crane et j'ai procrastiné la chose...
Et puis, en discutant dans notre groupe préféré et confidentiel, la lumière jaillit ! Il y a une fonctionnalité souvent peu utilisée dans Home Assistant, ce sont les scènes. En général on crée une scène, genre j'allume des ampoules à telle ou telle intensité ou couleur, je baisse les stores, et je lance un film sur Netflix... Mais, si on lit la doc jusqu'au bout on découvrira que l'on peut également créer des scènes à la volée, un peu comme un snapshoot de l'état de certaines entités.
Et là ça devient très simple. Si une ampoule n'est plus alimentée, elle ne signale pas son état à Home Assistant. Il suffit alors d'enregistrer son état dans une scène dès lors que le binary de l'onduleur passe à OFF :
- alias: P - Sauve l'état des lampes lors d'une coupure
trigger:
- platform: state
entity_id: binary_sensor.ups
from: 'on'
to: 'off'
condition: []
action:
- service: scene.create
data:
scene_id: light_state
snapshot_entities:
- light.tuya_cour_1
- light.tuya_cour_2
- light.tuya_chevet
- light.tuya_strip_antoine
- light.hall_1
- light.hall_2
- light.cuisine_led
- light.sejour_led
- light.cuisine_lampe_de_table
- light.bureau_led_bt
- light.ikea_r14_entree
- light.ikea_e27_tv
Et de restaurer la scène quand celui ci passe à ON :
- alias: P - Restaure l'état des lampes lors d'une coupure
trigger:
- platform: state
entity_id: binary_sensor.ups
from: 'off'
to: 'on'
condition: []
action:
- delay : '00:00:60' # On ajoute une temporisation afin que les ampoules se reconnectent
- service: scene.turn_on
data:
entity_id: scene.light_state
Et on retrouve l'état de l'éclairage avant qu'Enedis ait sévit. Car si les coupures électriques sont peu fréquentes en ville, à la campagne le moindre aléa climatique en provoque, ce qui en dit long sur l'état du réseau.
J'ai pris ici l'exemple de l'éclairage lors d'une coupure secteur. Mais il est tout à fait possible de restaurer ainsi l'état d'autres entités, mais également de s'en servir dans d'autres contextes, par exemple sauvegarder un état d'éclairage avant de fermer les volets ou de regarder un film, et de le restaurer ensuite. Avec Emby (et surement d'autres triggers) on peu par exemple jouer deux états selon que l'on appuie sur PLAY ou PAUSE... La suite n'étant qu'une question d'imagination ;-)