Bonjour,
Mon problème
J’ai une porte de garage BFT TIR 60. Je voudrais pouvoir commander son ouverture/fermeture sur HA. J’ai trouvé un sujet similaire mais les connecteurs ne sont pas les mêmes et je préfèreais éviter de faire des bêtises.
La doc dit :
BRANCHEMENTS BARETTE DE CONNEXION (fig.16)
JP1
1-2 Alimentation photocell et accessoires 17V~ max 8.5VA
JP2 Connecteur carte réceptrice
JP3
1-2 Branchement veille 230V~ max 25W
3-4 Alimentation transformateur
5-6 Alimentation monophasée 230V~ ±10%, 50-60Hz (5=N 6=L)
7-8 Branchement clignotant 230V~ max 40W
JP4 Prédisposition sortie II° canal radio CH2
JP5
1 Branchement transformateur 25V
2-3 Branchement moteur
TIR 60: 2 Brun - 3 Gris
TIR 120: 2 Jaune - 3 Bleue
4 Branchement transformateur 15V o 20V
5 Branchement transformateur 0V
JP6
1-2 Branchement antenne (1 signal - 2 gaine)
JP8 Connecteur branchement fin de course d’arrêt
JP9 Connecteur branchement microinterrupteur de ralentissement
JP10
1-2 Entrée photocellules, côte sensible (N.C.). S’il n’est pas utilisé, laisser la barrette.
3-4 Bouton d’arrêt (N.C.). S’il n’est pas utilisé, laisser la barrette.
5-6 Bouton ouverture-fermeture et sélecteur à clé (N.O.)
La figure 16 :
Je comptais utiliser un Shelly 1, brancher I/O sur JP10 5-6.
Pour N/L je prends JP3 5-6 ?
Merci d’avance pour vos conseils.
Ma configuration
System Information
version
core-2025.11.3
installation_type
Home Assistant OS
dev
false
hassio
true
docker
true
container_arch
aarch64
user
root
virtualenv
false
python_version
3.13.9
os_name
Linux
os_version
6.12.47-haos-raspi
arch
aarch64
timezone
Europe/Paris
config_dir
/config
Home Assistant Community Store
GitHub API
ok
GitHub Content
ok
GitHub Web
ok
HACS Data
ok
GitHub API Calls Remaining
5000
Installed Version
2.0.5
Stage
running
Available Repositories
2447
Downloaded Repositories
3
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 16.3
update_channel
stable
supervisor_version
supervisor-2025.11.5
agent_version
1.7.2
docker_version
28.3.3
disk_total
1833.7 GB
disk_used
5.3 GB
nameservers
fd0f:ee:b0::1, 192.168.1.254
healthy
true
supported
true
host_connectivity
true
supervisor_connectivity
true
ntp_synchronized
true
virtualization
board
rpi3-64
supervisor_api
ok
version_api
ok
installed_addons
Duck DNS (1.26.0), Get HACS (1.3.1), Terminal & SSH (9.20.1), File editor (5.8.0), Linky (1.6.1), Gazpar2HAWS (0.4.0)
Dashboards
dashboards
3
resources
0
views
0
mode
storage
Network Configuration
adapters
lo (disabled), enu1u1 (enabled, default, auto), docker0 (disabled), hassio (disabled), vetha4dbbec (disabled), veth8878635 (disabled), veth20a44df (disabled), veth0381fbf (disabled), veth7ebf1aa (disabled), veth6831de0 (disabled), veth3a03900 (disabled), vethda5caf3 (disabled)
ipv4_addresses
lo (127.0.0.1/8), enu1u1 (192.168.1.86/24), docker0 (172.30.232.1/23), hassio (172.30.32.1/23), vetha4dbbec (), veth8878635 (), veth20a44df (), veth0381fbf (), veth7ebf1aa (), veth6831de0 (), veth3a03900 (), vethda5caf3 ()
ipv6_addresses
lo (::1/128), enu1u1 (2a01:e0a:3dc:fd80:24c6:2bb5:8ef7:7520/64, fe80::a088:2053:31e7:92c4/64), docker0 (fe80::9c32:baff:fe32:f2e4/64), hassio (fd0c:ac1e:2100::1/48, fe80::20d1:67ff:fe76:b1a0/64), vetha4dbbec (fe80::504b:dbff:fec8:f0b8/64), veth8878635 (fe80::2c72:26ff:fe87:7c15/64), veth20a44df (fe80::8b:d2ff:fe78:63de/64), veth0381fbf (fe80::502f:8bff:fe15:95a/64), veth7ebf1aa (fe80::6450:b9ff:fee2:a005/64), veth6831de0 (fe80::e0fc:3bff:feb3:7358/64), veth3a03900 (fe80::a0c4:87ff:fed0:bb0a/64), vethda5caf3 (fe80::48ed:eff:fe2e:3dc9/64)
announce_addresses
192.168.1.86, 2a01:e0a:3dc:fd80:24c6:2bb5:8ef7:7520, fe80::a088:2053:31e7:92c4
Recorder
oldest_recorder_run
16 novembre 2025 à 06:54
current_recorder_run
26 novembre 2025 à 16:52
estimated_db_size
58.61 MiB
database_engine
sqlite
database_version
3.49.2
_
ddfdom
Novembre 27, 2025, 4:36
2
Oui c’est tout a fait ça
Il te faut un contact sec entre les corne 5 et 5
Un Shelly gen1 convient parfaitement
1 « J'aime »
Merci beaucoup.
j’imagine que tu veux dire borne 5 et 6. Et pour l’alimentation je veux être certain de ne pas faire de bêtise.
C’est une Shelly 1 Mini Gen3. Mais j’imagine que ça convient tout aussi bien.
ddfdom
Novembre 28, 2025, 9:59
4
Ah non pas du tout, ce n’est pas un contact sec ! il faut un Shelly 1 non mini qui lui dispose d’un contact sec
Rackham:
Et pour l’alimentation
ce sont les bornes qui delivrent de 230V
Les Shelly 1 mini possède aussi un contact sec, comme le Shelly 1 plus.
La différence est que le contact est limité a 8A.
1 « J'aime »
ddfdom
Novembre 28, 2025, 10:17
6
euh oui effectivement j’ai dit une bêtise
pour un portail ça devrait aller
edit: erf j’ai confondu avec le 1pm qui forcement n’a pas de contact sec, bon je refaire pas la bêtise
2 « J'aime »
Alors petit souci, selon le schéma sur JP10 le fil bleu est sur L et ne marron sur N. La porte fonctionne bien comme ça, mais ne serait-ce pas branché inversé ? Les fils viennent d’une prise classique avec terre, elle même reliée au disjoncteur dont le tableau a été refait aujourd’hui même par un électricien.
Est-ce que je dois inverser ces fils sur la carte de ma porte de garage ?
Si je ne dois pas inverser, comment je branche l’alim de mon Shelly ?
ddfdom
Décembre 2, 2025, 3:39
8
tu peux intervertir pour la beauté du geste mais ça n’aura pas d’incidence particulière
C’est bon merci, ça fonctionne. J’ai configuré le shelly en bouton poussoir et un arrêt automatique après 500ms.
Idéalement j’aimerais remplacer le switch sur l’interface de HA par un bouton mais ce n’est pas critique.
ddfdom
Décembre 2, 2025, 8:03
10
Dans la configuration de l’entité tu dois pouvoir changer le type
J’ai fini par ajouter deux capteurs ouverture/fermeture sonoff en m’inspirant de Détecter ouverture porte de garage - #3 par Jeffodilo .
Config du cover personnalisé :
cover:
- name: "Porte garage"
device_class: garage
open_cover:
- service: switch.turn_on
target:
entity_id: switch.porte_de_garage
close_cover:
- service: switch.turn_on
target:
entity_id: switch.porte_de_garage
stop_cover:
- service: switch.turn_on
target:
entity_id: switch.porte_de_garage
position: >-
{% set GO = is_state('binary_sensor.porte_garage_ouverte', 'on') %}
{% set GF = is_state('binary_sensor.porte_garage_fermee', 'on') %}
{% if GO and not GF %}
0
{% elif not GO and GF %}
100
{% else %}
50
{% endif %}
icon: >-
{% set GO = is_state('binary_sensor.porte_garage_ouverte', 'on') %}
{% set GF = is_state('binary_sensor.porte_garage_fermee', 'on') %}
{% if GO and not GF %}
mdi:garage-variant
{% elif not GO and GF %}
mdi:garage-open-variant
{% else %}
mdi:garage-alert-variant
{% endif %}
Et pour le dashboard :
type: custom:button-card
entity: cover.porte_garage
tap_action:
action: call-service
service: switch.turn_on
target:
entity_id: switch.porte_de_garage
show_state: false
label: |-
[[[
const GO = hass.states['binary_sensor.porte_garage_ouverte'].state === 'on';
const GF = hass.states['binary_sensor.porte_garage_fermee'].state === 'on';
if (GO && !GF) return 'Fermée';
else if (!GO && GF) return 'Ouverte';
else return 'Entre ouverte';
]]]
show_label: true
styles:
card:
- height: 120px
label:
- color: gray
- font-size: 9px
- padding: 0px 5px
Pas réussi à accéder à la position du cover dans le button-card.
1 « J'aime »
system
A fermé ce sujet ()
Mars 12, 2026, 6:26
12
Ce sujet a été automatiquement fermé après 60 jours. Aucune réponse n’est permise dorénavant.