falscher Verbrauchswert von Steckdose

Tuya basierte Hardware. Geflasht oder ungeflasht ...

Moderator: seppy

Antworten
ruab01
Beiträge: 21
Registriert: 8. Mär 2021 15:48
Answers: 0

falscher Verbrauchswert von Steckdose

Beitrag 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

Harka
Beiträge: 594
Registriert: 30. Apr 2021 13:13
Answers: 19

Re: falscher Verbrauchswert von Steckdose

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

Code: Alles auswählen

|Float.parseFloat(input) * 0.1
und
oder "SCRIPT ECMAScript (ECMAScript 262 Edition 11)"

Code: Alles auswählen

|parseFloat(input)*0.1
versuchen.

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

Re: falscher Verbrauchswert von Steckdose

Beitrag 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.
openHAB5.1.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.6 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

ruab01
Beiträge: 21
Registriert: 8. Mär 2021 15:48
Answers: 0

Re: falscher Verbrauchswert von Steckdose

Beitrag 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

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

Re: falscher Verbrauchswert von Steckdose

Beitrag von udo1toni »

ruab01 hat geschrieben: Gestern 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.
openHAB5.1.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.6 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

Antworten