Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst]-DutyCycle - Telegram Meldung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst]-DutyCycle - Telegram Meldung

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 last edited by

      @dslraser:

      was ist in meinem Script falsch ? `
      Es wird auf change: "any" getriggert, also bei jeder Aktualisierung des Zeitstempels und nicht nur bei Wertänderung.

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        Besser so:

        on({id: 'javascript.0.DutyCycle.DutyCycle', change: 'ne'}, function (obj) {
           var value = obj.state.val;
           var oldValue = obj.oldState.val;
           if(value) {
              sendTo("telegram", "send", {
                 text: (['Achtung: ','DutyCycle ist: ',getState("hm-rega.0.6172").val,'%'].join(''))
              });
           } else {
              sendTo("telegram", "send", {
                 text: (['DutyCycle ','ist wieder unter 60%, ','aktuell sind es: ',getState("hm-rega.0.6172").val,'%'].join(''))
              });
           }
        });
        
        1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators last edited by

          Ich habe ja wirklich fast keine Ahnung, aber
          @paul53:

          Es wird auf change: "any" getriggert `
          Da traue ich mich sogar Paul zu widersprechen.

          Da steht bei dsl-raser nämlich:
          @dslraser:

          on({id: 'hm-rega.0.6172', change: "ne"}, function (obj) { `
          und selbst für mich als js-Legastheniker heisst das not equal

          sind das vielleicht die Hochkommas schuld

          Gruß

          rainer

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            Die Aussage betrifft das Triggern auf den Datenpunkt 'javascript.0.DutyCycle.DutyCycle'.

            1 Reply Last reply Reply Quote 0
            • dslraser
              dslraser Forum Testing Most Active last edited by

              Danke, ich habe es jetzt so, scheint zu funktionieren. (verstanden habe ich es aber leider nicht :shock: )

              ! ````
              createState("DutyCycle.DutyCycle", {
              name: 'DutyCycle',
              role: 'switch',
              type: 'boolean',
              desc: 'DutyCycle über 60%',
              read: true,
              write: true,
              def: false,
              ! });
              ! on({id: 'hm-rega.0.6172', change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              if (getState("hm-rega.0.6172").val >= 60) {
              setState("javascript.0.DutyCycle.DutyCycle"/DutyCycle/, true);
              } else if (getState("hm-rega.0.6172").val < 60) {
              setState("javascript.0.DutyCycle.DutyCycle"/DutyCycle/, false);
              }
              });
              on({id: 'javascript.0.DutyCycle.DutyCycle', change: 'ne'}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              if(value) {
              sendTo("telegram", "send", {
              text: (['Achtung: ','DutyCycle ist: ',getState("hm-rega.0.6172").val,'%'].join(''))
              });
              } else {
              sendTo("telegram", "send", {
              text: (['DutyCycle ','ist wieder unter 60%, ','aktuell sind es: ',getState("hm-rega.0.6172").val,'%'].join(''))
              });
              }
              });

              1 Reply Last reply Reply Quote 0
              • ruhr70
                ruhr70 last edited by

                @paul53:

                @dslraser:

                was ist in meinem Script falsch ? Es wird auf change: "any" getriggert, also bei jeder Aktualisierung des Zeitstempels und nicht nur bei Wertänderung.

                Change nicht angegeben oder übersehe ich das?

                Wenn nicht definiert ist default "ne"

                > not equal) New value must be not equal to the old one (state.val != oldState.val) If pattern is id-string this value is used by default

                1 Reply Last reply Reply Quote 0
                • ruhr70
                  ruhr70 last edited by

                  Aber eine andere Frage…

                  Nutzt ihr alle hm oder tcl Skripte für den Duty Cycle?

                  (hm-rega.0.6172 al Variable für ein Skript?).

                  Mittlerweile kann man doch DC über hm-rega direkt synchronisieren.

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 last edited by

                    @dslraser:

                    verstanden habe ich es aber leider nicht `
                    Die https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#on–-subscribe-on-changes-or-updates-of-some-state kennst Du ?

                    1 Reply Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active last edited by

                      @paul53:

                      @dslraser:

                      verstanden habe ich es aber leider nicht Die [https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#on–-subscribe-on-changes-or-updates-of-some-state](https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#on–-subscribe-on-changes-or-updates-of-some-state) kennst Du ? jetzt ja.[emoji3]

                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 last edited by

                        @ruhr70:

                        Change nicht angegeben oder übersehe ich das?

                        Wenn nicht definiert ist default "ne" `
                        @Doku:

                        Please note, that by default "change" is equal to "any", except when only id as string is set (like on("id", function (){});). In last case change will be set to "ne". `

                        const idXy = '...';
                        on(idXy, callback); // Triggert bei Wertänderung
                        on({id: idXy}, callback); // Triggert bei Aktualisierung des Zeitstempels
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • ruhr70
                          ruhr70 last edited by

                          @paul53:

                          @ruhr70:

                          Change nicht angegeben oder übersehe ich das?

                          Wenn nicht definiert ist default "ne" `
                          @Doku:

                          Please note, that by default "change" is equal to "any", except when only id as string is set (like on("id", function (){});). In last case change will be set to "ne". `

                          const idXy = '...';
                          on(idXy, callback); // Triggert bei Wertänderung
                          on({id: idXy}, callback); // Triggert bei Aktualisierung des Zeitstempels
                          
                          ```` `  
                          

                          OK. Stimmt 🙂

                          Böse Falle. 🙂

                          1 Reply Last reply Reply Quote 0
                          • Mic
                            Mic Developer last edited by

                            Ich bin noch ein Newbie hier aber hab einige Jahre auf dem Buckel mit anderen Skriptsprachen etc. auch in der Entwicklung in Teams.

                            Nichtsdestotrotz praktiziere hier noch ein "Trial & Error", macht einfach mega Spaß mit ioBroker und Heim-Automatisierung. 😄

                            Aus Gründen der Lesbarkeit des Quellcodes empfehle ich aber im Zweifel immer, Default-Werte entweder im Quelltext-Kommentar zu erwähnen oder dennoch mit an die Prozedur zu übergeben. Natürlich macht man das nicht bei Alltags-Funktionen und ich halte mich selbst leider auch nicht immer dran…

                            1 Reply Last reply Reply Quote 0
                            • S
                              Solear last edited by

                              Wie kriege ich denn den DutyCycle in hm-rega.0.6172 angezeigt?

                              Also der Datenpunkt existiert bei mir nicht…

                              edit: hat sich erledigt, in den Adaptereinstellungen aktivieren :lol:

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              927
                              Online

                              31.9k
                              Users

                              80.2k
                              Topics

                              1.3m
                              Posts

                              6
                              14
                              1074
                              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