Smartmeter Thing Protokol oms

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
knag1
Beiträge: 3
Registriert: 17. Aug 2021 22:34
Answers: 0
Wohnort: Steyr OÖ

Smartmeter Thing Protokol oms

Beitrag von knag1 »

Hallo, Ich bin ein blutiger Neuling, habe aber viel vor mit oh3! Will meinen PV Eigenverbrauch maximieren und dazu muss ich mal wissen was ich ins Netz liefere und was ich beziehe. Mein SieḿensTD3511 Smartmeter der Netz OÖ biete diese Möglichkeit, und ich habs auch schon geschafft mit der Volkszähler Raspi Anwendung und einem IR Schreib- Lesekopf genau diese Daten abzugreifen und anzuzeigen. (Vzlogger.conf)
--------------------------------------------------------------
{
"retry": 0,
"daemon": true,
"verbosity": 0,
"log": "/var/log/vzlogger.log",
"local": {
"enabled": false,
"port": 8080,
"index": true,
"timeout": 3,
"buffer": -1
},
"meters": [
{
"enabled": true,
"allowskip": false,
"interval": -1,
"aggtime": -1,
"aggfixedinterval": false,
"channels": [
{
// Bezug Watt
"uuid": "cbda11a0-fd28-11eb-af15-xxxx",
"identifier": "1.7.0",
"api": "volkszaehler",
"middleware": "http://localhost/middleware.php",
"aggmode": "none",
"duplicates": 0
},
{
// Einspeisung Watt
"uuid": "288172b0-fd29-11eb-8e33-xxxx",
"identifier": "2.7.0",
"api": "volkszaehler",
"middleware": "http://localhost/middleware.php",
"aggmode": "none",
"duplicates": 0
}
],
"protocol": "oms",
"device": "/dev/ttyUSB0",
"baudrate": 9600,
"key": "xxxmykeyxxx",
"mbus_debug": false
}
]
}
-------------------------------------------------------------------------------------------------------------------
screenshot-192.168.1.5-2021.08.17-23_01_48.png
-------------------------------------------------
Leider bin ich kläglich gescheitert ein passendes Smartmeter Thing mit den passenden 2 Channels anzulegen ---> die 2 Items gibts daher natürlich auch nicht.
Kann mir da geholfen werden?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von knag1 am 18. Aug 2021 09:25, insgesamt 1-mal geändert.

Benutzeravatar
udo1toni
Beiträge: 15269
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Smartmeter Thing Protokol oms

Beitrag von udo1toni »

Die einfachste Variante ist, die Daten über json abzugreifen.
Ich habe das bei mit so realisiert.

Code: Alles auswählen

Thing http:url:vz "Volkszähler 10min" [ 
    // <uuidx> = 12345678-9012-3456-7890-123456789012
    baseURL="http://vz/middleware.php/data.json?from=-10Minute&to=now&uuid[]=<uuid1>&uuid[]=<uuid2>",
    refresh=60
    ] {
    Channels: 
        // uuid="<uuid1>" -> Bezug
        Type number : ch1avg "Bezug avg" [stateTransformation="JSONPATH:$.data[?(@.uuid=='<uuid1>')].average"]
        Type number : ch1min "Bezug min" [stateTransformation="JSONPATH:$.data[?(@.uuid=='<uuid1>')].min[1]"]
        Type number : ch1max "Bezug max" [stateTransformation="JSONPATH:$.data[?(@.uuid=='<uuid1>')].max[1]"]
        Type number : ch1con "Bezug con" [stateTransformation="JSONPATH:$.data[?(@.uuid=='<uuid1>')].consumption"]
        // uuid="<uuid2>" -> Einspeisung
        Type number : ch2avg "Einspeisung avg" [stateTransformation="JSONPATH:$.data[?(@.uuid=='<uuid2>')].average"]
        Type number : ch2min "Einspeisung min" [stateTransformation="JSONPATH:$.data[?(@.uuid=='<uuid2>')].min[1]"]
        Type number : ch2max "Einspeisung max" [stateTransformation="JSONPATH:$.data[?(@.uuid=='<uuid2>')].max[1]"]
        Type number : ch2con "Einspeisung con" [stateTransformation="JSONPATH:$.data[?(@.uuid=='<uuid2>')].consumption"]
}
Die Definition liegt bei mit in einer *.things Datei, das geht aber genauso gut auch über die UI. Die URL kannst Du Dir auch von volkszähler angeben lassen, oben rechts gibt es den Export als DropDown. dabei wird aber immer eine URL mit absoluten Zeitbezügen erzeugt, Du musst dann also noch die Zeitstempel durch passende relative Bezüge ersetzen. Ich nutze bei mit die letzten 10 Minuten, damit es sinnvolle Werte von average, min und max gibt. consumption ist immer der aktuelle Wert.
Der Haupttrick bei der Sache ist die Definition des jsonpath. Dadurch sind die Channel fast identisch in der Definition, man hat also nur wenig Arbeit.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

knag1
Beiträge: 3
Registriert: 17. Aug 2021 22:34
Answers: 0
Wohnort: Steyr OÖ

Re: Smartmeter Thing Protokol oms

Beitrag von knag1 »

Hallo Udo, Danke für die rasche Antwort. Über diesen Deinen Lösungsansatz bin ich schon gestolpert. Habs aber nicht geschafft da irgendwas funktionierendes zu kreieren. Ich brauch auch kein Average noch Max oder Min sondern nur möglicht Zeitnah die letzten Werte BezugWatt und EinspeisungWatt, damit dann ich über (eine Rule) den Überschuss berchnen kann und entsprechende Schalaktionen je nach Grösse triggern kann.
Ich versuch mich dann jetzt mal mit **** Die URL kannst Du Dir auch von volkszähler angeben lassen, oben rechts gibt es den Export als DropDown

Benutzeravatar
udo1toni
Beiträge: 15269
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Smartmeter Thing Protokol oms

Beitrag von udo1toni »

Um das Thing kommst Du nicht drum herum. Die Channel sind allesamt optional, bis auf den einen natürlich, den Du auswerten willst.
Das sind ehda Channels.

Du kannst alternativ auch zwei Things anlegen, die dann jeweils nur eine uuid abfragen, ABER das bedeutet doppelte Belastung durch doppelt so viele http Zugriffe. Im Allgemeinen sollte man möglichst ökonomisch mit den Ressourcen umgehen. :)

Keine Option ist es aber, einfach Node 0 und Node 1 zu verwenden, da in der json Antwort keine zwingende Reihenfolge der Nodes definiert ist. Es kann also jederzeit passieren, dass die UUIDs in umgekehrter Reihenfolge übertragen werden, was gerade bei der vorliegenden Aufgabe verheerend wäre.

Gesendet von iPad mit Tapatalk
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

knag1
Beiträge: 3
Registriert: 17. Aug 2021 22:34
Answers: 0
Wohnort: Steyr OÖ

Re: Smartmeter Thing Protokol oms

Beitrag von knag1 »

Hab leider wieder nix geschafft...
Perfekt wäre ja den Lesekopf direkt an den oh3 raspi anzuschliessen und die Werte mit dem oms Protokol wie mit dem Vz direkt einzulesen.
Gibts da keine Möglichkeit?
screenshot-192.168.1.6_8080-2021.08.18-11_36_00.png
screenshot-192.168.1.6_8080-2021.08.18-11_37_10.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 15269
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Smartmeter Thing Protokol oms

Beitrag von udo1toni »

Nein, openHAB ist nicht gut als Messwerterfassung geeignet. Man kann das so machen, aber openHAB ist ein Steuersystem, welches sich auf andere Systeme drumherum stützt.
Ich hab keine Ahnung, ob es ein Binding gibt, welches Oma direkt unterstützt. Es gibt das SML Binding (kan sein, dass es anders heißt), mit dem man Zähler direkt auslesen kann (bzw. Mit dem man die Messages auswerten kann, die der Zähler sendet). Das sollte aber eher eine Notlösung sein. Ein dediziertes System dafür ist die sinnvollere Variante.

In der Base URL hast Du vergessen, die beiden absoluten Zeitwerte (from und to) durch relative Werte (-1Minutes und now) zu ersetzen. Außerdem stehen da noch Zeichenersetzungen drin %5B%5D, da musst Du nachbessern.

Die Abfrage alle 3 Sekunden ist vermutlich auch etwas arg schnell, ich glaube, allein der Timeout beträgt schon 5 Sekunden.

Gesendet von iPad mit Tapatalk
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten