Ankündigung

Einklappen
Keine Ankündigung bisher.

Telegram, Alternative zu WhatsApp

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

    Zitat von henfri Beitrag anzeigen
    Wie genau meinst du das?
    In Telegram Botfather Chatfenster
    -> /mybots und den entsprechenden Bot auswählen
    Screenshot 2021-11-02 235356.png
    ->API Token nochmal kopieren
    und den Link zu ->Here is the token for bot ... benutzen

    in dem Chatfenster
    --> Hallo schreiben

    und nochmal die URL mit dem kopierten Token abfragen.
    Kontrollieren dass kein Leerzeichen im Link ist.

    Damit ist sichergestellt, dass der Token zu den Bot passt.

    Gruß
    Michael

    Meine Installation: VM Debian Buster SH NG 1.8.1, SmartVISU 3.0, KNX, DMX, 1-wire, Fortigate 30E IPS, VMware vSphere 6.7

    Kommentar


      Danke für die genaue Beschreibung.

      Nochmal gemacht, klappt aber nicht. Gleiches Ergebnis.

      Wie auch immer: Es hat zwischendurch einmal geklappt und die Verbindung zu smarthomeng steht jetzt.

      Eine Frage hab ich noch. Ich nutze aus deinem Beispiel in einem Item:
      Code:
      telegram_message: '[VALUE]'
      Ist es möglich hier auch die Nachricht an eine chat_id zu beschränken, statt an alle zu senden?
      Aus der Doku:
      telegram_message


      Send (broadcast) message on item change to registered chats. It is possible to use placeholder tags in the message string, to use a template based communication.

      Available tags:
      • [ID]
      • [NAME]
      • [VALUE]
      • [CALLER]
      • [SOURCE]
      • [DEST]
      Aber leider gibt es da kein Beispiel für.

      Gruß,
      Hendrik

      Kommentar


        Das wird es bald geben.
        Ich mache kommende Woche einen PR, dann gibt es das.

        Kommentar


          Zitat von henfri Beitrag anzeigen
          Nochmal gemacht, klappt aber nicht. Gleiches Ergebnis.
          schon komisch und kann ich nicht navhvollziehen

          Ist es möglich hier auch die Nachricht an eine chat_id zu beschränken
          In dem Beispiel wird es doch an eine ChatID gesendet

          ChatID:
          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]'
          ChatGruppe:
          Code:
                  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
          Meine Installation: VM Debian Buster SH NG 1.8.1, SmartVISU 3.0, KNX, DMX, 1-wire, Fortigate 30E IPS, VMware vSphere 6.7

          Kommentar


            Hallo,

            in deinem ersten Beispiel ist es aber so, dass immer an den Chat 1234567 gesendet wird.
            Wenn ich aber mal an mich (1234567) und mal an meine Frau (345678) schicken will geht das aber so nicht.

            Oder verstehe ich etwas falsch?

            Gruß,
            Hendrik

            Kommentar


              Hallo
              grisu911
              Forums-Einsteiger
              grisu911


              Zitat von grisu911 Beitrag anzeigen

              eine kleine Anregung:
              Ich habe in dem Bereich was erweitert:
              PHP-Code:
              def mHandler(selfbotupdate):
              """
              write the content (text) of the message in an SH-item
              """
              if self.has_write_access_rightupdate.message.chat_id ):
              text update.message.from_user.name ":" # add username
              text += update.message.text ":" # add the message.text
              text += str(update.message.chat_id)
              for 
              item in self._items_text_message:
              self.logger.debug("write item: {0} value: {1}".format(item.id(), text))
              item(textcaller=self.get_fullname()) # write text to SH-item 
              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.
              Hat das irgendwelche negativen effekte? Ansonsten würde ich mich anbieten das als PR einzustellen.

              Ich habe mir dann eine Logik gebaut mit der ich per Button bestimmte Aktionen ausführen kann.

              Hier mal mein Logik in Auszügen:
              PHP-Code:

              if sh.Info.Chat_ID() == '-xxxxxxxxxx':
              custom_keyboard_ubersicht = [['Wetter''Status'],['Location''Tanken'], ['Tore''Schalten']]
              custom_keyboard_wetter = [['zurück'], ['aktuell''historisch'], ['Diagramme']]
              custom_keyboard_diagramm = [['zurück'], ['Wetter'], ['Temperatur''Luftdruck'], ['Luftfeuchte']]
              custom_keyboard_location = [['zurück'], ['xxxx''xxxx''xxxxx'], ['xxxxx-Info''xxxxx-Info''xxxx-Info']]
              custom_keyboard_tanken = [['zurück'], ['Preise''Günstigste']]
              custom_keyboard_tore = [['zurück'], ['Gehtür''Fahrtor'], ['Garage-J''Garage-N'], ['Garage-W']]
              custom_keyboard_schalten = [['zurück'], ['NAS']]

              chat_id sh.Info.Chat_ID()

              #Keyboard
              if sh.Info.Message() == 'Übersicht' or sh.Info.Message() == "zurück":
              bot.send_message(chat_id=chat_idtext='Bitte auswählen:'reply_markup=telegram.ReplyKeyboardMarkup(custom_keyboard_ubersichtresize_keyboard=True)) 
              Dazu habe ich noch Fragen:
              Was ist sh.Info? Würdest du die Item-Definition teilen?
              Wodurch wird sh.Info.Chat_ID aktualisiert?
              Wo reagierst du auf das Kommando das Garage-J geöffnet werden soll, oder das NAS angeschaltet? Und: Da müsste doch noch eine Abfrage für An oder Aus hinzukommen, oder?

              Gruß,
              Hendrik

              Kommentar


                Hallo
                Wie gesagt, habe ich die Erweiterung des Plugins fast fertig. Es fehlen noch ein paar Kleinigkeiten. Die kommen nächste Woche und dann gibt es den PR.
                Einen Ausblick gibt es hier https://github.com/sisamiwe/shng-telegram-plugin
                Die User Doku ist bereits auf Stand.
                Beste Grüße

                Ach ja, die Logik für Infos bzw Keyboard ist auch in der Doku.

                Kommentar


                  Ah, super.
                  Das hatte ich noch nicht mitbekommen.

                  Nach der Eingabe von Hello world! am Telegram wird das Item telegram_message auf <Benutzername des chat Partners>: Chat-ID: Hello world! gesetzt. Ein John Doe ergäbe also John Doe: Hello world!
                  Sollte heißen:
                  Nach der Eingabe von Hello world! am Telegram wird das Item telegram_message auf <Benutzername des chat Partners>: Chat-ID: Hello world! gesetzt. Ein John Doe ergäbe also John Doe: 1234567: Hello world!
                  Oder?

                  Code:
                  sh_minversion: 1.3 # minimum shNG version to use this plugin
                  Das stimmt weiterhin?

                  Die Doku ist übrigens super - und die neuen Features auch!

                  Gruß,
                  Hendrik

                  Kommentar


                    Keine Benachrichtigung mehr in Telegram.

                    Ich bin vom 1.7.1 Image auf 1.8.2 umgestiegen und leider funktioniert das Plugin wohl nicht mehr ganz richtig.

                    Habt Ihr eine Idee was ich falsch mache. Hat sich an der Konfig was geändert? Mit der Dokumentation bin ich leider auch nicht weitergekommen. Ich hab die Konfiguration vom alten Image übertragen. Beim starten von Smarthomeng erhalte ich in Telegram auch die Meldung "SmarthomeNG Telegram Plugin is up and running". Also scheint das Token ja richtig zu sein.

                    Leider werden keine Item Änderungen gemeldet:

                    In der plugin.yaml habe ich folgende Konfiguration:

                    telegram:
                    plugin_name: telegram
                    token: meinToken
                    telegram_chat_ids: 'meineChatId'

                    Folgende Item Definition hab ich übernommen:

                    Telegram:
                    Chat_Ids:
                    type: dict
                    telegram_chat_ids: True
                    cache: 'True'
                    value: '{meineChatId: 1}'



                    Hier habe ich im 1.7.1 Image immer Meldungen versendet:

                    telegram_message: Haustuer geoffnet
                    telegram_value_match_regex: 'True'
                    z1marco
                    Forums-Einsteiger
                    Zuletzt geändert von z1marco; 06.11.2021, 11:37.

                    Kommentar


                      Sieht die yaml Formatierung im Item wirklich so aus wie gepostet?
                      Meine Installation: VM Debian Buster SH NG 1.8.1, SmartVISU 3.0, KNX, DMX, 1-wire, Fortigate 30E IPS, VMware vSphere 6.7

                      Kommentar


                        Ich hab aus der plugin.yaml kopiert und die 3 Zeilen darunter eingerückt. In der plugin.yaml ist das aber auch mit Leerzeichen eingerückt. Ich hab natürlich meineChatId noch durch meine ChatId ersetzt.

                        Da die Meldung beim hochfahren in telegram erscheint, denke ich, dass zumindest das plugin richtig läuft. Sieht auch im Admin Interface gut aus.

                        Kommentar


                          telegram_chat_id ist jetzt ein dict. Schau mal in die Doku dazu. Das hat den Hintergrund das nicht jeder chatteilnehmer alles darf

                          Kommentar


                            Ich hab das Problem gefunden.

                            Der items Aufruf telegram_value_match_regex: 'True' aus dem alten Image 1.7.1 scheint nicht zu funktionieren.

                            Mit telegram_value_match_regex: 1 geht es wieder. Leider hat telegram_value_match_regex: True auch nicht funktioniert.

                            Außerdem hab ich aus der plugin.yaml noch die Zeile telegram_chat_ids: entfernt und

                            Folgende Item Definition:

                            Telegram:
                            Chat_Ids:
                            type: dict
                            telegram_chat_ids: True
                            cache: 'True'
                            value: "{meineChatId: 1}"

                            Kommentar


                              Zitat von Sisamiwe Beitrag anzeigen
                              Es fehlen noch ein paar Kleinigkeiten. Die kommen nächste Woche und dann gibt es den PR.
                              Die Änderungen sind nun im develop

                              Kommentar


                                Danke!
                                Ist develop aktuell identisch zu deinem git? Dann könnte ich einfach via git aktualisieren, denn das hatte ich mal ausgecheckt.

                                Gibt es an der Konfiguration etwas zu ändern, oder ist alles abwärtskompatibel?

                                P.S:
                                Was macht das hier?
                                Code:
                                 if self.logger.isEnabledFor(logging.DEBUG):
                                    self.logger.debug("Init complete")
                                Ist das nicht das Gleiche wie:
                                Code:
                                 self.logger.debug("Init complete")

                                Gruß,
                                Hendrik
                                Zuletzt geändert von henfri; 08.11.2021, 22:21.

                                Kommentar

                                Lädt...
                                X