Hallo,
für Steckdosen, welche keine Rückmeldung geben(IT + Derivate), möchte ich im Abstand von 2 Sekunden einen Schaltimpuls absetzen. Sicher ist sicher...
Mit {fhem("set Steckdose1 on");; sleep(2);; fhem("set Steckdose1 on")} würde das zwar gehen aber gibt es dafür einen einfacheren fhem-Befehl?
Gruß Jens
Hallo,
set Steckdose1 on; sleep(2); set Steckdose1 on
reicht. vg
jörg
Hallo Jörg,
set Steckdose1 on; sleep(2); set Steckdose1 on
Unknown command sleep(2), try help.
Ich wage mal einen Hilferuf. :)
Gruß Jens
p.s. set Steckdose1 on; {sleep(2)}; set Steckdose1 on
funktioniert. Hab die Denksportaufgabe geschafft...
na, der drops scheint nur gelutscht :)
Du hast ein perl sleep eingebaut und das ist blockierend - keine gute idee ...
poste mal bitte das gesamte def als list.
vg
jörg
für das fhem sleep musst du die klammern weg lassen:set Steckdose1 on; sleep 2; set Steckdose1 on
ansonsten schaut dir mal das ITrepetition attribut an.
gruss
andre
Danke Andre, ich hab noch einiges zu lernen.
Der Einfachheit halber habe ich in 99_myUtils.pm folgende Routinen eingefügt.
sub IT_on ($)
{
my ($ITon) = @_;
fhem("set $ITon on; sleep 2; set $ITon on");
}
sub IT_off ($)
{
my ($IToff) = @_;
fhem("set $IToff off; sleep 2; set $IToff off");
}
Das Ganze mit reload 99_myUtils.pm übernommen und künftig schalte ich IT-Steckdosen nicht mehr mit:set Steckdose1 on
sondern mit:{IT_on("Steckdose1")}
bzw. mit{IT_off("Steckdose1")}
Gruß Jens
@justme1968: Danke, ich habe das Script angepasst und werde mir das ITrepetition attribut anschauen.
du musst es in einen einzigen fhem aufruf stecken: fhem("set $ITon on; sleep 2; set $ITon on");
für off genau so. sonst ist das sleep blockierend.
aber wie gesagt schau dir das ITrepetition attribut an.
gruss
andre
dann braucht jens wieder die doppelten ";" - dann gehts
vg
jörg
nein. die doppelten ;; sind nur notwendig wenn es per telnet oder command fenster eingegeben wird. und auch dann nur wenn man da {fhem("set xx on;;set xx on")}
schreibt. wenn man set xx on;set xx on
scheibt muss nichts verdoppelt werden.
wenn man in einem 99_myUtils file den fhem(...) aufruf schreibt muss auch nichts verdoppelt werden.
gruss
andre
Ich hab mein Script erfolgreich probiert. :)
Danke an Euch!
@andre, danke.
@Andre
Kannst du mir eine Quelle für das ITrepetition attribut schreiben? In der FHEM reference finde ich es nicht. :-[
Gruß Jens
Hallo,
@dirigent:
das ITrepetition ist als Attribut Deiner Steckdose zu setzen...
Beispiel
define Dose1 IT 00FFF0FFFF 0F F0
attr Dose1 IODevice cul433
attr Dose1 Model itswitch
attr Dose1 ITrepetition 6
vg
Karl
attr Dose1 ITrepetition 6
scheint wohl den Schaltbefehl 6x zu wiederholen?!
Leider finde ich nirgends eine Doku dazu. Weder in der Reference, noch in der WIKI bzw. diversen PDF-Anleitungen.
In welchem Zeitraum finden die Wiederholungen statt? Den Einstieg in die FHEM-Umgebung ist mangels einiger Infos ziemlich anstrengend.
Danke, dass Ihr mir auf die Sprünge helft!
Gruß Jens