FHEM Forum

FHEM => Automatisierung => Thema gestartet von: AndiB am 09 November 2013, 08:00:53

Titel: Perl Codezeilen funktionieren nicht mehr
Beitrag von: AndiB am 09 November 2013, 08:00:53
Hallo zusammen

Seit dem Update auf Version 5.5 funktionieren die folgenden Codezeilen nicht mehr. Als "Nicht programmierer" sehe ich die Fehler leider nicht


define AussenlichtMorgenAN at *05:40:00 { if (!$we) { fhem("set Aussenlicht on-till {sunrise("HORIZON=-3",0,"6:00","9:00")}"}}


Fehlermeldung im Log:
2013.11.08 05:40:00 3: AussenlichtMorgenAN: syntax error at (eval 63394) line 1, near ""set Aussenlicht on-till {sunrise("HORIZON"


Die zweitevermutlich ähnliche Codezeile:
define BerechnungStromverbrauch at +*00:02:00 { my $a= ReadingsVal("S0Stromzaehler","counters.A",0);; my $b= ($a - ReadingsVal("S0old","state",1))/100 ;; fhem("set S0dif $b");; { if ($b < 0.5) {  fhem("set S0old $a");; my $f= ($a - ReadingsVal("S0tag","state",1))/100 ;; fhem("set S0TagesZ $f");; }}}

das Gerät wird definiert und wird alle zwei Minuten ausgeführt, aber die Werte werden nicht aktualisiert ....

Bitte um einen Fingerzeig .....

Herzlichen Dank im voraus
Andi
Titel: Antw:Perl Codezeilen funktionieren nicht mehr
Beitrag von: justme1968 am 09 November 2013, 09:00:48
die erste meldung liegt daran das die anführungszeichen nicht richtig geschachtelt sind. verwende mal für das aller erste und aller letzte ein einfaches anführungszeichen ( ' ).

den zweiten fehler hab ich auf die schnelle nicht gesehen. gibt es eine fehlermeldung?

gruss
  andre
Titel: Antw:Perl Codezeilen funktionieren nicht mehr
Beitrag von: AndiB am 09 November 2013, 22:29:27
Danke Andre

Fall A wird sich morgen somit klären
Fall B habe ich mir selber den Ast abgesägt, indem ich das dummy S0old nur in der if schlaufe angepasst habe und somit nicht ans Ziel komme. Es ist nichts falsch, aber einfach nicht Zielführend .....

Nochmals ein herzliches Danke für das mithelfen!!

Gruss Andi