[Tuto] Installer sa pergola Zenisun sur Home Assistant

Bonjour,

À l’intention des nouveaux utilisateurs de Home Assistant, ainsi que de ceux qui effectuent la transition de Jeedom à Home Assistant et pour tous les autres…
Je vais faire une copie de mon fichiers yaml sur ce topic.

Tout d’abord, je tiens à préciser que je ne suis pas programmeur, mais plutôt un bricoleur. J’ai puisé de nombreuses informations sur ce forum, ainsi que sur celui de Jeedom et le forum Construire. Il convient également de noter que Zenisun n’existe plus en raison d’une décision judiciaire ayant entraîné sa liquidation.

Il est nécessaire d’attribuer une adresse IP fixe depuis la box, ce qui dépend de la box ainsi que du fournisseur.

Merci à:MikeBZH44,bart40140,CrottyFr,golfvert,Chris73 et d’un autre forum à Aior et WInd06
Si vous avez un problème de maintenance avec votre pergola, vous pourrez glaner des informations pour la réparer vous même sur le site forum construire https://www.forumconstruire.com/groupes/468913_zenisun.php ou https://www.forumconstruire.com/construire/topic-425853-pergola-bioclimatique-domotique.php ou https://www.forumconstruire.com/recits/recit-40583.php

Ma pergola fonctionne avec une automatition qui vérifie la position du soleil par rapport à ma résidence ainsi que les données de ma station météorologique Netatmo concernant la température et les précipitations. Si vous souhaitez recevoir ce fichier au format YAML, n’hésitez pas à me le faire savoir.

Tout d’abord, avant de me rendre au travail, je vous prie de trouver ci-joint mon fichier YAML. Il est impératif que vous remplaciez, à côté de chaque ligne, l’adresse IP par la vôtre, en veillant à modifier uniquement la partie 192.168.0.100 ; le reste doit demeurer inchangé.

Exemple "http://192.168.0.100/zns.cgi?cmd=d&p=os" par "http://192.168.1.25/zns.cgi?cmd=d&p=os"

Quelques coquilles se cachent dans mes codes des slider. Impossible pour le moment d’éteindre correctement les lumières ou de fermer complètement le lames. La seule solution est d’utiliser un bouton off à part.

La partie lumière (fonctionnent pas correctement)

light:
  - platform: template
    lights:
      slider_pergola:
        friendly_name: "slider pergola"
        unique_id: binary_sensor.pergola_slider
        level_template: "{{ states('sensor_pergola_position des lames_mot0')|int(0) }}"
        value_template: >-
          {% if (states('sensor_pergola_position des lames_mot0')|int(0)) == 0 %}
            off
          {% else %}
            on
          {% endif %}
        icon_template: >-
          {% if (states('sensor_pergola_position des lames_mot0')|int(0)) == 0 %}
            mdi:lightbulb-off
          {% else %}
            mdi:lightbulb-on
          {% endif %}
        turn_on:
          action: rest_command.pergola_slider
          data:
            pwm: 100
        turn_off:
          action: rest_command.pergola_slider
          data:
            pwm: 0
        set_level:
          action: rest_command.pergola_slider
          data:
            pwm: "{{ brightness }}"

  - platform: template
    lights:
      pergola_lumiere:
        unique_id: "Lumière pergola dimmer"
        level_template: "{{ states.sensor.pergola_dimmer.state|int }}"
        value_template: "{{ states.sensor.pergola_dimmer.state|int > 0 }}"
        turn_on:
          - action: rest_command.pergola_set_light_on
          - action: homeassistant.update_entity
            entity_id: sensor.pergola_dimmer
        turn_off:
          - action: rest_command.pergola_set_light_off
          - action: homeassistant.update_entity
            entity_id: sensor.pergola_dimmer
        set_level:
          - action: rest_command.pergola_set_brightnesslevel
            data:
              brightness: "{{ brightness }}"
          - action: homeassistant.update_entity
            entity_id: sensor.pergola_dimmer

La partie sensor:

sensor:
  - platform: rest
    resource: "http://192.168.0.100/zns.cgi?cmd=d&p=os"
    name: light_sensor_pergola_white
    unique_id: binary_sensor.light_pergola_white
    scan_interval: 5
    value_template: "{{ value_json['root']['gpo6'].split(';')[0] }}"

  - platform: rest
    resource: "http://192.168.0.100/zns.cgi?cmd=d&p=os"
    name: sensor_pergola_position des lames_mot0
    unique_id: binary_sensor.sensor_pergola_position des lames_mot0
    scan_interval: 5
    value_template: "{{ value_json['root']['Mot0'].split(';')[0] }}"

  - platform: rest
    resource: "http://192.168.0.100/zns.cgi?cmd=d&p=ios"
    name: sensor_pergola_temp inter
    unique_id: binary_sensor.sensor_pergola_temp inter
    scan_interval: 600
    value_template: "{{ value_json['root']['Temp'].split(';')[0] }}"

  - platform: rest
    resource: "http://192.168.0.100/zns.cgi?cmd=d&p=ios"
    name: sensor_pergola_conso
    unique_id: binary_sensor.sensor_pergola_conso
    scan_interval: 600
    value_template: "{{ value_json['root']['VDC2'].split(';')[0] }}"

  - platform: rest
    resource: "http://192.168.0.100/zns.cgi?cmd=d&p=ios"
    name: sensor_pergola_mode
    unique_id: binary_sensor.sensor_pergola_mode
    scan_interval: 10
    value_template: "{{ value_json['root']['user'].split(';')[0] }}"

  - platform: template
    sensors:
      pergola_mode_display:
        unique_id: "pergola_mode_display"  # Identifiant unique pour ce capteur
        friendly_name: "Affichage Mode Pergola"
        value_template: >-
          {% set mode = states('sensor.sensor_pergola_mode') | int %}
          {% if mode == 4 %}
              Ombrage Mini (4)
          {% elif mode == 8 %}
              Mode Hivernage (8)
          {% elif mode == 1 %}
              Fermeture si Pluie (1)
          {% elif mode == 2 %}
              Suivi Solaire (2)
          {% else %}
            Mode inconnu
          {% endif %}


rest_command:
  pergola_set_rain_off:
    url: http://192.168.0.100/zns.cgi?cmd=u&p=3&v={{ (0 | int *1) + (is_state('binary_sensor.pergola_suntracking','on') | int *2) + (is_state('binary_sensor.pergola_shade','on') | int *4) + (is_state('binary_sensor.pergola_winter','on') | int *8) }}
    method: get
  
  pergola_set_rain_on:
    url: http://192.168.0.100/zns.cgi?cmd=u&p=3&v={{ (1 | int *1) + (is_state('binary_sensor.pergola_suntracking','on') | int *2) + (is_state('binary_sensor.pergola_shade','on') | int *4) + (is_state('binary_sensor.pergola_winter','on') | int *8) }}
    method: get

  pergola_set_suntracking_off:
    url: http://192.168.0.100/zns.cgi?cmd=u&p=3&v={{ (is_state('binary_sensor.pergola_rain','on') | int *1) + (0 | int *2) + (is_state('binary_sensor.pergola_shade','on') | int *4) + (is_state('binary_sensor.pergola_winter','on') | int *8) }}
    method: get
  
  pergola_set_suntracking_on:
    url: http://192.168.0.100/zns.cgi?cmd=u&p=3&v={{ (is_state('binary_sensor.pergola_rain','on') | int *1) + (1 | int *2) + (is_state('binary_sensor.pergola_shade','on') | int *4) + (is_state('binary_sensor.pergola_winter','on') | int *8) }}
    method: get

  pergola_set_winter_off:
    url: http://192.168.0.100/zns.cgi?cmd=u&p=3&v={{ (is_state('binary_sensor.pergola_rain','on') | int *1) + (is_state('binary_sensor.pergola_suntracking','on') | int *2) + (is_state('binary_sensor.pergola_shade','on') | int *4) + (0 | int *8) }}
    method: get
  
  pergola_set_winter_on:
    url: http://192.168.0.100/zns.cgi?cmd=u&p=3&v={{ (is_state('binary_sensor.pergola_rain','on') | int *1) + (is_state('binary_sensor.pergola_suntracking','on') | int *2) + (is_state('binary_sensor.pergola_shade','on') | int *4) + (1 | int *8) }}
    method: get

  pergola_set_motorlevel:
    url: http://192.168.0.100/zns.cgi?cmd=m&m=1&p={{ (((position * states.sensor.pergola.attributes['Mot0'].split(';')[2]|int) * states.sensor.pergola.attributes['Mot0'].split(';')[1]|int)/100) | round(0) }}
    method: get
  
  pergola_set_motorlevel_close:
    url: http://192.168.0.100/zns.cgi?cmd=m&m=1&p={{ states.sensor.pergola.attributes['Mot0'].split(';')[1]| int }}
    method: get
  
  pergola_set_motorlevel_open:
    url: http://192.168.0.100/zns.cgi?cmd=m&m=1&p=0
    method: get
  
  pergola_set_sundelay:
    url: http://192.168.0.100/zns.cgi?cmd=u&p=4&v={{ urlInput | round(0) }}
    method: get

  pergola_set_shade_off:
    url: http://192.168.0.100/zns.cgi?cmd=u&p=3&v={{ (is_state('binary_sensor.pergola_rain','on') | int *1) + (is_state('binary_sensor.pergola_suntracking','on') | int *2) + (0 | int *4) + (is_state('binary_sensor.pergola_winter','on') | int *8) }}
    method: get
  
  pergola_set_shade_on:
    url: http://192.168.0.100/zns.cgi?cmd=u&p=3&v={{ (is_state('binary_sensor.pergola_rain','on') | int *1) + (is_state('binary_sensor.pergola_suntracking','on') | int *2) + (1 | int *4) + (is_state('binary_sensor.pergola_winter','on') | int *8) }}
    method: get

  pergola_set_brightnesslevel:
    url: http://192.168.0.100/zns.cgi?cmd=l&o=64&p={{ brightness }}
    method: GET
  
  pergola_set_light_off:
    url: http://192.168.0.100/zns.cgi?cmd=l&o=64&p=0
    method: GET
  
  pergola_set_light_on:
    url: http://192.168.0.100/zns.cgi?cmd=l&o=64&p=25
    method: GET
  
  pergola_set_time:
    url: http://192.168.0.100/zns.cgi?cmd=u&p=0&v={{ utcnow().strftime("%s") | timestamp_utc() }}
    method: GET
  
  pergola_set_latitude:
    url: http://192.168.0.100/zns.cgi?cmd=f&p=41&v=7.480043
    method: GET
  
  pergola_set_longitude:
    url: http://192.168.0.100/zns.cgi?cmd=f&p=42&v=48.123057
    method: GET

  pergola_set_orientation:
    url: http://192.168.0.100/zns.cgi?cmd=u&p=10&v=235
    method: GET

La partie switch:

switch:
  - platform: template
    switches:
      pergola_switch_rain:
  - platform: template
    switches:
      pergola_switch_rain:
        unique_id: "Pergola: fermeture si pluie"
        value_template: "{{ is_state('input_boolean.pergola_rain', 'on') }}"
        turn_on:
          - action: rest_command.pergola_set_rain_on
          - action: input_boolean.turn_on
            entity_id: input_boolean.pergola_rain
        turn_off:
          - action: rest_command.pergola_set_rain_off
          - action: input_boolean.turn_off
            entity_id: input_boolean.pergola_rain

      pergola_switch_suntracking:
        unique_id: "Pergola: suivi solaire"
        value_template: "{{ is_state('input_boolean.pergola_suntracking', 'on') }}"
        turn_on:
          - action: rest_command.pergola_set_suntracking_on
          - action: input_boolean.turn_on
            entity_id: input_boolean.pergola_suntracking
        turn_off:
          - action: rest_command.pergola_set_suntracking_off
          - action: input_boolean.turn_off
            entity_id: input_boolean.pergola_suntracking

      pergola_switch_shade:
        unique_id: "Pergola: ombrage minimum"
        value_template: "{{ is_state('input_boolean.pergola_shade', 'on') }}"
        turn_on:
          - action: rest_command.pergola_set_shade_on
          - action: input_boolean.turn_on
            entity_id: input_boolean.pergola_shade
        turn_off:
          - action: rest_command.pergola_set_shade_off
          - action: input_boolean.turn_off
            entity_id: input_boolean.pergola_shade

      pergola_switch_winter:
        unique_id: "Pergola: hivernage"
        value_template: "{{ is_state('input_boolean.pergola_winter', 'on') }}"
        turn_on:
          - action: rest_command.pergola_set_winter_on
          - action: input_boolean.turn_on
            entity_id: input_boolean.pergola_winter
        turn_off:
          - action: rest_command.pergola_set_winter_off
          - action: input_boolean.turn_off
            entity_id: input_boolean.pergola_winter


command_line:
  - switch:
      name: "button Lumière de la Pergola 100 %"
      unique_id: binary_sensor.Lumière de la Pergola 100 %
      command_on: >
        curl -X GET -d '{"on":true}' "http://192.168.0.100/zns.cgi?cmd=l&o=64&p=255"
      command_state: curl http://192.168.0.100/zns.cgi?cmd=d&p=os
      value_template: "{{ value_json['status']}}"

  - switch:
      name: "button Lumière de la Pergola 50 %"
      unique_id: binary_sensor.Lumière de la Pergola 50 %
      command_on: >
        curl -X GET -d '{"on":true}' "http://192.168.0.100/zns.cgi?cmd=l&o=64&p=130"
      command_state: curl http://192.168.0.100/zns.cgi?cmd=d&p=os
      value_template: "{{ value_json['status']}}"

  - switch:
      name: "button Lumière de la Pergola OFF"
      unique_id: binary_sensor.Lumière de la Pergola OFF
      command_on: >
        curl -X GET -d '{"off":false}' "http://192.168.0.100/zns.cgi?cmd=l&o=64&p=0"
      command_state: curl http://192.168.0.100/zns.cgi?cmd=d&p=os
      value_template: "{{ value_json['status']}}"

  - switch:
      name: "Switch Lumière de la Pergola 25 %"
      unique_id: binary_sensor.Lumière de la Pergola 25 %
      command_on: >
        curl -X GET -d '{"on":true}' "http://192.168.0.100/zns.cgi?cmd=l&o=64&p=75"
      command_state: curl http://192.168.0.100/zns.cgi?cmd=d&p=os
      value_template: "{{ value_json['status']}}"

  - switch:
      name: "Switch Lumière de la Pergola 75 %"
      unique_id: binary_sensor.Lumière de la Pergola 75 %
      command_on: >
        curl -X GET -d '{"on":true}' "http://192.168.0.100/zns.cgi?cmd=l&o=64&p=190"
      command_state: curl http://192.168.0.100/zns.cgi?cmd=d&p=os
      value_template: "{{ value_json['status']}}"

  - switch:
      name: "slider lames de la Pergola 0"
      unique_id: binary_sensor.slider lames de la Pergola 0
      command_on: >
        curl -X GET -d '{"on":true}' "http://192.168.0.100/zns.cgi?cmd=m&m=1&p=0"
      command_state: curl http://192.168.0.100/zns.cgi?cmd=d&p=os
      value_template: "{{ value_json['status']}}"

  - switch:
      name: "slider lames de la Pergola 30"
      unique_id: binary_sensor.slider lames de la Pergola 30
      command_on: >
        curl -X GET -d '{"on":true}' "http://192.168.0.100/zns.cgi?cmd=m&m=1&p=190"
      command_state: curl http://192.168.0.100/zns.cgi?cmd=d&p=os
      value_template: "{{ value_json['status']}}"

  - switch:
      name: "slider lames de la Pergola 50"
      unique_id: binary_sensor.slider lames de la Pergola 50
      command_on: >
        curl -X GET -d '{"on":true}' "http://192.168.0.100/zns.cgi?cmd=m&m=1&p=300"
      command_state: curl http://192.168.0.100/zns.cgi?cmd=d&p=os
      value_template: "{{ value_json['status']}}"

  - switch:
      name: "slider lames de la Pergola 75"
      unique_id: binary_sensor.slider lames de la Pergola 75
      command_on: >
        curl -X GET -d '{"on":true}' "http://192.168.0.100/zns.cgi?cmd=m&m=1&p=400"
      command_state: curl http://192.168.0.100/zns.cgi?cmd=d&p=os
      value_template: "{{ value_json['status']}}"

  - switch:
      name: "slider lames de la Pergola 100"
      unique_id: binary_sensor.slider lames de la Pergola 100
      command_on: >
        curl -X GET -d '{"on":true}' "http://192.168.0.100/zns.cgi?cmd=m&m=1&p=500"
      command_state: curl http://192.168.0.100/zns.cgi?cmd=d&p=os
      value_template: "{{ value_json['status']}}"

La partie binary sensor:

binary_sensor:
  - platform: template
    sensors:
      pergola_rain:
        value_template: "{{ ('%04d' % '{:b}'.format(states.sensor.pergola.attributes['user']|int)|int)[3:4] }}"
        unique_id: "Pergola: fermeture si pluie"
      pergola_suntracking:
        value_template: "{{ ('%04d' % '{:b}'.format(states.sensor.pergola.attributes['user']|int)|int)[2:3] }}"
        unique_id: "Pergola: suivi solaire"
      pergola_shade:
        value_template: "{{ ('%04d' % '{:b}'.format(states.sensor.pergola.attributes['user']|int)|int)[1:2] }}"
        unique_id: "Pergola: ombrage minimum"
      pergola_winter:
        value_template: "{{ ('%04d' % '{:b}'.format(states.sensor.pergola.attributes['user']|int)|int)[0:1] }}"
        unique_id: "Pergola: hivernage"
      pergola_status:
        device_class: connectivity
        value_template: "{{ states.binary_sensor.pergolahttp.state }}"
        unique_id: "pergola"

Et enfin un input number (il fonctionne avec une automation non crée ce jour):

input_number:
  pergola_sundelay:
    name: "Interval suivi solaire"
    icon: hass:timer-sand
    min: 10
    max: 60
    step: 5
    unit_of_measurement: 'min'

Pour ceux qui comme moi, veulent monitorer la température ou la consomation de la pergola, je rajoute pour le moment ce qui marche à savoir la température modifiée à mettre dans sensor.

  - platform: template
    sensors:
      temperature_modifiee:
        friendly_name: "Température interieur Corrigée pergola"
        unique_id: "unique_temperature_modifiee_pergola"
        unit_of_measurement: "°C"
        value_template: >
          {% set temperature = states('sensor.sensor_pergola_temp_inter') | float %}
          {{ (temperature / 10) | round(1) }}

Finalement voici un sensor qui fonctionne pour suivre la consomation de la pergola

  - platform: template
    sensors:
      consommation_formatee_pergola:
        unique_id: consommation_Corrigée_pergola
        friendly_name: "Consommation Pergola Formattée"
        value_template: "{{ (states('sensor.sensor_pergola_conso') | float / 1000) | round(2) }}"
        unit_of_measurement: "V"

Correction:
-dans la partie switch pergola off (modification de la commande) remplace ded’une lettre « a » par « p »: merci Chris73 pour la correction.

Je viens de me rendre compte que l’on peu scanner le wifi également avec cette commande

 http://192.168.xxx.xxx/zns.cgi?cmd=s&p=s

Et on récupère la liste des réseaux avec cette commande

 http://zenisun.local/zns.cgi?cmd=s&p=g

À corriger :
-Les interrupteurs pour le mode hivernal, la fermeture en cas de pluie, ainsi que ceux liés au suivi solaire et à l’ombre minimale ne maintiennent pas la position ON. Vous avez également la possibilité d’utiliser des scripts ou des automatisations afin d’effectuer cette opération de manière automatique, c’est-à-dire de passer d’un mode à l’autre.

  • Les sliders lumières et les volets qui ne s’éteignent pas et qui ne fonctionnent pas correctement.

Voici un exemple de ce que vous avez après avoir complété votre fichier yaml

A vous de l’améliorer, moi par exemple il est comme ceci

Ma partie automation en yaml qui utilise la position du soleil par rapport à la maison et ma météo Netatmo et le service season.
Cette automation fonctionne de 8h à 22h et ne fonctionne pas si mon alarme est sur ON, sauf pour les fortes chaleurs. Ma pergola me protège une grande baie vitré côté ouest et me fait de l’ombre quand il fait trop chaud.

alias: AUTO - PERGOLA - LAMES
description: Pergola Auto gestion des lames
trigger:
  - platform: time_pattern
    minutes: /15
condition:
  - condition: and
    conditions:
      - condition: time
        after: "08:00:00"
        before: "22:00:00"
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
          - sat
          - sun
  - type: is_precipitation
    condition: device
    device_id: 28c30739ea0b645ff18a6cfdbc6562e0
    entity_id: 94332f48fe379d562f7f5d88622145d5
    domain: sensor
    below: 1
action:
  - alias: Season
    choose:
      - conditions:
          - condition: state
            entity_id: sensor.season
            state: spring
        sequence:
          - choose:
              - conditions:
                  - type: is_temperature
                    condition: device
                    device_id: eff67e0fee145b3ad0988022b3b55ed8
                    entity_id: 6c30f6bbc11cc18992302aa13e55cf9b
                    domain: sensor
                    above: 4
                  - condition: time
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                    after: "08:00:00"
                    before: "10:00:00"
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: -0.1
                    below: 49.9
                    enabled: true
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_30
                    action: switch.turn_on
                alias: Printemps _de 8h/10h_position des lames 30° cloudy - 50%
              - conditions:
                  - condition: time
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                    after: "08:00:00"
                    before: "21:00:00"
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: 70
                    below: 100
                    enabled: true
                  - type: is_temperature
                    condition: device
                    device_id: eff67e0fee145b3ad0988022b3b55ed8
                    entity_id: 6c30f6bbc11cc18992302aa13e55cf9b
                    domain: sensor
                    above: 4
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_50
                    action: switch.turn_on
                alias: >-
                  Printemps _de 8h/21h_position des lames 50° si - de 20° cloudy
                  +70%
              - conditions:
                  - condition: time
                    after: "08:00:00"
                    before: "12:30:00"
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                  - type: is_temperature
                    condition: device
                    device_id: eff67e0fee145b3ad0988022b3b55ed8
                    entity_id: 6c30f6bbc11cc18992302aa13e55cf9b
                    domain: sensor
                    above: 20
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: -0.1
                    below: 49.9
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_50
                    action: switch.turn_on
              - conditions:
                  - condition: time
                    after: "12:45:00"
                    before: "20:30:00"
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                sequence:
                  - data: {}
                    target:
                      entity_id:
                        - switch.slider_lames_de_la_pergola_100
                    action: switch.turn_on
        alias: Printemps
      - conditions:
          - condition: state
            entity_id: sensor.season
            state: summer
        sequence:
          - choose:
              - conditions:
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: 70
                    below: 100
                    enabled: true
                  - type: is_temperature
                    condition: device
                    device_id: eff67e0fee145b3ad0988022b3b55ed8
                    entity_id: 6c30f6bbc11cc18992302aa13e55cf9b
                    domain: sensor
                    above: 4
                  - condition: state
                    entity_id: binary_sensor.core_mosquitto_alarmmode
                    state: "off"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_50
                    action: switch.turn_on
                alias: De 8h/21h_position des lames 50° si - de 20° cloudy +70%
              - conditions:
                  - condition: time
                    after: "08:00:00"
                    before: "10:00:00"
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: -0.1
                    below: 70
                    enabled: true
                  - condition: state
                    entity_id: binary_sensor.core_mosquitto_alarmmode
                    state: "off"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_30
                    action: switch.turn_on
              - conditions:
                  - condition: time
                    after: "10:10:00"
                    before: "11:30:00"
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: -0.1
                    below: 70
                    enabled: true
                  - condition: state
                    entity_id: binary_sensor.core_mosquitto_alarmmode
                    state: "off"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_50
                    action: switch.turn_on
              - conditions:
                  - condition: time
                    after: "11:30:00"
                    before: "12:30:00"
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: -0.1
                    below: 70
                    enabled: true
                  - condition: state
                    entity_id: binary_sensor.core_mosquitto_alarmmode
                    state: "off"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_75
                    action: switch.turn_on
              - conditions:
                  - condition: time
                    after: "12:45:00"
                    before: "17:30:00"
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: -0.1
                    below: 70
                    enabled: true
                  - condition: state
                    entity_id: binary_sensor.core_mosquitto_alarmmode
                    state: "off"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_100
                    action: switch.turn_on
              - conditions:
                  - condition: time
                    after: "10:00:00"
                    before: "17:30:00"
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: -0.1
                    below: 70
                    enabled: true
                  - condition: state
                    entity_id: binary_sensor.core_mosquitto_alarmmode
                    state: "on"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_100
                    action: switch.turn_on
        alias: Été
      - conditions:
          - condition: or
            conditions:
              - condition: state
                entity_id: sensor.season
                state: spring
              - condition: state
                entity_id: sensor.season
                state: summer
          - condition: time
            weekday:
              - mon
              - tue
              - wed
              - thu
              - fri
              - sat
              - sun
            after: "21:00:00"
            before: "22:00:00"
        sequence:
          - target:
              entity_id: switch.slider_lames_de_la_pergola_30
            data: {}
            action: switch.turn_on
        alias: après 21h lames à 30° Printemps/Été
      - conditions:
          - condition: or
            conditions:
              - condition: state
                entity_id: sensor.season
                state: autumn
              - condition: state
                entity_id: sensor.season
                state: winter
          - type: is_temperature
            condition: device
            device_id: eff67e0fee145b3ad0988022b3b55ed8
            entity_id: 6c30f6bbc11cc18992302aa13e55cf9b
            domain: sensor
            above: 4
        sequence:
          - alias: gestion des lames
            choose:
              - conditions:
                  - type: is_temperature
                    condition: device
                    device_id: eff67e0fee145b3ad0988022b3b55ed8
                    entity_id: 6c30f6bbc11cc18992302aa13e55cf9b
                    domain: sensor
                    above: 4
                  - condition: time
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                    after: "08:00:00"
                    before: "15:00:00"
                sequence:
                  - target:
                      entity_id: switch.slider_lames_de_la_pergola_30
                    data: {}
                    action: switch.turn_on
                alias: Automne 1_30°_matin
              - conditions:
                  - type: is_temperature
                    condition: device
                    device_id: eff67e0fee145b3ad0988022b3b55ed8
                    entity_id: 6c30f6bbc11cc18992302aa13e55cf9b
                    domain: sensor
                    above: 4
                  - condition: time
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                    after: "15:10:00"
                    before: "17:30:00"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_50
                    action: switch.turn_on
                alias: Automne 2_50°_jour
              - conditions:
                  - type: is_temperature
                    condition: device
                    device_id: eff67e0fee145b3ad0988022b3b55ed8
                    entity_id: 6c30f6bbc11cc18992302aa13e55cf9b
                    domain: sensor
                    above: 4
                  - condition: time
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                    after: "17:45:00"
                    before: "20:00:00"
                sequence:
                  - target:
                      entity_id: switch.slider_lames_de_la_pergola_30
                    data: {}
                    action: switch.turn_on
                alias: Automne 3_30°_nuit
            enabled: false
          - choose:
              - conditions:
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: 70
                    below: 100
                    enabled: true
                  - condition: state
                    entity_id: binary_sensor.core_mosquitto_alarmmode
                    state: "off"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_50
                    action: switch.turn_on
                alias: De 8h/21h_position des lames 50° si - de 20° cloudy +70%
              - conditions:
                  - condition: time
                    after: "08:00:00"
                    before: "10:00:00"
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: -0.1
                    below: 70
                    enabled: true
                  - condition: state
                    entity_id: binary_sensor.core_mosquitto_alarmmode
                    state: "off"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_30
                    action: switch.turn_on
              - conditions:
                  - condition: time
                    after: "10:10:00"
                    before: "11:30:00"
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: -0.1
                    below: 70
                    enabled: true
                  - condition: state
                    entity_id: binary_sensor.core_mosquitto_alarmmode
                    state: "off"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_50
                    action: switch.turn_on
              - conditions:
                  - condition: time
                    after: "11:30:00"
                    before: "12:30:00"
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: -0.1
                    below: 70
                    enabled: true
                  - condition: state
                    entity_id: binary_sensor.core_mosquitto_alarmmode
                    state: "off"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_75
                    action: switch.turn_on
              - conditions:
                  - condition: time
                    after: "12:45:00"
                    before: "17:30:00"
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: -0.1
                    below: 70
                    enabled: true
                  - condition: state
                    entity_id: binary_sensor.core_mosquitto_alarmmode
                    state: "off"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_100
                    action: switch.turn_on
              - conditions:
                  - condition: time
                    after: "10:00:00"
                    before: "17:30:00"
                    weekday:
                      - mon
                      - tue
                      - wed
                      - thu
                      - fri
                      - sat
                      - sun
                  - condition: numeric_state
                    entity_id: sensor.s_couverture_nuageuse
                    above: -0.1
                    below: 70
                    enabled: true
                  - condition: state
                    entity_id: binary_sensor.core_mosquitto_alarmmode
                    state: "on"
                sequence:
                  - data: {}
                    target:
                      entity_id: switch.slider_lames_de_la_pergola_100
                    action: switch.turn_on
        alias: Autome ou Hiver
mode: single
1 « J'aime »

Bonjour @Zigfou

Merci beaucoup pour toutes ces informations, c’est juste top
Merci aussi à @MikeBZH44 qui m’a été d’un grand secours pour ma domotique Jeedom de l’époque, et qui l’est encore pour mon HA d’aujourdhui
Et merci à tous les autres
Sans vous tous, je serai encore à l’âge de pierre chez moi :smiley:

Je veux bien à l’occase les infos sur la station netatmo

Pour Zenisun, il y a aussi un topic plus précis ici qui peut être utile je pense :

2 « J'aime »

Il doit y avoir une coquille dans ton premier message car le 3ème bloc de code est identique au 1er et traite de l’ouverture des lames :wink:

ça doit être pour ça que je m’arrache les cheveux depuis une heure :rofl:

(bon suis pas doué non plus hein )

Je corrigé ce soir, j’ai fait ça rapidos ce matin

1 « J'aime »

Si tout se passe comme prévu, voici ce que l’on obtient.

1 « J'aime »

Beau boulot ! :+1: :+1: :+1:

Le slider de la rotation des lames ne fonctionne pas
Est ce une erreur de mon côté, ou sur le script ?

Egalement, la lumiere ne s’éteind pas completement, et les lames ne se ferment pas completement

Il prend pas la fonction off et c’est vrai que je ne l’utilise pas. Faut que je regarde comment le corriger.

Moi aussi j’étais sur jeedom et j’ai utilisé les infos de mikeBZH44.

Je ne sais pas si ça peut aider
sur Jeedom, cette commande ferme completement les lames

(« http://192.168.0.xx/zns.cgi?cmd=m&m=3&a=0 »)

Egalement si je fais cette requete sur mon naviguateur web, ca ferme complement

Par contre, quand je passe par HA, a « fermeture lame 0 », les lames restent ouvertes à 6°
Je comprends pas pourquoi ce décalage

Le bouton lumiere pergola Off, c’est ok par contre
Juste le slider lumière qui laisse allumé à 1%

J’ai le même problème et je n’arrive pas à comprendre comment ça fonctionne, c’est pour ça que je ne les utilise pas et préfère les boutons

@MikeBZH44 va nous sauver :innocent: :smiley:

Bonjour,

N’étant pas très a l’aise avec HA je n’arrive pas à avoir une structure de fichier correct pour mettre en Œuvre Zenisun.

Dans un premier temps j’avais créé un fichier zenisun.yaml et tenté un include dans le fichier configuration, mais je n’y suis pas arrivé. Message me disant que zenisun.yaml introuvable.

Du coup j’ai tout mis dans le fichier configuration de HA, mais sûrement pas une bonne idée.

Qui pourrais m’aider pour la structure et quoi mettre dans le fichier config…

Merci

tu as un super tuto sur la chaine youtube de thomas https://www.youtube.com/watch?v=To0250X2ABU.

Tu as aussi le tuto de tof https://les-tutos-du-tof.fr/modifier-configuration-yaml/

Et enfin tu as le tuto de McFly https://forum.hacf.fr/t/organisation-du-fichier-configuration-yaml/205

Mais en gros et en résumé, tu chercher la ligne:
-sensor et tu copie toute laa ligne senor
-light et tu copie toute la ligne light.

si tu n’a pas de ligne rest command, tu la copie tout en bas de ton fichier.

Merci je vais regarder tout ça.

Salut

@Erik06
Pour le codage, mon frangin m’a fait découvrir hier soir une ia (Claude.ai)
Il peut même générer les codes
N’hésite pas à essayer, et lui poser des questions, c’est bluffant

@Zigfou @MikeBZH44
J’ai réussi à fermer complement la pergo en utilisant la commande toute simple

execute_zns_command:
  url: "http://192.168.0.xx/zns.cgi?cmd=m&m=1&p=0"
  method: GET

Cela veut dire que dans ton code @Zigfou la variable n’est jamais à 0
Voilà, c’était juste pour info

1 « J'aime »

@Chris73,
Merci pour ce pointeur IA, effectivement très intéressant :wink:.
Je lui ai demander comment structurer et sa réponse m’a l’air pas mal du tout.

Je prends note et modifie mon code ici présent après l’avoir testé dès que possible.