Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Telegram 3.4.1 - Blockly-Bausteine für Fragen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter Telegram 3.4.1 - Blockly-Bausteine für Fragen

    This topic has been deleted. Only users with topic management privileges can see it.
    • haus-automatisierung
      haus-automatisierung Developer Most Active last edited by haus-automatisierung

      Aktuelle Test Version 3.4.1
      Veröffentlichungsdatum 08.06.2024
      Github Link Bitte über npm installieren

      Ich habe gerade ein Blockly-Todo erledigt, welches schon lange auf meiner Liste stand: Die Frage-Möglichkeit für Telegram umsetzen. Per JavaScript ging das ja schon sehr lange.

      Die Idee ist, dass man eine Frage definieren kann und darunter mehrere Antwortmöglichkeiten (über das Zahnrad kann man mehr Antworten hinzufügen). Und dann wird eben die Logik im jeweiligen Block ausgeführt, wenn man auf die Antwort klickt. Beispiel:

      ioBroker-Telegram-Ask.png

      Sieht im Chat dann so aus:

      Screenshot 2024-06-08 at 17.10.31.png

      Das ganz muss man logischerweise in einen Trigger packen, welcher die Frage zum richtigen Zeitpunkt versendet... Logisch.

      Neu ist, dass nach einer Antwort die Tastatur ausgeblendet wird. Also die Nachricht wird nachträglich bearbeitet. Es gibt (wie vorher auch schon) einen Timeout, wenn man in x Sekunden nicht auf die Frage geantwortet hat. Das ist nicht neu. Aber auch dann wird die Tastatur ausgeblendet!

      Ich bitte um Feedback für die neue Funktion! Bitte ausführlich testen!

      Was ich mir noch vorstellen könnte: Ein weiterer Block, welcher eine einfache Antwort auf in den gleichen Chat ermöglicht. Dann muss man nicht den großen Telegram-Text-Block öfter einfügen und die Chat-ID ausfüllen usw.

      Die Version landet zeitnah im Beta-Repo. Sonst per npm installieren (NICHT per GitHub-Url installieren!).

      D 1 Reply Last reply Reply Quote 10
      • D
        drapo @haus-automatisierung last edited by

        @haus-automatisierung das ist genial das hab ich schon lange gesucht. Vielen Dank für Deine Arbeit

        haus-automatisierung 1 Reply Last reply Reply Quote 0
        • haus-automatisierung
          haus-automatisierung Developer Most Active @drapo last edited by

          @drapo sagte in Test Adapter Telegram 3.4.0 - Blockly-Bausteine für Fragen:

          das hab ich schon lange gesucht

          Ging ja auch vorher schon, nur etwas umständlicher mit dem generischen sendTo-Block. 2022 hab ich das im Kurs so erklärt:

          Screenshot 2024-06-08 at 19.08.26.png

          Mit den Objekt-Blöcken könnte man das jetzt noch etwas schöner lösen (ohne die Funktion), aber ist ja nicht mehr nötig mit dem Block. Also am Ende nicht neu, nur deutlich einfacher.

          1 Reply Last reply Reply Quote 0
          • O
            oxident last edited by

            Vermutlich stelle ich mich zu blöd an, aber Blockly scheint bei mir den neuen "Baustein" komplett zu ignorieren.

            Wenn ich ihn hinzufüge, dann erscheint komischerweise keine "Speichern"-Schaltfläche. Auch eine Konvertierung zu JS erzeugt nur ein leeres Skript.

            Die anderen Blöcke vom Telegram-Adapter funktionieren reibungslos.

            Auch ein Neustart des JS-Adapters (v.8.3.1) hat daran nichts geändert.

            NodeJS ist 18.20.3
            NPM 10.7.0
            JS-Controller 5.0.19

            flkontakt 1 Reply Last reply Reply Quote 0
            • flkontakt
              flkontakt @oxident last edited by

              @oxident sagte in Test Adapter Telegram 3.4.0 - Blockly-Bausteine für Fragen:

              Vermutlich stelle ich mich zu blöd an, aber Blockly scheint bei mir den neuen "Baustein" komplett zu ignorieren.

              Wenn ich ihn hinzufüge, dann erscheint komischerweise keine "Speichern"-Schaltfläche. Auch eine Konvertierung zu JS erzeugt nur ein leeres Skript.

              Die anderen Blöcke vom Telegram-Adapter funktionieren reibungslos.

              Auch ein Neustart des JS-Adapters (v.8.3.1) hat daran nichts geändert.

              NodeJS ist 18.20.3
              NPM 10.7.0
              JS-Controller 5.0.19

              wollte ebenfalls testen, mit gleichem Ergebnis.

              haus-automatisierung 1 Reply Last reply Reply Quote 0
              • haus-automatisierung
                haus-automatisierung Developer Most Active @flkontakt last edited by

                Könnt ihr mal nach Fehlern in der Entwicklerconsole vom Browser schauen? Hab das nur mit der aktuellen Beta getestet vom JavaScript Adapter

                Kann ich mir sonst heute Abend nochmal anschauen

                O 1 Reply Last reply Reply Quote 0
                • O
                  oxident @haus-automatisierung last edited by

                  @haus-automatisierung Klar, gerne.
                  Beim Einfügen des Blocks kommt folgender "uncaught"-Fehler:

                  Error: Language "JavaScript" does not know how to generate code for block type "telegram_ask".
                      at $.CodeGenerator$$module$build$src$core$generator.blockToCode (blockly_compressed.js:1426:165)
                      at $.CodeGenerator$$module$build$src$core$generator.workspaceToCode (blockly_compressed.js:1424:236)
                      at Dt.blocklyCode2JSCode (BlocklyEditor.jsx:358:44)
                      at Dt.onChange (BlocklyEditor.jsx:575:34)
                      at Dt.onBlocklyChanged (BlocklyEditor.jsx:458:14)
                      at BlocklyEditor.jsx:532:22
                      at r (helpers.ts:100:17)
                  blockToCode	@	blockly_compressed.js:1426
                  workspaceToCode	@	blockly_compressed.js:1424
                  blocklyCode2JSCode	@	BlocklyEditor.jsx:358
                  onChange	@	BlocklyEditor.jsx:575
                  onBlocklyChanged	@	BlocklyEditor.jsx:458
                  (anonym)	@	BlocklyEditor.jsx:532
                  r	@	helpers.ts:100
                  setTimeout (asynchron)		
                  (anonym)	@	trycatch.ts:124
                  (anonym)	@	BlocklyEditor.jsx:530
                  fireChangeListener	@	blockly_compressed.js:1312
                  fireNow$$module$build$src$core$events$utils	@	blockly_compressed.js:82
                  r	@	helpers.ts:100
                  setTimeout (asynchron)		
                  (anonym)	@	trycatch.ts:124
                  (anonym)	@	blockly_compressed.js:81
                  r	@	helpers.ts:100
                  requestAnimationFrame (asynchron)		
                  (anonym)	@	trycatch.ts:133
                  fireInternal$$module$build$src$core$events$utils	@	blockly_compressed.js:81
                  fire$$module$build$src$core$events$utils	@	blockly_compressed.js:80
                  doInit_	@	blockly_compressed.js:762
                  BlockSvg$$module$build$src$core$block_svg	@	blockly_compressed.js:901
                  WorkspaceSvg$$module$build$src$core$workspace_svg.newBlock	@	blockly_compressed.js:1662
                  (anonym)	@	blockly.js:641
                  r	@	helpers.ts:100
                  setTimeout (asynchron)		
                  (anonym)	@	trycatch.ts:124
                  updateShape_	@	blockly.js:639
                  domToMutation	@	blockly.js:536
                  createMarkerBlock	@	blockly_compressed.js:813
                  InsertionMarkerManager$$module$build$src$core$insertion_marker_manager	@	blockly_compressed.js:811
                  BlockDragger$$module$build$src$core$block_dragger	@	blockly_compressed.js:826
                  startDraggingBlock_	@	blockly_compressed.js:1130
                  updateIsDraggingBlock_	@	blockly_compressed.js:1129
                  updateIsDragging_	@	blockly_compressed.js:1130
                  updateFromEvent_	@	blockly_compressed.js:1126
                  handleMove	@	blockly_compressed.js:1135
                  g	@	blockly_compressed.js:133
                  r	@	helpers.ts:100
                  
                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @oxident last edited by

                    @oxident Danke, war nicht mehr mit Blockly 9 kompatibel. 3.4.1 ist auf dem Weg.

                    O S 2 Replies Last reply Reply Quote 1
                    • O
                      oxident @haus-automatisierung last edited by oxident

                      @haus-automatisierung Okay, heißt das dann also, dass es mit der derzeitigen Stable vom JS-Adapter nicht kompatibel ist?

                      Sorry, jetzt Github gelesen...

                      1 Reply Last reply Reply Quote 0
                      • S
                        stenmic @haus-automatisierung last edited by

                        @haus-automatisierung
                        kann man das timeout setzen?

                        haus-automatisierung 1 Reply Last reply Reply Quote 0
                        • haus-automatisierung
                          haus-automatisierung Developer Most Active @stenmic last edited by

                          @stenmic Ja, fehlt die Info in der Doku?

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            drapo @haus-automatisierung last edited by drapo

                            @haus-automatisierung kann ich denn mit dem ask auch einen freien Text in einen Datenpunkt schreiben. Also so quasi dass die Frage wäre: Bitte gib Deine Meldung für Dein Sonos System ein:

                            Die Antwort kann beliebig sein. Ich habe einen Datenpunkt im System, wenn ich den beschreibe ertönt die Meldung auf meinem Sonos. Wie wäre so etwas umzusetzen? Geht das überhaupt?

                            haus-automatisierung 1 Reply Last reply Reply Quote 0
                            • haus-automatisierung
                              haus-automatisierung Developer Most Active @drapo last edited by

                              @drapo Das geht, aber nicht mit dem Baustein. Dann würdest Du einfach eine Nachricht senden und die nächste Nachricht im Chat ist dann die Antwort.

                              Der Block ist explizit für eine Inline-Tastatur mit Auswahlmöglichkeiten. Wie in JavaScript vorher auch

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                drapo @haus-automatisierung last edited by drapo

                                @haus-automatisierung mit welchem Baustein werte ich denn die frei definierte Telegram Antwort aus?

                                76e3e88d-c5f0-4416-b613-620146571058-grafik.png

                                ich glaube das attribut data ist falsch. was wäre da das richtige?

                                Edit:
                                So geht es. Dank Dir...
                                90101351-bcf2-4f21-8d9c-d927d210974b-grafik.png

                                1 Reply Last reply Reply Quote 0
                                • C
                                  ChefkochTS last edited by

                                  @haus-automatisierung moin, ich kann das Skript nicht speichern?!
                                  Wenn ich es über Umwege schaffe ist es hinterher trotzdem alles wieder weg.

                                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                                  • haus-automatisierung
                                    haus-automatisierung Developer Most Active @ChefkochTS last edited by haus-automatisierung

                                    @chefkochts Mit dieser Fehlerbeschreibung kann ich nicht viel anfangen. Was ist "das Script"? Und welche Version des JavaScript-Adapters? Und Version des Telegram-Adapters bitte (da hab ich auch recht viel gemacht).

                                    Und was ist "über Umwege speichern"?

                                    C 1 Reply Last reply Reply Quote 0
                                    • C
                                      ChefkochTS @haus-automatisierung last edited by ChefkochTS

                                      @haus-automatisierung Ich habe Telegram jetzt auf 3.5.1 aktualisiert. Jetzt kann ich speichern. JavaScript habe ich 8.3.1.
                                      Muss ich den fragen per telegram auch in einen Trigger packen?
                                      Er wird nur bei einem Neustart des Skriptes ausgeführt.
                                      Wenn ich licht schicke kommt nur zurück das er es nicht versteht.
                                      Bildschirmfoto 2024-06-15 um 13.40.18.png

                                      haus-automatisierung 1 Reply Last reply Reply Quote 0
                                      • haus-automatisierung
                                        haus-automatisierung Developer Most Active @ChefkochTS last edited by haus-automatisierung

                                        @chefkochts Grundlagen bitte anderweitig besprechen. Logischerweise muss das in einen Trigger, damit es dann ausgeführt wird, wenn die Frage gestellt werden soll.

                                        Sonst wird, wie bei allen Blöcken, alles auf der obersten Ebene natürlich sofort ausgeführt. Wäre mit einer normalen Telegram-Nachricht ja nicht anders.

                                        Diese „ich verstehe … nicht“ Meldungen kommen aus Text2Command. Dort deaktivieren. Im Kurs habe ich das doch alles ganz ausführlich erklärt 😞

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

                                          Ich habe gerade rausgefunden (vielleicht ist das aber auch nichts neues und ich habe es nur überlesen 😉 ), dass man auf jeden Fall irgendwas bei den Aktionen (in Matthias' Beispiel control select ID...) rein machen muss sonst kommt die Antwort nicht in Telegram an.

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

                                            Habe eben gerade diese mega geile Funktion entdeckt, jedoch bekomme ich Fehlermeldungen vom HOST

                                            Bildschirmfoto 2025-01-04 um 15.35.36.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            763
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            21
                                            1947
                                            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