FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Kai-Alfonso am 05 Dezember 2015, 11:48:37

Titel: Problem nach Update auf 5.7
Beitrag von: Kai-Alfonso am 05 Dezember 2015, 11:48:37
Hi, ich hab Rudolfs Ankündigungen zu Fhem 5.7 gelesen bezüglich der Änderungen, aber seit dem ich auf 5.7 upgedatet habe, habe ich Probleme bei einem notify und ich hoffe, das mir jemand helfen kann, da meine Perl Kenntnisse noch sehr ausbaufähig sind ;-)

Gegeben ist folgender Code, der vor dem Update noch lief

define Sonos_Bad_Idle_Notify notify Sonos_Bad:transportState.*(STOPPED|PAUSED_PLAYBACK) {\
  fhem ("delete bad_Sonos_Idle_Off_Timer");;\
  fhem ('define bad_Sonos_Idle_Off_Timer at +01:00:00 {\
        my @@member = SONOSPLAYER_GetSlavePlayerNames("Sonos_Bad");;;;\
        foreach my $player (@@member) {\
          fhem("set steckdose.$player off");;;;\
        }\
        fhem("set steckdose.Sonos_Bad off");;;; }\
  ');;\
}


Vor dem Update erstelle Fhem beim triggern des Notify einen at befehl, der nach ner Stunde die Sonos Boxen (bzw die Steckdosen) ausschaltete.


Nach dem Update erstellt er nur noch folgendes at:


{ my @@member = SONOSPLAYER_GetSlavePlayerNames("Sonos_Bad"); foreach my $player (@@member) { fhem("set steckdose.$player off"); } fhem("set steckdose.Sonos_Bad off"); }


und als error kommt in der fhem.log

2015.12.05 11:47:09 3: eval: {
    my @@member = SONOSPLAYER_GetSlavePlayerNames("Sonos_Bad");
foreach my $player (@@member) {
        fhem("set steckdose.$player off");
}
        fhem("set steckdose.Sonos_Bad off"); }

2015.12.05 11:47:09 1: PERL WARNING: (Missing operator before member?)
2015.12.05 11:47:09 1: PERL WARNING: Bareword found where operator expected at (eval 918) line 3, near "@@member"
2015.12.05 11:47:09 3: eval: {
    my @@member = SONOSPLAYER_GetSlavePlayerNames("Sonos_Bad");
foreach my $player (@@member) {
        fhem("set steckdose.$player off");
}
        fhem("set steckdose.Sonos_Bad off"); }

2015.12.05 11:47:09 3: bad_Sonos_Idle_Off_Timer: Can't use global @@ in "my" at (eval 918) line 2, near "my @@"
syntax error at (eval 918) line 2, near "@@member "
syntax error at (eval 918) line 3, near "@@member"
syntax error at (eval 918) line 6, near "; }"


Vielleicht wäre jemand so lieb und hilft mir auf die Sprünge?
Titel: Antw:Problem nach Update auf 5.7
Beitrag von: franky08 am 05 Dezember 2015, 12:07:35
Mach mal aus
@@member
@member

Das könnte es schon gewesen sein, Verdopplung braucht es nicht mehr
Titel: Antw:Problem nach Update auf 5.7
Beitrag von: Kai-Alfonso am 05 Dezember 2015, 14:06:38
ach super - das war ja einfach - geht jetzt wieder :-)