Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Erstes Blockly und ich bin am scheitern!?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Erstes Blockly und ich bin am scheitern!?

Geplant Angeheftet Gesperrt Verschoben Blockly
27 Beiträge 4 Kommentatoren 2.5k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Jan1

    @ahnungsbefreit
    eigentlich ist es sogar egal wo sie liegen, Hauptsache nicht in global ;)
    Was für Scripte in global sollten entzieht sich auch meiner Vorstellungskraft, da mir nicht in den Sinn kommt, was ich an jedes Script automatisch anhängen könnte.

    A Online
    A Online
    Ahnungsbefreit
    schrieb am zuletzt editiert von
    #17

    @jan1 Wie gesagt, ich habe etwas zu schnell abgeschickt - ich meinte GLOBAL.

    Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

    1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      @ub-privat sagte in Erstes Blockly und ich bin am scheitern!?:

      Der Neustart der Instanz scheint des Rätsels Lösung...

      Dann lief noch was im Hintergrund

      Wenn das keine Adapterdatenpunkte sind, sondern selbst erstellte, bitte aktualisiere und nicht steuere nehmen.

      ub.privatU Offline
      ub.privatU Offline
      ub.privat
      schrieb am zuletzt editiert von
      #18

      @homoran

      Die Punkte sind selbst erstellt, werde das ändern:

      Schaut dann so aus:
      b70aa1d2-6764-4b55-857b-01d2ad9a4fe5-grafik.png

      1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @ub-privat sagte in Erstes Blockly und ich bin am scheitern!?:

        Der Neustart der Instanz scheint des Rätsels Lösung...

        Dann lief noch was im Hintergrund

        Wenn das keine Adapterdatenpunkte sind, sondern selbst erstellte, bitte aktualisiere und nicht steuere nehmen.

        J Offline
        J Offline
        Jan1
        schrieb am zuletzt editiert von
        #19

        @homoran
        Ist das wirklich relevant, ob man hier aktualisiere oder steure nimmt? So wie ich den Unterschied verstanden habe, gibts bei steuere noch quasi ein Enter hinterher und aktualisiere schreibt nur.

        @Ahnungsbefreit
        war auch kein Vorwurf ;)

        HomoranH 1 Antwort Letzte Antwort
        1
        • J Jan1

          @homoran
          Ist das wirklich relevant, ob man hier aktualisiere oder steure nimmt? So wie ich den Unterschied verstanden habe, gibts bei steuere noch quasi ein Enter hinterher und aktualisiere schreibt nur.

          @Ahnungsbefreit
          war auch kein Vorwurf ;)

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #20

          @jan1 sagte in Erstes Blockly und ich bin am scheitern!?:

          Ist das wirklich relevant, ob man hier aktualisiere oder steure nimmt?

          Hier nur kosmetisch. Dann gibt es keine roten Werte ;-)

          bei Steuerung von Adaptern über deren Datenpunkte muss steuere genommen werden um dem Adapter zu sagen, dass dieser etwas tun soll.
          Nach getaner Arbeit setzt dieser dann das ACK-Flag auf true (was beim aktualisiere von vornherein gesetzt wird)

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          J ub.privatU 2 Antworten Letzte Antwort
          0
          • HomoranH Homoran

            @jan1 sagte in Erstes Blockly und ich bin am scheitern!?:

            Ist das wirklich relevant, ob man hier aktualisiere oder steure nimmt?

            Hier nur kosmetisch. Dann gibt es keine roten Werte ;-)

            bei Steuerung von Adaptern über deren Datenpunkte muss steuere genommen werden um dem Adapter zu sagen, dass dieser etwas tun soll.
            Nach getaner Arbeit setzt dieser dann das ACK-Flag auf true (was beim aktualisiere von vornherein gesetzt wird)

            J Offline
            J Offline
            Jan1
            schrieb am zuletzt editiert von
            #21

            @homoran
            Ok, so gesehen kommt das auf das Selbe raus wie ich es verstanden hatte, aber schön wenn mans dann doch genau weiß :)

            ub.privatU 1 Antwort Letzte Antwort
            0
            • HomoranH Homoran

              @jan1 sagte in Erstes Blockly und ich bin am scheitern!?:

              Ist das wirklich relevant, ob man hier aktualisiere oder steure nimmt?

              Hier nur kosmetisch. Dann gibt es keine roten Werte ;-)

              bei Steuerung von Adaptern über deren Datenpunkte muss steuere genommen werden um dem Adapter zu sagen, dass dieser etwas tun soll.
              Nach getaner Arbeit setzt dieser dann das ACK-Flag auf true (was beim aktualisiere von vornherein gesetzt wird)

              ub.privatU Offline
              ub.privatU Offline
              ub.privat
              schrieb am zuletzt editiert von
              #22

              @homoran

              Moin,moin! Da alles gestern so gut funktioniert hat, muss ich heute nochmals nachfragen.
              Bei einem weiteren Skript

              // VD_IMPULS - täglich 00:01Uhr
              schedule('{"time":{"exactTime":true,"start":"00:01"},"period":{"days":1}}', function () {
                setState("javascript.0.VERBRAUCHSWERTE.005_VD_IMPULSE.VD_IMPULS_Tageszähler"/*VD_IMPULS_Tageszähler*/, (getState("hpcontrol.0.values.057").val - getState("javascript.0.VERBRAUCHSWERTE.005_VD_IMPULSE.VD_IMPULS_Tagesvariable").val), true);
              });
              schedule('{"time":{"exactTime":true,"start":"00:02"},"period":{"days":1}}', function () {
                setState("javascript.0.VERBRAUCHSWERTE.005_VD_IMPULSE.VD_IMPULS_Tagesvariable"/*VD_IMPULS_Tagesvariable*/, getState("hpcontrol.0.values.057").val, true);
              });
              // PV_Monatsertrag - monatlich letzter Tag
              schedule('{"time":{"exactTime":true,"start":"00:01"},"period":{"months":1}}', function () {
                setState("javascript.0.VERBRAUCHSWERTE.005_VD_IMPULSE.VD_IMPULS_Monatszähler"/*VD_IMPULS_Monatszähler*/, (getState("hpcontrol.0.values.057").val - getState("javascript.0.VERBRAUCHSWERTE.005_VD_IMPULSE.VD_IMPULS_Monatsvariable").val), true);
              });
              schedule('{"time":{"exactTime":true,"start":"00:02"},"period":{"months":1}}', function () {
                setState("javascript.0.VERBRAUCHSWERTE.005_VD_IMPULSE.VD_IMPULS_Monatsvariable"/*VD_IMPULS_Monatsvariable*/, getState("hpcontrol.0.values.057").val, true);
              });
              // PV_Jahresertrag - jährlich letzter Monat
              schedule('{"time":{"exactTime":true,"start":"00:01"},"period":{"years":1,"yearDate":1,"yearMonth":1}}', function () {
                setState("javascript.0.VERBRAUCHSWERTE.005_VD_IMPULSE.VD_IMPULS_Jahreszähler"/*VD_IMPULS_Jahreszähler*/, (getState("hpcontrol.0.values.057").val - getState("javascript.0.VERBRAUCHSWERTE.005_VD_IMPULSE.VD_IMPULS_Jahresvariable").val), true);
              });
              schedule('{"time":{"exactTime":true,"start":"00:02"},"period":{"years":1,"yearDate":1,"yearMonth":1}}', function () {
                setState("javascript.0.VERBRAUCHSWERTE.005_VD_IMPULSE.VD_IMPULS_Jahresvariable"/*VD_IMPULS_Jahresvariable*/, getState("hpcontrol.0.values.057").val, true);
              });
              

              Bekomme ich folgende Fehlermeldung:

              3.3.2021, 08:54:37.026	[info ]: javascript.0 (19908) Stop script script.js.common.PV_ERZEUGUNG
              3.3.2021, 08:54:37.086	[info ]: javascript.0 (19908) Start javascript script.js.common.PV_ERZEUGUNG
              3.3.2021, 08:54:37.104	[error]: javascript.0 (19908) script.js.common.PV_ERZEUGUNG: /opt/iobroker/node_modules/iobroker.javascript/lib/scheduler.js:330
              3.3.2021, 08:54:37.105	[error]: javascript.0 (19908)     at script.js.common.PV_ERZEUGUNG:9:1
              

              In Zeile 9 ist aber nichts anders als in den vorherigen Zeilen!?

              Wo und nach was muss ich suchen?

              1 Antwort Letzte Antwort
              0
              • J Jan1

                @homoran
                Ok, so gesehen kommt das auf das Selbe raus wie ich es verstanden hatte, aber schön wenn mans dann doch genau weiß :)

                ub.privatU Offline
                ub.privatU Offline
                ub.privat
                schrieb am zuletzt editiert von
                #23

                @jan1

                Guten Morgen, ich muss nochmals um eure fachliche Hilfe bitten.
                Das mit "Blockly" wird so langsam. Die Logiken sind soweit verständlich, jedoch die Fehlermeldungen bereiten mir Kopfzerbrechen.

                Folgendes Script zeigt beim Speichern keinen Fehler:
                Es sollen die Tages-, Monats- und Jahreswerte ermittelt werden.

                / PV_Tagesertag - Tageswechsel
                schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"days":1}}', function () {
                  setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tageszähler"/*PV_Tageszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tagesvariable").val), true);
                });
                schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', function () {
                  setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tagesvariable"/*PV_Tagesvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                });
                // PV_Monatsertrag - monatlich letzter Tag
                schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"months":1},"valid":{"from":"05.03.2021","to":""}}', function () {
                  setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatszähler"/*PV_Monatszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatsvariable").val), true);
                });
                schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"months":1}}', function () {
                  setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatsvariable"/*PV_Monatsvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                });
                // PV_Jahresertrag - jährlich letzter Monat
                schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"years":1,"yearDate":31,"yearMonth":12}}', function () {
                  setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahreszähler"/*PV_Jahreszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahresvariable").val), true);
                });
                schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"years":1,"yearDate":1,"yearMonth":1}}', function () {
                  setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahresvariable"/*PV_Jahresvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                });
                

                Doch das Fehlerlog bringt folgende Meldung:

                javascript.0	2021-03-05 08:10:38.797	error	(2079) at Script.runInContext (vm.js:130:18)
                javascript.0	2021-03-05 08:10:38.797	error	(2079) at script.js.common.PV_ERZEUGUNG:9:1
                javascript.0	2021-03-05 08:10:38.796	error	(2079) at schedule (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1183:52)
                javascript.0	2021-03-05 08:10:38.796	error	(2079) at Scheduler.add (/opt/iobroker/node_modules/iobroker.javascript/lib/scheduler.js:330:51)
                javascript.0	2021-03-05 08:10:38.796	error	(2079) TypeError: sch.period.months.map is not a function
                javascript.0	2021-03-05 08:10:38.796	error	(2079) ^
                javascript.0	2021-03-05 08:10:38.796	error	(2079) sch.period.months = sch.period.months.map(m => m - 1);
                javascript.0	2021-03-05 08:10:38.795	error	(2079) script.js.common.PV_ERZEUGUNG: /opt/iobroker/node_modules/iobroker.javascript/lib/scheduler.js:330
                

                In Zeile 5 wird der Fehler ausgewiesen, doch was mache ich hier verkehrt?

                J HomoranH 2 Antworten Letzte Antwort
                0
                • ub.privatU ub.privat

                  @jan1

                  Guten Morgen, ich muss nochmals um eure fachliche Hilfe bitten.
                  Das mit "Blockly" wird so langsam. Die Logiken sind soweit verständlich, jedoch die Fehlermeldungen bereiten mir Kopfzerbrechen.

                  Folgendes Script zeigt beim Speichern keinen Fehler:
                  Es sollen die Tages-, Monats- und Jahreswerte ermittelt werden.

                  / PV_Tagesertag - Tageswechsel
                  schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"days":1}}', function () {
                    setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tageszähler"/*PV_Tageszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tagesvariable").val), true);
                  });
                  schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', function () {
                    setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tagesvariable"/*PV_Tagesvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                  });
                  // PV_Monatsertrag - monatlich letzter Tag
                  schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"months":1},"valid":{"from":"05.03.2021","to":""}}', function () {
                    setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatszähler"/*PV_Monatszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatsvariable").val), true);
                  });
                  schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"months":1}}', function () {
                    setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatsvariable"/*PV_Monatsvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                  });
                  // PV_Jahresertrag - jährlich letzter Monat
                  schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"years":1,"yearDate":31,"yearMonth":12}}', function () {
                    setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahreszähler"/*PV_Jahreszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahresvariable").val), true);
                  });
                  schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"years":1,"yearDate":1,"yearMonth":1}}', function () {
                    setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahresvariable"/*PV_Jahresvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                  });
                  

                  Doch das Fehlerlog bringt folgende Meldung:

                  javascript.0	2021-03-05 08:10:38.797	error	(2079) at Script.runInContext (vm.js:130:18)
                  javascript.0	2021-03-05 08:10:38.797	error	(2079) at script.js.common.PV_ERZEUGUNG:9:1
                  javascript.0	2021-03-05 08:10:38.796	error	(2079) at schedule (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1183:52)
                  javascript.0	2021-03-05 08:10:38.796	error	(2079) at Scheduler.add (/opt/iobroker/node_modules/iobroker.javascript/lib/scheduler.js:330:51)
                  javascript.0	2021-03-05 08:10:38.796	error	(2079) TypeError: sch.period.months.map is not a function
                  javascript.0	2021-03-05 08:10:38.796	error	(2079) ^
                  javascript.0	2021-03-05 08:10:38.796	error	(2079) sch.period.months = sch.period.months.map(m => m - 1);
                  javascript.0	2021-03-05 08:10:38.795	error	(2079) script.js.common.PV_ERZEUGUNG: /opt/iobroker/node_modules/iobroker.javascript/lib/scheduler.js:330
                  

                  In Zeile 5 wird der Fehler ausgewiesen, doch was mache ich hier verkehrt?

                  J Offline
                  J Offline
                  Jan1
                  schrieb am zuletzt editiert von
                  #24

                  @ub-privat
                  Poste mal den Blockly Export

                  ub.privatU 1 Antwort Letzte Antwort
                  0
                  • J Jan1

                    @ub-privat
                    Poste mal den Blockly Export

                    ub.privatU Offline
                    ub.privatU Offline
                    ub.privat
                    schrieb am zuletzt editiert von
                    #25

                    @jan1

                    Blockly:
                    065fe05d-ca56-456a-8b82-9411bbbf2fc0-grafik.png

                    Export:

                    // PV_Tagesertag - Tageswechsel
                    schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"days":1}}', function () {
                      setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tageszähler"/*PV_Tageszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tagesvariable").val), true);
                    });
                    schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', function () {
                      setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tagesvariable"/*PV_Tagesvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                    });
                    // PV_Monatsertrag - monatlich letzter Tag
                    schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"months":1},"valid":{"from":"05.03.2021","to":""}}', function () {
                      setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatszähler"/*PV_Monatszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatsvariable").val), true);
                    });
                    schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"months":1}}', function () {
                      setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatsvariable"/*PV_Monatsvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                    });
                    // PV_Jahresertrag - jährlich letzter Monat
                    schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"years":1,"yearDate":31,"yearMonth":12}}', function () {
                      setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahreszähler"/*PV_Jahreszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahresvariable").val), true);
                    });
                    schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"years":1,"yearDate":1,"yearMonth":1}}', function () {
                      setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahresvariable"/*PV_Jahresvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                    });
                    
                    
                    J 1 Antwort Letzte Antwort
                    0
                    • ub.privatU ub.privat

                      @jan1

                      Blockly:
                      065fe05d-ca56-456a-8b82-9411bbbf2fc0-grafik.png

                      Export:

                      // PV_Tagesertag - Tageswechsel
                      schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"days":1}}', function () {
                        setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tageszähler"/*PV_Tageszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tagesvariable").val), true);
                      });
                      schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', function () {
                        setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tagesvariable"/*PV_Tagesvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                      });
                      // PV_Monatsertrag - monatlich letzter Tag
                      schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"months":1},"valid":{"from":"05.03.2021","to":""}}', function () {
                        setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatszähler"/*PV_Monatszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatsvariable").val), true);
                      });
                      schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"months":1}}', function () {
                        setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatsvariable"/*PV_Monatsvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                      });
                      // PV_Jahresertrag - jährlich letzter Monat
                      schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"years":1,"yearDate":31,"yearMonth":12}}', function () {
                        setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahreszähler"/*PV_Jahreszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahresvariable").val), true);
                      });
                      schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"years":1,"yearDate":1,"yearMonth":1}}', function () {
                        setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahresvariable"/*PV_Jahresvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                      });
                      
                      
                      J Offline
                      J Offline
                      Jan1
                      schrieb am zuletzt editiert von
                      #26

                      @ub-privat
                      Ok, dann kann ich nur vermuten, dass sich die DPs im Format beißen. Schau mal in den DPs mit denen Du rechnest, ob auch wirklich alle als Zahl deklariert sind.
                      Dann verwende ich beim Triggee wesentlich lieber CRON als diesen Zeitplan. Da gabs auch schon Probleme.

                      1 Antwort Letzte Antwort
                      0
                      • ub.privatU ub.privat

                        @jan1

                        Guten Morgen, ich muss nochmals um eure fachliche Hilfe bitten.
                        Das mit "Blockly" wird so langsam. Die Logiken sind soweit verständlich, jedoch die Fehlermeldungen bereiten mir Kopfzerbrechen.

                        Folgendes Script zeigt beim Speichern keinen Fehler:
                        Es sollen die Tages-, Monats- und Jahreswerte ermittelt werden.

                        / PV_Tagesertag - Tageswechsel
                        schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"days":1}}', function () {
                          setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tageszähler"/*PV_Tageszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tagesvariable").val), true);
                        });
                        schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', function () {
                          setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Tagesvariable"/*PV_Tagesvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                        });
                        // PV_Monatsertrag - monatlich letzter Tag
                        schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"months":1},"valid":{"from":"05.03.2021","to":""}}', function () {
                          setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatszähler"/*PV_Monatszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatsvariable").val), true);
                        });
                        schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"months":1}}', function () {
                          setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Monatsvariable"/*PV_Monatsvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                        });
                        // PV_Jahresertrag - jährlich letzter Monat
                        schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"years":1,"yearDate":31,"yearMonth":12}}', function () {
                          setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahreszähler"/*PV_Jahreszähler*/, (getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val - getState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahresvariable").val), true);
                        });
                        schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"years":1,"yearDate":1,"yearMonth":1}}', function () {
                          setState("javascript.0.VERBRAUCHSWERTE.004_PV_ERZEUGUNG.PV_Jahresvariable"/*PV_Jahresvariable*/, getState("modbus.0.inputRegisters.3.30537_Tagesertrag_kWh").val, true);
                        });
                        

                        Doch das Fehlerlog bringt folgende Meldung:

                        javascript.0	2021-03-05 08:10:38.797	error	(2079) at Script.runInContext (vm.js:130:18)
                        javascript.0	2021-03-05 08:10:38.797	error	(2079) at script.js.common.PV_ERZEUGUNG:9:1
                        javascript.0	2021-03-05 08:10:38.796	error	(2079) at schedule (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1183:52)
                        javascript.0	2021-03-05 08:10:38.796	error	(2079) at Scheduler.add (/opt/iobroker/node_modules/iobroker.javascript/lib/scheduler.js:330:51)
                        javascript.0	2021-03-05 08:10:38.796	error	(2079) TypeError: sch.period.months.map is not a function
                        javascript.0	2021-03-05 08:10:38.796	error	(2079) ^
                        javascript.0	2021-03-05 08:10:38.796	error	(2079) sch.period.months = sch.period.months.map(m => m - 1);
                        javascript.0	2021-03-05 08:10:38.795	error	(2079) script.js.common.PV_ERZEUGUNG: /opt/iobroker/node_modules/iobroker.javascript/lib/scheduler.js:330
                        

                        In Zeile 5 wird der Fehler ausgewiesen, doch was mache ich hier verkehrt?

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #27

                        @ub-privat sagte in Erstes Blockly und ich bin am scheitern!?:

                        was mache ich hier verkehrt?

                        @ub-privat sagte in Erstes Blockly und ich bin am scheitern!?:

                        sch.period.months = sch.period.months.map(m => m - 1)

                        was bitte ist sch.period.months?

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        1 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        526

                        Online

                        32.7k

                        Benutzer

                        82.4k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe