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

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

      wo muss ich den Fehler suchen!?

      rechts oben die Ansicht von Blockly in javascript umstellen (nicht die Konvertierung!) und an den angegebenen Stellen suchen:

      • PV_GESAMTVERBRAUCH:7:1 Zeile 7, Position 1
      • PV_GESAMTVERBRAUCH:18:1 Zeile 18, Position 1

      Im zweiten Blockly steht in steuere keine ID

      ub.privat 1 Reply Last reply Reply Quote 0
      • 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

                                        890
                                        Online

                                        32.0k
                                        Users

                                        80.5k
                                        Topics

                                        1.3m
                                        Posts

                                        4
                                        27
                                        1545
                                        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