Entweder ich stell mich wieder zu blöd an, oder es geht einfach nicht.
Ich hab in meiner 99_MyUtils eine Funktion "prg_MC_Bewegungsmelder_Dach" angelegt, in deren Verlauf ich an einer Stelle ein at definiere.
Egal wie ich es anstelle, er will den zweiten Befehl im at "prg_DispUpdate()" nicht anerkennen.
Was mache ich denn falsch?
VG
Ralf
sub
prg_MC_Bewegungsmelder_Dach()
{
...
fhem ("define Bewegungsmelder_Dach_reset at +00:05:00 {set MansCave_Bewegungsmelder_Dach off; prg_DispUpdate()}");
...}
Sieht für mich wie Klammerfehler und fehlendes Escape aus. Versuch mal
{
...
fhem ("define Bewegungsmelder_Dach_reset at +00:05:00 set MansCave_Bewegungsmelder_Dach off ;; prg_DispUpdate()");
...}
Sauber! Das war's!
Die geschweifte Klammer hatte ich aus Verzweiflung gemacht, weil nix funktionierte.
Das ich innerhalb der 99_MyUtils auch auf das Escape achten muss, hab ich wohl irgendwie noch nicht geschnallt gehabt.
Danke schön!
....doch noch nicht ganz.. gibt immer noch nej Fehlermeldung, das er prg_dispupdate() nicht kennt.
So funktioniert es bei mir:
{
...
fhem ("define Bewegungsmelder_Dach_reset at +00:05:00 set MansCave_Bewegungsmelder_Dach off ;; {prg_DispUpdate()}");
...}
ja, das hätte ich als nächstes vorgeschlagen, bei den Klammer bin ich mir auch manchmal unsicher. Das Escapen hab ich inzwischen " im Blut " ;-)
Es müsste auch gehen:
fhem ("define Bewegungsmelder_Dach_reset at +00:05:00 set MansCave_Bewegungsmelder_Dach off");prg_DispUpdate();
Ansonsten ist es doppelt gemoppelt: Sage Perl, es soll einen fhem Befehl ausführen mit fhem("..") und sage dann FHEM, es soll Perl ausführen mit {prg_DispUpdate()}.
...ich glaube da reden wir aneinander vorbei: Mein Ziel ist es, das in 5 Minuten zwei Befehle ausgeführt werden.
So wie du es schreibst, wird erst das at definiert, und dann sofort das Programm DispUpdate ausgeführt. Richtig?
VG
Ralf
Das stimmt. Hab ich falsch verstanden, sorry!