Le principe: j’ai un ruban LED derrière mon ordi principal. Je veux que celui-ci ne s’allume que lorsque mon ordi est allumé. Pour cela, j’ai créé un binary sensor basé sur un ping.
Lorsque mon ordi est allumé (donc binary sensor = on), le ruban LED doit s’allumer :
En vert si une mise à jour est disponible (je teste l’état de différents binary sensor sur HACS, UniFi, Addon, etc.)
En rouge pour une info importante (exemple si dépassement de seuil d’alerte pour l’espace libre d’un disque)
En bleu dans les autres cas, en temps normal quoi.
Pour tester, je mets volontairement un seuil bas sur un des tests ({{ states (''sensor.disk_use'') | int >= 40 }}).
Ce qui se passe, c’est que le ruban LED s’allume bien en rouge mais 1 ou 2 secondes après, il repasse en bleu.
Qu’est ce que j’ai mal fait ?
Dans l’idéal, j’aimerai aussi pouvoir gérer le cas où mon Mac est éteint et donc le ruban LED ne devrait pas d’éclairer du tout.
Merci pour votre aide.
alias: NOTIF_Eclairage ruban LED Mac Mini
description: Bleu tout est OK, vert pour les mises à jour, rouge si info importante...
trigger:
- platform: time_pattern
minutes: /1
condition:
- condition: or
conditions:
- condition: state
entity_id: binary_sensor.ping_mac_mini_lan
state: 'on'
- condition: state
entity_id: binary_sensor.ping_mac_mini_wifi
state: 'on'
action:
- choose:
- conditions:
- condition: or
conditions:
- condition: state
entity_id: binary_sensor.addons_update
state: 'on'
- condition: state
entity_id: binary_sensor.pihole_update
state: 'on'
- condition: state
entity_id: binary_sensor.hacs_update
state: 'on'
- condition: state
entity_id: input_boolean.ha_mise_a_jour_dispo
state: 'on'
- condition: state
entity_id: binary_sensor.prometheus_update_available
state: 'on'
- condition: state
entity_id: binary_sensor.unifi_update
state: 'on'
- condition: state
entity_id: binary_sensor.proxmox_update
state: 'on'
sequence:
- service: light.turn_on
target:
entity_id: light.esp_led_strip_mac
data:
color_name: darkgreen
- conditions:
- condition: or
conditions:
- condition: template
value_template: '{{ states (''sensor.disk_use'') | int >= 40 }}'
- condition: template
value_template: >-
{{ states ('sensor.prometheus_volume_1_volume_used') | int >=
85 }}
- condition: template
value_template: >-
{{ states ('sensor.prometheus_volume_2_volume_used') | int >=
95 }}
- condition: template
value_template: >-
{{ states ('sensor.prometheus_volume_3_volume_used') | int >=
95 }}
sequence:
- service: light.turn_on
target:
entity_id: light.esp_led_strip_mac
data:
color_name: darkred
flash: short
default:
- service: light.turn_on
target:
entity_id: light.esp_led_strip_mac
data:
color_name: darkblue
mode: single
Comportement étrange vu que le déclencheur est toutes les minutes…
En l’état, je n’ai personnellement rien remarqué de bizarre dans ton code.
Néanmoins, le déclencheur toutes les minutes ne me semble pas approprié. Je le remplacerais par le passage à Vrai de l’un des deux capteurs de présence du PC.
Et en faisant cela, tu peux ajouter une automatisation (ou des declencheurs) quand ces deux capteurs sont à Faux pour éteindre le ruban pour répondre à ta dernière demande.
Concernant ton automatisation actuelle, regarde ce qui se passe dans la vue historique de l’automatisation ou ajoute l’envoi ou la création de notification a chaque étape pour aider au débogage
Merci @Clemalex. J’ai trouvé le coupable à l’instant… et c’était tout bête.
C’était : flash: short !
Je pensais en l’activant que cela devait faire des courts flash comme son nom semblait l’indiquer. Je ne m’attendais pas à ce que cela s’allume juste 1-2 secondes
Par contre, pas sur de comprendre ce que tu veux dire avec cela :
Tu veux dire que je pourrais faire cela dans une seule et même automatisation ? Une seule automatisation pour gérer les différents modes d’allumage du ruban si le PC est démarré et éteindre le ruban si le PC est arrêté. Je vois comment faire en fait
Punaise @Clemalex, tu es absolument trop fort ! Ça marche parfaitement comme cela ! Merci.
Je crois que c’est d’ailleurs l’automatisation la plus complexe que j’ai actuellement grâce à toi.