Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Nello Telegram

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Nello Telegram

    This topic has been deleted. Only users with topic management privileges can see it.
    • Zefau
      Zefau @Marek last edited by

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

      1 Reply Last reply Reply Quote 1
      • M
        Marek last edited by

        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 Zefau 2 Replies Last reply Reply Quote 0
        • J
          Jan1 @Marek last edited by

          @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 Reply Quote 0
          • Zefau
            Zefau @Marek last edited by

            @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 1 Reply Last reply Reply Quote 0
            • M
              Marek last edited by

              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 Reply Quote 1
              • M
                Marek @Marek last edited by

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

                1 Reply Last reply Reply Quote 0
                • M
                  Marek @Zefau last edited by

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

                  Zefau 1 Reply Last reply Reply Quote 0
                  • Zefau
                    Zefau @Marek last edited by 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 1 Reply Last reply Reply Quote 0
                    • M
                      Marek @Zefau last edited by 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...

                      Zefau 1 Reply Last reply Reply Quote 0
                      • Zefau
                        Zefau @Marek last edited by

                        @Marek Nimm den neuen Code?

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        937
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        4
                        33
                        1120
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo