FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: dougie am 04 Januar 2013, 19:01:08

Titel: Eigene Funktion in einem "at" aufrufen? Geht das?
Beitrag von: dougie am 04 Januar 2013, 19:01:08

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()}");
  ...}
Titel: Aw: Eigene Funktion in einem "at" aufrufen? Geht das?
Beitrag von: Zrrronggg! am 04 Januar 2013, 19:09:27
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()");
  ...}
Titel: Aw: Eigene Funktion in einem "at" aufrufen? Geht das?
Beitrag von: dougie am 04 Januar 2013, 19:57:15

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!
Titel: Aw: Eigene Funktion in einem "at" aufrufen? Geht das?
Beitrag von: dougie am 04 Januar 2013, 20:12:01


....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()}");
...}
Titel: Aw: Eigene Funktion in einem "at" aufrufen? Geht das?
Beitrag von: Zrrronggg! am 04 Januar 2013, 23:54:40
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 "  ;-)
Titel: Aw: Eigene Funktion in einem "at" aufrufen? Geht das?
Beitrag von: broadway am 05 Januar 2013, 11:35:32
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()}.
Titel: Aw: Eigene Funktion in einem "at" aufrufen? Geht das?
Beitrag von: dougie am 05 Januar 2013, 12:58:24


...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
Titel: Aw: Eigene Funktion in einem "at" aufrufen? Geht das?
Beitrag von: broadway am 05 Januar 2013, 14:07:31
Das stimmt. Hab ich falsch verstanden, sorry!