IPcam-Steuerung basteln

Begonnen von accessburn, 24 Februar 2016, 21:03:42

Vorheriges Thema - Nächstes Thema

accessburn

Hallo,
jetzt hab ich mal ein Problem das wohl die Profis ansprechen dürfte :-)

Ich habe mit IPcam meine Fosam eingebunden und den Link gefunden um sie zu steuern.
Ich rufe eine URL auf und sie läuft los, dann muss ich eine andere aufrufen um sie anzuhalten (siehe screen).

Kann jemand sowas zusammen schustern?

Quasi:

        |    TOP  |
LEFT |  STOP  | RIGHT
        | DOWN |



Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

chris1284

#1
genau das kann doch ipcam. steuer damit allle funktionen meiner wansview. was benötigst du denn genau?
in fhemweb kannst du dir die lustigen buttons dann zb mit http://www.fhemwiki.de/wiki/Remotecontrol zb erstellen.
in der tui habe ich dafür ein circlemenu benutzt


http://fhem.de/commandref.html#IPCAM bei den attributen die cmdXXX


accessburn

#2
Wenn du so fragst, jemand der mir das erklärt :-)

Ich hab gestern noch das da gefunden und eingefügt:
attr IPCam cmdTiltUp command=0
attr IPCam cmdTiltDown command=2
attr IPCam cmdPanLeft command=4
attr IPCam cmdPanRight command=6
attr IPCam cmdStep onstep


Aber wie geht es nun weiter?




//EDIT:

Also mitlerweile sieht die cfg so aus:
define IPCam IPCAM 192.168.178.81:88
attr IPCam basicauth xxxx:yyyy
attr IPCam delay 0
attr IPCam event-on-update-reading snapshots
attr IPCam group Kamera
attr IPCam icon it_camera
attr IPCam path snapshot.cgi?
attr IPCam pathPanTilt decoder_control.cgi?
attr IPCam cmdTiltUp command=0
attr IPCam cmdTiltDown command=2
attr IPCam cmdPanLeft command=4
attr IPCam cmdPanRight command=6
attr IPCam cmdStep onstep
attr IPCam cmdPosHome command=25
attr IPCam cmdPos01 command=31
attr IPCam cmdPos02 command=33
attr IPCam room Kamera
attr IPCam snapshots 1
attr IPCam storage /opt/fhem/IPCom
attr IPCam timestamp 1


Was mir fehlt ist die Umsetzung wie ich das Gerät nun auch steure.
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

chris1284

#3
wenn du es richtig gemacht hast sollte bei einem

set IPCam pan rigth die cam sich nach rechts bewegen
set IPCam tilt down die cam sich nach unten bewegen
usw usw

es ist recht einfach da ip cam aus den einzelnen attributen und dem define der cam nur eine url zusammenbastelt und aufruft

über DEF teilst du den pfad zur cam mit  -  bei dir  192.168.178.81:88
über basicauth die zugangsdaten  -  bei dir user:PW
über pathPanTilt sagst du ipcam welches cgi für pan und tilt commands genutzt wird  -  bei dir decoder_control.cgi?
über die attributecmd die einzelne befehle des cgi  - bei dir zb cmdPanRight command=6 für eine rechtsbewegung

wenn du nun folgendne befehl absetzt in fhem
Zitatset ipcam pan right
baut ipcam die url


http://user:PW@192.168.178.81:88/decoder_control.cgi? command=6

und ruft sie auf, die cam arbeitet den befehl ab, gibt noch ein ok zurück im besten falle
wenn du die url im browser öffnest sollte im besten falle auch die cam eine rechts-bewegung machen

sollte deine cam  zb die anmeldung über user:pw@ip nicht akzeptiren sondern wie im beispiel der commandref ehr sowas wollen
http://192.168.178.81:88/decoder_control.cgi?user=user&pwd=PW?command=6

müsstest du das attr pathPanTilt decoder_control.cgi?user={USERNAME}&pwd={PASSWORD} dahingehen ändern und
statt basichauth credentials nutzen

ich habe mein ipcam erweitert das ich mit dem aufbau nie die richtige url zusamensetzen konnte bei zb die cam noch "/" an betsimmten positionen brauchte oder die cmd nicht passten.
idas modul kann so wie es origibal ist halt nicht alle cams abdecken

das einfachste ist finde ich die url die im browser funktioniert in die attribute zu zerhacken

hier mal meine cam
Zitat
Internals:
   AUTHORITY  192.168.2.5
   DEF        192.168.2.5
   NAME       WC2_IPCAM
   NR         105
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
Attributes:
   DbLogExclude .*
   basicauth  admin:passwort
   cmd01      ptzctrl.cgi?-step=0&-act=hscan&-speed=45
   cmd02      ptzctrl.cgi?-step=0&-act=vscan&-speed=45
   cmd03      ptzctrl.cgi?-act=stop
   cmdDevider /
   cmdPanLeft ptzctrl.cgi?-step=0&-act=left&-speed=45
   cmdPanRight ptzctrl.cgi?-step=0&-act=right&-speed=45
   cmdPos01   preset.cgi?-act=goto&-number=0
   cmdPos02   preset.cgi?-act=goto&-number=1
   cmdPos03   preset.cgi?-act=goto&-number=2
   cmdPosHome ptzctrl.cgi?-step=0&-act=home&-speed=45
   cmdTiltDown ptzctrl.cgi?-step=0&-act=down&-speed=45
   cmdTiltUp  ptzctrl.cgi?-step=0&-act=up&-speed=45
   path       tmpfs/auto.jpg
   pathCmd    cgi-bin/hi3510
   pathCmdDevider /
   pathPanTilt cgi-bin/hi3510
   room       EDV
   storage    ./www/snapshots
   verbose    3

und meine tui steuerung
Zitat
<div data-type="circlemenu" class="cell circlemenu" >
   <ul class="menu">
      <li><div data-type="push" data-device="WC2_IPCAM" data-set="cmd" data-set-on="3" data-icon="fa-stop"></div></li>
      <li><div data-type="push" data-device="WC2_IPCAM" data-set="tilt" data-set-on="up" data-icon="fa-caret-up"></div></li>
      <li><div data-type="push" data-device="WC2_IPCAM" data-set="pos" data-set-on="1" data-icon="">1</div></li>
      <li><div data-type="push" data-device="WC2_IPCAM" data-set="pan" data-set-on="right" data-icon="fa-caret-right"></div></li>
      <li><div data-type="push" data-device="WC2_IPCAM" data-set="pos" data-set-on="2" data-icon="">2</div></li>
      <li><div data-type="push" data-device="WC2_IPCAM" data-set="tilt" data-set-on="down" data-icon="fa-caret-down"></div></li>
      <li><div data-type="push" data-device="WC2_IPCAM" data-set="pos" data-set-on="3" data-icon="">3</div></li>
      <li><div data-type="push" data-device="WC2_IPCAM" data-set="pan" data-set-on="left" data-icon="fa-caret-left"></div></li>
      <li><div data-type="push" data-device="WC2_IPCAM" data-set="cmd" data-set-on="3" data-icon="fa-stop"></div></li>
   </ul>
</div>

andre07

Hallo

Würde  mir auch  gern so einen Steuerung in fhem tabletui realisieren
Problem ist funktioniert nicht
Kamera ist so eingerichtet
nternals:
   AUTHORITY  192.168.2.100:8086
   DEF        192.168.2.100:8086
   NAME       keller_ip
   NR         577
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
   Readings:
     2016-02-21 12:08:46   last            keller_ip_snapshot.jpg
     2016-02-21 12:08:46   snapshot1       keller_ip_snapshot_1.jpg
     2016-02-21 12:08:46   snapshots       1
Attributes:
   cmdPanLeft command=4
   cmdPanRight command=7
   cmdPos01   command=91
   cmdPos02   command=93
   cmdPos03   command=92
   cmdPos04   command=94
   cmdStep    onstep=0
   cmdTiltDown command=3
   cmdTiltUp  command=1
   delay      15
   event-on-change-reading snapshots
   icon       it_camera
   path       snapshot.cgi?user=admin&pwd=888888
   pathPanTilt decoder_control.cgi?loginuse=admin&loginpas=888888
   room       Status
   snapshots  1
   storage    /opt/fhem/FHEM

Der  live header der Kamera sieht so aus
http://192.168.2.101:8086/decoder_control.cgi?loginuse=admin&loginpas=888888&command=4&onestep=0&14566034274940.6863956079863814&_=1456603427496

GET /decoder_control.cgi?loginuse=admin&loginpas=888888&command=4&onestep=0&14566034274940.6863956079863814&_=1456603427496 HTTP/1.1
Host: 192.168.2.101:8086
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0
Accept: text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Referer: http://192.168.2.101:8086/monitor2.htm
Cookie: noshow=0; browser=1
Authorization: Digest username="admin", realm="GoAhead", nonce="0cf19cef9ac2bd653ae3b2f1302c6dff", uri="/decoder_control.cgi?loginuse=admin&loginpas=888888&command=4&onestep=0&14566034274940.6863956079863814&_=1456603427496", algorithm=MD5, response="971ee466402acfd514df08d56fc16e12", opaque="5ccc069c403ebaf9f0171e9517f40e41", qop=auth, nc=000000dd, cnonce="963e44ca6133ca62"
Connection: keep-alive

HTTP/1.1 200 OK
Date: Sat Feb 27 20:05:08 2016
Server: GoAhead-Webs
Last-Modified: Thu Oct 21 03:42:08 2004
Content-Type: text/html
Cache-Control: no-cache
Content-Length: 18
Connection: close
----------------------------------------------------------
http://192.168.2.101:8086/decoder_control.cgi?loginuse=admin&loginpas=888888&command=5&onestep=0&14566034275700.5663605621664907&_=1456603427570

GET /decoder_control.cgi?loginuse=admin&loginpas=888888&command=5&onestep=0&14566034275700.5663605621664907&_=1456603427570 HTTP/1.1
Host: 192.168.2.101:8086
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0
Accept: text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Referer: http://192.168.2.101:8086/monitor2.htm
Cookie: noshow=0; browser=1
Authorization: Digest username="admin", realm="GoAhead", nonce="0cf19cef9ac2bd653ae3b2f1302c6dff", uri="/decoder_control.cgi?loginuse=admin&loginpas=888888&command=5&onestep=0&14566034275700.5663605621664907&_=1456603427570", algorithm=MD5, response="d71b90f8ebf993851eb834aff7189a4d", opaque="5ccc069c403ebaf9f0171e9517f40e41", qop=auth, nc=000000de, cnonce="2933bc7561145798"
Connection: keep-alive

HTTP/1.1 200 OK
Date: Sat Feb 27 20:05:08 2016
Server: GoAhead-Webs
Last-Modified: Thu Oct 21 03:42:08 2004
Content-Type: text/html
Cache-Control: no-cache
Content-Length: 18
Connection: close
----------------------------------------------------------
https://secure.mywot.com/valid

POST /valid HTTP/1.1
Host: secure.mywot.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 526
Cookie: accessible=false; partner=; version=20151208; id=248702e8edc9131e7eed5e6b5e3ecddfd00db5eb; nonce=a1f379d4e51873f81cbf64f53d6d9f8f53e02ea7; auth=6b8a5f8e9a85149fe768f7712d6084fe2ebd8fb2
Connection: keep-alive
e=Y3oweU5ERW1iV1E5TWpFbWNHbGtQVVUxTVZSeGVITmpjM2w0YjIxTGVrNVJValZsU21KNVdsaG1kV3QyWjFGQ0puTmxjM005YzBwU1RETmhkMFJFVWpaYU5XUndTbFozTWtwNVZXUk5UVEJWUWtscU5FUW1jVDFvZEhSd0pUTkJKVEpHSlRKR01Ua3lMakUyT0M0eUxqRXdNU1V6UVRnd09EWWxNa1p0YjI1cGRHOXlNaTVvZEcwbE1qTW1jSEpsZGoxb2RIUndKVE5CSlRKR0pUSkdNVGt5TGpFMk9DNHlMakV3TVNVelFUZ3dPRFlsTWtadGIyNXBkRzl5TWk1b2RHMGxNak1tYkdsdWF6MHdKbk4xWWoxbVppWjBiWFk5TVM0d0ptaHlaV1psY21WeVBXaDBkSEFsTTBFbE1rWWxNa1l4T1RJdU1UWTRMakl1TVRBeEpUTkJPREE0TmlVeVJteHZaMmx1TG1oMGJTWjBjejB4TkRVMk5qQXpOREkzTlRnNA%3D%3D
HTTP/1.1 200 OK
Access-Control-Allow-Methods: GET,PUT,POST,DELETE
Access-Control-Allow-Origin: *
Content-Type: text/plain
Date: Sat, 27 Feb 2016 20:05:09 GMT
Content-Length: 46
Connection: keep-alive
----------------------------------------------------------
https://r15---sn-h0j7sn7d.googlevideo.com/videoplayback?c=web&clen=19324714&cpn=FeGlfHyuShstScXM&cver=as3&dur=1216.725&expire=1456624627&fexp=9416126%2C9416984%2C9420452%2C9422596%2C9422971%2C9423661%2C9423662%2C9423714%2C9424092%2C9426235%2C9428944%2C9429011%2C9429820&gir=yes&id=o-AKr0LtM-6BbbRRSxBNyIuCWM-YENTeGm82iP11_s3n-c&ip=2003%3A61%3A4c11%3Abe08%3A996b%3A77b4%3Aad11%3Ae069&ipbits=0&itag=140&keepalive=yes&key=yt6&lmt=1447582707726278&mime=audio%2Fmp4&mm=31&mn=sn-h0j7sn7d&ms=au&mt=1456602586&mv=u&pl=48&range=8552448-8790015&ratebypass=yes&requiressl=yes&signature=16D98FC80A5370853339D73DBB4D156A56CF27BA.73C8C6F3F81FF9DE76F67C7A87F2C03834324601&source=youtube&sparams=clen%2Cdur%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&sver=3&upn=5qGLE0SKGNI

GET /videoplayback?c=web&clen=19324714&cpn=FeGlfHyuShstScXM&cver=as3&dur=1216.725&expire=1456624627&fexp=9416126%2C9416984%2C9420452%2C9422596%2C9422971%2C9423661%2C9423662%2C9423714%2C9424092%2C9426235%2C9428944%2C9429011%2C9429820&gir=yes&id=o-AKr0LtM-6BbbRRSxBNyIuCWM-YENTeGm82iP11_s3n-c&ip=2003%3A61%3A4c11%3Abe08%3A996b%3A77b4%3Aad11%3Ae069&ipbits=0&itag=140&keepalive=yes&key=yt6&lmt=1447582707726278&mime=audio%2Fmp4&mm=31&mn=sn-h0j7sn7d&ms=au&mt=1456602586&mv=u&pl=48&range=8552448-8790015&ratebypass=yes&requiressl=yes&signature=16D98FC80A5370853339D73DBB4D156A56CF27BA.73C8C6F3F81FF9DE76F67C7A87F2C03834324601&source=youtube&sparams=clen%2Cdur%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&sver=3&upn=5qGLE0SKGNI HTTP/1.1
Host: r15---sn-h0j7sn7d.googlevideo.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://s.ytimg.com/yts/swfbin/player-vflvipWo9/watch_as3.swf
DNT: 1
Connection: keep-alive

HTTP/1.1 200 OK
Last-Modified: Sun, 15 Nov 2015 10:18:27 GMT
Content-Type: audio/mp4
Date: Sat, 27 Feb 2016 20:05:13 GMT
Expires: Sat, 27 Feb 2016 20:05:13 GMT
Cache-Control: private, max-age=20814
Accept-Ranges: bytes
Content-Length: 237568
Connection: keep-alive
Alternate-Protocol: 443:quic,p=1
X-Content-Type-Options: nosniff
Server: gvs 1.0
----------------------------------------------------------

Ein set ipcam pan left
ergibt dann diesen header
nur die Kamera bewegt sich nicht nach links
vieleicht kann mir ja jemand hierbei helfen
Andre

chris1284

welche, gesamte, url musst du im browser eingeben damit sich die cam bewegt?

andre07

Also wenn ich diesen Befehl im Browser eingebe
http://192.168.2.101:8086/decoder_control.cgi?loginuse=admin&loginpas=888888&command=4&onestep=0
bewegt sich die Kamera nach rechts
Das gleiche mit command=4 nach links
macht dabei aber die volle umdrehung

cu

chris1284

wie lange sie sich bewegt kannst du ja per step=[zahl > 0] angeben.

das original ipcam setzt meine ich fest "?" als trenner zwischen path und cmd somtiw ird die url nie passen

setzt doch mal die attribute

pathPanTilt decoder_control.cgi
cmdPanLeft loginuse=admin&loginpas=888888&command=4&onestep=0

und teste mal ob set keller_ip pan left geht