FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: NeuFehm am 27 Februar 2017, 21:07:48

Titel: Commandref einfach erklärt
Beitrag von: NeuFehm am 27 Februar 2017, 21:07:48
Ich habe in der commandref zu den userReadings folgendes Beispiel gefunden:

attr myEnergyMeter userReadings energy { ReadingsVal("myEnergyMeter","counters.A",0)/1250.0;; }

was bedeutet counters."A"

ist das das selbe wie in meinen Beispiel (TempTmodul5 temp 11.0 8.4 9.0 ) der erste Wert:
also TempTmodul5:temp.A = 11.0
also TempTmodul5:temp.B = 8.4

oder hat das damit gar nix zu tun?
LG Mirko



Titel: Antw:Commandref einfach erklärt
Beitrag von: KölnSolar am 27 Februar 2017, 21:13:52
Zitathat das damit gar nix zu tun?
aber rein gar nichts.
Ist lediglich der Name des readings.  In Deinem Fall wohl temp.
Titel: Antw:Commandref einfach erklärt
Beitrag von: Benni am 27 Februar 2017, 21:26:33
Zitat von: KölnSolar am 27 Februar 2017, 21:13:52
aber rein gar nichts.
Ist lediglich der Name des readings.  In Deinem Fall wohl temp.

Schau mal in der Commandref noch unter den Pearl-Specials nach: https://fhem.de/commandref_DE.html#perl

Dort wird u.a. ReadingsVal beschrieben.
Titel: Antw:Commandref einfach erklärt
Beitrag von: NeuFehm am 28 Februar 2017, 14:54:39
Danke für den Hinweis... und ja, jetzt kann ich´s ;)
Um aus meinem Reading "temp":  010.5 007.3 007.9 den 2. der 3 Werte auszulesen:

attr TempTmodul5 userReadings Badtemp {substr(ReadingsVal("TempTmodul5","temp",0),6,5)}

Vielen Dank!!!
Titel: Antw:Commandref einfach erklärt
Beitrag von: KölnSolar am 28 Februar 2017, 17:21:33
Bist Du sicher, dass das extrahieren mit substr auch immer funktioniert ? Zumindest bei Werten zwischen 0,00 und 999,99 scheint es dank der führenden Nullen zu klappen. Aber wie sieht es bei negativen Werten aus ? Schau Dir ggfs. mal in der commandref zum notify die $EVTPARTx an.
Titel: Antw:Commandref einfach erklärt
Beitrag von: NeuFehm am 01 März 2017, 12:30:03
NAja, ich habe eine Übersetzungstabelle, die aus den Temperaturwerten (0-255) die entsprechende Temperatur ermittelt.
Die habe ich, weil ich mir nicht anders zu helfen wusste so angelegt, dass es immer passt:
-30,0
-02,0
001,0
040,0
Aber ich schau mir mal das Gesagte an. Es wäre mitunter auch möglich ein regex in der art  [Leerzeichen (hier die Zahl matchen) Leerzeichen] zu nutzen...
Ich melde mich wieder...