Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Rolladensteuerung über 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

    Rolladensteuerung über Telegram

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      Jan1 @dulles last edited by

      @dulles
      Ah Funk, da liegt der Hund begraben😁

      1 Reply Last reply Reply Quote 0
      • D
        dulles @Jan1 last edited by

        @Jan1
        ich möchte halt nicht erst eine VPN Verbindung aufbauen und dann entsprechend den Rolladen steuern.
        Fritzbox ist bei mir nur noch ein Router. Ansinsten habe ich ein komplettes Unifi System laufen.
        Und winer Portweiterleitung kommt schon garnicht in Frage.

        pdulles

        J 1 Reply Last reply Reply Quote 0
        • wendy2702
          wendy2702 @kmxak last edited by wendy2702

          @kmxak sagte in Rolladensteuerung über Telegram:

          Meine Umsetzung basiert auf dem Grundgerüst.

          Ob du so nett bist und deine Umsetzung mal als Export zur Verfügung stellst?

          1 Reply Last reply Reply Quote 0
          • D
            dulles @kmxak last edited by dulles

            @kmxak
            Da hast Du eine super Arbeit geleistet.
            An einem Export wäre ich auch interessiert.

            pdulles

            1 Reply Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active last edited by

              Oder als normales JS
              Anbei mal ein Beispiel:

              
              // Telegram: Antworten auf Handy Eingaben
              
              
              function weiter() {
              
              //Variablen
                  var vEingabe = getState("telegram.0.communicate.request").val;   // Eingabe per telegram auf dem Handy
                  var vText = "";
                  var vUser = vEingabe.substring(1, vEingabe.indexOf("]"));
                  vEingabe = vEingabe.substring(vEingabe.indexOf("]") + 1, vEingabe.length);
              log (vUser);
              log (vEingabe);
                  if (vEingabe == "/?") {
                      vText = "Auswahlliste:" + "\n--------------------------------------------------------" + "\n";
                      vText = vText + "/Aussenbereich\n" + "/Blitzer\n" + "/Dachfenster\n" + "/Dieter_Standort\n" + "/DWD\n" + "/Garage\n" + "/Heizung\n" + "/Licht\n";
                      vText = vText + "/Systemvariablen\n" + "/Tanks\n" + "/Video\n" + "/Zusammenfassung";
                      sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });
                  }
              
              
                  if (vEingabe == "/Aussenbereich") {
                      vText = "Außenbereich:" + "\n--------------------------------------------------------" + "\n";
                      vText = vText + "Temp Sensor Garage: " + getState("hm-rpc.0.KEQ0766778.1.TEMPERATURE").val + "°C\n";
                      vText = vText + "Temp Kombisensor: " + getState("hm-rpc.0.LEQ1221393.1.TEMPERATURE").val + "°C\n";
                      vText = vText + "Windgeschwindigkeit: " + parseInt(getState("hm-rpc.0.LEQ1221393.1.WIND_SPEED").val*10)/10 + " km/h\n";
                      vText = vText + "Photovoltaik:\n";
                      vText = vText + " - Strang 1: " + parseInt(getState("javascript.0.Status.Photovoltaik.Leistung_Strang1").val) + " W\n";
                      vText = vText + " - Strang 2: " + parseInt(getState("javascript.0.Status.Photovoltaik.Leistung_Strang2").val) + " W\n";
                      vText = vText + " - Gesamt: " + getState("javascript.0.Status.Photovoltaik.Tagesleistung").val + " kW\n";
                      vText = vText + "Terrasse Lampe: " + getState("hm-rpc.0.KEQ0926502.2.STATE").val + "\n";
                      vText = vText.replace(/false/g, 'aus'); 
                      vText = vText.replace(/true/g, 'an'); 
                      vText = vText + "Terrasse Bewegung: " + getState("hm-rpc.0.LEQ0492702.1.MOTION").val + "\n";
                      vText = vText.replace(/false/g, 'nein'); 
                      vText = vText.replace(/true/g, 'ja'); 
                      vText = vText + "Brunnen: " + getState("javascript.0.Status.Sonstige.Brunnen").val + "\n";
                      vText = vText + "Wassertränke: " + getState("javascript.0.Status.Sonstige.Wassertraenke").val + "\n";
                      vText = vText + "Lichtsensor-Ost: " + parseInt(getState("hm-rpc.0.OEQ2281298.1.LUX").val) + " Lux\n";
                      vText = vText + "Lichtsensor-Süd: " + parseInt(getState("hm-rpc.0.NEQ0322032.1.LUX").val) + " Lux\n";
                      vText = vText + "Barometer Tränke: " + getState("hm-rega.0.36100").val.toFixed(1) + " hPa" + "\n";
                      vText = vText + "Barometer Wiffi2: " + getState("hm-rega.0.40977").val.toFixed(1) + " hPa" + "\n";
                      //vText = vText + "Barometer Zisterne: " + getState("hm-rega.0.33892").val.toFixed(1) + " hPa" + "\n";
                      vText = vText.replace(/false/g, 'aus'); 
                      vText = vText.replace(/true/g, 'an'); 
                      sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });
                  }
              
              
                  if (vEingabe == "/Blitzer") {
                      //..
                  }
              
              
                  if (vEingabe == "/Dieter_Standort") {
                      var ort = getState('javascript.0.Status.Maps.Text_von_Tasker').val;
                      var v_Breitengrad = getState('javascript.0.Status.Maps.Breitengrad1').val;
                      var v_Laengengrad = getState('javascript.0.Status.Maps.Längengrad1').val;
                      sendTo('telegram', {longitude: v_Laengengrad, latitude: v_Breitengrad});
                      sendTo('telegram', "Dieter Standort: " + ort ); 
                  }
              
              
              on({id: "telegram.0.communicate.request"}, function() {   // Nachricht von telegram
                  log("Auslöser Telegram");
                  weiter();
              }); 
              
              
              
              1 Reply Last reply Reply Quote 1
              • wendy2702
                wendy2702 last edited by

                Was zusätzlich zu dem Script ist noch erforderlich?

                Wenn ich das Script einfüge, sollte ich in Telegramm dann ein Menü sehen oder wie muss ich mir das vorstellen?

                1 Reply Last reply Reply Quote 0
                • bahnuhr
                  bahnuhr Forum Testing Most Active last edited by

                  Das Script reagiert auf die Veränderung der Var.: telegram.0.communicate.request
                  (siehe on ganz unten)

                  Und wenn du nun im Handy (telegram) /? sendest dann bekommst du zurück das Menü.
                  Zeile 14 ff.

                  Und dann kannst du im Handy einfach anklicken:
                  bei mir:
                  Aussenbereich, Blitzer, Dachfenster, etc..
                  (das kannst du ändern wie du möchtest.

                  Und dann im Script dann einfach auf die Veränderungen reagieren.

                  Also, z.B.
                  die fügst in Zeile 16 anstatt: /Aussbereich ein /Rollo_WZ_runter

                  Dann ändere in 22 das ab auf /Rollo_WZ_runter
                  und dann script schreiben (also setState) dass dein Rollo runter fährt.

                  mfg

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

                    Danke.

                    Das scheint mir das Richtige für meine Frau zur Rolladen Steuerung zu sein.

                    Mal dran versuchen.

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

                      Gerade mal mit dem Script versucht.

                      So wie ich es Verstanden habe sollte ich in Telegramm eine Antwort bekommen wenn ich das sende:

                      /?
                      

                      Ich bekomme aber nur das als Antwort zurück:

                      Ich verstehe "#?" nicht
                      

                      Jemand eine Idee?

                      1 Reply Last reply Reply Quote 0
                      • bahnuhr
                        bahnuhr Forum Testing Most Active last edited by

                        Bei mir siehts so aus:
                        d6806e8b-8179-406b-9d74-ee7b316ce84d-grafik.png

                        Eingabe im Handy: /?
                        Dann kommt Menü.
                        Klick auf /Zusammenfassung
                        Ergebnis wird dargestellt.

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

                          Irgendwie macht der Text2Command Adapter aus dem "/" eine "#":

                          So kommt es in Telegramm an:

                          1b64d3dc-b4e7-49fd-8fac-d714dfd26bd8-image.png

                          Das macht Text2Command daraus:

                          text2command.0	2019-03-06 14:30:35.148	info	processText: "#?"
                          

                          Wer oder was wandelt denn das Zeichen um ?

                          1 Reply Last reply Reply Quote 0
                          • bahnuhr
                            bahnuhr Forum Testing Most Active last edited by

                            warum
                            text2command ????

                            richtig ist doch -telegram.0:
                            b4f89252-b777-4d70-8d90-5067c127545f-grafik.png

                            1 Reply Last reply Reply Quote 0
                            • J
                              Jan1 @dulles last edited by

                              @dulles sagte in Rolladensteuerung über Telegram:

                              @Jan1
                              ich möchte halt nicht erst eine VPN Verbindung aufbauen und dann entsprechend den Rolladen steuern.
                              Fritzbox ist bei mir nur noch ein Router. Ansinsten habe ich ein komplettes Unifi System laufen.
                              Und winer Portweiterleitung kommt schon garnicht in Frage.

                              pdulles

                              Jeder wie er es will. Ich schau mir das mal mit Telegram an, allerdings nicht zum Steuern, sondern zum Basteln was man da so alles mit anstellen kann.
                              Mit der Fritz APP sind das genau 5 Klicks inklusive Aufruf der APP. Der sechste Klick steuert schon und die VPN Verbindung wird automatisch geöffnet, also einfacher gehts fast nicht.

                              bahnuhr 1 Reply Last reply Reply Quote 0
                              • bahnuhr
                                bahnuhr Forum Testing Most Active last edited by

                                Nachtrag:
                                Bei dir steht doch:
                                [Mirko]/?
                                müsst doch so richtig sein.

                                Und durch das Script:

                                    var vUser = vEingabe.substring(1, vEingabe.indexOf("]"));
                                
                                    vEingabe = vEingabe.substring(vEingabe.indexOf("]") + 1, vEingabe.length);
                                
                                log (vUser);
                                
                                log (vEingabe);
                                

                                müsste doch im log erscheinen:
                                Bei vUser => mirko
                                Bei vEingabe => /?

                                1 Reply Last reply Reply Quote 0
                                • bahnuhr
                                  bahnuhr Forum Testing Most Active @Jan1 last edited by

                                  @Jan1 sagte in Rolladensteuerung über Telegram:

                                  also einfacher gehts fast nicht.

                                  mit Telegram:
                                  Eingabe: /?
                                  und dann klick

                                  Also insgesamt 3 Klicks.

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

                                    Nur so nebenbei..
                                    Kennt ihr die Funktion im Telegram-Adapter? Ist noch nicht ganz 100% fertig implementiert glaube ich.. Aber funktioniert schon so.. 😉

                                    a37d0a88-240a-4880-9fb3-e638125221c5-image.png

                                    9ef23bbf-5f66-4ec3-b75b-a7cdf202e26e-image.png

                                    54491012-e907-4cab-b0b1-43e61481eb20-image.png

                                    lobomau wendy2702 3 Replies Last reply Reply Quote 0
                                    • wendy2702
                                      wendy2702 last edited by wendy2702

                                      Der Trigger scheint bei mir nicht zu funktionieren.

                                      Fehlt eventuell am Ende des Scriptes noch etwas bzw. welche Version Javascript nutzt du?

                                      Wenn ich das Script einfüge meckert er auch einen Compile fehler an:

                                      d2069477-43f9-4c5b-9d0c-20eff0573213-image.png code_text

                                      Habe dann am am Ende das angefügt:

                                      }
                                      

                                      Weiß aber nicht ob das so richtig ist und denke da fehlt irgendetwas da bei mir nicht getriggert wird.

                                      bahnuhr 1 Reply Last reply Reply Quote 0
                                      • bahnuhr
                                        bahnuhr Forum Testing Most Active @wendy2702 last edited by

                                        @wendy2702
                                        füge doch mal dein komplettes Script ein.

                                        Was steht denn in Zeile 1.

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

                                          Ist eigentlich genau das was du gepostet hast nur um die eine geschweifte Klammer am Ende ergänzt:

                                           
                                          // Telegram: Antworten auf Handy Eingaben
                                           
                                           
                                          function weiter() {
                                           
                                          //Variablen
                                              var vEingabe = getState("telegram.0.communicate.request").val;   // Eingabe per telegram auf dem Handy
                                              var vText = "";
                                              var vUser = vEingabe.substring(1, vEingabe.indexOf("]"));
                                              vEingabe = vEingabe.substring(vEingabe.indexOf("]") + 1, vEingabe.length);
                                          log (vUser);
                                          log (vEingabe);
                                              if (vEingabe == "/?") {
                                                  vText = "Auswahlliste:" + "\n--------------------------------------------------------" + "\n";
                                                  vText = vText + "/Aussenbereich\n" + "/Blitzer\n" + "/Dachfenster\n" + "/Dieter_Standort\n" + "/DWD\n" + "/Garage\n" + "/Heizung\n" + "/Licht\n";
                                                  vText = vText + "/Systemvariablen\n" + "/Tanks\n" + "/Video\n" + "/Zusammenfassung";
                                                  sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });
                                              }
                                           
                                           
                                              if (vEingabe == "/Aussenbereich") {
                                                  vText = "Außenbereich:" + "\n--------------------------------------------------------" + "\n";
                                                  vText = vText + "Temp Sensor Garage: " + getState("hm-rpc.0.KEQ0766778.1.TEMPERATURE").val + "°C\n";
                                                  vText = vText + "Temp Kombisensor: " + getState("hm-rpc.0.LEQ1221393.1.TEMPERATURE").val + "°C\n";
                                                  vText = vText + "Windgeschwindigkeit: " + parseInt(getState("hm-rpc.0.LEQ1221393.1.WIND_SPEED").val*10)/10 + " km/h\n";
                                                  vText = vText + "Photovoltaik:\n";
                                                  vText = vText + " - Strang 1: " + parseInt(getState("javascript.0.Status.Photovoltaik.Leistung_Strang1").val) + " W\n";
                                                  vText = vText + " - Strang 2: " + parseInt(getState("javascript.0.Status.Photovoltaik.Leistung_Strang2").val) + " W\n";
                                                  vText = vText + " - Gesamt: " + getState("javascript.0.Status.Photovoltaik.Tagesleistung").val + " kW\n";
                                                  vText = vText + "Terrasse Lampe: " + getState("hm-rpc.0.KEQ0926502.2.STATE").val + "\n";
                                                  vText = vText.replace(/false/g, 'aus'); 
                                                  vText = vText.replace(/true/g, 'an'); 
                                                  vText = vText + "Terrasse Bewegung: " + getState("hm-rpc.0.LEQ0492702.1.MOTION").val + "\n";
                                                  vText = vText.replace(/false/g, 'nein'); 
                                                  vText = vText.replace(/true/g, 'ja'); 
                                                  vText = vText + "Brunnen: " + getState("javascript.0.Status.Sonstige.Brunnen").val + "\n";
                                                  vText = vText + "Wassertränke: " + getState("javascript.0.Status.Sonstige.Wassertraenke").val + "\n";
                                                  vText = vText + "Lichtsensor-Ost: " + parseInt(getState("hm-rpc.0.OEQ2281298.1.LUX").val) + " Lux\n";
                                                  vText = vText + "Lichtsensor-Süd: " + parseInt(getState("hm-rpc.0.NEQ0322032.1.LUX").val) + " Lux\n";
                                                  vText = vText + "Barometer Tränke: " + getState("hm-rega.0.36100").val.toFixed(1) + " hPa" + "\n";
                                                  vText = vText + "Barometer Wiffi2: " + getState("hm-rega.0.40977").val.toFixed(1) + " hPa" + "\n";
                                                  //vText = vText + "Barometer Zisterne: " + getState("hm-rega.0.33892").val.toFixed(1) + " hPa" + "\n";
                                                  vText = vText.replace(/false/g, 'aus'); 
                                                  vText = vText.replace(/true/g, 'an'); 
                                                  sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });
                                              }
                                           
                                           
                                              if (vEingabe == "/Blitzer") {
                                                  //..
                                              }
                                           
                                           
                                              if (vEingabe == "/Dieter_Standort") {
                                                  var ort = getState('javascript.0.Status.Maps.Text_von_Tasker').val;
                                                  var v_Breitengrad = getState('javascript.0.Status.Maps.Breitengrad1').val;
                                                  var v_Laengengrad = getState('javascript.0.Status.Maps.Längengrad1').val;
                                                  sendTo('telegram', {longitude: v_Laengengrad, latitude: v_Breitengrad});
                                                  sendTo('telegram', "Dieter Standort: " + ort ); 
                                              }
                                           
                                           
                                          on({id: "telegram.0.communicate.request"}, function() {   // Nachricht von telegram
                                              log("Auslöser Telegram");
                                              weiter();
                                          }); 
                                           
                                           
                                          }
                                          

                                          Muss denn hier im Telegramm Adapter noch etwas umgestellt werden?

                                          2a3d48e2-dfd2-425d-a765-a85be2579978-image.png

                                          BuZZy 1 Reply Last reply Reply Quote 0
                                          • BuZZy
                                            BuZZy @wendy2702 last edited by

                                            @wendy2702 sagte in Rolladensteuerung über Telegram:

                                            CODE...

                                            Deine eingefügte } Klammer ist zu tief.. Die gehört in Zeile 62!

                                            Also Zeile 70 nach 62 verschieben.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            900
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            49
                                            3347
                                            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