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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test Adapter telegram-menu v.1.6.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                  • Michael Roling
                                    Michael Roling Developer @liv-in-sky last edited by

                                    @liv-in-sky im prinzip würde man dann sagen anstatt {status:..}, dann {set:"id"","val"}, so könnte ich mir das vorstellen

                                    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 ja genau das meine ich

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

                                        @liv-in-sky das ist machbar, dann muss ich aber echt was machen wegen der übersichtlichkeit! Ich muss selbst schon immer in der Doku nachlesen 🙈

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

                                          @liv-in-sky So es ist vollbracht, die neue Funktion ist implementiert, incl. einfachem einfügen in die Input Felder.
                                          Wenn man einen Block mit ID hat einfach den Block einfügen und dann die ID auswählen, die ID wird an die richtige stelle gesetzt, wenn der Block passt, ansonsten wird sie hinten dran gehängt. Dazu muss ich die Info noch mal eben anpassen.
                                          Viel Spaß beim Testen, ich freue mich auf eure, deine Meinung

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

                                            @liv-in-sky ich habe den code gerade nochmals hoch geladen, am besten noch mal updaten

                                            liv-in-sky 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            818
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            58
                                            1746
                                            657630
                                            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