Automatisation Fenetre Ouverte radiateur fil pilote

Bonjour,

Mon problème

Je souhaite mettre en place un automatisation simple qui en fonction de l’état d’un détecteur d’ouverture modifiera le mode de fonctionnement d’un radiateur électrique.

[select.radiateur_bureau_oco_pilot_wire_mode] dont les valeurs sont
options: comfort, eco, frost_protection, off, comfort_-1, comfort_-2
friendly_name: Radiateur Bureau OCO Pilot wire mode

L’algorithme qui je cherche à implémenter est :
Selon état ouverture capteur (Ouvert ou Fermé)
Faire les actions suivantes :
Etat Ouvert :
Sauvegarder la valeur du mode (cf select.radiateur_bureau_oco_pilot_wire_mode)
Basculer en mode « off »

Etat Fermé :
Basculer en mode = valeur du mode sauvegardée dans l’état ouvert.

Le code YAML que j’ai est :

alias: Test Ouverture Radiateur
description: ""
triggers:
  - type: opened
    device_id: 8f814f832c3db6f026c9e3b4cb2d4ed5
    entity_id: 00cd790893fd8d9dfdd679a9344c03b2
    domain: binary_sensor
    trigger: device
    id: Ouvert
  - type: not_opened
    device_id: 8f814f832c3db6f026c9e3b4cb2d4ed5
    entity_id: 00cd790893fd8d9dfdd679a9344c03b2
    domain: binary_sensor
    trigger: device
    id: Fermé
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Ouvert
        sequence:
          - action: input_text.set_value
            target:
              entity_id: input_text.test_memoire
            data:
              value: "{{select.radiateur_bureau_oco_pilot_wire_mode}}"
          - device_id: c209373586816272be47011f5ef22ec7
            domain: select
            entity_id: 02bec601da343695e3eea50450bc9c7d
            type: select_option
            option: "off"
      - conditions:
          - condition: trigger
            id:
              - Fermé
        sequence:
          - device_id: c209373586816272be47011f5ef22ec7
            domain: select
            entity_id: 02bec601da343695e3eea50450bc9c7d
            type: select_option
            option: "{{input_text.test_memoire}}"
mode: single

et donc ca ne fonctionne pas comme j’aimerai…
je pense que le type de ma variable de sauvegarde n’est pas bon, mais je ne suis même pas convaincu.

Il y aurait il une bonne âme pour m’aider ?

Merci d’avance

kouss

Ma configuration


[center]## System Information

version core-2024.12.4
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.13.0
os_name Linux
os_version 6.6.54-haos
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.1
Stage running
Available Repositories 1501
Downloaded Repositories 13
Home Assistant Cloud
logged_in true
subscription_expiration 28 janvier 2025 à 01:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled true
google_enabled true
cloud_ice_servers_enabled true
remote_server eu-central-1-21.ui.nabu.casa
certificate_status ready
instance_id a2f98c8207b04d6d92b5ad4cad7523c7
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 13.2
update_channel stable
supervisor_version supervisor-2024.12.3
agent_version 1.6.0
docker_version 27.2.0
disk_total 28.0 GB
disk_used 8.5 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board green
supervisor_api ok
version_api ok
installed_addons Home Assistant Google Drive Backup (0.112.1), Mosquitto broker (6.4.1), Zigbee2MQTT (1.42.0-2), Silicon Labs Flasher (0.3.2), File editor (5.8.0), Get HACS (1.3.1), Linky (1.5.0)
Dashboards
dashboards 3
resources 11
views 7
mode storage
Recorder
oldest_recorder_run 5 janvier 2025 à 09:02
current_recorder_run 13 janvier 2025 à 08:27
estimated_db_size 500.63 MiB
database_engine sqlite
database_version 3.45.3
___

Salut @kousskouss

Pourquoi ne pas utiliser l’intégration Versatile Thermostat qui intègre de base cette fonction et plein d’autre très utile dont le délestage par exemple !

Pour ton automatisation je ne saurais pas t’aider !
Désolé

1 « J'aime »

Slt

Il faut le state de cet input !

Vérifier aussi ce que remonte ton input quand tu écris dans
input_text.test_memoire :point_right: value: « {{select.radiateur_bureau_oco_pilot_wire_mode}} »

S’il ne faut pas choisir l’attribue ! de ce radiateur(climate ?)

J’ai mis ici ce que j’utilise :
Ouverture : mémorisation du preset_mode et passage preset_mode à away
Fermeture : remise de la valeur sauvegardée dans le prest_mode.

Récupérer l’état précédent d’une entité - Entraide Home Assistant - Home Assistant Communauté Francophone

Bob

Bonjour,

Je vois 2 grosses erreurs sur les id de trigger

L’usage de majuscule et d’accent

Un aller à la ligne de trop pour l’id

Dans les 2 cas id: ferme de façon similaire pour id: ouvert

Par ailleurs, il faudrait surement revoir le action pour le select

Dans ID de déclenchement tout caractère est autorisé ! Donc pas une erreur !

Exemple
triggers:
  - at: "08:00:00"
    id: 8️⃣Heure
    enabled: true
    trigger: time
  - at: "09:00:00"
    id: 9️⃣Heure
    trigger: time
  - at: "10:00:00"
    id: 1️⃣0️⃣Heure
    trigger: time
  - at: "11:00:00"
    id: 1️⃣1️⃣Heure
    trigger: time

On peut écrire de cette façon aussi , c’est d’ailleurs traduit si plusieurs ID de déclenchement !

Résumé
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - 8️⃣Heure
              - 9️⃣Heure
              - 1️⃣0️⃣Heure
              - 1️⃣1️⃣Heure

L’erreur est surtout (comme dit plus haut) dans :

sequence:
          - action: input_text.set_value
            target:
              entity_id: input_text.test_memoire
            data:
              value: "{{select.radiateur_bureau_oco_pilot_wire_mode}}"
value: "{{states('select.radiateur_bureau_oco_pilot_wire_mode')}}"

Et dans Option pour fermé !

            option: "{{states('input_text.test_memoire')}}"

Par contre je suis pas sûr pour

        sequence:
          - action: input_text.set_value
            target:
              entity_id: input_text.test_memoire
            data:
              value: "{{select.radiateur_bureau_oco_pilot_wire_mode}}"

Mais plus comme cela !

       sequence:
          - target:
              entity_id: input_text.test_memoire
            data:
              value: "{{states('select.radiateur_bureau_oco_pilot_wire_mode')}}"
            action: input_text.set_value

Merci pour ton retour, mais je n’y arrive toujours pas.

J’ai bien modifié :

      - conditions:
          - condition: trigger
            id:
              - Fermé
        sequence:
          - device_id: c209373586816272be47011f5ef22ec7
            domain: select
            entity_id: 02bec601da343695e3eea50450bc9c7d
            type: select_option
            option: "{{states('input_text.test_memoire')}}"

la valeur de [input_text.test_memoire] est à Comfort

mais l’historique d’exécution de l’automatisation me remonte :

Une idée ?

Slt…
Il faut regarder les options de ton « climate » dans développement état.
Voir aussi si dans Actions les commandes possible pour cette entité climate ! et si réagie !

Tu devrais avoir les commandes du climate ! en cherchant Thermostat

Montre la totalité de l’automation

Je ne veux pas interagir sur un thermostat, mais juste réaffecter dans l’automatisation la valeur dans laquelle était le radiateur avant l’ouverture de la fenêtre.

Je n’ai pas précisé que mon module de pilotage de fil pilote est un Nodon SIN4FP21

Alors L’automatisation complète est la suivante :

alias: Test Ouverture Radiateur
description: ""
triggers:
  - type: opened
    device_id: 8f814f832c3db6f026c9e3b4cb2d4ed5
    entity_id: 00cd790893fd8d9dfdd679a9344c03b2
    domain: binary_sensor
    trigger: device
    id: Ouvert
  - type: not_opened
    device_id: 8f814f832c3db6f026c9e3b4cb2d4ed5
    entity_id: 00cd790893fd8d9dfdd679a9344c03b2
    domain: binary_sensor
    trigger: device
    id: Fermé
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Ouvert
        sequence:
          - target:
              entity_id: input_text.test_memoire
            data:
              value: "{{states('select.radiateur_bureau_oco_pilot_wire_mode')}}"
            action: input_text.set_value
          - device_id: c209373586816272be47011f5ef22ec7
            domain: select
            entity_id: 02bec601da343695e3eea50450bc9c7d
            type: select_option
            option: "off"
      - conditions:
          - condition: trigger
            id:
              - Fermé
        sequence:
          - device_id: c209373586816272be47011f5ef22ec7
            domain: select
            entity_id: 02bec601da343695e3eea50450bc9c7d
            type: select_option
            option: "{{states('input_text.test_memoire')}}"
mode: single

dans une autre automatisation (qui fonctionne très bien) je passe les valeurs de l’option en « dur »

alias: Radiateur Bureau OCO
description: ""
triggers:
  - entity_id:
      - input_boolean.radiateur_bureau_oco
    from: "off"
    to: "on"
    id: "ON"
    trigger: state
  - entity_id:
      - input_boolean.radiateur_bureau_oco
    from: "on"
    to: "off"
    id: "OFF"
    trigger: state
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - "ON"
        sequence:
          - device_id: c209373586816272be47011f5ef22ec7
            domain: select
            entity_id: 02bec601da343695e3eea50450bc9c7d
            type: select_option
            option: comfort
      - conditions:
          - condition: trigger
            id:
              - "OFF"
        sequence:
          - device_id: c209373586816272be47011f5ef22ec7
            domain: select
            entity_id: 02bec601da343695e3eea50450bc9c7d
            type: select_option
            option: eco
mode: parallel
max: 10

Problème résolu en mettant en place ce code :

alias: Test Ouverture Radiateur
description: ""
triggers:
  - type: opened
    device_id: 8f814f832c3db6f026c9e3b4cb2d4ed5
    entity_id: 00cd790893fd8d9dfdd679a9344c03b2
    domain: binary_sensor
    trigger: device
    id: Ouvert
  - type: not_opened
    device_id: 8f814f832c3db6f026c9e3b4cb2d4ed5
    entity_id: 00cd790893fd8d9dfdd679a9344c03b2
    domain: binary_sensor
    trigger: device
    id: Fermé
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Ouvert
        sequence:
          - target:
              entity_id: input_text.test_memoire
            data:
              value: "{{states('select.radiateur_bureau_oco_pilot_wire_mode')}}"
            action: input_text.set_value
          - device_id: c209373586816272be47011f5ef22ec7
            domain: select
            entity_id: 02bec601da343695e3eea50450bc9c7d
            type: select_option
            option: "off"
      - conditions:
          - condition: trigger
            id:
              - Fermé
        sequence:
          - choose:
              - conditions:
                  - condition: state
                    entity_id: input_text.test_memoire
                    state: eco
                sequence:
                  - device_id: c209373586816272be47011f5ef22ec7
                    domain: select
                    entity_id: 02bec601da343695e3eea50450bc9c7d
                    type: select_option
                    option: eco
              - conditions:
                  - condition: state
                    entity_id: input_text.test_memoire
                    state: comfort
                sequence:
                  - device_id: c209373586816272be47011f5ef22ec7
                    domain: select
                    entity_id: 02bec601da343695e3eea50450bc9c7d
                    type: select_option
                    option: comfort
              - conditions:
                  - condition: state
                    entity_id: input_text.test_memoire
                    state: "off"
                sequence:
                  - device_id: c209373586816272be47011f5ef22ec7
                    domain: select
                    entity_id: 02bec601da343695e3eea50450bc9c7d
                    type: select_option
                    option: "off"
mode: single

Slt…
Effectivement cela fonctionne !
Le problème vient du mode de traduction des entités (select dans ce cas) de la langue Anglaise vers Française, la 1ere lettre devient une Majuscule
et surtout l’envoie doit-être en anglais, HA la transforme en Français pour nous (dans la langue de ton HA)!
image
Tout va bien si on transforme en minuscule certaine entité comme ECO, mais les autres bug car traduction pas bonne, exemple comfort par Confort.

      preset:
        comfort:
        eco:
        none:
        home: 
        away:
        sleep:
        activity:

C’est pour cela qu’il faut prendre le preset dans l’attribue du climat ! Restera dans la bonne information de preset en Anglais !

Test à faire en mode développement Action sur preset de ton climate !