Hallo zusammen,
wie kann ich das erste zeichen von einem Reading auswerten.
das ganze wollte ich in einem Userreading machen und entsprechend ein Vorzeichen setzen
z.B.
1.8.0_Verbrauch <8692033.5 hier soll das > ausgewertet werden
16.7.0_Power 548.11 hier soll dann ein - als vorzeichen gesetzt werden.
ich habe das ganze schon probiert in einem Userreading, vermutlich bin ich aber komplett auf dem Holzweg!!????
Bezug:16.7.0_Power.* { if (ReadingsVal($name,"1.8.0_Verbrauch",0) == ">") { ReadingsVal($name,"16.7.0_Power",0) } else { 0 } }, Einspeisung:16.7.0_Power.* { if (ReadingsVal($name,"1.8.0_Verbrauch",1) == "<") { - ReadingsVal($name,"16.7.0_Power",0) } else { 0 } }
Geht das denn überhaubt?
Danke schon mal im vorraus
Zitat von: Bartel_12 am 14 Februar 2022, 19:49:27
Geht das denn überhaubt?
Natürlich.
substr(ReadingsVal($name,"1.8.0_Verbrauch",0),0,1)
Und ein Minuszeichen davorsetzen geht einfach, in dem man entweder den Wert von 0 abzieht oder mit -1 multipliziert. Mathematik, 4. Klasse Grundschule.
if (ReadingsVal($name,"1.8.0_Verbrauch",1) == "<")
Ja, Holzweg!
Danke soweit
jetzt hab ich es auch geschnallt ::)
aktuelle_Leistung:16.7.0_Power.* {if (substr(ReadingsVal($name,"1.8.0_Verbrauch",0),0,1) eq "<" ) { -ReadingsVal($name,"16.7.0_Power",0) } else {if (substr(ReadingsVal($name,"1.8.0_Verbrauch",0),0,1) eq ">" ) { ReadingsVal($name,"16.7.0_Power",0) } } }
so funktioniert es.