Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Pushover + Command = 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

    Pushover + Command = Telegram

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      robsdobs last edited by

      Gibt es schon eine Lösung dafür, das der Befehl ausgeführt wird, aber immer noch "Ich verstehe … nicht?" kommt? Oder mache ich hier etwas Grundsätzliches falsch?

      1367_text2c.png

      Mein Code sieht so aus:

      // #####################################################
      // Telegramm Commandos abarbeiten
      createState("textProcessor", '', function () {
          // text2command writes the value with ack=false. Change "any" is important too, to process repeated commands.
          on({id: "javascript.0.textProcessor", ack: false, change: 'any'}, function (obj) {
               var task = JSON.parse(obj.state.val);
               // value looks like
               // {
               //     "command":      "text to process", // command that was received by text2command
               //     "language":     "en",              // language in command or system language
               //     "withLanguage": false              // indicator if language was defined in command (true) or used default language (false)
               // }
               // response to text2command with ack=true
               //{"text":"ok","id":293581672,"user":"Robert","language":"de","command":"ok","withLanguage":false,"from":"system.adapter.telegram.0"}
               var cmd = task.command.toLowerCase();
               if  (cmd == "ug" || cmd == "#ug") {      
      
                 var eingangstuer = "hm-rpc.0.#######.1.STATE"/*K01_20_Haustuer.STATE*/     // Eingangstür
                 var eingangstuero = "hm-rpc.0.########.OPEN"/*K01_20_Haustuer.OPEN*/     // Eingangstür
                 var garage_tor   = "hm-rpc.0.############.STATE"/*Garage-Rolltor:1.STATE*/         // Garage Rolltor Status
                 var fenster_asr  = "hm-rpc.0.##########.STATE"/*K04_53_ASR-Fenster.STATE*/;     // Kellerfenster Abstellraum
                 var fenster_wrl  = "hm-rpc.0.###############.STATE"/*K02_55_Fenster-links.STATE*/;   // Kellerfenster links  Waschraum
                 var fenster_wrr  = "hm-rpc.0.#############.STATE"/*K02_54_Fenster-rechts.STATE*/;  // Kellerfenster rechts Waschraum
      
                 var eingangstuerV = getState(eingangstuer).val;
                 var eingangstueroV = getState(eingangstuero).val;
                 var garage_torV   = "unbekannt";
                 var fenster_asrV   = "unbekannt";
                 var fenster_wrlV   = "unbekannt";
                 var fenster_wrrV   = "unbekannt";
      
                 var eingangstuerS = "verriegelt";
                 if (eingangstuerV) { eingangstuerS = "entriegelt"; }
                 if (eingangstueroV) { eingangstuerS = "offen"; }
      
                 if (getState(garage_tor).val) { garage_torV = "offen";          } else { garage_torV = "geschlossen"; }
                 if (getState(fenster_asr).val) { fenster_asrV = "offen";        } else { fenster_asrV = "geschlossen"; }
                 if (getState(fenster_wrl).val) { fenster_wrlV = "links offen";  } else { fenster_wrlV = "links geschlossen"; }
                 if (getState(fenster_wrr).val) { fenster_wrrV = "rechts offen"; } else { fenster_wrrV = "rechts geschlossen"; }
      
                 sendTo('telegram', 'Hallo, der Status vom Untergeschoss ist:' +
      
                                   '\n' + '#Eingangstür   ' + eingangstuerS +        //   Zeilenumbruch: \n 
                                   '\n' + '#Rolltor ' + garage_torV + 
                                   '\n' + '#Fenster Waschraum   ' + fenster_wrlV + ' / ' + fenster_wrrV +
                                   '\n' + '#Fenster Abstellraum ' + fenster_asrV +
                                   '\n' + 
                                   '\n' + 'Kellerfenster ' +
                                   '\n' + '- schließen? /kellerfensterschliessen' +   // Neuer BEfehl wird angezeigt! Skript Kellerfensterschließen erforderlich!
                                   '\n' + '- öffnen? /kellerfensteroeffnen' +
                                   '\n' + 
                                   '\n' + 'Was noch?' +
                                   '\n' + '/verbrauchsdaten' +
                                   '\n' + '/torfoto'); 
                 setState("javascript.0.textProcessor", 'OK', true);
               } else if (task.command === 'switch light on') {
                  setState("hm-rpc.0.light", true);
                  setState("javascript.0.textProcessor", 'light is on', true);
               } else {
                  // let it process with predefined rules
                  setState("javascript.0.textProcessor", '', true);
               }
          });
      });
      
      1 Reply Last reply Reply Quote 0
      • S
        Solear last edited by

        Da ist irgend etwas falsch eingestellt.

        Ich habe das Problem nicht (das hilft dir jetzt auch nicht weiter…) und ich steuere alle Kommandos mit den "/befehl". Drücke ich auf einen "#raute" dann zeigt er mir alle Nachrichten wo das #raute vorkommt.

        Wie sieht denn dein Code aus?

        1 Reply Last reply Reply Quote 0
        • R
          robsdobs last edited by

          Den Code hatte ich oben schon in einem Spoiler mit im Beitrag.

          1 Reply Last reply Reply Quote 0
          • S
            Solear last edited by

            Eben war es noch nicht da :lol:

            Mal als Test: lösche mal genau den Teil:

            || cmd == "#ug"
            
            1 Reply Last reply Reply Quote 0
            • S
              Solear last edited by

              Der Text "Ich verstehe nicht…" kommt eigentlich von text2command.

              Hast du da das #ug (nicht) hinterlegt?

              Mein Telegram arbeitet ja komplett ohne text2command.

              1 Reply Last reply Reply Quote 0
              • R
                robsdobs last edited by

                Danke für Deine Mühe!

                Damit ändert sich nur, das er nicht mehr auf "/ug" reagiert, sondern nur auf "ug".

                Ich habe es aber selber gefunden. :oops: Ich hatte im Javascript Adapter den Haken bei Debug drin. Damit wird das SetState nicht ausgeführt. Wenn man das rausnimmt, kommt kein "Ich verstehe nicht…" mehr, sondern das "ok". Mit "setState("javascript.0.textProcessor", ' ', true);" (also einfach auf einleerzeichen setzen) kann man sogar das unterdrücken, so das nur die gewünschte Antwort zurückkommt (dtp, solltest du auch bei dir ausprobieren):
                1367_text2cb.png

                Hier nochmal der Code:

                // #####################################################
                // Telegramm Commandos abarbeiten
                createState("textProcessor", '', function () {
                    log("textprocessor...");
                    // text2command writes the value with ack=false. Change "any" is important too, to process repeated commands.
                    on({id: "javascript.0.textProcessor", ack: false, change: 'any'}, function (obj) {
                         log("OK, text ist da...");
                         var task = JSON.parse(obj.state.val);
                         //log (task.command);
                         // value looks like
                         // {
                         //     "command":      "text to process", // command that was received by text2command
                         //     "language":     "en",              // language in command or system language
                         //     "withLanguage": false              // indicator if language was defined in command (true) or used default language (false)
                         // }
                         // response to text2command with ack=true
                         //{"text":"ok","id":293581672,"user":"Robert","language":"de","command":"ok","withLanguage":false,"from":"system.adapter.telegram.0"}
                         log(cmd);
                         var cmd = task.command.toLowerCase();
                         if  (cmd == "ug" || cmd == "#ug") {      
                           log("OK, commando verstanden...");
                
                           var eingangstuer = "hm-rpc.0.MEQ1113087.1.STATE"/*K01_20_Haustuer.STATE*/     // Eingangstür
                           var eingangstuero = "hm-rpc.0.MEQ1113087.1.OPEN"/*K01_20_Haustuer.OPEN*/     // Eingangstür
                           var garage_tor   = "hm-rpc.0.NEQ0629002.1.STATE"/*Garage-Rolltor:1.STATE*/         // Garage Rolltor Status
                           var fenster_asr  = "hm-rpc.0.NEQ0626198.1.STATE"/*K04_53_ASR-Fenster.STATE*/;     // Kellerfenster Abstellraum
                           var fenster_wrl  = "hm-rpc.0.NEQ0626635.1.STATE"/*K02_55_Fenster-links.STATE*/;   // Kellerfenster links  Waschraum
                           var fenster_wrr  = "hm-rpc.0.NEQ0626208.1.STATE"/*K02_54_Fenster-rechts.STATE*/;  // Kellerfenster rechts Waschraum
                
                           var eingangstuerV = getState(eingangstuer).val;
                           var eingangstueroV = getState(eingangstuero).val;
                           var garage_torV   = "unbekannt";
                           var fenster_asrV   = "unbekannt";
                           var fenster_wrlV   = "unbekannt";
                           var fenster_wrrV   = "unbekannt";
                
                           var eingangstuerS = "verriegelt";
                           if (eingangstuerV) { eingangstuerS = "entriegelt"; }
                           if (eingangstueroV) { eingangstuerS = "offen"; }
                
                           if (getState(garage_tor).val) { garage_torV = "offen";          } else { garage_torV = "geschlossen"; }
                           if (getState(fenster_asr).val) { fenster_asrV = "offen";        } else { fenster_asrV = "geschlossen"; }
                           if (getState(fenster_wrl).val) { fenster_wrlV = "links offen";  } else { fenster_wrlV = "links geschlossen"; }
                           if (getState(fenster_wrr).val) { fenster_wrrV = "rechts offen"; } else { fenster_wrrV = "rechts geschlossen"; }
                
                           sendTo('telegram', 'Hallo, der Status vom Untergeschoss ist:' +
                
                                             '\n' + '#Eingangstür   ' + eingangstuerS +        //   Zeilenumbruch: \n 
                                             '\n' + '#Rolltor ' + garage_torV + 
                                             '\n' + '#Fenster Waschraum   ' + fenster_wrlV + ' / ' + fenster_wrrV +
                                             '\n' + '#Fenster Abstellraum ' + fenster_asrV +
                                             '\n' + 
                                             '\n' + 'Kellerfenster ' +
                                             '\n' + '- schließen? /kellerfensterschliessen' +   // Neuer BEfehl wird angezeigt! Skript Kellerfensterschließen erforderlich!
                                             '\n' + '- öffnen? /kellerfensteroeffnen' +
                                             '\n' + 
                                             '\n' + 'Was noch?' +
                                             '\n' + '/verbrauchsdaten' +
                                             '\n' + '/torfoto'); 
                           setState("javascript.0.textProcessor", '  ', true);
                           //setState("javascript.0.textProcessorAnswer"/*textProcessorAnswer*/, 'OK2', true);
                         } else if (task.command === 'switch light on') {
                            setState("hm-rpc.0.light", true);
                            setState("javascript.0.textProcessor", 'light is on', true);
                         } else {
                            // let it process with predefined rules
                            setState("javascript.0.textProcessor", '', true);
                         }
                    });
                });
                

                Danke nochmal!

                1 Reply Last reply Reply Quote 0
                • S
                  Solear last edited by

                  Schön, dass es geklappt hat!

                  Bei mir kommt auch nur die Antwort zurück, die ich erfrage, also ohne zusätzliche Bestätigungen.

                  Tipp:

                  Setzte ein / vor den Befehlen in den Antworten, dann sind sie direkt in Telegram anklickbar und man muss sie nicht per Hand eintippen. Bei deinem letzten Screenshot steht nur "ug" statt "/ug".

                  In die Antworten setze ich immer auch unten eine Liste der möglichen Kommandos, so kann man immer per einfachen Klick abfragen.
                  1145_bildschirmfoto_vom_2016-09-22_22-49-37.png

                  1 Reply Last reply Reply Quote 0
                  • R
                    robsdobs last edited by

                    @Solear:

                    Schön, dass es geklappt hat!

                    Bei mir kommt auch nur die Antwort zurück, die ich erfrage, also ohne zusätzliche Bestätigungen.

                    Tipp:

                    Setzte ein / vor den Befehlen in den Antworten, dann sind sie direkt in Telegram anklickbar und man muss sie nicht per Hand eintippen. Bei deinem letzten Screenshot steht nur "ug" statt "/ug".

                    In die Antworten setze ich immer auch unten eine Liste der möglichen Kommandos, so kann man immer per einfachen Klick abfragen. `
                    Danke.

                    War nur ein erster Test. Das mache ich noch schön. [emoji6]

                    Gruß

                    1 Reply Last reply Reply Quote 0
                    • D
                      dtp last edited by

                      @robsdobs:

                      Ich habe es aber selber gefunden. :oops: Ich hatte im Javascript Adapter den Haken bei Debug drin. Damit wird das SetState nicht ausgeführt. Wenn man das rausnimmt, kommt kein "Ich verstehe nicht…" mehr, sondern das "ok". Mit "setState("javascript.0.textProcessor", ' ', true);" (also einfach auf einleerzeichen setzen) kann man sogar das unterdrücken, so das nur die gewünschte Antwort zurückkommt (dtp, solltest du auch bei dir ausprobieren) `

                      Danke für den Tipp. Das werde ich mir heute Abend mal anschauen.

                      EDIT: Bei mir war leider kein Haken für das Debuggen gesetzt. Aber ich hatte ja auch nur "Probleme" mit setState in Verbindung mit dem Keyboard. Ansonsten läuft's eigentlich.

                      Gruß,

                      Thorsten

                      1 Reply Last reply Reply Quote 0
                      • P
                        pix last edited by

                        Hallo,

                        ich bin nach wie vor begeistert von den Tasten. Damit macht es richtig Spaß. 261_img_9094_ergebnis.png 261_img_9095_ergebnis.png

                        Skript:

                        ! ````
                        ! var chatname = '[GEHEIM]'; // geheim
                        var idTelegramRequest = "telegram.1.communicate.request";
                        ! function beantworteAnfrage(befehl,taste1,taste2,taste3,taste4) {
                        sendTo('telegram.1', {
                        text: befehl,
                        reply_markup: {
                        keyboard: [[taste1,taste2],[taste3,taste4]],
                        resize_keyboard: true,
                        one_time_keyboard: true
                        }
                        });
                        }
                        ! on(idTelegramRequest, function (obj) {
                        // ++++++++++ Fenster
                        if (obj.state.val == chatname + "Fenster" || obj.state.val == chatname + "/fenster") {
                        var idStatusFenster = "javascript.0.zählen_Fenster.textFensteraufAnsage"/zählen_Fenster.textFensteraufAnsage/;
                        var fenster_status = getState(idStatusFenster).val;
                        beantworteAnfrage(fenster_status.replace(/<.*br>/g, '\n'),'Licht','Webcam','Fenster','TV');
                        }

                        // ++++++++++++++ TV
                        var idTV = "hm-rpc.0.HEQ0150124.1.STATE"/*TV Wohnzimmer.STATE*/;
                        var tv_status = (getState(idTV).val) ? 'Der Fernseher ist eingeschaltet' : 'Der Fernseher ist ausgeschaltet';
                        if  (obj.state.val == chatname + "TV" || obj.state.val == chatname + "/tv") {     
                            beantworteAnfrage(tv_status,'TV ein','TV aus','Status','');
                        }
                        if  (obj.state.val == chatname + "TVeinschalten" || obj.state.val == chatname + "/tveinschalten" || obj.state.val == chatname + "TV ein") {     
                            setState(idTV, true);
                            beantworteAnfrage('Fernseher wurde eingeschaltet.','Licht','Webcam','Fenster','TV aus');
                        }
                        if  (obj.state.val == chatname + "TVausschalten" || obj.state.val == chatname + "/tvausschalten" || obj.state.val == chatname + "TV aus") {     
                            setState(idTV, false);
                            beantworteAnfrage('Fernseher wurde ausgeschaltet.','Licht','Webcam','Fenster','TV ein');
                        }  
                        
                        // /licht
                        var idLichtAus = "scene.0.licht_alles_aus"/*0.licht_alles_aus*/,
                            idLichtAnzahl = "javascript.0.zählen_Lichter.anzahlLichterAn"/*zählen_Lichter.anzahlLichterAn*/,
                            idLichtStatus = "javascript.0.zählen_Lichter.textLichterAn"/*zählen_Lichter.textLichterAn*/;    
                        var lichtanbefehle = 'Alle Lichter in der Wohnung ausgeschaltet\n\n' 
                                           + 'Flur Licht ein? /flurlichtein\n'
                                           + 'Küche Licht ein? /kuechelichtein\n';
                                           // to be continued
                        var lichtausbefehle = 'Folgende Lichter in der Wohnung eingeschaltet:\n\n' 
                                           + getState(idLichtStatus).val + '\n\n'
                                           + 'Alle Lichter aus? /allelichteraus\n'
                                           + ( (getState("scene.0.licht_flur_alles_aus"/*0.licht_flur_alles_aus*/).val) ? 'Flur Licht ein? /flurlichtein\n' : 'Flur Licht aus? /flurlichtaus\n' )
                                           + ( (getState("scene.0.licht_kueche_alles_aus"/*0.licht_kueche_alles_aus*/).val) ? 'Küche Licht ein? /kuechelichtein\n' : 'Küche Licht aus? /kuechelichtaus\n' );    
                                           //tbc
                        
                        var licht_status = (getState(idLichtAnzahl).val === 0) ? lichtanbefehle : lichtausbefehle;
                        if  (obj.state.val == chatname + "Licht" || obj.state.val == chatname + "Lichter" || obj.state.val == chatname + "/licht" || obj.state.val == chatname + "/lichter") {     
                            beantworteAnfrage(licht_status.replace(/<.*br>/g, '\n'),'Licht','alle Lichter aus','Status','');
                        }
                        // Alle Lichter
                        if  (obj.state.val == chatname + "allelichteraus" || obj.state.val == chatname + "/allelichteraus" || obj.state.val == chatname + "alle Lichter aus") {     
                            setState("scene.0.licht_alles_aus"/*0.licht_alles_aus*/, true); // Alle Lichter aus
                            beantworteAnfrage('Alle Lichter in der Wohnung wurden ausgeschaltet.','Licht','Webcam','Fenster','TV');
                        }
                        // Flur
                        if  (obj.state.val == chatname + "flurlichtein" || obj.state.val == chatname + "/flurlichtein") {     
                            setState("hm-rpc.0.FEQ0069673.1.LEVEL"/*Lampe Flur Regal.LEVEL*/, 100); // Flur Lampe ein
                            sendTo('telegram.1', "Flur Licht wurde eingeschaltet.");
                        }
                        if  (obj.state.val == chatname + "flurlichtaus" || obj.state.val == chatname + "/flurlichtaus") {     
                            setState("hm-rpc.0.FEQ0069673.1.LEVEL"/*Lampe Flur Regal.LEVEL*/, 0); // Flur Lampe aus
                            sendTo('telegram.1', "Flur Licht wurde ausgeschaltet.");
                        }
                        // Küche
                        if  (obj.state.val == chatname + "kuechelichtein" || obj.state.val == chatname + "/kuechelichtein") {     
                            setState("hm-rpc.0.JEQ0734088.1.LEVEL"/*Licht Küche Kochzeile.LEVEL*/, 100); // Küche Kochzeile ein    
                            setState("hm-rpc.0.LEQ0269105.1.LEVEL"/*Licht Küche Eckschrank.LEVEL*/, 100); // Küche Eckschrank ein
                            sendTo('telegram.1', "Das Licht in der Küche wurde eingeschaltet.");
                        }
                        if  (obj.state.val == chatname + "kuechelichtaus" || obj.state.val == chatname + "/kuechelichtaus") {     
                            setState("scene.0.licht_kueche_alles_aus"/*0.licht_kueche_alles_aus*/, true); // Küche alles aus
                            sendTo('telegram.1', "In der Küche wurde alles ausgeschaltet.");
                        }
                        
                        // ++++++++++++ Webcam
                        var idScriptWebcam = "javascript.2.scriptEnabled.Test.TextKommandos.Bild_speichern_telegram_senden"/*scriptEnabled.Test.TextKommandos.Bild_speichern_telegram_senden*/;
                        if  (obj.state.val == chatname + "Kamera" || obj.state.val == chatname + "Webcam"|| obj.state.val == chatname + "/webcam") {     
                            beantworteAnfrage('Es wird ein Foto gesendet...','Licht','Webcam','Fenster','TV');
                            setState(idScriptWebcam, true); // Senden des Fotos starten
                        }
                        
                        // ++++++++++ Status
                        var zustand = ['aus','in Betrieb','fertig'];
                        var idWama = "javascript.0.Status.Waschmaschine"/*Status Waschmaschine*/,
                            idSpuema = "javascript.0.Status.Spuelmaschine"/*Status Spuelmaschine*/;
                        var status = ((getState(idWama).val > 0) ? 'Waschmaschine ist ' + zustand[getState(idWama).val] : 'Waschmaschine ist aus.') + '\n'
                                   + ((getState(idSpuema).val > 0) ? 'Spülmaschine ist ' + zustand[getState(idSpuema).val] : 'Spülmaschine ist aus.') + '\n'
                                   + 'Aussen: ' + getState("hm-rpc.0.HEQ0237599.1.TEMPERATURE"/*Temperatur Feuchte Sensoren Balkon.TEMPERATURE*/).val + '°C | '
                                                + getState("hm-rpc.0.HEQ0237599.1.HUMIDITY"/*Temperatur Feuchte Sensoren Balkon.HUMIDITY*/).val + '%';
                                   // weitere Ausgabe von Daten geplant
                                  // Anwesenheit
                                  // 1\. Person Status
                                  // 2\. Person Status
                                  // Hunde Status
                                  // Alarmanlage
                        
                        /*log(getState(idWama).val);
                        log(getState(idSpuema).val);
                        log(status);
                        */
                        if  (obj.state.val == chatname + "Status" || obj.state.val == chatname + "/status") {     
                             beantworteAnfrage(status,'Licht','Webcam','Fenster','TV');
                        }
                        
                        // folgende Zeile nicht löschen!
                        setState(idTelegramRequest,"leer");
                        

                        });

                        ! ````

                        Gruß

                        Pix

                        1 Reply Last reply Reply Quote 0
                        • D
                          dtp last edited by

                          Hi Pix,

                          sehr schöne Lösung.

                          Verwendest Du parallel auch noch text2command für Telegram? Falls ja, kannst Du entweder die Antwort über "text" oder "setState" unterdrücken, um Mehrfachantworten zu vermeiden?

                          Gruß,

                          Thorsten

                          1 Reply Last reply Reply Quote 0
                          • P
                            pix last edited by

                            Hallo Thorsten,

                            ich verwende für diesen Chat eine zweite Instanz von telegram, die nicht mit text2command verbunden ist.

                            Gruß

                            Pix

                            1 Reply Last reply Reply Quote 0
                            • fischi87
                              fischi87 last edited by

                              Servus, ich hab mich jetzt auch mit dem Push + command = Telegram beschäftigt und mir die Script angepasst, bekomme aber zurzeit diese Fehler Meldung im log:

                              der textProcessor erkennt in Objekte was ich in Telegram als Anfrage schicke?!

                              Ach du scheiße, danke für den Hinweis!!!!!!

                              1 Reply Last reply Reply Quote 0
                              • S
                                Solear last edited by

                                Kann zum Problem nichts sagen, aber deine private iCal-URL würde ich rauslöschen :lol:

                                1 Reply Last reply Reply Quote 0
                                • D
                                  dtp last edited by

                                  Mal ne kurze Frage in eine etwas andere Richtung. Bekomme hoffentlich bald meine Apple Watch Series 2. Kann man da auch mit dem Keyboard der Telelgram-App arbeiten, oder geht das wegen des kleinen Screens nicht?

                                  Gruß,

                                  Thorsten

                                  1 Reply Last reply Reply Quote 0
                                  • fischi87
                                    fischi87 last edited by

                                    Servus,

                                    also nach stundenlangen probieren und selber eine Lösung zu finden muss ich mich doch an euch wenden weil ich es einfach nicht hin bekomme, wie kann ich das keyboard in mein script integrieren?

                                    createState("textProcessor", '', function () {
                                      on({id: "javascript.0.textProcessor", ack: false, change: 'any'}, function (obj) {
                                        var task = JSON.parse(obj.state.val);
                                        log (task.command);
                                        if (task.command === "System" || "/System") {
                                    
                                            var media_pi_memory = "rpi.0.memory.memory_free"/*rpi.0.memory.memory_free*/;
                                            var media_pi_temp = "rpi.0.temperature.soc_temp"/*rpi.0.temperature.soc_temp*/;
                                            var media_pi_ping = "ping.0.RaspberryPi.192_168_178_23"/*RaspberryPi*/;
                                            var magic_mirror_memory = "rpi.1.memory.memory_free"/*rpi.1.memory.memory_free*/;
                                            var magic_mirror_temp = "rpi.1.temperature.soc_temp"/*rpi.1.temperature.soc_temp*/;
                                            var magic_mirror_ping = "ping.0.RaspberryPi.192_168_178_24"/*Magic-Mirror*/;
                                            var radio_garage_memory = "rpi.2.memory.memory_free"/*rpi.2.memory.memory_free*/;
                                            var radio_garage_temp = "rpi.2.temperature.soc_temp"/*rpi.2.temperature.soc_temp*/;
                                            var radio_garage_ping = "ping.0.RaspberryPi.192_168_178_32"/*Radio-Garage*/;
                                    
                                            var mediapimemory = getState(media_pi_memory).val;
                                            var mediapitemp = getState(media_pi_temp).val;
                                            var mediapiping = getState(media_pi_ping).val;
                                            var magicmirrormemory = getState(magic_mirror_memory).val;
                                            var magicmirrortemp = getState(magic_mirror_temp).val;
                                            var magicmirrorping = getState(magic_mirror_ping).val;
                                            var radiogaragememory = getState(radio_garage_memory).val;
                                            var radiogaragetemp = getState(radio_garage_temp).val;
                                            var radiogarageping = getState(radio_garage_ping).val;
                                    
                                            if(mediapiping) mediapiping = "Online";
                                            else mediapiping = "Offline";
                                            if(magicmirrorping) magicmirrorping = "Online";
                                            else magicmirrorping = "Offline";
                                            if(radiogarageping) radiogarageping = "Online";
                                            else radiogarageping = "Offline";
                                    
                                          sendTo('telegram.0',
                                              '\n' + 'Media-Pi: ' + ' Memory ' +  mediapimemory + ' MB  / ' + ' Temperatur ' + mediapitemp + ' °C  / ' + mediapiping +
                                              '\n' + 'Magic-Mirror: ' + ' Memory ' + magicmirrormemory + ' MB  / ' + ' Temperatur ' + magicmirrortemp + ' °C  / ' + magicmirrorping +
                                              '\n' + 'Radio-Garage: ' + ' Memory ' + radiogaragememory + ' MB  / ' + ' Temperatur ' + radiogaragetemp + ' °C  / ' + radiogarageping
                                                        );
                                    
                                          setState("javascript.0.textProcessor", ' ', true);
                                        } else {
                                            // let it process with predefined rules
                                            setState("javascript.0.textProcessor", '', true);
                                        }
                                      });
                                    });
                                    

                                    beziehungsweise wie kann ich es "sicher" machen? (nur meine chatid)

                                    kann mir jemand helfen???

                                    danke euch!

                                    1 Reply Last reply Reply Quote 0
                                    • N
                                      nobob last edited by

                                      @Thorsten alias dtp:

                                      Du hast auf Seite 3 folgendes geschrieben:

                                      ` > …

                                      Ich nutze Telegram auf meiner CCU2, um mir in Abhängigkeit von einer definierten Priorität unterschiedliche Push-Nachrichten zusenden zu lassen. Dafür habe ich drei verschiedene Bots ("HomeMatic Info", "HomeMatic Warnung" und "HomeMatic Alarm") eingerichtet und in der Gruppe "HomeMatic" zusammengefasst.

                                      ... `

                                      Nun zu meiner Frage: Wie hast Du den diese 3 Bots zu einer Gruppe hinzufügen können. Irgendwie bekomme ich das nicht hin.

                                      Wenn ich bei Telegram eine Gruppe erstellen möchte, dann kann ich nur von meinen Kontakten jemanden auswählen und eine Gruppe erstellen.

                                      Anschließend ist es möglich die Bots der erstellten Gruppe hinzuzufügen, aber ich möchte nur eine Gruppe mit den Bots.

                                      Eine Gruppe nur mit Bots kann ich aber irgendwie nicht erstellen.

                                      Ich möchte noch erwähnen, dass ich ein Android System einsetze.

                                      Für eine kurze Antwort wäre ich dankbar.

                                      Ich wünsche dann noch einen schönen Samstag Abend und verbleibe mit

                                      Freundlichen Grüßen

                                      nobob

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        pix last edited by

                                        Halloi fischi87,@fischi87:

                                        Servus,

                                        also nach stundenlangen probieren und selber eine Lösung zu finden muss ich mich doch an euch wenden weil ich es einfach nicht hin bekomme, wie kann ich das keyboard in mein script integrieren? `
                                        hast du http://forum.iobroker.net/viewtopic.php?f=23&t=2285&start=100#p35292 mal in den Spoiler gesehen? Da ist die Definition des Keyboards innerhalb von sendTo verwendet worden. Das fehlt bei dir ja ganz.

                                        Gruß

                                        Pix

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          dtp last edited by

                                          @nobob:

                                          Nun zu meiner Frage: Wie hast Du den diese 3 Bots zu einer Gruppe hinzufügen können. Irgendwie bekomme ich das nicht hin. `

                                          Du warst schon auf dem richtigen Weg. In der Tat ist es bisher nicht möglich, eine nur aus Bots bestehende Gruppe in Telegram anzulegen. Daher legst Du zunächst eine Gruppe aus einem realen Account und einem Bot an, fügst dann die anderen Bots hinzu und löscht den realen Account abschließend wieder aus der Gruppe heraus. That's it.

                                          Gruß,

                                          Thorsten

                                          1 Reply Last reply Reply Quote 0
                                          • fischi87
                                            fischi87 last edited by

                                            @pix:

                                            Halloi fischi87,@fischi87:

                                            Servus,

                                            also nach stundenlangen probieren und selber eine Lösung zu finden muss ich mich doch an euch wenden weil ich es einfach nicht hin bekomme, wie kann ich das keyboard in mein script integrieren? `
                                            hast du http://forum.iobroker.net/viewtopic.php?f=23&t=2285&start=100#p35292 mal in den Spoiler gesehen? Da ist die Definition des Keyboards innerhalb von sendTo verwendet worden. Das fehlt bei dir ja ganz.

                                            Gruß

                                            Pix `

                                            danke für deine Antwort aber ich habe es nun hin bekommen…war etwas blind 🙂

                                            trotzdem danke für Antwort.

                                            bin echt begeistert was man alles anstellen kann, ist ja Wahnsinn

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            711
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            23
                                            137
                                            30245
                                            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