NEWS
[Vorlage] Flexibles Timerskript + Vis
-
Thread zum Timerskript unter: https://github.com/Pittini/iobroker-Timer
-
Hier das Log ab Sciptstop und anschließendem Neustart
19:50:53.307 info javascript.0 (4663) Stop script script.js.common.Timer 19:50:53.309 info javascript.0 (4663) script.js.common.Timer: Timer 1 killed 19:50:53.310 info javascript.0 (4663) script.js.common.Timer: Timer 2 killed 19:50:53.310 info javascript.0 (4663) script.js.common.Timer: Timer 3 killed 19:50:53.310 info javascript.0 (4663) script.js.common.Timer: Timer 4 killed 19:50:54.453 info javascript.0 (4663) Start javascript script.js.common.Timer 19:50:54.463 warn javascript.0 (4663) at script.js.common.Timer:6:16 19:50:54.466 info javascript.0 (4663) script.js.common.Timer: Setting all Timers 19:50:54.466 info javascript.0 (4663) script.js.common.Timer: Timer 1 wird gesetzt 19:50:54.466 info javascript.0 (4663) script.js.common.Timer: CronString für Timer 1 erstellt 00 10 * * * 19:50:54.466 info javascript.0 (4663) script.js.common.Timer: Timer 2 wird gesetzt 19:50:54.467 info javascript.0 (4663) script.js.common.Timer: CronString für Timer 2 erstellt 00 15 * * * 19:50:54.467 info javascript.0 (4663) script.js.common.Timer: Timer 3 wird gesetzt 19:50:54.467 info javascript.0 (4663) script.js.common.Timer: CronString für Timer 3 erstellt 00 13 * * * 19:50:54.468 info javascript.0 (4663) script.js.common.Timer: Timer 4 wird gesetzt 19:50:54.469 info javascript.0 (4663) script.js.common.Timer: CronString für Timer 4 erstellt 00 18 * * * 19:50:54.470 info javascript.0 (4663) script.js.common.Timer: registered 53 subscriptions and 4 schedules
Edit: Die Switchtarget Datenpunkte der einzelnen Timer werden nicht gesetzt. Bei meinem ersten Test hatte ich die manuell eingetragen und da es nicht funktioniert hat, dachte ich das wäre das Problem. Daher wollte ich die dann in den Datenpunkt Timertarget eintragen was nicht funktioniert
-
@Dominik-F Wieso hast Du 4mal den gleichen Datenpunkt da drin? Die sind komplett identisch, das brauchts nicht, keine Ahnung wie das Skript da drauf reagiert.
Zum anderen hast Du im Vis die Anwesenheitspunkte rausgenommen, da mußte mal manuell guggen ob die defaults passen.
Das Log is eigentlich soweit ok (wenn Du 4 Timer gesetzt hast). Wenn die zu den angegebenen Zeiten nicht schalten, liegts vermutlich daran dass die Anwesenheitsgeschichte nicht passt, das wird nämlich erst abgefragt kurz bevor er schaltet.Edit:
So sollte ein funktioniereder Timer in de r Objektliste aussehen: -
Also mein Ziel war es, insgesamt 2 Timer mit ein/aus zu haben, so das meine Poolpumpe 2 mal am Tag an geht und 2 mal aus. Daher 4 Timer. Da es immer der gleiche Datenpunkt ist der geschaltet werden soll, hab ich 4 mal den gleichen Datenpunkt eingetragen.
Die Datenpunkte onlyifpresence und onlyifnopresence sind bei allen Timern false.
-
Okay, hab die Presencedatenpunkte jetzt mal auf true gestellt. Jedoch ist der Datenpunkt Switschtarget nur beim ersten Timer gefüllt, die anderen sind leer
-
@Dominik-F sagte in [Vorlage] Flexibles Timerskript + Vis:
Also mein Ziel war es, insgesamt 2 Timer mit ein/aus zu haben, so das meine Poolpumpe 2 mal am Tag an geht und 2 mal aus. Daher 4 Timer. Da es immer der gleiche Datenpunkt ist der geschaltet werden soll, hab ich 4 mal den gleichen Datenpunkt eingetragen.
Den Datenpunkt brauchste aber nur einmal eintragen, das is ja nur für die Dropdownliste und um zu wissen was er schalten soll.
Die Datenpunkte onlyifpresence und onlyifnopresence sind bei allen Timern false.
Na da haben wirs doch schon. Wenn beide false sind heisst das nicht bei Anwesenheit und nicht bei Abwesenheit schalten, also nie. setzt die mal auf true beide
-
@Dominik-F sagte in [Vorlage] Flexibles Timerskript + Vis:
Jedoch ist der Datenpunkt Switschtarget nur beim ersten Timer gefüllt, die anderen sind leer
Dann haste das Vis nicht richtig angepasst. Jedes davon muß auf einen anderen Timer in der Objektliste zeigen.
-
Okay, habe das nun mit deiner View mal getestet, einschalten ging, beim Ausschalten gab es folgende Meldung im Log:
javascript.0 2020-05-10 20:16:00.009 warn (4663) at processTimers (internal/timers.js:492:7) javascript.0 2020-05-10 20:16:00.008 warn (4663) at listOnTimeout (internal/timers.js:549:17) javascript.0 2020-05-10 20:16:00.008 warn (4663) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7) javascript.0 2020-05-10 20:16:00.008 warn (4663) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11 javascript.0 2020-05-10 20:16:00.008 warn (4663) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10) javascript.0 2020-05-10 20:16:00.008 warn (4663) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1269:34) javascript.0 2020-05-10 20:16:00.008 warn (4663) at Object.<anonymous> (script.js.common.Timer:103:13) javascript.0 2020-05-10 20:16:00.008 warn (4663) at DoAction (script.js.common.Timer:186:17) javascript.0 2020-05-10 20:16:00.008 warn (4663) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1354:20) javascript.0 2020-05-10 20:16:00.005 warn (4663) State "" not found
Edit: Der Switchdatenpunkt wurde nun gefüllt.
-
@Dominik-F State "" not found heißt dass da der Datenpunkt (noch) nicht gepaßt hat.
Wie ist jetzt der aktuelle Status, was geht, was geht nicht? Zeig mal die Objektliste vom Auschaltdatenpunkt. -
einschalten ging, ausschalten ging nicht
-
@Dominik-F Objektliste schaut ok aus. Starte mal die js Instanz neu, evtl hängt da noch was von den Fehlversuchen drin. Wenn einschalten geht, muß ausschalten auch gehen, das ist die gleiche Funktion (DoAction), nur dass halt einmal true und andersrum false gesetzt wird.
-
Perfekt, jetzt geht es. Ich werde meine Vis dann jetzt so umbauen, dass sie auch funktioniert.
-
Hättest du dann eventuell interesse an der View als alternative zu deiner auf Github? Würde dann ein kleines Projekt dafür machen und dir das zum Hochladen zur Verfügung stellen
-
@Dominik-F sagte in [Vorlage] Flexibles Timerskript + Vis:
Hättest du dann eventuell interesse an der View als alternative zu deiner auf Github? Würde dann ein kleines Projekt dafür machen und dir das zum Hochladen zur Verfügung stellen
Grundsätzlich ja gern, aber erst wenn das update raus geht weil sich da so einiges ändert. Ich werde das auf meine anderen Skripte abstimmen, also Auswahl TimerTargets via Funktion und nur ein Timer im Vis wo mit Dropdown ausgewählt wird welchen Timer man bearbeiten möchte und dazu ne Tabelle wo alle Timer als Übersicht dargestellt werden. D.h. Du mußt das dann eh anpassen.
-
@Dominik-F Soo, update is raus, wär nett wenn Du testen würdest.
-
Mache ich gerne. Werde das im Laufe des Abends installieren und testen. Auf den ersten Blick siehts super aus. Ich frage mich gerade nur, wie die Darstellung auf meinem Handy aussehen wird da doch sehr viele Spalten vorhanden sind. Hab aber gesehen, dass man Spalten ausblenden kann. Bin sehr gespannt und werde dir eine Rückmeldung geben
-
Hallo, Super.... teste gerade.
Zitat:
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.
Wie jetzt? Als View oder Widget?
javascript.0 2020-05-22 14:59:10.998 warn (15356) at processTicksAndRejections (internal/process/task_queues.js:97:5) javascript.0 2020-05-22 14:59:10.998 warn (15356) at runMicrotasks (<anonymous>) javascript.0 2020-05-22 14:59:10.998 warn (15356) at C:\Program Files\iobroker\Test\node_modules\standard-as-callback\built\index.js:19:49 javascript.0 2020-05-22 14:59:10.997 warn (15356) at tryCatcher (C:\Program Files\iobroker\Test\node_modules\standard-as-callback\built\utils.js:11:23) javascript.0 2020-05-22 14:59:10.997 warn (15356) at C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\node_modules\iobroker.objects-redis\index.js:1:93234 javascript.0 2020-05-22 14:59:10.997 warn (15356) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1910:38 javascript.0 2020-05-22 14:59:10.997 warn (15356) at Object.<anonymous> (script.js.Sigi.Timer:210:17) javascript.0 2020-05-22 14:59:10.997 warn (15356) at FillTimerArray (script.js.Sigi.Timer:237:25) javascript.0 2020-05-22 14:59:10.996 warn (15356) getState "undefined" not found (3) javascript.0 2020-05-22 14:59:10.996 info (15356) script.js.Sigi.Timer: CreateStates fertig! javascript.0 2020-05-22 14:59:10.995 info (15356) script.js.Sigi.Timer: CreateStates fertig! javascript.0 2020-05-22 14:59:10.974 info (15356) script.js.Sigi.Timer: Reaching CreateTrigger() javascript.0 2020-05-22 14:59:10.974 info (15356) script.js.Sigi.Timer: Reaching ConvertPresence. TempPresence=true javascript.0 2020-05-22 14:59:10.974 info (15356) script.js.Sigi.Timer: Reaching SetValueListPairs() javascript.0 2020-05-22 14:59:10.974 info (15356) script.js.Sigi.Timer: Reaching CreateTimerCountList() javascript.0 2020-05-22 14:59:10.971 info (15356) script.js.Sigi.Timer: Reaching Init() javascript.0 2020-05-22 14:59:10.971 info (15356) script.js.Sigi.Timer: Reaching Main javascript.0 2020-05-22 14:59:10.971 info (15356) script.js.Sigi.Timer: CreateStates fertig! javascript.0 2020-05-22 14:59:10.964 info (15356) script.js.Sigi.Timer: registered 0 subscriptions and 0 schedules javascript.0 2020-05-22 14:59:10.959 info (15356) Start javascript script.js.Sigi.Timer javascript.0 2020-05-22 14:59:10.789 info (15356) script.js.Sigi.Timer: Timer Schedule 1 killed javascript.0 2020-05-22 14:59:10.789 info (15356) script.js.Sigi.Timer: Timer Schedule 0 killed javascript.0 2020-05-22 14:59:10.788 info (15356) Stop script script.js.Sigi.Timer javascript.0 2020-05-22 14:58:51.840 info (15356) script.js.Sigi.Timer: Reaching MakeTable
-
@sigi234 sagte in [Vorlage] Flexibles Timerskript + Vis:
Wie jetzt? Als View oder Widget?
Es ist ein View, die darin enthaltenen Widgets werden via Widgets importieren in den (leeren) View eingefügt.
Aber upsi, ich seh grad ich hab das noch gar nicht aktualisierert, das is das alte noch. Is jetzt aktualisiert.Den Fehler muß ich mal guggen.
Edit: Hab da nen Verdacht, hol Dir bitte mal die 2.0.1, hab da noch paar Logpunkte eingebaut.
-
@Pittini sagte in [Vorlage] Flexibles Timerskript + Vis:
Edit: Hab da nen Verdacht, hol Dir bitte mal die 2.0.1, hab da noch paar Logpunkte eingebaut.
Mit der neuen View hat sich das Problem gelöst. V 2.0.1 noch nicht installiert.
Dito mit Version V 2.0.1
-
Bin gerade am Testen. Bei mir wird der State richtig angezeigt (Grün/Rot) aber der Datenpunkt schaltet nicht