Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter telegram-menu v.1.6.x

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter telegram-menu v.1.6.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      Willi-Wunder @Michael Roling last edited by

      @michael-roling
      Erstmal vielen Dank für den tollen Adapter, gestern zufällig entdeckt und gleich ausprobiert. Hab mich kurz eingelesen und schon die ersten Menüs in Telegram erstellt. Hatte diese früher in Blockly mühsam erstellt. In deinem Adapter ist das viel schneller und vor allem übersichtlicher darstellbar. Änderungen können viel besser und schneller gemacht werden.
      Auch den gemeldeten Bug innerhalb weniger Stunden behoben, mega. 👍 👍 👍
      Werde meine Menüs aus dem Blockly jetzt Stück für Stück in deinem Adpater nachbauen. Bei den Rollos bin ich mir noch nicht sicher, ob ich hier den Begriff "Öffnen" in jedem Raum verwenden darf, da dieser Begriff ja sonst doppelt ist. Im Blockly hatte ich daher "1 Öffnen" "2 Öffnen"-........ verwenden müssen, da sonst alle Rollos angesprochen wurden.

      Gruß Willi

      Michael Roling 1 Reply Last reply Reply Quote 0
      • Michael Roling
        Michael Roling Developer @Willi-Wunder last edited by

        @willi-wunder danke, am besten benutze dafür die submenus

        W liv-in-sky 2 Replies Last reply Reply Quote 0
        • W
          Willi-Wunder @Michael Roling last edited by Willi-Wunder

          @michael-roling
          Habe Somfy Motoren und bisher die Befehle im Blockly mit "Öffnen","Schließen","My-Position","Stopp" gehabt.
          Mit den Submenus machst du das jetzt über Eingabe der Prozentwerte wenn ich das jetzt richtig verstanden haben, oder?

          Muss mich damit noch etwas länger beschäftigen, hab gestern erstmal rein geschnuppert. 🙂

          Vielen Dank.

          Gruß Willi

          1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Michael Roling last edited by liv-in-sky

            @michael-roling

            sorry - brauche schon wieder deine hilfe - es funktioniert alles sehr gut bis auf ein inline-keyboard. das funktionierte mal - ich habe nix geändert - absichtlich

            der fehler zuerst:

            
            telegram-menu.0
            2023-10-14 19:54:09.233	debug	Error1 {}
            
            telegram-menu.0
            2023-10-14 19:54:09.232	debug	Group: "liv-in-sky"
            

            das menu definiert
            Image 158.png

            setState sieht so aus
            Image 157.png

            Michael Roling Negalein 3 Replies Last reply Reply Quote 0
            • Michael Roling
              Michael Roling Developer @liv-in-sky last edited by

              @liv-in-sky schaue ich mir an.

              1 Reply Last reply Reply Quote 1
              • Michael Roling
                Michael Roling Developer @liv-in-sky last edited by

                @liv-in-sky so funktioniert wieder

                liv-in-sky 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @Michael Roling last edited by

                  @michael-roling

                  leider nein - jetzt kommt das:

                  telegram-menu.0
                  	2023-10-14 22:21:00.579	debug	SubmenuData3[]
                  telegram-menu.0
                  	2023-10-14 22:21:00.579	debug	Submenu data [null,null,null,[]]
                  telegram-menu.0
                  	2023-10-14 22:21:00.579	error	Error Switch{}
                  telegram-menu.0
                  	2023-10-14 22:21:00.578	debug	{"device2Switch":"","data":{"an":{"nav":[["Lüfter5","outSide","getStandort"],["TestDP"],["IN","OUT"],["Clear","CompAus","➡ Grüner"]],"text":"Startseite aktualisiert ...."},"➡ Grüner":{"nav":[["MelPic","MelSet"],["SonderBeginn","SonderEnde","SonderPic"],["MelBild","PostGPS"],["BACK ↩"]],"text":"Wähle eine Aktion"},"BACK ↩":{"nav":[["menu:back"]],"text":"Wähle eine Aktion"},"outSide":{"nav":[["menu:number0-6-1- :Aussen:"]],"text":"Wähle eine Aktion"},"Lüfter5":{"switch":[{"id":"0_userdata.0.CONTROL-OWN.Luefter5","value":"!","toggle":true,"confirm":"true","returnText":"Lüfter ist jetzt: && ack:true"}]},"TestDP":{"switch":[{"id":"0_userdata.0.CONTROL-OWN.Luefter5","value":true,"toggle":true,"confirm":"true","returnText":"{\"id\":\"0_userdata.0.CONTROL-OWN.AAATEST.TestString4\",\"text\":\"wert ist &&\"}"}]},"IN":{"switch":[{"id":"0_userdata.0.CONTROL-OWN.AAATEST.telegramInnen","value":"!","toggle":true,"confirm":"true","returnText":"ack:true"}]},"OUT":{"switch":[{"id":"0_userdata.0.CONTROL-OWN.AAATEST.telegramAUSSEN","value":"!","toggle":true,"confirm":"true","returnText":"ack:true"}]},"MelBild":{"switch":[{"id":"0_userdata.0.CONTROL-OWN.TRACCAR.sendTelegramMelikeGesamtBild","value":"-","toggle":true,"confirm":"true","returnText":"-"}]},"Clear":{"switch":[{"id":"0_userdata.0.CONTROL-OWN.TelegramDelete3Chat","value":"-","toggle":true,"confirm":"true","returnText":"lösche Verlauf"}]},"CompAus":{"switch":[{"id":"0_userdata.0.CONTROL-OWN.fx6300","value":false,"toggle":true,"confirm":"true","returnText":"Computer wird abgeschalten! Value: &&"}]},"SonderBeginn":{"switch":[{"id":"0_userdata.0.CONTROL-OWN.TRACCAR.SONDERFAHRT.SonderfahrtBeginn","value":true,"toggle":false,"confirm":"true","returnText":"Name und Kilometer (mit Komma){\"id\":\"0_userdata.0.CONTROL-OWN.TRACCAR.SONDERFAHRT.BeginnKM\",\"text\":\"Kilometer Start ist &&\"}"}]},"SonderEnde":{"switch":[{"id":"0_userdata.0.CONTROL-OWN.TRACCAR.SONDERFAHRT.SonderfahrtEnde","value":true,"toggle":false,"confirm":"true","returnText":"{\"id\":\"0_userdata.0.CONTROL-OWN.TRACCAR.SONDERFAHRT.EndeKM\",\"text\":\"Kilometer Ende ist &&\"}"}]},"MelSet":{"switch":[{"id":"0_userdata.0.CONTROL-OWN.TRACCAR.MelikeSchreiben","value":"-","toggle":true,"confirm":"true","returnText":"Wert ist &&"}]},"PostGPS":{"switch":[{"id":"0_userdata.0.CONTROL-OWN.TRACCAR.postGPSData","value":true,"toggle":false,"confirm":"true","returnText":"{\"id\":\"0_userdata.0.CONTROL-OWN.TRACCAR.postGPSResult\",\"text\":\"GPS Post ist:\\n&&\"}"}]},"Aussen":{"switch":[{"id":"0_userdata.0.CONTROL-OWN.MOTION.Standort","value":"!","toggle":false,"confirm":"true","returnText":"Standort: && ack:true"}]},"getStandort":{"getData":[{"id":"0_userdata.0.CONTROL-OWN.MOTION.Standort","text":"Standort ist momentan: &&","newline":"true"}]},"MelPic":{"sendPic":[{"id":"-","delay":"5000","fileName":"/opt/iobroker/iobrokerMelike.png"}]},"SonderPic":{"sendPic":[{"id":"-","delay":"5000","fileName":"/opt/iobroker/iobrokerSonder.png"}]}},"user":"liv-in-sky","value":6}
                  
                  1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @Michael Roling last edited by liv-in-sky

                    @michael-roling

                    EDIT - FALSCHMELDUNG

                    jetzt funktioniert auch der rückgbewert mit einer anderen id nicht mehr

                    1 Reply Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky last edited by

                      @michael-roling

                      vergiss den post mit dem rückgabewert - jetzt funktioniert es wieder - keine ahnung was eben los war

                      Michael Roling 1 Reply Last reply Reply Quote 0
                      • Michael Roling
                        Michael Roling Developer @liv-in-sky last edited by

                        @liv-in-sky also funktioniert alles wieder?

                        liv-in-sky 1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @Michael Roling last edited by

                          @michael-roling

                          guten morgen

                          nein - das inline keyboard nicht

                          https://forum.iobroker.net/post/1060702

                          Michael Roling 1 Reply Last reply Reply Quote 0
                          • Michael Roling
                            Michael Roling Developer @liv-in-sky last edited by

                            @liv-in-sky ein neuer Test steht bereit

                            liv-in-sky 1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @Michael Roling last edited by liv-in-sky

                              @michael-roling

                              vielen dank - jetzt flutscht das wieder mit dem inline-keyboard 🙂
                              ps
                              die funktion mit dem rückgabewert eines anderen dp-tes ist echt gold wert !!!

                              Michael Roling 1 Reply Last reply Reply Quote 1
                              • Michael Roling
                                Michael Roling Developer @liv-in-sky last edited by

                                @liv-in-sky freut mich wenn es dir gefällt

                                1 Reply Last reply Reply Quote 1
                                • Michael Roling
                                  Michael Roling Developer last edited by Michael Roling

                                  Neues Feature:
                                  Wenn man beim öffnen den Status einer bestimmenten ID bekommen möchte kann man diese Config im Textfeld nutzen, egal ob in einer normalen Navigation oder in einen Submenu! Der Text kann frei gewählt werden, und die Position des {status:...} ebenso, dieses wird dann einfach durch den Wert ersetzt.
                                  c08580d0-416e-40bd-888d-9d52a4ae336d-grafik.png
                                  Das Ergebnis sieht dann so aus!
                                  b3db990a-129d-4018-a014-7c4b6419341c-grafik.png

                                  Als nächstes wäre der Gedanke die ID selbst in einen Untermenu einzutragen, und in dem Textfeld durch einen eindeutigen Platzhalter zu ersetzen. Vorteil wäre dann, das ich mehrere IDs für die selbe Abfrage in die Unterliste eintragen könnte.

                                  Nächstes angedachtes Feature wäre, das ich ein kleines Icon in Zelle habe in der ich FeatureTexte eintragen kann, wenn ich dort drauf klicke hätte ich eine Auswahlliste mit einem add button, damit ich die Texte direkt hinzufügen kann und sie nicht irgendwo suchen muss. Evtl. eine kleine Beschreibung integriert. Denn es wird immer komplexer.

                                  Ich würde mich über Eure Gedanken dazu freuen

                                  liv-in-sky 1 Reply Last reply Reply Quote 0
                                  • liv-in-sky
                                    liv-in-sky @Michael Roling last edited by liv-in-sky

                                    @michael-roling

                                    weitere frage:

                                    wäre es möglich, im textfeld auch wieder ein script zu starten - so wie bei setState-funktion

                                    beispiel:

                                    ich rufe heizung auf und habe dann 4 zur auswahl - zusätzlich ist das menu übersichtheizung - den muss ich aufrufen, um den zustand zu sehen
                                    schöner wäre, ich klicke auf heizung und die übersicht würde auch erscheinen (die übersicht wird über ein script erstellt, welches über einen boolean getriggert wird

                                    tele531.gif

                                    hoffe, du verstehst, was ich meine - bei klick auf heizung soll die übersicht kommen und das menu geöffnet werden

                                    Michael Roling 1 Reply Last reply Reply Quote 0
                                    • Michael Roling
                                      Michael Roling Developer @liv-in-sky last edited by

                                      @liv-in-sky was passiert denn wenn du auf übersichtheizung drückst, wenn ich das richtig verstehe setzt du einen boolean auf true und dann schickt dir ein script ein Json ?
                                      Kannst du denn nicht einfach das Json in der zu schickenden form in einen datenpunkt ablegen und dann mit meinem neuen feature die daten abrufen? oder wird es dann nicht richtig dargestellt?

                                      liv-in-sky 2 Replies Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @Michael Roling last edited by

                                        @michael-roling nee das script wird getriggert und schickt mir ein inline-keyboard - das mache ich nur, damit ich eine "schöne" übersicht bekomme - das inline-k. hat im moment keine callback funktion und soll als tabelle dienen
                                        das schickst das script direkt an den telegram bot

                                        kann ich ein json in einen dp schreiben, welches diese "inline-tabelle" so anzeigt ?

                                        das script sieht so aus:

                                        valueArray=['fritzdect.0.DECT_119590311304.tsoll','zigbee2mqtt.0.0x540f57fffef3faff.current_heating_setpoint','fritzdect.0.DECT_119610737080.tsoll','fritzdect.0.DECT_119590404152.tsoll',]
                                        roomArray=["Küche","Flur","Bad","Room"]
                                        let telegramInstanz="3"
                                        let testArr=[]
                                        let testArrInner=[]
                                        let ArrSend=[];
                                        
                                        testArr.push({
                                                             "text":"RAUM ",
                                                             "callback_data": 'HeizungTelegramtest'},
                                                        {
                                                             "text":"🌡 TEMP",
                                                             "callback_data": 'HeizungTelegramtest'}); 
                                                             log(testArr) 
                                        ArrSend.push(testArr)   ;                 
                                        
                                        testArr=[];
                                        
                                        for (let i =0;i<valueArray.length;i++){
                                                                                   testArr.push({
                                                                                         "text":String(roomArray[i]),
                                                                                         "callback_data": 'HeizungTelegramtest'+i},
                                                                                         {
                                                                                         "text":String(getState(valueArray[i]).val),
                                                                                         "callback_data": 'HeizungTelegramtest'+i},);                                                 
                                                                                         
                                                           ArrSend.push(testArr)     ;testArr=[]            } 
                                              log(JSON.stringify(ArrSend))            
                                        
                                        
                                        log(JSON.stringify(ArrSend)) 
                                        
                                        
                                         
                                         
                                         sendTo('telegram.'+telegramInstanz, {
                                                                 text: "Heizungszustände", //"\u{26f8} ALARM  von Eislaufhalle \u{26f8}" ,
                                                                 parse_mode:"Markdown",
                                                                 reply_markup: {
                                                                               inline_keyboard: ArrSend, 
                                                                               resize_keyboard:      false,
                                                                               one_time_keyboard:    true,
                                                                               disable_notification: false,
                                                                               remove_Keyboard:      true  
                                                                               }} 
                                           
                                                               );
                                        

                                        Michael Roling 1 Reply Last reply Reply Quote 0
                                        • Michael Roling
                                          Michael Roling Developer @liv-in-sky last edited by Michael Roling

                                          @liv-in-sky also soll einfach beim öffnen der Menüs ein Datenpunkt auf true gesetzt werden? damit dein Script aktiviert wird?

                                          1 Reply Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @Michael Roling last edited by

                                            @michael-roling sagte in Test Adapter telegram-menu v.0.6.x:

                                            Kannst du denn nicht einfach das Json in der zu schickenden form in einen datenpunkt ablegen und dann mit meinem neuen feature die daten abrufen

                                            das geht nicht - es fehlen ja "api commands" um das inline keyboard zu erstellen - das json wird einfach nur als text angezeigt

                                            @michael-roling sagte in Test Adapter telegram-menu v.0.6.x:

                                            @liv-in-sky also soll einfach beim öffnen der Menüs ein Datenpunkt auf true gesetzt werden?

                                            ja genau - für meinen zweck würde das reichen - irgenwie einen unterschied einführen, dass man evtl einfach einen dp sendet oder wie in deinem neuen feature einen status abfrägt

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            843
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            58
                                            1730
                                            549919
                                            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