Ankündigung

Einklappen
Keine Ankündigung bisher.

Telegram, Alternative zu WhatsApp

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

  • gama
    antwortet
    Hi,

    ich habe das Problem bislang nicht, aber ich nehme es gerne mit auf.
    Die nächsten Tage werde ich ein update auf git stellen - muss nur noch ein paar Punkte testen...

    Grüße
    Markus

    Einen Kommentar schreiben:


  • kingolli
    antwortet
    Hallo!

    Bei mir scheint es zu gehen, hab folgendes ins __Init__ eingefügt:

    Code:
            telepot.api._pools = {
                'default': urllib3.PoolManager(num_pools=3, maxsize=10, retries=3, timeout=30),
            }
    Dazu musste ich noch eine weitere Library importieren:

    Code:
    import telepot.api
    Seit gestern Mittag keine Verbindungsabbrüche mehr, mal sehen, ob es dauerhaft stabil bleibt.

    Grüße
    David

    Einen Kommentar schreiben:


  • franzmm
    antwortet
    Hallo,

    ja, laut Log habe ich exakt das gleiche Problem. Das Senden einer Nachricht funktioniert des Öfteren nicht, ob es damit zusammenhängt, dass vorher längere Zeit nichts gesendet wurde weiß ich nicht? Leider habe ich auch keine Idee, was das Problem verursacht und wie man es beheben kann.

    Gruß
    Franz

    Einen Kommentar schreiben:


  • kingolli
    antwortet
    Hallo!

    Ich bekomme, wenn ich länger keine Nachricht verschickt habe, einen Fehler beim verschicken der ersten Nachricht per Telegram:

    Code:
    2017-05-01  19:52:23 ERROR    Klingel Logic: Klingel, File: /usr/lib/python3.4/ssl.py, Line: 617, Method: read, Exception: ('Connection aborted.', ConnectionResetError(104, 'Die Verbindung wurde vom Kommunikationspartner zurückgesetzt'))
    Traceback (most recent call last):
      File "/usr/local/lib/python3.4/dist-packages/urllib3/connectionpool.py", line 600, in urlopen
        chunked=chunked)
      File "/usr/local/lib/python3.4/dist-packages/urllib3/connectionpool.py", line 386, in _make_request
        six.raise_from(e, None)
      File "<string>", line 2, in raise_from
      File "/usr/local/lib/python3.4/dist-packages/urllib3/connectionpool.py", line 382, in _make_request
        httplib_response = conn.getresponse()
      File "/usr/lib/python3.4/http/client.py", line 1172, in getresponse
        response.begin()
      File "/usr/lib/python3.4/http/client.py", line 351, in begin
        version, status, reason = self._read_status()
      File "/usr/lib/python3.4/http/client.py", line 313, in _read_status
        line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
      File "/usr/lib/python3.4/socket.py", line 371, in readinto
        return self._sock.recv_into(b)
      File "/usr/lib/python3.4/ssl.py", line 745, in recv_into
        return self.read(nbytes, buffer)
      File "/usr/lib/python3.4/ssl.py", line 617, in read
        v = self._sslobj.read(len, buffer)
    ConnectionResetError: [Errno 104] Die Verbindung wurde vom Kommunikationspartner zurückgesetzt
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/scheduler.py", line 354, in _task
        exec(obj.bytecode)
      File "/usr/local/smarthome/logics/alarmautomatik.py", line 27, in <module>
        sh.telegram._broadcast('Alarmautomatik wurde deaktiviert!')
      File "/usr/local/smarthome/plugins/telegram/__init__.py", line 104, in _broadcast
        self._bot.sendMessage(cid, msg)
      File "/usr/local/lib/python3.4/dist-packages/telepot/__init__.py", line 408, in sendMessage
        return self._api_request('sendMessage', _rectify(p))
      File "/usr/local/lib/python3.4/dist-packages/telepot/__init__.py", line 397, in _api_request
        return api.request((self._token, method, params, files), **kwargs)
      File "/usr/local/lib/python3.4/dist-packages/telepot/api.py", line 130, in request
        r = fn(*args, **kwargs)  # `fn` must be thread-safe
      File "/usr/local/lib/python3.4/dist-packages/urllib3/request.py", line 148, in request_encode_body
        return self.urlopen(method, url, **extra_kw)
      File "/usr/local/lib/python3.4/dist-packages/urllib3/poolmanager.py", line 313, in urlopen
        response = conn.urlopen(method, u.request_uri, **kw)
      File "/usr/local/lib/python3.4/dist-packages/urllib3/connectionpool.py", line 649, in urlopen
        _stacktrace=sys.exc_info()[2])
      File "/usr/local/lib/python3.4/dist-packages/urllib3/util/retry.py", line 357, in increment
        raise six.reraise(type(error), error, _stacktrace)
      File "/usr/local/lib/python3.4/dist-packages/urllib3/packages/six.py", line 685, in reraise
        raise value.with_traceback(tb)
      File "/usr/local/lib/python3.4/dist-packages/urllib3/connectionpool.py", line 600, in urlopen
        chunked=chunked)
      File "/usr/local/lib/python3.4/dist-packages/urllib3/connectionpool.py", line 386, in _make_request
        six.raise_from(e, None)
      File "<string>", line 2, in raise_from
      File "/usr/local/lib/python3.4/dist-packages/urllib3/connectionpool.py", line 382, in _make_request
        httplib_response = conn.getresponse()
      File "/usr/lib/python3.4/http/client.py", line 1172, in getresponse
        response.begin()
      File "/usr/lib/python3.4/http/client.py", line 351, in begin
        version, status, reason = self._read_status()
      File "/usr/lib/python3.4/http/client.py", line 313, in _read_status
        line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
      File "/usr/lib/python3.4/socket.py", line 371, in readinto
        return self._sock.recv_into(b)
      File "/usr/lib/python3.4/ssl.py", line 745, in recv_into
        return self.read(nbytes, buffer)
      File "/usr/lib/python3.4/ssl.py", line 617, in read
        v = self._sslobj.read(len, buffer)
    urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Die Verbindung wurde vom Kommunikationspartner zurückgesetzt'))
    Habt ihr das auch?

    Danke und Grüße
    David

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Mir paßt es nicht, das ein amerikanischer Konzern mit allem was ich hochlade Geld verdienen darf, meine Daten sind mir wichtig und gehen Facebook & Co. nichts an.

    Außerdem gibt es wegen Patentproblemen kein Whatsapp Plugin (mehr) so daß Telegram eine prima Alternative dazu ist.

    @gama: Via SmartHomeNG Logik könnte man auch mal lokal die Kameras abfragen nach dem aktuellsten Einbrecherbild und das dann per Telegram verteilen :-)

    Wenn Du soweit bist, teste ich Dein Plugin gerne ...

    Einen Kommentar schreiben:


  • gama
    antwortet
    Hm,

    ich überlege gerade ob es nicht besser wäre, olog einen weiteren "Output Channel" zur Verfügung zu stellen. Denn die eigentliche Logik, also was, wie, formatiert, text, etc. geloggt wird macht ja olog schon hervorragend. Eine Doppelimplemtierung wäre da allein wegen der pflege ungünstig. Vielleicht macht es Sinn ein einfaches Messaging in Telegram zu implementieren und dann zusätzlich einen "Channel" den man olog übergeben kann um komplexere Logging Routinen zu implementieren.

    Das Verändern von Variablen habe ich auf dem Schirm, aber ich möchte erst einmal mein (erstes) Plugin "richtig" zum Laufen bringen. In Summe hat Telegram tolle Möglichkeiten, mit vorgefertigten Menüs die Werte Auswahl ohne groß tippen zu ermöglichen, oder die Navigation durch den Itembaum zu ermöglichen. Aber man ist da relativ schnell bei einem alternativen Visu Interface

    Grüße
    Markus
    Zuletzt geändert von bmx; 08.05.2017, 09:43.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Code und Usage findest Du hier im Github.

    Theoretisch könnte das Telegram Plugin mit Befehlen auch Informationen über Items, Logiken & Co. liefern genau so wie das CLI oder auch das Backend. Wenn man via Telegram Werte ändern können soll, ist es ggf. auch sinnvoll noch Rechte auszuwerten also z.B. wie visu_acl = rw dann ein telegram_cli = r für readonly / telegram_cli = rw für read und write. (Einfach aus Sicherheitsgründen, damit keiner einen Aktor schalten kann der Sicherheitsrelevant ist)

    Dann wäre es noch gut, wenn Du das Plugin gleich Multiinstanzfähig machen könntest. Ich würde z.B. gerne einen Kanal für mich haben wo Systemweit wichtige Dinge sind und einen für die ganze Familie. Und die Informationen für die Familie sind natürlich klar andere als die vom System.
    Zuletzt geändert von bmx; 19.04.2017, 07:02.

    Einen Kommentar schreiben:


  • gama
    antwortet
    bmx: klar - mach ich sehr gerne. Wo finde ich den code bzw. syntax?

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Ich habe Dein Plugin im Einsatz und hatte schon angefangen auf Deiner Basis etwas analog zum Operationlog-Plugin zu implementieren, so daß man Messages von Items Formatiert schicken kann. Könntest Du das evtl. vom Operationlog so übernehmen und anpassen?

    Einen Kommentar schreiben:


  • MartW
    antwortet
    Gibt es denn andere Alternativen, die eifach zu installieren sind und nicht mit so viel Aufwand verbunden sind?

    Einen Kommentar schreiben:


  • gama
    antwortet
    Danke. Bin drüber... das Problem ist, dass die Möglichkeiten welche Telegram bietet recht weitreichend sind und ich erst einmal einen "lauffähigen" Stand online bringen möchte. Bei mir läuft das Plugin recht gut und stabil - aber es ist tatsächlich noch recht "gebastelt".

    Mittlerweile kann man im Message Text [ID], [NAME], [VALUE], [CALLER], [SOURCE], [DEST] als Platzhalter einbauen und sich so erweiterte Informationen zukommen lassen. Deinen Punkt mit Prüfung des Werts würde ich als Regular Expression mit aufnehmen - somit ist man recht flexibel eine Wert-Prüfung zu formulieren, die erfüllt sein muss, bevor die Nachricht rausgeht. Vielleicht macht es auch Sinn "Positiv-Prüfung-Message" und "Negativ-Prüfung-Message" einzubauen.

    Noch eine zentrale Frage: wie update ich meinen push request in GitHub, sobald ich die Änderung commited habe (bin git Anfänger )

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Hi,

    ich habe deinen PR mal etwas kommentiert.

    Der Code sieht noch stark aus wie work-in-progress. Nach einigem testen habe ich das Plugin zum laufen bekommen (die Doku ist noch ausbaufähig )

    Ich fände es gut, wenn Du den PR noch mal überarbeitest. In der jetzigen Form würde ich ihn ungern mergen.

    Einen Kommentar schreiben:


  • gama
    antwortet
    Hi, ich hatte meine Version vor einigen Wochen für einen push/pull vorbereitet - doch dann wurden die plugins in ein separates git umgezogen und ich hatte etwas "den Schwung" verloren. Der aktuelle Stand meinerseits:

    https://github.com/gamade/smarthome/...ugins/telegram

    Einen Kommentar schreiben:


  • Loki
    antwortet
    Hi,

    gibts eigentlich Neuigkeiten bezüglich des Plugins?
    Ansonsten, kannst du den Code sharen, selbst wenn es deiner Meinung nach relativ wenig ist?

    Ich bin mir nicht ganz sicher wie ich da anfangen sollte, ein Plugin zu entwickeln und denke, wenn ich deinen Code sehe verstehe ich besser, wie ich das entwickeln kann.

    Merci

    Einen Kommentar schreiben:


  • hotzen
    antwortet
    irgendjemand hatte ja die sehr coole idee den telegram chat auch als kommunikations-kanal fur amazon alexa zu benutzen.....

    Einen Kommentar schreiben:

Lädt...
X