NEWS
[Vorlage] Flexibles Timerskript + Vis
-
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.
-
@Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:
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.
Wo ist das Listenfeld. In den Objekten? Da ist kein Ziel und wenn in welchen Format?
Hab das so eingetragen in den Objekten, funktioniert aber nicht.
-
@Saschag sagte in [Vorlage] Flexibles Timerskript + Vis:
Zigbee funktioniert nicht 100%
(5902) script.js.Timer.TimerV2: Reaching DoAction(), whichone=3 Presence=trueMyTimer[whichone][13]=MyTimer[whichone][14]=true
Da ist kein Ziel definiert. Die Frage ist jetzt warum. Zeig bitte mal nen Screenshot vom Vis.
-
@deta sagte in [Vorlage] Flexibles Timerskript + Vis:
Wo ist das Listenfeld. In den Objekten? Da ist kein Ziel und wenn in welchen Format?
Hab das so eingetragen in den Objekten, funktioniert aber nicht.Ist es echt so schwer der Anleitung folge zu leisten?
- Ab hier habt Ihr mit dem Skript und der Objektliste nichts mehr zu tun, alles weitere wird via Vis erledigt, ihr solltet nun die beigefügte Vorlage (TimerView.txt) via "Widgets importieren" in Euer Vis Projekt integrieren und aufrufen.
-
@Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:
@deta sagte in [Vorlage] Flexibles Timerskript + Vis:
Wo ist das Listenfeld. In den Objekten? Da ist kein Ziel und wenn in welchen Format?
Hab das so eingetragen in den Objekten, funktioniert aber nicht.Ist es echt so schwer der Anleitung folge zu leisten?
- Ab hier habt Ihr mit dem Skript und der Objektliste nichts mehr zu tun, alles weitere wird via Vis erledigt, ihr solltet nun die beigefügte Vorlage (TimerView.txt) via "Widgets importieren" in Euer Vis Projekt integrieren und aufrufen.
Sorry wenn das so klar wäre würde ich nicht fragen!
Hatte versucht im VIS die Datenpunkte irgendwie einzugeben, ging aber nirgends. Wo soll man in VIS die eingeben können?? -
@deta sagte in [Vorlage] Flexibles Timerskript + Vis:
Hatte versucht im VIS die Datenpunkte irgendwie einzugeben, ging aber nirgends. Wo soll man in VIS die eingeben können??
Du brauchst nix händisch eingeben, du musst die Runtime starten , alles einstellen und dann auf speichern gehen. (Diskette)
-
@sigi234 sagte in [Vorlage] Flexibles Timerskript + Vis:
@deta sagte in [Vorlage] Flexibles Timerskript + Vis:
Hatte versucht im VIS die Datenpunkte irgendwie einzugeben, ging aber nirgends. Wo soll man in VIS die eingeben können??
Du brauchst nix händisch eingeben, du musst die Runtime starten , alles einstellen und dann auf speichern gehen. (Diskette)
Der Muss doch wissen welchen Datenpunkt, z.b. für die Steckdose Pool nutzen muss. Das muss doch irgendwo eingegeben werden, Steckdose Poll ist Schaltpunkt X