Script générique

Bonjour,

Pour mes volets que je gère en %, j’utilise l’integration suivante :

Pour chaque volet, je dois déclarer un script :

    volet_1_prop:
      name: "Volet"
      travelling_time_up: 21
      travelling_time_down: 14
      close_script_entity_id: script.close_volet_gen_prop
      stop_script_entity_id: script.stop_volet_gen_prop
      open_script_entity_id: script.open_volet_gen_prop
      send_stop_at_ends: False

ça impose de passer par des scripts et je voudrais éviter d’en garder 3 par volets… Donc j’ai essayé de rendre générique

open_volet_gen_prop:
  sequence:
    - service: cover.open_cover
      data_template:
        entity_id: '{{trigger.entity_id}}'
close_volet_gen_prop:
  sequence:
    - service: cover.close_cover
      data_template:
        entity_id: '{{trigger.entity_id}}'
stop_volet_gen_prop:
  sequence:
    - service: cover.stop_cover
      data_template:
        entity_id: '{{trigger.entity_id}}'

Sauf qu’à prioi c’est pas '{{trigger.entity_id}}' :joy:
Quelqu’un a une piste ?

Toujours besoin d’aide la dessus ?

Il faut passer par des variables dans le script.

Salut,

Réponse tardive, j’avais pas vu ton retour.
J’ai pas rebossé le sujet depuis. Là c’est plutôt comment passer un paramètre qui est nouveau pour moi
si j’en crois la doc, on ferait comme ça pour l’appel ?

# Example configuration.yaml entry
automation:
  trigger:
    platform: state
    entity_id: light.bedroom
    from: "off"
    to: "on"
  action:
    service: script.turn_on
    target:
      entity_id: script.notify_pushover
    data:
      variables:
        title: "State change"
        message: "The light is on!"

et ça pour la gestion ?

# Example configuration.yaml entry
script:
  notify_pushover:
    description: "Send a pushover notification"
    fields:
      title:
        description: "The title of the notification"
        example: "State change"
      message:
        description: "The message content"
        example: "The light is on!"
    sequence:
      - condition: state
        entity_id: switch.pushover_notifications
        state: "on"
      - service: notify.pushover
        data:
          title: "{{ title }}"
          message: "{{ message }}"

Du coup, j’ai fait quelques essais mais pour l’instant c’est conluant

################################################################+
open_volet_gen_prop:
  sequence:
    - service: cover.open_cover
      data_template:
        entity_id: "{{ entity_id }}"
close_volet_gen_prop:
  sequence:
    - service: cover.close_cover
      data_template:
        entity_id: "{{ entity_id }}"
stop_volet_gen_prop:
  sequence:
    - service: cover.stop_cover
      data_template:
        entity_id: "{{ entity_id }}"
################################################################+
open_volet_salon_rue_prop:
  alias: Ouvre le volet du salon coté rue
  sequence:
    - service: script.open_volet_gen_prop
      data_template:
        entity_id: "cover.volet_salon_rue"
close_volet_salon_rue_prop:
  alias: Ferme le volet du salon coté rue
  sequence:
    - service: script.close_volet_gen_prop
      data_template:
        entity_id: "cover.volet_salon_rue"
stop_volet_salon_rue_prop:
  alias: Stoppe le volet du salon coté rue
  sequence:
    - service: script.stop_volet_gen_prop
      data_template:
        entity_id: "cover.volet_salon_rue"

A adapter pour faire l’appel plus en amont

- platform: cover_rf_time_based
  devices:
    volet_salon_rue_prop:
      name: "volet_salon_rue_prop"
      travelling_time_up: 21
      travelling_time_down: 13
      close_script_entity_id: script.close_volet_salon_rue_prop
      stop_script_entity_id: script.stop_volet_salon_rue_prop
      open_script_entity_id: script.open_volet_salon_rue_prop
      # close_script_entity_id: script.close_volet_gen_prop
      # stop_script_entity_id: script.stop_volet_gen_prop
      # open_script_entity_id: script.open_volet_gen_prop

C’est bon du coup ?


Pour la gestion des variables entre scripts : oui
Pour le faire de simplifier la config : non… Coté intégration cover_rf_time_based je suis pas sur qu’on puisse ajouter une variable

Il faut utiliser l’appel du script dans la configuration des volets et pas le service des volets…

La je vais préparer le repas mais on en reparle…

1 « J'aime »

Il va falloir que je m’y colle aussi
Bon réveillon

Je viens de relire et effectivement… Je ne suis pas sûr que ce soit possible…