Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Erstes Blockly und ich bin am scheitern!?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Erstes Blockly und ich bin am scheitern!?

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      Jan1 @ub.privat last edited by

      @ub-privat
      und wenn zwei mal mit dem selben DP getriggert werden soll, kannst auch ein einzigen trigger nehmen, dann auf wurde geändert, könnte auch besser sein.

      ub.privat 1 Reply Last reply Reply Quote 0
      • ub.privat
        ub.privat @Homoran last edited by

        @homoran

        Vielen Dank für die guten Hinweise:
        6fdccf93-a2e8-47f3-a66f-0160d7f9e121-grafik.png
        Wenn ich entsprechend umstelle:

        // Berechnung Gesamtverbrauch - Überschuss
        on({id: "sma-speedwire.0.SPOT_PACTOT"/*SPOT_PACTOT*/, change: "any"}, function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          setState("javascript.0.PV_GESAMTVERBRAUCH.PV_UEBERSCHUSS"/*PV_UEBERSCHUSS*/, (getState("sma-speedwire.0.SPOT_PACTOT").val - getState("sma-em.0.3006123832.psurplus").val * 0.001));
        });
        // Berechnung Gesamtverbrauch - Bezug
        on({id: "sma-speedwire.0.SPOT_PACTOT"/*SPOT_PACTOT*/, change: "any"}, function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          setState("javascript.0.PV_GESAMTVERBRAUCH.PV_BEZUG"/*PV_BEZUG*/, (getState("sma-speedwire.0.SPOT_PACTOT").val + getState("sma-em.0.3006123832.pregard").val * 0.001));
        });
        

        wede ich nicht wirklich schlauer. Die Datenpunkte habe ich überprüft.
        Übersehe ich noch etwas?

        1 Reply Last reply Reply Quote 0
        • ub.privat
          ub.privat @Jan1 last edited by

          @jan1

          Du meinst so!?
          c815f6be-e405-4c32-b367-bee814d9ef65-grafik.png

          Aber das Fehlerlog wird nicht besser...

          1.3.2021, 13:27:20.952	[info ]: javascript.0 (16117) Stop script script.js.common.PV_GESAMTVERBRAUCH
          1.3.2021, 13:27:20.969	[info ]: javascript.0 (16117) Start javascript script.js.common.PV_GESAMTVERBRAUCH
          1.3.2021, 13:27:20.980	[warn ]: javascript.0 (16117)     at script.js.common.PV_GESAMTVERBRAUCH:7:1
          1.3.2021, 13:27:20.983	[error]: javascript.0 (16117) script.js.common.PV_GESAMTVERBRAUCH: /opt/iobroker/node_modules/iobroker.javascript/lib/scheduler.js:330
          1.3.2021, 13:27:20.985	[error]: javascript.0 (16117)     at script.js.common.PV_GESAMTVERBRAUCH:18:1
          
          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @ub.privat last edited by

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

            script.js.common.PV_GESAMTVERBRAUCH:

            ist das überhaupt das gepostete Script?
            Stimmen die Zeilennummern im Code?
            In Zeile 7 ist der Kommentar, und Zeile 18 gibt es gar nicht

            Starte mal die Instanz neu

            ub.privat 1 Reply Last reply Reply Quote 0
            • ub.privat
              ub.privat @Homoran last edited by

              @homoran

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

              // Berechnung Gesamtverbrauch
              on({id: "sma-speedwire.0.SPOT_PACTOT"/*SPOT_PACTOT*/, change: "any"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                // Berechnung - Überschuss
                setState("javascript.0.PV_GESAMTVERBRAUCH.PV_UEBERSCHUSS"/*PV_UEBERSCHUSS*/, (getState("sma-speedwire.0.SPOT_PACTOT").val - getState("sma-em.0.3006123832.psurplus").val * 0.001));
                // Berechnung - Bezug
                setState("javascript.0.PV_GESAMTVERBRAUCH.PV_BEZUG"/*PV_BEZUG*/, (getState("sma-speedwire.0.SPOT_PACTOT").val + getState("sma-em.0.3006123832.pregard").val * 0.001));
              });
              
              //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJBJTQwMldoJTIzU2lObVh4dENEJTIzcENTMiUyMiUyMHglM0QlMjIxODglMjIlMjB5JTNEJTIyMjEzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRUJlcmVjaG51bmclMjBHZXNhbXR2ZXJicmF1Y2glM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbiUyMiUyMGlkJTNEJTIyUSU3QyU2MG53UHBDVCUyNVJCfjk3VmglMjQlM0Z6JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFc21hLXNwZWVkd2lyZS4wLlNQT1RfUEFDVE9UJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VhbnklM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJjNXhITSUzQi1IKV9NcyUzQmZ+cnF3MyU0MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VCZXJlY2hudW5nJTIwLSUyMCVDMyU5Q2JlcnNjaHVzcyUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMiUyQiUyNXQpSSU2MGlXdXZFRHd0RWp0SlJYJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLlBWX0dFU0FNVFZFUkJSQVVDSC5QVl9VRUJFUlNDSFVTUyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfYXJpdGhtZXRpYyUyMiUyMGlkJTNEJTIyJTdEVSlHZiUyQiUyRkY0TXQ2JTdCVHdabiUyM0NLJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VNSU5VUyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyKWIlMkJRTCU0MDYwZGhvZmsweVh6JTNBRzYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMk0zJTIzcjVaRCU1RFQlMjNlTy0tJTI1LTQuMnMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VzbWEtc3BlZWR3aXJlLjAuU1BPVF9QQUNUT1QlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjI1ZjElN0RSbG9zUm5PeF9ZKExRTiglM0QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMjVJJTdDa2h0ZEcqMFp2dFQlNDAlNUIwTG1oJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VNVUxUSVBMWSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTNBS2QlN0MlM0FVJTI0JTNCR2paJTNEZ0lHTFNKYnglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMlAlMkJLZ196SWlhJTI0QSglMkYlN0Rfc05YaiUyRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNtYS1lbS4wLjMwMDYxMjM4MzIucHN1cnBsdXMlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJKbHNINHh5YSU1REtrYWZEQzhTcVUlN0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwLjAwMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIlNUQ5OCUzQU1CQnpzJTYwMSU1RWhBc3BVY2txJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRUJlcmVjaG51bmclMjAtJTIwQmV6dWclM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJ4JTNGJTdEJTdDJTNEJTYwMHc0JTNBUHc5b29WQmYlN0RLJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLlBWX0dFU0FNVFZFUkJSQVVDSC5QVl9CRVpVRyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfYXJpdGhtZXRpYyUyMiUyMGlkJTNEJTIybzBfMyUzQVNnaWRhbXJOZCU2MFhaWUhwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VBREQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMjdqJTVCdTElNURSTlpRMi5mcG4tMXNvNSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyam13ekFPc1NqVSU0MHMpcyUyRkxVYmVkJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFc21hLXNwZWVkd2lyZS4wLlNQT1RfUEFDVE9UJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyMmslMjRWJTVCdXhZJTI1akslM0YlMkIlMkMlMjVSJTNBWlglNjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMmFkRUxsVyU1RC1TJTQwJTVEcCU1QldPZ0clNUV+KCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTVVMVElQTFklM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMjclNjB1X19BJTdCdUglNUUpNDNlNWIlMjUlMjNOdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyUVZqUGV0bmN+QSpUJTQwfm9MWiU3Q2UwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFc21hLWVtLjAuMzAwNjEyMzgzMi5wcmVnYXJkJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIySms3TW8lNUUzWktVQk4lNjBzKiUyM21XU3ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwLjAwMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=
              

              98689767-2fd8-4f87-817c-9cd2395b0ca9-grafik.png

              Logeintrag:

              1.3.2021, 13:31:46.861	[info ]: javascript.0 (18061) Stop script script.js.common.PV_GESAMTVERBRAUCH
              1.3.2021, 13:31:46.869	[info ]: javascript.0 (18061) Start javascript script.js.common.PV_GESAMTVERBRAUCH
              1.3.2021, 13:31:46.873	[info ]: javascript.0 (18061) script.js.common.PV_GESAMTVERBRAUCH: registered 1 subscription and 0 schedules
              

              Änderung der Datenpunkte erfolgt:
              9c70f365-e412-425a-8d73-c6a6a2c16244-grafik.png

              Es funktioniert!!!

              Ich danke euch!!!

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @ub.privat last edited by 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.privat J 2 Replies Last reply Reply Quote 1
                • A
                  Ahnungsbefreit @Jan1 last edited by

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

                  1 Reply Last reply Reply Quote 0
                  • ub.privat
                    ub.privat @Homoran last edited by

                    @homoran

                    Die Punkte sind selbst erstellt, werde das ändern:

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

                    1 Reply Last reply Reply Quote 0
                    • J
                      Jan1 @Homoran last edited by

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

                      Homoran 1 Reply Last reply Reply Quote 1
                      • Homoran
                        Homoran Global Moderator Administrators @Jan1 last edited by

                        @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 ub.privat 2 Replies Last reply Reply Quote 0
                        • J
                          Jan1 @Homoran last edited by

                          @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.privat 1 Reply Last reply Reply Quote 0
                          • ub.privat
                            ub.privat @Homoran last edited by

                            @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 Reply Last reply Reply Quote 0
                            • ub.privat
                              ub.privat @Jan1 last edited by

                              @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 Homoran 2 Replies Last reply Reply Quote 0
                              • J
                                Jan1 @ub.privat last edited by

                                @ub-privat
                                Poste mal den Blockly Export

                                ub.privat 1 Reply Last reply Reply Quote 0
                                • ub.privat
                                  ub.privat @Jan1 last edited by

                                  @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 Reply Last reply Reply Quote 0
                                  • J
                                    Jan1 @ub.privat last edited by

                                    @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 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @ub.privat last edited by

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

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      906
                                      Online

                                      32.0k
                                      Users

                                      80.5k
                                      Topics

                                      1.3m
                                      Posts

                                      4
                                      27
                                      1537
                                      Loading More Posts
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                      The ioBroker Community 2014-2023
                                      logo