Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Betriebsstundenzähler funktioniert nicht

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Betriebsstundenzähler funktioniert nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @G.Hawk last edited by

      @Martin-0 sagte in Betriebsstundenzähler funktioniert nicht:

      Was ist ein Stop Baustein

      stop Timeout-Baustein ist unter Timeouts da wo du auch den Timeout Baustein her hast.

      @Martin-0 sagte in Betriebsstundenzähler funktioniert nicht:

      wofür brauche ich ihn.

      zum stoppen eines laufenden Timeouts, bevor der selbe Timeout nochmal gestaret werden sollte

      @Homoran sagte in Betriebsstundenzähler funktioniert nicht:

      Wenn dann der Trigger innerhalb eines laufenden Timeouts nochmal triggert gibt es Probleme

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @G.Hawk last edited by

        @Martin-0
        Sollte die Betriebsdauer nicht kumulativ erfasst werden ?
        Wozu sind die Timeouts gut ?
        Vorschlag:

        Blockly_temp.JPG

        G 2 Replies Last reply Reply Quote 0
        • G
          G.Hawk @paul53 last edited by

          @paul53
          Ich dachte man macht das mit den Timeouts so.
          Wie kann ich denn sehen, ob etwas in die Variablen geschrieben wird?

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @G.Hawk last edited by

            @Martin-0 sagte:

            Wie kann ich denn sehen, ob etwas in die Variablen geschrieben wird?

            Nach dem Ausschalten des Bewässerungs-Aktors im Tab "Objekte" schauen, ob der zugewiesene Betriebsminuten-Datenpunkt mit einem neuen Wert aktualisiert wurde.

            G 1 Reply Last reply Reply Quote 0
            • G
              G.Hawk @paul53 last edited by

              @paul53
              Ich sehe da tatsächlich keinen Betriebsdatenpunkt. Ich gehe ja mal davon aus dass das irgendein Datum mit Zeit sein muss.

              Homoran paul53 2 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @G.Hawk last edited by

                @Martin-0 sagte in Betriebsstundenzähler funktioniert nicht:

                Ich sehe da tatsächlich keinen Betriebsdatenpunkt. Ich

                hattest du keinen anhgelegt?
                Und diesen in Pauls skriptvanstelle "Object id" eingefügt

                G 1 Reply Last reply Reply Quote 0
                • G
                  G.Hawk @Homoran last edited by G.Hawk

                  @Homoran
                  Doch den sehe ich ja. Deswegen weiß ich ja dass es nicht funktioniert. Nur woher kommen die Daten die in die Systemvariable geschrieben werden. Ich würde die Variable gerne mal sehen was da drinne steht.

                  Ich habe direkt bei dem Gerät geguckt ob da irgendwelche Daten drinne stehen . Und da steht nichts mit Datum oder Uhrzeit

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @G.Hawk last edited by paul53

                    @Martin-0 sagte:

                    Ich gehe ja mal davon aus dass das irgendein Datum mit Zeit sein muss

                    Nein, das ist eine reine Zahl: Minuten Betriebszeit kumulativ (so wie ich die Script-Variable benannt habe).

                    @Martin-0 sagte in Betriebsstundenzähler funktioniert nicht:

                    Nur woher kommen die Daten die in die Systemvariable geschrieben werden. Ich würde die Variable gerne mal sehen was da drinne steht.

                    Du bringst einige Begriffe durcheinander: Variablen sind Script interne Zwischenwerte, die man nicht sieht. Systemvariablen sind virtuelle Datenpunkte einer HomeMatic CCU. Die Betriebsminuten sollen in einen eigenen Datenpunkt geschrieben werden, dessen Wert man im Tab "Objekte" sehen kann.

                    @Martin-0 sagte in Betriebsstundenzähler funktioniert nicht:

                    Ich habe direkt bei dem Gerät geguckt ob da irgendwelche Daten drinne stehen .

                    Welches Gerät ?

                    G 1 Reply Last reply Reply Quote 0
                    • G
                      G.Hawk @paul53 last edited by

                      @paul53
                      Ich frage mich wo der die Daten her nimmt um diese Betriebszeit zu berechnen.
                      Ich habe einen eigenen Datenpunkt angelegt der ja auch schon beschrieben wurde aber auf einmal wird er nicht mehr beschrieben.

                      Mit dem Gerät meine ich den Schaltaktor.
                      Irgendwo muss doch gespeichert werden wann der das letzte Mal an war.
                      Sonst könnte das Script ja nichts berechnen.

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @G.Hawk last edited by paul53

                        @Martin-0 sagte:

                        Ich frage mich wo der die Daten her nimmt um diese Betriebszeit zu berechnen.

                        "letzte Änderung" (state.lc) ist eine Eigenschaft des Zustands eines jeden Datenpunktes.

                        @Martin-0 sagte in Betriebsstundenzähler funktioniert nicht:

                        Mit dem Gerät meine ich den Schaltaktor. Irgendwo muss doch gespeichert werden wann der das letzte Mal an war.

                        Wechsle im Tab "Objekte" mal in die Statusansicht, dann siehst Du den Zeitpunkt des letzten Schaltens des Aktors.

                        G 1 Reply Last reply Reply Quote 0
                        • G
                          G.Hawk @paul53 last edited by

                          @paul53
                          Screenshot_20200831-223335_Chrome.jpg

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @G.Hawk last edited by

                            @Martin-0
                            Objekte_Status.JPG

                            G 1 Reply Last reply Reply Quote 0
                            • G
                              G.Hawk @paul53 last edited by

                              @paul53
                              Wie wechselt man denn zu der Anzeige?

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @G.Hawk last edited by

                                @Martin-0 sagte:

                                Wie wechselt man denn zu der Anzeige?

                                Oben, fünftes Symbol von links.

                                G 1 Reply Last reply Reply Quote 0
                                • G
                                  G.Hawk @paul53 last edited by

                                  @paul53
                                  Da sind überall Daten drin
                                  Sonst lösche ich das Skript und schreib es noch mal

                                  paul53 1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @G.Hawk last edited by paul53

                                    @Martin-0 sagte:

                                    Sonst lösche ich das Skript und schreib es noch mal

                                    Poste vorher mal den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

                                    G 1 Reply Last reply Reply Quote 0
                                    • G
                                      G.Hawk @paul53 last edited by

                                      @paul53
                                      Was ist die letzte Zeile?

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @G.Hawk last edited by paul53

                                        @Martin-0 sagte:

                                        Was ist die letzte Zeile?

                                        Wenn du in die Javascript-Ansicht wechselst, siehst Du unten eine ewig lange Zeile mit XML-Code. Die Zeile lass bitte weg.

                                        G 2 Replies Last reply Reply Quote 0
                                        • G
                                          G.Hawk @paul53 last edited by

                                          @paul53 ```
                                          code_text

                                          
                                          
                                          on({id: 'hm-rpc.0.JEQ0063840.1.STATE', change: "lt", ack: false}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            timeout4 = setTimeout(function () {
                                              Einschaltdauer_S_C3_BCd = ((obj.state ? obj.state.lc : "") - (obj.oldState ? obj.oldState.lc : "")) / 60000;
                                              setState("javascript.0.Bewaesserung.Betriebsstundenzähler_Süd"/*Betriebsstundenzähler Süd*/, Einschaltdauer_S_C3_BCd);
                                              timeout = setTimeout(function () {
                                                setState("javascript.0.Bewaesserung.Betriebsstundenzähler_Süd"/*Betriebsstundenzähler Süd*/, Math.round(getState("javascript.0.Bewaesserung.Betriebsstundenzähler_Süd").val*10)/10);
                                              }, 10000);
                                            }, 5000);
                                          });
                                          
                                          on({id: "hm-rpc.0.JEQ0063840.2.STATE"/*Bewässerung West.STATE*/, change: "lt", ack: false}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            Einschaltdauer_West = ((obj.state ? obj.state.lc : "") - (obj.oldState ? obj.oldState.lc : "")) / 60000;
                                            setState("hm-rpc.0.JEQ0063840.2.STATE"/*Bewässerung West.STATE*/, Einschaltdauer_West, true);
                                          });
                                          
                                          on({id: "hm-rpc.0.JEQ0063840.3.STATE"/*Bewässerung Nord.STATE*/, val: false, ack: false}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            timeout6 = setTimeout(function () {
                                              Einschaltdauer_Nord = ((obj.state ? obj.state.lc : "") - (obj.oldState ? obj.oldState.lc : "")) / 60000;
                                              setState("javascript.0.Bewaesserung.Betreibstundenzähler_Nord"/*Betreibstundenzähler Nord*/, Einschaltdauer_Nord);
                                              timeout3 = setTimeout(function () {
                                                setState("javascript.0.Bewaesserung.Betreibstundenzähler_Nord"/*Betreibstundenzähler Nord*/, Math.round(getState("javascript.0.Bewaesserung.Betreibstundenzähler_Nord").val*10)/10);
                                              }, 10000);
                                            }, 5000);
                                          });
                                          1 Reply Last reply Reply Quote 0
                                          • G
                                            G.Hawk @paul53 last edited by

                                            @paul53

                                            var timeout2, timeout4, Einschaltdauer_West, timeout6, Einschaltdauer_S_C3_BCd, Einschaltdauer_Nord, timeout, timeout3;
                                            
                                            
                                            on({id: 'hm-rpc.0.JEQ0063840.1.STATE', change: "lt", ack: false}, function (obj) {
                                              var value = obj.state.val;
                                              var oldValue = obj.oldState.val;
                                              timeout4 = setTimeout(function () {
                                                Einschaltdauer_S_C3_BCd = ((obj.state ? obj.state.lc : "") - (obj.oldState ? obj.oldState.lc : "")) / 60000;
                                                setState("javascript.0.Bewaesserung.Betriebsstundenzähler_Süd"/*Betriebsstundenzähler Süd*/, Einschaltdauer_S_C3_BCd);
                                                timeout = setTimeout(function () {
                                                  setState("javascript.0.Bewaesserung.Betriebsstundenzähler_Süd"/*Betriebsstundenzähler Süd*/, Math.round(getState("javascript.0.Bewaesserung.Betriebsstundenzähler_Süd").val*10)/10);
                                                }, 10000);
                                              }, 5000);
                                            });
                                            
                                            on({id: "hm-rpc.0.JEQ0063840.2.STATE"/*Bewässerung West.STATE*/, change: "lt", ack: false}, function (obj) {
                                              var value = obj.state.val;
                                              var oldValue = obj.oldState.val;
                                              Einschaltdauer_West = ((obj.state ? obj.state.lc : "") - (obj.oldState ? obj.oldState.lc : "")) / 60000;
                                              setState("hm-rpc.0.JEQ0063840.2.STATE"/*Bewässerung West.STATE*/, Einschaltdauer_West, true);
                                            });
                                            
                                            on({id: "hm-rpc.0.JEQ0063840.3.STATE"/*Bewässerung Nord.STATE*/, val: false, ack: false}, function (obj) {
                                              var value = obj.state.val;
                                              var oldValue = obj.oldState.val;
                                              timeout6 = setTimeout(function () {
                                                Einschaltdauer_Nord = ((obj.state ? obj.state.lc : "") - (obj.oldState ? obj.oldState.lc : "")) / 60000;
                                                setState("javascript.0.Bewaesserung.Betreibstundenzähler_Nord"/*Betreibstundenzähler Nord*/, Einschaltdauer_Nord);
                                                timeout3 = setTimeout(function () {
                                                  setState("javascript.0.Bewaesserung.Betreibstundenzähler_Nord"/*Betreibstundenzähler Nord*/, Math.round(getState("javascript.0.Bewaesserung.Betreibstundenzähler_Nord").val*10)/10);
                                                }, 10000);
                                              }, 5000);
                                            });
                                            
                                            
                                            G 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            880
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            4
                                            30
                                            1649
                                            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