NEWS

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 ...


  • Developer

    @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 ?


  • Developer

    @moelski Das dürfte nur der Januar sein.



Suggested Topics

  • 6
  • 11
  • 10
  • 3
  • 3
  • 27
  • 6
  • 18

2.2k
Online

32.6k
Users

39.1k
Topics

530.3k
Posts