NEWS
Zeitschaltuhr über VIS und Blockly
-
Liebes Forum,
ich möchte etwas realisieren, was ich so im Forum noch nicht gefunden habe und hoffe, ihr könnt mir dabei helfen.
Über VIS sollen mehrere Zeiten eingegeben werden können, die zum Schalten von Rollläden, Steckdosen, etc. verwendet werden können (Mo-Fr um xxxxx Uhr öffnen, Mo-Fr um xxxx Uhr schließen, ....).
In VIS habe ich dafür mehrere Widgets "ctrl - Input Datetime" eingefügt. Die Eingabe landet in DPs, den ich vorher angelegt habe. Die Eingabe funktioniert auch tadellos: sobald ich in VIS eine Uhrzeit eingebe, landet diese in dem angegebenen DP als Uhrzeit.
Mein Problem ist jetzt die Schaltung über Blockly. Testweise habe ich ein Blockly angelegt, bei dem die aktuelle Uhrzeit mit der Zeit vergleicht, die ich vorher in den DP geschrieben habe und bei gleicher Zeit einen Datenpunkt "Zeit Test" mit einem Wert füllt. Wenn ich irgendwann ein funktionierendes Blockly habe fülle ich keinen Datenpunkt "Zeit Test" mehr, sondern löse eine Schaltaktion aus. Das Blockly sieht so aus:
Leider passiert nichts, wenn die aktuelle Uhrzeit gleich der eingestellten Uhrzeit ist.
Hat jemand eine Idee, was nicht passt?
Vielen Dank für eure Hilfe. -
@ici-ice Ich denke, Du müsstest Dich mal mit den Grundlagen von Blockly/JS vertraut machen. In Deinem Script fehlt der Trigger und somit passiert nur genau einmal beim Start etwas. Wenn dann die Bedingung nicht zutrifft, erfolgt auch keine Aktion.
Und das was Du vorhast, ist machbar, erfordert aber etwas mehr als die 2 Zeilen.
Hast Du Dir mal den ShutterControl Adapter angesehen? Vielleicht löst der auch Dein Problem.
-
Vielen Dank für die schnelle Rückantwort. Der ShutterControl Adapter hat den gleichen Schwachpunkt wie meine bisherigen Lösungen, nämlich dass ich immer den iobroker aufrufen und dort Voreinstellungen ändern muss. Ich möchte gerne auch für meine Familienmitglieder eine Möglichkeit schaffen, ihr Wunschprogramm zu ändern, deshalb der Weg über VIS.
Fällt dir ein Trigger ein, mit dem ich mein Blockly aktivieren kann? (ich habe es bewusst sehr knapp gehalten, um die Lesbarkeit für das Forum nicht zu verkomplizieren). -
@ici-ice sagte: sobald ich in VIS eine Uhrzeit eingebe, landet diese in dem angegebenen DP als Uhrzeit.
Dann verwende diesen Datenpunkt als Trigger und und starte mit dem Wert einen Zeitplan (nachdem der laufende Zeitplan gestoppt wurde).
-
@ici-ice Wie in Paul's Antwort beschrieben:
- Der Trigger ist die Änderung der Zeit in der VIS (über Deinen DP)
- Damit wird dann ein Zeitplan erstellt, der zur vorgegebenen Zeit schaltet
-
das hört sich sehr gut an! Vielen Dank - werde ich gleich heute Abend testen
-
Nur mal kurz als Hinweis ich habe da ein Youtube Video gesehen von Hausautomatisierung...
und erinner mich dunkel das Du dann noch das
Problem hättest das der "alte" cronejob nach der Änderung der Werte auch noch läuft...hab mal schnell gegoogelt das sollte das video sein was Dir (euch) den Sinnvollen Weg erklärt (ca. Bei Minute 11)
Viel Spass
-
@holger_b76 sagte: Problem hättest das der "alte" cronejob nach der Änderung der Werte auch noch läuft...
Das verhindert das "stop schedule1" vor Aufruf der Funktion im Trigger.
-
@paul53 Ah hatte ich übersehen, okay aber im Video erklärt war "aufgeräumter" und gut erklärt finde ich. Daher wird es wohl dennoch gut helfen