Retour d'état portail Somfy

Bonjour à tous et à toutes,

Après de nombreuses recherche je n’arrive pas à trouver de solution à ma problématique.

J’ai installer tout recament un moteur de portail coulissant somfy qui fonctionne très bien. J’utilise pour le piloter l’intégration Overkiz. J’arrive bien à l’ouvrir et à le fermer jusque la pas de soucis.

J’utilise tous mes appareils sur homekit pour que cela soit plus simple pour ma femme et moi sauf que sur homekit il reste soit sur ouverture soit sur fermeture il ne passe jamais en mode ouvert ou fermé.

Sur homme assistant le statut reste toujours sur inconu.

J’ai alors essayer de créer des scenario en appelant le service cover set position lors d’un changement d’état ouvert ou fermé mais cela ne fonctionne pas non plus.

J’ai installer nodered mais étant débutant c’est le flou total :slight_smile:

J’en appel a votre aide pour avoir des pistes d’idée.

Merci à vous par avance pour votre temps

Ma configuration


Version core-2023.5.4
Type d’installation Home Assistant OS
Développement false
Supervisor true
Docker true
Utilisateur root
Environnement virtuel false
Version de Python 3.10.11
Famille du système d’exploitation Linux
Version du système d’exploitation 6.1.21-v8
Architecture du processeur aarch64
Fuseau horaire Europe/Paris
Répertoire de configuration /config

Alors je pense avoir avancé un tout petit peu.

Je pense utiliser un cover virtuel grâce a la configuration.yaml que j’actionnerai par le biais d’une automatisation

J’ai donc copier ce code

cover:
  - platform: template
    covers:
      garage_door:
        device_class: garage
        friendly_name: "Garage Door"
        position_template: "{{ states('sensor.garage_door') }}"
        open_cover:
          - condition: state
            entity_id: sensor.garage_door
            state: "off"
          - service: switch.turn_on
            target:
              entity_id: switch.garage_door
        close_cover:
          - condition: state
            entity_id: sensor.garage_door
            state: "on"
          - service: switch.turn_off
            target:
              entity_id: switch.garage_door
        stop_cover:
          service: switch.turn_on
          target:
            entity_id: switch.garage_door
        icon_template: >-
          {% if states('sensor.garage_door')|float > 0 %}
            mdi:garage-open
          {% else %}
            mdi:garage
          {% endif %}

Texte préformaté

Cependant le statut reste sur inconu donc je cherche encore en esperant avoir votre aide :stuck_out_tongue:

Salut.

A ce que je vois, tu commandes le portail par le bias de switch.garage_door
Pour ouvrir => switch.turn_on et pour fermer switch.turn_off et ça ne semble pas être un contact sec/mode impulsion.

Donc pourquoi tu t’embêtes à créer un sensor.garage_door (l’état du switch fait déjà ça) ?Egalement pourquoi mettre ça dans un cover virtuel (avec en plus des conditions qui font doublon avec l’état du cover) ?

Comme vu de loin, tu peux juste convertir un switch en volet

Merci pour ta réponse en réaliter je ne sais pas comment modifier mon entité déjà existante qui est resorti par mon integration. Donc je me suis dis que je pouvis créer un switch virtuel.

Je te montre une capture d’écran :

Ce que je souhaite en vrai c’est juste connaitre l’état ouvert ou fermer lorsque j’ai changer l’état afin que cela resorte bien sur homekit
Navré si je m’exprime pas trés bien car je suis vraiment débutant
Merci à toi par avance

Dans ce cas, peux-tu partager les infos des éléments de base/overkiz (switch.garage_door je pense) et pas ceux de ta création

Comment faire ? :stuck_out_tongue: car comme dis je suis novice

Ah pardon ces’ déjà la config en capture d’écran de overkiz et non celle de ma création

Ok ça te créer un cover par défaut. Que tu as customizé comme porte de garage

Mais tout ça, c’est toi qui l’ajoute ?

  • switch.garage_door
  • sensor.garage_door

Oui cela m’a crée une entrée par défaut qui est dans les capture ci-dessus. Elle été en portail que j’ai changer en porte de garage pour l’avoir sur homekit. J’ai juste changer affiché en tant que.

en fait pour la cover que j’ai crée j’ai juste essayer avec ce que j’ai trouver sur la doc de HA et je n’y comprend pas grand chose

pour être honette j’ai essayé betement avec ce que j’ai trouver sur le net et mes meconaissances sur HA :stuck_out_tongue:

Ce que j’aimerai si juste avoir l’état ouvert ou fermé lorsque j’appuie sur un bouton. Peut être que par la suite je le lierai à un capteur d’ouverture qui me permetra d’avoir l’état réel en fonction de ce capteur mais bien plus tard lol

A titre d’information voila ce que j’ai comme info sur l’entité crée par overkiz

J’ai corrigé ton image pour ne pas afficher les données perso (l’url de ton HA notamment)…
Je ne connais pas comment marche overkiz mais somfy en RTS ça ne donne pas de retour d’état, donc il faut bricoler un truc comme tu as commencé (un cover virtuel, une entrée pour mémoriser l’état et 2 scripts open/close avec mise à jour de l’entrée). Par ex, un peu comme
Si c’est de l’IO alors il y a peut-être un truc plus direct.

Malheureusement non pas de IO sur les portais.
Je vais essayer avec le code que tu m’as indiqué et si j’ai besoin d’aide je n’hésite pas :blush:

J’ai bien regardé ce qui été sur le lien que tu m’as transmit. Du coup il s’agit d’un script et non d’un cover si j’ai bien compris ? Et quand j’essaie de l’ajouter dans la configuration j’obtiens une erreur certainement lié à la balise de départ

Encore merci pour ton aide et ton temps

Non c’est un cover template qui lance des scripts.
Le script sert à faire les 2 actions : mettre à jour l’état ET faire l’action réelle sur le volet

Dans ce genre

cover:
  - platform: template
    covers:
      garage_door:
        device_class: garage
        friendly_name: "Garage Door"
        value_template: "{{ states('input_text.etat_garage') == 'open' }}"
        open_cover:
          service: script.garage_up
        close_cover:
          service: script.garage_down

script:
  garage_up:
    sequence:
      - service: cover.close_cover
        target:
          entity_id: cover.garage_door
      - service: input_text.set_value
        target:
          entity_id: input_text.etat_garage
        data:
          value: open
  garage_down:
    sequence:
      - service: cover.open_cover
        target:
          entity_id: cover.garage_door
      - service: input_text.set_value
        target:
          entity_id: input_text.etat_garage
        data:
          value: close

garage

Cela fonctionne presque ahah j’ai du louper quelque chose. Pourtant j’ai bien verifier les espaces dans le code source du coup cela ne fonctionne pas …
Mais j’ai bien compris du coup la partie cover et script


duplicated mapping key (29:1)

26 | close_cover:
27 | service: script.garag …
28 |
29 | script:
------^
30 | garage_up:

Ou ai-je fait l’eereur en copiant ton code ? Cela viendrai du script garage stop mais je ne vois pas ou

J’ai corrigé le code entre temps

J’ai bien remodifier comme tu me l’as indqué et je commence grace à toi a comprendre le fonctionement.
Mais quand je change le statu rien ne se passe

L’état reste toujours sur fermé

Reprend en copiant / collant tout le code (il y a d’autres modifs), et redémarre HA.
Côté méthode, regarde les logs, les erreurs y sont indiquées

Bonjour,

J’ai recopier le code une fois de plus et toujours la même problématique
Concernant les logs je ne vois rien qui concerne le cover dans les logs de home assistant core et dans historique idem pas d’action.

Je ne comprend vraiment pas

Essaye en remplacant cover.garage_door dasn les scripts par cover.slidymoove
Tu as forcement des erreurs si cover.garage_door n’existe pas