Seite 1 von 1
Zigbee2mqtt / Tradfri Spots Dimmerwerte
Verfasst: 9. Jan 2024 21:29
von Janm
Hallo zusammen,
Ich habe manchmal das Problem, dass der Wert meiner Dimmer Item eine lange Nachkommazahl "wird".
Z.b. wird aus 80% zu irgendeinem Zeitpunkt 79.747373829 % (Beispiel)
Screenshot_20240109_211310_openHAB.jpg
Das Thing ist mit MIN=0, MAX=254, DELTA=1. Outgoing transformation pattern mit %d. konfiguriert.
Das Item mit MIN=0, MAX=100, STEP=1 in der Statedescription.
Das pattern mit %d %% konfiguriert.
Screenshot_20240109_211751_openHAB.jpg
Screenshot_20240109_211837_openHAB.jpg
Eigentlich sollte dadurch doch die einzige eine floats verhindert werden?
Hat jemand einen Tipp, wo nach Ich schauen könnte oder hatte jemand mal ein ähnliches Problem?
Freue mich auf Euer Feedback.
VG Jan
Re: Zigbee2mqtt / Tradfri Spots Dimmerwerte
Verfasst: 9. Jan 2024 21:46
von Janm
Hier mal die Text config.
Thing:
Code: Alles auswählen
ID: mqtt:topic:f92f33ab0a:FlurEgSpots
label: Flur-EG Spots
thingTypeUID: mqtt:topic
configuration:
payloadNotAvailable: offline
payloadAvailable: online
transformationPattern: JSONPATH:$.state
availabilityTopic: zigbee2mqtt/FlurEgSpots/availability
bridgeUID: mqtt:broker:f92f33ab0a
location: entrance
channels:
- id: Schalter
channelTypeUID: mqtt:switch
label: Schalter
description: null
configuration:
commandTopic: zigbee2mqtt/FlurEgSpots/set/state
stateTopic: zigbee2mqtt/FlurEgSpots
transformationPattern: JSONPATH:$.state
off: OFF
on: ON
- id: Helligkeit
channelTypeUID: mqtt:dimmer
label: Helligkeit
description: null
configuration:
commandTopic: zigbee2mqtt/FlurEgSpots/set/brightness
min: 0
stateTopic: zigbee2mqtt/FlurEgSpots
transformationPattern: JSONPATH:$.brightness
max: 254
formatBeforePublish: "%d"
- id: Farbtemperatur
channelTypeUID: mqtt:dimmer
label: Farbtemperatur
description: null
configuration:
commandTopic: zigbee2mqtt/FlurEgSpots/set/color_temp
min: 250
stateTopic: zigbee2mqtt/FlurEgSpots
transformationPattern: JSONPATH:$.color_temp
max: 454
Item:
Code: Alles auswählen
label: Helligkeit
type: Dimmer
category: ""
groupNames:
- FlurEgHauptBeleuchtung
tags:
- Point
Model - state description:
Code: Alles auswählen
value: " "
config:
pattern: "%d %%"
step: "1"
min: "0"
max: "100"
Re: Zigbee2mqtt / Tradfri Spots Dimmerwerte
Verfasst: 12. Jan 2024 09:36
von Janm
Der Grund für diese Fließkommazahl ist übrigens wie folgt:
Das Thing hat eine Min-Max-Range von 0-254. Wenn der Wert (kommt aus MQTT) des Things auf 203 steht, ergibt sich für das Item, die oben abgebildete, Fließkommazahl, von 79,.... Eben nicht genau 80%.
Welches Ereignis dafür Verantwortlich ist, dass der in openhab eingestellte Wert von z.B. 80% überschrieben wird, habe ich jetzt nicht recherchiert (z2m, mqtt, ...), ist auch fast egal.
Ich suche jetzt also nach einen Weg, den Wert für Openhab immer glatt zu bügeln...
Re: Zigbee2mqtt / Tradfri Spots Dimmerwerte
Verfasst: 12. Jan 2024 10:20
von udo1toni
Ich denke, Du schaust an der falschen Stelle nach einer Lösung. Das eigentliche Problem ist ja eher, dass das verwendete Widget nicht auf .displayState zugreift, sondern auf .state. .displayState verwendet die Formatierung in den Metadaten (State Description Pattern)
Re: Zigbee2mqtt / Tradfri Spots Dimmerwerte
Verfasst: 12. Jan 2024 17:19
von Janm
Hi udo1toni,
Da bin ich mir nicht sicher, ich habe die widgets bereits mit der Option ignoreDisplayState false/true getestet. Ergebnis ist gleich. Aber ich werde es nochmals gezielt testen:
Screenshot_20240112_171546_openHAB.jpg
Code: Alles auswählen
component: oh-slider-item
config:
icon: light
iconUseState: true
ignoreDisplayState: false
item: Familienzimmer_Spots_Helligkeit
max: 100
min: 0
releaseOnly: true
step: 1
title: Spots - Helligkeit
label: false
Müsste ich an anderer Stelle noch etwas einstellen? Nicht das ich etwas übersehe :-/