fhempy: ring (Ring Doorbell, Chime, ...)

Begonnen von dominik, 04 Januar 2021, 12:37:13

Vorheriges Thema - Nächstes Thema

dominik

Zitat von: JF Mennedy am 05 Januar 2021, 14:54:02
Hallo Dominik,

in der aktuellen Version (0.1.15) lassen sich keine Set-Befehle mehr eingeben (set Passwort, set 2fa, set volume) Das PullDown Menu ist nicht da und ein "set ringdev volume 0" wird mit "Command not available for this device" quittiert.

Gruss Jan

Danke für die schnelle Rückmeldung. Fix ist in den nächsten 10 Minuten in Version 0.1.16 online.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

JF Mennedy

Set geht wieder, bekomme aber keine Updates mehr von Dings und Motion:

2021-01-05 16:55:34,255 - ERROR    - ringdev: Failed to poll devices
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/urllib3/connectionpool.py", line 421, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/local/lib/python3.7/dist-packages/urllib3/connectionpool.py", line 416, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.7/http/client.py", line 1336, in getresponse
    response.begin()
  File "/usr/lib/python3.7/http/client.py", line 306, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.7/http/client.py", line 267, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
  File "/usr/local/lib/python3.7/dist-packages/urllib3/contrib/pyopenssl.py", line 326, in recv_into
    raise timeout("The read operation timed out")
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/local/lib/python3.7/dist-packages/urllib3/connectionpool.py", line 720, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/usr/local/lib/python3.7/dist-packages/urllib3/util/retry.py", line 400, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.7/dist-packages/urllib3/packages/six.py", line 735, in reraise
    raise value
  File "/usr/local/lib/python3.7/dist-packages/urllib3/connectionpool.py", line 672, in urlopen
    chunked=chunked,
  File "/usr/local/lib/python3.7/dist-packages/urllib3/connectionpool.py", line 423, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "/usr/local/lib/python3.7/dist-packages/urllib3/connectionpool.py", line 331, in _raise_timeout
    self, url, "Read timed out. (read timeout=%s)" % timeout_value
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='api.ring.com', port=443): Read timed out. (read timeout=10)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/ring/ring.py", line 120, in update_loop
    await utils.run_blocking(functools.partial(self.poll_device))
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 32, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/ring/ring.py", line 267, in poll_device
    self._rdevice.last_recording_id
  File "/opt/fhem/.local/lib/python3.7/site-packages/ring_doorbell/doorbot.py", line 368, in recording_url
    req = self._ring.query(url)
  File "/opt/fhem/.local/lib/python3.7/site-packages/ring_doorbell/__init__.py", line 101, in query
    timeout=timeout,
  File "/opt/fhem/.local/lib/python3.7/site-packages/ring_doorbell/auth.py", line 84, in query
    req = getattr(self._oauth, method.lower())(url, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 546, in get
    return self.request('GET', url, **kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/requests_oauthlib/oauth2_session.py", line 516, in request
    method, url, headers=headers, data=data, **kwargs
  File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/requests/adapters.py", line 529, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='api.ring.com', port=443): Read timed out. (read timeout=10)


dominik

Auch wenn du fhempy neu startest? Weil das sieht nach üblichen Ring Fehlern aus.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

JF Mennedy

Ja fhempy wurde neu gestartet nach dem Update... Warte einfach mal ab...

GreenFHEMfan

#19
Bei mir aktuallisiert sich seit 2 Tagen alle "alert"-Readings nicht mehr.
Und seit neuesten bringt der Ring-Server immer eine neue URL für das selbe Video!

Habe die BINDINGIO schon geupdatet und das PythonBinding gestoppt und restartet außerdem fhempy updated - alles ohne Erfolg!

Gruß
Maik
Rasp 3B+,4 / CUL /  Duofernstick / SIGNALduino (nanocul CC1101 optiboot) / mqtt

JF Mennedy

Hallo Maik,

welche Version hast du installiert? In der 0.1.18 gehen die alerts wieder.. Dass sich die URL ändert ist normal, da der link immer nur eine gewisse Zeit gültig ist...

Bei mir läuft das binding jetzt seit dem 06.01. um 0:05  also ca 60std. und alle Events kommen noch rein...

Gruss Jan

Manos

Hallo Dominik,

letztes Update (heute) war nicht gut....

Status: Failed to load module ring: Traceback (most recent call last): File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py", line 242, in _onMessage module_object = importlib.import_module(pymodule) File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1014, in _gcd_import File "", line 991, in _find_and_load File "", line 975, in _find_and_load_unlocked File "", line 671, in _load_unlocked File "", line 783, in exec_module File "", line 219, in _call_with_frames_removed File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/ring/ring.py", line 5, in from asyncio.futures import CancelledError ImportError: cannot import name 'CancelledError' from 'asyncio.futures' (/usr/lib/python3.8/asyncio/futures.py)

2021-01-10 01:35:53,231 - ERROR    - RingDoorBell: Failed to poll dings...
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/ring/ring.py", line 138, in update_dings_loop
    await utils.run_blocking(functools.partial(self.poll_dings))
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/utils.py", line 32, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/ring/ring.py", line 256, in poll_dings
    self._ring.update_dings()
  File "/opt/fhem/.local/lib/python3.8/site-packages/ring_doorbell/__init__.py", line 89, in update_dings
    self.dings_data = self.query(DINGS_ENDPOINT).json()
  File "/opt/fhem/.local/lib/python3.8/site-packages/ring_doorbell/__init__.py", line 95, in query
    return self.auth.query(
  File "/opt/fhem/.local/lib/python3.8/site-packages/ring_doorbell/auth.py", line 89, in query
    req.raise_for_status()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 504 Server Error: Gateway Time-out for url: https://api.ring.com/clients_api/dings/active?api_version=9
2021-01-10 02:05:39,381 - INFO     - fhempy.lib.pkg_installer: Attempting install of fhempy
2021-01-10 02:05:41,822 - ERROR    - asyncio: Task exception was never retrieved
future:  exception=SystemExit(1)>
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py", line 125, in onMessage
    await self._onMessage(payload)
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py", line 377, in _onMessage
    raise se
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py", line 158, in _onMessage
    sys.exit(1)
SystemExit: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/asyncio/base_events.py", line 570, in run_forever
    self._run_once()
  File "/usr/lib/python3.8/asyncio/base_events.py", line 1859, in _run_once
    handle._run()
  File "/usr/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "/opt/fhem/.local/lib/python3.8/site-packages/fhempy/lib/fhem_pythonbinding.py", line 127, in onMessage
    sys.exit(1)
SystemExit: 1
2021-01-10 02:05:42,415 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-10 02:05:42,420 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-01-10 02:05:53,709 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-01-10 02:08:18,167 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-10 02:08:18,176 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-01-10 02:08:29,324 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-01-10 03:51:36,028 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-10 03:51:36,033 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-01-10 03:51:45,806 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-01-10 03:53:24,441 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-10 03:53:24,446 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-01-10 03:53:34,987 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-01-10 03:54:00,230 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsSingleUpdate($defs{'upnp'},'uuid.d_urn.schemas-wd-com.device.WdNAS-DEV_0314.1','ManosMyCloudEX2',0)
2021-01-10 03:54:20,720 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-10 03:54:20,728 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-01-10 03:54:24,244 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-01-10 03:54:45,934 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsSingleUpdate($defs{'upnp'},'uuid._urn.schemas-upnp-org.device.MediaRenderer.1','[TV] Bed room',0)


HP Microserver GEN8 XEON, Ubuntu 22.04, FHEM, ConBee II, CCU2, CUL433, Tradfri, Luxtronik2, Volkszaehler (und wenig Ahnung...)

dominik

Danke für die Info. Das liegt an Python3.8, da wurde eine Klasse scheinbar verschoben.

Update folgt gleich...

Btw, hast du Python 3.8 auf dem RPi laufen? Ich würde es dann für meine Tests mit aufnehmen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

leachim200

Zitat von: leachim200 am 05 Januar 2021, 07:54:42
Guten Morgen
Ich werde es heute mit der 2 1800 Einstellung probieren das wird mich interessieren ob es dann verzögert wird. Ja genau ich hab auch die python variante verwendet bie der über die crontab immer ein stündlicher Neustart drinnen war.
Sobald es wieder passiert bekommst du dominik wieder das logfile :) und ich starte aktuelle die fhem instanz neu dann funktioniert es gibt es hier eine alternative?

Hallo
Also mit 2 und 1800 habe ich seit 5 Tagen keine Probleme mehr :)
Ich melde mich sobald ich den ausfallzeitpunit kenne
Lg

Manos

#24
Zitat von: dominik am 10 Januar 2021, 10:02:45
Danke für die Info. Das liegt an Python3.8, da wurde eine Klasse scheinbar verschoben.

Update folgt gleich...

Btw, hast du Python 3.8 auf dem RPi laufen? Ich würde es dann für meine Tests mit aufnehmen.

Update hat funktioniert! D A N K E  :)

Python 3.8.5 (Ubuntu 20.04.1, HP Microserver) bei mir.

Schoene Gruesse
Manos
HP Microserver GEN8 XEON, Ubuntu 22.04, FHEM, ConBee II, CCU2, CUL433, Tradfri, Luxtronik2, Volkszaehler (und wenig Ahnung...)

dominik

Super!  :)

Ich habe jetzt Python 3.8.7 und Python 3.9.1 in meine Tests mit aufgenommen. Somit sollte das nicht mehr passieren.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Manos

Hallo Dominik,
zur Info:
battery_life wird weiterhin nicht aktualisiert (siehe Bild von gestern, 18.01.2021), ausser nach einem restart der Python Verbindung.


HP Microserver GEN8 XEON, Ubuntu 22.04, FHEM, ConBee II, CCU2, CUL433, Tradfri, Luxtronik2, Volkszaehler (und wenig Ahnung...)

Manos

#27
Ich habe eine Frage Dominik:

RING nimmt (und speichert) eine Videoaufnahme auf, erst wenn eine Bewegung identifiziert wird.
Solange man ein Subscription hat, wird diese Aufnahme 30 Tage lang in der Cloud gespeichert.

Den Rest der Zeit werden keine Aufnahmen gespeichert, ausser wenn jemand mit der App das LIVE VIEW beobachtet (RING Status wechselt auf "on_demand").

Kannst du den Befehl zum LIVE VIEW "programmieren"?
Meine Idee ist folgendes: Ich habe mein RING und zwei Bewegungsmeldern draussen.
Mein RING ist programmiert nur auf Personen die direkt vor der Haustuer stehen, zu reagieren. Ansonsten haette ich zu viele Alarm Meldungen.
Nachteil: kaum Video Aufnahmen.
Die Bewegungssensoren erfassen einen weiten Bereich von ca. 15  Metern.

Ich will Nachts, jegliche Bewegung im Außenbereich die von den Bewegungsmeldern erkannt wird, den LIVE VIEW Modus des RING aktiviert!
So werden RING Video Aufnahmen in die Cloud gespeichert, die ich spaeter bei Bedarf betrachten kann.


PS. Wir haben einen Marder der oefters auf der Strasse laeft. Mit eingeschalteten "Personen Erkennung" reagiert RING nicht auf Tiere, dadurch habe ich keine Aufnahmen.

HP Microserver GEN8 XEON, Ubuntu 22.04, FHEM, ConBee II, CCU2, CUL433, Tradfri, Luxtronik2, Volkszaehler (und wenig Ahnung...)

dominik

Battery_life: Ich bau da noch eine Log Message ein um das genauer zu testen. Update folgt (0.1.23). Lass mich dann wissen wenn es wieder nicht aktualisiert wird, dann schauen wir im Log nach.

LIVE_VIEW: Ich glaube das ist möglich, weil sobald man nach der Live URL fragt, erhält man den on_demand Eintrag. In der aktuellen Version der Library funktioniert das jedoch noch nicht. Das Update mit dem Fix ist noch nicht released. Sobald es das gibt, können wir uns das gerne anschauen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Btw, wenn Snapshot geht, wäre vielleicht die Nutzung von fhempy object_detection für euch interessant. Das kann in einem Bild oder Video Stream 90 verschiedene Objekte erkennen und das auf einem RPi.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik