Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. js- Abfrage von Status an Ausgängen per Telegram

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    835

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

js- Abfrage von Status an Ausgängen per Telegram

Scheduled Pinned Locked Moved JavaScript
38 Posts 3 Posters 1.5k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F fastfoot

    @maerzpa probiere es mit callback

    else if (befehl === "%WC_Licht") {
        setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true);
        getState('modbus.0.coils.573_WC_Licht', (err, state) => {
            sendTo('telegram', {
                user: benutzer,
                text: 'Licht WC:                                               ' + state.val
            });
        })
    }
    
    M Offline
    M Offline
    maerzpa
    wrote on last edited by
    #4

    @fastfoot Vielen Dank, ich werde es heute abend testen.

    1 Reply Last reply
    0
    • F fastfoot

      @maerzpa probiere es mit callback

      else if (befehl === "%WC_Licht") {
          setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true);
          getState('modbus.0.coils.573_WC_Licht', (err, state) => {
              sendTo('telegram', {
                  user: benutzer,
                  text: 'Licht WC:                                               ' + state.val
              });
          })
      }
      
      M Offline
      M Offline
      maerzpa
      wrote on last edited by
      #5

      @fastfoot Ich habe es eben probiert. Führt leider zum selben Ergebnis. Das interessante ist:
      Wenn ich die Abfrage in einer weiteren else Schleife mache, dann geht es. Vielleicht zu wenig Zeit zwischen der Ansteuerung und der Abfrage des Ausgangs?

      F 2 Replies Last reply
      0
      • M maerzpa

        @fastfoot Ich habe es eben probiert. Führt leider zum selben Ergebnis. Das interessante ist:
        Wenn ich die Abfrage in einer weiteren else Schleife mache, dann geht es. Vielleicht zu wenig Zeit zwischen der Ansteuerung und der Abfrage des Ausgangs?

        F Offline
        F Offline
        fastfoot
        wrote on last edited by
        #6

        @maerzpa sagte in js- Abfrage von Status an Ausgängen per Telegram:

        @fastfoot Ich habe es eben probiert. Führt leider zum selben Ergebnis. Das interessante ist:
        Wenn ich die Abfrage in einer weiteren else Schleife mache, dann geht es. Vielleicht zu wenig Zeit zwischen der Ansteuerung und der Abfrage des Ausgangs?

        Wahrscheinlich müsste das setState() auch mit callback erfolgen und die restlichen Zeilen da mit rein. Da ist aber @paul53 wohl kompetenter und hat vlt. was Einfacheres auf Lager, callback im callback müsste zwar funktionieren, aber irgendwie denke ich das geht besser, ohne es aber zu wissen :-)

        iobroker läuft unter Docker auf QNAP TS-451+
        SkriptRecovery: https://forum.iobroker.net/post/930558

        1 Reply Last reply
        0
        • M maerzpa

          @fastfoot Ich habe es eben probiert. Führt leider zum selben Ergebnis. Das interessante ist:
          Wenn ich die Abfrage in einer weiteren else Schleife mache, dann geht es. Vielleicht zu wenig Zeit zwischen der Ansteuerung und der Abfrage des Ausgangs?

          F Offline
          F Offline
          fastfoot
          wrote on last edited by
          #7

          @maerzpa so sollte es gehen, bis wer was Eleganteres hat

          else if (befehl === "%WC_Licht") {
              setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true, () => {
                  getState('modbus.0.coils.573_WC_Licht', (err, state) => {
                      sendTo('telegram', {
                          user: benutzer,
                          text: 'Licht WC:                                               ' + state.val
                      });
                  })
              });
          }
          

          iobroker läuft unter Docker auf QNAP TS-451+
          SkriptRecovery: https://forum.iobroker.net/post/930558

          M 1 Reply Last reply
          0
          • F fastfoot

            @maerzpa so sollte es gehen, bis wer was Eleganteres hat

            else if (befehl === "%WC_Licht") {
                setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true, () => {
                    getState('modbus.0.coils.573_WC_Licht', (err, state) => {
                        sendTo('telegram', {
                            user: benutzer,
                            text: 'Licht WC:                                               ' + state.val
                        });
                    })
                });
            }
            
            M Offline
            M Offline
            maerzpa
            wrote on last edited by
            #8

            @fastfoot Habe es eben probiert. Immernoch selbes Ergebnis. Lampe an, zeigt aber Status false.

            F 1 Reply Last reply
            0
            • M maerzpa

              @fastfoot Habe es eben probiert. Immernoch selbes Ergebnis. Lampe an, zeigt aber Status false.

              F Offline
              F Offline
              fastfoot
              wrote on last edited by fastfoot
              #9

              @maerzpa dann fällt mir nur noch das hier ein

              else if (befehl === "%WC_Licht") {
                  setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true);
              }
              on({id:"modbus.0.coils.12356_WC_VisuTaster_Licht_fhem", change:"ne"}, function(obj) {
                  sendTo('telegram', {
                      user: benutzer,
                      text: 'Licht WC:                                               ' + obj.state.val
                  });
              })
              

              iobroker läuft unter Docker auf QNAP TS-451+
              SkriptRecovery: https://forum.iobroker.net/post/930558

              M 1 Reply Last reply
              0
              • F fastfoot

                @maerzpa dann fällt mir nur noch das hier ein

                else if (befehl === "%WC_Licht") {
                    setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true);
                }
                on({id:"modbus.0.coils.12356_WC_VisuTaster_Licht_fhem", change:"ne"}, function(obj) {
                    sendTo('telegram', {
                        user: benutzer,
                        text: 'Licht WC:                                               ' + obj.state.val
                    });
                })
                
                M Offline
                M Offline
                maerzpa
                wrote on last edited by
                #10

                @fastfoot Stimmen da die Klammern? Ich bekomme eine Fehlermeldung

                F 2 Replies Last reply
                0
                • M maerzpa

                  @fastfoot Stimmen da die Klammern? Ich bekomme eine Fehlermeldung

                  F Offline
                  F Offline
                  fastfoot
                  wrote on last edited by
                  #11

                  @maerzpa sagte in js- Abfrage von Status an Ausgängen per Telegram:

                  @fastfoot Stimmen da die Klammern? Ich bekomme eine Fehlermeldung

                  sollten stimmen, du hast ja nur ein Fragment gepostet

                  iobroker läuft unter Docker auf QNAP TS-451+
                  SkriptRecovery: https://forum.iobroker.net/post/930558

                  1 Reply Last reply
                  0
                  • M maerzpa

                    @fastfoot Stimmen da die Klammern? Ich bekomme eine Fehlermeldung

                    F Offline
                    F Offline
                    fastfoot
                    wrote on last edited by
                    #12

                    @maerzpa sagte in js- Abfrage von Status an Ausgängen per Telegram:

                    @fastfoot Stimmen da die Klammern? Ich bekomme eine Fehlermeldung

                    änder "change": in change:

                    iobroker läuft unter Docker auf QNAP TS-451+
                    SkriptRecovery: https://forum.iobroker.net/post/930558

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      maerzpa
                      wrote on last edited by
                      #13

                      ich habe eine Schleife in der ich Anweisungen von Telegram abfrage:
                      on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                      var stateval = getState('telegram.0.communicate.request').val; // Statevalue in Variable schreiben
                      var benutzer = stateval.substring(1,stateval.indexOf("]")); // Benutzer aus Statevalue extrahieren
                      var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length); // Befehl/Text aus Statevalue extrahieren
                      var idSayIt = "sayit.0.tts.text";

                       if (befehl.search(/(?=.*(\bmenu\b)).+/ig) != -1) {
                          sendTo('telegram', {
                              user: benutzer,
                              text: 'Wähle das Gewerk',
                              reply_markup: {
                                  inline_keyboard: [
                                      [{ text: 'Einstellungen', callback_data: '%Einstellungen'}, { text: 'Fenster+Türe', callback_data: '%Fenster+Türe'}, { text: 'Licht', callback_data: '%Licht'}],
                                      [{ text: 'Steckdosen', callback_data: '%Steckdosen'}, { text: 'Beregnung', callback_data: '%Beregnung'}, { text: 'Kameras', callback_data: '%Kameras'}],
                                  ]
                               }
                          });
                      }
                      

                      else if (befehl === "%WC_Licht") {
                      setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true);
                      on({id:"modbus.0.coils.12356_WC_VisuTaster_Licht_fhem", "change":"ne"}, function(obj) {
                      sendTo('telegram', {
                      user: benutzer,
                      text: 'Licht WC: ' + obj.state.val
                      });
                      })
                      }

                      Wenn ich die Klammern so setzte wie oben in der Else Schleife--> bekomme ich den richtigen Status per Telegram gesendet. Allerdings mehrmals. Immer wieder ein vielfaches bei erneutem Wechsel des Statuses (EIN/AUS).

                      F 2 Replies Last reply
                      0
                      • M maerzpa

                        ich habe eine Schleife in der ich Anweisungen von Telegram abfrage:
                        on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                        var stateval = getState('telegram.0.communicate.request').val; // Statevalue in Variable schreiben
                        var benutzer = stateval.substring(1,stateval.indexOf("]")); // Benutzer aus Statevalue extrahieren
                        var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length); // Befehl/Text aus Statevalue extrahieren
                        var idSayIt = "sayit.0.tts.text";

                         if (befehl.search(/(?=.*(\bmenu\b)).+/ig) != -1) {
                            sendTo('telegram', {
                                user: benutzer,
                                text: 'Wähle das Gewerk',
                                reply_markup: {
                                    inline_keyboard: [
                                        [{ text: 'Einstellungen', callback_data: '%Einstellungen'}, { text: 'Fenster+Türe', callback_data: '%Fenster+Türe'}, { text: 'Licht', callback_data: '%Licht'}],
                                        [{ text: 'Steckdosen', callback_data: '%Steckdosen'}, { text: 'Beregnung', callback_data: '%Beregnung'}, { text: 'Kameras', callback_data: '%Kameras'}],
                                    ]
                                 }
                            });
                        }
                        

                        else if (befehl === "%WC_Licht") {
                        setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true);
                        on({id:"modbus.0.coils.12356_WC_VisuTaster_Licht_fhem", "change":"ne"}, function(obj) {
                        sendTo('telegram', {
                        user: benutzer,
                        text: 'Licht WC: ' + obj.state.val
                        });
                        })
                        }

                        Wenn ich die Klammern so setzte wie oben in der Else Schleife--> bekomme ich den richtigen Status per Telegram gesendet. Allerdings mehrmals. Immer wieder ein vielfaches bei erneutem Wechsel des Statuses (EIN/AUS).

                        F Offline
                        F Offline
                        fastfoot
                        wrote on last edited by fastfoot
                        #14

                        @maerzpa siehe nächsten Post

                        iobroker läuft unter Docker auf QNAP TS-451+
                        SkriptRecovery: https://forum.iobroker.net/post/930558

                        1 Reply Last reply
                        0
                        • M maerzpa

                          ich habe eine Schleife in der ich Anweisungen von Telegram abfrage:
                          on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                          var stateval = getState('telegram.0.communicate.request').val; // Statevalue in Variable schreiben
                          var benutzer = stateval.substring(1,stateval.indexOf("]")); // Benutzer aus Statevalue extrahieren
                          var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length); // Befehl/Text aus Statevalue extrahieren
                          var idSayIt = "sayit.0.tts.text";

                           if (befehl.search(/(?=.*(\bmenu\b)).+/ig) != -1) {
                              sendTo('telegram', {
                                  user: benutzer,
                                  text: 'Wähle das Gewerk',
                                  reply_markup: {
                                      inline_keyboard: [
                                          [{ text: 'Einstellungen', callback_data: '%Einstellungen'}, { text: 'Fenster+Türe', callback_data: '%Fenster+Türe'}, { text: 'Licht', callback_data: '%Licht'}],
                                          [{ text: 'Steckdosen', callback_data: '%Steckdosen'}, { text: 'Beregnung', callback_data: '%Beregnung'}, { text: 'Kameras', callback_data: '%Kameras'}],
                                      ]
                                   }
                              });
                          }
                          

                          else if (befehl === "%WC_Licht") {
                          setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true);
                          on({id:"modbus.0.coils.12356_WC_VisuTaster_Licht_fhem", "change":"ne"}, function(obj) {
                          sendTo('telegram', {
                          user: benutzer,
                          text: 'Licht WC: ' + obj.state.val
                          });
                          })
                          }

                          Wenn ich die Klammern so setzte wie oben in der Else Schleife--> bekomme ich den richtigen Status per Telegram gesendet. Allerdings mehrmals. Immer wieder ein vielfaches bei erneutem Wechsel des Statuses (EIN/AUS).

                          F Offline
                          F Offline
                          fastfoot
                          wrote on last edited by
                          #15

                          @maerzpa Du hast den Trigger nicht rausgenommen, ich hatte nur auf die Klammern geachtet. So sollte es jetzt funktionieren

                          var stateval = getState('telegram.0.communicate.request').val; // Statevalue in Variable schreiben
                          var benutzer = stateval.substring(1,stateval.indexOf("]")); // Benutzer aus Statevalue extrahieren
                          var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length); // Befehl/Text aus Statevalue extrahieren
                          var idSayIt = "sayit.0.tts.text";
                          
                          on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                          
                              if (befehl.search(/(?=.*(\bmenu\b)).+/ig) != -1) {
                                  sendTo('telegram', {
                                      user: benutzer,
                                      text: 'Wähle das Gewerk',
                                      reply_markup: {
                                          inline_keyboard: [
                                              [{ text: 'Einstellungen', callback_data: '%Einstellungen'}, { text: 'Fenster+Türe', callback_data: '%Fenster+Türe'}, { text: 'Licht', callback_data: '%Licht'}],
                                              [{ text: 'Steckdosen', callback_data: '%Steckdosen'}, { text: 'Beregnung', callback_data: '%Beregnung'}, { text: 'Kameras', callback_data: '%Kameras'}],
                                          ]
                                          }
                                  });
                              } else if (befehl === "%WC_Licht") {
                                  setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true);
                              }
                          })
                          
                          on({id:"modbus.0.coils.12356_WC_VisuTaster_Licht_fhem", "change":"ne"}, function(obj) {
                              sendTo('telegram', {
                              user: benutzer,
                              text: 'Licht WC: ' + obj.state.val
                              });
                          })
                          

                          iobroker läuft unter Docker auf QNAP TS-451+
                          SkriptRecovery: https://forum.iobroker.net/post/930558

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            maerzpa
                            wrote on last edited by
                            #16

                            @fastfoot sagte in js- Abfrage von Status an Ausgängen per Telegram:

                            modbus.0.coils.573_WC_Licht

                            Danke erstmal für die Mühe und Geduld. So bekomme ich die richtige Meldung. Doch leider bekomme ich auch wenn ich vor Ort Taster drücke (ohne Telegramm Button), eine Meldung per Telegramm.
                            Sorry das ich nerve.

                            F P 2 Replies Last reply
                            0
                            • M maerzpa

                              @fastfoot sagte in js- Abfrage von Status an Ausgängen per Telegram:

                              modbus.0.coils.573_WC_Licht

                              Danke erstmal für die Mühe und Geduld. So bekomme ich die richtige Meldung. Doch leider bekomme ich auch wenn ich vor Ort Taster drücke (ohne Telegramm Button), eine Meldung per Telegramm.
                              Sorry das ich nerve.

                              F Offline
                              F Offline
                              fastfoot
                              wrote on last edited by
                              #17

                              @maerzpa nee, nervt nicht :-) Ich überlege mir bis morgen etwas...

                              iobroker läuft unter Docker auf QNAP TS-451+
                              SkriptRecovery: https://forum.iobroker.net/post/930558

                              1 Reply Last reply
                              0
                              • F Offline
                                F Offline
                                fastfoot
                                wrote on last edited by
                                #18

                                @maerzpa so, ein neuer Versuch, noch ein paar Fehler beseitigt, die ich aber selbst eingebaut hatte

                                var benutzer,
                                    menu_cmd = false;
                                
                                on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                                    var stateval = getState('telegram.0.communicate.request').val; // Statevalue in Variable schreiben
                                    var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length); // Befehl/Text aus Statevalue extrahieren
                                    var idSayIt = "sayit.0.tts.text";
                                
                                    benutzer = stateval.substring(1,stateval.indexOf("]")); // Benutzer aus Statevalue extrahieren
                                
                                    if (befehl.search(/(?=.*(\bmenu\b)).+/ig) != -1) {
                                        sendTo('telegram', {
                                            user: benutzer,
                                            text: 'Wähle das Gewerk',
                                            reply_markup: {
                                                inline_keyboard: [
                                                    [{ text: 'Einstellungen', callback_data: '%Einstellungen'}, { text: 'Fenster+Türe', callback_data: '%Fenster+Türe'}, { text: 'Licht', callback_data: '%Licht'}],
                                                    [{ text: 'Steckdosen', callback_data: '%Steckdosen'}, { text: 'Beregnung', callback_data: '%Beregnung'}, { text: 'Kameras', callback_data: '%Kameras'}],
                                                ]
                                                }
                                        });
                                    } else if (befehl === "%WC_Licht") {
                                        setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true);
                                        menu_cmd=true;
                                    }
                                })
                                
                                on({id:"modbus.0.coils.573_WC_Licht", change:"ne"}, function(obj) {
                                    if(menu_cmd) {
                                        menu_cmd=false;
                                        sendTo('telegram', {
                                            user: benutzer,
                                            text: 'Licht WC: ' + obj.state.val
                                        });
                                    }
                                })```

                                iobroker läuft unter Docker auf QNAP TS-451+
                                SkriptRecovery: https://forum.iobroker.net/post/930558

                                1 Reply Last reply
                                0
                                • M maerzpa

                                  @fastfoot sagte in js- Abfrage von Status an Ausgängen per Telegram:

                                  modbus.0.coils.573_WC_Licht

                                  Danke erstmal für die Mühe und Geduld. So bekomme ich die richtige Meldung. Doch leider bekomme ich auch wenn ich vor Ort Taster drücke (ohne Telegramm Button), eine Meldung per Telegramm.
                                  Sorry das ich nerve.

                                  P Offline
                                  P Offline
                                  pix
                                  wrote on last edited by
                                  #19

                                  Hallo!

                                  Für genau diesen Fall gibt es die EIgenschaft from in der Subscription on(). Guck mal hier: https://www.iobroker.net/#de/documentation/basics/states.md

                                  Da kannst du neben zum Beispiel dem Wert, den der Datenpunkt haben soll (hier soll er sich ändern, daher change: "ne") auch angeben, von wo aus er geändert wurde.

                                  In diesem Falle wird die Änderung ja vom Javascript-Adapter gemacht, ich nehme an, von Instanz 0.

                                  on({
                                      id:"modbus.0.coils.573_WC_Licht", 
                                      change:"ne",
                                      from: "javascript.0"
                                  }, function(obj) {
                                      sendTo('telegram', {
                                              user: benutzer,
                                              text: 'Licht WC: ' + obj.state.val
                                       });
                                  });
                                  

                                  @fastfoot Sehr gute Idee, eine Variable zu verwenden. Das kann aber bei vielen Tastern schnell unübersichtlich werden.

                                  Gruß
                                  Pix

                                  ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                                  F 1 Reply Last reply
                                  0
                                  • P pix

                                    Hallo!

                                    Für genau diesen Fall gibt es die EIgenschaft from in der Subscription on(). Guck mal hier: https://www.iobroker.net/#de/documentation/basics/states.md

                                    Da kannst du neben zum Beispiel dem Wert, den der Datenpunkt haben soll (hier soll er sich ändern, daher change: "ne") auch angeben, von wo aus er geändert wurde.

                                    In diesem Falle wird die Änderung ja vom Javascript-Adapter gemacht, ich nehme an, von Instanz 0.

                                    on({
                                        id:"modbus.0.coils.573_WC_Licht", 
                                        change:"ne",
                                        from: "javascript.0"
                                    }, function(obj) {
                                        sendTo('telegram', {
                                                user: benutzer,
                                                text: 'Licht WC: ' + obj.state.val
                                         });
                                    });
                                    

                                    @fastfoot Sehr gute Idee, eine Variable zu verwenden. Das kann aber bei vielen Tastern schnell unübersichtlich werden.

                                    Gruß
                                    Pix

                                    F Offline
                                    F Offline
                                    fastfoot
                                    wrote on last edited by
                                    #20

                                    @pix sagte in js- Abfrage von Status an Ausgängen per Telegram:

                                    @fastfoot Sehr gute Idee, eine Variable zu verwenden. Das kann aber bei vielen Tastern schnell unübersichtlich werden.

                                    ich dachte dabei an diese eine Variable, die allerdings bei jedem setState() gesetzt würde. Das sollte im Ein-Mann-Betrieb kein Problem sein, sollte aber die Frau gleichzeitig das Licht im Wohnzimmer schalten(durch Telegram), funktioniert das nicht mehr. Allerdings gibt es dann auch Probleme mit dem benutzer, denke ich

                                    Was das from: angeht, Danke für den Tipp! Allerdings sagt mir mein Bauchgefühl, dass ein Adapter auf den Taster reagiert und dann entsprechend das Licht schaltet, da wäre dann beim manuellen Drücken kein Unterschied, der Trigger würde immer vom Adapter gefeuert.

                                    Bin gespannt, was @maerzpa sagt, das from: wäre schon viel cooler

                                    iobroker läuft unter Docker auf QNAP TS-451+
                                    SkriptRecovery: https://forum.iobroker.net/post/930558

                                    M 1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      maerzpa
                                      wrote on last edited by
                                      #21

                                      Hallo, Dankeschön. Auf die Art (ohne from) funktioniert es super. Mit dem from will es nicht mehr.

                                      Vielen Dank an @pix und an @fastfoot.

                                      1 Reply Last reply
                                      0
                                      • F fastfoot

                                        @pix sagte in js- Abfrage von Status an Ausgängen per Telegram:

                                        @fastfoot Sehr gute Idee, eine Variable zu verwenden. Das kann aber bei vielen Tastern schnell unübersichtlich werden.

                                        ich dachte dabei an diese eine Variable, die allerdings bei jedem setState() gesetzt würde. Das sollte im Ein-Mann-Betrieb kein Problem sein, sollte aber die Frau gleichzeitig das Licht im Wohnzimmer schalten(durch Telegram), funktioniert das nicht mehr. Allerdings gibt es dann auch Probleme mit dem benutzer, denke ich

                                        Was das from: angeht, Danke für den Tipp! Allerdings sagt mir mein Bauchgefühl, dass ein Adapter auf den Taster reagiert und dann entsprechend das Licht schaltet, da wäre dann beim manuellen Drücken kein Unterschied, der Trigger würde immer vom Adapter gefeuert.

                                        Bin gespannt, was @maerzpa sagt, das from: wäre schon viel cooler

                                        M Offline
                                        M Offline
                                        maerzpa
                                        wrote on last edited by
                                        #22

                                        @fastfoot Könntest du mir noch bei einer weiteren Frage helfen:
                                        Ich möchte alle Statuse auf einen Blick als Popup (answercallbackquery) sehen. Doch leider gehen max 8 Zeilen als Ausgabe. Wenn ich also nur 8 Abfragen habe--> dann geht es. Sobald es nur eine mehr ist--> passiert nichts.

                                        else if (befehl === "%Status_Licht") {
                                        sendTo('telegram', {
                                        user: benutzer,
                                        answerCallbackQuery: {
                                        text: "Status_Licht:" +
                                        '\n++++++++++++++++++++++++++++++++++++++++++++'+
                                        '\nLicht Wohnzimmer: ' + getState('modbus.0.coils.562_WZ_Licht').val +
                                        '\nLicht Wohnzimmer LED: ' + getState('modbus.0.coils.566_WZ_LichtLED').val +
                                        '\nLicht Wohnzimmer Essbereich1: ' + getState('modbus.0.coils.561_WZ_LichtEssb').val +
                                        '\nLicht Wohnzimmer Essbereich2: ' + getState('modbus.0.coils.563_WZ_LichtEssbZus').val +
                                        '\nLicht HWR: ' + getState('modbus.0.coils.572_HWR_Licht').val +
                                        '\nLicht WC: ' + getState('modbus.0.coils.573_WC_Licht').val +
                                        '\nLicht WC Spiegel: ' + getState('modbus.0.coils.534_WC_LichtSpiegel_').val +
                                        '\nLicht Kueche: ' + getState('modbus.0.coils.568_Ku_Licht').val +
                                        '\nLicht Kueche Arbeitsplatte: ' + getState('modbus.0.coils.569_Ku_Aplatte1').val +
                                        '\nLicht Flur EG: ' + getState('modbus.0.coils.574_FEG_Licht2').val +
                                        '\nLicht Abstellraum: ' + getState('modbus.0.coils.571_ARaum_Licht').val +
                                        '\nLicht Flur OG: ' + getState('modbus.0.coils.579_FOG_Licht').val +
                                        '\nLicht Badezimmer: ' + getState('modbus.0.coils.581_BAD_Licht').val +
                                        '\nLicht Schlafzimmer: ' + getState('modbus.0.coils.576_SZ_Licht').val +
                                        '\nLicht Kinderzimmer1: ' + getState('modbus.0.coils.577_KZ1_Licht').val +
                                        '\nLicht Kinderzimmer2: ' + getState('modbus.0.coils.578_KZ2_Licht').val +
                                        '\nLicht Dachgeschoss: ' + getState('modbus.0.coils.584_DG_Licht1u2').val +
                                        '\nLicht Terrasse: ' + getState('modbus.0.coils.589_Ter_Licht').val +
                                        '\nLicht Garage1: ' + getState('modbus.0.coils.558_Gar_Licht1_').val +
                                        '\nLicht Garage2: ' + getState('modbus.0.coils.559_Gar_Licht2_').val +
                                        '\nLicht Gartenhaus: ' + getState('modbus.0.coils.586_GartenhLicht').val,
                                        showAlert: true
                                        }
                                        });
                                        }
                                        });

                                        F 1 Reply Last reply
                                        0
                                        • M maerzpa

                                          @fastfoot Könntest du mir noch bei einer weiteren Frage helfen:
                                          Ich möchte alle Statuse auf einen Blick als Popup (answercallbackquery) sehen. Doch leider gehen max 8 Zeilen als Ausgabe. Wenn ich also nur 8 Abfragen habe--> dann geht es. Sobald es nur eine mehr ist--> passiert nichts.

                                          else if (befehl === "%Status_Licht") {
                                          sendTo('telegram', {
                                          user: benutzer,
                                          answerCallbackQuery: {
                                          text: "Status_Licht:" +
                                          '\n++++++++++++++++++++++++++++++++++++++++++++'+
                                          '\nLicht Wohnzimmer: ' + getState('modbus.0.coils.562_WZ_Licht').val +
                                          '\nLicht Wohnzimmer LED: ' + getState('modbus.0.coils.566_WZ_LichtLED').val +
                                          '\nLicht Wohnzimmer Essbereich1: ' + getState('modbus.0.coils.561_WZ_LichtEssb').val +
                                          '\nLicht Wohnzimmer Essbereich2: ' + getState('modbus.0.coils.563_WZ_LichtEssbZus').val +
                                          '\nLicht HWR: ' + getState('modbus.0.coils.572_HWR_Licht').val +
                                          '\nLicht WC: ' + getState('modbus.0.coils.573_WC_Licht').val +
                                          '\nLicht WC Spiegel: ' + getState('modbus.0.coils.534_WC_LichtSpiegel_').val +
                                          '\nLicht Kueche: ' + getState('modbus.0.coils.568_Ku_Licht').val +
                                          '\nLicht Kueche Arbeitsplatte: ' + getState('modbus.0.coils.569_Ku_Aplatte1').val +
                                          '\nLicht Flur EG: ' + getState('modbus.0.coils.574_FEG_Licht2').val +
                                          '\nLicht Abstellraum: ' + getState('modbus.0.coils.571_ARaum_Licht').val +
                                          '\nLicht Flur OG: ' + getState('modbus.0.coils.579_FOG_Licht').val +
                                          '\nLicht Badezimmer: ' + getState('modbus.0.coils.581_BAD_Licht').val +
                                          '\nLicht Schlafzimmer: ' + getState('modbus.0.coils.576_SZ_Licht').val +
                                          '\nLicht Kinderzimmer1: ' + getState('modbus.0.coils.577_KZ1_Licht').val +
                                          '\nLicht Kinderzimmer2: ' + getState('modbus.0.coils.578_KZ2_Licht').val +
                                          '\nLicht Dachgeschoss: ' + getState('modbus.0.coils.584_DG_Licht1u2').val +
                                          '\nLicht Terrasse: ' + getState('modbus.0.coils.589_Ter_Licht').val +
                                          '\nLicht Garage1: ' + getState('modbus.0.coils.558_Gar_Licht1_').val +
                                          '\nLicht Garage2: ' + getState('modbus.0.coils.559_Gar_Licht2_').val +
                                          '\nLicht Gartenhaus: ' + getState('modbus.0.coils.586_GartenhLicht').val,
                                          showAlert: true
                                          }
                                          });
                                          }
                                          });

                                          F Offline
                                          F Offline
                                          fastfoot
                                          wrote on last edited by
                                          #23

                                          @maerzpa schaue ich mir mal an, answercallbackQuery ist neu für mich. Melde mich später :-)

                                          iobroker läuft unter Docker auf QNAP TS-451+
                                          SkriptRecovery: https://forum.iobroker.net/post/930558

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          495

                                          Online

                                          32.5k

                                          Users

                                          81.6k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe