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
Ankündigung
Einklappen
Keine Ankündigung bisher.
Telegram, Alternative zu WhatsApp
Einklappen
X
-
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:
-
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
Ich nutze die aktuellste Version 1.9.2.
Gruß
Franz
Einen Kommentar schreiben:
-
Ja, danke! Es funktioniert jetzt.
Sieht Klasse aus!
Gruß,
Hendrik
Einen Kommentar schreiben:
-
Zitat von henfri Beitrag anzeigenhierbei:
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.
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:
-
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?
Hendrik
Einen Kommentar schreiben:
-
Zitat von henfri Beitrag anzeigenKannst du mir hier weiterhelfen?
Einen Kommentar schreiben:
-
Zitat von Sisamiwe Beitrag anzeigenJa, ist es.
Das ist eine Optmierung der Debug-Log Ausgaben. Somit werden die Strings nur erzeugt, denn der Log-Level auch auch Debug steht.
Siehe hier
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:
-
Zitat von henfri Beitrag anzeigenIst develop aktuell identisch zu deinem git? Dann könnte ich einfach via git aktualisieren, denn das hatte ich mal ausgecheckt.
Zitat von henfri Beitrag anzeigenWas macht das hier?
Siehe hier
Gruß Michael
Einen Kommentar schreiben:
-
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")
Code:self.logger.debug("Init complete")
Gruß,
HendrikZuletzt geändert von henfri; 08.11.2021, 22:21.
Einen Kommentar schreiben:
-
Zitat von Sisamiwe Beitrag anzeigenEs fehlen noch ein paar Kleinigkeiten. Die kommen nächste Woche und dann gibt es den PR.
Einen Kommentar schreiben:
-
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: dicttelegram_chat_ids: Truecache: 'True'value: "{meineChatId: 1}"
Einen Kommentar schreiben:
-
telegram_chat_id ist jetzt ein dict. Schau mal in die Doku dazu. Das hat den Hintergrund das nicht jeder chatteilnehmer alles darf
Einen Kommentar schreiben:
-
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.
Einen Kommentar schreiben:
Einen Kommentar schreiben: