Volet roulant piloté par relais filaire

Bonjour à tous, jusqu’à présent sur Domoticz, j’ai décidé de migrer chez Home Assistant et je pense sans regrets !!

Voilà mon installation :

  • 1 raspberry pi 4B
  • une carte 12 relais piloté par le GPIO de ce dernier

J’ai donc le relais 1 qui pilote la montée du volet de la cuisine
le relais 2 qui pilote la descente du volet de la cuisine
le relais 3 qui pilote la montée du volet du salon et ainsi de suite.

Côté domoticz j’ai un intérrupteur virtuel de volet roulant avec les commandes « ouvrir » « stop » « fermer ». Lorsque j’appuie sur l’une des commande, Domoticz emet un message sur le broker mqtt. Ensuite j’ai un script python qui écoute le serveur MQTT et lorsque j’ai une commande de l’un des volets, j’active sur sortie GPIO x secondes pour ouvrir ou fermer le volet.

Je souhaite reproduire la même chose, sans passer par la case python si possible car je n’ai plus codé depuis quelques années…

J’ai donc ajouté dans configuration.yaml, de quoi actionner les sorties GPIO avec l’addon GPIOD:

cover:
  - platform: gpiod
    covers:
      - name: "VR Cuisine UP"
        port: 38
        state_port: 7
        relay_time: 1200
        active_low: true
      - name: "VR Cuisine Down"
        port: 43
        active_low: true
        state_port: 8
        relay_time: 1200

L’idée est ensuite de créer un cover card avec mushroom. Cependant,
voilà mon problème :

Lorsque j’ajoute une carte, je choisi bien mushroom cover, et je ne trouve aucun de mes volets dans la liste déroulante dans entités.

J’ai probablement mal configuré les covers ?

De plus, le state_port semble obligatoire ? Mais je n’ai pas assez d’entrée sur le GPIO pour avoir un state port attitré à chaque relais, deplus je n’ai aucune information à faire remonter.

Lorsque je vais dans Paramètres → Appareils et services → Entités, j’ai bien mes binary sensor et mes switchs affichés.

Merci d’avance !

Charly

System Information

version core-2024.8.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.4
os_name Linux
os_version 6.6.31-haos-raspi
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.34.0
Stage running
Available Repositories 1390
Downloaded Repositories 4
HACS Data ok
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 13.0
update_channel stable
supervisor_version supervisor-2024.08.0
agent_version 1.6.0
docker_version 26.1.4
disk_total 13.5 GB
disk_used 5.1 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board rpi4-64
supervisor_api ok
version_api ok
installed_addons File editor (5.8.0), MariaDB (2.7.1), Duck DNS (1.18.0), Let’s Encrypt (5.1.0), Terminal & SSH (9.14.0), Mosquitto broker (6.4.1), Zigbee2MQTT (1.39.1-1)
Dashboards
dashboards 2
resources 1
views 1
mode storage
Recorder
oldest_recorder_run 15 août 2024 à 09:11
current_recorder_run 16 août 2024 à 00:44
estimated_db_size 3.39 MiB
database_engine sqlite
database_version 3.45.3

Salut à tous, après quelques recherches je pense faire autrement. Et mettre les sorties GPIO en tant que switch. J’ai trouvé aussi une autre manière d’afficher mes volets dans l’aperçu :

type: custom:button-card
aspect_ratio: 4/1
name: Patio
custom_fields:
  volet_icon:
    card:
      size: 50px
      type: custom:button-card
      icon: mdi:window-shutter
      styles:
        card:
          - background-color: dimgray
          - border: none
        icon:
          - color: steelblue
  volet_name:
    card:
      type: custom:button-card
      styles:
        card:
          - background-color: dimgray
          - border: none
        name:
          - color: lightgray
          - font-size: 14px
  volet_up:
    card:
      action:
        - type: turn_on
          entity_id: switch.gpiod_gpiod_52_vr_patio_up
          domain: switch
        - delay: '00:00:30'
        - type: turn_off
          entity_id: switch.gpiod_gpiod_52_vr_patio_up
          domain: switch
      mode: single
      size: 30px
      type: custom:button-card
      icon: mdi:arrow-up
      styles:
        card:
          - background-color: dimgray
          - border: none
        icon:
          - color: lightgray
  volet_stop:
    card:
      size: 25px
      type: custom:button-card
      icon: mdi:square
      styles:
        card:
          - background-color: dimgray
          - border: none
        icon:
          - color: lightgray
      action:
        - type: turn_off
          entity_id:
            - switch.gpiod_gpiod_45_vr_patio_down
            - switch.gpiod_gpiod_52_vr_patio_up
  volet_down:
    card:
      action:
        - type: turn_on
          entity_id: switch.gpiod_gpiod_45_vr_patio_down
          domain: switch
        - delay: '00:00:30'
        - type: turn_off
          entity_id: switch.gpiod_gpiod_45_vr_patio_down
          domain: switch
      mode: single
      size: 30px
      type: custom:button-card
      icon: mdi:arrow-down
      styles:
        card:
          - background-color: dimgray
          - border: none
        icon:
          - color: rgba(211,211,211, 0.5)
styles:
  card:
    - background-color: dimgray
  name:
    - color: lightgray
    - justify-self: start
    - align-self: start
    - padding-left: 20px
    - font-size: 16px
    - font-weight: bold
  custom_fields:
    volet_icon:
      - position: absolute
      - top: 40%
      - left: 10%
    volet_name:
      - position: absolute
      - top: 62%
      - left: 25%
    volet_up:
      - position: absolute
      - top: 48%
      - left: 30%
    volet_stop:
      - position: absolute
      - top: 52%
      - left: 55%
    volet_down:
      - position: absolute
      - top: 48%
      - left: 80%


le but étant de commuter la sortie GPIO sur on ( qui commande le relais qui alimente la phase montée ou descente du volet ) et de passer sur off après 30 secondes ( le temps de manoeuvre )

Je vais créer une tuile pour chaque volet.

Et ensuite une tuiles par secteurs par exemples pour les volets du salon.

Après avoir pas mal rechercher je pense que le code doit fonctionner.

Cependant, comme je prépare tout avant de migrer de Domoticz vers HA, je n’ai pas de solution pour tester en vrai.

Pensez vous que mon code est correct ?

Merci d’avance !

Hello

Je n’ ai pas de solution toute faite à te donner mais ton code me pose pb.

Que se passe t’il si tu appuies sur volet UP et que pendant la phase de montée tu appuies ( par mégarde :wink:) sur volet Down.

Pas certain que le moteur du volet apprécie d’avoir les 2 phases sous tension en même temps.:thinking:

1 « J'aime »

Salut, très bonne remarque.

J’ai des interrupteur de volet roulant filaire, classique. Parfois j’ai un de mes enfants qui touche le bouton et par exemple le laisse enclenché sur « bas ».

Donc, si ma domotique veut faire monter le volet, en effet on se retrouve avec la phase sur la monté et sur la descente

Je suppose que le fabricant savait que des gens bête aller faire ce genre de manip
Canadian Lol GIF

Deplus je ne suis même pas sûr qu’il y ait la moindre protection, car on alimente le moteur par un sens puis par l’autre pour le monter ou le descendre. Ce qui fait que si les deux phases montée descente sont alimenté par la même phase, il ne se passera rien car on est sur le même potentiel.

Par contre si on est en triphasé et que par mégarde on alimente la phase montée avec L1 et la phase descente par L2, ça ferait des étincelle !!!

Du coup, pour mon installation pas de problème, dans le cas contraire j’aurai pu d’abord mettre sur OFF les relais et ensuite sur ON les autres.

Ensuite, j’ai un télérupteur qui me permet de désactiver l’alimentation de la phase qui va jusqu’au bouton dans le mur, car quand mon alarme sonne, je fais descendre tout les volets et je les empêches de remonter à l’aide des boutons physique.

Autrement, pour toi sur le principe ça fonctionne?