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

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    18
    1
    622

  • 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

Nello Telegram

Scheduled Pinned Locked Moved JavaScript
33 Posts 4 Posters 1.6k 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.
  • M Marek

    Hallo Leute :)
    Danke im vorraus für eure Hilfe!

    Ich wollte fragen ob es möglich ist, über Telegram Benachrichtigungen zu erhalten wenn es zuhause geklingelt hat. Das Problem ist das man in der Wohnung die Türklingel oftmals nicht hört und die Benachrichtigungen der Nello app nicht zuverlässig sind. Würde ich gerne eine Telegram Nachricht bekommen wenn es klingelt bzw. wissen wer geklingelt hat.

    Ist das möglich mittels JavaScript oder Blockly?

    Ich freue mich über jede Hilfe.

    Vielen Dank und schöne Grüße

    Marek

    CKMartensC Offline
    CKMartensC Offline
    CKMartens
    wrote on last edited by
    #17

    @Marek

    Mal ein kurzer Quick Guide:
    Nello Adapter installieren und einen Tocken eintragen oder wenn Du noch keinen generiert hast unter https://auth.nello.io/admin einen erstellen und eintragen
    20190927_002.png

    Dann im iot-Adapter den Service eintragen...
    20190927_001.png
    ...und im Nello-Adaper fertig einstellen
    20190927_003.png

    Wenn alles richtig ist werden die Datenpunkte unter anderem beim Klingeln geändert:
    20190927_004.png
    20190927_005.png

    In dem feed-Datenpunkt unter nello.0.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxx.events.feed steht dann als Json-String alle letzten Ereignisse drinnen:

    [{"action":"swipe","data":{"location_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx","name":"Carsten Martens","user_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx","timestamp":1560788361}},
    [...]
    

    Unter iot.0.services.custom_nello (also dem eingerichteten Service) steht dann immer das letzte Event als Json

    {"action": "deny", "data": {"location_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxx"}}
    

    Diese kannst du mit einem Script parsen und auswerten. Schau Dir dazu Zafus Beispiel an.

    Ich hoffe das es etwas geholfen hat.

    1 Reply Last reply
    0
    • M Offline
      M Offline
      Marek
      wrote on last edited by
      #18

      Okay, das Grundprinzip habe ich verstanden. Ich muss jetzt ein Script erstellen, welches mit dann diese Benachrichtigungen erstellt.
      Mache ich das in Scripts? Kann mir da einer einen kurzen Denkanstoß geben. Bitte :)

      J 1 Reply Last reply
      0
      • M Marek

        Okay, das Grundprinzip habe ich verstanden. Ich muss jetzt ein Script erstellen, welches mit dann diese Benachrichtigungen erstellt.
        Mache ich das in Scripts? Kann mir da einer einen kurzen Denkanstoß geben. Bitte :)

        J Offline
        J Offline
        Jan1
        wrote on last edited by
        #19

        @Marek
        Nein musst Du nicht,es reicht erst mal wenn Du das oben machst und dann in Deinem Adapter ein DP hast der zappelt wenn es klingelt.

        1 Reply Last reply
        0
        • M Offline
          M Offline
          Marek
          wrote on last edited by
          #20

          also den Datenpunkt habe ich ja jetzt. Bin nämlich nach der Anleitung oben vorgegangen. Das klappt auch. Nur wie mache ich das jetzt mit dem Script.

          J 1 Reply Last reply
          0
          • M Marek

            also den Datenpunkt habe ich ja jetzt. Bin nämlich nach der Anleitung oben vorgegangen. Das klappt auch. Nur wie mache ich das jetzt mit dem Script.

            J Offline
            J Offline
            Jan1
            wrote on last edited by
            #21

            @Marek
            Du hast jetzt ein DP der sich ändert wenn es klingelt?
            Wie der sich ändert spielt dabei keine Rolle.

            1 Reply Last reply
            0
            • ZefauZ Offline
              ZefauZ Offline
              Zefau
              wrote on last edited by
              #22

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

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

              1 Reply Last reply
              1
              • M Offline
                M Offline
                Marek
                wrote on last edited by
                #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 Reply Last reply
                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
                  wrote on last edited by
                  #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 Reply Last reply
                  1
                  • M Offline
                    M Offline
                    Marek
                    wrote on last edited by
                    #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 Replies Last reply
                    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
                      wrote on last edited by
                      #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 Reply Last reply
                      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
                        wrote on last edited by
                        #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 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          Marek
                          wrote on last edited by
                          #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 Reply Last reply
                          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
                            wrote on last edited by
                            #29

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

                            1 Reply Last reply
                            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
                              wrote on last edited by
                              #30

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

                              ZefauZ 1 Reply Last reply
                              0
                              • M Marek

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

                                ZefauZ Offline
                                ZefauZ Offline
                                Zefau
                                wrote on last edited by 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 Reply Last reply
                                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
                                  wrote on last edited by 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 Reply Last reply
                                  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
                                    wrote on last edited by
                                    #33

                                    @Marek Nimm den neuen Code?

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

                                    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

                                    715

                                    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