FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Sascha.K am 05 Juni 2018, 20:33:56

Titel: Anwesenheitssimulation mit Funksteckdose...
Beitrag von: Sascha.K am 05 Juni 2018, 20:33:56
Hallo,

ich versuche gerade eine Anwesenheitssimulation auf die Beine zu stellen. Eine Funk-Steckdose soll zu einer bestimmten zufälligen UIhrzeit eingeschaltet und später zufällig wieder ausgeschaltet werden.

Wenn ich folgendes Script ausführen lasse wird die Steckdose einmal um 19:00 Uhr und zur zufällig generierten Uhrzeit eingeschaltet:


define WZ_Vitrine_Zufall_an_WT at *19:00:00 set WZ_Vitrine on
define WZ_Vitrine_Zufall_an_WE at *19:00:00 set WZ_Vitrine on

define WZ_Vitrine_Zufall_an_temp at *00:10:00 {\
if (!$we) {\
   my $Zufallszahl = int(rand(40) +11 );;\
   my $Uhr = $WZ1.":".$Zufallszahl.":".$Zufallszahl;;\
   fhem("modify WZ_Vitrine_Zufall_an_WT *".$Uhr);; \
}else{\
   my $Zufallszahl = int(rand(40) +11 );;\
   my $Uhr = $WZ2.":".$Zufallszahl.":".$Zufallszahl;;\
fhem("modify WZ_Vitrine_Zufall_an_WE *".$Uhr);; \
}\
}




Mit folgendem Skript kommt die bekannte Fehlermeldung "already defined....":


define WZ_Vitrine_Zufall_an_temp at *00:30:00 {\
if (!$we) {\
  my $Zufallszahl = int(rand(10) +11 );;\
  my $Uhr = "18:".$Zufallszahl.":".$Zufallszahl;;\
fhem("define WZ_Vitrine_Zufall_an_WT at *".$Uhr." { fhem('set WZ_Vitrine on') }");;\
}else{\
  my $Zufallszahl = int(rand(10) +11 );;\
  my $Uhr = "18:".$Zufallszahl.":".$Zufallszahl;;\
fhem("define WZ_Vitrine_Zufall_an_WE at *".$Uhr." { fhem('set WZ_Vitrine on') }");;\
}\
}


Wie kann ich eines der Skripte so umschreiben, dass die Steckdose nur einmal am Tag zur zufällig generierten Uhrzeit eingeschaltet wird ..?

Vielen Dank im voraus ...

Titel: Antw:Anwesenheitssimulation mit Funksteckdose...
Beitrag von: rischbiter123 am 05 Juni 2018, 21:27:20
Moin Sascha,

versuch mal defmod statt define, dann wird das bestehende at nur geändert und nicht neu angelegt (bzw. versucht).

Andreas
Titel: Antw:Anwesenheitssimulation mit Funksteckdose...
Beitrag von: nils_ am 06 Juni 2018, 09:19:27
momentan machen deine at's (außer bei der benennung) keine unterscheidung, ob WT (Werktag) oder WE (Wochenende) ist
efine WZ_Vitrine_Zufall_an_WT at *19:00:00 set WZ_Vitrine on
define WZ_Vitrine_Zufall_an_WE at *19:00:00 set WZ_Vitrine on



ist vielleicht https://fhem.de/commandref.html#RandomTimer was für dich?
Titel: Antw:Anwesenheitssimulation mit Funksteckdose...
Beitrag von: Byte09 am 06 Juni 2018, 11:00:13
Hi,

MSWITCH hat diese Funktion vollständig integriert . Bei Bedarf mal im Forum suchen .

Kurz da Handy.

Gruss Byte09

Gesendet von meinem SM-G900F mit Tapatalk

Titel: Antw:Anwesenheitssimulation mit Funksteckdose...
Beitrag von: Wuppi68 am 06 Juni 2018, 13:08:03
oder ein AT mit dem Befehl set lampe on-for-timer random Sekunden
Titel: Antw:Anwesenheitssimulation mit Funksteckdose...
Beitrag von: Bapt. Reverend Magersuppe am 06 Juni 2018, 15:44:49
Das geht mit dem RandomTimer (https://wiki.fhem.de/wiki/RandomTimer) ganz ordentlich passabel durchzuführen:

So mach ich das bei mir:

define ZufallsTimerKlo RandomTimer *{sunset_abs()} WCLicht *{sunset_abs(3*3600)} 80
attr ZufallsTimerKlo switchmode 800/200


Da geht das Licht im Lokus an und aus, das schreckt die Langfinger ab!
Titel: Antw:Anwesenheitssimulation mit Funksteckdose...
Beitrag von: Byte09 am 06 Juni 2018, 17:05:48
Zitat von: Bapt. Reverend Magersuppe am 06 Juni 2018, 15:44:49
Das geht mit dem RandomTimer (https://wiki.fhem.de/wiki/RandomTimer) ganz ordentlich passabel durchzuführen:

So mach ich das bei mir:

define ZufallsTimerKlo RandomTimer *{sunset_abs()} WCLicht *{sunset_abs(3*3600)} 80
attr ZufallsTimerKlo switchmode 800/200


Da geht das Licht im Lokus an und aus, das schreckt die Langfinger ab!
Ja , ist ganz ordentlich , wenn du 1 oder 2 Lampen hast . Ich schalte damit 10+ Lampen ,  und da bräuchte ich für jede Lampe ein Device , ist mir persönlich zu unübersichtlich.

Gruss Byte09

Gesendet von meinem SM-G900F mit Tapatalk

Titel: Antw:Anwesenheitssimulation mit Funksteckdose...
Beitrag von: Sascha.K am 06 Juni 2018, 22:09:19
Hallo,


Danke für die vielen Vorschläge....

Der Vorschlag von rischbiter123 mit DEFMOD funktioniert super...  werde mir auf euer anraten trotzdem den RandomTimer mal anschauen...


Mfg