Hallo,
dank den tollen Anleitungen und dem Forum hier bin ich schon ziemlich weit bei ioBroker gekommen. Dafür erst einmal vielen Dank.
Irgendwie hänge ich jetzt aber bei einem Blockly script. Als erstes habe ich Variablen immer mit einem einzelnen Zeittrigger gesteuert, das funktioniert. Diese Variablen teilen den Tag in Abhängigkeit von Arbeit/Urlaub in Zeiträume ein, welche ich später für Bewegungssensoren mit Hue verwenden möchte und die Hues in anderen Farben und Helligkeiten leuchten lassen will. Sprich Aufstehen > weißes Licht bei Bewegung, Dämmerung > buntes Licht bei Bewegung…..
Nun hat mich der Ehrgeiz gepackt und ich wollte es zur Übung fortgeschrittener mit einem Trigger und mehreren If Schleifen zusammen packen. Ich vermute es hakt an der Eingrenzung der Wochentage. Wenn ich einen simplen Test mache funktioniert es bei "Aktuelle Zeit als Wochentag = z. B. Freitag". Auch mit FR oder mit Zahl funktioniert es. Hinhauen tut es erst nimmer, wenn ich von bis haben will. Irgendwas mache ich da falsch und sehe den Wald vor lauter Bäumen nicht mehr.
Könntet ihr mir eventuell sagen was in das Textfeld reingehört?
Der Code würde lt. Blockly so aussehen:
! ````
// Mo-So
schedule("*/26 */30 * * * 0-6", function () {
// Arbeit
if (getState("javascript.0.Variable.Person.VAR100_Arbeit").val == true) {
// Aufstehen Arbeit Mo-Fr
if ((new Date().getDay() === 0 ? 7 : new Date().getDay()) == '1-5' && compareTime('04:00', '05:50', "between", null)) {
setState("javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung"/HUE.WHG_VAR800_Tageseinteilung/, 'Aufstehzeit Arbeit Mo-Fr Hue');
console.log((String('javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung') + String('auf Aufstehzeit Arbeit Mo-Fr gesetzt')));
}
// Aufstehen Arbeit WE
if ((new Date().getDay() === 0 ? 7 : new Date().getDay()) == '0,6' && compareTime('09:30', '12:30', "between", null)) {
setState("javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung"/HUE.WHG_VAR800_Tageseinteilung/, 'Aufstehzeit Arbeit WE Hue');
console.log((String('javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung') + String('auf Aufstehzeit Arbeit WE gesetzt')));
}
// Daemmerung Arbeit HiFi Mo-So
if (getState("javascript.0.Variable.WHG.VAR200_HiFi_An").val == true && compareTime('14:00', '21:25', "between", null) == true) {
setState("javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung"/HUE.WHG_VAR800_Tageseinteilung/, 'Daemmerung Arbeit Hue');
console.log((String('javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung') + String('auf Daemmerung Arbeit gesetzt')));
}
// Einschlaf Arbeit Mo-Do
if ((new Date().getDay() === 0 ? 7 : new Date().getDay()) == '1-4' && compareTime('21:26', '23:30', "between", null)) {
setState("javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung"/HUE.WHG_VAR800_Tageseinteilung/, 'Einschlaf Hue');
console.log((String('javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung') + String('Einschlaf gesetzt')));
}
// Auto Daemmerung Fr-So
if ((new Date().getDay() === 0 ? 7 : new Date().getDay()) == '0,4-6' && compareTime('21:26', '23:30', "between", null)) {
setState("javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung"/HUE.WHG_VAR800_Tageseinteilung/, 'Daemmerung Hue');
console.log((String('javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung') + String('Daemmerung gesetzt')));
}
} else {
// Urlaub
if (getState("javascript.0.Variable.Person.VAR100_Arbeit").val == false) {
// Aufstehen Urlaub
if (compareTime('09:30', '11:00', "between", null)) {
setState("javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung"/HUE.WHG_VAR800_Tageseinteilung/, 'Aufstehzeit Urlaub Hue');
console.log((String('javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung') + String('auf Aufstehzeit Urlaub gesetzt')));
}
}
// Daemmerung HiFi Urlaub
if (getState("javascript.0.Variable.WHG.VAR200_HiFi_An").val == true && compareTime('14:00', '21:25', "between", null) == true) {
setState("javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung"/HUE.WHG_VAR800_Tageseinteilung/, 'Daemmerung Urlaub Hue');
console.log((String('javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung') + String('auf Daemmerung Urlaub gesetzt')));
}
// Daemmerung Auto Urlaub
if (compareTime('21:26', '23:30', "between", null)) {
setState("javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung"/HUE.WHG_VAR800_Tageseinteilung/, 'Daemmerung Urlaub Hue');
console.log((String('javascript.0.Variable.HUE.WHG_VAR800_Tageseinteilung') + String('Daemmerung Urlaub gesetzt')));
}
}
});
danach kommt dann ne ellen lange Zeichenfolge?!
EDIT von Jey Cee: Code in Spoiler und Code Tags gepackt.
[2548_bildschirmfoto_2017-04-14_um_14.00.09.png](/assets/uploads/files/2548_bildschirmfoto_2017-04-14_um_14.00.09.png)
[2548_bildschirmfoto_2017-04-14_um_14.00.26.png](/assets/uploads/files/2548_bildschirmfoto_2017-04-14_um_14.00.26.png)
[2548_bildschirmfoto_2017-04-14_um_14.00.46.png](/assets/uploads/files/2548_bildschirmfoto_2017-04-14_um_14.00.46.png)