Webcam per Sensor drehen lassen

Begonnen von moes, 28 Juli 2015, 16:27:12

Vorheriges Thema - Nächstes Thema

moes

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") "

CoolTux

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

moes

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>

chris1284

#3
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>)

moes

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.

bergadler

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ß
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)

OliS.

#6
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
PVE auf MiniPC (N100) mit FHEM, Zigbee2MQTT, Homebridge, DeConz

scooty

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
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH1080 / IO Homecontrol

moes

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)