Ring Video Doorbell

Begonnen von blueberry63, 23 August 2017, 11:06:28

Vorheriges Thema - Nächstes Thema

nhetzke

Hi,
Ja stimmt. Ich checke immer korrekt vom Master aus. ;D
Die problematische Stelle ist glaube ich die wo die Adresse drin steht.
Entwickler, Projekt und Qualitätsmanager
RasPi1b & FHEM & HM-CFG-USB

pflock_y

Hallo zusammen,

ich probiere mich seit einigen Tagen an der Ring. Soweit so gut. Zufrieden bin ich noch nicht, aber ich gebe nicht auf.  :-\

jetzt hab ich im log folgendes:


2019-02-17 10:38:09,968 - fhem_ring - DEBUG - Polling for events with 'Haustuer'.
2019-02-17 10:38:12,577 - fhem_ring - DEBUG - Polling for events with 'Haustuer'.
2019-02-17 10:38:15,448 - fhem_ring - DEBUG - Polling for events with 'Haustuer'.
2019-02-17 10:38:18,023 - fhem_ring - DEBUG - Polling for events with 'Haustuer'.
2019-02-17 10:38:20,557 - fhem_ring - DEBUG - Polling for events with 'Haustuer'.
2019-02-17 10:38:23,137 - fhem_ring - DEBUG - Polling for events with 'Haustuer'.
2019-02-17 10:38:26,132 - fhem_ring - INFO - Updating device data for device 'Haustuer' in FHEM...
2019-02-17 10:38:26,133 - fhem_ring - DEBUG - sending: setreading Ring_Haustuer account xxxxxxxxxx
2019-02-17 10:38:26,134 - fhem_ring - ERROR - Unexpected error:[Errno 104] Connection reset by peer
2019-02-17 10:38:26,135 - fhem_ring - ERROR - Exception occured. Retrying...
2019-02-17 10:38:31,549 - fhem_ring - INFO - Updating device data for device 'Haustuer' in FHEM...
2019-02-17 10:38:31,550 - fhem_ring - DEBUG - sending: setreading Ring_Haustuer account xxxxxxxxxx
2019-02-17 10:38:31,551 - fhem_ring - ERROR - Unexpected error:[Errno 32] Broken pipe
2019-02-17 10:38:31,552 - fhem_ring - ERROR - Exception occured. Retrying...
2019-02-17 10:38:36,992 - fhem_ring - INFO - Updating device data for device 'Haustuer' in FHEM...
2019-02-17 10:38:36,993 - fhem_ring - DEBUG - sending: setreading Ring_Haustuer account xxxxxxxxxx
2019-02-17 10:38:36,994 - fhem_ring - ERROR - Unexpected error:[Errno 32] Broken pipe
2019-02-17 10:38:36,994 - fhem_ring - ERROR - Exception occured. Retrying...
2019-02-17 10:38:42,398 - fhem_ring - INFO - Updating device data for device 'Haustuer' in FHEM...
2019-02-17 10:38:42,399 - fhem_ring - DEBUG - sending: setreading Ring_Haustuer account xxxxxxxxx
2019-02-17 10:38:42,399 - fhem_ring - ERROR - Unexpected error:[Errno 32] Broken pipe
2019-02-17 10:38:42,400 - fhem_ring - ERROR - Exception occured. Retrying...
2019-02-17 10:38:48,120 - fhem_ring - INFO - Updating device data for device 'Haustuer' in FHEM...
2019-02-17 10:38:48,121 - fhem_ring - DEBUG - sending: setreading Ring_Haustuer account xxxxxxxx
2019-02-17 10:38:48,122 - fhem_ring - ERROR - Unexpected error:[Errno 32] Broken pipe
2019-02-17 10:38:48,123 - fhem_ring - ERROR - Exception occured. Retrying...
2019-02-17 11:30:40,382 - fhem_ring - INFO - Found 1 devices.


nun sagt mir
2019-02-17 10:38:26,134 - fhem_ring - ERROR - Unexpected error:[Errno 104] Connection reset by peer
das der Server die Verbindung abgelehnt hat.

Ich kann auch mit erneutem starten nichts mehr auslesen.

Die Frage ist warum?
vielleicht kann mir einer von euch auf die Sprünge helfen.

vg
pflock_y

budy

Moin pflock_y,

fangen wir mal am Anfang an. Geht es denn überhaupt mal, sprich ist der Telnetport 7072 auf deinem FHEM überhaupt offen? Wenn das der Fall ist, dann wäre mal zu klären, ob dein FHEM vielleicht zwischendurch mal neu startet, das würde dann den Socket killen und das ring.py würde sich nicht wieder verbinden können.

...allerdings würde es sich dann bei einem Neustart der ring.py wieder verbinden. Was sagt denn das ring.log welches da normalerweise immer geschrieben wird?

Gruß,
budy
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

pflock_y

Hallo budy,

sorry für die späte Antwort, bei dem ganzen rum probieren hab ich meinen Pi komplett geschrotet. frei nach dem Motto:
Think Before You Type,

Jetzt läuft soweit wieder alles, also kann es weiter gehen, nur diesmal hab ich ein Vollständiges Image und nicht nur das FHEM Backup.  ???

Telnet Port 7072 ist offen
FHEM startet nur einmal die Woche, Sonntag 23:55, neu. Da hab ich ne DOIF eingerichtet, mir läuft immer der Speicher voll.
Das log steht im vorherigen post. Anscheinend läuft die ring.py knapp ne stunde und bricht wieder ab.

Ich werde es alles noch einmal auf dem nun frischen Pi,  >:( , ausprobieren.
schon wir mal.

grüße
pflock_y

budy

#64
Moin Niels,

nachdem ich jetzt mal wieder ein wenig Zeit habe und ich deine Version ein paar Wochen im Einsatz habe, stelle ich fest, dass die signalisierung so nicht funktioniert. Selbst mit meiner Änderung, den FHEM gleich zu benachrichtigen, sobald sich da ein Motion- oder Ding-Event meldet funktioniert es nur halb, da einem Ding-Event - zumindest bei mir, immer ein Motion-Event vorrausgeht.

...es sei denn, jemand kriegt es hin auf den Klingelknopf zu drücken, ohne dass ihn die Kamera vorher erfasst hätte. Man müsste das Ganze umschreiben, so dass die Routine, die auf die Fertigstellung des neuen Videos wartet als Thread läuft, damit man weiterhin auf Events, wie eben ein Ding-Event, reagieren kann.
Ich hatte für meinen LD382a mal so etwas programmiert, weil das Dimmen in FHEM per Wifilight/Perl für mich nicht ruckelfrei genug ging. Ich glaube, da schaue ich nochmal rein und werde mal sehen, ob ich das nicht auch so was für die Ring hinbekomme.

Gruß,
budy
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

budy

Moin,

ich habe mir mal das repo von Markus geklont und das ring.py ein wenig weiter entwickelt. Was mich vor allem gestört hatte, war ja die Tatsache, dass die Suche nach dem nächsten Video nicht im Hintergrund lief und dadurch auch nicht mehr auf Folge-Ergeignisse der Ring reagiert werden konnte. Ich habe die Suche nach dem nächsten Video zum einen in eine threadded function ausgelagert, so dass diese mehrfach und unabhängig aufgerufen werden kann. Zum anderen habe ich dafür gesorgt, dass die Alerts direkt an FHEM gemeldet werden, was bei mir insofern wichtig ist, als dass ich im Haus einige HM MP3 Türgongs installiert habe, welche ansonsten erst nach dem Ende der Videosuche geklinget haben, da erst dann das Ding-Event an FHEM gemeldet wurde.

Außerdem habe ich - glaube ich zumindest, die Funktion so gekapselt, dass sie auch mit mehreren Ring-Devices gleichzeitig zurecht kommen müsste, kann das aber mangels Masse nicht testen. Für Interessenten, hier der Link zu meinem Repo auf GitHub:

https://github.com/budachst/ring-fhem/blob/master/ring.py

Have fun,
budy
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

marko67

Hallo, guten Tag

Ich bin seit Samstag auch Besitzer einer Türklingel. Ich habe alles Installiert nach den Anleitungen in diesem Beitrag. Habe auch hoffentlich alle Berechtigungen gesetzt... allerdings ohne Erfolg. Es wird keine Logdatei geschrieben. Starten händig der ring.py geht, allerdings kommt die Meldung, dass das @ in der Mailadresse einen Fehler verursacht. In Fhem erfolgt weder bei Bewegung noch Ring ein Event.

Wo kann ich ansetzen, um den Fehler zu finden? Welche Informationen werden benötigt um ggf. den Fehler zu suchen?


Viele Grüße Marko

budy

Moin Marko,

ist schwer zu sagen, aber hast du auch darauf geachtet, die korrekten Hochkommata zu benutzen? Manchmal, wenn man was aus dem Browser kopiert, werden die surch Zeichen ersetzt, die zwar ähnlich, aber doch andere sind. Die Konfig für den Ring-Account muss ja so aussehen:


# CONFIG
ring_user = 'ringuser'
ring_pass = 'ringpass'


Da sollte Python nicht wegen des @-Zeichens meckern. Tut er das, dann kann sich die ring.py nicht einloggen und es kommen logischerweise auch keine Events beim FHEM an.

Wenn du die ring.py direkt im Terminal  startest, dann gibt es auch kein Log, da alles ins Terminal geloggt wird...

Gruß,
budy
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

marko67

Hallo Budy

Danke für Deine Antwort und Hilfe. Das mit den Hochkommata habe ich korrigiert. Die folgenden 2 Meldungen erhalte ich nun:

pi@FHEMPi:/opt/fhem/bin $ ./ring.py
Traceback (most recent call last):
  File "./ring.py", line 23, in <module>
    fh = logging.FileHandler('ring.log')
  File "/usr/lib/python2.7/logging/__init__.py", line 913, in __init__
    StreamHandler.__init__(self, self._open())
  File "/usr/lib/python2.7/logging/__init__.py", line 943, in _open
    stream = open(self.baseFilename, self.mode)
IOError: [Errno 13] Permission denied: '/opt/fhem/bin/ring.log'


pi@FHEMPi:/opt/fhem/bin $ sudo -u fhem python ring.py
Traceback (most recent call last):
  File "ring.py", line 2, in <module>
    from ring_doorbell import Ring
ImportError: No module named ring_doorbell
pi@FHEMPi:/opt/fhem/bin $

Otto123

Die Voraussetzung hast Du geschaffen? Meine Notiz dazu:
###Ring Video Doorbell
# Quelle https://forum.fhem.de/index.php/topic,75754.0.html
# Voraussetzungen im System schaffen
apt-get update
# Ich bin nicht sicher ob man git braucht
apt-get python-pip git

pip install git+https://github.com/tchellomello/python-ring-doorbell
# python fhem API https://github.com/domschl/python-fhem
pip install fhem
pip list # installed Packages


Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

onkel-tobi

Hi zusammen,

sieht so aus als gäbe es neue Funktionen:

https://buildmedia.readthedocs.org/media/pdf/python-ring-doorbell/latest/python-ring-doorbell.pdf

So sollte es möglich sein einen Snapshot zu erhalten, oder sehe ich das falsch?

Gruß,
Tobi

Amenophis86

Da wir inzwischen über die Anfängerfrage hinaus sind würde ich vorschlagen das Thema zu verschieben? Gibt es Gründe dagegen? Aus meiner Sicht wäre Codeschnipsel das richtige Board so lange es noch kein Modul ist.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

budy

Keine Einwände von mir...  ;)
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

budy

#73
Moin,

Zitat von: onkel-tobi am 12 März 2019, 23:27:02
Hi zusammen,

sieht so aus als gäbe es neue Funktionen:

https://buildmedia.readthedocs.org/media/pdf/python-ring-doorbell/latest/python-ring-doorbell.pdf

So sollte es möglich sein einen Snapshot zu erhalten, oder sehe ich das falsch?

hmm... ich habe mir das Repo gerade mal angesehen und sehe keine neue Funktionalität. Die Snapshot-Funtion war schon in der 0.23 drin, welche ich seit Januar einsetze. Ich schau mal, ob ich die irgendwie integriert bekomme.

Gruß,
budy
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

onkel-tobi

Zitat von: budy am 13 März 2019, 09:03:44
Ich schau mal, ob ich die irgendwie integriert bekomme.
Das wäre cool.

Ich bekomme allerdings aktuell auch bei deiner Version folgenden Fehler:
Traceback (most recent call last):
  File "ring.py", line 203, in <module>
    for k, d in devs.items(): getDeviceInfo(d)
  File "ring.py", line 89, in getDeviceInfo
    srRing('address ' + dev.address, dev)
  File "ring.py", line 79, in srRing
    sendFhem('setreading Ring_' + dev.name.replace(" ","") + ' ' + str)
  File "ring.py", line 60, in sendFhem
    fh.send_cmd(str)
  File "/usr/local/lib/python2.7/dist-packages/fhem/__init__.py", line 304, in send_cmd
    self.log.debug("Sending: {}".format(msg))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xdf' in position 44: ordinal not in range(128)

Zeile 80 habe ich schon entsprechend geändert (s. https://github.com/markuzzi/ring-fhem/pull/1/files)

Hast Du  noch eine Idee?

Danke & Gruß,
Tobi