[gelöst] webcam permission denied

Begonnen von Svenergy, 23 Juli 2017, 22:53:56

Vorheriges Thema - Nächstes Thema

Svenergy

ich habe nach einigem Probieren nun folgendes erreicht:

entsprechend der Anleitung https://www.computerhilfen.de/info/usb-kamera-in-fhem-einbinden-so-gehts.html habe ich es geschafft die webcam manuell zu einen Foto zu zwingen (in den Zielordner, ausgeführt direkt über putty). Zudem habe ich auch einen notify der auf einen Schalter hört und sauber ausgeführt wird. Der notify ruft eine Sub auf, welche dann das Foto machen soll:
sub take_pic
{
system("fswebcam /opt/fhem/www/webcam-bilder/bild.jpg");
}


Im Fhem log bekomme ich nun folgende Fehlermeldung - und natürlich kein Foto:
^[[1m--- Opening /dev/video0...
^[[0m^[[0mtrying source module v412...
^[[0m^[[31mError opening device: /dev/video0
^[[0m^[[31mopen: permission denied
....
ich habe auch versucht alle Gruppen und Rechte entsprechend obiger Anleitung einzustellen.

Was kann ich zusätzlich tun, um die richtigen Rechte zu bekommen.

Danke im Voraus, Svenergy

CoolTux

Schauen welche Gruppe /dev/video0 hat
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Svenergy

klingt gut, kannst du mir bitte kurz sagen wie - ich bin nicht der freak der das auf Anhieb auswendig kennt

Svenergy

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Svenergy

ahh stimmt, gefunden

/dev/video0 gehört zur Gruppe Video - also entsprechend der Anleitung hatte ich fhem genau dieser Gruppe zugefügt.

ob das geklappt hat muss ich morgen mal Googlen  ;)

Svenergy

CoolTux

Super.
Kann das das Du FHEM noch mal neustarten musst. Also so richtig mit systemctl stop fhem und start fhem danach. Damit die neue Gruppenzuordnung greift.


Grüße
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Svenergy

hab ich gemacht, aber leider ohne Erfolg

vielleicht hätt ich vorhin noch hinzufügen sollen:
^[[1m--- Opening /dev/video0...
^[[0m^[[0mtrying source module v412...
^[[0m^[[31mError opening device: /dev/video0
^[[0m^[[31mopen: permission denied
^[[0m^[[31mUnable to find a source module that can read /dev/video0.
^[[0m2017.07.23 23:29:00 3: make_pic_notify return value: -1

sorry aber die letzten zwei Zeilen verändern vielleicht die Ursache

Svenergy

CoolTux

Dann müssen wir das ganze erstmal in Ruhe angehen.
Bitte Logausgaben oder Code immer in Codetags posten. Das ist in der Symbolleiste das Rautezeichen.

Mach mal bitte folgendes. Anmelden am Pi. Dafür Sorgen das Du root bist. Dann

su -s /bin/bash fhem


Nun bist Du User fhem. Dann gibst Du ein

fswebcam /opt/fhem/www/webcam-bilder/bild.jpg

Und Du sagst mir mal was dann als Ausgabe kommt.

Deinen myUtils Code ändern wir am Ende dann auch noch. So blockiert er FHEM.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Svenergy

Okay hab mich eingeloggt und folgende Meldung:
fhem@raspberrypi:~$ fswebcam /opt/fhem/www/webcam-bilder/bild1.jpg
--- Opening /dev/video0...
Trying source module v4l2...
Error opening device: /dev/video0
open: Permission denied
Trying source module v4l1...
Error opening device: /dev/video0
open: Permission denied
Unable to find a source module that can read /dev/video0.

CoolTux

Und als root klappt es?

Mach mal bitte ein
ls -ll /dev/video0

Und ein

groups fhem
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Svenergy

#10
das kommt unter pi:
pi@raspberrypi:~ $ fswebcam /opt/fhem/www/webcam-bilder/bild1.jpg
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Adjusting resolution from 384x288 to 352x288.
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
Writing JPEG image to '/opt/fhem/www/webcam-bilder/bild1.jpg'.

und es wurde ein neue Datei angelegt in dem Ordner

hier das Resultat des befehls unter pi:
pi@raspberrypi:~ $ ls -ll /dev/video0
crw-rw----+ 1 root video 81, 0 Jul 18 20:47 /dev/video0


grous fhem:
pi@raspberrypi:/opt/fhem/www/webcam-bilder $ groups fhem
fhem : dialout tty

CoolTux

Interessant. Warum ist der User fhem nicht in der Gruppe video wie besprochen  :)
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Svenergy

das ist eine gute Frage, ich bin mir absolut sicher dass ich
sudo adduser fhem vidoe
gemacht habe (vielleicht liegt es am ständig wechselnde PC für den Zugriff  :)

nunja habe jetzt folgendes:
pi@raspberrypi:/ $ sudo adduser fhem video
Füge Benutzer »fhem« der Gruppe »video« hinzu ...
Benutzer fhem wird zur Gruppe video hinzugefügt.
Fertig.
pi@raspberrypi:/ $ groups fhem
fhem : dialout tty video


damit klappt jetzt auch:
fhem@raspberrypi:~$ fswebcam /opt/fhem/www/webcam-bilder/bild2.jpg
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Adjusting resolution from 384x288 to 352x288.
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
Writing JPEG image to '/opt/fhem/www/webcam-bilder/bild2.jpg'.


letzter test aus fhem heraus über den notify finde ich im fhem-log:
^[[1m--- Opening /dev/video0...
^[[0m^[[0mTrying source module v4l2...
^[[0m^[[31mError opening device: /dev/video0
^[[0m^[[31mopen: Permission denied
^[[0m^[[0mTrying source module v4l1...
^[[0m^[[31mError opening device: /dev/video0
^[[0m^[[31mopen: Permission denied
^[[0m^[[31mUnable to find a source module that can read /dev/video0.
^[[0m2017.07.24 19:35:15 3: make_pic_notify return value: -1


klappt noch nicht

CoolTux

FHEM bitte neu starten. Und zwar mit systemctl stop fhem und start fhem

Und bitte nicht adduser sondern den User fhem gibt es ja schon, da wollen wir nur was ändern. Daher usermod -G
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Svenergy

juhu Fehlermeldung ist eirst einmal weg:
$
^[[1m--- Opening /dev/video0...
^[[0m^[[0mTrying source module v4l2...
^[[0m^[[0m/dev/video0 opened.
^[[0m^[[0mNo input was specified, using the first.
^[[0m^[[0mAdjusting resolution from 384x288 to 352x288.
^[[0m^[[1m--- Capturing frame...
^[[0m^[[0mCaptured frame in 0.00 seconds.
^[[0m^[[1m--- Processing captured image...
^[[0m^[[0mWriting JPEG image to '/opt/fhem/www/webcam-bilder/bild.jpg'.
^[[0m2017.07.24 19:58:19 3: make_pic_notify return value: -1
2017.07.24 19:58:31 3: EnOcean set virtPTM_LED_Stube B0


und auch eine Bildatei wurde gerade erstellt -> super danke und juhu!!

jetzt noch die sub in der myUtils  ;) bereinigen