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

      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

                            570
                            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