Hardware | ||
HCPBridgeCombo | ||
HCPBridgeESP32 | ||
HCPBridgeISR | ||
Images | ||
Investigation | ||
tools | ||
WebUI | ||
.gitignore | ||
README.md |
HCPBridge
Emuliert ein Hörmann HAP 1 HCP auf dem ESP8622 bzw. ESP32 und Arduino.
Kompatible Torantriebe (HCP2-Bus - Modbus):
- SupraMatic E/P Serie 4
- ProMatic Serie 4
Bitte beachten, das Projekt emuliert UAP 1 HCP und ist auch nur mit der Serie 4 kompatibel! Ältere Antriebe als Serie 4 haben eine andere Pinbelegung und ein komplett anderes Protokoll.
Funktionen:
- Abrufen des aktuellen Status (Tor, Licht)
- Auslösen der Aktionen (Licht an/aus, Tor öffen, schließen, stoppen sowie Lüftungsstellung
- WebInterface
- WebService
- Schalten eines Relais mit der Beleuchtung
WebInterface:
WebService:
Aktion ausführen
http://[deviceip]/command?action=[id]
Action | Beschreibung |
---|---|
0 | schließe Tor |
1 | öffne Tor |
2 | stoppe Tor |
3 | Lüftungsstellung |
4 | 1/2 öffnen |
5 | Lampe an/an |
Status abfragen:
Response (JSON):
{
"valid" : true,
"doorstate" : 1,
"doorposition" : 0,
"doortarget" : 0,
"lamp" : true,
"debug" : 0,
"lastresponse" : 0
}
Pinout RS485 (Plug):
- GND (Blue)
- GND (Yellow)
- B- (Green)
- A+ (Red)
- +25V (Black)
- +25V (White)
RS485 Adapter:
Zwischen A+ (Red) und B- (Green) ist ein 120 Ohm Widerstand zum terminieren des BUS!
Schaltung
ESP8266 + Arduino Combo (Bisher stabil, benötigt allerdings zwei MCU)
ESP32 (Bisher stabil durch Nutzung beider Kerne)
ESP8266 ISR (instabil!, WLAN-Probleme können die ModBus-Verbindung beenden, dann ist ein Neuanlernen erforderlich)
Installation
- Adapter am Bus anschließen (grüner Pfeil)
- Busscan ausführen (blauer Pfeil auf off und wieder zurück auf off). Der Adapter bekommt erst dann Strom über die 25V Leitung und muss während des Busscans antworten, sonst wird der Strom wieder abgeschaltet. Im Falle eines Fehlers oder wenn der Adapter abgezogen werden soll, einfach die Busscan Prozedur (On/Off) wiederholen.
Changelog
06.03.2021: Neue Version mit Arduino Pro Mini als Co MCU 24.02.2021: Neue Version via Interrupt und für ESP32 zur Vermeidung von Timing-Problemen