NEWS
[Erledigt] WEB-Cam - exec Befehl
-
Hallo, ich habe eine Logitech WEB-Cam auf meinem Raspi (auf dem auch der ioBroker läuft) angeschlossen und "fswebcam" (nach diesem Link: https://tutorials-raspberrypi.de/raspberry-pi-ueberwachungskamera-webcam/) installiert.
Das klappt soweit super und ich kann auf dem Raspi in der Konsole per "fswebcam image.jpg" in dem Ordner in dem ich mich gerade befinde Bilder aufnehmen.Nun wollte ich per Blockly ein Foto aufnehmen lassen. Mit dem "exec" Befehl habe ich versucht den Befehl "fswebcam image.jpg" auszulösen. Nach dem LOG wird der Befehl auch ausgeführt. Nur es werden keine Bilder aufgenommen.
Benötigt der iobroker noch andere Rechte oder ist der Ansatz über exec falsch?
-
Hallo, ich habe eine Logitech WEB-Cam auf meinem Raspi (auf dem auch der ioBroker läuft) angeschlossen und "fswebcam" (nach diesem Link: https://tutorials-raspberrypi.de/raspberry-pi-ueberwachungskamera-webcam/) installiert.
Das klappt soweit super und ich kann auf dem Raspi in der Konsole per "fswebcam image.jpg" in dem Ordner in dem ich mich gerade befinde Bilder aufnehmen.Nun wollte ich per Blockly ein Foto aufnehmen lassen. Mit dem "exec" Befehl habe ich versucht den Befehl "fswebcam image.jpg" auszulösen. Nach dem LOG wird der Befehl auch ausgeführt. Nur es werden keine Bilder aufgenommen.
Benötigt der iobroker noch andere Rechte oder ist der Ansatz über exec falsch?
@LotharF Definitiv nicht, deswegen habe ich deinen Beitrag wieder hergestellt.
Wohin willst du die Bilder den Speichern, ein Screenshot deines Blockly wäre sicher nicht verkehrt. Man kann beim Exec befehl auch den Output des Befehls zurück geben lassen, dann sieht man was genau passiert.
-
Naja, ich dachte nur, bevor hier ne Karteileiche herumliegt .... ;-)
Ich möchte vn der Logitech WEB-Cam (angeschlossen an dem Raspberry auf dem auch der iobroker läuft) das Bild auf dem Raspberry zwischenspeichern ... und es kann gerne immer wieder überschrieben werden.
Wenn ich über Putty den Befehl absetze klappt es auch:

Nur wenn ich versuche das über Blockly zu realisieren komme ich nicht weiter.
Hab auch versucht das dann über Telegram zu verschicken ... was natürlich mangels Aufnahme auch nicht klappt:

Obwohl das LOG keinen Fehler ausspuckt habe ich aber kein Bild in dem Ordner:

Letztendlich möchte ich "nur" eine Aufnahme wenn der Kontakt ausgelöst wird.
Und das Bild sollte (wenn es geht) über Telegram verschickt werden.
Aber hier stoße ich an meine Grenzen. Da habe ich dann doch zu wenig Hintergrundwissen wie ich das hier realisieren kann.
Wenn mir da jemand unter die Arme greifen könnte wäre es schon super :-) -
Scheint ja so, also wenn sonst keiner ne normale WEB-Cam wie ich angeschlossen hat :man-shrugging:
Ist dann wohl nicht möglich meine Vorstellung so umzusetzen?@LotharF Doch sicher, aber du hast meinen Vorschlag nach deinem Screenshot zu Urteilen nicht umgesetzt. Hack doch einfach mal beim exec "mit Ergebnissen" an, dann bekommst du auch den Output deines Befehls ins log und nicht nur die Meldung das exec ausgeführt wurde.
-
Hallo, ich habe eine Logitech WEB-Cam auf meinem Raspi (auf dem auch der ioBroker läuft) angeschlossen und "fswebcam" (nach diesem Link: https://tutorials-raspberrypi.de/raspberry-pi-ueberwachungskamera-webcam/) installiert.
Das klappt soweit super und ich kann auf dem Raspi in der Konsole per "fswebcam image.jpg" in dem Ordner in dem ich mich gerade befinde Bilder aufnehmen.Nun wollte ich per Blockly ein Foto aufnehmen lassen. Mit dem "exec" Befehl habe ich versucht den Befehl "fswebcam image.jpg" auszulösen. Nach dem LOG wird der Befehl auch ausgeführt. Nur es werden keine Bilder aufgenommen.
Benötigt der iobroker noch andere Rechte oder ist der Ansatz über exec falsch?
-
Naja, so direkt hast du das nicht geschrieben ;-)
Wenn ich nur den Haken bei "mit Ergebnissen" setze kommt nix.
Hab nach einer Suche dann noch nen "debug output" drangesetzt ... wo dann im LOG ne Zeile mehr kommt.
Ob das so richtig ist ... keine Ahnung. Ich bin leider noch Anfänger mit dem Script usw. Sonst bitte genau schreiben was ich wo wie machen / testen soll :blush:

-
Ich dachte, ich bin der einzige, der fswebcam nutzt. Hab folgendes Script, welches aufgerufen wird, wenn der Bewegungsmelder im Flur schaltet und ich nicht da bin. Schickt das aufgenomme Bild per Telegram rum.

Der Exec Aufruf ist btw:
../usr/bin/fswebcam --no-banner -r 1280x960 --skip 8 /opt/iobroker/cam/alarm.jpg--> beim Raspi hat's ggf. andere Pfade
-
supi :+1: Ich dachte schon ich versuche das gaaaanz alleine :dizzy_face:
Du erzeugt dann das Bild im Ordner /usr/bin und kopierst das dann nach /opt/iobroker/cam ?
Was hast du denn bei dir vor dem /usr/bin noch stehen ?
Hast du irgendwelche Rechte vergeben müssen?
Sorry wenn ich so doof frage ... aber ich steige da noch nicht durch :cold_sweat: -
in /usr/bin liegt die fswebcam binary. Das Bild lege ich in /opt/iobroker/cam ab. Das kann aber auch jeder andere Ordner sein.
../usr/bin/fswebcam --no-banner -r 1280x960 --skip 8 /opt/iobroker/cam/alarm.jpgHier noch der Code vom Block:
<block xmlns="http://www.w3.org/1999/xhtml" type="procedures_defnoreturn" id="~pPk?PHjzu0{iCY*^,Mh" x="-1088" y="-312">
<field name="NAME">foto senden</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="timeouts_settimeout" id="%parHE%U;Jg[8keop7B#">
<field name="NAME">timeout</field>
<field name="DELAY">1500</field>
<field name="UNIT">ms</field>
<statement name="STATEMENT">
<block type="exec" id=")s4eqoL)+rnTyhSAl1/f">
<mutation with_statement="false"></mutation>
<field name="WITH_STATEMENT">FALSE</field>
<field name="LOG">log</field>
<value name="COMMAND">
<shadow type="text" id="xY6eqnky[SMncjoLv.">
<field name="TEXT">../usr/bin/fswebcam --no-banner -r 1280x960 --skip 8 /opt/iobroker/cam/alarm.jpg</field>
</shadow>
</value>
<next>
<block type="timeouts_settimeout" id="%@nkC[RH(?Ec:@AGgZ:,">
<field name="NAME">timeout2</field>
<field name="DELAY">6</field>
<field name="UNIT">sec</field>
<statement name="STATEMENT">
<block type="telegram" id="d38k#q#az~Oi^iSLuj9.">
<field name="INSTANCE">.0</field>
<field name="LOG"></field>
<field name="SILENT">FALSE</field>
<field name="PARSEMODE">default</field>
<value name="MESSAGE">
<shadow type="text" id="at(q2i6A623??3sky7BI">
<field name="TEXT">/opt/iobroker/cam/alarm.jpg</field>
</shadow>
</value>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block> -
supercool ... danke :+1:
Das hat mir schon ein wenig geholfen ... nur bei mir wird immer noch kein Foto erzeugt :angry:
wenn ich mit putty auf den Raspi gehe, kann ich den Befehl "../usr/bin/fswebcam --no-banner -r 1280x960 --skip 8 /opt/iobroker/cam/alarm.jpg" so nicht ausühren.
Erst wenn ich "/usr/bin/fswebcam --no-banner -r 1280x960 --skip 8 /opt/iobroker/cam/alarm.jpg" ... also ohne die beiden Punkte davor das eingebe wird mit Putty ein Foto erzeugt.
Hab das dann beim Blockly ohne Punkte versucht ... was auch nicht klappt :disappointed_relieved:
Könnte da doch noch ein Rechteproblem bestehen? "fswebcam" hat bei mir 755 und root, der neue Ordner "cam" hat 775 und pi.
Oder muss ich noch was einstellen/installieren/ändern damit exec überhaupt funktioniert? -
supercool ... danke :+1:
Das hat mir schon ein wenig geholfen ... nur bei mir wird immer noch kein Foto erzeugt :angry:
wenn ich mit putty auf den Raspi gehe, kann ich den Befehl "../usr/bin/fswebcam --no-banner -r 1280x960 --skip 8 /opt/iobroker/cam/alarm.jpg" so nicht ausühren.
Erst wenn ich "/usr/bin/fswebcam --no-banner -r 1280x960 --skip 8 /opt/iobroker/cam/alarm.jpg" ... also ohne die beiden Punkte davor das eingebe wird mit Putty ein Foto erzeugt.
Hab das dann beim Blockly ohne Punkte versucht ... was auch nicht klappt :disappointed_relieved:
Könnte da doch noch ein Rechteproblem bestehen? "fswebcam" hat bei mir 755 und root, der neue Ordner "cam" hat 775 und pi.
Oder muss ich noch was einstellen/installieren/ändern damit exec überhaupt funktioniert? -
... und hat der user "iobroker" kein Passwort? ... oder eins was ich nicht kenne
ich wollte den iobroker-fixer laufen lassen der dann das Passwort vom "iobroker" wollte. Meins vom Admin nahm er aber nicht an :dizzy_face:@LotharF Nein, der hat kein Passwort, weil man sich als der auch nicht anmeldet. Wenn du den Fixer ausführst, solltest du das als der User tun, mit dem du normalerweise auf der Konsole arbeitest.
Wer hat denn Zugriff auf die Kamera?
ls -la /dev/video0Wenn das zufällig eine Gruppe "video" ist, dann muss ioBroker zu dieser noch hinzugefügt werden:
sudo usermod -a -G video iobrokerDas sollten wir dann auch vom Installer/Fixer machen lassen.
-
jap, ist Video :blush:
hab den fixer mal laufen lassen und hinterher noch mal deine beiden Infos angewendet.
Wenn ich mich nun wieder als user "ibroker" anmelde, kann ich ein Foto aufnehmen :+1:
Über Blockly will es aber immer noch nicht. Vermutlich muss der neuen Ordner "cam" auch noch den "iobroker" zugeordnet werden? Wie mach ich das denn?
-
jap, ist Video :blush:
hab den fixer mal laufen lassen und hinterher noch mal deine beiden Infos angewendet.
Wenn ich mich nun wieder als user "ibroker" anmelde, kann ich ein Foto aufnehmen :+1:
Über Blockly will es aber immer noch nicht. Vermutlich muss der neuen Ordner "cam" auch noch den "iobroker" zugeordnet werden? Wie mach ich das denn?
-
Hab jetzt den Raspi mal Stromlos gemacht und neu hochgefahren.
Jetzt klappt es auch über das Blockly :muscle:Danke für deine tolle Hilfe. Ohne wäre ich sicher immer noch am verzweifeln :grin:
Hab wieder einiges dazugelernt.
