NEWS
UNSOLVED JS:TypeError: sch.period.months.map
-
Hallo,
ich baue mir gerade eine Verbrauchsanzeige für Gas / Wasser / Strom. Dabei brauche ich einen Trigger der immer am 1 jeden Monats um 0 Uhr startet. Definiert habe ich den so:schedule('{"time":{"exactTime":true,"start":"00:00"},"period":{"months":1,"dates":"[1]"}}', function () { console.log("Wasser : Reset Month Counter"); setState("Global.0.Verbauch.Wasser_l_Monat_DB", getState("Global.0.Verbauch.Wasser_l_Monat").val); setState("Global.0.Verbauch.Wasser_l_Monat", 0); });
Nur leider habe ich dann im Log folgenden Fehler:
javascript.0 2019-12-09 09:03:36.555 error (18794) at ContextifyScript.Script.runInContext (vm.js:59:29) javascript.0 2019-12-09 09:03:36.554 error (18794) at script.js.common.Verbrauch.Wasser:69:1 javascript.0 2019-12-09 09:03:36.552 error (18794) at schedule (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1091:52) javascript.0 2019-12-09 09:03:36.552 error (18794) at Scheduler.add (/opt/iobroker/node_modules/iobroker.javascript/lib/scheduler.js:299:51) javascript.0 2019-12-09 09:03:36.552 error (18794) TypeError: sch.period.months.map is not a function javascript.0 2019-12-09 09:03:36.551 error (18794) ^ javascript.0 2019-12-09 09:03:36.551 error (18794) sch.period.months = sch.period.months.map(m => m - 1); javascript.0 2019-12-09 09:03:36.551 error (18794) script.js.common.Verbrauch.Wasser: /opt/iobroker/node_modules/iobroker.javascript/lib/scheduler.js:299
Was läuft denn da falsch? Habe den Timer im Blockly mit dem Assistenten zusammen geklickt Aber auch da kommt der Fehler ...
-
@moelski months muss ein Array sein, damit das funktioniert.
Ändere"months":1
zu"months":[1]
. -
Moin !
schedule('{"time":{"exactTime":true,"start":"00:00"},"period":{"months":"[1]","dates":"[1]"}}', function () {
Ok so ist erstmal der Fehler weg.
Jetzt stellt sich nur die Frage ... wird das jeden Monat ausgeführt oder nur im Januar wegen der 1 ? -
@moelski Das dürfte nur der Januar sein.