Seite 6 von 9
Re: Hichi IR Wifi mqtt Werte auslesen
Verfasst: 26. Mai 2023 16:56
von udo1toni
biologist hat geschrieben: ↑26. Mai 2023 16:07
Mit Trenner meine ich, dass der Wert zB 45.436 ist und nicht 45436.
Also ist der gespeicherte Wert um den Faktor 1000 zu klein.
Oder auch nicht.
Wie exakt ist Dein Channel definiert (bitte Code-Ansicht)?
Wie exakt ist das Item definiert (Number oder Number:Power)?
Re: Hichi IR Wifi mqtt Werte auslesen
Verfasst: 27. Mai 2023 11:31
von PeterA
udo1toni hat geschrieben: ↑31. Okt 2022 10:48
Ja, das ist falsch
Punkt eins: MQTT benötigt immer und ausnahmslos zwei unterschiedliche Topics, falls auf einem Channel sowohl gesendet als auch empfangen wird, stateTopic und commandTopic sind niemals gleich gesetzt.
Punkt zwei: Mag ja sein, dass Tasmota hier noch die Möglichkeit bietet, Befehle anzunehmen, nötig ist das aber sicher nicht. Also lass bitte das commandTopic im Zweifel komplett leer.
Punkt drei: Da das Topic drei Informationen überträgt, die Du alle haben willst (und eine vierte, auf die Du eventuell verzichten kannst, die aber auch interessant sein kann), wäre es sinnvoll, den Channel mehrfach zu verlinken. dazu muss die stateTransformation leer bleiben und der Channel muss von Typ String sein. Codeansicht:
Code: Alles auswählen
UID: mqtt:topic:mosquitto:hichi
label: Anbindung Stromzähler
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:mosquitto
channels:
- id: json
channelTypeUID: mqtt:string
label: JSON Objekt
description: ""
configuration:
stateTopic: tele/tasmota_E3A268/SENSOR
Nun hast Du das gesamte JSON Objekt in einem String und kannst Items zu diesem Channel hinzufügen.
Vorschag hierzu:
Code: Alles auswählen
Number hichi_in "Bezug" {channel="mqtt:topic:mosquitto:hichi"[profile="transform:JSONPATH", function="$.['Haus'].total_in"]}
Number hichi_out "Einspeisung" {channel="mqtt:topic:mosquitto:hichi"[profile="transform:JSONPATH", function="$.['Haus'].total_out"]}
Number hichi_power "aktuelle Leistung" {channel="mqtt:topic:mosquitto:hichi"[profile="transform:JSONPATH", function="$.['Haus'].Power_curr"]}
DateTime hichi_date "Messung von" {channel="mqtt:topic:mosquitto:hichi"[profile="transform:JSONPATH", function="$.Time"]}
Leider gibt es keine Code-Anzeige für Items, deshalb muss ich hier auf das Format der *.items Dateien zurück greifen.
Ich habe hier auf das Semantic Model verzichtet, weil es für die Funktion irrelevant ist.
Die Konfiguraiton habe ich bei mir getestet, sieht dann so aus:
Screenshot 2022-10-31 104755.png
Die wichtigsten Punkte: Dein JSONPATH Ausdruck stimmt nicht.

Und die JSONPATH Transformation gehört hier in den Link zwischen Channel und Item, das ist effizienter.
Achso... Warum muss der JSONPATH Ausdruck so komisch aussehen? Weil hinter dem Wort "Haus" noch ein Leerzeichen folgt. Vermutlich kannst Du das in Tasmota konfigurieren, dann wäre es das einfachste, das Leerzeichen zu entfernen, dann funktioniert auch der "normale" JSONPATH $.Haus.total_in usw. Das ist aber nur ein Detail
Hallo Udo,
sorry das ich nochmals Fragen muss :/
Eigentlich ist das Konzept den JSON String erst im Item zu "Zerlegen" genau das was ich auch gut Verstehe.
Leider bekomme ich es nicht hin den Code für das MQTT Thing auf den Thing Code für OH 2.4 zu Schreiben.
Könntest Du mit Bitte hier noch mal eine Hilfestellung geben ? Die Topics muss ich anpassen usw. Es geht mir quasi nur um eine "Vorlage"
Vielen herzlichen Dank!
Re: Hichi IR Wifi mqtt Werte auslesen
Verfasst: 27. Mai 2023 14:17
von udo1toni
Wie sieht Diene Konfiguration aus?
Re: Hichi IR Wifi mqtt Werte auslesen
Verfasst: 27. Mai 2023 14:38
von PeterA
udo1toni hat geschrieben: ↑27. Mai 2023 14:17
Wie sieht Diene Konfiguration aus?
Hardware:
Raspi 3B+
Hichi Lesekopf mit Tasmota drauf.
Software: OH 2.4 (ja ich weiß Dringend Updaten)
Ich hab eigentlich nur das Problem das es unglaublich schwierig für mich ist diese Mqtt Thing Config aus vermutlich OH3 auf OH 2.4 umzuschreiben obwohl ich schon viele Sachen umgesetzt habe ist das doch zu kryptisch für mich.
Deswegen bitte ich quasi nur eine eine Vorlage zur Mqtt.thing Config.
Gruß Peter
Re: Hichi IR Wifi mqtt Werte auslesen
Verfasst: 27. Mai 2023 16:22
von udo1toni
Ja, aber es steht doch alles da.
Oder geht es "nur" um das konkrete mqtt thing?
Code: Alles auswählen
Bridge mqtt:broker:mosquitto "Mosquitto" [
host="...",
... und so weiter
] {
Thing topic hichi "Anbindung Stromzähler" [
] {
Channels:
Type string : json "JSON Objekt" [ stateTopic="tele/tasmota_E3A268/SENSOR" ]
}
}
Die konkrete Bridge ist Deine Sache

Re: Hichi IR Wifi mqtt Werte auslesen
Verfasst: 27. Mai 2023 22:44
von PeterA
Hallo Udo,
perfekt! Genau das war es was ich gesucht habe.
Läuft aber noch nicht so ganz rund.
Im Mqtt Explorer kann ich sehen das alle 5min vom Lesekopf gepublished wird.
Aber an den Items (hier erst mal nur das Datum und Gesamt Verbrauch) kommt nix an.
Der JsonPath Transformservice ist auch Installiert.
Im Log passiert nichts....
Hab ich etwas übersehen ?
things:
Code: Alles auswählen
Bridge mqtt:broker:3448a27a [ host="localhost", secure=false ]
{
Thing topic hitchi "hitchi" @ "DWS7612" [availabilityTopic="tele/tasmota_8E881A/LWT", payloadAvailable="Online", payloadNotAvailable="Offline"]
{
Channels:
Type string : json "JSON Objekt" [ stateTopic="tele/tasmota_8E881A/SENSOR" ]
}
}
items:
Code: Alles auswählen
Group hitchi
Group ghitchiStats
Number hitchi_in "Bezug" (hitchi) {channel="mqtt:topic:3448a27a:hitchi:json"[profile="transform:JSONPATH", function="$.['DWS7612'].total_in"]}
Number hitchi_out "Einspeisung" (hitchi) {channel="mqtt:topic:3448a27a:hitchi:json"[profile="transform:JSONPATH", function="$.['DWS7612'].total_out"]}
Number hitchi_power "aktuelle Leistung" (hitchi,ghitchiStats) {channel="mqtt:topic:3448a27a:hitchi:json"[profile="transform:JSONPATH", function="$.['DWS7612'].Power_curr"]}
Number hitchi_amp_L1 "Strom L1" (hitchi) {channel="mqtt:topic:3448a27a:hitchi:json"[profile="transform:JSONPATH", function="$.['DWS7612'].Amp_L1_curr"]}
Number hitchi_amp_L2 "Strom L2" (hitchi) {channel="mqtt:topic:3448a27a:hitchi:json"[profile="transform:JSONPATH", function="$.['DWS7612'].Amp_L2_curr"]}
Number hitchi_amp_L3 "Strom L3" (hitchi) {channel="mqtt:topic:3448a27a:hitchi:json"[profile="transform:JSONPATH", function="$.['DWS7612'].Amp_L3_curr"]}
DateTime hitchi_date "Messung von" (hitchi) {channel="mqtt:topic:3448a27a:hitchi:json"[profile="transform:JSONPATH", function="$.Time"]}
Und hier noch was über mqtt reinkommt:
Code: Alles auswählen
{
"Time": "2023-05-27T21:51:46",
"DWS7612": {
"total_in": 8,
"total_out": 0,
"Power_curr": 0,
"Amp_L1_curr": 0,
"Amp_L2_curr": 0,
"Amp_L3_curr": 0
}
}
Re: Hichi IR Wifi mqtt Werte auslesen
Verfasst: 27. Mai 2023 22:51
von biologist
udo1toni hat geschrieben: ↑26. Mai 2023 16:56
biologist hat geschrieben: ↑26. Mai 2023 16:07
Mit Trenner meine ich, dass der Wert zB 45.436 ist und nicht 45436.
Also ist der gespeicherte Wert um den Faktor 1000 zu klein.
Oder auch nicht.
Wie exakt ist Dein Channel definiert (bitte Code-Ansicht)?
Wie exakt ist das Item definiert (Number oder Number:Power)?
Sorry für die späte Antwort.
Eigentlich ist der Wert nicht zu klein. Die Einheit ist halt kWh. In Wh wird das irgendwann auch sicher unübersichtlich.
Ich hab's eben, als ich den Kram gepostet habe, aber selbst den Fehler gefunden. Ich hatte die Channels für den Zählerstand auf String gesetzt. Funktioniert jetzt.
Dennoch danke

Re: Hichi IR Wifi mqtt Werte auslesen
Verfasst: 28. Mai 2023 00:29
von udo1toni
PeterA hat geschrieben: ↑27. Mai 2023 22:44
Hab ich etwas übersehen ?
Ich sag's ja nur ungern, aber eventuell... stehen Profiles in der Form unter OH2.4 noch nicht zur Verfügung...
Ist leider nicht mehr rauszufinden, zumindest in den offiziellen Quellen gibt es keine so alte Dokumentation mehr. Die Profiles kamen erst im Laufe der 2er Reihe dazu, keinesfalls vor 2.2.
Re: Hichi IR Wifi mqtt Werte auslesen
Verfasst: 28. Mai 2023 13:29
von PeterA
So... geht doch!
habe in der englischen Community einen Eintrag gefunden der mir sehr geholfen hat:
https://community.openhab.org/t/jsonpat ... tely/78576
Nun sieht das hier so aus:
thing:
Code: Alles auswählen
Bridge mqtt:broker:3448a27a [ host="localhost", secure=false ]
{
// hitchi Lesekopf @ DWS7612 Zähler
Thing topic hitchi "hitchi" @ "DWS7612" {
Channels:
Type number : hitchi_in "Bezug" [ stateTopic="tele/tasmota_8E881A/SENSOR", transformationPattern="JSONPATH:$.DWS7612.total_in" ]
Type number : hitchi_out "Einspeisung" [ stateTopic="tele/tasmota_8E881A/SENSOR", transformationPattern="JSONPATH:$.DWS7612.total_out" ]
Type number : hitchi_power "aktuelle Leistung" [ stateTopic="tele/tasmota_8E881A/SENSOR", transformationPattern="JSONPATH:$.DWS7612.Power_curr" ]
Type number : hitchi_amp_L1 "Strom L1" [ stateTopic="tele/tasmota_8E881A/SENSOR", transformationPattern="JSONPATH:$.DWS7612.Amp_L1_curr" ]
Type number : hitchi_amp_L2 "Strom L2" [ stateTopic="tele/tasmota_8E881A/SENSOR", transformationPattern="JSONPATH:$.DWS7612.Amp_L2_curr" ]
Type number : hitchi_amp_L3 "Strom L3" [ stateTopic="tele/tasmota_8E881A/SENSOR", transformationPattern="JSONPATH:$.DWS7612.Amp_L3_curr" ]
Type datetime : hitchi_date "Messung von" [ stateTopic="tele/tasmota_8E881A/SENSOR", transformationPattern="JSONPATH:$.Time" ]
Type string : reachable "Erreichbarkeit" [ stateTopic="tele/tasmota_8E881A/LWT"]
}
}
items:
Code: Alles auswählen
Group hitchi
Group ghitchiStats
Number hitchi_in "Bezug [%.3f kWh]" <energy> (hitchi) {channel="mqtt:topic:3448a27a:hitchi:hitchi_in"}
Number hitchi_out "Einspeisung [%.3f kWh]" <energy> (hitchi) {channel="mqtt:topic:3448a27a:hitchi:hitchi_out"}
Number hitchi_power "aktuelle Leistung [%.1f W]" <energy> (hitchi,ghitchiStats) {channel="mqtt:topic:3448a27a:hitchi:hitchi_power"}
Number hitchi_amp_L1 "Strom L1 [%.3f A]" <energy> (hitchi) {channel="mqtt:topic:3448a27a:hitchi:hitchi_amp_L1"}
Number hitchi_amp_L2 "Strom L2 [%.3f A]" <energy> (hitchi) {channel="mqtt:topic:3448a27a:hitchi:hitchi_amp_L2"}
Number hitchi_amp_L3 "Strom L3 [%.3f A]" <energy> (hitchi) {channel="mqtt:topic:3448a27a:hitchi:hitchi_amp_L3"}
DateTime hitchi_date "Messung von [%1$ta, %1$td.%1$tm.%1$ty, %1$tH:%1$tM Uhr]" (hitchi) {channel="mqtt:topic:3448a27a:hitchi:hitchi_date"}
String reachable "Erreichbarkeit" <network> (hitchi) {channel="mqtt:topic:3448a27a:hitchi:reachable"}
Gruß
Peter
Re: Hichi IR Wifi mqtt Werte auslesen
Verfasst: 28. Mai 2023 15:20
von udo1toni
Ja, aber das ist ja nicht im Link zum Item
Diese Variante war ja nicht das Thema...