FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: persching am 08 Mai 2015, 22:43:09

Titel: ReadingsGroup valueFormat klappt einfach nicht!
Beitrag von: persching am 08 Mai 2015, 22:43:09
Hallo zusammen,
ich versuche gerade mehrere Hourcounter zu visualisieren. Dazu hab ich mir eine readingsGroup erstellt und möchte nun einfach die Readings (in Sekunden) in Minuten bzw. bei mehr als 3600 Sekunden in Stunden darstellen. Dazu hab ich folgende readingsGroup erstellt:

define Thermostate_Visu readingsGroup <>,<Anzahl>,<Heute>,<Gesamt> *._T_HC:countsPerDay,pulseTimePerDay,pulseTimeOverall,value
attr Thermostate_Visu mapping %ALIAS
attr Thermostate_Visu room Visu
attr Thermostate_Visu valueFormat { if($READING eq "pulseTimePerDay" && $VALUE < 3600) {sprintf("%.1f Minuten", $VALUE/60);;}elsif{ if($READING eq "pulseTimePerDay") {sprintf("%.1f Stunden", $VALUE/3600);;}else{ {sprintf("%.1f Std", $VALUE/3600);;}}} }

Will ich nur "pulseTimePerDay" formatieren, dann klappt das. Sobald ich aber die zweite Spalte genauso Formatieren will, dann bekomm ich einen Syntax Error. Ich hab schon im Commandref und im Wiki gesucht, aber ich kann die Infos dort einfach nicht umsetzen. :(
Titel: Antw:ReadingsGroup valueFormat klappt einfach nicht!
Beitrag von: FHEm2005 am 10 Mai 2015, 09:10:57
Hallo Persching,

schau Dir mal die elsif-Anweisung in Perl genauer an.

Du schreibst:

if (....) {}
elsif {if ... }

else { }
Wenn ich meine rudimentären Perl-Kentniise zugrunde lege, sollte die Struktur eher sein:

if (Bedingung1) {Auswirkung1;}
elsif (Bedingung2) {Auswirkung2;}
else {Auswirkung3;}


Gruß
Eberhard


edit:Schreibfehler
Titel: Antw:ReadingsGroup valueFormat klappt einfach nicht!
Beitrag von: persching am 10 Mai 2015, 21:41:12
Danke FHEm2005, durch deine Erläuterung und die ganzen Bedingungen erneut aufbauen hab ich es jetzt so darstellen können wie ich wollte! :)

Langsam aber sicher steige ich bei der Programmierung durch!
Titel: Antw:ReadingsGroup valueFormat klappt einfach nicht!
Beitrag von: hanske am 07 Juli 2015, 09:42:55
Dann steht es im FHEM Wiki falsch:
http://www.fhemwiki.de/wiki/Trick_der_Woche (http://www.fhemwiki.de/wiki/Trick_der_Woche)

Dort steht:
define ... notify ... {\
if ... {\
  fhem ("... ;; ...")\
}\
elsif {\
  if ... {\
   fhem ("... ;; ...")\
}\


also ich interpretiere das als:

if (Bedingung1) {Auswirkung1;}
elsif { if(Bedingung2) {Auswirkung2;} }

bin leider auch schon darauf reingefallen.
Titel: Antw:ReadingsGroup valueFormat klappt einfach nicht!
Beitrag von: justme1968 am 07 Juli 2015, 10:37:05
habs im wiki repariert.

gruss
  andre