Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst]-DutyCycle - Telegram Meldung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    998

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

[gelöst]-DutyCycle - Telegram Meldung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
14 Beiträge 6 Kommentatoren 1.2k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #1

    Da ich gerade mit einem MP3-Funk Gong rumgespielt habe dachte ich das der nicht richtig funktioniert, dabei war nur "DutyCycle" erreicht.

    Ich möchte mich in Zukunft über Telegram informieren lassen wenn z. B. der DutyCycle Wert über 60% steigt. (welcher Wert da sinnvoll ist weiss ich noch nicht ? )

    Dazu habe ich mir folgendes Script erstellt:

    ! 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', val: true}, function (obj) {
    ! var value = obj.state.val;
    ! var oldValue = obj.oldState.val;
    ! sendTo("telegram", "send", {
    ! text: (['Achtung: ','DutyCycle ist: ',getState("hm-rega.0.6172").val,'%'].join(''))
    ! });
    ! });
    ! on({id: 'javascript.0.DutyCycle.DutyCycle', val: false}, function (obj) {
    ! var value = obj.state.val;
    ! var oldValue = obj.oldState.val;
    ! sendTo("telegram", "send", {
    ! text: (['DutyCycle ','ist wieder unter 60%, ','aktuell sind es: ',getState("hm-rega.0.6172").val,'%'].join(''))
    ! });
    ! });

    Jetzt bekomme ich aber nicht nur beim überschreiten der 60% eine Meldung, sondern immer wenn der Wert von der CCU geändert wird. Eigentlich habe ich mir dafür den Datenpunkt mit true und false angelegt. Wenn der Wert >= 60% ist wird auf true eingestellt und anders herum. Nur dann möchte ich eine Meldung haben, was ist in meinem Script falsch ?

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @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.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #3

        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(''))
              });
           }
        });
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #4

          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

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

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

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Antwort Letzte Antwort
            0
            • dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #6

              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 Antwort Letzte Antwort
              0
              • ruhr70R Offline
                ruhr70R Offline
                ruhr70
                schrieb am zuletzt editiert von
                #7

                @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

                Adapter: Fritzbox, Unify Circuit
                Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                1 Antwort Letzte Antwort
                0
                • ruhr70R Offline
                  ruhr70R Offline
                  ruhr70
                  schrieb am zuletzt editiert von
                  #8

                  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.

                  Adapter: Fritzbox, Unify Circuit
                  Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                  1 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    @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 ?

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • dslraserD Offline
                      dslraserD Offline
                      dslraser
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #10

                      @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 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #11

                        @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
                        
                        

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        0
                        • ruhr70R Offline
                          ruhr70R Offline
                          ruhr70
                          schrieb am zuletzt editiert von
                          #12

                          @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. :-)

                          Adapter: Fritzbox, Unify Circuit
                          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                          1 Antwort Letzte Antwort
                          0
                          • MicM Offline
                            MicM Offline
                            Mic
                            Developer
                            schrieb am zuletzt editiert von
                            #13

                            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. :D

                            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 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              Solear
                              schrieb am zuletzt editiert von
                              #14

                              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:

                              iobroker als LXC unter Proxmox

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              434

                              Online

                              32.6k

                              Benutzer

                              82.3k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe