Anbindung von https://github.com/john30/ebusd an IP-Symcon.
- Funktionsumfang
- Voraussetzungen
- Installation
- Konfiguration
- Einbindung ins Webfront
- Schreiben von Werten
- Funktionsreferenz
- Anhang
Das Modul dient zur Einbindung von eBUS Geräten in IP-Symcon. eBUS ('Energie Bus') ist ein Bussystem, das von verschiedenen Herstellern von Heizungs-, Lüftungs- und Solaranlagen genutzt wird.
Die Anbindung erfolgt über den Kommunikationsdienst ebusd in Verbindung mit einem geeigneten Hardwareadapter.
Über das Modul werden die von ebusd zur Verfügung gestellten Parameter zum Auslesen und Schreiben in IP-Symcon als Statusvariablen eingebunden. Die Auswahl der einzubindenden Parameter wird vom Anwender festgelegt.
- Hardware Adapter zur Verbindung mit dem eBUS
- lauffähiger eBUS Daemon (ebusd (ab V3.4)) mit entsprechender Hardwareanbindung (siehe auch Installationskurzanleitung ebusd)
- mindestens IPS Version 5.3
- MQTT Server (IPS built-in Modul)
Füge im "Module Control" (Kern Instanzen->Modules) die URL
https://github.com/bumaas/ebusdMQTT.git
hinzu.
Danach ist es möglich ein neues ebusd MQTT Device zu erstellen:
Falls noch keine übergeordnete MQTT Server Instanz existiert, wird automatisch eine angelegt:
Auch eine Server Socket Instanz wird automatisch angelegt, wenn noch keine existiert:
Für jedes erkannte Gerät/Schaltkreis muss eine Instanz angelegt werden..
-
Host:
Adresse unter der der ebusd Dienst erreichbar ist. Hierbei kann es sich um eine IP Adresse oder einen Hostnamen handeln. -
Port:
Portnummer auf dem der ebusd Dienst http-Anfragen entgegennimmt. -
Schaltkreis Name:
Der Name des Schaltkreises unter dem das Gerät in ebusd geführt wird ('Circuit'). Beispiele sind 'bai', '700' etc. Über den Button "Ermittle Schaltkreis Namen" wird die Auswahl der zur verfügung stehenden Schaltkreise ermittelt. -
Aktualisierungsintervall:
Intervall in dem alle Statusvariablen durch Anfragen an den eBUS aktualisiert werden (0 = keine Aktualisierung). Je nach Anzahl der Statusvariablen kann die Abfrage den eBUS erheblich belasten. Das Intervall sollte nicht zu klein gewählt werden.
Nachdem die Einstellungen gespeichert wurden, kann im Aktionsbereich die Konfiguration gelesen werden und die anzulegenden Statusvariablen können ausgewählt werden. Bei Bedarf kann für eine Statusvariable eine Poll Priorität angegeben werden, die von ebusd verwendet werden soll. Die Poll Prioriät besagt, in welchem Intervallzyklus eine Meldung von ebusd gepollt werden soll. Meldungen mit Priorität 1 werden in jedem Pollzyklus abgefragt, Meldungen mit Priorität 2 werden in jedem zweiten Zyklus abgefragt usw.. Die Pollpriorität kann gesetzt werden, wenn das Abfrageintervall, das im Minutenbereich liegt, für einzelne Meldungen nicht fein genug ist.
Alle Statusvariablen sind für eine Anzeige und (sofern vom ebusd ein Schreiben unterstützt wird) zum Ändern im Webfront vorbereitet. Sie haben alle ein Profil, das der ebusd Definition entspricht. Zur Verwendung im Webfront sollten sie jedoch überprüft werden. Insbesondere der Wertebereich (min/max) ist zu kontrollieren und auf reelle bzw. anlagenspezifische Werte zu setzen.
Besonderheit:
Schreibbare Mehrfachfelder können nicht direkt aus dem Webfront heraus geändert werden. Sie lassen sich aber über EBM_publish schreiben.
Beispiel:
EBM_publish(47111, 'ebusd/700/hwctimer.monday/set', '07:00;22:00;00:00;00:00;00:00;00:00');
Sofern die Statusvariablen ein Schreiben zulassen, können die Werte direkt über das Webfront oder per Skript über RequestAction verändert werden.
EBM_publish(int $InstanceID, string $topic, string $payload): void
Published den Wert $payload zum $topic. Kann für "Sonderthemen" genutzt werden, siehe MQTT client Beschreibung. Ein Beispiel zum Schreiben eines Topics:
// der Wert des Parameters 'FlowsetHCMax' des Schaltkreises 'bai' wird auf 75 gesetzt
$InstanceID = 12345; // die Instanz ID des "ebusd MQTT Device"
$topic = 'ebusd/<Schaltkreis>/<Parameter>/set'; // <Schaltkreis> und <Parameter> sind entsprechend zu ersetzen ('ebusd/bai/FlowsetHCMax')
$payload = '75'; // der Wert ist als String zu übergeben
EBM_publish($InstanceID, $topic, $payload);
Modul | Typ | GUID |
---|---|---|
ebusd MQTT Device | Device | {0A243F27-C31D-A389-5357-B8D000901D78} |
Die Nutzung des Moduls ist kostenfrei. Niemand sollte sich verpflichtet fühlen, aber wenn das Modul gefällt, dann freue ich mich über eine Spende.