FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: zeus am 26 Oktober 2015, 14:33:07

Titel: RandomTimer - Variable <timeToSwitch> zufällig generieren
Beitrag von: zeus am 26 Oktober 2015, 14:33:07
Hallo zusammen,
wie kann ich über 99_myUtils.pm die Variable <timeToSwitch> die Dauer zufällig erzeugen (z.B. zwischen 60s - 300s) und diese ins fhem.cfg übernehmen?

define ZufallsTimerTisch     RandomTimer  20:00:00 StehlampeTisch  20:30:00 480

Danke für euren Input ;-)

Grüsse
Zeus
Titel: Antw:RandomTimer - Variable <timeToSwitch> zufällig generieren
Beitrag von: Dietmar63 am 26 Oktober 2015, 17:59:24
Wozu soll das denn gut sein?
Titel: Antw:RandomTimer - Variable <timeToSwitch> zufällig generieren
Beitrag von: zeus am 26 Oktober 2015, 20:56:53
Hallo Dietmar,

ich möchte in einer bestimmten Zeitspanne die Dauer zufällig setzen können, d.h. sobald die Steckdose ausschaltet einen neuen Wert für die Dauer (timetoswitch) einsetzen.
Ist das überhaupt möglich?

Danke für deine Hilfe

Gruss
zeus

Titel: Antw:RandomTimer - Variable <timeToSwitch> zufällig generieren
Beitrag von: Dietmar63 am 27 Oktober 2015, 01:06:53
das ist nicht nötig.

Die Dauer von beispielsweise 480(Sekunden) wird nur mit einer Genauigkeit von +-10% eingehalten.
Welchen Zweck verfolgst du damit?

Intern wird mit hoher Wahrscheinlichkeit(80%) eingeschaltet und mit geringer Wahrschenlichkeit(20%) ausgeschaltet. Dies lässt sich  mit switchmode noch anpassen.
Titel: Antw:RandomTimer - Variable <timeToSwitch> zufällig generieren
Beitrag von: zeus am 28 Oktober 2015, 07:05:49
Keinen bestimmten Zweck, bin mit dem RandomTimer Feature (was übrigens super funktioniert!!) am experimentieren.
Ich versuche den Wert (timetoswitch 480) nicht als Fixwert sondern als variablen Wert über z.B. 99_myUtils.pm zu generieren und dann zu übernehmen.

   
Titel: Antw:RandomTimer - Variable <timeToSwitch> zufällig generieren
Beitrag von: Dietmar63 am 28 Oktober 2015, 19:04:17
Du könntest mit einem modify arbeiten.
Weiterhin gäbe es noch die Möglichkeit das Attribut direkt per Perl-Ausdruck anzugeben.

Code liefere ich nachher.
Titel: Antw:RandomTimer - Variable <timeToSwitch> zufällig generieren
Beitrag von: Dietmar63 am 28 Oktober 2015, 20:34:19

my $timetoswitch = 45;
fhem("modify ZufallsTimerTisch     RandomTimer  20:00:00 StehlampeTisch  20:30:00 $timetoswitch")

oder

my $name = "ZufallsTimerTisch";
my $timetoswitch = 45;
$defs{$name}{TIMETOSWITCH} = $timetoswitch;

oder

{$defs{ZufallsTimerTisch}{TIMETOSWITCH} = 470}

Titel: Antw:RandomTimer - Variable <timeToSwitch> zufällig generieren
Beitrag von: zeus am 29 Oktober 2015, 10:38:18
Hallo Dietmar,

Super, es funktioniert ;-)

Nochmals besten Dank für deine Hilfe!