Ring Video Doorbell

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

Vorheriges Thema - Nächstes Thema

Nexium

Hallo,

hab das ganze mal bei mir instaliert. Leider klappt es nicht. Gibt es die möglichkeit in einem Logfile zu schauen wo es hängt?
run.py wurde gestartet und der TelnetPort in FHEM ist auch auf.

Schonmal Danke

budy

Zum einen erzeugt das ring.py ein Logfile namens ring.log im selben Verzeichnis, aus dem es gestartet wurde und zum anderen könntest du die ring.py ja auch selbst als User fhem starten, dann kriegst du sofort alle Ausgaben direkt geliefert:

sudo -u fhem phython ring.py


Ich habe das jetzt soweit hin, aber es gibt da ein kleines "Problem" mit der API und der ring PythnLib, wofür die Lib aber, glaube ich, nichts kann: wenn ein Event ausgelöst wird, egal ob motion oder ring, dann gibt das Reading lastCaptureURL immer nur die vorletzte (welches aber zum Zeitpunkt des Eintritts des Events noch die letzte) Video-URL zurück. Ich vermute mal, dass die URL für das aktuelle Video dann noch gar nicht zur Verfügung steht.

Ich habe dann mal versucht einfach die URL immer mit pollen zu lassen, aber die ändert sich bei jedem Aufruf und ich weiß auch nicht, ob Ring nicht irgendwann dichtmacht, wenn man alle 2s die Videos enumeriert...

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

Nexium

#47
Zitat von: budy am 03 Januar 2019, 19:03:59
Zum einen erzeugt das ring.py ein Logfile namens ring.log im selben Verzeichnis, aus dem es gestartet wurde und zum anderen könntest du die ring.py ja auch selbst als User fhem starten, dann kriegst du sofort alle Ausgaben direkt geliefert:

sudo -u fhem phython ring.py


Ich habe das jetzt soweit hin, aber es gibt da ein kleines "Problem" mit der API und der ring PythnLib, wofür die Lib aber, glaube ich, nichts kann: wenn ein Event ausgelöst wird, egal ob motion oder ring, dann gibt das Reading lastCaptureURL immer nur die vorletzte (welches aber zum Zeitpunkt des Eintritts des Events noch die letzte) Video-URL zurück. Ich vermute mal, dass die URL für das aktuelle Video dann noch gar nicht zur Verfügung steht.

Ich habe dann mal versucht einfach die URL immer mit pollen zu lassen, aber die ändert sich bei jedem Aufruf und ich weiß auch nicht, ob Ring nicht irgendwann dichtmacht, wenn man alle 2s die Videos enumeriert...

Gruß,
budy

Hallo danke für deine Antwort, wenn ich das mache bekomme ich folgende Ausgabe:

Traceback (most recent call last):
  File "ring.py", line 22, 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'


Hab ich wohl was mit den Rechten durcheinander gebracht :/ Leider fällt mir das als Anfänger etwas schwer. Wie könnte ich das denn richtig stellen?

PS: gebe ich python ring.py ein kommt die gleiche Meldung, bei sudo python ring.py wird ers gestartet.

Otto123

Moin Nexium,

für die Linux Kommandozeile:
sudo chown -R fhem: /opt/fhem/

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

Nexium

#49
Zitat von: Otto123 am 04 Januar 2019, 08:58:42
Moin Nexium,

für die Linux Kommandozeile:
sudo chown -R fhem: /opt/fhem/

Gruß Otto

Hey danke für deine Antwort wenn ich das mach ist es leider noch immer so :/

pi@raspberrypi:~ $ sudo chown -R fhem: /opt/fhem/
pi@raspberrypi:~ $ sudo -u fhem python ring.py
Traceback (most recent call last):
  File "ring.py", line 22, 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: '/home/pi/ring.log'
pi@raspberrypi:~ $


PS: Wenn ich im Ordner /opt/fhem/bin den Befehl sudo -u fhem python ring.py absetze geht es nach dem ich dein Befehl eingegeben habe. Danke schonmal dafür.
Nun hab ich aber noch immer das Problem wenn ich das Start Script ausführe wird mir die ring.py nicht gestartet.

So sieht die run_ring.sh aus

#!/bin/bash
#run_ring.sh
#make sure the process is always running.

process=ring.py

if ps ax | grep -v grep | grep $process > /dev/null
then
    echo "Process $process is still running."
    exit
else
    nohup su -c "python /opt/fhem/bin/ring.py" fhem >~/ncb 2>&1 &
    echo "Process $process started."
fi

exit

Otto123

#50
Naja, wenn Du mich fragst führst Du ring jedesmal anders aus:
IOError: [Errno 13] Permission denied: '/opt/fhem/bin/ring.log'
IOError: [Errno 13] Permission denied: '/home/pi/ring.log'

Mit dem Aufruf
sudo -u fhem phython ring.pyhängt es davon ab in welchem Verzeichnis Du gerade stehst!
Offenbar im ersten Fall standest Du in /opt/fhem/bin
Im zweiten Fall standest Du in /home/pi
Scheinbar liegt in beiden Verzeichnissen die Datei ring.py

Wenn Du es so machst
sudo -u fhem phython /opt/fhem/bin/ring.pystartest Du als User fhem das ring im Verzeichnis wo fhem auch schreiben darf.
Wobei das überhaupt nicht nötig ist, Du kannst zum Testen auch einfach alles im Verzeichnis /home/pi machen. Das Script braucht an sich keine speziellen Rechte.

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

Nexium

Hallo Otto, ja du hattest recht. Hab es nun hin bekommen. Vielen dank für deine Hilfe.

nhetzke

Hallo zusammen,

ich hab da mal im github-Projekt von Markus ein paar Änderungen als Pull-Request erstellt. Jetzt sollten auch immer die korrekten Videos zu den Motion und Ring Alerts geladen werden.
Problem ist, das der Downloadlink erst nach erfolgreichem Upload in der history auftauchen.

Wer will kann es gerne einmal testen: https://github.com/markuzzi/ring-fhem/blob/ba177d13334ce804ced881265dfe1d882c6184d2/ring.py

LGe
Niels.
Entwickler, Projekt und Qualitätsmanager
RasPi1b & FHEM & HM-CFG-USB

budy

#53
Moin Niels,

ein Problem habe ich mit der neuen Version. Ich habe mit der Ring einen HM MP3-Tuergong ersetzt, bzw. lasse jetzt den HM Türgong durch das Ring-Ereignis triggern. Allerdings ist die Verzögerung in der neuen Version sehr lang, weil das Event offenbar erst dann an FHEM gemeldet wird, wenn die Prüfung auf das neue Video durch ist.

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

nhetzke

Hallo budy,

ja, das kann aktuell tatsächlich passieren. Denke da müsste ich nochmal ran.
Vielleicht bis Ende der nächsten Woche.

LGe
Niels.
Entwickler, Projekt und Qualitätsmanager
RasPi1b & FHEM & HM-CFG-USB

budy

Ich habe einfach nur die beiden Checks auf RING und MOTION aus den unteren IFs gezogen und ganz als erstes abgehandelt. Der Check auf neue Videos läuft dann hinterher - geht sehr gut!

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

HI zusammen,

also aktuell bekomme ich wieder den Umlaute-Fehler. Auch mit Änderung auf "nur" dev.address.

ERROR - Unexpected error:'ascii' codec can't encode character u'\xdf' in position 45: ordinal not in range(128)
Hat jemand noch eine Idee?

Gruß,
Tobi

P.S.: Gibt es etwas neues zur Einbindung eines live Bildes oder aber Abruf eines Bildes bei "Motion"(evtl. gibt es da ja Möglichkeiten durch die neuen Vorschaubilder?)?

budy

Hast du auch wirklich die Version aus dem PR eingesetzt, oder die Original-Version genommen?

Was das Livebild angeht, hat sich da nichts getan - dazu müsste sicherlich auch die zugrunde liegende LIB aktualisiert werden, was aber nicht der Fall ist. Mir ist auch nicht ganz klar, was du dir davon versprichst... wenn es irgendwie schnell gehen muss, ist die Ring App auf deinem Phone sicherlich die Variante der Wahl.

...allerdings klingelt's bei uns auch eher selten, so das sich mit der aktuellen Situation sehr gut leben kann, was das Handling der Videos angeht.
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 09 Februar 2019, 21:17:35
Hast du auch wirklich die Version aus dem PR eingesetzt, oder die Original-Version genommen?
Ich habe sowohl die 1. original Version genommen, als auch die Dateien aus dem pull request. Jedes mal als raw komplett kopiert und neue Datei dafür angelegt.

Kann es sein, dass es an der Ring Funktion liegt, die importiert wird?

gruß,
Tobi

budy

Stimmt... da hat Niels den Fehler aus dem Orignal-Skript mit übernommen. Der Fix müsste analog zum PR#1 sein - allerdings wohl für alle Vorkommen, in denen Sonderzeichen auftreten können. Der PR#1 löst das ja nur für den Namen.

Im Grunde genommen muss jedes mal im Skript:

srRing('XXXXXX ' + str(dev.address), dev)

durch

srRing('XXXXXX ' + dev.address, dev)

ersetzt werden - dann dürften diese Fehler nicht mehr auftreten.

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