Offene Fenstermeldung wiederholung

Begonnen von andre07, 28 April 2021, 16:58:50

Vorheriges Thema - Nächstes Thema

andre07

ja ,wollte mich an den ersten jetzt auch noch versuchen.
Würde das so funktionieren oder benötige ich ein weiteres fhem_set
"timer",'30+$count*60','fhem_set("telegram msg fenster offen","push send fenster offen")','$count < 3'

Damian

Zitat von: andre07 am 30 April 2021, 17:52:22
ja ,wollte mich an den ersten jetzt auch noch versuchen.
Würde das so funktionieren oder benötige ich ein weiteres fhem_set
"timer",'30+$count*60','fhem_set("telegram msg fenster offen","push send fenster offen")','$count < 3'

nein, fhem_set bekommt nur einen String als Parameter, siehe: https://fhem.de/commandref_DE.html#DOIF_Spezifische_Perl-Funktionen_im_Perl-Modus
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

andre07

#17
So klappt das mit dem DOif
ubs {
  sub fenster {                                       
    my ($window)=@_;                                 
    Log 3,"Fenster offen, bitte schließen: $window";
fhem_set("telegram_andre msg  Fenster $window schließen");
    set_Exec ("$window",30,"fenster('$window')"); 

}
}
{ if (["^fensterkontakt.*:open"] and [balkon_xiaomi_sensor:temperature] < 15)  {set_Exec("$DEVICE",80,"fenster ('$DEVICE') ")}}
{ if (["^fensterkontakt.*:^close"]) {del_Exec ("$DEVICE")}}




set_Exec ("timer",'60','fhem_set("telegram msg fenster offen")', 'fhem_set("lüefter on")')
set_Exec ("timer",'60','fhem_set("telegram msg fenster offen")', set_Exec ("timer1",'20','fhem_set("lüefter on")' )

Ich bräuchte sowas wie das "wait" im normalen DoIF um mehrere Device  nacheinander mit verzögerung zu schalten...

Damian

wait geht natürlich auch über set_Exec:

Im 10-Sekundenabstand:

set_Exec("timer1",10,'fhem_set"bla1 on"');
set_Exec("timer2",20,'fhem_set"bla2 on"');
set_Exec("timer2",30,'fhem_set"bla3 on"');
...

oder im 10-Sekundentakt über eine Array

@{$_befehle}=("lampe1 on","lampe2 on","lampe1 off","lampe2 off");;set_Exec("timer",10,'fhem_set"$_befehle[$count]"','$count < @{$_befehle}')}


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

andre07

Das zweite sieht ganz interressant aus gleich mal umsetzten Danke