Lokale MQTT-Integration für Hörmann Supramatic Series4 – ohne Cloud!

Hallo Gifford47,

ich nutze die HCPBridgeMqtt Software zur Steuerung meines Hörmann SupraMatic E4 Antriebs. Als Hardware kommt ein Olimex ESP32-PoE-ISO zum Einsatz.
Würde gerne von WLAN auf LAN umstellen.

Aktueller Stand (WLAN):

Bisher läuft das System über WLAN absolut stabil. Dabei nutze ich folgende Pin-Belegung für die RS485-Kommunikation zum Tor:

  • TX: GPIO 4

  • RX: GPIO 16

Das Problem beim Umstieg auf Ethernet (LAN):

Ich möchte die Bridge nun per LAN betreiben (#define USE_ETHERNET). Dabei stoße ich auf hardwarebedingte Pin-Konflikte des Olimex-Boards:

  1. GPIO 17: Dieser Pin wird beim Olimex zwingend für den Ethernet-Takt (RMII CLK) benötigt und fällt somit als TX-Pin weg.

  2. GPIO 4: Dieser Pin ist physisch mit dem SD-Karten-Slot des Boards verbunden. Sobald der Ethernet-Stack aktiv ist, scheint es hier zu Interferenzen oder Ressourcen-Konflikten zu kommen, die die Kommunikation zum Tor unterbrechen (“Waiting connection”).

Meine Fragen zur Programmierung & Konfiguration:

  • Alternative Pins: Welche Pins sind beim Olimex ESP32-PoE-ISO im LAN-Modus “sicher” für TX/RX, ohne mit dem Ethernet-Chip, dem SD-Slot oder der Stromversorgung (GPIO 12 für LAN-Power) zu kollidieren?

  • Initialisierungs-Reihenfolge: Muss im Arduino-Code ETH.begin() zwingend vor oder nach hoermannEngine->setup()aufgerufen werden, um Timer- oder Interrupt-Konflikte zu vermeiden?

  • Timing & Clock-Mode: Hat der Ethernet-Overhead Auswirkungen auf das serielle Timing zum Antrieb? Welche ETH_CLK_MODE Einstellungen sind für dieses Board im Zusammenspiel mit der HCP-Library zu empfehlen?

  • Code-Anpassungen: Gibt es im Code Stellen (außer der configuration.h), an denen Pins für den Olimex fest hinterlegt sind, die ich anpassen muss?

Ich bin für jeden Hinweis dankbar, wie ich dieses spezifische Board im LAN-Modus stabil zur Zusammenarbeit mit dem Hörmann-Bus bewege.

Vielen Dank vorab!