Skip to content

ESPHome basierte, automatisierte Alarmauslösung über einen http request bei Alarmierung eines Melders in einer LGRA Ladestation.

Notifications You must be signed in to change notification settings

momu/esp32-alarmlicht

Repository files navigation

ESP32 Alarmlicht

ESPHome basierte, automatisierte Alarmauslösung über einen http request bei Alarmierung eines Melders in einer LGRA Ladestation.

Um automatisiert einen Alarm per http request (z.B. über DIVERA 24/7) auszulösen, wird der Relaiskontakt des Ladegeräts Swissphone LGRA Expert ausgewertet.

esp-alarmlicht nur echt mit loet.bar sticker

Blockdiagramm

block diagram

Das esp32-alarmlicht wertet zwei GPIO Eingänge aus. GPIO16 wird über ein Relais einer Funkfernbedienung angesteuert. Wird dieses Relais geschlossen, soll über ein Relais das Alarmlicht angesteuert werden. GPIO18 wird über das Relais im Ladegerät des Melders (DME) gesteuert. Wird das Relais geschlossen, soll das Alarmlicht angesteuert werden und ein http request ausgelöst werden.

Status LEDs

Das esp32-alarmlicht verfügt über drei Status LEDs:

  1. Auslösung des DME oder der Funkfernbedienung
  2. Drücken des Testknopfes BUT1
  3. Wi-Fi Verbindung (kurzes Blinken alle 3 s)

Hardware

Basis des esp32-alarmlicht ist ein ESP32-EVB-EA-IND Board mit einem ESP32-WROOM-32UE Modul.

Die Statusanzeige erfolgt über drei LEDs, die mit 3k Widerständen versehen sind.

Die beiden potenzialfreien Kontakte des Ladegerätes und des Funklichtes sind mit einem Pull-up Widerstand versehen und werden bei der Auslösung auf GND gezogen.

Die Stromversorgung des ESP32-EVB-EA-IND erfolgt über die Pins 2 und 4 des LGRA. Diese sind mit den Pads des unbestückten Steckers PWR2 des Olimex-Boards verbunden.

Für eine korrekte Funktion muss im LGRA eine Lötbrücke entfernt werden.

schematic

Vollständiges Schematic als KiCad Projekt oder als PDF in hardware/.

Bill Of Materials

Software

Die Software basiert auf ESPHome. Das Konfigurationsfile ist alarmlicht.yaml. Je nach Konfiguration wird bei Alarm- oder Testauslösung ein API-Request an DIVERA und ntfy gesendet. Das Verhalten wird über die Variablen global_send_* gesteuert. Eine Testauslösung erfolgt über BUT1 des ESP32-EVB-EA-IND.

Das File secrets.yaml enthält folgende Angaben:

  • Wi-Fi Konfigurations- und Zugangsdaten
  • ntfy URL
  • DIVERA API Key

Beispieldaten befinden sich in secrets-example.yaml. Diese Datei muss in secrets.yaml umbenannt werden und mit echten Daten gefüllt werden.

alarmlicht.yaml bindet folgende Dateien ein:

Wird ein Alarm ausgelöst während keine Wi-Fi Verbindung besteht, wird der Alarm gespeichert und anschließend bei bestehender Wi-Fi Verbindung ausgelöst. Das Speichern geschieht über die globale Variable global_alert_pending.

Da der http request nicht immer erfolgreich ist, wird der Statuscode ausgewertet. Ist er nicht 200 und 429 wird mehrmals versucht, den http request zu senden. Das Verhalten und die maximale Anzahl der Versuche wird über die globalen Variablen global_divera_http_request_* gesteuert.

Setup

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
esphome wizard alarmlicht.yaml
esphome run alarmlicht.yaml

Building, Running, Logs

The esphome run <CONFIG> command is the most common command for ESPHome. It

  • Validates the configuration
  • Compiles a firmware
  • Uploads the firmware (over OTA or USB)
  • Starts the log view
esphome run alarmlicht.yaml

The esphome logs <CONFIG> command validates the configuration and shows all logs.

esphome logs alarmlicht.yaml

Ladegerät Swissphone LGRA Expert

Das Ladegerät verfügt über einen fünfpoligen DIN-Stecker (female) mit folgender Belegung:

pinout lgra expert Quelle: Ladegerät (A)LGRA Expert (PDF)

Pin 4 ist mit der Stromversorgung des Netzteils verbunden (+5V), Pin 2 ist GND, Pins 1 und 3 werden potentialfrei durch ein Relais geschaltet.

Relaiskonfiguration/Lötbrücke

Im Auslieferungszustand wird der Relaiskontakt geschlossen wenn der DME eine Meldung empfängt. Der Kontakt wird wieder geöffnet, wenn alle Meldungen quittiert wurden.

Über eine Lötbrücke wird das Verhalten des Relais konfiguriert. Wird diese Lötbrücke entfernt, so wird das Relais bei jedem Meldungseingang für ca. 10 s geschlossen, unabhängig vom Quittieren vorheriger Meldungen.

Für die Verwendung des Ladegerätes mit dem esp32-alarmlicht muss die Lötbrücke entfernt werden.

solder jumper closed lgra expert

solder jumper open lgra expert

Ressourcen

Bugs, Questions And Contributions

Please use the projects issue tracker or create a GitHub pull request.

Lizenz

ESP32-Alarmlicht is licensed under CC BY-NC-SA 4.0

About

ESPHome basierte, automatisierte Alarmauslösung über einen http request bei Alarmierung eines Melders in einer LGRA Ladestation.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published