Ankündigung

Einklappen
Keine Ankündigung bisher.

Telegram, Alternative zu WhatsApp

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

  • 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:


  • Sisamiwe
    antwortet
    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

    Einen Kommentar schreiben:


  • z1marco
    antwortet
    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}"

    Einen Kommentar schreiben:


  • bmx
    antwortet
    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:


  • z1marco
    antwortet
    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:

Lädt...
X