Hallo,
wie ich es auch drehe - ich kann nicht auf meine lokalen Variablen in einem Timer zugreifen:
{if (["^TC35i:^Message"]){
my $TelNumber = ReadingsVal("Receiver".$ReceiverNr,"Tel","090066666666");;
set_Exec("Timer1",30,'fhem_set("TC35i MSGNumber $TelNumber");fhem_set("TC35i MSGTxt Testsubject");fhem_set("TC35i MSGSend");Log 1,"No SMSreply received, Send_Notification_Recipient2_Message"');
Fehler: Global symbol "$TelNumber" requires explicit package name (did you forget to declare "my $TelNumber"?) at (eval 3155) line 1.
Tausche ich $TelNumber gegen eine Telefonnummer aus, funktioniert der Code.
Hat jemand eine Idee?
Natürlich nicht. Lokale Variablen sind zum Ausführungszeitpunkt nicht bekannt.
Drehe mal die Anführungszeichen, damit die Variable vorher ausgewertet wird:
"fhem_set('TC35i MSGNumber $TelNumber');...."
Vielen Dank Damian, das funktioniert!
Wie immer Weltklasse dieses Forum!