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
      Nein, sonst wird jede Sekunde berechnet. Nimm einfach einen der Werte der sich ändert, so hast eine neue Berechnung sobald sich dieser ändert.

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

        @ub-privat ich würde Dir empfehlen, Dich erst einmal mit den Grundlagen von Blockly zu beschäftigen (z.B. in der Doku), denn auf den ersten Blick sehe ich 1 grundlegenden Fehler:

        • Jedes Script muss einen Trigger beinhalten, der seine Ausführung bewirkt. Das kann entweder die Änderung/Aktualisierung eines oder mehrerer Datenpunkte sein oder ein zyklische Ausführung (jeden Tag, alle x Minuten etc)

        Gruß

        Thomas

        J ub.privat 2 Replies Last reply Reply Quote 0
        • J
          Jan1 @Ahnungsbefreit last edited by

          @ahnungsbefreit
          Falsch, genau da sollen sie rein. Du meist global. Steht aber auch in der Doku.

          A 1 Reply Last reply Reply Quote 0
          • A
            Ahnungsbefreit @Jan1 last edited by

            @jan1 Jep, korrigiert!

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

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

                @ahnungsbefreit
                @Jan1

                Ihr habt sicherlich Recht, dass die Anleitung zu studieren hilfreich ist. Doch nach langem Lesen wird man scheinbar blind und versteht noch weniger.
                Das mit dem Trigger ist einleuchtend.

                625f858b-9fce-4eee-83aa-6adaacabb3f7-grafik.png

                Sobald sich der Wert ändert, sollen die Rechenoperationen ausgeführt werden.

                Sieht für mich schlüssig aus!

                Doch der Fehlerlog besagt etwas anderes!

                1.3.2021, 13:09:08.305	[info ]: javascript.0 (16117) Stop script script.js.common.PV_GESAMTVERBRAUCH
                1.3.2021, 13:09:08.367	[info ]: javascript.0 (16117) Start javascript script.js.common.PV_GESAMTVERBRAUCH
                1.3.2021, 13:09:08.384	[warn ]: javascript.0 (16117)     at script.js.common.PV_GESAMTVERBRAUCH:7:1
                1.3.2021, 13:09:08.386	[error]: javascript.0 (16117) script.js.common.PV_GESAMTVERBRAUCH: /opt/iobroker/node_modules/iobroker.javascript/lib/scheduler.js:330
                1.3.2021, 13:09:08.387	[error]: javascript.0 (16117)     at script.js.common.PV_GESAMTVERBRAUCH:18:1
                

                ... und das verstehe ich nicht - wo muss ich den Fehler suchen!?

                Homoran J 2 Replies 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!?:

                  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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            879
                                            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