Ouverture porte de garage sur un temps donné

Salut la Team,

J’ai installé sur le moteur de ma porte de garage un contacteur sec Orvibo (3 sortie pour 3 contact sec possible).
J’arrive ouvrir fermer ma porte de garage en créant une auto sur cette base :

Si contact sec « on » alors « off » afin d’éviter d’avoir un jus constant.

Maintenant je souhaite pouvoir ouvrir ma porte de garage sur X seconde afin de pouvoir faire déposer un colis par exemple.

Pour ce faire je n’aie trouvé que la solution d’utiliser la deuxième sortie de contact sec.

J’ai utilisé un « état » dans les auto ou je dis que si le statut passe de « on » à « off » sur le contact 2 alors attendre 3 seconde et faire « on » off" sur le contact 1 pour bloquer la porte.

Ensuite j’ai créé un bouton qui appel un service qui fait un « on » « off » pour ouvrir le garage.

De temps en temps ca fonctionne mais de temps en temps non…

Je pense que je suis allé trop loin et me suis embrouillé légèrement…

Merci pour votre aide

Ma configuration


System Information

version core-2023.1.7
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.7
os_name Linux
os_version 5.15.76-v8
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 4940
Installed Version 1.30.1
Stage running
Available Repositories 1287
Downloaded Repositories 8
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 9.4
update_channel stable
supervisor_version supervisor-2023.01.1
agent_version 1.4.1
docker_version 20.10.19
disk_total 54.3 GB
disk_used 11.9 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.6.1), File editor (5.5.0), Duck DNS (1.15.0), Let’s Encrypt (4.12.8), NGINX Home Assistant SSL proxy (3.2.0), Samba share (10.0.0), Mosquitto broker (6.1.3), Zigbee2MQTT (1.29.2-1), Studio Code Server (5.5.2)
Dashboards
dashboards 1
resources 3
views 12
mode storage
Recorder
oldest_recorder_run 15 février 2023 à 18:11
current_recorder_run 19 février 2023 à 16:07
estimated_db_size 674.06 MiB
database_engine sqlite
database_version 3.38.5
___

Salut,

là sans savoir sur quelles bornes de ton moteur des 3 contacts secs sont branchés, c’est difficile d’avoir une idée de ce qu’il se passe.

Tout est branché à l’endroit du moteur ou il doit y avoir le contact sec pour ouvrir ou fermer.

La ou se branche un interrupteurs murale à la base.

Ok, donc tu n’as à l’heure actuelle qu’un contact connecté qui fait tout en mode pas à pas je suppose: ouvrir, stop, fermer, stop ?

Si c’est bien ça, tu vas rapidement t’embêter si tu n’as pas aussi un moyen de connaitre l’état de la porte. Sinon tu risque de faire des choses que tu ne veux pas. 1 ou 2 capteurs d’ouverture pourraient être très utiles pour ne pas faire les choses à l’aveugle.

Sinon par rapport à ce que j’ai compris de ce que tu veux faire, pour faire correctement une séquence de ce type, « ouvrir pendant 3 sec puis arrêter puis refermer » je pense que le mieux c’est de faire un script où tu met la séquence de on/off complète pour faire ce que tu veux. Ca t’enlève le besoin de jouer avec les automatisations et les déclencheurs.

Je n’aie pas compris ta première question :sweat_smile:

Je peux connaître l’état de la porte. J’ai un capteur d’ouverture aqara dessus qui est utilisé pour l’alarme ou savoir si je n’aie pas oublié de la fermer.

Je vais voir si je peux bricoler quelque chose avec les script. Je n’aie pas trop l’habitude d’aller dans cette section.

Hello
En général les boutons pour manœuvrer les portes sont à impulsion. Donc une impulsion tu commences à ouvrir. Puis après un temps tu refais une impulsion et la porte s’arrête.
Et encore une impulsion la porte se referme. Du moins cela fonctionne comme ceci chez moi.

Oui c’est ca si je comprends bien. L’impulsion se fait via un contact bref. Mais je ne connais pas de module qui fait ca. D’ou le fait de faire une impulsion ou le courant passe et une autre ou il ne passe plus pour ne pas griller le moteur.

Normalement il te faut un module avec un contact sec en zigbee ou zwave ou autre.
Et tu le configures en bouton poussoir puis tu le places derrière ton interrupteur qui pilote ta porte.
Donc la rien à changé. C’est là où tu mets une automatisation.
Après une première impulsion pour ouvrir tu attends le temps qu’il faut pour l’ouverture de la porte pour faire passer ton colis. Et un nouveau pilotage à 1 et la porte s’arrête. Ensuite il faut attendre que le colis soit bien livré puis encore une impulsion et elle se ferme.

Je ne connais pas les réglages possible sur ton Orvido, mais j’ai un appareil Zigbee contact sec qui peut être réglé en mon on/off ou en mode impulsion.
En mode impulsion, le contact se s’allume puis s’éteint tout de suite.
En mode on/off, le contact reste à allumé tant qu’on ne l’éteint pas.

Si chez toi ça ne fait que le mode on/off, alors il faut simuler l’impulsion, et du coup toujours appeler « on » suivi d’une pause suivi de « off ».
Il n’y a pas besoin de s’embêter avec 2 contacts ou des automatisations pour ça.

Pour ton histoire de clois, jen e sais pas comment l’expliquer autrement que je ne l’ai déjà fait.
Le mieux c’est de faire un script qui va appeler en séquence tout ce qu’il faut faire avec les bon temps de pause voulus.
Ce script pourra ensuite être déclenché par un bouton.

Pour aller plus loin et pour faire ça proprement le meilleure solution c’est de créer un « Template Cover ».
Ce qui te donnera une nouvelle entité qui intègre les commandes et l’état de la porte.

image

C’est quoi ton appareil avec contact sec ?

Dans mes options sous z2m je n’aie que ca :confused:


J’ai fais un script comme tu me l’a dis cependant des fois il se lance… Des fois non… En faites quand cela fonctionne ca bloque à l’attente des 20s avant de refermer automatiquement.

Voici le yaml :

alias: Test 2 Garage Colis
sequence:

  • type: turn_on
    device_id: e687c7849aad4558a584854496156e7b
    entity_id: switch.orvibo_l2
    domain: switch
  • type: turn_off
    device_id: e687c7849aad4558a584854496156e7b
    entity_id: switch.orvibo_l2
    domain: switch
  • delay:
    hours: 0
    minutes: 0
    seconds: 3
    milliseconds: 0
  • type: turn_on
    device_id: e687c7849aad4558a584854496156e7b
    entity_id: switch.orvibo_l2
    domain: switch
  • type: turn_off
    device_id: e687c7849aad4558a584854496156e7b
    entity_id: switch.orvibo_l2
    domain: switch
  • delay:
    hours: 0
    minutes: 0
    seconds: 20
    milliseconds: 0
  • type: turn_on
    device_id: e687c7849aad4558a584854496156e7b
    entity_id: switch.orvibo_l2
    domain: switch
  • type: turn_off
    device_id: e687c7849aad4558a584854496156e7b
    entity_id: switch.orvibo_l2
    domain: switch
    mode: single
    icon: mdi:package-variant

Pourtant c’est basique…

Faut que je me penche sur le Template comme tu m’a dis p-e…

Concernant ta sequence, elle ne marche pas de façon consistante car entre les on et off qui font les impulsions il n’y a pas de pause… et comme les signaux peuvent avoir un latence variable… certaines fois le on et le off arrivent si proches l’un de l’autre que la porte de capte pas au final.
Il faudrait 1/2 seconde de pause… mais je ne sais pas si HA permet des pause de moins de 1 sec

Sinon chez moi ma commande que j’ai c’est un truc générique Zigbee, et le mode de fonctionnement n’est pas contrôlable par Zigbee c’est un bouton physique qui change le fonctionnement des relais entre on/off et impulsion. (1er lien)

Sinon ce qui contrôle ma porte de garage en ce moment c’est un relais branché à un ESP avec Esphome, et c’est lui qui gère l’impulsion on/off avec une 1/2 seconde de pause. (2eme lien)

Bonsoir,

Il me semble que ton problème est lié au fait que ton switch zigbee contact sec n’est pas impulsionnel j’ai un modèle équivalent avec 1 voie.
Mon portail fonctionne aussi de façon impulsionnel (ouverture/stop/fermeture).
J’ai donc créé un interrupteur input boolean et une automatisation qui lorsque son état change pendant 1 seconde bascule le contact sec et bascule l’état du cet input boolean. Ca simule ainsi un bouton poussoir dont l’ impulsion dure 1 seconde.
Sur le dashboard, une carte « bouton » pour cet input boolean avec « toggle » lorsqu’on appuie dessus et voilà :wink:
Pour ajouter un temps d’ouverture ( X s) , il te faut creer une automatisation qui fera un toggle de ce boulean input puis attendra X s après que ton capteur d’ouverture aqara est remontée l’info que c’est ouvert, puis de nouveau toggle sur cet input boolean pour lancer la fermeture.
Tu peux creer un bouton input boolean qui te servira de declencheur pour cette automatisation ( avec la carte bouton correspondants sur ton dashboard pour l’activer)

Attention , cela ne fonctionne correctement que si ta porte de garage a fait entièrement son cycle d’ouverture ou de fermeture car si il y a une autre impulsion pendant la maneuvre, cela correspond à un « stop » et la prochaine impulsion lancera le mouvement inverse.

En espérant t’avoir un peu éclairé

@Bientôt

Merci à tous pour vos réponses.

Je n’aie pas encore pris le temps de me repencher sur tout ca :slight_smile:

Je vous tiens au courant de la suite si une des solutions à bien fonctionné :slight_smile:

Comme tu le dis Krull56 si le cylce ne s’est pas fait correctement cela créé une erreur car effectivement ce que j’essaie ne fonctionne pas et si je relance cela recommence le cycle au mauvais endroit…

Alors en mettant un temps de pause entre chaque actions ca semble bien fonctionner :slight_smile: