NEWS
Zeitschaltuhr - Idee
-
Hallo,
ich habe mich nun etwas mit iobroker und allem dazugehörigen beschäftigt. Und dank Hilfe aus dem Forum habe ich es geschafft,
eine einfache Zeitschaltuhr zu "basteln".
Meine Probleme bei den Lösungen hier im Forum waren vielfälltig.
Ich wollte eine möglichst einfache Lösung und dazu noch mit zusätlichem Schalter zur Deaktivierung
Das ganze Projekt ist natürlich noch nicht abgeschlossen und womöglich nicht fehlerfrei, da noch nicht ausgiebig getestet…
Ich habe in vis ein Widget zum Deaktivieren, ein Widget zur Einstellung der Einschaltzeit (jqui -input Datetime) und das gleiche Widget zur Einstellung der Ausschaltzeit genutzt.
Da die Zeitschaltuhr täglich läuft, braucht man nur 4 Variablen (states). Eine, die die Zeit aufnimmt, eine weitere für Stunden und eine für Minuten. Und eine Variable für die Deaktivierung.
Da ich nicht viel Ahnung von Programmieren habe, musste ich eine Lösung finden, die Zeit in Minuten und Stunden zu teilen (siehe Screenshot).
Im zweiten Blockly ist dann die eigentliche Zeitschaltuhr zu finden.
Ich weiß, dass man die Zeit auch anders extrahieren und einfügen kann, habs nur noch nicht versucht.
Wenn die Zeit geändert wird, wird das Script durch den Schalter automatisch deaktiviert und man muss explizit aktivieren nach Umstellung der Zeit.
Dieses Script ist nur fürs Einschalten. Aber ich denke, für Ausschalten geht genauso.
Gut bei diesem Script ist, dass zusätzlich Wochentag usw in Cron angefügt werden können, wenn man das möchte.
Die Variable "Ergebnis" ist nachher der Schalter, der das Licht (o.ä.) schaltet.
Vielleicht kann mich jemand verbessern, falls etwas nicht stimmt bzw ich etwas übersehen hab?
Grüße
2480_blockly_zeit_extrahieren.png
2480_blockly_zeitschaltuhr.png -
Hallo rudiraz
Für "Zeit_Einschalten" und "Zeit_Ausschalten" brauchst Du jeweils nur einen Trigger.
Baustein von dem jeweilen zweiten Trigger einfach in den ersten verschieben.
Dann würde ich noch den "steuere" Baustein nehmen und nicht den "aktualisiere"!
Auch in dem ersten Beispiel austauschen!
Grüße
-
Ok Danke
Wo liegt der Unterschied zwischen "steuern" und "aktualisieren"?
-
hi sieht aus wie die loesung in diesem thread ?
http://forum.iobroker.net/viewtopic.php?f=30&t=9602
aktualisieren ==> Update von variabelen
Steure ==> steuern von objecten
-
Wo liegt der Unterschied zwischen "steuern" und "aktualisieren"? `
Bei "aktualisiere" wird der Datenpunkt nur in ioBroker geändert/aktualisiert.Datenpunkte die als Variablen genutzt werden reagieren auf "aktualisiere"
Datenpunkte die ein Gerät abbilden ändern bei "aktualisieren" nur den Wert in ioBroker.
Es wird KEIN Signal an den Aktor gesendet!
Eine Lampe wird damit also NICHT ein- oder ausgeschaltet.
Auch eine Systemvariabel auf der CCU kann man damit NICHT ändern.
Bei "steuere" ist das alles egal.
Um Fehler auszuschließen, nehme ich immer nur "steuere".
Grüße
-
Wenn ich mich richtig erinnere steckt der ACK-flag dahinter.
bei steuere bleibt der auf false und wird erst von dem zu steuernden Gerät auf true gesetzt, wenn der Befehl da angekommen ist.
Bei aktualisiere wird der ACH-flag direkt auf true gesetzt.
Das sieht man auch unter Objekte, dass eine reine ioBroker-Variable bei steuerenach kurz grün (=aktualisiert) rot bleibt, bei aktualisiere jedoch schwarz wird.
Bei den Geräten wird sie kurz grün, dann (evtl.sehr kurz) rot, dann schwarz.
Gruß
Rainer