HTTPMOD Tag/Nachtmodus bei IPCam schalten (Vivotek)

Begonnen von Maergsche, 04 Februar 2016, 16:04:18

Vorheriges Thema - Nächstes Thema

Maergsche

Hallo,

ich möchte bei meiner Vivotek Kamera den Tag/Nachtmodus über Fhem schalten. Ich nutze hierzu das Modul HTTPMOD. Dies Funktioniert auch soweit, doch bekomme ich es nicht hin den STATE für den Schalter zu setzen. Dieser steht immer auf "?"

Die Kamera kann über folgenden aufruf konfiguriert werden:
http://192.168.0.11/cgi-bin/admin/setparam.cgi?ircutcontrol_mode=day bzw.
http://192.168.0.11/cgi-bin/admin/setparam.cgi?ircutcontrol_mode=night

Als Antwort erhalte ich dann:
ircutcontrol_mode='day'
(Seitenquelltext)

Nun habe ich folgendes mit dem Modul HTTPMOD konfiguriert:

define Homecam_DayNight HTTPMOD http://192.168.0.11/cgi-bin/admin/setparam.cgi
attr Homecam_DayNight userattr reading01Name reading01Regex reading1Name reading1Regex set01 set01Hint set01Name set01TextArg set01URL stateFormat
attr Homecam_DayNight room System
attr Homecam_DayNight set01Hint day,night
attr Homecam_DayNight set01Name Mode
attr Homecam_DayNight set01TextArg 1
attr Homecam_DayNight set01URL http://192.168.0.11/cgi-bin/admin/setparam.cgi?ircutcontrol_mode=$val
attr Homecam_DayNight reading01Name Mode
attr Homecam_DayNight reading01Regex ircutcontrol_mode='\w+'


So kann ich nun schonmal den Tag/NachtModus der Kamera ändern.

Nun verzweifel ich aber daran den Status auch in Fhem anzeigen zu lassen!
Wie mache ich das? Irgendwie werden die readings nicht eingelesen... wo ist mein Denkfehler?

Schonmal vielen Dank
Maergsche

frank

attr Homecam_DayNight reading01Regex ircutcontrol_mode='\w+'
du musst in der regex eine capture group definieren, mit einfachen klammern. zb:

attr Homecam_DayNight reading01Regex ircutcontrol_mode='(\w+)'
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Maergsche

Leider klappt es weiterhin nicht...

Als Parameter habe ich nun:
reading01Regex: ircutcontrol_mode='(\w+)'

Und bekomme weiterhin im Log die Meldung:
Homecam_DayNight: Read response to Update didn't match any Reading(s)


StefanStrobel

Hallo,

Bei Deinem define hast Du eine URL, aber kein Intervall angegeben. HTTPMOD nimmt dann 300 Sekunden als Default und fragt daher alle 5 Minuten unabhängig von einem set-Befehl die URL aus dem Define ab.
Als Ergebnis kommt dann vermutlich eine Antwort, bei der die Regex nicht matcht.

Wenn Du nur einen set-Befehl definieren möchtest, dann definiere das Gerät mit

define xy HTTPMOD none 0


Die Antwort auf einen set-Befehl wird übrigens auch nur in der neuen Version geparsed und dann auch nur wenn das Attribut set01parseResppnse auf 1 gesetzt wurde ...

Gruß
   Stefan