Page 1 of 1

Re: Kamerabilder via Homematic versenden

Posted: 8. May 2017, 20:19
by admin
Hallo loetman,

auch ich bin kein Homematic Profi, aber hier ein Ansatz, mit welchen du weiter arbeiten kannst.
Bei Problemen solltest du dich mit diesem Code-Schnipsel in einem Homeatic-Forum vorstellen.

Grüße Kevin

Datei sendCamShot.tcl erstellen mit folgendem Inhalt und in folgenden Ordner kopieren:

Code: Select all

/usr/local/addons/sendCamShot/

Code: Select all

#!/bin/tclsh
package require base64
package require TclCurl

# VARS
set SNAPSHOT_URL "http://user:password@192.168.2.110:8080/snapshot.cgi"

# DOWNLOAD THE SNAPSHOT to /tmp
exec wget -q -O /tmp/snapshot.jpg $SNAPSHOT_URL
 
# READ SNAPSHOT INTO VARIABLE & BASE64 ENCODE
set fp [open "/tmp/snapshot.jpg" r]
fconfigure $fp -translation binary
set imgdata [read $fp]
set encodedimgdata [::base64::encode $imgdata]
set imagetype "data:image/jpeg;base64,"
set PICTURE [concat $imagetype$encodedimgdata]
close $fp
 
# SEND NOTIFICATION BY PUSHSAFER WITH CURL
# BASED ON THE PUSHSAFER API - https://www.pushsafer.com/en/pushapi

curl::transfer -url https://www.pushsafer.com/api -verbose 1 -post 1 \
        -httppost [list name "k"  contents "XXXXXXXXXXXXXXXXXXXX"] \
        -httppost [list name "m" contents "my first pushsafer.com notification with camera snapshot"] \
		-httppost [list name "t" contents "Alert"] \
		-httppost [list name "d" contents "110"] \
		-httppost [list name "i" contents "82"] \
		-httppost [list name "s" contents "25"] \
		-httppost [list name "v" contents "3"] \
		-httppost [list name "u" contents ""] \
		-httppost [list name "ut" contents ""] \
		-httppost [list name "p" contents $PICTURE] \
		-httppost [list name "l" contents ""] -verbose 1

# CLEAN UP
exec rm -f /tmp/snapshot.jpg
Aufruf des Script:

Code: Select all

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("cd /usr/local/addons/sendCamShot/ && tclsh sendCamShot.tcl");
Die fest definierten Variablen sowie die Seriennummmer (in diesem Beispiel: CUX2801001) müssen natürlich durch deine ersetzt werden!

Grüße Kevin

Re: Kamerabilder via Homematic versenden

Posted: 9. May 2017, 20:44
by dennisste
Hallo, ich hab ja auch noch einen Foreneintrag zu dem gleichen Thema laufen. Die Bibliothek TclCurl geht auf der Homematic denke ich nicht. Es müsste eher so aussehen:

#!/bin/tclsh
package require base64
load tclrega.so

set fp2 [open "/tmp/base64bild_LOG" w]
puts $fp2 "log - tlc laeuft"
close $fp2

set fileID [open "/tmp/BildEinfahrt.jpg" RDONLY]
fconfigure $fileID -translation binary
set rawData [read $fileID]
close $fileID
set encodedData [base64::encode $rawData]

regsub -all \\n $encodedData "" encodedData

set fp2 [open "/tmp/base64bild" w]
puts -nonewline $fp2 $encodedData
close $fp2

set bild $encodedData;
# set bild "iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEVBMTczNDg3QzA5MTFFNjk3ODM5NjQyRjE2RjA3QTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEVBMTczNDk3QzA5MTFFNjk3ODM5NjQyRjE2RjA3QTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowRUExNzM0NjdDMDkxMUU2OTc4Mzk2NDJGMTZGMDdBOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowRUExNzM0NzdDMDkxMUU2OTc4Mzk2NDJGMTZGMDdBOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjjUmssAAAGASURBVHjatJaxTsMwEIbpIzDA6FaMMPYJkDKzVYU+QFeEGPIKfYU8AETkCYI6wANkZQwIKRNDB1hA0Jrf0rk6WXZ8BvWkb4kv99vn89kDrfVexBSYgVNwDA7AN+jAK3gEd+AlGMGIBFDgFvzouK3JV/lihQTOwLtOtw9wIRG5pJn91Tbgqk9kSk7GViADrTD4HCyZ0NQnomi51sb0fUyCMQEbp2WpU67IjfNjwcYyoUDhjJVcZBjYBy40j4wXgaobWoe8Z6Y80CJBwFpunepIzt2AUgFjtXXshNXjVmMh+K+zzp/CMs0CqeuzrxSRpbOKfdCkiMTS1VBQ41uxMyQR2qbrXiiwYN3ACh1FDmsdK2Eu4J6Tlo31dYVtCY88h5ELZIJJ+IRMzBHfyJINrigNkt5VsRiub9nXICdsYyVd2NcVvA3ScE5t2rb5JuEeyZnAhmLt9NK63vX1O5Pe8XaPSuGq1uTrfUgMEp9EJ+CQvr+BJ/AAKvAcCiAR+bf9CjAAluzmdX4AEIIAAAAASUVORK5CYII=";

set rega_cmd ""
append rega_cmd "dom.GetObject(\"CUxD.CUX2801001:1.CMD_EXEC\").State(\"LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k -d k='xxxxxxxxxxxxxx' -d t='test'"
append rega_cmd " -d p='data:image/jpeg;base64,"
append rega_cmd $bild
append rega_cmd "' -d m='testm' -d s='5' -d i='11' -d v='1' -d d='xxxx' https://www.pushsafer.com/api\");"

set fp2 [open "/tmp/base64bild_LOG" w]
puts $fp2 $rega_cmd
close $fp2

rega_script $rega_cmd


Es werden ein paar LOG Dateien geschrieben und das jpeg ist ein gültiges Bild. Es geht nicht. Wenn ich das kleine Piktogramm ein Kommentiere und das benutze, geht es. Keine Ahnung, mit dem base64 stimmt irgend etwas nicht?

Re: Kamerabilder via Homematic versenden

Posted: 9. May 2017, 21:09
by admin
Hallo Denniste,

danke für deinen Beitrag.
Vor dem Base64 String muss noch folgdenes stehen (wenn jpg): data:image/jpeg;base64,

also so:

Code: Select all

set imagetype "data:image/jpeg;base64,"
set PICTURE [concat $imagetype$bild]
Gib bitte Bescheid, ob es so klappt.

Danke und Grüße Kevin

Re: Kamerabilder via Homematic versenden

Posted: 9. May 2017, 21:14
by admin
mein Fehler, du hast das schon beachtet. Ist es ein JPEG, welches du kodierst?

sende mir mal bitte den Inhalt von encodedData oder teste diesen selber unter:

http://codebeautify.org/base64-to-image-converter

Grüße Kevin

Re: Kamerabilder via Homematic versenden

Posted: 10. May 2017, 06:08
by dennisste
Hallo, gern. Es sind zu viele Zeichen. Ich brauche eine Mail Adresse? Anhängen kann man wohl nur jpg?

Re: Kamerabilder via Homematic versenden

Posted: 10. May 2017, 06:55
by admin
dennisste wrote:Hallo, gern. Es sind zu viele Zeichen. Ich brauche eine Mail Adresse? Anhängen kann man wohl nur jpg?
Habe dir eine PM übers Forum gesendet

Re: Kamerabilder via Homematic versenden

Posted: 10. May 2017, 07:03
by dennisste
gesendet...

Re: Kamerabilder via Homematic versenden

Posted: 29. May 2017, 19:47
by scuby-doo
Hi zusammen, mich interessiert das Thema über Homematic ebenfalls. Wäre super, wenn es eine Lösung gibt, wie man mit einem Aufruf per Homematic ein Bild von einer oder mehren Ip Cams in eine Push erhalten könnte.

Gruß

Re: Kamerabilder via Homematic versenden

Posted: 29. May 2017, 19:50
by scuby-doo
Hi zusammen,

mich würde auch interessieren über einen Aufruf in Homematic ein Foto von einer oder mehreren IP Cams per Push zu erhalten.

Gruß

Re: Kamerabilder via Homematic versenden

Posted: 30. May 2017, 08:07
by admin
Hallo,

am Besten die CCU2 Profi in einem Homeatic Forum > https://homematic-forum.de/forum/viewforum.php?f=21 fragen und auf diesen Thread verweisen: http://appzer.de/forum/viewtopic.php?f=24&t=2913

Da wird euch im Bezug auf HomeMatic Scripting besser geholfen.

Grüße Kevin