FHEM Forum

FHEM => Automatisierung => Thema gestartet von: moes am 28 Juli 2015, 16:27:12

Titel: Webcam per Sensor drehen lassen
Beitrag von: moes am 28 Juli 2015, 16:27:12
Hallo,

ich habe eine schwenkbare Webcam im Einsatz und möchte diese bei auslösen eines Bewegungssensor in eine bestimmt Position fahren lassen.

Die Steuerung erfolgt über die integrierte CGI Schnittstelle der Kamera. Im Webbrowser funktioniert das ganze wunderbar.  Sowohl hier im Forum als auch in der FHEM Wiki bin ich nicht fündig geworden. Nach meinem zusammen getragen Informationen hätte es so funktionieren müssen.

define Kameraschwenk_1_OG notify Bewegungsmelder_03:on { GetHttpFile("weblink http://mydomain.de:8080/cgi-bin/CGIProxy.fcgi?cmd=ptzGotoPresetPoint&name=Start&usr=admin&pwd=xxxxxxxxx") }


Im Logfile gibt es eine Fehlermeldung aus der ich nicht schlau werde.


2015.07.28 15:56:39 5: Triggering Kameraschwenk_1_OG
2015.07.28 15:56:39 4: Kameraschwenk_1_OG exec { GetHttpFile("weblink http://mydomain.de:8080/cgi-bin/CGIProxy.fcgi?cmd=ptzGotoPresetPoint&name=Start&usr=admin&pwd=xxxxxxxxx") }
2015.07.28 15:56:39 5: Cmd: >{ GetHttpFile("weblink http://mydomain.de:8080/cgi-bin/CGIProxy.fcgi?cmd=ptzGotoPresetPoint&name=Start&usr=admin&pwd=xxxxxxxxx") }<
2015.07.28 15:56:39 3: Kameraschwenk_1_OG return value: Not enough arguments for main::GetHttpFile at (eval 1007102) line 1, near ""weblink http://mydomain.de:8080/cgi-bin/CGIProxy.fcgi?cmd=ptzGotoPresetPoint&name=Start&usr=admin&pwd=xxxxxxxxx") "
Titel: Antw:Webcam per Sensor drehen lassen
Beitrag von: CoolTux am 28 Juli 2015, 16:36:15
Schau doch mal nach, wie viele Argumente die Funktion GetHttpFile übergeben haben möchte oder besser gesagt bei dessen Aufruf erwartet.
Titel: Antw:Webcam per Sensor drehen lassen
Beitrag von: moes am 28 Juli 2015, 17:20:16
Jetzt wo ich mich in die Funktion eingelesen habe glaube ich das ich komplett falsch liege. Wenn ich das Modul HttpUtils richtig verstehe geht es dort nur um den Datenaustausch. Ich möchte aber nur eine URL an die Webcam schicken damit diese sich an die voreingestellte Position dreht. Ich vermute mal das ich einen Browser Aufruf simulieren müsste um zum Ergebnis zu gelangen.

Im TabletUI habe ich es hin bekommen. Diese läuft allerdings im Browser und ist somit nicht vergleichbar.

Ansteuerung im TabletUI
<div data-type="button" data-url-xhr="http://mydomain.de:8080/cgi-bin/CGIProxy.fcgi?cmd=ptzGotoPresetPoint&name=Start&usr=admin&pwd=xxxxxxxxx" data-icon="fa-arrow-down" data-color="hsl(50,100%,50%)" class="cell left"></div>
<div data-type="label" class="cell left">Start</div>
Titel: Antw:Webcam per Sensor drehen lassen
Beitrag von: chris1284 am 28 Juli 2015, 17:44:11
es gibt ein fhem modul namens ipcam. da kannst du postitionen mit anfahren

http://fhem.de/commandref.html#IPCAM

so brauchst du nur einen set befehl abgeben. zusammen mit dem circlemenu  der tabletui sehr gut. den set kannst du natürlich dann auch in fhem automatisieren + screenshot usw alles über das ipcam modul
und ein notify auf die sensoren

zb notify auf Bewegungsmelder.* dann (wenn event on und  name Bewegungsmelder_03 dann set ipcam <positionscommand>)
Titel: Antw:Webcam per Sensor drehen lassen
Beitrag von: moes am 28 Juli 2015, 18:14:30
Danke für den Hinweis mit dem IPCAM Modul. Ich werde es testen. Ich möchte allerdings auf die intern in der Kamera (Foscam FI9821W) gesetzten Presets zurück greifen, da ich diese auch an anderer Stelle nutzen werde.

Ich melde mich mit Ergebnissen wieder.
Titel: Antw:Webcam per Sensor drehen lassen
Beitrag von: bergadler am 28 Juli 2015, 22:31:26
Hallo,

das ist m.M. ein Syntaxproblem,

Deine:
GetHttpFile("weblink http://mydomain.de:8080/cgi-bin/CGIProxy.fcgi?cmd=ptzGotoPresetPoint&name=Start&usr=admin&pwd=xxxxxxxxx")

meine (mit einer Instar)
GetHttpFile("192.168.178.35","/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=1&-usr=xxxx&-pwd=yyyyy")

Gruß
Titel: Antw:Webcam per Sensor drehen lassen
Beitrag von: OliS. am 29 Juli 2015, 01:27:32
Zitat von: moes am 28 Juli 2015, 18:14:30Ich möchte allerdings auf die intern in der Kamera (Foscam FI9821W) gesetzten Presets zurück greifen, da ich diese auch an anderer Stelle nutzen werde.

Genau das kannst Du mit dem Modul in Verbindung mit Foscam Kameras. Du kannst im Web-UI der Kamera die festen Positionen definieren und diese mit dem Modul anfahren. Habe ich bei mir so am Laufen.

Oli

EDIT: http://www.fischer-net.de/hausautomation/fhem/62-fhem-modul-ipcam-ueberarbeitet.html
Titel: Antw:Webcam per Sensor drehen lassen
Beitrag von: scooty am 29 Juli 2015, 09:38:41
Hallo,

ich verwende zuverlässig die Funktion GetFileFromURL, beim meiner Kamera beispielhaft:
{GetFileFromURL("http://192.168.0.137:554/cgi-bin/CGIProxy.fcgi?usr=admin&pwd=xyxyxy&cmd=ptzGotoPresetPoint&name=Katzenklappe",3)}

Andreas
Titel: Antw:Webcam per Sensor drehen lassen
Beitrag von: moes am 29 Juli 2015, 19:48:58
ZitatHallo,

ich verwende zuverlässig die Funktion GetFileFromURL, beim meiner Kamera beispielhaft:
Code:

{GetFileFromURL("http://192.168.0.137:554/cgi-bin/CGIProxy.fcgi?usr=admin&pwd=xyxyxy&cmd=ptzGotoPresetPoint&name=Katzenklappe",3)}


Andreas
Ich bin froh das ich nicht das Modul IPCAM für diese Aufgabenstellung nehmen musste. Ich werde an anderer Stelle darauf zurück kommen  ;)

Die Lösung war dann wie so oft nur ein Formatierungsproblem. Letztendlich war ein Leerzeichen nach GetFileFromURL und vor der Klammer auf zu viel.

Die Codezeile die jetzt bei mir funktioniert ist.
define Kameraschwenk_1_OG notify Bewegungsmelder_03:on {GetFileFromURL("weblink http://mydomain.de:8080/cgi-bin/CGIProxy.fcgi?cmd=ptzGotoPresetPoint&name=Start&usr=admin&pwd=xxxxxxxxx")}


Problem gelöst. Weiter geht es bis zum nächsten Brett vor dem Kopf  ;D

Danke für eure Schläge auf den Hinterkopf  8)