NEWS
Datenpunkt für Uhrzeit (Rolladensteuerung)
-
@cheffe
Ich würde ein "jqui - ctrl - Input Datetime" nehmen und als Datenpunkt einen einfachen String.
Den kann man dann in Blockly in die passende Zeit wandeln. -
@codierknecht
danke.
ich glaube dass ich auf eine guten Weg bin...
aber eine Frage zum Widget, vermutlich bin ich zu blöde: gibt es die möglichkeit das ding auch fest zu beschriften? z.b: "auf" und "ab"? damit ich beim ausrichten nicht immer das widget und ein textfeld zusammen verschieben muss? -
meint ihr, das script ist so in ordnung?
-
meint ihr, das script ist so in ordnung?
Auf keinen Fall!
Das wird jede Minute ausgeführt und produziert unnötig Last.Reagiere auf die Änderung Deines Datenpunktes mit dem Zeitpunkt und erstelle damit ein passendes Schedule.
damit ich beim ausrichten nicht immer das widget und ein textfeld zusammen verschieben muss?
Du kannst einzelne Widgets auch gruppieren.
-
@codierknecht
Ok, vielen Dank für den Hinweis. Leider hab ich noch garkeine Idee, wie Eibe Lösung aussehen könnte...
Könnt ihr mir da einen Tipp geben?
Ich weiß halt nicht, wie ich sonst die aktuelle Zeit mit der gespeicherten Zeit für die Rollläden abgleichen soll .Grüße und danke
-
Wäre hier jemand bereit mir kurz zu erklären, wie ich das Script richtig erstellen müsste?
Kurz zusammengefasst: ich möchte dass täglich zu einer Uhrzeit, die in einem Datensatz steht, die Rollläden runter und hoch fahren. Ich möchte es über einen datenpunkt machen, da ich die Uhrzeiten über meine Visualisierung ändern können möchte... -
@cheffe sagte: wie ich das Script richtig erstellen müsste?
Die Steuerung von "Open" und "Close" muss sicherlich mit wahr erfolgen.
-
Hallo zusammen,
ich glaube ich muss gestehen, dass ich mir das ganze doch einfacher und intuitiver vorgestellt habe.
ich hab bisher leider noch gar nicht verstanden was und warum ich jetzt erstellen muss. -
@cheffe
Ich bin mal so frei und kommentiere @paul53 's Vorschlag ein bisschen:
-
Ist der Aufruf der Blockly-Funktion "sp1" beim Start des Scriptes und sorgt dafür, dass das Ganze auch nach einem Neustart des Scriptes sauber funktioniert.
-
Ist ein Trigger, der auf die Änderung Deines Datenpunktes reagiert, in dem Du die Uhrzeit abgelegt hast. Also der DP, der mit Deinem Widget verbunden ist. Du must ja die gewünschte Uhrzeit irgendwo hinterlegen - z.B.
0_userdata.0.Test.uhrzeit
-
Ist eine Blockly-Funktion, die Dir den eigentliche Schedule erstellt. Dabei wird die als String hinterlegte Uhrzeit am Doppelpunkt getrennt, um Stunden und Minuten separat zur Verfügung zu haben. Mit diesen beiden Werten wird der CRON eingerichtet.
Innerhalb des CRON muss dann (4) die für Deine Hardware passende Aktion ausgeführt werden. Also "Rollo auf" oder "Rollo ab".
Bei meinen Homematic-Aktoren würde das dann etwa so aussehen:
Bei Deiner Hardware vermutlich etwas anders.
Alles in Allem sähe das für Deinen Anwendungsfall "Rollo runterfahren" dann etwa so aus:
Deine Aufgabe wäre jetzt, das an Deinen speziellen Anwendungsfall anzupassen.
Wir zeigen Dir gerne den Weg - machen musst Du schon selbst. -
-
@cheffe
Ergänzung zu Punkt 2. von @Codierknecht: Wichtig ist das Stoppen des laufenden Zeitplans.@codierknecht sagte in Datenpunkt für Uhrzeit (Rolladensteuerung):
Anwendungsfall "Rollo runterfahren" dann etwa so aus:
Komma durch Doppelpunkt ersetzen!
-
Danke @paul53 für den Hinweis.
Habe dann der Funktion auch gleich noch einen passenderen Namen verpasst -
@cheffe sagte: das script ist so in ordnung?
Man kann es auch nach diesem Prinzip machen, muss allerdings die "aktuelle Zeit" in einen String "hh:mm" wandeln. Dieser String-Vergleich hat den Nachteil, dass die Stunden vor 10 Uhr mit einer führenden "0" eingegeben werden müssen.
@codierknecht sagte in Datenpunkt für Uhrzeit (Rolladensteuerung):
Das wird jede Minute ausgeführt und produziert unnötig Last.
Jede Minute ist nicht wirklich eine Last für die CPU.
-
@paul53 sagte in Datenpunkt für Uhrzeit (Rolladensteuerung):
Jede Minute ist nicht wirklich eine Last für die CPU.
Last natürlich nicht wirklich ... aber unsauber.
Ist halt irgendwie blöd, wenn eine Funktion 1.440 x am Tag aufgerufen wird, obwohl man weiß dass sie genau 2 x etwas auslösen soll. -
@codierknecht sagte: blöd, wenn eine Funktion 1.440 x am Tag aufgerufen wird, obwohl man weiß dass sie genau 2 x etwas auslösen soll.
Man kann den Minuten-Trigger leicht um weitere Uhrzeiten erweitern.
Bei Node.js ist das Problem nicht die CPU-Last, sondern ein hoher RAM-Bedarf bei komplexen Skripten.