Activer / désactiver un script

Bonjour,
J’ai créé un script (nommé : alerte rouge) qui dans le principe allume toutes les lumières de la maison en rouge.
Parmi ses lumières j’ai :

  • une ampoule IKEA qui clignote en rouge
  • 3 ruban led utilisant Wled et jouant en effet lui aussi en rouge

Ensuite, j’ai créer un simple bouton qui appel se script.

Le problème que je rencontre est que lorsque que j’appuie sur le bouton pour l’éteindre, seule l’ampoule IKEA s’éteint pas les rubans led.

Comment faire pour que les rubans led s’éteignent aussi ?

D’avance merci

Salut,

un script c’est une séquence d’actions qui se jouent dès qu’il est appelé… il n’a pas de notion d’activation ou de descativation…
Peux tu partager ce que tu à mis dans ce script, pour voir comment les appareils sont allumés?

Perso WLed, j’ai du mal a le contrôler, surtout quant tu fais des segments, il génère des entitiés « light » additionelles qui ne s’etaingnent pas avec l’entité light principale.

L’autre solution serait de faire un scénario pour toutes les éteindre, mais j’aurai préférer un bouton :stuck_out_tongue_winking_eye:

alias: Script - Red alert
sequence:
  - service: select.select_option
    data:
      option: Alerte Rouge
    target:
      entity_id:
        - select.bureau_preset
        - select.salon_preset
        - select.lit_hadrien_preset
    enabled: true
  - type: turn_on
    device_id: 9188d3e8ce2b51e6cc7b948a4a204a18
    entity_id: cee4e3b8397992627b4494f320800538
    domain: light
    brightness_pct: 100
  - type: turn_on
    device_id: d3065b95e4fe96f578e03930a3b629a0
    entity_id: a9317a57dd11163c531bd7f08c3bb906
    domain: light
    brightness_pct: 100
  - type: turn_on
    device_id: ff013c24ce950a4648b265bde2a4fbe3
    entity_id: 0aa83fbb762113eaa8c6b26bcce7e535
    domain: light
    brightness_pct: 100
  - repeat:
      until:
        - condition: device
          type: is_off
          device_id: 9188d3e8ce2b51e6cc7b948a4a204a18
          entity_id: cee4e3b8397992627b4494f320800538
          domain: light
      sequence:
        - service: light.turn_on
          data:
            rgb_color:
              - 235
              - 77
              - 61
            brightness_pct: 100
          target:
            entity_id: light.buffet_light
        - delay:
            hours: 0
            minutes: 0
            seconds: 0
            milliseconds: 500
        - service: light.turn_off
          data: {}
          target:
            entity_id: light.buffet_light
        - delay:
            hours: 0
            minutes: 0
            seconds: 0
            milliseconds: 500
mode: single
icon: mdi:alarm-light

Salut,
Perso, un bouton qui lance une automatisation ou bouton qui lance un script… c’est kiff kiff

Salut,

bon déjà dans ton script, le début semble ok… tu allumes des lumières.
Mais après c’est pas très clair ce que tu essayes de faire. le « repeat until » dedans tu à l’air d n’éteindre qu’une des lumières… et au plus je ne vois pas comment c’est lié à ce bouton dont tu parles…

Une façon de faire serait de faire ça dans une automatisation.
Tu créé un entrée « Interrupteur » virtuel qui matérialisera ton alerte rouge.
L’automatisation se déclenche au changement d’état de l’interrupteur.
Dans les actions, si l’interrupteur est allumé tu allumes tes lumières en rouge. Si l’interrupteur est éteint, tu les éteint.

Sur le principe oui, mais je suis tombé sur ce poste et j’ai trouvé la réflexion plutôt logique donc j’ai voulu m’y conformer.

Ceci étant je ne sais toujours pas comment faire pour éteindre les lampes :wink:

1 « J'aime »

Pour répondre à ton questionnement, il faut savoir que les rubans LEDs clignotent via un Preset de Wled. Par contre l’ampoule LED (ikéa) n’a pas cette option nativement, donc j’ai fait une boucle pour qu’elle s’allume et s’éteint toutes de 500 ms.
Elle s’étendra lorsqu’un des rubans LED s’éteint, car il n’est pas possible de faire une boucle infinie.

C’est à optimiser, mais en attendant, j’ai toujours ce problème d’interrupteur virtuel.
Aujourd’hui, j’ai ce script qui allume les led et j’en ai même fait un autre pour les éteindre toutes.
Par contre, je n’arrive pas à faire de bouton virtuel qui en ON lance le script et en OFF l’arrête.

À noter que j’ai fait les 2 mêmes scripts, mais en automatisation que j’ai désactivée, au cas où ce soit plus simple par ce biais-là.

Franchement, je suis largué sur ce point-là.

Merci pour l’aide que vous pourriez m’apporter.

Dans un template switch tu peux créer une action pour le on et une pour le off

Dans ton cas, c’est un appel du service script.turn_on (dans les 2 cas) vers l’un ou l’autre de tes scripts.
Ensuite tu fais un bouton basé sur le switch

Ok merci pour le lien.
J’ai juste un problème, lorsque je clique sûr ON, j’ai bien le script qui allume les lampes, par contre sur OFF, elles ne s’éteignent pas.
Pourtant, quand je lance manuellement le script fin alerte rouge, elles s’éteignent bien.

switch:
  - platform: template
    switches:
      alerte_rouge:
        turn_on:
          service: script.turn_on
          target:
            entity_id: script.alerte_rouge
        turn_off:
          service: script.turn_on
          target:
            entity_id: script.fin_alerte_rouge

C’est quoi ‹ ON › ? Ton bouton ?
Si oui, quel est son code ? Quelle est son action ?

Ton switch (hors affichage) fonctionne ?

Si ça marche à la main c’est que tu t’es trompé dans la chaine d’appel (carte => bouton => switch => script) … il faut y aller étapes par étapes

Alors, j’ai suivi tes conseils.
J’ai donc créé le switch dans la configuration.yaml (tu as dû voir le code plus haut).
Et ensuite, j’ai ajouté un bouton qui fait appel à ce switch dans mon Dashbord, dont voici le code.

show_name: true
show_icon: true
type: button
tap_action:
  action: toggle
entity: switch.alerte_rouge
show_state: false
name: Alerte Rouge

J’ai aussi testé l’appel au script de fin dans l’outil de dév et il marche. Idéme pour l’allumage

service: script.turn_on
target:
 entity_id: script.fin_alerte_rouge

Je n’arrive pas à comprendre ce qui coince.

Fait pareil (toggle) avec le switch et regarde l’état

Bon, j’ai testé avec Toggle en manuel et ça marche aussi.
Par contre, j’ai redémarré tout HA (MAJ du système) et là plus de problèmes.
J’en ai profité pour éteindre les lampes en fonction de l’état du switch et non pas d’une autre lampe.
Tout fonctionne, je te remercie beaucoup pour ton aide.