Userreading, dass bei ON 1 und bei Off 0 enthält

Begonnen von fstefan1960, 01 Juli 2015, 12:13:26

Vorheriges Thema - Nächstes Thema

fstefan1960

Hallo,

ich habe wieder so eine Frage, bei der FHEM-Cracks wahrscheinlich die Augen nach hinten rollen, aber - sorry - bin erst dabei, mich PERL anzunähern.

Ich möchte gerne ein Plot zeichnen, in dem die "An"- und "Aus"-Zeiten eines Aktors visualisiert werden. Ich habe im Log aber nur on oder off stehen. Anscheinend kann der SVG-Plot ja aber nur Zahlenwerte plotten und nimmt nicht on als logische 1 und off als 0 oder so.
Auch bei Tics etwas einzutragen funzt nicht. Seit ich dbLog nutze, habe ich auch kein Feld für eine Funktion mehr im Wizard.
Also schätze ich, muss ich ein Userreading anlegen, das bei On eben 1 lautet und bei off 0.
Kann mich mal jemand bitte auf die richtige Quelle stupsen. Ich such da jetzt schon ne Weile rum, aber finde nur hochkomplexes ...

Danke
FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.

marvin78

Dafür benötigst du kein userReading. Dazu solltest du dich intensiver mit den Plots beschäftigen. Deine Anwendung könnte für DBLog z.B. so aussehen (für die gplot-Datei):

#logdb DEVICENAME:state:::$val=($val=~"on"?1:0)

Ein UserReading ist im Grunde auch nicht so schwer. Das hat zwar auch mit Perl zu tun, ist aber recht häufig und an vielen Stellen erklärt. Sowas hier könnte gehen (nicht für die fhem.cfg):

status {ReadingsVal($name,"state",0) eq "on"?1:0}