Hichi IR Wifi mqtt Werte auslesen

Die alternative Firmware für ESP8266 based devices

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
udo1toni
Beiträge: 13854
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Hichi IR Wifi mqtt Werte auslesen

Beitrag 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)?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Hichi IR Wifi mqtt Werte auslesen

Beitrag 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!
- OpenHab 2.4
#PWRUP

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

Re: Hichi IR Wifi mqtt Werte auslesen

Beitrag von udo1toni »

Wie sieht Diene Konfiguration aus?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Hichi IR Wifi mqtt Werte auslesen

Beitrag 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
- OpenHab 2.4
#PWRUP

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

Re: Hichi IR Wifi mqtt Werte auslesen

Beitrag 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 :)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Hichi IR Wifi mqtt Werte auslesen

Beitrag 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
  }
}
- OpenHab 2.4
#PWRUP

biologist
Beiträge: 3
Registriert: 25. Mai 2023 23:02

Re: Hichi IR Wifi mqtt Werte auslesen

Beitrag 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 :-)

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

Re: Hichi IR Wifi mqtt Werte auslesen

Beitrag 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.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Hichi IR Wifi mqtt Werte auslesen

Beitrag 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
- OpenHab 2.4
#PWRUP

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

Re: Hichi IR Wifi mqtt Werte auslesen

Beitrag von udo1toni »

Ja, aber das ist ja nicht im Link zum Item :) Diese Variante war ja nicht das Thema...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten