FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Grimmschak am 05 Mai 2019, 15:28:02

Titel: [GELÖST] AT Befehl mit Perl
Beitrag von: Grimmschak am 05 Mai 2019, 15:28:02
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
Titel: Antw:AT Befehl mit Perl
Beitrag von: CoolTux am 05 Mai 2019, 15:31:22
Die Funktion heißt ReadingsVal und erwartet 3 Parameter zur Übergabe. Den Rest habe ich jetzt so erstmal nicht gecheckt.
Titel: Antw:AT Befehl mit Perl
Beitrag von: Grimmschak am 05 Mai 2019, 16:09:57
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.
Titel: Antw:AT Befehl mit Perl
Beitrag von: CoolTux am 05 Mai 2019, 16:35:55
Du kannst den Befehl auch in der Kommandozeile testen.

Einfach in { } setzen. Das $hour musst Du natürlich fest vorgeben. Der Rest passt aber.
Titel: Antw:AT Befehl mit Perl
Beitrag von: Grimmschak am 05 Mai 2019, 17:00:28
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.
Titel: Antw:AT Befehl mit Perl
Beitrag von: CoolTux am 05 Mai 2019, 17:13:24
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
Titel: Antw:AT Befehl mit Perl
Beitrag von: Grimmschak am 05 Mai 2019, 18:59:36
Suoer,

ja es funktioniert, zu einem drittel, Teile es auf drei at auf und fertig.

Danke
Titel: Antw:AT Befehl mit Perl
Beitrag von: amenomade am 05 Mai 2019, 20:08:12
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...)
Titel: Antw:AT Befehl mit Perl
Beitrag von: Grimmschak am 05 Mai 2019, 20:47:06
Danke,

Anfängerfehler, ich verstehe.