Réutiliser d'anciens contacts de porte et PIR de centrale d'alarme comme entrées Hermetry
Traduit de English par IA ·
Bonjour à tous, désolé si ce n’est pas le bon endroit, je suis assez novice dans tout cela.Nous avons repris un bâtiment équipé d’un ancien système d’alarme avec télésurveillance. Le contrat de télésurveillance a été résilié et la centrale est en cours de dépose, mais tous les capteurs sont toujours dans les murs : environ 14 contacts magnétiques de porte et 6 détecteurs de mouvement (PIR) au rez-de-chaussée. Chacun dispose d’un câble à 4 fils qui revient vers le placard de la centrale. Certains contacts de porte n’utilisent que 2 fils.Mon idée est de garder les capteurs et de mettre un ESP32 dans le placard à la place de la centrale, afin de voir dans Hermetry quelles portes sont ouvertes en dehors des heures d’ouverture et de recevoir une alarme. J’ai déjà un ESP32 qui envoie une température à Hermetry via MQTT (copié depuis le guide de démarrage), donc la partie envoi fonctionne.Ce que je ne comprends pas :
- Comment câbler un contact de porte à l’ESP32 ? Est-ce simplement un interrupteur ?
- Les PIR indiquent 12VDC sur l’étiquette. L’ESP32 peut-il les alimenter ?
- L’électricien dit que certains ont des « résistances en fin de ligne ». À quoi servent-elles et faut-il les retirer ?
J’ai mesuré une boucle de porte au multimètre : environ 2,2 kΩ avec la porte fermée, circuit ouvert avec la porte ouverte.
Hi everyone, sorry if this is the wrong place, I’m pretty new to all of this.
We took over a building that had an old monitored security system. The monitoring contract is cancelled and the panel is being removed, but all the sensors are still in the walls: about 14 magnetic door contacts and 6 motion detectors (PIRs) on the ground floor. Each one has a 4-wire cable going back to the panel closet. Some of the door ones only have 2 wires used.
My idea is to keep the sensors and put an ESP32 in the closet instead of the panel, so I can see in Hermetry which doors are open after hours and get an alarm. I already have one ESP32 sending a temperature to Hermetry over MQTT (copied from the getting started guide), so the sending part works.
What I don’t understand:
- how do I wire a door contact to the ESP32? Is it just a switch?
- the PIRs say 12VDC on the label. Can the ESP32 power them?
- the electrician says there are « resistors at the end of the line » on some of them. What are those for and do I need to remove them?
I measured one door loop with a multimeter: about 2.2k ohms with the door closed, open circuit with the door open.
Traduit de English par IA ·
Suite à cela, nous avons les mêmes capteurs restants dans deux de nos hôtels.
Following this, we have the same leftover sensors in two of our hotels.
Traduit de English par IA ·
Les contacts de porte sont de simples interrupteurs à lames souples (reed), oui. Les PIR ne peuvent pas être alimentés depuis l’ESP32, ils ont besoin de leur propre alimentation 12 V. Savez-vous si les sorties des PIR sont des contacts de relais ou du collecteur ouvert ? C’est généralement indiqué sur la carte à l’intérieur du capot.
Door contacts are plain reed switches, yes. The PIRs will not run from the ESP32, they need their own 12 V supply. Do you know if the PIR outputs are relay contacts or open collector? It’s usually written on the board inside the cover.
Traduit de English par IA ·
J’en ai ouvert un. Il indique « ALARM N.C. RELAY » à côté de deux des bornes et « TAMPER » à côté de deux autres. Le modèle est un DSC LC-100.
Opened one up. It says « ALARM N.C. RELAY » next to two of the terminals and « TAMPER » next to two others. Model is a DSC LC-100.
Traduit de English par IA ·
Bien, alors tout se résume à un contact sec et c’est facile. J’ai fait à peu près la même chose pour l’entrepôt d’un client il y a quelque temps.Les 2,2k que vous avez mesurés correspondent à la résistance de fin de ligne (EOL). L’ancienne centrale s’en servait pour distinguer « fermé », « fil coupé » et « court-circuit ». Vous avez deux options :
- La plus simple : contournez-la ou ignorez-la et lisez chaque boucle comme une entrée numérique. Porte fermée = 2,2k vers la masse, ce qui, avec le pull-up interne de l’ESP32 (environ 45k), est lu comme LOW. Ouverte = HIGH. Cela fonctionne, mais un fil coupé ressemble exactement à une porte ouverte.
- Conserver la supervision : lisez chaque boucle sur une broche ADC avec un pull-up de 10k vers 3,3 V. Fermée, on a environ 0,6 V, ouverte 3,3 V, en court-circuit 0 V. Vous pouvez alors envoyer une valeur
faultséparée.
Pour 20 boucles, vous manquerez de broches ADC utilisables ; je vous conseille donc d’utiliser des entrées numériques ou d’ajouter un extenseur I2C MCP23017 pour les entrées.Pour les PIR : placez une alimentation 12 V dans le placard, alimentez les PIR avec elle et câblez le contact relais N.F. vers une entrée, exactement comme une porte. Ne reliez la masse négative du 12 V à la masse de l’ESP32 que si c’est nécessaire, le relais est de toute façon isolé. Les contacts d’autoprotection peuvent aussi être raccordés à des entrées si vous voulez savoir quand quelqu’un ouvre un capot.Côté Hermetry, envoyez chaque entrée en 0/1 et non en true/false, afin d’obtenir un historique graphique. Par exemple :
{"door_lobby": 0, "door_dock": 1, "pir_hall": 0, "tamper_any": 0}
Envoyez à chaque changement et une fois par minute, pour que la dernière valeur soit toujours récente. Ensuite, une règle d’alarme comme door_dock == 1 sur le profil, et une condition horaire pour l’après-heures.
Good, then everything is just a dry contact and this is easy. I did almost the same thing for a client’s warehouse a while back.
The 2.2k you measured is the end-of-line (EOL) resistor. The old panel used it to tell « closed » from « wire cut » from « short ». You have two choices:
- Simplest: bypass or ignore it and read each loop as a digital input. Closed door = 2.2k to ground, which with the ESP32 internal pull-up (around 45k) reads as LOW. Open = HIGH. That works, but a cut wire looks exactly like an open door.
- Keep the supervision: read each loop on an ADC pin with a 10k pull-up to 3.3 V. Closed is about 0.6 V, open is 3.3 V, shorted is 0 V. Then you can send a separate
faultvalue.
For 20 loops you will run out of usable ADC pins, so I’d do digital inputs, or add an MCP23017 I2C expander for the inputs.
PIRs: put a 12 V supply in the closet, power the PIRs from it, and wire the N.C. relay contact to an input exactly like a door. Tie the 12 V negative to the ESP32 ground only if you need to, the relay is isolated anyway. The tamper contacts can go to inputs too if you want to know when someone opens a cover.
On the Hermetry side, send each input as 0/1, not true/false, so you get a chart history of it. Something like:
{"door_lobby": 0, "door_dock": 1, "pir_hall": 0, "tamper_any": 0}
Send on every change plus once a minute, so the latest value is fresh. Then an alarm rule like door_dock == 1 on the profile, and a time condition for after hours.
Traduit de English par IA ·
Petit ajout : appliquez un anti-rebond aux contacts reed dans le firmware (20-50 ms), sinon une porte claquée enverra trois changements d’état à la suite.
Small add: debounce the reed switches in firmware (20-50 ms) or a slammed door will send three changes in a row.
Traduit de English par IA ·
^ oui. Utilise aussi des broches GPIO sans rôle au démarrage, donc évite 0, 2, 12 et 15 pour les boucles.
^ yes. And use GPIO pins that have no boot role, so avoid 0, 2, 12 and 15 for the loops.
Traduit de English par IA ·
Ça fonctionne sur un banc de test avec 4 portes et 1 PIR. J’ai opté pour l’option 1, les entrées numériques, et j’ai déplacé une boucle du GPIO 12 après que la carte a refusé de démarrer avec la porte ouverte, exactement ce que vous aviez signalé. J’envoie maintenant du 0/1 et le graphique semble correct. Je commande un MCP23017 pour le reste. Merci à tous !
Got it working on a test bench with 4 doors and 1 PIR. I went with option 1, digital inputs, and moved one loop off GPIO 12 after the board refused to boot with the door open, which is exactly what you warned about. Sending 0/1 now and the chart looks right. Ordering an MCP23017 for the rest. Thanks all!
- Vous devez être connecté pour répondre à ce sujet.
Rejoignez la discussion
Connectez-vous pour poser et répondre à des questions, aimer les messages utiles et marquer la réponse qui a résolu votre problème. Chaque contribution rapporte des points et des niveaux.

