Hallo zusammen,
wenn ich es richtig verstanden habe, muss zunächst in den Attributen einem CMD das entsprechende CGI Kommando zugewiesen werden,
um dieses dann per SET auslösen zu können, oder?
Wenn ich so vorgehe, bleibt zum Beispiel bei einem pan left die Kamera einfach stehen.
Gebe ich das CGI-Kommando inkl. IP-Adresse etc. direkt im Browser ein, funktioniert es tadellos.
Bei der Kamera handelt es sich um eine INSTAR IN-6014HD, die als unterstützt im FHEM-wiki steht und ansonsten prima funktioniert.
Gibt es beim Format etwas zu beachten? Etwa irgendwelche Anführungszeichen, Klammern o.ä. um das CMD schreiben?
Gruß
Markus
Korrekt, ohne Zuweisung zu einem CMD klappt sonst kein Befehl.
attr meineCam cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=1&-name=2
Funktioniert bei meiner Wansview (baugleich instar) .
Die CMD müssen immer ab dem cgi-bin beginnen.
Klappen andere Befehle wie motion ausschalten etc?
Gruesse,
Dirk
Hallo,
ich habe heute meine FI9831P von Fiscom mit FHEM verbunden und mich dabei mit dem IPCam Modul auseinander gesetzt. Hier mal meine Definition:
Internals:
AUTHORITY 192.168.2.xx:88
CFGFN
DEF 192.168.2.xx:88
NAME IPKamera
NR 184
SEQ 0
STATE last: 2017-02-04 13:01:08
TYPE IPCAM
Readings:
2017-02-04 13:01:09 last IPKamera_snapshot.jpg
2017-02-04 13:01:08 snapshot1 IPKamera_snapshot_1.jpg
2017-02-04 13:01:09 snapshots 1
Attributes:
cmd01 cmd=ptzStopRun
cmdPanLeft cmd=ptzMoveLeft
cmdPanRight cmd=ptzMoveRight
cmdPos01 cmd=ptzGotoPresetPoint&name=Standard
cmdPos02 cmd=ptzGotoPresetPoint&name=Kueche
cmdTiltDown cmd=ptzMoveDown
cmdTiltUp cmd=ptzMoveUp
path cgi-bin/CGIProxy.fcgi?usr=xxx&pwd=xxx&cmd=snapPicture2
pathCmd cgi-bin/CGIProxy.fcgi?usr=xxx&pwd=xxx
pathPanTilt cgi-bin/CGIProxy.fcgi?usr=xxx&pwd=xxx
storage ./www/images/webcam
verbose 5
Ich hatte ständig das Problem, dass mittels pathCmd und cmd01 keine Befehle an der Kamera angekommen sind. Quasi wie bei dir MarkusAutomaticus. Habe mir dann das Modul mal angeschaut und festgestellt, dass in Zeile 212 folgendes steht:
$camURI .= "?$camQuery";
Dies hatte zur Folge, dass mein Befehl wie folgt ausgesehen hat:
http://192.168.2.xxx:88/cgi-bin/CGIProxy.fcgi?usr=xxx&pwd=xxx?cmd=ptzStopRun
Es wurde quasi der Command mittels ? angefügt anstelle von &. Wenn ich nun in der Zeile ? durch & ersetze geht es. Ich habe bisher auch nicht nachvollziehen können, in welchem Fall das ? an dieser Stelle gebraucht wird. Es wird ja vorher geschaut, ob pathcmd gesetzt ist und dadurch ist eigentlich logisch, dass es & und nicht ? heißen muss.
@Martin: Soll das so sein, oder ist es ein Fehler gewesen mit dem ? anstelle des & ??
Danke für den Tip. Habe auch ewig gesucht (FOSCAM). Mit dem Tip habe ich jetzt ein Workaround gefunden, ohne dass ich den Code ändern muss.
Habe einfach bei pathCMD nur den Pfad ohne User/Passwort eingetragen, also
attr pathCMD cgi-bin/CGIProxy.fcgi
Dafür habe ich die Logindaten an jeden CMD Befehlt angehängt, also
attr cmd01 cmd=zoomOut&usr=xxx&pwd=xxx
Dann passt es, dass er es mit Fragezeichen anhängt.
Gruß
Thomas.
Vielleicht sollte es genau so sein und ich habe es damals verstanden. Jetzt danke ich für den Hinweis, werde es dann auch wieder zurück ändern, sobald ich Zeit dafür finde :)
Edit:
Wiki Eintrag werde ich dann auch anpassen, habe im Moment jedoch viel zu tun. Daher wird es noch dauern.
So habe es endlich auch mal im Wiki geändert :)