Digitalausgang der Mobotix Kamera Schalten

Begonnen von hackepeter, 03 November 2016, 11:36:45

Vorheriges Thema - Nächstes Thema

hackepeter

Hallo Zusammen,

ich bin ein absoluter "FHEM Frischling" und habe Probleme, einen Digitalen Ausgang über http zu schalten.

Den Link zum Schalten des Ausgangs habe ich schon herausgefunden:
http://admin:geheimesPWD@192.168.178.8:80/control/rcontrol?action=sigouthigh&time=1
Wird dieser im Browser aufgerufen schaltet der Ausgang.

Im Wiki habe ich folgendes gefunden und entsprechend angepasst:
http://www.fhemwiki.de/wiki/HTML_Aufruf_senden

define html_aufruf_garagentor notify schalter_garagentor:on { GetHttpFile("http://admin:Geheimpasswort@192.168.178.8:80/control/rcontrol?action=sigouthigh&time=1") }

Im Log habe ich folgendes gefunden:

2016.11.03 07:06:48 1: PERL WARNING: Possible unintended interpolation of @192 in string at (eval 18) line 1.
2016.11.03 07:06:48 3: eval: my $EVTPART0='on';my $NAME='webSchalter';my $EVENT='on';my $TYPE='dummy';my $SELF='webNtfy';{ GetHttpFile ("http://admin:Geheimpasswort@192.168.178.8:80", "/control/rcontrol?action=sigouthigh&time=1") }

Es sieht so aus als ob es ein Problem mit der Übergabe des Benutzernames/PWD gibt, oder?

Des Weiteren hätte ich gerne keinen Schalter, sondern einen Button, auf den man klicken kann - daran bin ich auch gescheitert :(

visionsurfer

Hi,

was genau, willst du bezwecken, wenn ich fragen darf ?
Ich hab auch eine Mobotix Kamera. Ich mache aber alles über HTTP Befehle. Schalte da keine Ausgang oder so. Für was braucht man das ?

Grüße,
Visionsurfer

hackepeter

#2
An dem Schaltausgang hängt das Garagentor, welches sich öffnet oder schließt wenn der Ausgang schaltet.

Ich hatte das ursprünglich mit OpenHAB umgesetzt - was allerdings auf der Synology nicht zufriedenstellend läuft (JAVA)...

Anmerkung:

mySchalter1:on {GetFileFromURL("http://admin:PWD@192.168.178.8/control/rcontrol?action=sigouthigh&time=1")}

funktioniert auch nicht.

fiedel

Du musst da vermutl. mehr experimentieren: Z.B. mal das @ verdoppeln, außerdem erwartet der Befehl das Format ("IP:Port", "Befehl").
Ob sich das mit deiner URL umsetzen lässt ist fraglich (ggf. Code ansehen, wie es genau verarb. wird).
Ggf. kannst du die URL auf der Konsole per wget aufrufen? Dann ginge der Systembefehl von FHEM.
Außerdem gibt es noch das IPCAM- Modul, in dem sich auch solche URL- Befehle absetzen lasen. Damit müsste es direkt gehen.

Gruß
Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

hackepeter

Vielen Dank für die Antworten. Die Nutzung des IPCAM-Moduls war zielführend.
Dazu musste ich aber ein Testsystem aufsetzen und den Netzwerkverkehr mit Wireshark mitloggen, um anschließend die Variablen richtig setzten zu können:

define Mobotix IPCAM 192.168.178.8:80
attr Mobotix basicauth USER:PASSWORT
attr Mobotix path control/rcontrol?action=sigouthigh
attr Mobotix cmd01 time=1


Wget auf der Konsole war immer nur einmalig zielführend, danach musste die Kamera neu gestartet werden (ggf hat das close gefehlt) - auch ein kleiner Timeout half nichts.

Bei der Funktion GetFileFromURL ist mir aufgefallen, dass bei einer Änderung des Schalterzustandes nicht die geringste Kommunikation mit der Kamera stattfindet - oder fehlt da noch etwas?
http://666kb.com/i/ddu9nav85qbgckudq.png

fiedel

Zitat von: hackepeter am 04 November 2016, 22:46:33
Bei der Funktion GetFileFromURL ist mir aufgefallen, dass bei einer Änderung des Schalterzustandes nicht die geringste Kommunikation mit der Kamera stattfindet - oder fehlt da noch etwas?
http://666kb.com/i/ddu9nav85qbgckudq.png

Naja, wie gesagt: Das Format ist völlig falsch. Du beginnst nicht mit "IP:Port", sondern mit "http://admin:PWD@....". Damit kann GetFileFromURL und GetHttpFile nichts anfangen.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

hackepeter

#6
Sorry dass ich da widerspreche, aber im Wiki http://www.fhemwiki.de/wiki/HttpUtils steht dazu folgendes:

Variable1 ($URL):
Beispiel:

http://www.myhost.com/directory/
https://www.myhost.com/
http://www.myhost.com:8080/
http://foo:bar@www.myhost.com/

Laut dem letzten bsp. wäre also Basic Auth in der URL möglich.

fiedel

Sorry, du hast natürlich Recht! Dann wäre "GetFileFromURL" das Mittel der Wahl. Vermutlich wird das im IPCAM-- Modul auch eingesetzt und du könntest dort im Code finden, wie es aus den Attributen wieder zusammengefügt wird. Außerdem gibt es wohl noch ein Problem bei abweichendem Port. Vielleicht siehst du das Entscheidende, wenn du verbose auf 5 setzt und dann nochmal den Befehl absendest.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423