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. Nello Telegram

NEWS

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

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

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

Nello Telegram

Geplant Angeheftet Gesperrt Verschoben JavaScript
33 Beiträge 4 Kommentatoren 1.6k 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.
  • ZefauZ Offline
    ZefauZ Offline
    Zefau
    schrieb am zuletzt editiert von
    #22

    Siehe https://github.com/Zefau/ioBroker.nello#let-telegram-inform-you-about-door-ring

    Meine Adapter: https://zefau.github.io/iobroker/

    1 Antwort Letzte Antwort
    1
    • M Offline
      M Offline
      Marek
      schrieb am zuletzt editiert von
      #23

      Hallo zusammen,

      Wow eine so große Resonanz hatte ich nicht erwartet, danke an alle die sich die Zeit nehmen mir zu helfen!

      Ja es stimmt, anfangs hatte ich den Datenpunkt custom_nello nicht aber ich hab es jetzt hinbekommen. Auch ändern sich die Aktionen deny usw.

      Danke an Zefau für das Hinzufügen des Scripts!

      Nun wenn ich es richtig verstanden habe:

      
      /**
       * Send something with Telegram
       * 
       * @param       {string}        content         Content to send via Telegram
       * @param       {string}  		[user='']		User to send the content to
       * @return      void
       * 
       */
      function msg(content, user = '')
      {
          const CONFIG = {
              text: content,
              parse_mode: 'HTML',
              reply_markup: {
                  keyboard: ACTIONS,
                  resize_keyboard: true,
                  one_time_keyboard: false
              }
          };
          
          sendTo('telegram', user ? Object.assign({user: user}, CONFIG) : CONFIG);
      }
      
      

      Erstelle ich ein Java Script im common Ordner.

      Und dann schreibe ich das drunter

      
      var L = {
         'actionRingUnknown': 'Es hat geklingelt',
         'actionOpenName': '%name% hat die Tür geöffnet',
         'actionOpenGeo': '%name% hat das Haus betreten',
         'actionOpen': 'Die Haustür wurde geöffnet'
      };
      
      on({id: 'nello.0.ID.events.feed', change: 'any'}, function(obj)
      {
         var events = JSON.parse(obj.state.val);
         if (events.length === 0) return;
      
         var event = events[events.length-1];
         if (event.action == 'deny')
            msg(L.actionRingUnknown);
      
         else if (event.action == 'swipe')
            msg(L.actionOpenName.replace(/%name%/gi, event.data.name));
      
         else if (event.action == 'geo')
            msg(L.actionOpenGeo.replace(/%name%/gi, event.data.name));
      
         else
            msg(L.actionOpen);
      });
      
      

      Und dann bei nello.0.ID schreib ich die Nello id rein.

      Ich bin da noch wirklich Neuling und fange gerade erst an zu lernen mit dem Scripte erstellen. Ich muss erstmal nur das Grundprinzip verstehen.

      Ziel ist es das ich eine Telegram Nachricht bekomme wenn es geklingelt hat und wenn die Tür geöffnet wurde und wer die Tür geöffnet hat usw.

      Kann mir da einer ne kleine Step by step Anleitung für komplette idioten geben.

      Ich danke nochmal allen Hilfsbereiten. :v:

      ZefauZ 1 Antwort Letzte Antwort
      0
      • M Marek

        Hallo zusammen,

        Wow eine so große Resonanz hatte ich nicht erwartet, danke an alle die sich die Zeit nehmen mir zu helfen!

        Ja es stimmt, anfangs hatte ich den Datenpunkt custom_nello nicht aber ich hab es jetzt hinbekommen. Auch ändern sich die Aktionen deny usw.

        Danke an Zefau für das Hinzufügen des Scripts!

        Nun wenn ich es richtig verstanden habe:

        
        /**
         * Send something with Telegram
         * 
         * @param       {string}        content         Content to send via Telegram
         * @param       {string}  		[user='']		User to send the content to
         * @return      void
         * 
         */
        function msg(content, user = '')
        {
            const CONFIG = {
                text: content,
                parse_mode: 'HTML',
                reply_markup: {
                    keyboard: ACTIONS,
                    resize_keyboard: true,
                    one_time_keyboard: false
                }
            };
            
            sendTo('telegram', user ? Object.assign({user: user}, CONFIG) : CONFIG);
        }
        
        

        Erstelle ich ein Java Script im common Ordner.

        Und dann schreibe ich das drunter

        
        var L = {
           'actionRingUnknown': 'Es hat geklingelt',
           'actionOpenName': '%name% hat die Tür geöffnet',
           'actionOpenGeo': '%name% hat das Haus betreten',
           'actionOpen': 'Die Haustür wurde geöffnet'
        };
        
        on({id: 'nello.0.ID.events.feed', change: 'any'}, function(obj)
        {
           var events = JSON.parse(obj.state.val);
           if (events.length === 0) return;
        
           var event = events[events.length-1];
           if (event.action == 'deny')
              msg(L.actionRingUnknown);
        
           else if (event.action == 'swipe')
              msg(L.actionOpenName.replace(/%name%/gi, event.data.name));
        
           else if (event.action == 'geo')
              msg(L.actionOpenGeo.replace(/%name%/gi, event.data.name));
        
           else
              msg(L.actionOpen);
        });
        
        

        Und dann bei nello.0.ID schreib ich die Nello id rein.

        Ich bin da noch wirklich Neuling und fange gerade erst an zu lernen mit dem Scripte erstellen. Ich muss erstmal nur das Grundprinzip verstehen.

        Ziel ist es das ich eine Telegram Nachricht bekomme wenn es geklingelt hat und wenn die Tür geöffnet wurde und wer die Tür geöffnet hat usw.

        Kann mir da einer ne kleine Step by step Anleitung für komplette idioten geben.

        Ich danke nochmal allen Hilfsbereiten. :v:

        ZefauZ Offline
        ZefauZ Offline
        Zefau
        schrieb am zuletzt editiert von
        #24

        @Marek Auf Github ist es doch beschrieben?

        Das erste Skript (also die Funktion) muss in den global Ordner. Das zweite Skript in den common Ordner und dort nello.0.ID mit deiner ID austauschen.

        Meine Adapter: https://zefau.github.io/iobroker/

        1 Antwort Letzte Antwort
        1
        • M Offline
          M Offline
          Marek
          schrieb am zuletzt editiert von
          #25

          Also ich bekomme da den Fehler:

          javascript.0 script.js.common.Nello.Klingeln compile failed:
          at script.js.common.Nello.Klingeln:9

          Hab es jetzt genau nach deiner Beschreibung gemacht...

          Oh Mann...

          J ZefauZ 2 Antworten Letzte Antwort
          0
          • M Marek

            Also ich bekomme da den Fehler:

            javascript.0 script.js.common.Nello.Klingeln compile failed:
            at script.js.common.Nello.Klingeln:9

            Hab es jetzt genau nach deiner Beschreibung gemacht...

            Oh Mann...

            J Offline
            J Offline
            Jan1
            schrieb am zuletzt editiert von
            #26

            @Marek
            Du willst doch nur ein Telegram wenn es klingelt, warum fängst dann nicht klein an und antwortest auf meine Fragen?
            Du hast von Java Script keine Plan, dann machs mit Blockly und das was Du willst ist in Blockly mit 3 Blöcken erledigt.

            1 Antwort Letzte Antwort
            0
            • M Marek

              Also ich bekomme da den Fehler:

              javascript.0 script.js.common.Nello.Klingeln compile failed:
              at script.js.common.Nello.Klingeln:9

              Hab es jetzt genau nach deiner Beschreibung gemacht...

              Oh Mann...

              ZefauZ Offline
              ZefauZ Offline
              Zefau
              schrieb am zuletzt editiert von
              #27

              @Marek habe die Skripte nochmal angepasst, versuch mal:

              /**
               * Send something with Telegram
               * 
               * @param       {string}        content         Content to send via Telegram
               * @param       {string}  		[user='']		User to send the content to
               * @return      void
               * 
               */
              function msg(content, user = '')
              {
                  const CONFIG = {
                      text: content,
                      parse_mode: 'HTML'
                  };
                  
                  sendTo('telegram', user ? Object.assign({user: user}, CONFIG) : CONFIG);
              }
              

              sowie

              var L = {
                 'actionRingUnknown': 'Es hat geklingelt',
                 'actionOpenName': '%name% hat die Tür geöffnet',
                 'actionOpenGeo': '%name% hat das Haus betreten',
                 'actionOpen': 'Die Haustür wurde geöffnet'
              };
              
              on({id: 'javascript.0.test', change: 'any'}, function(obj)
              {
                 var events = obj && obj.state && JSON.parse(obj.state.val);
                 if (!events || events.length == 0) return;
              
                 var event = events[events.length-1];
                 if (event.action == 'deny')
                    msg(L.actionRingUnknown);
              
                 else if (event.action == 'swipe')
                    msg(L.actionOpenName.replace(/%name%/gi, event.data.name));
              
                 else if (event.action == 'geo')
                    msg(L.actionOpenGeo.replace(/%name%/gi, event.data.name));
              
                 else
                    msg(L.actionOpen);
              });
              

              Telegram Adapter hast du installiert und konfiguriert, richtig?

              Meine Adapter: https://zefau.github.io/iobroker/

              M 1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                Marek
                schrieb am zuletzt editiert von
                #28

                Haloo Zefau,

                also ich habe jetzt dein neues script genommen. Das funktioniert. Ich habe nur "javascript.0.test" in nello.0.ID.events.feed anstelle "ID" die ID vom nello eingetragen. Es funktioniert. Danke dir !

                M 1 Antwort Letzte Antwort
                1
                • M Marek

                  Haloo Zefau,

                  also ich habe jetzt dein neues script genommen. Das funktioniert. Ich habe nur "javascript.0.test" in nello.0.ID.events.feed anstelle "ID" die ID vom nello eingetragen. Es funktioniert. Danke dir !

                  M Offline
                  M Offline
                  Marek
                  schrieb am zuletzt editiert von
                  #29

                  @Marek und natürlich bei dem oberen script bei User den user im telegram Adapter eingetragen

                  1 Antwort Letzte Antwort
                  0
                  • ZefauZ Zefau

                    @Marek habe die Skripte nochmal angepasst, versuch mal:

                    /**
                     * Send something with Telegram
                     * 
                     * @param       {string}        content         Content to send via Telegram
                     * @param       {string}  		[user='']		User to send the content to
                     * @return      void
                     * 
                     */
                    function msg(content, user = '')
                    {
                        const CONFIG = {
                            text: content,
                            parse_mode: 'HTML'
                        };
                        
                        sendTo('telegram', user ? Object.assign({user: user}, CONFIG) : CONFIG);
                    }
                    

                    sowie

                    var L = {
                       'actionRingUnknown': 'Es hat geklingelt',
                       'actionOpenName': '%name% hat die Tür geöffnet',
                       'actionOpenGeo': '%name% hat das Haus betreten',
                       'actionOpen': 'Die Haustür wurde geöffnet'
                    };
                    
                    on({id: 'javascript.0.test', change: 'any'}, function(obj)
                    {
                       var events = obj && obj.state && JSON.parse(obj.state.val);
                       if (!events || events.length == 0) return;
                    
                       var event = events[events.length-1];
                       if (event.action == 'deny')
                          msg(L.actionRingUnknown);
                    
                       else if (event.action == 'swipe')
                          msg(L.actionOpenName.replace(/%name%/gi, event.data.name));
                    
                       else if (event.action == 'geo')
                          msg(L.actionOpenGeo.replace(/%name%/gi, event.data.name));
                    
                       else
                          msg(L.actionOpen);
                    });
                    

                    Telegram Adapter hast du installiert und konfiguriert, richtig?

                    M Offline
                    M Offline
                    Marek
                    schrieb am zuletzt editiert von
                    #30

                    @Zefau wenn ich die Telegram an mehrere user schicken möchte wie mache ich das dann?

                    ZefauZ 1 Antwort Letzte Antwort
                    0
                    • M Marek

                      @Zefau wenn ich die Telegram an mehrere user schicken möchte wie mache ich das dann?

                      ZefauZ Offline
                      ZefauZ Offline
                      Zefau
                      schrieb am zuletzt editiert von Zefau
                      #31

                      @Marek sagte in Nello Telegram:

                      wenn ich die Telegram an mehrere user schicken möchte wie mache ich das dann?

                      /**
                       * Send something with Telegram
                       * 
                       * @param       {string}        content         Content to send via Telegram
                       * @param       {array}  		[user=[]]		Users to send the content to
                       * @return      void
                       * 
                       */
                      function msg(content, users = [])
                      {
                          const CONTENT = {
                              text: content,
                              parse_mode: 'HTML'
                          };
                          
                      	if (!Array.isArray(users) || users.length == 0)
                      		sendTo('telegram', CONTENT);
                      	else
                      		users.forEach(user => sendTo('telegram', Object.assign({ user: user }, CONTENT)))
                      }
                      

                      und dann msg('hallo', ['Zefau', 'Marek']) bzw. msg('hallo') schickt an alle.

                      Meine Adapter: https://zefau.github.io/iobroker/

                      M 1 Antwort Letzte Antwort
                      0
                      • ZefauZ Zefau

                        @Marek sagte in Nello Telegram:

                        wenn ich die Telegram an mehrere user schicken möchte wie mache ich das dann?

                        /**
                         * Send something with Telegram
                         * 
                         * @param       {string}        content         Content to send via Telegram
                         * @param       {array}  		[user=[]]		Users to send the content to
                         * @return      void
                         * 
                         */
                        function msg(content, users = [])
                        {
                            const CONTENT = {
                                text: content,
                                parse_mode: 'HTML'
                            };
                            
                        	if (!Array.isArray(users) || users.length == 0)
                        		sendTo('telegram', CONTENT);
                        	else
                        		users.forEach(user => sendTo('telegram', Object.assign({ user: user }, CONTENT)))
                        }
                        

                        und dann msg('hallo', ['Zefau', 'Marek']) bzw. msg('hallo') schickt an alle.

                        M Offline
                        M Offline
                        Marek
                        schrieb am zuletzt editiert von Marek
                        #32

                        @Zefau

                        /**
                          * Send something with Telegram
                          * 
                          * @param       {string}        content         Content to send via Telegram
                          * @param       {array}  		[user=[]]		Users to send the content to
                          * @return      void
                          * 
                          */
                        function msg(content, users = 'Marco', 'Nadine' )
                        {
                            const CONFIG = {
                                text: content,
                                parse_mode: 'HTML'
                            };
                            
                            sendTo('telegram', user ? Object.assign({user: user}, CONFIG) : CONFIG);
                        }
                        

                        haut irgendwie nicht hin.. grübel. Ich muss mal so nen Java Kurs belegen...

                        ZefauZ 1 Antwort Letzte Antwort
                        0
                        • M Marek

                          @Zefau

                          /**
                            * Send something with Telegram
                            * 
                            * @param       {string}        content         Content to send via Telegram
                            * @param       {array}  		[user=[]]		Users to send the content to
                            * @return      void
                            * 
                            */
                          function msg(content, users = 'Marco', 'Nadine' )
                          {
                              const CONFIG = {
                                  text: content,
                                  parse_mode: 'HTML'
                              };
                              
                              sendTo('telegram', user ? Object.assign({user: user}, CONFIG) : CONFIG);
                          }
                          

                          haut irgendwie nicht hin.. grübel. Ich muss mal so nen Java Kurs belegen...

                          ZefauZ Offline
                          ZefauZ Offline
                          Zefau
                          schrieb am zuletzt editiert von
                          #33

                          @Marek Nimm den neuen Code?

                          Meine Adapter: https://zefau.github.io/iobroker/

                          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

                          883

                          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