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. JavaScript
  5. js- Abfrage von Status an Ausgängen per Telegram

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

js- Abfrage von Status an Ausgängen per Telegram

Geplant Angeheftet Gesperrt Verschoben JavaScript
38 Beiträge 3 Kommentatoren 1.5k Aufrufe 2 Watching
  • Ä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.
  • M Offline
    M Offline
    maerzpa
    schrieb am zuletzt editiert von
    #1

    Hallo, vielleicht kann mir einer von euch helfen. Ich steuere meine Lampen über Telegram (WAGO) an. Steuern klappt gut soweit. Nur der Status zum Ausgang innerhalb der if-Schleife, wird immer falsch angezeigt.

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

    Vielen Dank vorab.

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      maerzpa
      schrieb am zuletzt editiert von
      #2

      Sorry nun der richtige Ausschnitt.

      else if (befehl === "%WC_Licht") {
              setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true);
              sendTo('telegram', {
              user: benutzer,
              text: 'Licht WC:                                               ' + getState('modbus.0.coils.573_WC_Licht').val,
          });
      }
      
      F 1 Antwort Letzte Antwort
      0
      • M maerzpa

        Sorry nun der richtige Ausschnitt.

        else if (befehl === "%WC_Licht") {
                setState("modbus.0.coils.12356_WC_VisuTaster_Licht_fhem",true);
                sendTo('telegram', {
                user: benutzer,
                text: 'Licht WC:                                               ' + getState('modbus.0.coils.573_WC_Licht').val,
            });
        }
        
        F Offline
        F Offline
        fastfoot
        schrieb am zuletzt editiert von
        #3

        @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
                });
            })
        }
        

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

        M 2 Antworten Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #4

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

          1 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antworten Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #8

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

                  F 1 Antwort Letzte Antwort
                  0
                  • M maerzpa

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

                    F Offline
                    F Offline
                    fastfoot
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #10

                      @fastfoot Stimmen da die Klammern? Ich bekomme eine Fehlermeldung

                      F 2 Antworten Letzte Antwort
                      0
                      • M maerzpa

                        @fastfoot Stimmen da die Klammern? Ich bekomme eine Fehlermeldung

                        F Offline
                        F Offline
                        fastfoot
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • M maerzpa

                          @fastfoot Stimmen da die Klammern? Ich bekomme eine Fehlermeldung

                          F Offline
                          F Offline
                          fastfoot
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            maerzpa
                            schrieb am zuletzt editiert von
                            #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 Antworten Letzte Antwort
                            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
                              schrieb am zuletzt editiert von fastfoot
                              #14

                              @maerzpa siehe nächsten Post

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

                              1 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  maerzpa
                                  schrieb am zuletzt editiert von
                                  #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 Antworten Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • F Offline
                                      F Offline
                                      fastfoot
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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 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

                                          764

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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