um die aktuelle Leistung an meinem Zähler auslesen zu können benutze ich den vzlogger.
Dieser liefert mir entsprechend der baudrate 9600 den Wert für MQTT.
OH3 habe ich so konfiguriert:
Code: Alles auswählen
Bridge mqtt:broker:mybroker [ host="192.168.178.40", port="1883", secure=false ]
{
Thing topic vzlogger "MQTT vzlogger data" {
Channels:
Type number : mqtt_thing_momentanleistung "Momentanleistung" [stateTopic="vzlogger/data/chn0/raw"]
Type number : mqtt_thing_bezug "1.8.0 Gesamtverbrauch Bezugsrichtung" [stateTopic="vzlogger/data/chn1/raw"]
Type number : mqtt_thing_lieferung "2.8.0 Gesamtverbrauch Lieferrichtung" [stateTopic="vzlogger/data/chn2/raw"]
}
}
Code: Alles auswählen
Number mqtt_item_momentanleistung "Zähler [%d W]" {channel="mqtt:topic:mybroker:vzlogger:mqtt_thing_momentanleistung"}
Ich würde das gerne so konfigurieren, dass nur alle 10s die Rule aktiv wird, sehe aber keine Möglichkeit den vzlogger so zu konfigurieren.
Es würde sicherlich gehen mit einem cron job alle 10s das item auszulesen.
Mich würde aber interessieren ob es noch ein andere "saubere" Lösung gibt die Wiederholrate am vzlogger/MQTT einzustellen, so daß alles 10s der Wert ausgelesen und geliefert wird.
Code: Alles auswählen
{
"retry": 0,
"verbosity": 0,
"log": "/var/log/vzlogger.log",
"meters": [
{
"enabled": true,
"allowskip": false,
"aggmode": "none",
"protocol": "sml",
"device": "/dev/ttyUSB0",
"channels": [
{
"uuid": "0",
"api": "null",
"identifier": "1-0:16.7.0" //Aktual Bezug
},
{
"uuid": "1",
"api": "null",
"identifier": "1-0:1.8.0", //counter Zählerstand Bezug
},
{
"uuid": "2",
"api": "null",
"identifier": "1-0:2.8.0" //counter-out Zählerstand Lieferung
}
],
"interval": -1, //in sekunden
//"pullseq": "2F3F210D0A", //2F3F210D0A
"baudrate": 9600,
"parity": "8n1",
"use_local_time": true
}
],
"mqtt": {
"enabled": true,
"host": "192.168.178.40",
"port": 1883,
"cafile": "",
"capath": "",
"certfile": "",
"keyfile": "",
"keypass": "",
"keepalive": 30,
"topic": "vzlogger/data",
"id": "",
"user": "",
"pass": "",
"retain": false,
"rawAndAgg": false,
"qos": 0,
"timestamp": false
}
}