Ring Video Doorbell

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

Vorheriges Thema - Nächstes Thema

budy

Wie hast du den Python3.7 installiert. Bei mir liegt das unter /usr/local/bin ggf. ist das nicht in deiner path-Variablen enthalten und deshalb findest du das so nicht.
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

bluemevo

#271
Zitat von: budy am 08 März 2020, 18:36:01
Jaa...? Ich sehe da in dem Event:

'doorbot_description': 'Garage', 'device_kind': 'stickup_cam_lunar', 'motion': True,

Das Event passt zur App, richtig. Aber fhem bekommt das Reading auf das falsche Objekt.
Event: Garage (Stick_up)
Reading: Eingang (Doorbell)

Das passiert jedoch random, Mal stimmt Zuordnung Reading zum Event und Mal eben nicht.
Ich würde sagen, dass passt zur Ring App...

budy

Ja, wie gesagt, das liegt daran, dass das Skript nur für ein Device vorgesehen war. Um das in FHEM in verschiedene Devices zu bekommen, müsste man die auch haben, bzw. das Skript müsste wissen, dass es diese gibt. Der Ring API ist das egal, sie sendet an jeden Listener dieselben Infos... welcher Bot was gemacht hat.

Wenn du zwei Skripte laufen lässt, dann gibt es für mich zwei Möglichkeiten...

a) das Skript bekommt von Anfang an eine Liste von FHEM-Devices und prokelt die Events auseinande, um sie dem korrekten Device zuzuordnen
b) das Skript bekommt nur ein Device und müsste dann die Events filtern

Ich fände a) natürlich besser, denn dann läuft auch nur ein Skript und nicht eines je Ring-Device...
Mal sehen, vielleicht kaufe ich mir mal eine Stickup-CAM, aber brauchen tue ich eigentlich keine und ohne zweite Hardware ist das Entwickeln natürlich etwas blöde...

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 und Guten Morgen zusammen,

ich habe gestern mal die aktuelle Version mit Python 3.8 getestet. Generell funktioniert das Script.
Meldet erfolgreich Dings und Motion zu fhem. Jedoch werden noch die falschen Videos heruntergeladen.
Ist das schon bekannnt und in Arbeit?
Entwickler, Projekt und Qualitätsmanager
RasPi1b & FHEM & HM-CFG-USB

pflock_y

Zitat von: nhetzke am 10 März 2020, 09:07:51
Hallo und Guten Morgen zusammen,

ich habe gestern mal die aktuelle Version mit Python 3.8 getestet. Generell funktioniert das Script.
Meldet erfolgreich Dings und Motion zu fhem. Jedoch werden noch die falschen Videos heruntergeladen.
Ist das schon bekannnt und in Arbeit?

Moin,

kann ich so nicht bestätigen. Bei mir kommen motion und ding videos richtig an. Es gibt aber nur noch ein Reading für die Videos im FHEM dummy. (lastDingVideo.png)
Was mir aber aufgefallen ist, es kommen zwar fleißig fleißig motion und ding Meldungen an nur die restlichen werden nicht aktualisiert.
(Readings.png)
Erst wenn ich das Skript beende und wieder neu starte werden alle Readings aktualisiert.




pflock_y

Ich hab es erst mal mit einem cronjob alle 10 Minuten gelöst. Dieser beendet und startet die run_ring kontinuierlich.
Ist vielleicht nicht die schönste Lösung aber funktioniert prima.

vg
pflock_y

budy

Ähh... ja, das ist natürlich keine Lösung, denn ich hatte das Skript ja gerade so umgebaut, dass man es gar nicht mehr periodisch abbrechen muss. Ich werde mal die Readings bei einem Event aktualisieren lassen. Vielleicht lagere ich das ja auch mal in einen Thread aus, so dass das periodisch aufgerufen werden kann.
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

Manos

Hallo an alle!

sehr neu mit FHEM, ich habe gerade mein ring mit Raspberry FHEM angeschlossen:
1. Python 3.7.7 installiert (https://installvirtual.com/install-python-3-7-on-raspberry-pi/)
2. Letzte Version 1.0.10 von Buddys script installiert (https://github.com/budachst/ring-fhem) gemaess Anweisungen
    - pip3.7 install git+https://github.com/tchellomello/python-ring-doorbell
    - pip3.7 install fhem
    - ring.py und run_ring runtergeladen und in /opt/fhem/bin abgelegt

Alles funktioniert, ich kann die Bewegungs-Meldungen vom ring fuer die Steuerung der Aussenbeleuchtung benutzen.
Leider aber, legt das System keine Videos an!
Hat jemand eine Idee woran es liegen koennte?

Der run_ring wird bei mir unter user Pi gefuehrt (nicht fhem),
dadurch befindet sich der ring.log und ring_token.cache  im Verzeichnis /home/pi
Dementsprechend habe ich einen Platz fuer die Videospeicherung im Verzeichnis /home/pi/ring-videos angegeben

Im FHEM, die Readings von Ring_FrontDoor verweisen auf das richtige Verzeichnis:
     lastDingVideo      /home/pi/ring-videos/last_motion_video.mp4

Trotzdem bleibt die Datei last_motion_video.mp4 leer.
Ich habe probiert mit
     sudo chown -R fhem: /home/pi/ring-videos/
     sudo chown -R fhem: /home/pi/ring-videos/last_motion_video.mp4
sowie
     sudo chown -R pi: /home/pi/ring-videos/
     sudo chown -R pi: /home/pi/ring-videos/last_motion_video.mp4
Dies hat keine Aenderung gebracht.

Die readings zeigen auch, dass der Script versucht die Datei zu erstellen, trotzdem bleibt sie leer. 


lastAlertType    motion                                                      2020-03-12 16:25:58
lastCaptureURLFalse                                                         2020-03-12 16:25:58
lastDingVideo   /home/pi/ring-videos/last_motion_video.mp42020-03-12 16:25:58



Muss ich vielleicht ein Abo bei ring haben, damit Videos gespeichert werden?



Ausserdem habe ich noch eine Frage:
run_ring
    Ich habe den Befehl  geaendert auf  process="python3.7 /opt/fhem/bin/ring.py"
    anstatt process="python /opt/fhem/bin/ring.py"process="python /opt/fhem/bin/ring.py" ?
    Ich bin richtig, dass er mit Python 3.7 laufen soll, oder?


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

budy

Moin,

ja, du brauchst zum speichern der Videos ein Ring-Abo, sonst rückt die API die gar nicht raus.

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

Version 1.0.11 im Github. Es wird jetzt ein thread pro ring device erzeugt, welcher dann periodisch die infos des ring devices abfragt und in FHEM aktualisiert.
Dazu gibt es eine Konstante, mit der man das Intervall in Sekunden einstellen kann. Dann sollte es nicht mehr nötig sein, die ring.py überhaupt zu beenden...

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

Moin budy,

hab grad deine v 1.0.11 eingepflegt. Läuft super!! Danke!!

Eine Frage zur run_ring, sobald die über den cronjob läuft mit

@reboot /opt/fhem/bin/run_ring
@hourly /opt/fhem/bin/run_ring


wird doch die ring.py alle Stunde neu gestartet.
Die Zeile,
pkill -9 -f ring.py
beendet den laufenden Prozess und startet diesen dann neu.

Kann man hier nicht eine Prüfung einbauen die schaut ob der Prozess läuft, und nix macht wenn er läuft?
So ähnlich wie das hier,
https://forum.fhem.de/index.php/topic,75754.msg881038.html#msg881038

vg
pflock_y

budy

Moin pflock_y,

ja, ich kann da mal was einbauen. Ich hab das für mich schon länger, dachte aber, dass das so einfach ist, dass sich das jeder auch selber machen kann. ;)
Meine ring.py läuft schon seit Tagen ohne Unterbechung - auch wenn mal die Ring API nicht antwortet oder aus welchem Grund auch immer nicht erreicht werden kann.

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

OK, dann werd ich mich mal selbst dran versuchen, ist ja kein Hexenwerk.  :D

vg
pflock_y



bluemevo

Zwei kleine Anpassungen und 1.0.11 läuft wirklich gut  :D

# LOGGING
logger = logging.getLogger('ring_doorbell.doorbot'+'ring_doorbell.stickup_cam')


tmp = list(devs['doorbots']+devs['authorized_doorbots']+devs['stickup_cams'])


Vielleicht hat jemand noch einen Tipp für mich.
Ich würde die Videos gern auf einem NAS ablegen. Statt last_* würde ich gern Datum und Uhrzeit im Datennamen haben.
Irgendwie steh ich aber auf dem Schlauch.

budy

Moin,

Zitat von: bluemevo am 14 März 2020, 21:34:05
Vielleicht hat jemand noch einen Tipp für mich.
Ich würde die Videos gern auf einem NAS ablegen. Statt last_* würde ich gern Datum und Uhrzeit im Datennamen haben.
Irgendwie steh ich aber auf dem Schlauch.

abgesehen von den rechtlichen Aspekten einer Langzeitspeicherung, gibt es da auch noch zumindest das Problem, dass mit dynamischen Dateinamen ein statischer link auf der FHEM-Seite nicht mehr funktionieren würde, von daher habe ich kein großes Interesse das einzubauen. Wenn du da was dran drehen möchtest, dann müsstest du irgendwie an die Funktion in Zeile 179 ran und entweder die Funktion ein zweites Mal mit einem anderen Zielpfad aufrufen, oder du überwachst den Ordner, wo die Videos hingeladen werden (Stichwort inotify) und copierst die dann selber weg.

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