NEWS
[Vorlage] Variable Zeitsteuerung mit VIS Editor
-
Hallo zusammen, kurz eine Frage zum Verhalten der Timer, was mir kürzlich erst aufgefallen ist:
Nicht sofort ausgeführte gemerkte Timer (d.h.: rot blinkende Timer), werden erst aus dem Hintergrund gelöscht, wenn ein Timer mit "Reset" folgt oder ein nachfolgender Timer tatsächlich zu einer Veränderung des Zielgeräts führt.
Beispiel
- Ausgangspunkt: Rollladen ist oben
- Rollladen soll um 9 Uhr runterfahren wenn Sonnenschutz aktiv ist, Timer merken = aktiv
- ab 9 Uhr wird Timer im Hintergrund gemerkt, weil Sonnenschutz inaktiv war/ist
- nachfolgender Timer um 13 Uhr soll Rollladen in jedem Fall hochfahren, keine Bedingungen gesetzt
- Ergebnis um 13 Uhr: Rollladen ist bereits oben, wird zwar nochmals vom 13 Uhr Timer getriggert, aber natürlich tut sich nichts. ABER der 9 Uhr Timer ist weiter im Hintergrund aktiv.
Habt ihr auch dieses Verhalten?
Mir war das so nie aufgefallen. Eigentlich soll ein nachfolgender Timer in jedem Fall einen zuvor gemerkten Timer löschen.
Ich sehe dieses Verhalten als Bug und würde es demnächst fixen. -
@GiuseppeS Hallo, ich bin auf der Suche nach einem Simplen Timer mit dem ich Ein- und Ausschaltzeiten per Vis einstellen kann, abhängig von der Uhrzeit (Tags anders als Nachts) . Z.B. einen Aktor immer 20min Ein, dann wieder 50 min aus, dann wieder 20 ein usw. So lange bis ich das manuell abbreche.
Lässt sich das mit der Zeitsteuerung realisieren oder bin ich da auf dem Holzweg? -
@GiuseppeS ja das sehe ich auch so... Darauf geachtet habe ich aber noch nicht bzw.habe ich einen solchen Ablauf nicht programmiert...
-
@Aiouh
Hi, hier muss ich dich wohl enttäuschen, zumindest was dieses Skript angeht.
Dein Anliegen müsste auf andere Weise gelöst werden. Mit Intervallen, und nicht wie hier mit Schedules.
Allerdings habe ich auf Facebook bestimmt schon solch ein Skript gesehen. Ging da glaube um Pool Pumpen oder so. -
@smartboart
Habe es heute doch noch schnell gefixt. Aber lade es erst die nächsten Tage hoch. Will erst sehen, dass wirklich alles funktioniert.
Fehler hatte auch wohl eingeschlichen, als ich den fiktiven Sollwert "Reset" eingefügt hatte. -
Habe ein Update hochgeladen. Die CSS-Styles für die Bedingungen (im Editor-PopUp) können nun im Variablen-Bereich des Skripts untergebracht werden. Somit bleiben individuelle Anpassungen bei zukünftigen Updates erhalten. Des Weiteren sind zwei Bugfix eingeflossen.
Changelog 04.10.2020 (Skript)
- HTML-Style für Bedingungen in den Bereich der Variablen integriert (var condStyle = optional)
- Bugfix: Timing zur HTML-Erstellung der Editor-Bedingungen korrigiert
- Bugfix: gemerkte Timer im Hintergrund werden in jedem Fall durch nachfolgende Timer gelöscht
-
@GiuseppeS Damit evtl. auch ander davon profitieren, hier ist die Lösung zu meinem Intervallschalter.
Und nun werde ich mir Deine Zeitsteuerung noch für andere Dinge installieren -
Zunächst möchte ich meinen unfassbaren Dank an das gesamte Paket äußern. Richtig gute Arbeit und großen Dank ans Teilen!
Hat jemand eine Idee, warum auf dem Endgerät (iOS) der Status nicht sauber angezeigt wird?
Am PC funktioniert die Auflösung
-
@SaschaS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
Hat jemand eine Idee, warum auf dem Endgerät (iOS) der Status nicht sauber angezeigt wird?
Ja ... nimm ein anderes Icon .
Finde es gerade nicht ... war erst letztens bei jemand anderes auch so !EDIT:@SaschaS
hier war es :
https://forum.iobroker.net/topic/23346/vorlage-variable-zeitsteuerung-mit-vis-editor/751
-
@Glasfaser Am Icon kann es nicht liegen. Hab auch schon versucht nur durch Text das zu umgehen.
-
-
@SaschaS
Wie von Glasfaser erwähnt bestand das Problem schonmal. Der User hatte alles nach dem "=" gelöscht und neu eingetragen, dann ging es wohl. Wenn du Glasfasers Link folgst solltest du die nachfolgenden Beiträge auch lesen (bis zur Lösung). Nachvollziehbar ist dieses Verhalten für mich ehrlich gesagt nicht... Apple Geräte scheinen hierbei zum Teil betroffen zu sein. -
@GiuseppeS @Glasfaser Vielen Dank! Der Post 751 war sogar noch ziemlich frisch. Hätte ich mal weiter lesen müssen. Jetzt schaut es bei mir auch ordentlich aus.
-
@SaschaS
Hattest du direkt nach dem Import des Skripts dieses Problem oder hast du das Icon ersetzt und dann war es so?
Gelöst hast du es auch einfach durch löschen der rechten Seite und neu hinzugefügen?
Muss mal ein paar Tests durchführen. Habe noch ein selten verwendetes Ipad, mal schauen wie es dort aussieht. -
@GiuseppeS Ich kann dir nicht mehr genau sagen, wann ich das auf dem iPad bemerkt habe. Ich habe zunächst einiges auf dem PC entwickelt und an meine Wünsche angepasst. Und dabei auch nur auf dem PC das Ergebnis angeschaut. Das Icon habe ich aber zunächst nicht modifiziert. Ich schätze, dass das Problem durch Copy & Paste zustande kam.
Abhilfe hat tatsächlich Löschen der Zeichenfolge von rechts bis zum "=" und ein anschließendes Hinzufügen des Symbols gebracht.Wenn ich tippen müsste, dann hängt es vermutlich damit zusammen, dass beim Import des Widgets das Emoji nicht sauber aufgelöst werden kann. Chrome und Co schaffen es dennoch die Zeichenfolge zu interpretieren, das iPad / iPhone haben aber Probleme und interpretiren noch ein Zeichen hinein.
-
Habe nun dasselbe mit dem ipad beobachtet; seltsame Zeichen vor dem grünen Haken.
Habe das Zeichen rauskopiert, gelöscht, wieder eingefügt und nun ist es OK.Habe das Skript neu gepackt und wieder hochgeladen. Bzgl. Changelog habe ich nichts neues ergänzt... Beim Kopieren aus der offiziellen Icon-Seite müssen irgendwelche unsichtbaren Zeichen dabei sein. Anders kann ich mir das nicht erklären.
-
wie bekommt Ihr euer Skripte in Javascripte.0.Timer eingefügt?
Bei mir werden sie unter script.js. angelegt. -
@karl77
Der Name vom Skript spielt keine Rolle. Die Datenpunkte werden dennoch unter javascript.0.Timer erstellt. Es sei denn, man ändert dem Hauptpfad im oberen Bereich der Variablen.Kurz: benenne das Skript so, wie es dir gefällt. Auch Ort bzgl. Ordner/Unterordner ist egal
-
wie meinst du das?
Ich benötige für jeden Datenpunkt eine Script
RolloEG_links1
Nur wie werden die Scripte in der Vis gestartet? -
- Du erstellst in ioBroker ein leeres, neues Skript und kopierst den Inhalt der Skript.txt hinein.
- Du benötigst eine Aufzählung, in der Du alle gewünschten States einstellst und richtest die ersten Variablen im Skript ein
- für die VIS musst Du die beiden Views aus dem zip importieren, bitte Import Namen beachten.
Details stehen alle im ersten Post.