Page 1 of 1

Kamera Bild per PUSH

Posted: 28. Apr 2017, 13:17
by dennisste
Hallo,
ich habe ein Problem. Push Nachrichten schicken geht. Jetzt möchte ich per API von meiner Kamera ein Bild holen und das per Push in meiner Homematic Umgebung, an mein Handy verschicken.
"hxxp://192.168.1.220:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxx&pwd=xxx"
liefert ein jpg
Wie jetzt weiter? Irgendwie mit dem Kürzel „p“ und Base64, hilfe….

Re: Kamera Bild per PUSH

Posted: 28. Apr 2017, 13:36
by admin
dennisste wrote:Hallo,
ich habe ein Problem. Push Nachrichten schicken geht. Jetzt möchte ich per API von meiner Kamera ein Bild holen und das per Push in meiner Homematic Umgebung, an mein Handy verschicken.
"hxxp://192.168.1.220:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxx&pwd=xxx"
liefert ein jpg
Wie jetzt weiter? Irgendwie mit dem Kürzel „p“ und Base64, hilfe….
Was für eine Kamera ist das?

Code: Select all

hxxp://192.168.1.220:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxx&pwd=xxx
glaube ich, kein Bild ausliefert, sondern nur das Bild generiert und einen Link zum neu erstellten Bild bereitstellt.

Wie wird in einer deiner Homematic die Push Nachricht versendet? Über den CUx-Daemon???

Grüße Kevin

Re: Kamera Bild per PUSH

Posted: 28. Apr 2017, 13:51
by dennisste
Hallo Kevin, Danke für die schnelle Antwort.
Es ist eine Foscam.
Mit diesem script sende ich die Nachricht:
string bildhof="hxxp://192.168.1.220:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxx&pwd=xxx";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k -d k='"#privatekey#"' -d t='"#title#"' -d m='"#message#"' -d s='"#sound#"' -d i='"#icon#"' -d v='"#vibration#"' -d u='"#bildhof#"' -d d='"#device#"' hxxps://wxw.pushsafer.com/api");
Dann bekomme ich natürlich nur die URL, die mir an dieser Stelle nichts nützt.
Hiermit bekomme ich ein Bild ins tmp der CCU:
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -O /tmp/BildEinfahrt.jpg 'hxxp://192.168.1.220:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxx&pwd=xxx");

Danke im Voraus
Dennis

Re: Kamera Bild per PUSH

Posted: 28. Apr 2017, 16:30
by admin
OK, wenn das Bild im TMP Verzeichnis liegt.
Muss dieses gelesen und als Base64 String kodiert werden und als Parameter p an Pushsafer gesendet werden.

Code: Select all

# READ SNAPSHOT INTO VARIABLE & BASE64 ENCODE
set fp [open "/tmp/BildEinfahrt.jpg" r]
fconfigure $fp -translation binary
set imgdata [read $fp]
set encodeddata [::base64::encode $imgdata]
close $fp
Auf dieser Seite wird alles sehr gut beschrieben:
http://homestatus.de/tcl-script-snapsho ... versenden/

Vor der Variable encodeddata muss noch folgender String eingefügt werden "data:image/jpeg;base64,"

Danach kann der Wert encodeddata über die Variable p an pushsaer gesendet werden.

Ich hoffe das hilft dir weiter.

Grüße Kevin

Re: Kamera Bild per PUSH

Posted: 1. May 2017, 19:59
by dennisste
Hallo Kevin,
nicht so richtig. Es sind ja zwei verschiedene Systeme (TCL und das Scripting der CCU2)? Der TCL Teil geht nur per putty, über ein „normales “ Homematic script geht es nicht. Wenn ich es über ein TCL Script mache kann ich die Push API nicht ansprechen, jedenfalls weiß ich nicht wie? Ich möchte doch nur ‚nen Bild übertragen. Heul….

Re: Kamera Bild per PUSH

Posted: 2. May 2017, 05:54
by admin
dennisste wrote:Hallo Kevin,
nicht so richtig. Es sind ja zwei verschiedene Systeme (TCL und das Scripting der CCU2)? Der TCL Teil geht nur per putty, über ein „normales “ Homematic script geht es nicht. Wenn ich es über ein TCL Script mache kann ich die Push API nicht ansprechen, jedenfalls weiß ich nicht wie? Ich möchte doch nur ‚nen Bild übertragen. Heul….
So kanst du TLC Script über den CUx Daemon starten:

Code: Select all

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("cd /usr/local/addons/sendCamShot/ && tclsh sendCamShot.tcl");
Grüße Kevin