Zigbee2mqtt / Tradfri Spots Dimmerwerte

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Janm
Beiträge: 12
Registriert: 3. Jun 2023 22:54
Answers: 1

Zigbee2mqtt / Tradfri Spots Dimmerwerte

Beitrag 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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Janm
Beiträge: 12
Registriert: 3. Jun 2023 22:54
Answers: 1

Re: Zigbee2mqtt / Tradfri Spots Dimmerwerte

Beitrag 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"
 

Janm
Beiträge: 12
Registriert: 3. Jun 2023 22:54
Answers: 1

Re: Zigbee2mqtt / Tradfri Spots Dimmerwerte

Beitrag 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...

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

Re: Zigbee2mqtt / Tradfri Spots Dimmerwerte

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

Janm
Beiträge: 12
Registriert: 3. Jun 2023 22:54
Answers: 1

Re: Zigbee2mqtt / Tradfri Spots Dimmerwerte

Beitrag 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 :-/
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten