Welche Version von openHAB verwendest Du?
Grundsätzlich handelt es sich bei den Werten um Zahlen, es wäre also besser, Number als Channel zu verwenden.
Weiterhin: die Thing UID enthält bereits das Wort "wohnzimmer", entsprechend ist es eine unnötige Redundanz, dies nochmal im Channel zu verwenden. Die UID des Temp-Channels lautet z.B. mqtt:topic:16a7ce4469:sensor_wohnzimmer:temp_wohnzimmer. Unnötig...
Wenn Du einen Number Channel verwendest, kannst Du von UoM (Units of Measurement) profitieren. Dazu gibst Du zusätzlich noch den Parameter unit im Channel an
Code: Alles auswählen
UID: mqtt:topic:sensor_wohnzimmer
label: Sensor Wohnzimmer
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:16a7ce4469
channels:
- id: temp
channelTypeUID: mqtt:number
label: Temperatur Wohnzimmer
description: ""
configuration:
stateTopic: zigbee2mqtt/Temp_Wohnzimmer
transformationPattern: JSONPATH:$.temperature
unit: °C
- id: hum
channelTypeUID: mqtt:number
label: Luftfeuchtigkeit Wohnzimmer
description: ""
configuration:
stateTopic: zigbee2mqtt/Temp_Wohnzimmer
transformationPattern: JSONPATH:$.humidity
unit: %
- id: bat
channelTypeUID: mqtt:number
label: Batteriestand Wohnzimmer
description: ""
configuration:
stateTopic: zigbee2mqtt/Temp_Wohnzimmer
transformationPattern: JSONPATH:$.battery
unit: %
Die Items müssen dann natürlich auch vom Typ
Number:Temperature bzw.
Number:Dimensionless (für %) sein, weiterhin sollte ab OH4.0 unbedingt in den QuantityType Items der
unit Parameter passend gesetzt werden. unit im Item bestimmt unter anderem, wie der Wert in der Persistence gespeichert wird. Über das state Description Pattern (Metadaten) kann man zudem die Formatierung für die Anzeige setzen (z.B. auch die Temperatur in °F statt in °C, ohne weitere Umrechnung...)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet