NEWS
Test Adapter mytime
-
Hi,
gerade mal den Adapter installiert und versucht einen Countdown Timer anzulegen:
dabei koimmt dann das im log: (sorry, kann gerade nur aus dem Browser Fenster kopieren)
host.iobroker 2025-06-05 17:12:16.343 info Restart adapter system.adapter.mytime.0 because enabled host.iobroker 2025-06-05 17:12:16.343 error instance system.adapter.mytime.0 terminated with code 6 (UNCAUGHT_EXCEPTION) mytime.0 2025-06-05 17:12:15.642 warn Terminated (UNCAUGHT_EXCEPTION): Without reason mytime.0 2025-06-05 17:12:15.641 info terminating mytime.0 2025-06-05 17:12:15.641 info cleaned everything up... mytime.0 2025-06-05 17:12:15.638 error Cannot set properties of undefined (setting 'config') mytime.0 2025-06-05 17:12:15.637 error TypeError: Cannot set properties of undefined (setting 'config') at mytimeCountdown.setCountdownConfigMsg (/opt/iobroker/node_modules/iobroker.mytime/lib/mytimeCountdown.js:587:46) at mytimeCountdown.processMessages (/opt/iobroker/node_modules/iobroker.mytime/lib/mytimeCountdown.js:566:18) at mytimeclassNew.processMessages (/opt/iobroker/node_modules/iobroker.mytime/lib/mytimeserver.js:60:48) at Mytime.onMessage (/opt/iobroker/node_modules/iobroker.mytime/main.js:102:22) at Mytime.emit (node:events:524:28) at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/cjs/lib/adapter/adapter.js:7309:20) at Immediate.<anonymous> (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/build/esm/lib/states/statesInRedisClient.js:286:37) at process.processImmediate (node:internal/timers:483:21) mytime.0 2025-06-05 17:12:15.635 error unhandled promise rejection: Cannot set properties of undefined (setting 'config') mytime.0 2025-06-05 17:12:15.635 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
Was mache ich denn falsch?
JS-Controller 7.0.7
Node v20.19.1
Admin v7.6.18
myTime 1.4.2Edit: debug log
mirko@iobroker:~$ tail -f /opt/iobroker/log/iobroker.current.log |grep mytime 2025-06-05 17:24:47.535 - debug: mytime.0 (90064) processMessages mytime 2025-06-05 17:24:47.535 - debug: mytime.0 (90064) processMessages countdown{"command":"setCountdownConfig","message":{"behavior":"timer","days":"0","hours":"0","minutes":"30","name":"30min","seconds":"0"},"from":"system.adapter.admin.0","callback":{"message":{"behavior":"timer","days":"0","hours":"0","minutes":"30","name":"30min","seconds":"0"},"id":491,"ack":false,"time":1749137087530},"_id":12576096} 2025-06-05 17:24:47.536 - debug: mytime.0 (90064) send setCountdownConfig 2025-06-05 17:24:47.536 - debug: mytime.0 (90064) setCountdownConfigMsg 2025-06-05 17:24:47.540 - error: mytime.0 (90064) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2025-06-05 17:24:47.540 - error: mytime.0 (90064) unhandled promise rejection: Cannot set properties of undefined (setting 'config') 2025-06-05 17:24:47.542 - error: mytime.0 (90064) TypeError: Cannot set properties of undefined (setting 'config') at mytimeCountdown.setCountdownConfigMsg (/opt/iobroker/node_modules/iobroker.mytime/lib/mytimeCountdown.js:587:46) at mytimeCountdown.processMessages (/opt/iobroker/node_modules/iobroker.mytime/lib/mytimeCountdown.js:566:18) at mytimeclassNew.processMessages (/opt/iobroker/node_modules/iobroker.mytime/lib/mytimeserver.js:60:48) at Mytime.onMessage (/opt/iobroker/node_modules/iobroker.mytime/main.js:102:22) 2025-06-05 17:24:47.543 - error: mytime.0 (90064) Cannot set properties of undefined (setting 'config') 2025-06-05 17:24:47.554 - debug: mytime.0 (90064) main onUnload try 2025-06-05 17:24:47.555 - debug: mytime.0 (90064) closeConnections 2025-06-05 17:24:47.555 - debug: mytime.0 (90064) deleteObservers 2025-06-05 17:24:47.555 - info: mytime.0 (90064) cleaned everything up... 2025-06-05 17:24:47.555 - info: mytime.0 (90064) terminating 2025-06-05 17:24:47.556 - warn: mytime.0 (90064) Terminated (UNCAUGHT_EXCEPTION): Without reason 2025-06-05 17:24:48.057 - info: mytime.0 (90064) terminating 2025-06-05 17:24:48.333 - error: host.iobroker instance system.adapter.mytime.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2025-06-05 17:24:48.333 - info: host.iobroker Restart adapter system.adapter.mytime.0 because enabled
-
Kannst du bitte den log level auf debug stellen und dann nochmal versuchen anzulegen. Da kommen ein paar mehr Zeilen mit um zu sehen wo das genau passiert ist.
-
@oliverio gerade meinen Beitrag vorher editiert.
Edit: Melde dich wenn du noch etwas benötigst! Danke für die schnelle Antwort!
Edit 2: Mit V1.4.0 sieht es genauso aus:
2025-06-05 17:31:06.188 - info: mytime.0 (90356) starting. Version 1.4.0 in /opt/iobroker/node_modules/iobroker.mytime, node: v20.19.1, js-controller: 7.0.7 2025-06-05 17:31:06.206 - debug: mytime.0 (90356) main onReady start 2025-06-05 17:31:06.207 - debug: mytime.0 (90356) main onReady open mytime 2025-06-05 17:31:06.207 - debug: mytime.0 (90356) mytime init 2025-06-05 17:31:06.208 - debug: mytime.0 (90356) setState connection: true 2025-06-05 17:31:06.210 - debug: mytime.0 (90356) mytimeCountdown init 2025-06-05 17:31:06.211 - debug: mytime.0 (90356) setCountdownInfo {} 2025-06-05 17:31:06.213 - debug: mytime.0 (90356) mytimeTimeserie init 2025-06-05 17:31:06.213 - debug: mytime.0 (90356) setTimeseriesInfo [] 2025-06-05 17:31:06.722 - debug: mytime.0 (90356) getStates * Countdowns 2025-06-05 17:31:06.724 - debug: mytime.0 (90356) getStates * Timeseries 2025-06-05 17:31:06.865 - debug: mytime.0 (90356) state mytime.0.info.connection changed: true (ack = true) 2025-06-05 17:31:31.087 - debug: mytime.0 (90356) processMessages mytime 2025-06-05 17:31:31.088 - debug: mytime.0 (90356) processMessages countdown{"command":"setCountdownConfig","message":{"behavior":"timer","days":"0","hours":"0","minutes":"30","name":"30min","seconds":"0"},"from":"system.adapter.admin.0","callback":{"message":{"behavior":"timer","days":"0","hours":"0","minutes":"30","name":"30min","seconds":"0"},"id":498,"ack":false,"time":1749137491062},"_id":12576105} 2025-06-05 17:31:31.088 - debug: mytime.0 (90356) send setCountdownConfig 2025-06-05 17:31:31.088 - debug: mytime.0 (90356) setCountdownConfigMsg 2025-06-05 17:31:31.090 - error: mytime.0 (90356) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2025-06-05 17:31:31.091 - error: mytime.0 (90356) unhandled promise rejection: Cannot set properties of undefined (setting 'config') 2025-06-05 17:31:31.094 - error: mytime.0 (90356) TypeError: Cannot set properties of undefined (setting 'config') at mytimeCountdown.setCountdownConfigMsg (/opt/iobroker/node_modules/iobroker.mytime/lib/mytimeCountdown.js:588:46) at mytimeCountdown.processMessages (/opt/iobroker/node_modules/iobroker.mytime/lib/mytimeCountdown.js:566:18) at mytimeclassNew.processMessages (/opt/iobroker/node_modules/iobroker.mytime/lib/mytimeserver.js:60:48) at Mytime.onMessage (/opt/iobroker/node_modules/iobroker.mytime/main.js:102:22) 2025-06-05 17:31:31.094 - error: mytime.0 (90356) Cannot set properties of undefined (setting 'config') 2025-06-05 17:31:31.108 - debug: mytime.0 (90356) main onUnload try 2025-06-05 17:31:31.109 - debug: mytime.0 (90356) closeConnections 2025-06-05 17:31:31.109 - debug: mytime.0 (90356) deleteObservers 2025-06-05 17:31:31.109 - info: mytime.0 (90356) cleaned everything up... 2025-06-05 17:31:31.110 - info: mytime.0 (90356) terminating 2025-06-05 17:31:31.112 - warn: mytime.0 (90356) Terminated (UNCAUGHT_EXCEPTION): Without reason 2025-06-05 17:31:31.614 - info: mytime.0 (90356) terminating 2025-06-05 17:31:31.936 - error: host.iobroker instance system.adapter.mytime.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2025-06-05 17:31:31.937 - info: host.iobroker Restart adapter system.adapter.mytime.0 because enabled 2025-06-05 17:31:31.937 - warn: host.iobroker Do not restart adapter system.adapter.mytime.0 because restart loop detected
-
@OliverIO : sag Bescheid wenn du ein Issue auf Github benötigst.
-
@OliverIO guten Morgen.
Hattest du schon Gelegenheit dir das log anzuschauen und vielleicht eine Idee was die Ursache sein kann?
Gibt es noch etwas das ich testen kann um den Adapter zum laufen zu bekommen falls es an meiner Installation liegt?
-
Eine Idee habe ich.
Wahrscheinlich hab ich irgendwas bei der Grund Initialisierung vergessen.
Muss das aber noch mal testen -
@oliverio OK. Wenn ich was Testen soll, geb Bescheid.
Danke für deinen Einsatz
-
ok, fehler ist identifiziert.
der neu hinzugekommene Knopf "setDP" dient eigentlich dazu, die Zeit eines bereits vorhandenen Countdown timers erneut oder gemäß Eingabe zu setzen.
Wenn du aber den Eintrag erst frisch hinzugefügt hast, dann existiert der Datenpunkt noch nicht und die Funktion geht schief.
Meine Vorstellung wäre, das dieser Knopf nur aktiv ist, wenn der Datenpunkt existiert und wenn tatsächlich was geändert wurde.
Das muss ich erst austüfteln, wie ich das im admin gestalten muss.Für dich reicht es einfach, den speichern Knopf unten zu drücken.
Dann ist der Countdown auch angelegt. -
@oliverio top.
Gleich mal testen wenn ich wieder am Rechner bin .
-
@oliverio sagte in Test Adapter mytime:
Neue Version 1.4.2
- Das Problem bei der Berechnung der Zeitdifferenz zwischen Server und Client konnte behoben werden.
Getestet und funktioniert, trotz Zeitversatz wird der Timer richtig beendet. Vielen Dank für die Anpassung!
-
Ich teste gerade mal die Widgets, mache ich bei dem "Circle" etwas falsch das sich der Sekunden Wert nicht ändert und auch der Kreis nicht?
Wie man am anderen Widget sieht läuft der Timer.
-
@wendy2702 welche version hast du?
wenn server uhr und client uhr nicht genau läuft, gab es bis v1.4.2 ein problem. also hier mal aus dem beta channel laden. -
Neue Version 1.4.3
Die Validator Regel für den SetDP Knopf in der Konfiguration wurde verbessert, so das der Knopf nur gedrückt werden kann, wenn der Datenpunkt bereits existiert.
-
@oliverio sagte in Test Adapter mytime:
@wendy2702 welche version hast du?
wenn server uhr und client uhr nicht genau läuft, gab es bis v1.4.2 ein problem. also hier mal aus dem beta channel laden.1.4.2
Ich teste nachher mit 1.4.3
-
@oliverio ich hab da noch einen für die VIS
beide countdown widgets sind defect
mytime.0.Countdowns.sprinkler.timer
-
@arteck
Bist du sicher das sich sonst nix bei dir verändert hat?
Im vergleich zu 1.4.2 hat sich bei den Widgets nix verändert. Es betraf nur admin und aktualisierte Pakete
https://github.com/oweitman/ioBroker.mytime/commit/f36793612b3220420eba97e1efbf2686481b507e -
@oliverio ich weiss nicht wie lange das schon so ist.. ist mir erst jetzt aufgefallen
der FlipClock geht
wobei der wird erst "auf Timer gesetzt" wenn er anfängt zu ticken.. sonst steht der auch auf 0 obwohl ich den "auf Timer gesetzt" gesepeichert habe
-
Kannst du bitte noch nach Fehlern in der Web Developer Konsole schauen?
-
@arteck Bei mir laufen beide, wobei ich beim "reverse" auch kein Objekt hinterlegt habe. Da das vom Format her nicht passt.
-
sind keine.... auf der console..
in der vis.2 gehts auch nicht
ich hab jetzt alles datenpunkte durch..
keiner liefer das gewollte ergebniss.. nach dem ablauf soll der wieder auf Timer gestellt werden..also 5 min