Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
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?
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?
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.
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?
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.
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.
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?
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar