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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet