FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Steffmaster am 09 Juni 2016, 11:14:34

Titel: "Gelöst" - Reading ohne Einheit - Motion Eye Akku Reading ohne %
Beitrag von: Steffmaster am 09 Juni 2016, 11:14:34
Hallo!

Kurze Erklärung, was ich möchte. Bei meinen Jalousien habe ich folgendes Userreading angelegt:

status {if ((Value("Rollo_Bad") eq "off") || Value("Rollo_Bad") eq "up") {"0"} else {substr(Value("Rollo_Bad"),4) ;;}}

Damit erzeuge ich ein neues Reading, welches mir den state der Jalousie ohne das "dim" in das Reading "status" schreibt. Das benötige ich, um den state im TabletUi grafisch umzusetzen.

Genau dieses benötige ich nun auch für das Akku Reading des Motion Eye. Dort wird dem "battery" Reading ein "%" angehangen. Kann mir jemand helfen das umzusetzen? Ein DOIF mit:

MotionEye:battery:d

bringt mich hier nicht wirklich weiter.

Ich habe es mal so versucht

status {if ((Value("MotionEye:battery") = 100) || Value("MotionEye:battery") eq = 1) {"0"} else {substr(Value("MotioEye:battery"),4) ;;}}

Da bekomme ich folgenden Fehler:

Error evaluating MotionEye userReading status: Can't modify non-lvalue subroutine call in scalar assignment at (eval 119444) line 1, near "100) " syntax error at (eval 119444) line 1, near "eq =" syntax error at (eval 119444) line 1, near ";}"
Titel: Antw:Reading ohne Einheit - Motion Eye Akku Reading ohne %
Beitrag von: marvin78 am 09 Juni 2016, 11:19:28
ReadingsNum
Titel: Antw:Reading ohne Einheit - Motion Eye Akku Reading ohne %
Beitrag von: Steffmaster am 09 Juni 2016, 11:26:44
Hallo und danke für deine Antwort. Ich nehme an, das ReadingsNum gehört zu TabletUi? Ich kann da leider nichts zu finden. Hast du ein kurzes Beispiel String da?
Titel: Antw:Reading ohne Einheit - Motion Eye Akku Reading ohne %
Beitrag von: marvin78 am 09 Juni 2016, 11:31:09
Wenn jemand ein Stichwort rein wirft, gibt die Logik vor, dass man es nimmt und in der Doku danach sucht. Wäre es anders (ich habe keinerlei Ahnung, wie du auf TabletUI kommst), hätte ich schon mehr geschrieben.

ReadingsNum ist eine Perl Funktion, die FHEM dir zur Verfügung stellt, um die Werte aus Reading zu extrahieren. Es funktioniert wie ReadingsVal (Grundlagen!), liefert aber z.B. Werte ohne Einheiten.

Bitte die Grundlagen lernen, angepinnte Beiträge lesen....
Titel: Antw:Reading ohne Einheit - Motion Eye Akku Reading ohne %
Beitrag von: Steffmaster am 09 Juni 2016, 12:58:16
Für die, die es vlt. noch interessiert. So funktioniert es als Userreading.

status {substr(ReadingsVal("MotionEye","battery","none"),0,3)}

und so geht es auch

status {(ReadingsNum("MotionEye","battery","none"))}

Dank dir
Titel: Antw:Reading ohne Einheit - Motion Eye Akku Reading ohne %
Beitrag von: betateilchen am 09 Juni 2016, 21:14:10
Zitat von: Steffmaster am 09 Juni 2016, 12:58:16
und so geht es auch
status {(ReadingsNum("MotionEye","battery","none"))}

und so auch:


{ (ReadingsVal("MotionEye","battery",0) + 0) }