Ich überlege folgende Syntaxerweiterung für Zeitrasterangaben in DOIF einzubauen:
1.
[+:MM] MM sind Minutenangaben, sie sollten sinnvollerweise ein Teiler von 60 sein, also 01, 02, 03, 04, 05, 06, 10, 12, 15, 20, 30
Beispiele:
[+:30] zur vollen und zur halben Stunde
[+:10] um XX:00 XX:10 XX:20 XX:30 XX:40 XX:50
[+:15] um XX:00 XX:15 XX:30 XX:45
usw.
2.
[:MM] MM sind Minutenangaben und können zwischen 00 und 59 sein.
Beispiele:
[:00] zur vollen Stunde
[:05] immer fünf nach
[:15] immer viertel nach
[:30] immer um halb
usw.
3.
evtl. noch für Fortgeschrittene:
[[+HH]:MM] mit HH Teiler von 24 und MM zwischen 00 und 59
Beispiel:
[[+02]:10] um 00:10 02:10 04:10 06:10 08:10 usw.
Anregungen hier posten.
Gruß
Damian
Hallo Damian,
mir fällt zwar persönlich gerade kein konkreter Anwendungsfall dazu ein,
hört sich aber trotzdem sehr nützlich an.
Von mir daher ein klarer Daumen nach oben ;)
vg
Karl
Hallo Damian
Ich weiss nicht wie Deine ToDo-Liste aussieht aber ich könnte mir vorstellen,
dass eine for-Loop mehr Einsatzmöglichkeiten bieten würde:
Sowas:
define di_for DOIF ([<event>] FOR [<initialize>;<test>;<step>]) (<commands>)
Beispiele:
define di_for DOIF ([10:00] FOR [$t="10:00";$t<"15:00";$t+="00:15"])
({Log(3,"time = $t")})
define di_for DOIF ([switch] eq "on" FOR [$i=1;$i<10;$i++])
({Log(3,"i = $i")})
Gruss
flurin
Zitat von: flurin am 15 März 2015, 12:17:11
Hallo Damian
Ich weiss nicht wie Deine ToDo-Liste aussieht aber ich könnte mir vorstellen,
dass eine for-Loop mehr Einsatzmöglichkeiten bieten würde:
Sowas:
define di_for DOIF ([<event>] FOR [<initialize>;<test>;<step>]) (<commands>)
Beispiele:
define di_for DOIF ([10:00] FOR [$t="10:00";$t<"15:00";$t+="00:15"])
({Log(3,"time = $t")})
define di_for DOIF ([switch] eq "on" FOR [$i=1;$i<10;$i++])
({Log(3,"i = $i")})
Gruss
flurin
Und was soll hier in der Schleife triggern?
For-Schleifen sind eine Sache von Perl. Ich hatte nicht vor eine neue Programmier-Sprache zu erfinden. Bisher übergebe ich solche Sachen immer an Perl und das soll so bleiben. Daher passt es hier nicht, weil die Bedingung und die Ausführung in DOIF getrennte Sachen sind mit unterschiedlichem Variablenraum.
Gruß
Damian
Das mit diesem Vorschlag für die Minutenabfrage gefällt mir sehr gut.
Ich steuere ja quasi alles per DOIF und man könnte so einiges vereinfachen!
Zitat von: Toto1973 am 15 März 2015, 17:30:19
Das mit diesem Vorschlag für die Minutenabfrage gefällt mir sehr gut.
Ich steuere ja quasi alles per DOIF und man könnte so einiges vereinfachen!
Die Anfragen nach einem "Stundengong" häuften sich gestern (du warst nicht der einzige, auch hier http://forum.fhem.de/index.php/topic,35012.0.html wollte jemand so etwas). Daher habe ich darüber genauer nachgedacht - komplizierte Lösungen gibt es ja genug :)
Gruß
Damian