Seite 1 von 1
falscher Verbrauchswert von Steckdose
Verfasst: 18. Mär 2026 14:10
von ruab01
Hallo liebes Forum,
ich habe eine UPXNBOR Steckdose gekauft und über das Tuya-Binding eingebunden. Soweit funktioniert auch alles, nur der Verbrauch wird falsch anzeigt. Anstelle von 125 W bekomme ich 1250 W angezeigt. Wie kann ich in Openhab 5.1.0 den Wert am einfachsten durch 10 dividieren ?
Grüße
Rudi
Re: falscher Verbrauchswert von Steckdose
Verfasst: 18. Mär 2026 16:53
von Harka
Moin,
Du kannst über das Profil (ist die Ebene zwischen Channel und Item) noch eine
Transformation vornehmen. Das geht mit allen unterstützen Sprachen.
Mit "SCRIPT Rule DSL (v1)" kannst Du unter "Thing zu Item Transformation"
und
oder "SCRIPT ECMAScript (ECMAScript 262 Edition 11)"
versuchen.
Re: falscher Verbrauchswert von Steckdose
Verfasst: 18. Mär 2026 19:01
von udo1toni
Wie ist das Thing angelegt? Kannst Du in der Konfiguration auf die Channel zugreifen? Wird die Leistung mit Unit übergeben? (direkt in ein Number:Power Item) Falls ja, sollte es ausreichen, als Unit "dW" anzuheben, also Deziwatt, womit das Komma um eine Stelle nach links verschoben wird. Das geht aber nur direkt im Channel, weil es die übergebene Unit betrifft.
Re: falscher Verbrauchswert von Steckdose
Verfasst: 19. Mär 2026 22:10
von ruab01
Hallo,
danke für eure Antworten. Ich habe zuerst beim Item die Unit auf dW geändert, dann wird wieder der gleiche Wert (statt 125 1250) mit dW angezeigt, aber nicht auf W umgerechnet.
Danach habe ich die Variante
"SCRIPT ECMAScript (ECMAScript 262 Edition 11)"
|parseFloat(input)*0.1
beim Thing eingestellt und nun wird der Wert richtig angezeigt.
SG
Rudi
Re: falscher Verbrauchswert von Steckdose
Verfasst: 20. Mär 2026 09:11
von udo1toni
ruab01 hat geschrieben: 19. Mär 2026 22:10
Ich habe zuerst beim Item die Unit auf dW geändert, dann wird wieder der gleiche Wert (statt 125 1250) mit dW angezeigt, aber nicht auf W umgerechnet.
tldr;
Ich hatte explizit darauf hingewiesen, dass die Unit im
Channel gesetzt werden muss

Wenn es im Channel nicht angepasst werden kann, geht es nicht über diesen Weg.
Lange Version:
Unit im Channel -> Bestimmt, in welcher Einheit der Channel die Daten erhält. Muss passend zu den gelieferten Daten eingestellt werden.
Unit im Item -> Bestimmt, in welcher Einheit der Wert im Item gehalten wird. Dies beeinflusst auch, in welcher Einheit der Wert in der Persistence gespeichert wird - deshalb darf diese Unit nur gesetzt werden, wenn es noch keine persistierten Daten gibt.
Unit im Label (bzw. State Description Pattern) -> bestimmt, in welcher Einheit der Wert dargestellt wird. Diese Unit kann beliebig oft geändert werden, da sie nur die Darstellung betrifft.