PlateManager – Modulübersicht
Überblick
Die Modulgruppe PlateManager besteht aus zwei eng miteinander verzahnten, aber bewusst getrennten Modulen:
-
PlateManager – Zentrale Anbindung und Steuerung von HASP / openHASP Displays über MQTT
-
VariableMapper – Ergänzendes Hilfsmodul zur flexiblen Wertaufbereitung und -ableitung ohne zusätzliche Ereignisse
Die Modulgruppe verfolgt nicht das Ziel, bestehende oder etablierte openHASP‑Integrationen zu ersetzen oder in Konkurrenz zu treten.
Vielmehr versteh ich es als ergänzendes Nischenmodul, das gezielt dort ansetzt, wo individuelle Logik, flexible Werttransformationen und eine Trennung von Display‑Design und Logik gefragt sind.
Architektur & Zusammenspiel
PlateManager
Der PlateManager bildet die eigentliche Kommunikationsschicht zwischen IP‑Symcon und openHASP‑Geräten.
Er übernimmt insbesondere:
-
MQTT‑Kommunikation (Commands → Display, States/Events ← Display)
-
Gerätestatus (LWT Online / Offline)
-
Seitensteuerung und Display‑Funktionen
-
Antiburn‑Logik
-
Event‑Verarbeitung aus Touch‑Interaktionen
-
Bereitstellung von PHP‑Funktionen zur Steuerung aus Skripten
Das Display‑Layout und Design verbleiben vollständig auf dem Gerät (pages.jsonl).
Das Modul kümmert sich ausschließlich um Kommunikation und Logik.
Ausführliche Dokumentation:
siehe PlateManager – Modulbeschreibung
VariableMapper
Der VariableMapper ist ein bewusst einfach gehaltenes, aber sehr mächtiges Begleitmodul.
Er dient dazu:
-
Wertänderungen einer beliebigen Quellvariable zu überwachen
-
daraus über frei definierbaren PHP‑Code neue Zielwerte abzuleiten
-
ohne zusätzliche Ereignisse oder komplexe Skriptketten
Typische Einsatzszenarien im Zusammenspiel mit PlateManager:
-
Farb‑ oder Textzuweisungen abhängig von Zuständen
-
Status‑Mapping (z. B. Boolean → Farbcode)
-
Logische Ableitungen für Display‑Commands
-
Vorbereitung von Werten für MQTT‑Übertragungen
Der VariableMapper ersetzt keine Logikmodule,
sondern reduziert gezielt Skript‑Wildwuchs bei einfachen, wiederkehrenden Mapping‑Aufgaben.
Ausführliche Dokumentation:
siehe VariableMapper – Modulbeschreibung
Abgrenzung & Philosophie
Diese Modulgruppe verfolgt bewusst folgende Leitlinien:
-
Keine Konkurrenz zu vollumfänglichen Visualisierungs‑ oder Logikframeworks
-
Ergänzung bestehender Symcon‑Setups
-
Fokus auf Flexibilität, Nachvollziehbarkeit und Wartbarkeit
-
Klare Trennung von:
-
Display‑Design (openHASP)
-
Kommunikation (PlateManager)
-
Logik / Mapping (VariableMapper)
-
Gerade in komplexeren Projekten mit vielen Display‑Objekten hilft diese Aufteilung, Konfigurationen übersichtlich und langfristig wartbar zu halten.
Einstieg & empfohlener Workflow (Kurzfassung)
-
openHASP‑Gerät flashen und konfigurieren
-
MQTT‑Verbindung herstellen
-
PlateManager‑Instanz anlegen und Gerät anbinden
-
Display‑Objekte über Commands mit Symcon‑Variablen verbinden
-
Optional: VariableMapper für Logik‑ und Wertaufbereitung einsetzen
Weiterführende Dokumentation
-
PlateManager – Modulbeschreibung
(Details zu Commands, Events, Antiburn, Seitensteuerung, PHP‑API) -
VariableMapper – Modulbeschreibung
(Details zu UserCode, Mapping‑Logik und Statusvariablen)
Zielgruppe
Diese Modulgruppe richtet sich insbesondere an Anwender, die:
-
openHASP intensiv nutzen
-
Logik bewusst nicht im Display abbilden möchten
-
saubere, modulare Strukturen bevorzugen
-
individuelle Anforderungen jenseits von Standard‑Mappings haben
Kurz gesagt:
Der PlateManager verbindet – der VariableMapper denkt mit.
Beide zusammen bleiben bewusst schlank, flexibel und ergänzend.
Zusatz-Gadgets
Das PlateManager-Modul kann in Verbindung mit angepasster openHASP-Firmware besondere Zusatzfunktionen steuern, die über die Standardbefehle hinausgehen. Diese sogenannten „Gadgets“ sind Erweiterungen wie z. B. LED-Blinkfunktionen, Buzzer-Signale oder weitere individuell programmierbare Features.
Wichtige Punkte:
-
Die Gadgets funktionieren nur, wenn die Firmware der HASP/openHASP-Geräte entsprechend angepasst wurde.
-
Standard-openHASP-Firmware unterstützt viele Gadgets nicht, daher ist ggf. ein Custom-Build erforderlich.
-
Gadgets werden über Custom-Commands (JSON-Payloads) angesprochen, die das Modul über MQTT an das Display sendet.
Beispiele für mögliche Gadgets:
-
LED Blinkfunktion
-
Steuerung der Helligkeit, Blinkdauer und Wiederholungsintervalle
-
Kann für einzelne LED-Elemente oder ganze Gruppen verwendet werden
-
JSON-Beispiel:
-
$customCommand = [
'custom' => 'ledblink',
'obj' => 'p1b60',
't_min' => 500,
't_max' => 500,
'val_min'=> 0,
'val_max'=> 200,
'enable' => true
];
PLMAN_SendCommand($InstanceID, json_encode($customCommand));
-
Buzzer / Tonsignalgeber
-
Steuerung von Tonhöhe, Lautstärke und Dauer
-
Muss an einen freien GPIO-Port angeschlossen sein
-
JSON-Beispiel:
-
$customCommand = [
'custom' => 'buzzer',
'freq' => 4000,
'duty' => 128,
'on_ms' => 400,
'off_ms' => 300,
'enable' => true
];
PLMAN_SendCommand($InstanceID, json_encode($customCommand));
Hinweis: Die Gadgets sind optionale Zusatzfunktionen. Sie erweitern gezielt die Möglichkeiten von PlateManager und VariableMapper, z. B. für kreative Visualisierung, akustische Signale oder besondere Effekte auf den Displays.
Mehr Infos wie Screenshots und detailierte Anleitungen der verschiedenen Module auf Github unter:

