Ankündigung

Einklappen
Keine Ankündigung bisher.

Telegram Messenger einbinden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Telegram Messenger einbinden

    Hallo zusammen,
    ich möchte mir gerne den ein oder anderen Status per Push Nachricht auf den Telegramm Messanger schicken lassen.
    Dafür muss man einen Bot bei Telegramm einrichten. Siehe: https://www.christian-luetgens.de/ho...r/Chat-Bot.htm
    Soweit so fein. Ich kann nun mit Eingabe im Webbrowserfenster
    https://api.telegram.org/bot314321353:AAFKjr29dF940b-aTchoFJ_pb6oZKxzx8Zw/sendMessage?chat_id=374629384&text=Selber%20Hallo eine Nachricht an Telegramm schicken. Ich habe nun probiert dieses Commando mit sendtcp zu schicken. Leider hören hier auch schon meine Kenntnisse auf. Ich finde viele Beispiele mit POST und GET, weiß aber nicht ob ich die hier anwenden muss. Auch mit dem https bin ich mir unsicher. Über ein hilfreiches Beispiel wäre ich sehr dankbar. LG Chris

    #2
    Da würde ich empfehlen noch 4..5 Monate Geduld mitzubringen, weil wir dann dem EibPC² eine API einbauen werden, womit solche Anwendungen sehr einfach zu machen sind. Derzeit geht das leider nicht.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Ok, trozdem danke für die schnelle Antwort!

      Beste Grüße!

      Kommentar


        #4
        Selbst ist der Mann... Ich wollte Mail nicht mehr nutzen und bin nun einen kleinen Umweg gegangen und habe den Telegram Messenger doch noch an den Start bekommen. Letzlich schicke ich ein UPD Telegramm raus an meinen Service im PI (der normalerweise UDP Telegramme in MQTT Nachrichten wandelt) und dieser schicke dann die Nachricht auf Telegram. Klappt super!
        Wer weitere Infos braucht... Bitte bescheid sagen!

        Kommentar


          #5
          Ja cool
          Vielleicht kannst du dein Makro? ja mit uns teilen, einen Messanger fände ich auch schöner als Mails.

          Kommentar


            #6
            Ist nicht wirklich ein Makro. Aber so gehts:
            1) Telegram auf dem Handy Installieren
            2) Telegram einrichten https://www.tutonaut.de/anleitung-ei...rminal-senden/
            3) Anleitung bis Punkt 3. folgen. Man kann dann auch den https String Anpassen und in seinen Browser eintippen um an die entsprechenden IDs zu kommen
            4) Ich nutze einen PI der das Skipt unten laufen läßt (auf basis von python)
            5) EibPC kannst du nun mit sendudp(IP,Port..$Telegram/Attribute/Value$) eine Nachricht schicken (an die IP,Port auf der das Skript läuft)
            6) Wenn du anstelle von "Telegram" einen anderen String benutzt wird dieser an einen MQTT Broker geschickt (optional)
            7) Das Skipt anpassen (Token und Chat ID) (sudo nano EibPC2Telegram.py)
            8) Das Skript starten (python EibPC2Telegram.py &)
            8a) Wenn du MQTT nicht brauchst, dann einfach die entsprechenden Zeilen aus dem Skript löschen

            Code:
            import re
            import time
            import socket
            import paho.mqtt.client as mqtt
            import os
            
            def on_connect(client, userdata, flags, rc):
                print("Connected with result code " + str(rc))
            
            client = mqtt.Client()
            client.on_connect = on_connect
            client.connect("localhost", 1883, 60)
            
            client.loop_start()
            client.publish("ServerToMqtt", "ONLINE")
            Quelle='' # Adresse des eigenen Rechners
            Port=5005
            
            e_udp_sock = socket.socket( socket.AF_INET,  socket.SOCK_DGRAM ) #s.o.
            e_udp_sock.bind( (Quelle,Port) )    #Im IP-Adresse und Port verkn.
            
            strg="/"
            def empfange():
                while 1:
                    lastTopic = ""
                    searching = True
                    data, addr = e_udp_sock.recvfrom( 1024 )
                    clean_data=data[:-1]
                    while searching:
                            topic = ""
            #                print("IN:",clean_data)
                            strPos= clean_data.find(strg)
                            if strPos>=1:
            #                    print("Pos>1")
                                topic = lastTopic + clean_data[0:strPos+1]
                                lastTopic=topic
                                clean_data = clean_data[strPos+1:len(clean_data)+1]
                            else:
            #                    print("OUT")
                                searching = False
            #                    print (lastTopic)
            #                    print (clean_data)
                                rcv_stg=lastTopic+clean_data
                                checkString="Telegram/" in rcv_stg
                                if checkString == True:
                                    rcv_stg = rcv_stg[9:]
                                    posSlash = rcv_stg.find("/")
                                    EibPC_Attr = rcv_stg[:posSlash]
                                    EibPC_Value = rcv_stg[posSlash+1:]
                                    finalmessage = EibPC_Attr + ": " + EibPC_Value
                                    os.system("curl -s -X POST https://api.telegram.org/bot.../sendMessage -F chat_id='...' -F text='"+finalmessage+"'")
                                else:
                                    client.publish(lastTopic,clean_data)
            
            empfange()

            Viel Erfolg!

            Kommentar


              #7
              Danke
              Werde ich bei nächster Gelegenheit mal ausprobieren.

              Kommentar


                #8
                Ich schaue gerade, welches Logik/Visumodul es werden soll. Ist die API mittlerweile eingebaut? Sind Messenger damit leicht integrierbar?
                VG
                Derzeit zwischen Kistenauspacken und Garten anlegen.
                Baublog im Profil.

                Kommentar


                  #9
                  Senden von Telegram-Nachrichten ist direkt integriert, eine Anleitung findest du hier:

                  https://youtu.be/bPJpLjszNMU

                  Hier findest du weitere Ideen für die httprequest-Funktion, JSON- und XML-Parser, z.B. die Einbindung von Tankerkönig.
                  https://www.eibpc.com
                  Zuletzt geändert von foobar0815; 16.04.2021, 08:11.

                  Kommentar


                    #10
                    Danke
                    Derzeit zwischen Kistenauspacken und Garten anlegen.
                    Baublog im Profil.

                    Kommentar

                    Lädt...
                    X