Ankündigung

Einklappen
Keine Ankündigung bisher.

Telegram, Alternative zu WhatsApp

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

  • yachti
    antwortet
    Hier noch ein Beispiel für senden an eine Gruppe
    Code:
        klingel:
            type: bool
            visu_acl: rw
            knx_dpt: 1
            knx_listen: 11/1/11
            enforce_updates: 'true'
            telegram_message: Es klingelt an der Tür
            telegram_value_match_regex: (true|True|1)  # nur Nachricht senden wenn 1
            info:
                type: bool
                enforce_updates: 'true'
                eval_trigger: haustuer.klingel
                eval: sh.telegram.photo_broadcast("http://10.1.1.1/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=USER&password=GEHEIM","Türkamera",-1001111111) if sh.haustuer.klingel() == 1 else None

    Einen Kommentar schreiben:


  • yachti
    antwortet
    Bei mir sieht das Item so aus:
    Code:
    service:
        telegram:
            Chat_Ids:
                type: dict
                telegram_chat_ids: 'True'
                enforce_updates: 'true'
                cache: 'True'
                value: "{1234567: 1 }"
            senden:
                type: str
                enforce_updates: 'true'
                telegram_message: '[VALUE]'
    Code:
                 batterie:
                     type: num
                     visu_acl: ro
                     hm_address: 000393C99BFD72
                     hm_channel: 0
                     hm_function: LOW_BAT
                     on_change: service.telegram.senden = 'Stellventil Batterie EG Diele wechseln' if value else 'Stellventil Batterie EG Diele OK
    bei Gruppenchat
    Code:
                eval: sh.telegram.msg_broadcast("Test",-100112345678)

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    bei mir hat es jetzt auch einmal geklappt. Hab natürlich nix anders gemacht...
    https://api.telegram.org/bot20322749...EaY/getUpdates
    Code:
    {"ok":true,"result":[{"update_id":260390476,
    "message":{"message_id":1,"from":{"id":1327917037, "is_bot":false,"first_name":"Hendrik","language_co de":"en"},"chat":{"id":1327917037,"first_name":"He ndrik","type":"private"},"date":1635798860,"text": "/start","entities":[{"offset":0,"length":6,"type":"bot_command"}]}},{"update_id":260390477,
    "message":{"message_id":2,"from":{"id":1327917037, "is_bot":false,"first_name":"Hendrik","languag e_c
    Code:
    telegram:
        name: my_Smarthome_bot
        class_name: Telegram
        class_path: plugins.telegram
        token: '2032274972:AAHE04Z5j3FZSxs0UaVZQgETO3wqU14OEaY'
    Code:
    MyTelegramTest:
        Chat_Ids:
            type: dict
            telegram_chat_ids: True
            cache: 'True'
            # e.g. value: "{ 3234123342: 1, 9234123341: 0 }"
            # a dict with chat id and 1 for read and write access or 0 for readonly access
            # the above grants r/w access to 3234123342 and readonly to 9234123341
            value: "{  1327917037: 1  }"
    Damit sollte doch jetzt dies funktionieren:
    Code:
    msg = "Hello world!" sh.telegram.msg_broadcast(msg)
    Aber ich bekomme kein Hello world auf mein Handy.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • yachti
    antwortet
    Ich habe gerade nochmal einen neuen Testbot erstellt. Das funktioniert einwandfrei
    frage ich jetzt den Bot ab kommt
    Code:
    {"ok":true,"result":[]}
    Screenshot 2021-11-01 211120.png
    dann kommt
    Code:
    {"ok":true,"result":[{"update_id":454971001, "message":{"message_id":1,"from":{"id":179xxxxxx,"i s_bot":false,"first_name":
    Den Screenshot einfügen hat länger gedauert als das erstellen. Man kann da eigentlich nichts falsch machen.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    das hab ich doch:
    -Bot in eine Gruppe und etwas in die Gruppe geschrieben
    -Bot einzeln angeschrieben
    Vielleicht sieht man meinen Fehler hier:
    https://drive.google.com/file/d/1cxa...ew?usp=sharing
    (benötigt etwas zum Laden)


    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • stoepf
    antwortet
    Ich hab bei mir im Item den Cache weggelassen, weil er sonst meine geänderten Eintrag nach dem Neustart aus dem Cache geladen hat.
    Hab den Bot direkt kontaktiert ohne Gruppe. Dann hat mir der Bot geantwortet, dass ich nicht berechtigt bin und dort stand dann auch meine ChatId.
    Zuletzt geändert von stoepf; 01.11.2021, 21:19.

    Einen Kommentar schreiben:


  • yachti
    antwortet
    Du musst in den Bot was schreiben sonst kommt nur
    {"ok":true,"result":[]}

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    leider fuktioniert das nicht.
    Ich bekomme dann nur ein:
    Code:
    {"ok":true,"result":[]}
    Ich hab da jetzt auch schon ewig Stackoverflow gelesen. Leider ohne Erfolg.
    Was ich probiert habe:
    -Bot in eine Gruppe und etwas in die Gruppe geschrieben
    -Bot einzeln angeschrieben
    -getupdates via curl
    -getupdates via browser
    -getupdates mit ?timeout=300
    -einen neuen Bot erstellt



    Ich bin ratlos.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • yachti
    antwortet
    Moin henfri ,

    schreib in den neu erstellen Bot eine kurze Message z.B. Hallo

    dann im Browser: https://api.telegram.org/bot[TOKEN]/getUpdates

    In der Ausgabe findest Du dann die ChatID

    Code:
    "message":{"message_id":12,"from":{"id":12345678," is_bot":false,"first_name......

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    kann mir jemand sagen, wie ich die Chat_ID ermittle?
    Ich habe den Bot über Botfather erzeugt und den Token in die plugin.yaml eingetragen.. Dann sende ich /start an ihn. Aber er schweigt mich nur an.
    Wenn ich nun den Bot einer Gruppe hinzufüge und /start an die Gruppe sende, bekomme ich eine negative Chat-ID - das ist wohl normal für Gruppenchats.

    Code:
    telegram:
        name: meinHomeBot
        class_name: Telegram
        class_path: plugins.telegram
        token: '207l2342347:asdlfjue-ljlkjl_lkjwerwer'
    Code:
    MyTelegramTest:
        Chat_Ids:
            type: dict
            telegram_chat_ids: True
            cache: 'True'
            # e.g. value: "{ 3234123342: 1, 9234123341: 0 }"
            # a dict with chat id and 1 for read and write access or 0 for readonly access
            # the above grants r/w access to 3234123342 and readonly to 9234123341
            value: "{  -718123456: 1 }"
    Aber bei
    Code:
    msg = "Hello world!"
    
    sh.telegram.msg_broadcast(msg)
    Kommt nix an in Telegram...

    Was mache ich falsch?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Hallo,

    kurze Frage: Ist diese Erweiterung in ein Release eingeflossen?

    Zitat von grisu911 Beitrag anzeigen
    und zwar die Zeile um text += str(update.message.chat_id) hier noch die ChatID mit ins Item zu bekommen.
    Das Item wird zerteilt in seine Bestandteile User, Text und ChatID.
    Michael

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Doku

    Einen Kommentar schreiben:


  • jonah64
    antwortet
    Wie kann ich denn die Willkommensnachricht und die Endenachricht unterdrücken?
    Wie kann ich die Endenachricht ändern?

    Einen Kommentar schreiben:


  • ivande
    antwortet
    Code:
    Telegram:
        Chat_Ids:
            type: dict
            telegram_chat_ids: 'True'
            value: {123456789: 1, 123456788:1, 123456787:1}
    Mitteilungen werden bis auf die commands über telegram_info an alle chat_ids korrekt gesendet.. Die "anderen" Commands /start, /time. /help. /hide, /list, /info, /lo funktionieren soweit. Mit Version 11.1.0 funktionieren auch die commands über telegram_info.

    hab gerade getestet: bis Version 12.3.0 funktionieren die commands über telegram_info, ab 12.4.0 nicht mehr,..

    Gruß Ivan

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Hm. Hast Du bei den chat_id die ID als str oder als int drin?

    Einen Kommentar schreiben:

Lädt...
X