Habe mir einen Shelly Plug S Gen3 angeschafft um wenigstens den Stromverbrauch von meiner Infrarotheizung messen zu können. Da er mit dem Shelly Binding sich nicht in openhab einbinden lassen hat habe ich es mit MQTT probiert. Ich kann ihn in openhab schalten und sehe auch den aktuellen Verbrauch nur den Gesamt Verbrauch bekomme ich irgend wie nicht hin.
2025-01-23 19:11:32.920 [WARN ] [ab.binding.mqtt.generic.ChannelState] - Command '{total=1986.911, by_minute=[8508.81,8301.278,8301.278], minute_ts=1737655860}' from channel 'mqtt:topic:MQTTBroker:InfHBad:GesamtPower' not supported by type 'NumberValue': Character array is missing "e" notation exponential mark.
2025-01-23 19:11:32.920 [WARN ] [ofiles.JSonPathTransformationProfile] - Could not transform state '0 W' with function 'JSONPATH:$.apower' and format '%s'
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz
Jetzt habe ich es zwar hinbekommen das ich die Werte Gesamt Verbrauch und aktueller Verbrauch in openhab angezeigt bekomme doch bekomme ich im Log immer diese Warnmeldungen mit den ich nichts anfangen kann
2025-01-24 16:35:00.056 [WARN ] [ofiles.JSonPathTransformationProfile] - Could not transform state '0 W' with function 'JSONPATH:$.apower' and format '%s'
2025-01-24 16:35:00.056 [WARN ] [ofiles.JSonPathTransformationProfile] - Could not transform state '3549.834 Wh' with function 'JSONPATH:$.aenergy.total' and format '%s'
openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz
Moin,
prüfe mal bitte, ob das Profil auf Standart eingestellt ist. Den Fehler kann ich reproduzieren, wenn ich dort auch noch mal jsonpath genutzt wird.
openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz
Könnte Hilfe bei einer Rule gebrauchen Da es jetzt klappt mit den Auslesen der Werte über MQTT wollte ich mit einer Rule mir die Werte für Tag, Monat u.s.w anzeigen lassen. Mit udo1toni seiner Hilfe hab ich das auch schon für meine Waschmaschine gemacht. Habe die Rule auf die Items umgeschrieben aber irgendwie kommen keine Werte an.
Die Ausgabe vom Item " Infrarotheizung_Badezimmer_Gesamt_Power" sind in Wh
openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz
1. Wenn Du ein generic mqtt Thing anlegst, kannst Du dort bei number Channels den PArameter unit setzen. Dieser muss zu dem gelieferten Messwert passen, also z.B. Wh
2. das zugehörige Item definierst Du dann passend (für Wh wäre es Number:Energy). Außerdem kannst Du im Item in den Metadaten ebenfalls die unit setzen. Sie bestimmt, in welcher Einheit der Wert im Status gehalten wird. Das hat auch Einfluss auf die Persistence, denn die Persistence kennt keine Units, entsprechend werden Zahlen als Zahlen gespeichert und beim Wiedereinlesen werden sie mit der unit des Items beaufschlagt.
3. Weiterhin gibt es das stateDescription pattern, welches die Anzeige des Items innerhalb eines Widgets beeinflusst. dort kannst Du z.B. "%.1f kWh" rein schreiben, um den Wert in kWh angezeigt zu bekommen. Diese Konfiguration kannst Du jederzeit nach Herzenslust ändern, meinetwegen in Mcal (Megakalorien) oder Ws oder was auch immer, openHAB wird den Wert immer vollautomatisch korrekt umrechnen.
4. Das gleiche kannst Du für die vier Summierer konfigurieren, also nicht String, sondern Number:Energy, und dafür schreibst Du nur den ermittelten Wert ins Item -gemeinsam mit der Unit, oder aber ohne Unit, dann aber mit der für das Item festgelegten Unit (siehe 2.)
Da Du lauter Werte aus der Persistence beziehst, wirst Du warten müssen, bis der abgefragte Zeitraum auch Daten liefert.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
UID: mqtt:topic:MQTTBroker:InfHBad
label: Infrarotheizung Badezimmer
thingTypeUID: mqtt:topic
configuration:
transformationPattern:
- JSONPATH:$.status
bridgeUID: mqtt:broker:MQTTBroker
location: Badezimmer
channels:
- id: Betrieb
channelTypeUID: mqtt:switch
label: Betrieb
description: Betrieb (on/off)
configuration:
commandTopic: shellyplugsg3-b08184a5b870/command/switch:0
transformationPatternOut:
- MAP:config:map:shellystate
stateTopic: shellyplugsg3-b08184a5b870/status/switch:0
transformationPattern:
- JSONPATH:$.output
off: "false"
on: "true"
- id: GesamtPower
channelTypeUID: mqtt:number
label: Gesamt Power
description: Power in kWh
configuration:
unit: Wh
formatBeforePublish: "%.4f Wh"
stateTopic: shellyplugsg3-b08184a5b870/status/switch:0
transformationPattern:
- JSONPATH:$.aenergy.total
- id: Power
channelTypeUID: mqtt:number
label: Power
description: Power in Watt
configuration:
unit: W
formatBeforePublish: "%.4f W"
stateTopic: shellyplugsg3-b08184a5b870/status/switch:0
transformationPattern:
- JSONPATH:$.apower
das Item habe ich mit Plattern geändert das mir kWh angezeigt werden
openhab4.3.1 auf Pi 5 8GB im Docker Portainer&Frontail /Grafana&InfluxDB und mosquitto auf Pi 3 in Docker Portainer/Pi 3 mit Docker zur Datensicherung / Pi 4 4GB Portainer & Deconz