Gestion de Volets roulants via module DIO 433Mhz

L’intégration est simple :

Si tu n’as pas découpé ton fichier configuration.yaml en plusieurs morceaux, il faut coller le code à cet endroit.
Voilà un autre exemple encore plus adapté à ton cas (switch qui n’offre que 2 fonctions on/off). Si on joue avec le switch directement, ça fonctionne ainsi :

  • on => le volet monte, un deuxième on pour le stopper
  • off => le volet descend, un deuxième off pour le stopper
  • si on mélange les on et les off c’est le bazard, le moteur force car alimenté pour faire les 2 mouvements opposés
velux_suite_prop:
    name: "Velux suite"
    travelling_time_up: 23
    travelling_time_down: 23
    close_script_entity_id: script.close_velux_suite_prop
    stop_script_entity_id: script.stop_velux_suite_prop
    open_script_entity_id: script.open_velux_suite_prop
    send_stop_at_ends: True

ça c’est la création de ton volet… qui va appeller tout seul les 3 scripts pour les actions open/stop/close

Tu dois juste définir les temps de montée/descente en secondes (en fonction de comment ça fonctionne chez toi, mais c’est pas indispensable au premier abord)

script:
    open_velux_suite_prop:
    alias: Ouvre le velux de la suite
    sequence:
        - service: switch.turn_on
        data:
            entity_id: switch.velux_suite
        - service: input_text.set_value
        target:
            entity_id: input_text.velux_suite_prop_last
        data:
            value: open
    close_velux_suite_prop:
    alias: Ferme le velux de la suite
    sequence:
        - service: switch.turn_off
        data:
            entity_id: switch.velux_suite
        - service: input_text.set_value
        target:
            entity_id: input_text.velux_suite_prop_last
        data:
            value: close
    stop_velux_suite_prop:
    alias: Stoppe le velux de la suite
    sequence:
        - service: "{% if is_state('input_text.velux_suite_prop_last', 'open') %}
            script.open_velux_suite_prop
            {% elif is_state('input_text.velux_suite_prop_last', 'close') %}
            script.close_velux_suite_prop
            {% endif %}"
        - service: input_text.set_value
        target:
            entity_id: input_text.velux_suite_prop_last
        data:
            value: "{% if is_state('input_text.velux_suite_prop_last', 'open') %}
            stop_open
            {% elif is_state('input_text.velux_suite_prop_last', 'close') %}
            stop_close
            {% endif %}"

ça c’est les 3 scripts en question. Il faut que tu remplaces switch.velux_suite par le bon switch chez toi
et pour que ça marche bien il faut aussi créer l’entrée

input_text:
  velux_suite_prop_last:
    initial: ""

ça va récupérer le dernier mouvement (up/down) pour appeler le ‹ stop › qui va bien et appeler le switch dans les bonnes conditions

Forcement quand tout est correct, il faut relancer le core pour la prise en compte

2 « J'aime »