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") "
Schau doch mal nach, wie viele Argumente die Funktion GetHttpFile übergeben haben möchte oder besser gesagt bei dessen Aufruf erwartet.
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>
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>)
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.
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ß
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
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
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)