Hallo zusammen,
da ich PERL nicht wirklich mächtig bin, hier meine Frage, was an dem folgenden AT falsch ist:
define test at +*03:00:00 {fhem("set eingang.wetter.jetzt " . readingsval("myProPlanta","fc0_weather" . $hour).";;set eingang.wetter.jetzt:Icon " . readingsval("myProPlanta","fc0_weather".$hour."Icon").";;set eingang.wetter.jetzt:ChangeOfRain ". readingsval("myProPlanta","fc0_chOfRain".$hour))}
Sinn ist es readings in ein dummy zu schreiben, aus einem anderen Element, wo die Stunde Teil des Readingsnamen ist.
Bin für Anregungen Korrekturen und Hilfe dankbar :-)
Gruß
Grimm
Die Funktion heißt ReadingsVal und erwartet 3 Parameter zur Übergabe. Den Rest habe ich jetzt so erstmal nicht gecheckt.
Hi, Danke.
habe es mal geändert und schaue Mal was er mir sagt.
Habe so meine Zweifel was ich wir klammern, etc muss, da ist ja jede Sprache pingelig.
Du kannst den Befehl auch in der Kommandozeile testen.
Einfach in { } setzen. Das $hour musst Du natürlich fest vorgeben. Der Rest passt aber.
Hi danke,
$hour hatte ich gelesen, sollte doch von FHEM vergeben sein, wobei ich schauen muss ob im richtigen Format (2.stellig). Aber soweit war ich noch nicht.
Finde schade das es hier keinen Debug mit Var Kontrolle gibt.
Gibt es. Bei Dir Log Ausgaben ein in Dein Perl.
define test at +*03:00:00 { Log(1,'set eingang.wetter.jetzt ' . ReadingsVal("myProPlanta","fc0_weather" . $hour,'none') ) }
Ungetestet
Suoer,
ja es funktioniert, zu einem drittel, Teile es auf drei at auf und fertig.
Danke
Und um ein Reading zu setzen ist es nicht
set eingang.wetter.jetzt:ChangeOfRain
sondern entweder
setreading eingang.wetter.jetzt ChangeOfRain <value>
oder
set eingang.wetter.jetzt ChangeOfRain <value>
wenn es ein Dummy mit "ChangeOfRain" in readingsList ist
(statt ChangeOfRain hätte ich eher ChanceOfRain geschrieben...)
Danke,
Anfängerfehler, ich verstehe.