Abarbeiten von Perl cripten

Begonnen von Wigbert, 14 Februar 2019, 18:05:19

Vorheriges Thema - Nächstes Thema

Wigbert

Hallo,
ich habe gerade angefangen mich mit FHEM und Perl zu beschäftigen. Vielen Dank erst einmal an dieses Forum und die vielen Beiträge, Daraus konnte ich gut lernen.
Nun bin ich aber auf ein Problem gestoßen, wo ich nicht weiterkomme.
Ich habe nun eine Perl Funktion erstellt, die Probleme verursacht. Als Beispiel :

sub WM( )   {
fhem( "set Handy1_Nr 777" );
fhem( "set Handy1_TXT Das ist der Test" );
my $Text1=ReadingsVal("Handy1_TXT","state","");
my $Text2=ReadingsVal("Handy1_Nr","state","");
print ("Werte nach neuem Auslesen $Text1  $Text2 \n");
return 1;
}

Diese Funktion dient als Veranschauung und soll (testhalber) nur die beiden Variablen Handy1_Nr und Handy1_TXT ändern.

soweit so gut.
Rufe ich die Funktion per Hand auf mit {WM()}                 funktioniert alles.
Rufe ich die Funktion per Timer auf   *16:39 { WM();; }    funktioniert alles.
Rufe ich allerdings die Funktion z.B. mit  function {WM()} 30 30 auf passiert folgendes:
Die Werte werden anscheinend geschrieben, das Reading und die print Meldung geben die neuen Werte auch aus.
Allerdings werden die Variablen nicht geändert! 

Kann sich dies jemand erklären, und mir eine Hilfe geben?
Liebe Grüße
Wigbert

Byte09

#1
ich werde im moment gar nicht schlau daraus, was du hiermit bezwecken willst ?

:-\

ZitatRufe ich allerdings die Funktion z.B. mit  function {WM()} 30 30 auf passiert folgende

möchtest du diese daten "30" an die routine übergeben ?

gruss Byte09

Wigbert

Die 30 30 stehen für eine Ausführung alle 30 sec. Das funktioniert auch, leider nur mit dem besagten Fehler.