NEWS
[Vorlage] Flexibles Timerskript + Vis
-
@Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:
@sigi234 sagte in [Vorlage] Flexibles Timerskript + Vis:
Dito - Kein schalten
Auch hier, die Aussage bringt 0 ohne Log.
Hat jetzt funktioniert.
-
@Pittini
Super Skript! Danke erstmal dafür.
ich habe auch mal getestet Mit meinen HM-Aktor funktioniert es. Die Zigbee Steckdose will nicht, da bekomme ich immer eine Fehlermeldung (werde denn Log heute Abend posten).Verständnis Frage: Die Zeile ist also immer rot für einen „Ausschaltbefehl/Timer“?? Wann sollte Sie dann Grün sein?
Danke und Grüße
-
@Saschag sagte in [Vorlage] Flexibles Timerskript + Vis:
Verständnis Frage: Die Zeile ist also immer rot für einen „Ausschaltbefehl/Timer“?? Wann sollte Sie dann Grün sein?
Ein Auschalttimer wird nie grün, der wechselt von Grau nach rot und umgekehrt. Ein Einschalttimer dagegen wechselt zwischen grün und grau. So siehst Du sofort ob etwas aus- oder eingeschaltet wurde.
Mit meinen HM-Aktor funktioniert es. Die Zigbee Steckdose will nicht, da bekomme ich immer eine Fehlermeldung (werde denn Log heute Abend posten).
Oh ja, bitte, das ist spannend weils eigentlich nicht sein kann.....außer Du hast den falschen Datenpunkt erwischt.
-
mit den Farben habe ich nun verstanden. Aber wenn ich meinen Aktor manuelle schalte geht der Timer nicht von „rot“ auf „grau“
-
Hab jetzt alle spalten wieder drin. Um 11:42 sollte er einschalten, um 11:43 ausschalten
Hier das Log:
javascript.0 2020-05-23 11:43:00.006 info (26521) script.js.common.TimerNeu: Timer 1 hat ausgeschaltet javascript.0 2020-05-23 11:43:00.005 info (26521) script.js.common.TimerNeu: Reaching DoAction(), whichone=1 Presence=trueMyTimer[whichone][13]=hm-rpc.0.OEQ0572933.1.STATEMyTimer[whichone][14]=true javascript.0 2020-05-23 11:42:40.451 info (26521) script.js.common.Fensterauswertung: TempMessageLog=23.05.2020 11:42:40: EG Badfenster seit 30 Minuten geöffnet!,23.05.2020 11:27:40: EG Badfenster seit 15 Minuten geöffnet!,23.05.2020 11:12:40 javascript.0 2020-05-23 11:42:00.004 info (26521) script.js.common.TimerNeu: Reaching DoAction(), whichone=0 Presence=trueMyTimer[whichone][13]=hm-rpc.0.OEQ0572933.1.STATEMyTimer[whichone][14]=false javascript.0 2020-05-23 11:40:15.976 info (26521) script.js.common.TimerNeu: Settings saved javascript.0 2020-05-23 11:40:14.976 info (26521) script.js.common.TimerNeu: Reaching MakeTable javascript.0 2020-05-23 11:40:14.975 info (26521) script.js.common.TimerNeu: Reaching MakeTable javascript.0 2020-05-23 11:40:14.975 info (26521) script.js.common.TimerNeu: Reaching SwitchEditMode(whichone, onoff), whichonex=1 TimerCount=2 onoff=false javascript.0 2020-05-23 11:40:14.975 info (26521) script.js.common.TimerNeu: CronString für Timer 1 erstellt 43 11 * * * javascript.0 2020-05-23 11:40:14.975 info (26521) script.js.common.TimerNeu: Timer 1 wird gesetzt javascript.0 2020-05-23 11:40:14.975 info (26521) script.js.common.TimerNeu: Zeit gewählt 11:43:00 javascript.0 2020-05-23 11:40:14.974 info (26521) script.js.common.TimerNeu: Timer Schedule 1 killed javascript.0 2020-05-23 11:40:14.973 info (26521) script.js.common.TimerNeu: Reaching WriteToTimer, whichone=1 javascript.0 2020-05-23 11:40:11.684 info (26521) script.js.common.TimerNeu: Reaching MakeTable javascript.0 2020-05-23 11:40:11.684 info (26521) script.js.common.TimerNeu: Reaching SwitchEditMode(whichone, onoff), whichonex=1 TimerCount=2 onoff=true javascript.0 2020-05-23 11:40:10.371 info (26521) script.js.common.TimerNeu: Reaching MakeTable javascript.0 2020-05-23 11:40:10.371 info (26521) script.js.common.TimerNeu: Reaching SwitchEditMode(whichone, onoff), whichonex=1 TimerCount=2 onoff=true javascript.0 2020-05-23 11:40:09.369 info (26521) script.js.common.TimerNeu: Reaching MakeTable javascript.0 2020-05-23 11:40:09.369 info (26521) script.js.common.TimerNeu: Reaching SwitchEditMode(whichone, onoff), whichonex=1 TimerCount=2 onoff=true javascript.0 2020-05-23 11:40:05.972 info (26521) script.js.common.TimerNeu: Timertemplate geändert auf 1 javascript.0 2020-05-23 11:40:05.972 info (26521) script.js.common.TimerNeu: Reaching MakeTable javascript.0 2020-05-23 11:40:05.972 info (26521) script.js.common.TimerNeu: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=2 onoff=false javascript.0 2020-05-23 11:40:05.971 info (26521) script.js.common.TimerNeu: Reaching WriteToTemplate(whichone), whichone=1 javascript.0 2020-05-23 11:40:01.131 info (26521) script.js.common.TimerNeu: Settings saved javascript.0 2020-05-23 11:40:00.131 info (26521) script.js.common.TimerNeu: Reaching MakeTable javascript.0 2020-05-23 11:40:00.130 info (26521) script.js.common.TimerNeu: Reaching MakeTable javascript.0 2020-05-23 11:40:00.130 info (26521) script.js.common.TimerNeu: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=2 onoff=false javascript.0 2020-05-23 11:40:00.130 info (26521) script.js.common.TimerNeu: CronString für Timer 0 erstellt 42 11 * * * javascript.0 2020-05-23 11:40:00.130 info (26521) script.js.common.TimerNeu: Timer 0 wird gesetzt javascript.0 2020-05-23 11:40:00.129 info (26521) script.js.common.TimerNeu: Zeit gewählt 11:42:00 javascript.0 2020-05-23 11:40:00.129 info (26521) script.js.common.TimerNeu: Timer Schedule 0 killed javascript.0 2020-05-23 11:40:00.128 info (26521) script.js.common.TimerNeu: Reaching WriteToTimer, whichone=0 javascript.0 2020-05-23 11:39:58.077 info (26521) script.js.common.TimerNeu: Reaching MakeTable javascript.0 2020-05-23 11:39:58.077 info (26521) script.js.common.TimerNeu: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=2 onoff=true javascript.0 2020-05-23 11:39:57.076 info (26521) script.js.common.TimerNeu: Reaching MakeTable javascript.0 2020-05-23 11:39:57.075 info (26521) script.js.common.TimerNeu: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=2 onoff=true
-
Hallo, lese gerade alles mal durch.
Da kommen mir folgende Fragen:- Welche Anwesenheitserkennung ? Mit was wie?
- Kann man das auch abschalten, wenn man derzeit keine Anwesenheitserkennung hat?
cu Deta
-
Es gibt hier Skripte für Anwesenheitserkennungen die den Radar oder tr064 Adapter dafür nutzen um darzustellen, ob eine Person im Haus ist oder nicht.
Hier ein Auszug aus der Anleitung von Pittini:
Als nächstes (Zeile 9) gebt Ihr den Datenpunkt für An/Abwesenheit an.
Dieser darf numerische oder boolsche Werte beinhalten. Habt Ihr keinen entsprechenden Datenpunkt tragt "" ein. -
@Dominik-F Das funktioniert , aber leider nicht sauber.. Oft gesagt ist da obwohl nicht da oder andersrum. Daher hab ich die Anwesendheit ab akta gelegt und daher wäre es gut, wenn es Abschaltbar wäre die Funktion.
-
@deta sagte in [Vorlage] Flexibles Timerskript + Vis:
und daher wäre es gut, wenn es Abschaltbar wäre die Funktion.
Ok, es steht in der Anleitung, @Dominik-F hats Dir eins weiter oben geschrieben - dann sag ichs halt auch noch mal: Habt Ihr keinen entsprechenden Datenpunkt tragt "" ein.
-
@Saschag sagte in [Vorlage] Flexibles Timerskript + Vis:
Aber wenn ich meinen Aktor manuelle schalte geht der Timer nicht von „rot“ auf „grau“
Sollte er aber. Ist das zufällig der, welcher auch nicht geschaltet wurde? Aber ohne Log kann ich auch hier nix sagen.
-
@Dominik-F sagte in [Vorlage] Flexibles Timerskript + Vis:
javascript.0 2020-05-23 11:43:00.006 info (26521) script.js.common.TimerNeu: Timer 1 hat ausgeschaltet javascript.0 2020-05-23 11:43:00.005 info (26521) script.js.common.TimerNeu: Reaching DoAction(), whichone=1 Presence=trueMyTimer[whichone][13]=hm-rpc.0.OEQ0572933.1.STATEMyTimer[whichone][14]=true javascript.0 2020-05-23 11:42:40.451 info (26521) script.js.common.Fensterauswertung: TempMessageLog=23.05.2020 11:42:40: EG Badfenster seit 30 Minuten geöffnet!,23.05.2020 11:27:40: EG Badfenster seit 15 Minuten geöffnet!,23.05.2020 11:12:40 javascript.0 2020-05-23 11:42:00.004 info (26521) script.js.common.TimerNeu: Reaching DoAction(), whichone=0 Presence=trueMyTimer[whichone][13]=hm-rpc.0.OEQ0572933.1.STATEMyTimer[whichone][14]=false
Das schaut an sich gut aus, der ist in keinen Fehler gelaufen, die ausschaltung wurde komplett durchgeführt, die einschaltung hat er verworfen. Der einzige Grund warum er das tut ist dass der Timer nicht auf aktiv gesetzt wurde. kannste das mal bitte überprüfen?
-
ich glaube es liegt wieder mal an den Presence Datenpunkten. Bei Timer 0, der fürs Einschalten zuständig ist, sind beide Datenpunkte false, bei Timer 1 sind beide true.
Beide Timer sind aktiv. -
Es funktioniert nun. Ich hab n Presencedatenpunkt eingegeben und dann die Datenpunkte über die Vis auf True gestellt.
Die Einstellungen werden wohl gespeichert auch wenn die Anwesenheit irgendwann wegnimmt. Laut der Anleitung sollte die Anwesenheit bei keinem Datenpunkt auf True gestellt werden. Das scheint noch nicht ganz zu funktionieren.Dazu fände ich es gut, wenn der gelbe Balken, der anzeigt was angewählt ist verschwindet nachdem man gespeichert hat. Ich hab jetzt nur 2 Timer und ein Timer ist ja immer angwählt und zeigt somit nichts an weil es Gelb ist.
-
@Dominik-F sagte in [Vorlage] Flexibles Timerskript + Vis:
Es funktioniert nun. Ich hab n Presencedatenpunkt eingegeben und dann die Datenpunkte über die Vis auf True gestellt.
Sollte nicht nötig sein, aber ich schau mir das nochmal an.
Die Einstellungen werden wohl gespeichert auch wenn die Anwesenheit irgendwann wegnimmt.
Hä?
Laut der Anleitung sollte die Anwesenheit bei keinem Datenpunkt auf True gestellt werden. Das scheint noch nicht ganz zu funktionieren.
Wo steht das denn? Eigentlich steht da:
Solltet Ihr keinen Anwesenheitsdatenpunkt eingetragen haben, so ist dieser Button, sowie die zugehörige Spalte in der Übersichtstabelle nicht sichtbar. Skriptintern wird die Anwesenheit auf true gesetzt.Dazu fände ich es gut, wenn der gelbe Balken, der anzeigt was angewählt ist verschwindet nachdem man gespeichert hat. Ich hab jetzt nur 2 Timer und ein Timer ist ja immer angwählt und zeigt somit nichts an weil es Gelb ist.
Jap, da is was dran, da überleg ich mir mal was, evtl die gelbe Markierung nur in der ersten Spalte zu setzen, oder nen Rahmen statt Farbe.
-
ok, dann werde ich es mal die nächsten Stunden mal testen.
Idee für Erweiterung wäre: Das man wenn eine Schaltung erfolgt, eine Telegram Nachricht bekommt.
"z.b.: Die Pumpe wurde eingeschaltet um xx Uhr"
" Die Pumpe wurde ausgeschaltet um xx Uhr"
" Die Lampe(Gerätenamen) wurde .."Wäre das machbar? Wäre echt gut.
-
@deta sagte in [Vorlage] Flexibles Timerskript + Vis:
Wäre das machbar? Wäre echt gut.
Ja, das ist relativ easy da die entsprechenden Meldungen ja eh generiert werden fürs Log. Paßt eigentlich gut zu meinen anderen beiden Skripts die das auch machen, hätte nur nicht gedacht dass man das auch bei Timern will.
-
@Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:
@deta sagte in [Vorlage] Flexibles Timerskript + Vis:
Wäre das machbar? Wäre echt gut.
Ja, das ist relativ easy da die entsprechenden Meldungen ja eh generiert werden fürs Log. Paßt eigentlich gut zu meinen anderen beiden Skripts die das auch machen, hätte nur nicht gedacht dass man das auch bei Timern will.
Wäre echt klasse.
Hab gerade mal das js installiert und beim start stand im Logjavascript.0 2020-05-23 14:02:14.262 info (22136) script.js.Poolsteuerung.Timer-Skript: Reaching MakeTable javascript.0 2020-05-23 14:02:14.259 info (22136) script.js.Poolsteuerung.Timer-Skript: Timer CreateState(s) fertig! javascript.0 2020-05-23 14:02:14.174 info (22136) script.js.Poolsteuerung.Timer-Skript: Timer CreateState(s) fertig! javascript.0 2020-05-23 14:02:13.592 warn (22136) This object will not be created in future versions. Please report this to the developer. javascript.0 2020-05-23 14:02:13.591 warn (22136) Object javascript.0.Timer.1 is invalid: obj.common.type has an invalid value (channel) but has to be one of number, string, boolean, array, object, mixed, file, json javascript.0 2020-05-23 14:02:13.582 warn (22136) This object will not be created in future versions. Please report this to the developer. javascript.0 2020-05-23 14:02:13.581 warn (22136) Object javascript.0.Timer.0 is invalid: obj.common.type has an invalid value (channel) but has to be one of number, string, boolean, array, object, mixed, file, json javascript.0 2020-05-23 14:02:13.568 info (22136) script.js.Poolsteuerung.Timer-Skript: Reaching CreateTrigger() javascript.0 2020-05-23 14:02:13.566 info (22136) script.js.Poolsteuerung.Timer-Skript: Reaching ConvertPresence. TempPresence=true javascript.0 2020-05-23 14:02:13.564 info (22136) script.js.Poolsteuerung.Timer-Skript: Reaching SetValueListPairs() javascript.0 2020-05-23 14:02:13.561 info (22136) script.js.Poolsteuerung.Timer-Skript: Reaching CreateTimerCountList() javascript.0 2020-05-23 14:02:13.547 info (22136) script.js.Poolsteuerung.Timer-Skript: Reaching Init() javascript.0 2020-05-23 14:02:13.546 info (22136) script.js.Poolsteuerung.Timer-Skript: Reaching Main javascript.0 2020-05-23 14:02:13.545 info (22136) script.js.Poolsteuerung.Timer-Skript: Initial CreateStates fertig! javascript.0 2020-05-23 14:02:12.821 warn (22136) This object will not be created in future versions. Please report this to the developer. javascript.0 2020-05-23 14:02:12.820 warn (22136) Object javascript.0.Timer.Template is invalid: obj.common.type has an invalid value (channel) but has to be one of number, string, boolean, array, object, mixed, file, json javascript.0 2020-05-23 14:02:12.803 info (22136) script.js.Poolsteuerung.Timer-Skript: registered 0 subscriptions and 0 schedules javascript.0 2020-05-23 14:02:12.723 info (22136) Start javascript script.js.Poolsteuerung.Timer-Skript javascript.0 2020-05-23 14:01:50.382 info (22136) Stop script script.js.Poolsteuerung.Timer-Skript
-
Mh so wo muss ich jetzt die Schaltziele eintragen? Steh da gerade auf dem schlauch.
-
So hat mir keine Ruhe gelassen -- Zigbee funktioniert nicht 100%
Das Thema mit den Farben auch nicht.
javascript.0 2020-05-23 14:20:00.053 info (5902) script.js.Timer.TimerV2: Timer 3 hat ausgeschaltet javascript.0 2020-05-23 14:20:00.050 warn (5902) at Object.<anonymous> (script.js.Timer.TimerV2:372:13) javascript.0 2020-05-23 14:20:00.049 warn (5902) at DoAction (script.js.Timer.TimerV2:433:21) javascript.0 2020-05-23 14:20:00.038 info (5902) script.js.Timer.TimerV2: Reaching DoAction(), whichone=3 Presence=trueMyTimer[whichone][13]=MyTimer[whichone][14]=true javascript.0 2020-05-23 14:18:30.162 info (5902) script.js.Timer.TimerV2: Settings saved javascript.0 2020-05-23 14:18:29.159 info (5902) script.js.Timer.TimerV2: Reaching MakeTable javascript.0 2020-05-23 14:18:29.157 info (5902) script.js.Timer.TimerV2: Reaching MakeTable javascript.0 2020-05-23 14:18:29.156 info (5902) script.js.Timer.TimerV2: Reaching SwitchEditMode(whichone, onoff), whichonex=0 TimerCount=4 onoff=false javascript.0 2020-05-23 14:18:29.148 info (5902) script.js.Timer.TimerV2: CronString für Timer 0 erstellt 00 09 * * 6 javascript.0 2020-05-23 14:18:29.148 info (5902) script.js.Timer.TimerV2: Timer 0 wird gesetzt javascript.0 2020-05-23 14:18:29.147 info (5902) script.js.Timer.TimerV2: Zeit gewählt 09:00:00 javascript.0 2020-05-23 14:18:29.147 info (5902) script.js.Timer.TimerV2: Timer Schedule 0 killed javascript.0 2020-05-23 14:18:29.143 info (5902) script.js.Timer.TimerV2: Reaching WriteToTimer, whichone=0 javascript.0 2020-05-23 14:17:55.627 info (5902) script.js.Timer.TimerV2: Reaching MakeTable javascript.0 2020-05-23 14:17:55.626 info (5902) script.js.Timer.TimerV2: Reaching MakeTable javascript.0 2020-05-23 14:17:51.616 info (5902) script.js.Timer.TimerV2: Reaching MakeTable javascript.0 2020-05-23 14:17:51.613 info (5902) script.js.Timer.TimerV2: Reaching MakeTable javascript.0 2020-05-23 14:15:00.041 info (5902) script.js.Timer.TimerV2: zigbee.0.7cb03eaa0a07eff0.state Timer 2 hat angeschaltet javascript.0 2020-05-23 14:15:00.039 info (5902) script.js.Timer.TimerV2: Reaching DoAction(), whichone=2 Presence=trueMyTimer[whichone][13]=zigbee.0.7cb03eaa0a07eff0.stateMyTimer[whichone][14]=true javascript.0 2020-05-23 14:11:14.345 info (5902) script.js.Timer.TimerV2: Reaching MakeTable
Zigbee einschalten hat funktioniert.
-
RTFM
Installation
- Wenn noch nicht geschehen, allen gewünschten Zieldatenpunkten eine Funktion zuweisen. Die Funktion muss vorher in den Aufzählungen hinzugefügt werden und könnte z.B. "TimerTarget" lauten. Soll ein anderer Begriff verwendet werden, muss dies dann auch im Script geändert werden. Nach der Zuweisung, bzw. dem anlegen neuer Aufzählungspunkte ist es oft hilfreich die JS Instanz neu zu starten da diese bei Aufzählungsänderungen gerne mal "zickt" was dann zu Skriptfehlern führt.
und
- Das Listenfeld "Ziel" - Hier wählt Ihr aus welches Ziel geschaltet werden soll. Die hier vorhandenen Einträge, sind die Namen jener Id's, welche Ihr der Funktion "TimerTarget" zugewiesen habt. Schaltbar ist grundsätzlich alles was mit true/false gesteuert wird, egal ob Lampen, Steckdosen oder auch Skripte, Datenpunkte usw.