Sensorlogger
HomeMatic-Einstellungen
Es kann eine Verbindung zu einer HomeMatic-Zentrale aufgebaut werden, um verfügbare numerische Datenpunkte auszulesen und die Werte von Systemvariablen zu setzen. Sensorwerte anderer Quellen können so beispielsweise auch direkt beim Auslesen oder im Rahmen der statistischen Zusammenfassung an die HomeMatic-Zentrale geschickt werden. Die Kommunikation erfolgt dabei über die XML-API, die als Addon für die HomeMatic-Zentrale verfügbar ist.
Um einen Überblick über alle verfügbaren Datenpunkte und ihre zugehörigen ISE-ID zu bekommen, kann die statelist.cgi der XML-API abgerufen werden. Alle Datenpunkte können ausgelesen werden (Sensorlogger nutzt hier die state.cgi?datapoint_id=...); gesetzt werden können durch den Sensorlogger allerdings ausschließlich Systemvariablen (dies geschieht über einen Aufruf der statechange.cgi).
Die URL, die verwendet werden soll, um über die XML-API zu kommunizieren, muss zunächst in einer allgemeinen Sektion in den Einstellungen gesetzt werden:
"homematic": { "xmlapi_url": "http://192.168.1.4/addons/xmlapi" }
"xmlapi_url": Adresse der XML-API.
Standardwert: null
HomeMatic-Datenpunkte auslesen
"sensors": [ ... { "sensor_id": "Haus/Wohnzimmer/Luftfeuchte", "homematic_subscribe": "94836", "factor": 1, "offset": 0, "counter": false, "trigger": "periodic", "rest_period": {"value": 2, "unit": "min"}, "retry_time": {"value": 30, "unit": "s"}, "mqtt_publish": "Haus/Wohnzimmer/Luftfeuchte/aktuell" }, ... ]
"sensor_id": Allgemeine, eindeutige ID für den Sensor, um später bei der Definition der Logbücher hierauf Bezug nehmen zu können.
"homematic_subscribe": ISE-ID des Datenpunktes, der periodisch ausgelesen werden soll.
"factor": Korrekturfaktor, siehe nächster Punkt.
Standardwert: 1
"offset": Korrekturoffset. Der resultierende Wert für den Sensor wird anhand der Formel factor·(Messwert+offset) ermittelt.
Standardwert: 0
"counter": Legt fest, ob es sich bei diesem Sensor um einen reinen Zähler handeln soll. In diesem Fall muss die Variable auf den Wert true gesetzt werden. Der Sensorlogger speichert dann immer nur den letzten Wert des Sensors, und zählt die durchgeführten Messungen. Im Logbuch können später nur die Anzahl der Messungen und Frequenzen ausgewertet werden, keine anderen statistischen Operationen (z.B. Mittelwert). Falls Messungen sehr häufig durchgeführt werden, kann es Arbeitsspeicher sparen, nicht alle Messwerte des aktuellen Messzyklus aufzuheben.
Ereignisse werden allerdings immer gezählt, unabhängig vom Wert dieses Parameters. Dadurch funktioniert die Zähl- und Frequenzstatistik, die evtl. in Logbücher einfließen soll, ebenfalls immer.
Standardwert: false
"mqtt_publish": Topic, unter dem der ausgelesene und ggf. korrigierte Wert per MQTT verteilt werden soll.
Standardwert: null
"homematic_publish": ISE-ID der Systemvariable, deren Wert auf den ausgelesenen und ggf. korrigierten Sensorwert gesetzt werden soll.
Standardwert: null
"rest_period": Ruhezeit für den Sensor. Nach der Ruhezeit wird der Sensor das nächste Mal abgefragt. Der numerische Wert wird über "value" angegeben, die Einheit über "unit". Folgende Einheiten sind erlaubt: "ms", "s", "min", "h", "d".
Standardwert: default_rest_period, Minimum: 100 ms
"retry_time": Wiederanlaufzeit für den Sensor. Wenn der Sensor nicht ausgelesen werden kann, wird der nächste Ausleseversuch nach der Wiederanlaufzeit unternommen (sofern sie kürzer ist als die Ruhezeit des Sensors). Der numerische Wert wird über "value" angegeben, die Einheit über "unit". Folgende Einheiten sind erlaubt: "ms", "s", "min", "h", "d".
Standardwert: default_retry_time, Minimum: 100 ms