Transformer un switch en cover

Bonjour,

J’ai mis un eWeLink Smart light switch - 2 gang (ZB-SW02) pour télécommander… ma télécommande, vu que mes volets Bubendorff de 22 ans ne peuvent pas être domotisés sans remplacer le moteur et les commandes.

c’est un double interrupteur fugitif qui ferme les contacts de la télécommande.
j’ai essayé, tout marche bien, mais j’ai deux problèmes:

  • l’interface en mode switch semble avoir des soucis de rebond, quand j’arrête la première commande par un second appui, le volet s’interrompt et reprend sa course. un petit souci de délai ou de rebond mais je ne vois pas où régler çà.

  • si j’affiche mon switch en mode « volet ou cover » j’obtiens un truc assez bizarre avec Fermeture qui utilise la flèche en haut… c’est pas trivial au niveau utilisation…

voila les interfaces avec en haut le mode switch et en dessous le mode volet…
image

Salut,

Par transformer, tu entends ajouter le device_classes ?
Par défaut un volet sous ha ne peut pas s’ouvrir s’il l’est déjà d’où les flèches actives/inactives en fonction. En fonction du module derrière, il faut spécifier l’inversion de l’état

Bonjour s’il s’agit d’un petit problème de rebond, il suffit d’ajouter un petit condensateur au niveau de l’interrupteur pour absorber la variation je suppose que ce doit être en TBT (< 50v), donc un petit 10/100 nf devrait suffire (voir ici juste pour exemple en 100nf: Condensateur céramique 50V - 50 valeurs au choix de 1pF à 100nF - de 5 à 100pcs | eBay)

J’espère ne pas être hors sujet …, on parle bien de rebond « électrique »

Mcp

pour l’instant je l’ai « transformé » de l’état de « switch » en « cover » par la fonction de HA « afficher en tant que »:
switch.volet_parents_ouverture affiché en tant que cover.volet_parents_fermeture.

le device que j’ai, c’est ca:

vu coté Z2M, c’est vu comme un double inter eWeLink Light Switch 2 Gang (ZB-SW02) Zigbee compatibility

MQTT INFO

Entités
Volet Parents Ouverture (switch.volet_parents_ouverture)
MQTT discovery data:
Topic: homeassistant/switch/0x00124b0024595e1f/switch_left/config
Payload
availability:
  - topic: zigbee2mqtt/bridge/state
command_topic: zigbee2mqtt/Volet Parents/left/set
device:
  identifiers:
    - zigbee2mqtt_0x00124b0024595e1f
  manufacturer: eWeLink
  model: Smart light switch - 2 gang (ZB-SW02)
  name: Volet Parents
  sw_version: 1.0.7
json_attributes_topic: zigbee2mqtt/Volet Parents
name: Volet Parents left
payload_off: 'OFF'
payload_on: 'ON'
state_topic: zigbee2mqtt/Volet Parents
unique_id: 0x00124b0024595e1f_switch_left_zigbee2mqtt
value_template: '{{ value_json.state_left }}'
platform: mqtt
Subscribed topics:
zigbee2mqtt/bridge/state
2 dernier(s) message(s) reçu(s)
zigbee2mqtt/Volet Parents
10 dernier(s) message(s) reçu(s)
Transmitted messages:
zigbee2mqtt/Volet Parents/left/set
6 dernier(s) message(s) transmis
Volet Parents Ferme (switch.volet_parents_fermeture)
MQTT discovery data:
Topic: homeassistant/switch/0x00124b0024595e1f/switch_right/config
Payload
availability:
  - topic: zigbee2mqtt/bridge/state
command_topic: zigbee2mqtt/Volet Parents/right/set
device:
  identifiers:
    - zigbee2mqtt_0x00124b0024595e1f
  manufacturer: eWeLink
  model: Smart light switch - 2 gang (ZB-SW02)
  name: Volet Parents
  sw_version: 1.0.7
json_attributes_topic: zigbee2mqtt/Volet Parents
name: Volet Parents right
payload_off: 'OFF'
payload_on: 'ON'
state_topic: zigbee2mqtt/Volet Parents
unique_id: 0x00124b0024595e1f_switch_right_zigbee2mqtt
value_template: '{{ value_json.state_right }}'
platform: mqtt
Subscribed topics:
zigbee2mqtt/bridge/state
1 dernier(s) message(s) reçu(s)
zigbee2mqtt/Volet Parents
10 dernier(s) message(s) reçu(s)
Transmitted messages:
zigbee2mqtt/Volet Parents/right/set
8 dernier(s) message(s) transmis
Déclencheurs
Pas de déclencheur

Oui, oui, je parle bien de rebond électrique.

je note le truc du condensateur. c’est pas souvent que ca arrive. juste quand les appuis sont tres rapprochés.

Je ne connais pas le nouveau « afficher en tant que » mais si ça peut te donner des idées, j’ai utilisé le Template Cover - Home Assistant pour créer un portail virtuel à l’aide de commandes RFXCom et d’un capteur d’ouverture et ça marche super bien de mon coté.

ça sent le truc portable sous ESPhome ça. Indirectement ça gérerai les rebonds.
Pour l’inversion de position, là par contre ça s’annonce mal. A part les topics on/off pour les actions de monter/descentes je vois pas cette option…
En inversant monter/descente coté HA ? sinon il faut faire un vrai template cover

Bien bien…

alors, je tente le template.

cover:
  - platform: template
    covers:
      volets_benoit:
        device_class: garage
        friendly_name: "Volets Benoit"
#        value_template: "{{ states('sensor.volets_benoit')|float > 0 }}" #pas de sensor dispo, arret en buttée.
        open_cover:
          service: script.open_volets_benoit
        close_cover:
          service: script.close_volets_benoit
        stop_cover:
          service: script.stop_volets_benoit

ça me crée un cover.volets_benoit à mettre dans mon Dashboard. Jusque là tout va bien.

il me reste 3 scripts à créer :

  1. open_volets_benoit qui va lancer switch.volet_parents_ouverture (c’est le nom de mon bouton ouverture)
  2. close_volets_benoit qui va lancer switch.volet_parents_fermeture
  3. stop_volets_benoit qui va lancer switch.volet_parents_ouverture (ou fermeture, c’est pareil pour arrêter l’action)

j’ai tenté de créer un script, mais je seche sur la syntaxe ou plutôt sur les actions à mener…
pourtant je veux simplement appuyer une fois sur le switch.volet_parent_ouverture pour faire l’open et fin de l’ordre.

c’est pas un service à appeler, y’en a pas à ce nom. c’est pas une scènes non plus ? des trigers, des tests ou des délais, y’en a pas. pas de boucle, pas de parallélisation… alors je sèche sur ces scripts à faire…

Pour quoi refaire des scripts ?
Tu as un switch … et il y a des services dédiés aux switch …
L’exemple garage plus bas en fait une démo

1 « J'aime »
#---------------  debut modification cover  -----------
# Example configuration.yaml entry
cover:
  - platform: template
    covers:
      volets_test:
        device_class: garage
        friendly_name: "Volets Benoit"
        open_cover:
          - service: switch.turn_on
            target:
              entity_id: switch.volet_parents_ouverture
        close_cover:
          - service: switch.turn_on
            target:
              entity_id: switch.volet_parents_fermeture
        stop_cover:
          - service: switch.turn_on
            target:
              entity_id: switch.volet_parents_fermeture
#---------------   fin  modification cover  -----------

ca marche !!! 1000 mercis !!!

le seul problème qui me reste c’est que quand j’appuie sur le bouton stop, il considère que je suis en buttée, donc il ne me propose pas de reprendre la descente si je l’ai arrêté à mi descente.
je dois remonter un poil; faire stop pour pouvoir redescendre.

mais c’est (pour moi) un détail.

Next step ?
Exactement le même principe avec gestion du % et le double XXX pour faire stop correctement à chaque fois…
https://forum.hacf.fr/t/gestion-de-volets-roulants-via-module-dio-433mhz/5350/10