Ankündigung

Einklappen
Keine Ankündigung bisher.

Telegram, Alternative zu WhatsApp

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

  • mode
    antwortet
    ivande machst du einen Pull Request oder soll ich das übernehmen?
    Ich würde das alte Plugin als telegram_1 übernehmen. Das wurde beim neuen MQTT Plugin von
    Msinn auch so gemacht.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Es gibt ja die Möglichkeit, alte Versionen in einen Unterordner des Plugins zu stecken. Fände ich so auch vernünftig.

    Einen Kommentar schreiben:


  • mode
    antwortet
    Ich habe das neue PlugIn getestet und bin der Meinung es ist schon jetzt deutlich besser als die alte telepot Variante.
    Ich wäre dafür das PlugIn schnellstmöglich in das SmarthomeNG Repository zu mergen und das alte Plugin als telegram_1 weiterzuführen.
    Einige Änderungen wie
    Code:
        def __call__(self, msg, chat_id=None):
            if chat_id == None:
                self._msg_broadcast(msg)
            else:
                self._msg_broadcast(msg, chat_id)
    um kompatibel zum alten Plugin zu sein sollten noch eingebaut werden.


    LG

    mode

    Einen Kommentar schreiben:

  • magiczambo
    Forums-Einsteiger

  • magiczambo
    antwortet
    Ok danke. Das wars!

    Einen Kommentar schreiben:


  • ivande
    antwortet
    Zitat von magiczambo Beitrag anzeigen
    bot.sendMessage(chat_id, message)
    so wie ich das sehe, benützt du doch gar nicht das plugin, sondern eine eigene logik welche über telepot sendet??

    Zitat von magiczambo Beitrag anzeigen
    File "/usr/local/lib/python3.5/dist-packages/telepot/__init__.py", line 456, in sendMessage

    in einer Logik sende ich ein Nachricht, über die Plugin-Funktion _msg_broadcast

    Code:
    sh.telegram._msg_broadcast(msg_txt)
    und so zum Senden eines Bildes:
    Code:
    sh.telegram._photo_broadcast(file_path, info_txt)

    Einen Kommentar schreiben:

  • magiczambo
    Forums-Einsteiger

  • magiczambo
    antwortet
    Hat leider nichts geholfen.

    Die erste Nachricht schlägt fehl:


    Code:
    2018-02-12  21:32:25 ERROR    logics.fensterwarnung Logic: logics.fensterwarnung, File: /usr/lib/python3.5/ssl.py, Line: 583, Method: read, Exception: ('Connection aborted.', ConnectionResetError(104, 'Die Verbindung wurde vom Kommunikationspartner zurückgesetzt'))
    Traceback (most recent call last):
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 601, in urlopen
        chunked=chunked)
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 387, in _make_request
        six.raise_from(e, None)
      File "<string>", line 2, in raise_from
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 383, in _make_request
        httplib_response = conn.getresponse()
      File "/usr/lib/python3.5/http/client.py", line 1198, in getresponse
        response.begin()
      File "/usr/lib/python3.5/http/client.py", line 297, in begin
        version, status, reason = self._read_status()
      File "/usr/lib/python3.5/http/client.py", line 258, in _read_status
        line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
      File "/usr/lib/python3.5/socket.py", line 576, in readinto
        return self._sock.recv_into(b)
      File "/usr/lib/python3.5/ssl.py", line 937, in recv_into
        return self.read(nbytes, buffer)
      File "/usr/lib/python3.5/ssl.py", line 799, in read
        return self._sslobj.read(len, buffer)
      File "/usr/lib/python3.5/ssl.py", line 583, 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 425, in _task
        exec(obj.bytecode)
      File "/usr/local/smarthome/logics/fensterwarnung.py", line 19, in <module>
        bot.sendMessage(chat_id, message)
      File "/usr/local/lib/python3.5/dist-packages/telepot/__init__.py", line 456, in sendMessage
        return self._api_request('sendMessage', _rectify(p))
      File "/usr/local/lib/python3.5/dist-packages/telepot/__init__.py", line 434, in _api_request
        return api.request((self._token, method, params, files), **kwargs)
      File "/usr/local/lib/python3.5/dist-packages/telepot/api.py", line 130, in request
        r = fn(*args, **kwargs)  # `fn` must be thread-safe
      File "/usr/local/lib/python3.5/dist-packages/urllib3/request.py", line 148, in request_encode_body
        return self.urlopen(method, url, **extra_kw)
      File "/usr/local/lib/python3.5/dist-packages/urllib3/poolmanager.py", line 321, in urlopen
        response = conn.urlopen(method, u.request_uri, **kw)
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 639, in urlopen
        _stacktrace=sys.exc_info()[2])
      File "/usr/local/lib/python3.5/dist-packages/urllib3/util/retry.py", line 357, in increment
        raise six.reraise(type(error), error, _stacktrace)
      File "/usr/local/lib/python3.5/dist-packages/urllib3/packages/six.py", line 685, in reraise
        raise value.with_traceback(tb)
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 601, in urlopen
        chunked=chunked)
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 387, in _make_request
        six.raise_from(e, None)
      File "<string>", line 2, in raise_from
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 383, in _make_request
        httplib_response = conn.getresponse()
      File "/usr/lib/python3.5/http/client.py", line 1198, in getresponse
        response.begin()
      File "/usr/lib/python3.5/http/client.py", line 297, in begin
        version, status, reason = self._read_status()
      File "/usr/lib/python3.5/http/client.py", line 258, in _read_status
        line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
      File "/usr/lib/python3.5/socket.py", line 576, in readinto
        return self._sock.recv_into(b)
      File "/usr/lib/python3.5/ssl.py", line 937, in recv_into
        return self.read(nbytes, buffer)
      File "/usr/lib/python3.5/ssl.py", line 799, in read
        return self._sslobj.read(len, buffer)
      File "/usr/lib/python3.5/ssl.py", line 583, in read
        v = self._sslobj.read(len, buffer)
    urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Die Verbindung wurde vom Kommunikationspartner zurückgesetzt'))

    Einen Kommentar schreiben:

  • magiczambo
    Forums-Einsteiger

  • magiczambo
    antwortet
    Ok danke. dann werde ich den Code mal so übernehmen + in Zeile 113 eben die "read_latency=50.0".

    Einen Kommentar schreiben:


  • ivande
    antwortet
    Zitat von magiczambo Beitrag anzeigen
    Wo genau (Zeile) hast du das geändert? Es gibt zwei Stellen mit "start_polling":

    Zeile 94 und 115

    bei mir in Zeile 113.
    Code:
    self._updater.start_polling(read_latency=50.0)

    in der Zeile 93 sollte self._updater.start_polling() nicht aktiv sein
    Code:
    #self._updater.start_polling()

    hier mein aktueller Code

    https://github.com/ivan73/plugins/bl...am/__init__.py

    Einen Kommentar schreiben:

  • magiczambo
    Forums-Einsteiger

  • magiczambo
    antwortet
    Zitat von ivande Beitrag anzeigen

    ich hab es seit ca. 20h mit read_latency=50.0 versucht, und bisher keinen Error...

    Code:
    self._updater.start_polling(read_latency=50.0) # (poll_interval=0.0, timeout=10, network_delay=None, clean=False, bootstrap_retries=0, read_latency=2.0, allowed_updates=None)
    #self._updater.idle()
    Wo genau (Zeile) hast du das geändert? Es gibt zwei Stellen mit "start_polling":

    Zeile 94 und 115

    Ich habe es in beiden Zeilen hinzugefügt. Leider habe immernoch das Problem, dass die erste Nachricht nach "längerer" Zeit nicht ankommt.

    Mit dieser Fehlermeldung:

    Code:
    2018-02-10  16:11:02 INFO     logics.fensterwarnung Fensterwarnung fuer Fenster: Fenster.HWR.warn
    2018-02-10  16:11:02 ERROR    logics.fensterwarnung Logic: logics.fensterwarnung, File: /usr/lib/python3.5/ssl.py, Line: 583, Method: read, Exception: ('Connection aborted.', ConnectionResetError(104, 'Die Verbindung wurde vom Kommunikationspartner zurückgesetzt'))
    Traceback (most recent call last):
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 601, in urlopen
        chunked=chunked)
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 387, in _make_request
        six.raise_from(e, None)
      File "<string>", line 2, in raise_from
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 383, in _make_request
        httplib_response = conn.getresponse()
      File "/usr/lib/python3.5/http/client.py", line 1198, in getresponse
        response.begin()
      File "/usr/lib/python3.5/http/client.py", line 297, in begin
        version, status, reason = self._read_status()
      File "/usr/lib/python3.5/http/client.py", line 258, in _read_status
        line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
      File "/usr/lib/python3.5/socket.py", line 576, in readinto
        return self._sock.recv_into(b)
      File "/usr/lib/python3.5/ssl.py", line 937, in recv_into
        return self.read(nbytes, buffer)
      File "/usr/lib/python3.5/ssl.py", line 799, in read
        return self._sslobj.read(len, buffer)
      File "/usr/lib/python3.5/ssl.py", line 583, 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 425, in _task
        exec(obj.bytecode)
      File "/usr/local/smarthome/logics/fensterwarnung.py", line 19, in <module>
        bot.sendMessage(chat_id, message)
      File "/usr/local/lib/python3.5/dist-packages/telepot/__init__.py", line 456, in sendMessage
        return self._api_request('sendMessage', _rectify(p))
      File "/usr/local/lib/python3.5/dist-packages/telepot/__init__.py", line 434, in _api_request
        return api.request((self._token, method, params, files), **kwargs)
      File "/usr/local/lib/python3.5/dist-packages/telepot/api.py", line 130, in request
        r = fn(*args, **kwargs)  # `fn` must be thread-safe
      File "/usr/local/lib/python3.5/dist-packages/urllib3/request.py", line 148, in request_encode_body
        return self.urlopen(method, url, **extra_kw)
      File "/usr/local/lib/python3.5/dist-packages/urllib3/poolmanager.py", line 321, in urlopen
        response = conn.urlopen(method, u.request_uri, **kw)
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 639, in urlopen
        _stacktrace=sys.exc_info()[2])
      File "/usr/local/lib/python3.5/dist-packages/urllib3/util/retry.py", line 357, in increment
        raise six.reraise(type(error), error, _stacktrace)
      File "/usr/local/lib/python3.5/dist-packages/urllib3/packages/six.py", line 685, in reraise
        raise value.with_traceback(tb)
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 601, in urlopen
        chunked=chunked)
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 387, in _make_request
        six.raise_from(e, None)
      File "<string>", line 2, in raise_from
      File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 383, in _make_request
        httplib_response = conn.getresponse()
      File "/usr/lib/python3.5/http/client.py", line 1198, in getresponse
        response.begin()
      File "/usr/lib/python3.5/http/client.py", line 297, in begin
        version, status, reason = self._read_status()
      File "/usr/lib/python3.5/http/client.py", line 258, in _read_status
        line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
      File "/usr/lib/python3.5/socket.py", line 576, in readinto
        return self._sock.recv_into(b)
      File "/usr/lib/python3.5/ssl.py", line 937, in recv_into
        return self.read(nbytes, buffer)
      File "/usr/lib/python3.5/ssl.py", line 799, in read
        return self._sslobj.read(len, buffer)
      File "/usr/lib/python3.5/ssl.py", line 583, in read
        v = self._sslobj.read(len, buffer)
    urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Die Verbindung wurde vom Kommunikationspartner zurückgesetzt'))
    magiczambo
    Forums-Einsteiger
    Zuletzt geändert von magiczambo; 10.02.2018, 16:17.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Selbes Problem hier. 1 Mal innerhalb der letzten 24 Stunden der "Invalid Server response". Dafür gleich 5 Mal am Stück innerhalb weniger Sekunden.
    Zur Schocknachricht gibt es schon ein Update:
    [Update 1.02.2018 18:35 Uhr] Telegram und Telegram X lassen sich inzwischen wieder über den App Store beziehen.

    Einen Kommentar schreiben:


  • gama
    antwortet
    Dito, mit read_latency ist es (zumindest in den letzten 24h) besser.

    Hier noch ein Schock-Artikel:
    https://www.heise.de/mac-and-i/meldu...s-3958529.html

    Einen Kommentar schreiben:


  • ivande
    antwortet
    Timeouts hatte ich mit read_latency=50 noch keine. In der Zwischenzeit ist jedoch ein anderer Fehler aufgetaucht, dieser wiederholte sich jedoch nicht periodisch.


    2018-02-01 03:06:29 ERROR updater Error while getting Updates: Invalid server response
    2018-02-01 03:06:29 WARNING dispatcher Update None caused error Invalid server response
    2018-02-01 03:06:30 ERROR updater Error while getting Updates: Invalid server response
    2018-02-01 03:06:30 WARNING dispatcher Update None caused error Invalid server response
    2018-02-01 03:06:32 ERROR updater Error while getting Updates: Invalid server response
    2018-02-01 03:06:32 WARNING dispatcher Update None caused error Invalid server response
    2018-02-01 03:06:34 ERROR updater Error while getting Updates: Invalid server response
    2018-02-01 03:06:34 WARNING dispatcher Update None caused error Invalid server response
    2018-02-01 03:06:37 ERROR updater Error while getting Updates: Invalid server response

    Einen Kommentar schreiben:


  • gama
    antwortet
    Habe die read_latency mal übernommen und werde berichten... danke.

    Einen Kommentar schreiben:


  • ivande
    antwortet
    so wie ich das sehe, sind wir nicht die einzigen mit dem Problem

    https://github.com/python-telegram-b...bot/issues/802


    ich hab es seit ca. 20h mit read_latency=50.0 versucht, und bisher keinen Error...

    Code:
    self._updater.start_polling(read_latency=50.0)     # (poll_interval=0.0, timeout=10, network_delay=None, clean=False, bootstrap_retries=0, read_latency=2.0, allowed_updates=None)
    #self._updater.idle()
    Gruß Ivan
    Zuletzt geändert von ivande; 01.02.2018, 09:31.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Jup, bei mir das gleiche.. Ca. 4 Timeouts pro Stunde mit dem idle-Code.

    Einen Kommentar schreiben:

Lädt...
X