Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Telegram als Adapter und Nodered

    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

    Telegram als Adapter und Nodered

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Basti17683 last edited by mickym

      @basti17683 Ja dann passt das doch - Du musst halt Dein true an die Switch Ausgänge hängen.

      5761c9e5-1cab-4d25-b16c-d8d5085d5f9f-image.png

      Aber Du suchst nicht sondern setzt true in den Change Nodes -

      20320288-5381-4c5c-ab61-3b1198a9b490-image.png

      Die Unterscheidung ob in dem Text Biotonne oder so was ist macht ja die Switch Node - Du kannst also direkt das true in 3 unterschiedliche Datenpunkte schicken - entweder über 3 iobroker-out Nodes oder 1 iobroker-Out NOdes und 3 verschiedene topics

      Oder willst Du ein Objekt daraus machen? Dann kannst Du es direkt über JSONATA machen.

      Basti17683 1 Reply Last reply Reply Quote 0
      • Basti17683
        Basti17683 @mickym last edited by

        @mickym said in Telegram als Adapter und Nodered:

        @basti17683 Ja dann passt das doch - Du musst halt Dein true an die Switch Ausgänge hängen.

        5761c9e5-1cab-4d25-b16c-d8d5085d5f9f-image.png

        Aber Du suchst nicht sondern setzt true in den Change Nodes -

        20320288-5381-4c5c-ab61-3b1198a9b490-image.png

        Die Unterscheidung ob in dem Text Biotonne oder so was ist macht ja die Switch Node - Du kannst also direkt das true in 3 unterschiedliche Datenpunkte schicken - entweder über 3 iobroker-out Nodes oder 1 iobroker-Out NOdes und 3 verschiedene topics

        Oder willst Du ein Objekt daraus machen? Dann kannst Du es direkt über JSONATA machen.

        Verdammt, ich war so nah dran. Nein Objekt brauch ich keines draus machen. Ausser es würde so einfacher gehen und ich lern was draus. Auf den Gedanken die Hintereinander zu schalten bin ich nicht gekommen.
        Und statt "Ändern" -> "Setzen" hab ic hauch verstanden.
        Was wäre das Forum nur ohne dich... Herzlichen Dank!!!!

        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @Basti17683 last edited by

          @basti17683 So würde es über JSONATA gehen, um ein Objekt zu generieren:

          97099fcf-ddea-4fee-98ae-da4183e71378-image.png

          [
             {
                 "id": "862558670840ac6a",
                 "type": "change",
                 "z": "e5528eb5167161cb",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "\t{\t   \"Biotonne\":$contains(payload, \"Biotonne\") ? true : false,\t   \"Restmüll\":$contains(payload, \"Restmüll\") ? true : false,\t   \"Papiertonne\":$contains(payload, \"Papiertonne\") ? true : false\t}",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 750,
                 "y": 520,
                 "wires": [
                     [
                         "899786872f0dd20f"
                     ]
                 ]
             },
             {
                 "id": "9958b0693cba169e",
                 "type": "inject",
                 "z": "e5528eb5167161cb",
                 "name": "",
                 "props": [
                     {
                         "p": "payload"
                     }
                 ],
                 "repeat": "",
                 "crontab": "",
                 "once": false,
                 "onceDelay": 0.1,
                 "topic": "",
                 "payload": "Papiertonne, Restmüll",
                 "payloadType": "str",
                 "x": 460,
                 "y": 540,
                 "wires": [
                     [
                         "862558670840ac6a"
                     ]
                 ]
             },
             {
                 "id": "899786872f0dd20f",
                 "type": "debug",
                 "z": "e5528eb5167161cb",
                 "name": "Objekt",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 970,
                 "y": 520,
                 "wires": []
             }
          ]
          

          Basti17683 2 Replies Last reply Reply Quote 1
          • Basti17683
            Basti17683 @mickym last edited by

            @mickym said in Telegram als Adapter und Nodered:

            @basti17683 So würde es über JSONATA gehen, um ein Objekt zu generieren:

            97099fcf-ddea-4fee-98ae-da4183e71378-image.png

            [
               {
                   "id": "862558670840ac6a",
                   "type": "change",
                   "z": "e5528eb5167161cb",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "\t{\t   \"Biotonne\":$contains(payload, \"Biotonne\") ? true : false,\t   \"Restmüll\":$contains(payload, \"Restmüll\") ? true : false,\t   \"Papiertonne\":$contains(payload, \"Papiertonne\") ? true : false\t}",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 750,
                   "y": 520,
                   "wires": [
                       [
                           "899786872f0dd20f"
                       ]
                   ]
               },
               {
                   "id": "9958b0693cba169e",
                   "type": "inject",
                   "z": "e5528eb5167161cb",
                   "name": "",
                   "props": [
                       {
                           "p": "payload"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "Papiertonne, Restmüll",
                   "payloadType": "str",
                   "x": 460,
                   "y": 540,
                   "wires": [
                       [
                           "862558670840ac6a"
                       ]
                   ]
               },
               {
                   "id": "899786872f0dd20f",
                   "type": "debug",
                   "z": "e5528eb5167161cb",
                   "name": "Objekt",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 970,
                   "y": 520,
                   "wires": []
               }
            ]
            

            Den importiere ich mir mal um das besser nachvollziehen zu können.

            Für alle die evtl mal auf mein Thema kommen habe ich noch eine nachträgliche Info. Die True oder "1" wird jetzt nach erfolgreicher Abfrage geschrieben. Aber die LEDs bzw Stati gingen nie wieder auf False "0". Daher habe ich beim automatischen Trigger einen Switch für einen Reset eingebaut welcher mir bei jedem Polling die LEDs erstmal ausmacht und mit einer Verzögerung von 2 Sekunden wieder an, falls es was gibt was angeschalten werden soll.

            01f09351-c24e-4c04-85aa-85b3ed06f5bf-image.png

            1 Reply Last reply Reply Quote 0
            • Basti17683
              Basti17683 @mickym last edited by Basti17683

              @mickym
              Ein Jahr später stehe ich wieder hier und lese mir meinen Thread durch 🙂
              Da ich den Telegram Adapter in Verbindung mit anderen Adaptern verwenden muss, baue ich die Telegram-Node auf die Funktion des Teelgram Adapter um.
              Alles an Text zum Senden funktioniert. Wie man ein Bild sendet werde ich nicht ganz schlau draus...
              Lieber Micky, kannst du mir hier vielleicht auf die Sprünge helfen? Du sagtest damals dass man so ziemlich alles im Node Red machen kann. Ich habe unzählige Dinge gefunden das Bild mit einem Blockly senden zu können. Aber das muss doch eigentlich hier genauso funktionieren oder?

              4358f58a-676b-4305-a826-15a3f9e75f12-grafik.png

              933914e9-f2bf-48be-9456-e9fd6327ad6d-grafik.png

              f5bc2b9e-5b77-4d7c-8f75-a23d85e5476c-grafik.png

              So sieht der Subflow für mein Bild mit der alten Telegram-Node aus. 70a4af5c-6e64-42ff-8f4a-4c0ad9f8848d-grafik.png Jetzt muss hier ja statt dem "Telegram Sender" auch ein Telegram Sender mit IOB Out.
              Nur ich begreife nicht so recht mit was ich den füttern soll. Bild wird gemacht -> Bild wird geschrieben und abgelegt -> und jetzt bräuchte ich die Funktion das Bild per Telegram zu senden.
              In der Adapterbeschreibung wird hier auf NodeRed gar nicht eingegangen. Da heißt es nur 434c9a12-11a4-4cb1-946a-522431f479dd-grafik.png
              https://www.iobroker.net/#en/adapters/adapterref/iobroker.telegram/README.md

              Kannst du (oder jemand anderes) dazu etwas sagen und hast sowas schon im Einsatz?

              Liebe Grüße Basti

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Basti17683 last edited by mickym

                @basti17683 Eigentlich müsste es gehen indem Du die neue sendTo Node nimmst und einfach den Pfad zur Datei einträgst.

                Also in die payload den Pfad der Datei und in der Instanz telegram.0 oder vielleicht auch nur telegram. Ich nutze den Adapter nicht.

                f691b986-1f18-48d1-957f-39be23edb739-image.png

                In der Adapterbeschreibung steht es zumindest so:

                55c96cce-2927-4e54-8879-62e1df64eb08-image.png

                Basti17683 1 Reply Last reply Reply Quote 0
                • Basti17683
                  Basti17683 @mickym last edited by

                  @mickym
                  Danke für deine schnelle Antwort. So funktioniert es scheinbar nicht. Die Debug Node spuckt hierzu auch nichts aus.
                  Ich kann bei der Sendto Node zwar eine Instanz reinschreiben, aber er spricht sie nicht an.

                  Bei der regulären IOB out Node kann ich diverse Funktionen in Sachen Kommunikation auswählen...

                  fe4dc412-70a2-4979-87c7-fc5ac588bdf7-grafik.png
                  2cf3545f-8a37-4888-b0de-a20525da09da-grafik.png

                  Vielleicht fällt wem anders noch was dazu ein... Danke dir - wieder mal 🙂

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Basti17683 last edited by mickym

                    @basti17683 Nein ich würde schon die sendTo Funktion nutzen. Hast Du mal mit und ohne Instanznummer versucht?

                    ff60b1b5-b3fc-4744-86ed-35c55ffd101b-image.png

                    oder telegram.0

                    Dann sende den Dateipfad als Text:

                    a4db5bff-6c1d-4107-ad6f-c1bde76263ed-image.png

                    [
                       {
                           "id": "3a4a138c2487335a",
                           "type": "ioBroker sendTo",
                           "z": "7e6af0015415146d",
                           "instance": "telegram",
                           "command": "",
                           "timeout": 1000,
                           "x": 820,
                           "y": 7380,
                           "wires": [
                               []
                           ]
                       },
                       {
                           "id": "cd4e463fd5626648",
                           "type": "inject",
                           "z": "7e6af0015415146d",
                           "name": "/home/iobroker/datei.jpg",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "{\"text\":\"/home/iobroker/datei.jpg\"}",
                           "payloadType": "json",
                           "x": 540,
                           "y": 7380,
                           "wires": [
                               [
                                   "3a4a138c2487335a"
                               ]
                           ]
                       }
                    ]
                    

                    Basti17683 1 Reply Last reply Reply Quote 0
                    • Basti17683
                      Basti17683 @mickym last edited by

                      @mickym
                      Ohne Instanznummer im Anhang funktioniert das senden.
                      Als Text schickt er es an den Bot. Nur als JSON kann ich es so schreiben dass er auch an eine Gruppe sendet.
                      Leider kommt da aber nur der Link und kein Bild.
                      c519217d-4b35-40df-9dfe-9a3fd1fb7d6c-grafik.png

                      Meinst du es hat was mit der API zu tun? IM Telegram Adapter gibt man ja die API an.
                      f3f8f54e-b8f6-46d8-812b-3a4dcba0688b-grafik.png
                      Dort steht unter anderem: https://core.telegram.org/bots/api#sendphoto

                      Ich tu mir immer schwer mit dem füttern der Nodes. Ich weiß jetzt was in der API steht. Muss das dann in eine Change Node als JSON oder Text oder ganz was anderes. Bei mir ist das mehr ein Try&Error 😕

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Basti17683 last edited by

                        @basti17683 Das kann ich Dir leider nicht sagen, da ich den Adapter nicht kenne. Ich denke, da muss jemand helfen, der den Adapter richtig kennt.

                        Die neue send Node - sendet (wenn Du in command nichts einträgst) einfach mit send Dein Objekt. Mit welchen Eigenschaften Dein Objekt bestückt sein muss, dass musst Du in dem Adapter lesen.
                        https://github.com/iobroker-community-adapters/ioBroker.telegram/blob/master/docs/en/README.md

                        5db39a9c-bd1c-4f7b-b9a3-1758a288177f-image.png

                        Vielleicht musst in der payload als Objekt noch die caption eintragen oder irgendwie die methoden mitgeben. Generell musst Du die parameter als JSON Objekt in der payload mitgeben. Wie Du die Methoden nutzt, die in der API als JSON nutzt ist mir auch nicht klar. Aber wenn Du das weißt, dann sollte es ja kein Problem sein, dass Objekt als payload zu definieren.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        895
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        3
                        33
                        1911
                        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