NEWS
[Vorlage] Variable Zeitsteuerung mit VIS Editor
-
@ak1 sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
@GiuseppeS
Hast Du ggf. mal einen Screenshot (nur einen Ausschnitt) mit 2-3 Timern, die Du im Rahmen der Anwesenheitssteuerung zum Ein- und Ausschalten von Lichtern nutzt? Vielleicht ein Besipiel, wo Du tatsächlich auch Astro-Zeiten einbeziehst.VG
ak1 -
@GiuseppeS
Danke! -
@K_o_bold sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
Mir fällt gerade noch eine andere Idee ein.
Ich nutze dein Skript u.a. für meinen Staubsauger.
Jetzt möchte ich einen Timer erstellen, der nur morgen einmal zu einer bestimmten Zeit aktiviert wird und anschließend wieder deaktiviert ist.
Also einen einmaligen Timer.
Z.B. Wochentag und Zeit auswählen wie bisher und zusätzlich noch eine Editiermöglichkeit für einmalig.Siehst du da eine Möglichkeit?
Hmmm, das ist schon etwas sportlicher umzusetzen...
Timer soll sich nach Ausführung selbst deaktivieren wenn zuvor diese neue Option gewählt wurde, korrekt?
Wäre es nicht besser, wenn du einen Boolean State erstellst "StaubsaugerTimer = true/false" und diesen als Bedingung einbindest? Wenn der Staubsauger fertig ist setzt er diesen State selbst wieder zurück auf false (separates Mini-Skript). Somit wäre der Timer zwar aktiv aber nicht gesetzt, da die Bedingung nicht erfüllt wäre.
Den Schalter zum Scharfstellen des Saugers könntest Du dann auch frei platzieren. -
Ja korrekt. So war es gemeint.
Ein zusätzlicher datenpunkt + miniskript und das ganze als Bedingung einfügen wäre natürlich auch machbar.
Nachtrag:
Dann könnte ich diesen Datenpunkt in der Vis im Popup einfach selbst als Schalter platzieren..
Danke für den Anstoß... -
@K_o_bold sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
Ja korrekt. So war es gemeint.
Ein zusätzlicher datenpunkt + miniskript und das ganze als Bedingung einfügen wäre natürlich auch machbar.
Nachtrag:
Dann könnte ich diesen Datenpunkt in der Vis im Popup einfach selbst als Schalter platzieren..
Danke für den Anstoß...Ich würde den neuen Schalter aber nicht im PopUp sondern im HauptView setzen. So steht die Tabelle mit den Timern immer bereit und separat wird die Bedingung für das Aktivieren gesetzt.
-
Danke für den Tip. Ich möchte aber den einmaligen Timer z.B. Timer 2 gelegentlich ändern und dazu muss ich das Im popup sowieso editieren, dann kann ich ja gleich da auch den Schalter platzieren.
-
Neue Version ist hochgeladen. Minuten Inkremente für PopUp View können nun über Variable verändert werden.
Das Skript und das PopUp View müssten theoretisch neu importiert werden.
Wer sich auskennt:- Im PopUp View muss nur der Verweis auf das neue Objekt angegeben werden, z.B.:
{javascript.0.Timer.Devices.Editor.DropDownMinutes}
- Im Skript gibt es die neue Variable
var minIncrement = 5;
und oben die neue Funktion
// Erstellen des DropDown-Inhalts für Minuten Auswahl in PopUp Editor function setMinutesDropDown() { var strDropDown = ""; for (var i = 0; i < 60; i += minIncrement) { var tmp = (i <= 9 ? "0" : "") + i; strDropDown += tmp + ";"; } strDropDown = strDropDown.slice(0, strDropDown.length - 1); // Entfernen letztes Semikolon setState("javascript.0.Timer." + path + ".Editor.DropDownMinutes", strDropDown); }
Der Aufruf der Funktion erfolgt in main:
function main () { var dropDownListe = ""; var devName; var TimerJSON = {}; var idCounter = 0; if (debugLog){stdLog = true;} // ConditionJSON wird mit jedem Start neu eingelesen createConditionsJSON(); compareCond(); setMinutesDropDown(); // usw...
-
Habe dein Update-Version inkl. PopUp Einstellung durchgeführt . ( Brauchte ich eigentlich nicht , aber bevor ein Fehler vorhanden ist was eigentlich nicht bei Dir vorkommt )
Läuft super … wie zuvor bei meine händischen Änderungen
-
@Glasfaser
Danke für's Testen -
Keine Ahnung ich bekomme es einfach nicht hin.
Licht schaltet einfach nicht.9.9.2019, 21:35:49.681 [warn ]: javascript.0 at script.js.Sigi.Timer_1:197:39 9.9.2019, 21:35:49.681 [warn ]: javascript.0 at compareCond (script.js.Sigi.Timer_1:196:32) 9.9.2019, 21:35:49.681 [warn ]: javascript.0 at Object.<anonymous> (script.js.Sigi.Timer_1:467:5) 9.9.2019, 21:35:54.697 [warn ]: javascript.0 at script.js.Sigi.Timer_1:197:39 9.9.2019, 21:35:54.697 [warn ]: javascript.0 at compareCond (script.js.Sigi.Timer_1:196:32) 9.9.2019, 21:35:54.697 [warn ]: javascript.0 at Object.<anonymous> (script.js.Sigi.Timer_1:467:5) 9.9.2019, 21:35:59.701 [warn ]: javascript.0 at script.js.Sigi.Timer_1:197:39 9.9.2019, 21:35:59.701 [warn ]: javascript.0 at compareCond (script.js.Sigi.Timer_1:196:32) 9.9.2019, 21:35:59.701 [warn ]: javascript.0 at Object.<anonymous> (script.js.Sigi.Timer_1:467:5) 9.9.2019, 21:36:04.703 [warn ]: javascript.0 at script.js.Sigi.Timer_1:197:39 9.9.2019, 21:36:04.703 [warn ]: javascript.0 at compareCond (script.js.Sigi.Timer_1:196:32) 9.9.2019, 21:36:04.703 [warn ]: javascript.0 at Object.<anonymous> (script.js.Sigi.Timer_1:467:5) 9.9.2019, 21:36:09.709 [warn ]: javascript.0 at script.js.Sigi.Timer_1:197:39 9.9.2019, 21:36:09.709 [warn ]: javascript.0 at compareCond (script.js.Sigi.Timer_1:196:32) 9.9.2019, 21:36:09.709 [warn ]: javascript.0 at Object.<anonymous> (script.js.Sigi.Timer_1:467:5) 9.9.2019, 21:36:14.710 [warn ]: javascript.0 at script.js.Sigi.Timer_1:197:39 9.9.2019, 21:36:14.710 [warn ]: javascript.0 at compareCond (script.js.Sigi.Timer_1:196:32) 9.9.2019, 21:36:14.710 [warn ]: javascript.0 at Object.<anonymous> (script.js.Sigi.Timer_1:467:5) 9.9.2019, 21:36:19.715 [warn ]: javascript.0 at script.js.Sigi.Timer_1:197:39 9.9.2019, 21:36:19.715 [warn ]: javascript.0 at compareCond (script.js.Sigi.Timer_1:196:32) 9.9.2019, 21:36:19.715 [warn ]: javascript.0 at Object.<anonymous> (script.js.Sigi.Timer_1:467:5) 9.9.2019, 21:36:20.732 [info ]: javascript.0 Stop script script.js.Sigi.Timer_1 9.9.2019, 21:36:20.746 [info ]: javascript.0 Start javascript script.js.Sigi.Timer_1 9.9.2019, 21:36:20.746 [info ]: javascript.0 script.js.Sigi.Timer_1: registered 20 subscriptions and 3 schedules 9.9.2019, 21:36:21.248 [error]: javascript.0 at createConditionsJSON (script.js.Sigi.Timer_1:176:55) 9.9.2019, 21:36:21.248 [error]: javascript.0 at Object.main (script.js.Sigi.Timer_1:984:5) 9.9.2019, 21:36:24.716 [warn ]: javascript.0 at script.js.Sigi.Timer_1:197:39 9.9.2019, 21:36:24.716 [warn ]: javascript.0 at compareCond (script.js.Sigi.Timer_1:196:32) 9.9.2019, 21:36:24.716 [warn ]: javascript.0 at Object.<anonymous> (script.js.Sigi.Timer_1:467:5)
-
Da muss @GiuseppeS den Fehler eingrenzen. Der Fehler wird von den Bedingungen erzeugt, nur ich frage mich gerade warum !?
-
Falls Du den Haupt-Pfad des Skripts nicht geändert hast, bitte lade die Inhalte folgender Objekte hoch (direkt als code oder txt-Anhang):
- javascript.0.Timer.Devices.ConditionJSON
- javascript.0.Timer.Devices.TimerJSON
Sind in der Aufzählung für die Bedingungen wirklich nur States oder doch Channels? Nur States sind zulässig.
-
@GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
Falls Du den Haupt-Pfad des Skripts nicht geändert hast, bitte lade die Inhalte folgender Objekte hoch (direkt als code oder txt-Anhang):
- javascript.0.Timer.Devices.ConditionJSON
- javascript.0.Timer.Devices.TimerJSON
Sind in der Aufzählung für die Bedingungen wirklich nur States oder doch Channels? Nur States sind zulässig.
javascript.0.Timer.Devices.TimerJSON.json
javascript.0.Timer.Devices.ConditionJSON.json
/* ####################################################################### */ // Nachfolgende Einträge zwingend anpassen: // Eine Aufzählung für Geräte (z.B. Rollläden) angeben: var deviceEnum = "enum.functions.Licht"; // Eine Aufzählung für States der Bedingungen: var deviceCond = "enum.functions.timerconditions"; // Widget-Nummer für Widget "Timer bearbeiten" (View in Dialog) var DlgWidget = 'w00311'
-
@sigi234
Sorry, hatte mich nicht genau ausgedrückt. Ich hätte gern die Inhalte aus den rechts gelb markierten Bereichen:
Aber vorab: Wann bekommst Du die Fehler? Direkt immer nach Neustart eins unveränderten Skripts? Als Du alles neu importiert hattest und die Konfiguration im Skript oben bzgl. der Aufzählungen durchgeführt hattest, kamen danach nach 2-3 Neustarts schon diese Fehler oder erst nachdem Du innerhalb der Timer in der VIS die Bedingungen verändert hast?
-
In Timerconditions sind die Aktoren drin !!!!!!!!!!! Das sind doch nicht die Bedingungen ??
-
@Glasfaser
Schon, aber die kann er auch als Bedingungen verwenden... Habe z.B. meine Rollladen Aktoren auch als Bedingungen drin. Weil Soll und Ist Positionen in einem State stehen.@sigi234
Ist das so gewollt? -
@GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
@sigi234
Sorry, hatte mich nicht genau ausgedrückt. Ich hätte gern die Inhalte aus den rechts gelb markierten Bereichen:
Aber vorab: Wann bekommst Du die Fehler? Direkt immer nach Neustart eins unveränderten Skripts? Als Du alles neu importiert hattest und die Konfiguration im Skript oben bzgl. der Aufzählungen durchgeführt hattest, kamen danach nach 2-3 Neustarts schon diese Fehler oder erst nachdem Du innerhalb der Timer in der VIS die Bedingungen verändert hast?
{"Licht_Vorraum:1.STATE":{"ID":"hm-rpc.1.OEQ0473764.1.STATE","Val":true,"Changed":false},"Philips_hue.Hue_lightstrip_Küche.on":{"ID":"hue.0.Philips_hue.Hue_lightstrip_Küche.on","Val":true,"Changed":true}}
{"Licht_Vorraum:1":{"1":{"ObjID":"hm-rpc.1.OEQ0473764.1","DeviceNr":0,"Aktiv":false,"Zeit":"10:00","Std":"10","Min":"00","Sollwert":"100","TageVIS":"täglich","CronTage":"0,1,2,3,4,5,6","Cron":"0 10 * * 0,1,2,3,4,5,6","Astro":"manuell","Random":"0","RandPM":"pm","Offset":"0","OffsetPM":"m","ConditionsNr":"0","ConditionsTrue":true,"Conditions":{"1":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"2":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"3":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""}},"Mo":true,"Di":true,"Mi":true,"Do":true,"Fr":true,"Sa":true,"So":true},"2":{"ObjID":"hm-rpc.1.OEQ0473764.1","DeviceNr":0,"Aktiv":false,"Zeit":"19:00","Std":"19","Min":"00","Sollwert":"0","TageVIS":"täglich","CronTage":"0,1,2,3,4,5,6","Cron":"0 19 * * 0,1,2,3,4,5,6","Astro":"manuell","Random":"0","RandPM":"pm","Offset":"0","OffsetPM":"m","ConditionsTrue":true,"ConditionsNr":"0","Conditions":{"1":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"2":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"3":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""}},"Mo":true,"Di":true,"Mi":true,"Do":true,"Fr":true,"Sa":true,"So":true}},"Steckdose Stehlampe":{"1":{"ObjID":"tuya.0.07200471bcddc28298e0","DeviceNr":2,"Aktiv":false,"Zeit":"10:00","Std":"10","Min":"00","Sollwert":"100","TageVIS":"täglich","CronTage":"0,1,2,3,4,5,6","Cron":"0 10 * * 0,1,2,3,4,5,6","Astro":"manuell","Random":"0","RandPM":"pm","Offset":"0","OffsetPM":"m","ConditionsNr":"0","ConditionsTrue":true,"Conditions":{"1":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"2":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"3":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""}},"Mo":true,"Di":true,"Mi":true,"Do":true,"Fr":true,"Sa":true,"So":true},"2":{"ObjID":"tuya.0.07200471bcddc28298e0","DeviceNr":2,"Aktiv":false,"Zeit":"19:00","Std":"19","Min":"00","Sollwert":"0","TageVIS":"täglich","CronTage":"0,1,2,3,4,5,6","Cron":"0 19 * * 0,1,2,3,4,5,6","Astro":"manuell","Random":"0","RandPM":"pm","Offset":"0","OffsetPM":"m","ConditionsTrue":true,"ConditionsNr":"0","Conditions":{"1":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"2":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"3":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""}},"Mo":true,"Di":true,"Mi":true,"Do":true,"Fr":true,"Sa":true,"So":true}},"Philips_hue":{"1":{"ObjID":"hue.0.Philips_hue","DeviceNr":4,"Aktiv":false,"Zeit":"10:00","Std":"10","Min":"00","Sollwert":"100","TageVIS":"täglich","CronTage":"0,1,2,3,4,5,6","Cron":"0 10 * * 0,1,2,3,4,5,6","Astro":"manuell","Random":"0","RandPM":"pm","Offset":"0","OffsetPM":"m","ConditionsNr":"0","ConditionsTrue":true,"Conditions":{"1":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"2":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"3":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""}},"Mo":true,"Di":true,"Mi":true,"Do":true,"Fr":true,"Sa":true,"So":true},"2":{"ObjID":"hue.0.Philips_hue","DeviceNr":4,"Aktiv":false,"Zeit":"19:00","Std":"19","Min":"00","Sollwert":"0","TageVIS":"täglich","CronTage":"0,1,2,3,4,5,6","Cron":"0 19 * * 0,1,2,3,4,5,6","Astro":"manuell","Random":"0","RandPM":"pm","Offset":"0","OffsetPM":"m","ConditionsTrue":true,"ConditionsNr":"0","Conditions":{"1":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"2":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"3":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""}},"Mo":true,"Di":true,"Mi":true,"Do":true,"Fr":true,"Sa":true,"So":true}},"Stehlampe Wohnzimmer":{"1":{"ObjID":"meross.0.1811161726216929086534298f17edb7","DeviceNr":6,"Aktiv":false,"Zeit":"10:00","Std":"10","Min":"00","Sollwert":"100","TageVIS":"täglich","CronTage":"0,1,2,3,4,5,6","Cron":"0 10 * * 0,1,2,3,4,5,6","Astro":"manuell","Random":"0","RandPM":"pm","Offset":"0","OffsetPM":"m","ConditionsNr":"0","ConditionsTrue":true,"Conditions":{"1":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"2":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"3":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""}},"Mo":true,"Di":true,"Mi":true,"Do":true,"Fr":true,"Sa":true,"So":true},"2":{"ObjID":"meross.0.1811161726216929086534298f17edb7","DeviceNr":6,"Aktiv":false,"Zeit":"19:00","Std":"19","Min":"00","Sollwert":"0","TageVIS":"täglich","CronTage":"0,1,2,3,4,5,6","Cron":"0 19 * * 0,1,2,3,4,5,6","Astro":"manuell","Random":"0","RandPM":"pm","Offset":"0","OffsetPM":"m","ConditionsTrue":true,"ConditionsNr":"0","Conditions":{"1":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"2":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"3":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""}},"Mo":true,"Di":true,"Mi":true,"Do":true,"Fr":true,"Sa":true,"So":true}},"Lights":{"1":{"ObjID":"hue-extended.0.lights","DeviceNr":8,"Aktiv":false,"Zeit":"10:00","Std":"10","Min":"00","Sollwert":"100","TageVIS":"täglich","CronTage":"0,1,2,3,4,5,6","Cron":"0 10 * * 0,1,2,3,4,5,6","Astro":"manuell","Random":"0","RandPM":"pm","Offset":"0","OffsetPM":"m","ConditionsNr":"0","ConditionsTrue":true,"Conditions":{"1":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"2":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"3":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""}},"Mo":true,"Di":true,"Mi":true,"Do":true,"Fr":true,"Sa":true,"So":true},"2":{"ObjID":"hue-extended.0.lights","DeviceNr":8,"Aktiv":false,"Zeit":"19:00","Std":"19","Min":"00","Sollwert":"0","TageVIS":"täglich","CronTage":"0,1,2,3,4,5,6","Cron":"0 19 * * 0,1,2,3,4,5,6","Astro":"manuell","Random":"0","RandPM":"pm","Offset":"0","OffsetPM":"m","ConditionsTrue":true,"ConditionsNr":"0","Conditions":{"1":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"2":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""},"3":{"ConditionStr":"","CondState":"","CondComp":"==","CondValue":""}},"Mo":true,"Di":true,"Mi":true,"Do":true,"Fr":true,"Sa":true,"So":true}}}
-
@Glasfaser sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
In Timerconditions sind die Aktoren drin !!!!!!!!!!!
Was gehört dann da rein? Bitte mal einen Screenshot was Ihr drinnen habt.
-
@sigi234
Gerade gesehen, dass keine Bedingungen in deinen Timern aktiv sind, ist das korrekt?
Sitze nicht mehr vor dem PC, kann also nicht genauer analysieren. Aber evtl liegt Es zahm den verwendeten Namen der Bedingungen. Versuche die bitte so zu ändern, dass keine Punkte in den Namen vorkommen. -