Ankündigung

Einklappen

Hinweis

Die Forenregeln wurden überarbeitet (Stand 7.11.22). Sie sind ab sofort verbindlich. Wir bitten um Beachtung.
Mehr anzeigen
Weniger anzeigen

Telegram, Alternative zu WhatsApp

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

  • henfri
    antwortet
    Der unterstrich

    Einen Kommentar schreiben:


  • fuxl66
    antwortet
    Zitat von bmx Beitrag anzeigen
    Verwende einfach msg_broadcast() so wie es dokumentiert ist.
    Danke für deine Antwort aber das mach ich doch schon.

    sh.telegram._msg_broadcast( "Test")

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Verwende einfach msg_broadcast() so wie es dokumentiert ist.

    Einen Kommentar schreiben:


  • fuxl66
    antwortet
    Hi,
    Ich bin nun erfolgreich auf SHNG v1.9.2-master umgestiegen und hab auch das telegram plugin erfolgreich aktiviert.
    Nach der ersten erfolgreichen Message hab ich allerdings im LOG folgenden Eintrag "WARNING plugins.telegram deprecated, please use msg_broadcast instead"
    In meiner Logik verwende ich "sh.telegram._msg_broadcast( "Test")

    Liegt der Fehler bei mir oder wird dieses Plugin nicht mehr weiter verwendet?

    Einen Kommentar schreiben:


  • franzmm
    antwortet
    Hallo Bernd,

    vielen Dank für Deine ausführliche Antwort.
    Ich lasse SHNG als Docker container laufen. Ich werde mal schauen, ob es eine Möglichkeit gibt mit dem Start zu warten, bis die eine Internet Verbindung möglich ist.

    Gruß
    Franz

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Hallo Franz,

    zum jetzigen Zeitpunkt ist das nicht ganz so einfach umzusetzen. Im Core wird daran gearbeitet das Plugins im Laufenden Betrieb entladen und neu geladen werden können. Dazu ist es wichtig das ein Bereich des SmartPlugins neu konzipiert wird. Sobald das steht, kann man das Telegram Plugin dahingehend prüfen das neu zu bauen.

    In der Zeit dazwischen wurde der Code des python-telegram-bot für Version >=14.x auf async umgestellt so das wir da schon wieder eine neue Baustelle haben werden.

    Wenn Dein SHNG als Dienst gestartet wird und der Start auf den Router warten soll, könnte man evtl. mit den Parametern in systemd arbeiten. Ich habe hier einen Thread gefunden, der Dir dabei als Idee dienen könnte.

    Gruß,
    Bernd

    Einen Kommentar schreiben:


  • franzmm
    antwortet
    Hallo zusammen,

    ich habe festgestellt, falls beim Start von smarthomeng aus irgendeinem Grund (zB. weil der Router noch nicht soweit war) noch keine Internetverbindung besteht, dann scheint das Telegram Plugin nicht zu starten und funktioniert damit dann wohl auch später nicht, wenn die Internetverbindung wieder verfügbar wäre.
    Im Log steht dazu folgendes:

    Code:
    ERROR plugins.telegram Unable to start up Telegram conversation. Maybe an invalid token? urllib3 HTTPError HTTPSConnectionPool(host='api.telegram.org', port=443): Max retries exceeded with url: /botXXXXXXXXXXXXXXXXXXXXXXXXXX/getMe (Caused by NewConnectionError('<telegram.vendor.ptb_urllib3.u rllib3.connection.VerifiedHTTPSConnection object at 0x7fe875cc7a90>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
    ERROR lib.plugin Plugin 'telegram' initialization failed, plugin not loaded
    Kann man irgendwie erreichen, dass das Plugin trotzdem startet und dann wieder versucht eine Verbindung aufzubauen?

    Ich nutze die aktuellste Version 1.9.2.

    Gruß
    Franz

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Ja, danke! Es funktioniert jetzt.
    Sieht Klasse aus!

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von henfri Beitrag anzeigen
    hierbei:
    Hallo,

    in der Doku habe ich geschrieben:
    Diese Anwendung nutzt den Wert, den Telegram in das Item mit dem Attribut telegram_text schreibt. Dieser Wert beinhaltet den den User, die Chat-ID und die Message. Basierend auf diesem wird mit einer Logik ein Menu im Chat dargestellt und die entsprechenden Aktionen ausgeführt.
    Demzufolge ist das Item mit diesem Attribut das TriggerItem. Siehe dazu auch die Erläuterungen zum Item-Attribut "telegram_text"

    Also Telegram-Messages kommen in dem Item mit dem Attribut "telegram_text" an. Die Logik "zerlegt" dann die Message und führt die Aktionen entsprechend aus.

    Hilft das?

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    hierbei:
    Zum Menugestützte Interaktion zwischen Telegram und shNG:
    Die Logik habe ich so weit angepasst für mich. Braucht es dazu noch ein Item sh.telegram.info.message(), oder macht das das Plugin (vermute letzteres)?
    Aber was ist dann der Trigger für die Logik?
    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von henfri Beitrag anzeigen
    Kannst du mir hier weiterhelfen?
    Bei was genau?

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Sisamiwe Kannst du mir hier weiterhelfen?

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Ja, ist es.
    Danke, läuft hier jetzt.

    Das ist eine Optmierung der Debug-Log Ausgaben. Somit werden die Strings nur erzeugt, denn der Log-Level auch auch Debug steht.
    Siehe hier
    Und das lohnt sich?
    Eigentlich würde man ja erwarten, dass der Interpreter sowas macht. Lesbarer wird der Code dadurch ja nicht...

    Zum Menugestützte Interaktion zwischen Telegram und shNG:
    Die Logik habe ich so weit angepasst für mich. Braucht es dazu noch ein Item sh.telegram.info.message(), oder macht das das Plugin (vermute letzteres)?
    Aber was ist dann der Trigger für die Logik?

    Gruß,
    Hendrik




    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von henfri Beitrag anzeigen
    Ist develop aktuell identisch zu deinem git? Dann könnte ich einfach via git aktualisieren, denn das hatte ich mal ausgecheckt.
    Ja, ist es.

    Zitat von henfri Beitrag anzeigen
    Was macht das hier?
    Das ist eine Optmierung der Debug-Log Ausgaben. Somit werden die Strings nur erzeugt, denn der Log-Level auch auch Debug steht.
    Siehe hier

    Gruß Michael

    Einen Kommentar schreiben:


  • henfri
    antwortet
    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.

    Einen Kommentar schreiben:

Lädt...
X