Switchbot MQTT Thing/Channel Fehlermeldung

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
zinnik
Beiträge: 168
Registriert: 7. Sep 2021 11:28

Switchbot MQTT Thing/Channel Fehlermeldung

Beitrag von zinnik »

Hallo

ich habe nach dieser Anleitung
https://github.com/devWaves/SwitchBot-MQTT-BLE-ESP32

Meine Switchbot Meter hinzugefügt und habe im Item Profil Jsonpath $.batt eigetragen für die Zuordnung.
Zusätzlich noch unter State Descripton: Pattern %.1f °C

Um den Wert der Batterieladung in % anzuzeigen.

Code: Alles auswählen

2023-12-04 22:20:53.500 [WARN ] [ofiles.JSonPathTransformationProfile] - Could not transform state '{"scale":"c","C":-6.0,"F":21.2,"hum":91,"rssi":-95}' with function '$.batt' and format '%s'
kann mir jemand sagen was ich da falsch mache

hier der Code vom Thing

Code: Alles auswählen

UID: mqtt:topic:MQTTBroker:SwitchbotMeter1
label: Switchbot Meter 1
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:MQTTBroker
channels:
  - id: SwitchbotMeter1Temp
    channelTypeUID: mqtt:string
    label: SwitchbotMeter1 Temp
    description: ""
    configuration:
      stateTopic: switchbot/esp32/meter/Meter85/attributes
  - id: SwitchbotMeter1Hum
    channelTypeUID: mqtt:string
    label: SwitchbotMeter1 Hum
    description: ""
    configuration:
      stateTopic: switchbot/esp32/meter/Meter85/attributes
  - id: SwitchbotMeter1Batt
    channelTypeUID: mqtt:string
    label: SwitchbotMeter1 Batt
    description: ""
    configuration:
      stateTopic: switchbot/esp32/meter/Meter85/attributes
Screenshot (383).png

Lg zinnik
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openhab 4.1.0.M Docker (Qnap)
influxDB 1.8.2 Docker (Qnap)
Grafana v8.3.3 Docker (Qnap)
Deconz 2.19.03 Docker (Qnap)
Homematic (Raspberrymatic Pi 3B+)
Grafana, Phoscon, Shelly, Gardena, Tuya
Camera IP Binding mit ffmpeg
Solaredge PV Anlage mit 8kW Speicher (solaredgeBinding)
u.v.m.

Lg zinnik

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

Re: Switchbot MQTT Thing/Channel Fehlermeldung

Beitrag von udo1toni »

Das Problem wird vermutlich sein, dass auf dem Topic unterschiedliche JSON Objekte ankommen, in denen nur teilweise der Batteriestand mitgeliefert wird.

Die Fehlermeldung kannst Du unterdrücken, indem Du einen REGEX Filter vor das JSONPATH einfügst.
Außerdem böte es sich an, dies direkt im Channel zu implementieren, statt dies im Profile zu erledigen. Das hat auch den Vorteil, dass Du UoM verwenden kannst:

Code: Alles auswählen

UID: mqtt:topic:MQTTBroker:SwitchbotMeter1
label: Switchbot Meter 1
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:MQTTBroker
channels:
  - id: SwitchbotMeter1Temp
    channelTypeUID: mqtt:number
    label: SwitchbotMeter1 Temp
    description: ""
    configuration:
      stateTopic: switchbot/esp32/meter/Meter85/attributes
      transformationPattern: REGEX:(.*temp.*)∩JSONPATH:$.temp
      unit: °C
  - id: SwitchbotMeter1Hum
    channelTypeUID: mqtt:number
    label: SwitchbotMeter1 Hum
    description: ""
    configuration:
      stateTopic: switchbot/esp32/meter/Meter85/attributes
      transformationPattern: REGEX:(.*hum.*)∩JSONPATH:$.hum
      unit: %
  - id: SwitchbotMeter1Batt
    channelTypeUID: mqtt:number
    label: SwitchbotMeter1 Batt
    description: ""
    configuration:
      stateTopic: switchbot/esp32/meter/Meter85/attributes
      transformationPattern: REGEX:(.*batt.*)∩JSONPATH:$.batt
      unit: %
In der Folge musst Du natürlich Number:Temperatur bzw. Number:Dimensionless als Itemtypen verwenden, in den Item Links jegliche Profiles entfernen sowie in den Items zum Einen die Unit in den Metadaten korrekt setzen und zum Anderen auch die stateDescription (und hier das Pattern) setzen.

Es versteht sich von selbst, dass zusätzlich zu JSONPATH auch REGEX installiert sein muss.
openHAB4.1.1 stable in einem Debian-Container (bookworm) (Proxmox 8.1.4, LXC), mit openHABian eingerichtet

zinnik
Beiträge: 168
Registriert: 7. Sep 2021 11:28

Re: Switchbot MQTT Thing/Channel Fehlermeldung

Beitrag von zinnik »

Hallo Udo

ich hab es jetzt mal so konfiguriert wie vorgeschlagen. Test am <Beispiel "SwitchbotMeter1Batt"

Ich musste den vorhanden Channel löschen damit ich aus dem Typ String ein Number machen konnte
Screenshot (384).png
Screenshot (385).png
in dem Item habe ich das "Standard" Profil gewählt aber bekomme jetzt den wert 10000% anstatt 100% angezeigt.
Habe ich was falsch verstanden?
Screenshot (386).png

Code: Alles auswählen

UID: mqtt:topic:MQTTBroker:SwitchbotMeter1
label: Switchbot Meter 1
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:MQTTBroker
channels:
  - id: SwitchbotMeter1Temp
    channelTypeUID: mqtt:string
    label: SwitchbotMeter1 Temp
    description: ""
    configuration:
      stateTopic: switchbot/esp32/meter/Meter85/attributes
  - id: SwitchbotMeter1Hum
    channelTypeUID: mqtt:string
    label: SwitchbotMeter1 Hum
    description: ""
    configuration:
      stateTopic: switchbot/esp32/meter/Meter85/attributes
  - id: SwitchbotMeter1Batt
    channelTypeUID: mqtt:number
    label: SwitchbotMeter1 Batt
    description: ""
    configuration:
      stateTopic: switchbot/esp32/meter/Meter85/attributes
      transformationPattern: REGEX:(.*batt.*)∩JSONPATH:$.batt
      unit: "%"
Lg zinnik
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openhab 4.1.0.M Docker (Qnap)
influxDB 1.8.2 Docker (Qnap)
Grafana v8.3.3 Docker (Qnap)
Deconz 2.19.03 Docker (Qnap)
Homematic (Raspberrymatic Pi 3B+)
Grafana, Phoscon, Shelly, Gardena, Tuya
Camera IP Binding mit ffmpeg
Solaredge PV Anlage mit 8kW Speicher (solaredgeBinding)
u.v.m.

Lg zinnik

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

Re: Switchbot MQTT Thing/Channel Fehlermeldung

Beitrag von udo1toni »

Was kommt denn für ein JSON rein?
openHAB4.1.1 stable in einem Debian-Container (bookworm) (Proxmox 8.1.4, LXC), mit openHABian eingerichtet

zinnik
Beiträge: 168
Registriert: 7. Sep 2021 11:28

Re: Switchbot MQTT Thing/Channel Fehlermeldung

Beitrag von zinnik »

Was meinst du damit?
Wie es im Mqqt broker aussieht?

Code: Alles auswählen

switchbot/esp32/meter/Meter85/attributes
{"scale":"c","C":-6.3,"F":20.7,"hum":93,"rssi":-95}

Oder ist es besser wenn ich das hier nehme

Code: Alles auswählen

switchbot/esp32/meter/Meter85/battery
100
openhab 4.1.0.M Docker (Qnap)
influxDB 1.8.2 Docker (Qnap)
Grafana v8.3.3 Docker (Qnap)
Deconz 2.19.03 Docker (Qnap)
Homematic (Raspberrymatic Pi 3B+)
Grafana, Phoscon, Shelly, Gardena, Tuya
Camera IP Binding mit ffmpeg
Solaredge PV Anlage mit 8kW Speicher (solaredgeBinding)
u.v.m.

Lg zinnik

zinnik
Beiträge: 168
Registriert: 7. Sep 2021 11:28

Re: Switchbot MQTT Thing/Channel Fehlermeldung

Beitrag von zinnik »

Hi Udo welches sollte ich nehmen bei dem ersten habe ich kommischer Weise auch den batteriestatu erhalten?

Code: Alles auswählen

switchbot/esp32/meter/Meter85/attributes
{"scale":"c","C":-6.3,"F":20.7,"hum":93,"rssi":-95}
openhab 4.1.0.M Docker (Qnap)
influxDB 1.8.2 Docker (Qnap)
Grafana v8.3.3 Docker (Qnap)
Deconz 2.19.03 Docker (Qnap)
Homematic (Raspberrymatic Pi 3B+)
Grafana, Phoscon, Shelly, Gardena, Tuya
Camera IP Binding mit ffmpeg
Solaredge PV Anlage mit 8kW Speicher (solaredgeBinding)
u.v.m.

Lg zinnik

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

Re: Switchbot MQTT Thing/Channel Fehlermeldung

Beitrag von udo1toni »

Wenn der Batteriestatus in einem separaten Topic bereitsteht, würde ich dieses immer vorziehen, Du sparst Dir potenziellen Ärger mit dem JSONPath.
openHAB4.1.1 stable in einem Debian-Container (bookworm) (Proxmox 8.1.4, LXC), mit openHABian eingerichtet

Antworten