Ich möchte gerne größere Werte z.B. durch 1000 dividieren. Benötige ich dazu eine Rule oder würde das direkt mit der Item auch gehen?
Ankündigung
Einklappen
Keine Ankündigung bisher.
Mathematische Funktionen
Einklappen
X
-
Ein klares "Das kommt darauf an"
Wenn Du einen Wert über ein Binding bekommst, welches in der Bindingdefinition Transformations gestattet (z.B. http Binding), dann kannst Du es direkt darüber erledigen. Wenn es nur um die Anzeige des Wertes geht, kannst Du es eventuell auch über eine Transformation (Java Script) erledigen, hab ich aber noch nicht ausprobiert.
Wenn Du Wert auf "korrekte" Werte legst und das Binding keine Transformation beherrscht, musst Du ein Proxy Item verwenden, also den Wert auf einem Item empfangen, bei Update eine Rule triggern, in der Rule den echten Wert berechnen, und am Ende der Rule den Wert in ein anderes Item schreiben (das nutzt Du dann zur Anzeige oder für weitere Zwecke. Dieses Item ist dann ohne Binding, es sei denn, Du willst den umgerechneten Wert wieder irgendwohin schicken.MerkenMerken
-
Diese Zeile wird so vermutlich nicht funktionierenda die Action sendCommand(Item,Value) Strings erwartet. Der berechnete Wert ist aber vom Typ float. Da er auch nicht explizit als Objekt definiert ist, handelt es sich um ein Primitive. Primitives bringen keine Funktion .toString mit.
Abgesehen davon ging es ja nicht um eine konkrete Befehlszeile
Kommentar
-
Konkret geht es mir um einen Leistungszähler, der zB von W in kW oder MW umgerechnet werden soll:
Code:Number AvpmPT "(Wirk)Leistung gesamt [%.1f W]" (ChartPowervpm) { http="<[http://192.168.1.2)]"}
Kommentar
-
Da hast du 2 Möglichkeiten
1. Sie direkt in der Sitemap umrechnen ( da hört es bei mir auf)
2. Ein Umgerechnettes Item Erstellen um es dann zu berechnen
Code:AvpmPTumgerechnet.sendCommand((AvpmPT.state as Number) / (oder *) 1000)
MfG
Kommentar
Kommentar