Arlo Snapshot mit Iobroker

  • Hallo Gemeinde,

    Ich lese hier schon eine Weile mit. Das Forum ist gerade für Anfänger sehr hilfreich. Aktuell stehe ich hier vor einem Problem und komme einfach nicht weiter. Ich nutze ein Python Skript https://github.com/tchellomello/python-arlo um meine Arlo Cams über Iobroker zu steuern. Ich möchte dieses Python Skript nutzen um die aktuellsten Snapshots von den Cams zu ziehen.

    Die Python Module habe ich installiert.

    Python
    from pyarlo import PyArlo
    arlo = PyArlo("Name@mail.de", "Password")
    base = arlo.base_stations[0]
    cam = arlo.cameras[0]
    cam.last_video.download_thumbnail("/home/pi/Pictures/snapshot0.jpg")

    Das Python Skript habe ich wiederum in ein sh Skript gepackt.

    Bash
    #!/bin/bash
    python /home/pi/arlo/arlo-pictures-holen.py

    Ich kann das Skript um Bilder zu holen auf meinen Iobroker Raspberry über die Shell ausführen. Sobald das Skript ausgeführt wurde legt es die Bilder in das Verzeichnis home/pi/Pictures.

    Wenn ich aber nun das Skript über Iobroker aufrufe bekomme ich ein Fehler.

    Hier ist das JS Skript von Iobroker um die Sh aufzurufen.

    Code
    exec("home/pi/arlo/arlo-pictures-holen.sh", function(err, stdout, stderr) {
        if (err) log(stderr,'error');
    });

    Und hier die Fehlermeldung.

    6:01:12.499

    [info]

    javascript.0 Stop script script.js.Test_Skripte.test_exec_ausführen

    16:01:12.577

    [info]

    javascript.0 Start javascript script.js.Test_Skripte.test_exec_ausführen

    16:01:12.578

    [info]

    javascript.0 script.js.Test_Skripte.test_exec_ausführen: registered 0 subscriptions and 0 schedules

    16:01:12.641

    [error]

    javascript.0 script.js.Test_Skripte.test_exec_ausführen: Traceback (most recent call last): File "/home/pi/arlo/arlo-pictures-holen.py", line 3, in from pyarlo import PyArlo ImportError: No module named pyarlo

    Danke für Vorschläge und Erklärungen.:)

    Nostromo

    Einmal editiert, zuletzt von nostromo (12. April 2018 um 17:48)

  • Hi,

    Tippfehler oder wirklich vergessen?

    Code
    arlo = PyArlo("Name@mail.de", "Password"

    Da fehlt die schließende Klammer, deswegen gibt es dann in der darauf folgenden Zeile 3 einen Fehler.

    arlo = PyArlo("Name@mail.de", "Password")

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."

    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • Ja es ist die Netgear Arlo VMC3030-100EUS.

    SBorg ja da habe ich einen Fehler gemacht und die Klammer vergessen beim kopieren. Das Skript sollte keine Fehler haben. Ich kann es ja in der Shell ausführen. Leider im IObroker nicht.

    Dann ist es nur ein Zufall.

    Der Broker scheint keine Pfade (ähnlich wie der cron unter Linux) zu berücksichtigen. Deswegen funktioniert es auf der bash (er findet die importierte pyarlo), unter dem Broker hat er den Pfad nicht mehr und findet sie schlichtweg nicht. Du könntest einfach mal versuchen den Pfad zu python mit in dein Shell-Script aufzunehmen.

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."

    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • das hatte ich schon probiert. Ich habe auch das Skript arlo-pictures-holen.py direkt in die

    home/pi/.local/lib/python2.7/site-packages/pyarlo kopiert. Und damit aufgerufen.

    python /home/pi/.local/lib/python2.7/site-packages/pyarlo/arlo-pictures-holen.py

    Leider gleiche Fehlermeldung. ;(

    Einmal editiert, zuletzt von nostromo (12. April 2018 um 18:26)

  • Bin leider auch kein Python-Spezi, habe mich aber mal eingelesen. Liegt am Pfad.

    Versuche mal den Pfad auf den Ordner zu legen in dem die pyarlo.py liegt, also bspw. direkt in der bash

    PYTHONPATH=/home/pi/.local/lib/python2.7/site-packages/pyarlo

    ob es dann geht. Python fragt diesen Pfad immer ab und sollte dann eigentlich die pyarlo importieren können.

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."

    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • Danke für deine Bemühungen. Leider ist noch immer die Problematik,daß dieses Skript nicht im IObroker läuft.

    Habe jetzt das bash Skript so stehen. In der Shell läuft es kommt aber diese Info

    "./arlo-pictures-holen.sh: line 2: /home/pi/.local/lib/python2.7/site-packages/pyarlo: Is a directory"

    Bilder werden aber wie zuvor in den gewünschten folder gepackt.

    Im Iobroker leider keine Funktion . Ich verzweifle noch. ;(

    Bash
    #!/bin/bash
    PYTHONPATH= /home/pi/.local/lib/python2.7/site-packages/pyarlo/
    python /home/pi/arlo/arlo-pictures-holen.py


    Fehler im IObroker ist

    javascript.0 script.js.Test_Skripte: home/pi/arlo/arlo-pictures-holen.sh: line 2: /home/pi/.local/lib/python2.7/site-packages/pyarlo/: Is a directory
    Traceback (most recent call last): File "/home/pi/arlo/arlo-pictures-holen.py", line 1, in from pyarlo import PyArlo
    ImportError: No module named pyarlo

    Einmal editiert, zuletzt von nostromo (12. April 2018 um 21:42)

  • Das ist aber gar nicht mal so schlecht, zeigt es doch, dass der Pfad berücksichtigt wird. Etwas schlauer bin ich nu auch, "pyarlo" ist wohl keine Python-Datei, sondern eine Bibliothek. Dann müsste es eigentlich mit kürzen des Pfades funktionieren:

    PYTHONPATH=/home/pi/.local/lib/python2.7/site-packages/

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."

    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • Mir fällt jetzt auch nur noch als letztes ein: ev. fehlen einfach die Rechte?

    Gerade wenn du es als "root" installiert hast, kann der ioBroker es als User nicht lesen. Würde auch erklären warum es dann in der Shell funktioniert.

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."

    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • ich habe die arlo python packs mit sudo installiert. Angemeldet bin ich mit pi user. Iobroker läuft root. Du hast Recht es hängt mit den Rechten zusammen. Aber wie kann ich nun die Rechte so änderen, dass es passt ? Möchte Iobroker nicht neu installieren.

  • Gib mal ein ls -la /home/pi/.local/lib/python2.7/site-packages/

    und schau was bei pyarlo steht bzw. poste mal die ganze pyarlo-Zeile.

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."

    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • hier ist die Info.

    drwx------ 17 pi pi 4096 Mar 29 08:39 .

    drwx------ 3 pi pi 4096 Mar 29 08:28 ..

    drwxr-xr-x 2 pi pi 4096 Mar 29 08:29 certifi

    drwxr-xr-x 2 pi pi 4096 Mar 29 08:39 certifi-2018.1.18.dist-info

    drwxr-xr-x 3 pi pi 4096 Mar 29 08:29 chardet

    drwxr-xr-x 2 pi pi 4096 Mar 29 08:39 chardet-3.0.4.dist-info

    drwxr-xr-x 2 pi pi 4096 Mar 29 08:29 idna

    drwxr-xr-x 2 pi pi 4096 Mar 29 08:39 idna-2.6.dist-info

    drwxr-xr-x 2 pi pi 4096 Apr 12 21:04 pyarlo

    drwxr-xr-x 2 pi pi 4096 Mar 29 08:29 pyarlo-0.1.2.dist-info

    drwxr-xr-x 2 pi pi 4096 Mar 29 08:39 pyarlo-0.1.3.egg-info

    drwxr-xr-x 2 pi pi 4096 Mar 29 08:29 requests

    drwxr-xr-x 2 pi pi 4096 Mar 29 08:39 requests-2.18.4.dist-info

    drwxr-xr-x 2 pi pi 4096 Mar 29 08:29 sseclient

    drwxr-xr-x 2 pi pi 4096 Mar 29 08:39 sseclient_py-1.7.dist-info

    drwxr-xr-x 5 pi pi 4096 Mar 29 08:28 urllib3

    drwxr-xr-x 2 pi pi 4096 Mar 29 08:39 urllib3-1.22.dist-info

  • Sieht aber gut aus. Jeder lese und ausführ Rechte, User pi, Gruppe pi.

    Wie sieht es denn im Verzeichnis aus: ls -la /home/pi/.local/lib/python2.7/site-packages/pyarlo

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."

    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

  • Hier der Auszug aus der pyarlo dir

    drwxr-xr-x 2 pi pi 4096 Apr 12 21:04 .

    drwx------ 17 pi pi 4096 Mar 29 08:39 ..

    -rwxr-xr-x 1 pi pi 213 Apr 9 18:43 arlo-pictures-holen.py

    -rw-r--r-- 1 pi pi 15041 Mar 29 08:39 base_station.py

    -rw-r--r-- 1 pi pi 16935 Mar 29 08:39 base_station.pyc

    -rw-r--r-- 1 pi pi 10394 Mar 29 08:39 camera.py

    -rw-r--r-- 1 pi pi 13103 Mar 29 08:39 camera.pyc

    -rw-r--r-- 1 pi pi 1881 Mar 29 08:39 const.py

    -rw-r--r-- 1 pi pi 1731 Mar 29 08:39 const.pyc

    -rw-r--r-- 1 pi pi 7809 Mar 29 08:39 __init__.py

    -rw-r--r-- 1 pi pi 8633 Mar 29 08:39 __init__.pyc

    -rw-r--r-- 1 pi pi 5627 Mar 29 08:39 media.py

    -rw-r--r-- 1 pi pi 7541 Mar 29 08:39 media.pyc

    -rw-r--r-- 1 pi pi 911 Mar 29 08:39 utils.py

    -rw-r--r-- 1 pi pi 1476 Mar 29 08:39 utils.pyc

  • ...und das sieht jetzt nicht gut aus 8)

    Die Dateien sind alle nur lesbar, aber nicht ausführbar. Dem root ist es egal, dem ioBroker als User aber nicht.

    Mach mal ein chmod 755 *.* in dem Verzeichnis, dann sollte es jetzt hoffentlich funktionieren. Den PYTHONPFAD kannst du dann eigentlich auch löschen.

    Die letzten Worte vor dem Weltuntergang: "...das ist technisch völlig unmöglich..."

    aktuelle Projekte: <<< Magic Mirror +++ RMS +++ Wetterstation +++ Somfy Fernbedienung >>>

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!