Autor Thema: Ring Video Doorbell  (Gelesen 51864 mal)

Offline budy

  • Full Member
  • ***
  • Beiträge: 495
Antw:Ring Video Doorbell
« Antwort #315 am: 12 Mai 2020, 12:54:09 »
"Haustuer has no connection to ring API, continueing..."

bedeutet, dass die Ring API (also, die Ring Server ) nicht antworten, bzw. das Skript in einen Timeout läuft, während es auf eine Antwort der Ring API gewartet hat. Hast du für FHEM einen Ring Gast/"Nachbar"-Account aufgesetzt und hast du mal den Token Cache gelöscht, so dass du dich als USer/PW anmelden musstest?

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

Offline JF Mennedy

  • New Member
  • *
  • Beiträge: 43
Antw:Ring Video Doorbell
« Antwort #316 am: 13 Mai 2020, 09:45:39 »
Das war es leider auch nicht... Habe den Token mal gelöscht und neu angelegt und auch mal versucht mich mit Haupt-Account und Gast-Account anzumelden...

Offline darkblue-ac

  • New Member
  • *
  • Beiträge: 5
Antw:Ring Video Doorbell
« Antwort #317 am: 16 Mai 2020, 21:16:05 »
Hallo zusammen,

Vielen Dank für diese klasse Umsetzung.
Ich habe sie "grundsätzlich" zum Laufen gebracht. Es werden alle Readings gesetzt und ich habe das Script auch erweitert, das es die Readings der Türklingel und der Kameras periodisch setzt.
Ich habe eine Ring-Türklingel und 5 zusätzliche Kameras.
Leider scheint die Umstellung mit den Threads (Meine Vermutung) nicht ganz korrekt zu laufen (zumindest bei mir) - die Geräte werden bei "Motions" irgendwie vertauscht. Bewegung in der Einfahrt löst ein Motion auf dem Balkon aus... Haustür-Doorbell Bewegung löst ein Motion auf der Terrasse aus usw...
Ich habe dann das Script in 2 Skripte getrennt - einmal Haustür-Doorbell und dann nochmal eines für die Cams. Dachte, vielleicht hilft das...
Jetzt läuft die Doorbell sauber, die Kameras vertauschen aber immer noch die Geräte...
Hat das noch jemand? Hat jemand eine Idee?

Viele Grüße Stefan

Offline mnennstiel

  • Jr. Member
  • **
  • Beiträge: 57
Antw:Ring Video Doorbell
« Antwort #318 am: 22 Mai 2020, 12:04:44 »
Hallo, versuche jetzt schon seit einiger Zeit Fhem mit Doorbell 2 zu verknüpfen.
Wenn ich unter :/opt/fhem/bin den Befehl  python ring.py absetze kommt folgende Meldung:

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'

Ich bekomme auch keine Log-Datei in das Verzeichnis.
Die Rechte sind folgendermaßen gesetzt:

drwxr-xr-x  2 fhem dialout 4096 Mai 21 22:01 .
drwxr-xr-x 17 fhem dialout 4096 Mai 20 19:36 ..
-rwxrwxrwx  1 fhem dialout 5200 Mai 21 16:26 ring.py
-rwxrwxrwx  1 fhem dialout  303 Mai 21 22:01 run_ring

In der ring.py habe ich bei ring_user und ring_pass die Daten in Hochkomma geschrieben. Die fhem_ip habe ich in Hochkomma bei 127.0.0.1 belassen.

Ich komme hier nicht mehr weiter - wäre für jede Hilfe dankbar!

Gruss Maik

Offline budy

  • Full Member
  • ***
  • Beiträge: 495
Antw:Ring Video Doorbell
« Antwort #319 am: 22 Mai 2020, 14:45:22 »
Hallo zusammen,

Vielen Dank für diese klasse Umsetzung.
Ich habe sie "grundsätzlich" zum Laufen gebracht. Es werden alle Readings gesetzt und ich habe das Script auch erweitert, das es die Readings der Türklingel und der Kameras periodisch setzt.
Ich habe eine Ring-Türklingel und 5 zusätzliche Kameras.
Leider scheint die Umstellung mit den Threads (Meine Vermutung) nicht ganz korrekt zu laufen (zumindest bei mir) - die Geräte werden bei "Motions" irgendwie vertauscht. Bewegung in der Einfahrt löst ein Motion auf dem Balkon aus... Haustür-Doorbell Bewegung löst ein Motion auf der Terrasse aus usw...
Ich habe dann das Script in 2 Skripte getrennt - einmal Haustür-Doorbell und dann nochmal eines für die Cams. Dachte, vielleicht hilft das...
Jetzt läuft die Doorbell sauber, die Kameras vertauschen aber immer noch die Geräte...
Hat das noch jemand? Hat jemand eine Idee?

Viele Grüße Stefan

Moin Stefan,

wenn du das Debug Log aktivierst, dann bekommst du das Event angezeigt und dort steht ja drin, welches Ring Device die Meldung ausgelöst hat. Ich habe überhaupt nur ein Gerät und deshalb auch gar keine sinnvolle Möglichkeit das zu testen. Auf alle Fälle ist es so, dass alle angeschlossenen "Ring-Abonnenten" immer alle Events bekommen. Das Skript unterscheidet das aber aktuell überhaupt nicht. Wie sollte es das auch, da es ja nicht wissen kann, für welche Ring-Devices es in FHEM entsprechende FHEM-Devices gibt. Du müsstest das dann in FHEM selber lösen und dort eine Art Meta-Ring Device machen, welches dann je nach übermittelten Ring-Device seinerseits das Event an das korrekte FHEM-Device "weiterleitet". Für mich ist das entschieden zu viel Aufwand, für etwas, was ich nicht benutzen würde.

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

Offline budy

  • Full Member
  • ***
  • Beiträge: 495
Antw:Ring Video Doorbell
« Antwort #320 am: 22 Mai 2020, 14:48:09 »
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'

Ich bekomme auch keine Log-Datei in das Verzeichnis.
Die Rechte sind folgendermaßen gesetzt:

drwxr-xr-x  2 fhem dialout 4096 Mai 21 22:01 .
drwxr-xr-x 17 fhem dialout 4096 Mai 20 19:36 ..
-rwxrwxrwx  1 fhem dialout 5200 Mai 21 16:26 ring.py
-rwxrwxrwx  1 fhem dialout  303 Mai 21 22:01 run_ring

Da Skript läuft nur mit Python ab 3.5+…! Die Sache mit den Permissions auf dem Ordner ist noch ein anderes Problem, da musst du auf alle Fälle auch die Berechtigung des Ordners selber anschauen: opt/fhem/bin

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

Offline mnennstiel

  • Jr. Member
  • **
  • Beiträge: 57
Antw:Ring Video Doorbell
« Antwort #321 am: 24 Mai 2020, 13:25:11 »
Hallo budy,

dem Verzeichnis /opt/fhem/bin habe ich alle Rechte gegeben und es dem Benutzer fhem:dialout zugeordnet.
Den Script starte ich mit python3 (Python 3.5) ring.py und dabei jetzt kommt folgende Fehlermeldung:

pi@Raspberry-PI3B-plus:/opt/fhem/bin $ python3 ring.py
Traceback (most recent call last):
  File "ring.py", line 5, in <module>
    from thread import start_new_thread, allocate_lock
ImportError: No module named 'thread'

Was mache ich noch falsch?

Gruss Maik
« Letzte Änderung: 24 Mai 2020, 14:26:25 von mnennstiel »

Offline darkblue-ac

  • New Member
  • *
  • Beiträge: 5
Antw:Ring Video Doorbell
« Antwort #322 am: 24 Mai 2020, 21:28:14 »
Moin Stefan,

wenn du das Debug Log aktivierst, dann bekommst du das Event angezeigt und dort steht ja drin, welches Ring Device die Meldung ausgelöst hat. Ich habe überhaupt nur ein Gerät und deshalb auch gar keine sinnvolle Möglichkeit das zu testen. Auf alle Fälle ist es so, dass alle angeschlossenen "Ring-Abonnenten" immer alle Events bekommen. Das Skript unterscheidet das aber aktuell überhaupt nicht. Wie sollte es das auch, da es ja nicht wissen kann, für welche Ring-Devices es in FHEM entsprechende FHEM-Devices gibt. Du müsstest das dann in FHEM selber lösen und dort eine Art Meta-Ring Device machen, welches dann je nach übermittelten Ring-Device seinerseits das Event an das korrekte FHEM-Device "weiterleitet". Für mich ist das entschieden zu viel Aufwand, für etwas, was ich nicht benutzen würde.

Gruß,
budy
Vielen Dank für deine Antwort...
Ich werde sie noch ein paar mal lesen müssen und dann mal schauen, wie ich das umgesetzt bekomme. Melde mich dann nochmal :)

Gruß Stefan

Offline mnennstiel

  • Jr. Member
  • **
  • Beiträge: 57
Antw:Ring Video Doorbell
« Antwort #323 am: 26 Mai 2020, 22:40:36 »
Hallo budy,

dem Verzeichnis /opt/fhem/bin habe ich alle Rechte gegeben und es dem Benutzer fhem:dialout zugeordnet.
Den Script starte ich mit python3 (Python 3.5) ring.py und dabei jetzt kommt folgende Fehlermeldung:

pi@Raspberry-PI3B-plus:/opt/fhem/bin $ python3 ring.py
Traceback (most recent call last):
  File "ring.py", line 5, in <module>
    from thread import start_new_thread, allocate_lock
ImportError: No module named 'thread'

Was mache ich noch falsch?

Gruss Maik

Kann mir irgendjemand weiterhelfen?
« Letzte Änderung: 26 Mai 2020, 22:44:17 von mnennstiel »

Offline pflock_y

  • Full Member
  • ***
  • Beiträge: 102
Antw:Ring Video Doorbell
« Antwort #324 am: 27 Mai 2020, 07:35:59 »
Moin,
Hast du es so installiert wie hier:
https://github.com/budachst/ring-fhem
Beschrieben?

vg
pflock_y

—————
kurz da mobil
3x FHEM 5.9 auf RPi xxx
ESP8266 --> Heizungsüberwachung
ESP8266 --> Aquariumüberwachung
ESP8266--> RFID Read

Offline mnennstiel

  • Jr. Member
  • **
  • Beiträge: 57
Antw:Ring Video Doorbell
« Antwort #325 am: 27 Mai 2020, 23:20:20 »
Moin,
Hast du es so installiert wie hier:
https://github.com/budachst/ring-fhem
Beschrieben?



—————
kurz da mobil


Hallo pflock_y,
ja ich bin nach dem Installationsbeschreibung gegangen. Ich hatte python 3.5 am laufen - damit scheint es nicht mehr zu gehen.
Habe jetzt gleich Python 3.8 parallel installiert und damit die Installation durchgeführt - sie hat funktioniert.
Wenn ich die ring.py von hand mit python ring.py starte, läuft ring.py und Meldungen von der Klingel kommen auch rein (s.Bild).

Aber irgendwie schein mein crontab nicht zu laufen. Ich habe ihn in /etc crontab -e folgende Zeilen hinzugefügt:

@reboot /opt/fhem/bin/run-ring
@hourly /opt/fhem/bin/run-ring

meine run_ring sieht so aus:

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

process=/opt/fhem/bin/ring.py

if ps ax | grep -v grep | grep $process > /dev/null
then
    echo "Process $process is still running."
    exit
else
    nohup bash -c "python $process" >/dev/null &
    echo "Process $process started."
fi

exit


Berechtigung vom Verzeichnis:

pi@Raspberry-PI3B-plus:/opt/fhem/bin $ ls -la
insgesamt 44
drwxrwxrwx  2 fhem dialout  4096 Mai 27 23:26 .
drwxr-xr-x 17 fhem dialout  4096 Mai 26 22:46 ..
-rwxrwxrwx  1 fhem dialout 14791 Mai 27 23:13 ring.log
-rwxrwxrwx  1 fhem dialout 10187 Mai 27 20:19 ring.py
-rw-r--r--  1 pi   pi        966 Mai 27 22:59 ring_token.cache
-rwxrwxrwx  1 fhem dialout   312 Mai 27 22:52 run_ring

In meine FHEM Oberfläche kommen auch keine Signale in den Dummy rein ?! Wo liegt der Fehler?

Gruß Maik
« Letzte Änderung: 27 Mai 2020, 23:36:59 von mnennstiel »

Offline JF Mennedy

  • New Member
  • *
  • Beiträge: 43
Antw:Ring Video Doorbell
« Antwort #326 am: 28 Mai 2020, 07:33:46 »
Rufe mal in der run_ring den Prozess so auf : process="python3 /opt/fhem/bin/ring.py"

So läuft bei mir...

Gesendet von meinem VOG-L29 mit Tapatalk


Offline mnennstiel

  • Jr. Member
  • **
  • Beiträge: 57
Antw:Ring Video Doorbell
« Antwort #327 am: 28 Mai 2020, 11:02:19 »
Rufe mal in der run_ring den Prozess so auf : process="python3 /opt/fhem/bin/ring.py"

So läuft bei mir...

Gesendet von meinem VOG-L29 mit Tapatalk

Hallo JF Mennedy,
nein, das ist es nicht. Ich habe vorher mit dem Befehl "echo "alias python=/usr/local/bin/python3.8" >> ~/.bashrc" und "source ~/.bashrc" Python 3.8 als Standard für den Befehl "python" definiert!

Gruß Maik

Offline mnennstiel

  • Jr. Member
  • **
  • Beiträge: 57
Antw:Ring Video Doorbell
« Antwort #328 am: 28 Mai 2020, 20:20:29 »

Hallo pflock_y,
ja ich bin nach dem Installationsbeschreibung gegangen. Ich hatte python 3.5 am laufen - damit scheint es nicht mehr zu gehen.
Habe jetzt gleich Python 3.8 parallel installiert und damit die Installation durchgeführt - sie hat funktioniert.
Wenn ich die ring.py von hand mit python ring.py starte, läuft ring.py und Meldungen von der Klingel kommen auch rein.

Aber irgendwie schein mein crontab nicht zu laufen. Ich habe ihn in /etc crontab -e folgende Zeilen hinzugefügt:

@reboot /opt/fhem/bin/run-ring
@hourly /opt/fhem/bin/run-ring

meine run_ring sieht so aus:

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

process=/opt/fhem/bin/ring.py

if ps ax | grep -v grep | grep $process > /dev/null
then
    echo "Process $process is still running."
    exit
else
    nohup bash -c "python $process" >/dev/null &
    echo "Process $process started."
fi

exit


Berechtigung vom Verzeichnis:

pi@Raspberry-PI3B-plus:/opt/fhem/bin $ ls -la
insgesamt 44
drwxrwxrwx  2 fhem dialout  4096 Mai 27 23:26 .
drwxr-xr-x 17 fhem dialout  4096 Mai 26 22:46 ..
-rwxrwxrwx  1 fhem dialout 14791 Mai 27 23:13 ring.log
-rwxrwxrwx  1 fhem dialout 10187 Mai 27 20:19 ring.py
-rw-r--r--  1 pi   pi        966 Mai 27 22:59 ring_token.cache
-rwxrwxrwx  1 fhem dialout   312 Mai 27 22:52 run_ring

In meine FHEM Oberfläche kommen auch keine Signale in den Dummy rein ?! Wo liegt der Fehler?

Gruß Maik

Kann mir jemand sagen, wie ich diese run_ring richtig in einen Crontab einfüge - ich dreh hier noch durch. Bei mir startet die ring.py nicht von alleine.
Wenn ich von Hand im Verzeichnis der ring.py starte, bekomme ich was bei fhem rein (z.B.lastAlertType(s.Bild)), aber der "state" ändert sich nicht.
« Letzte Änderung: 28 Mai 2020, 20:33:22 von mnennstiel »

Offline pflock_y

  • Full Member
  • ***
  • Beiträge: 102
Antw:Ring Video Doorbell
« Antwort #329 am: 28 Mai 2020, 20:45:08 »
Hallo Maik,
bei mir läuft die ganze Ring installation unter dem user: fhem. Hat den Grund weil auch eine meiner FHEM Installationen darauf läuft.

den crontab bearbeite ich mit dem fhem user:

sudo -u fhem crontab -e

der sieht dann bei mir so:

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command

#@reboot sleep 180;/opt/fhem/bin/run_ring
@reboot /bin/bash --login /opt/fhem/bin/run_ring.sh
@hourly /bin/bash --login /opt/fhem/bin/run_ring.sh
#*/10 * * * * /bin/bash --login /opt/fhem/bin/run_ring.sh
#*/10 * * * * /opt/fhem/bin/run_ring.sh
#*/10 * * * * /opt/fhem/bin/run_ring_old

aus.

meine run run_ring sieht so:
#!/bin/bash
#run_ring.sh
#make sure the process is always running.

process="python3.7 /opt/fhem/bin/ring_v1.0.11.py"

pkill -9 -f ring_v1.0.11.py

$process < /dev/null &> /dev/null & disown
echo "Process $process started."

exit
aus.

Ja ich bin noch auf einer älteren Version der ring.py von budy, hab es noch nicht geschafft upzudaten.  ::)

vg
pflock_y
3x FHEM 5.9 auf RPi xxx
ESP8266 --> Heizungsüberwachung
ESP8266 --> Aquariumüberwachung
ESP8266--> RFID Read

 

decade-submarginal