Inhalt von Homematic Systemvariablen versenden

Pushsafer make it easy and safe to get push-notifications in real time on your Android or Windows mobile device, iPhone, iPad and Desktop!

Mit Pushsafer kann man in Echtzeit, einfach und sicher, Push-Benachrichtigungen auf sein iPhone, iPad, Android oder Windows Gerät sowie auf den Desktop senden lassen!

======================
Google Play
App Store
Windows Store
Homepage
onkel_peter

Inhalt von Homematic Systemvariablen versenden

Postby onkel_peter » 25. Jan 2017, 15:31

Hallo,

wie kann man den Inhalt von ein oder mehreren Homemativ-SV per Pushsafer Nachricht versenden ?

Danke im voraus.

MFG
Peter

User avatar
admin
Site Admin
Posts: 943
Joined: 1. Dec 2014, 12:41
Location: Germany

Re: Inhalt von Homematic Systemvariablen versenden

Postby admin » 25. Jan 2017, 18:22

onkel_peter wrote:Hallo,

wie kann man den Inhalt von ein oder mehreren Homemativ-SV per Pushsafer Nachricht versenden ?

Danke im voraus.

MFG
Peter
Hallo Peter,

hier findest du eine allgemeine Anleitung, wie über die CCU2 Pushsafer Push-Benachrichtungen versenden kannst.
https://www.pushsafer.com/de/homematic

Welche Variablen sollen ausgelesen und versendet werden?

So kann man z.B. die Temperatur eines Thermostates lesen:

Code: Select all

var aktuelleTemp = dom.GetObject("Kanalname").DPByHssDP("TEMPERATURE").Value();
Diesen Wert + einen bestimmten Text verbinden:

Code: Select all

var message = "aktuelle Temperatur: " # aktuelleTemp # " Grad Celecius";
message wird dann als Nachricht versendet!

Grüße
Kevin
Pushsafer DE: Dir gefällt Service und Support! Dann freuen wir uns auf deine Bewertung!
Pushsafer EN: You like Service and Support! Then we look forward to your review!

Pushsafer.com Website - iOS - Android - Windows 10

onkel_peter

Re: Inhalt von Homematic Systemvariablen versenden

Postby onkel_peter » 25. Jan 2017, 21:08

Hallo Kevin,

recht vielen Dank für die promte Lösung !
Da Du das Beispiel mit der Temperatur angeführt hast habe ich das auch zum Test wie folgt realisiert:
Das funktioniert mit folgenden Script sehr gut.
Wie Du siehst habe ich gleich zwei Variablen in die "message" aufgenommen.

Code: Select all

var aktuelleFeuchte = dom.GetObject("BidCos-RF.LEQxxxxxxx:1.HUMIDITY").Value().ToString(0) # " %";
var aktuelleTemp = dom.GetObject("BidCos-RF.LEQxxxxxxx:1.TEMPERATURE").Value().ToString(1) # " °C";
var message = "die aktuelle Temperatur beträgt: " # aktuelleTemp  # " und die Luftfeuchte beträgt: " # aktuelleFeuchte;
string title = "Temperatur";
string sound = "18 ";
string icon = "62";
string vibration = "2";
string device = "xxx";
string privatekey = "xxxxxxxxxxxxxxxxxxxx";
dom.GetObject("CUxD.CUX2801001:2.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 d='"#device#"' https://www.pushsafer.com/api");
Ich habe allerdings festgestellt, dass einige Sonderzeichen und Umlaute nicht richtig übertragen werden. Da steht dann ein "?"
Gibt es dafür eine Lösung ?

Zu meiner eigentlichen Frage nochmal:
Ich wollte keine Datenpunkte eines Gerätes auslesen sondern eine "Systemvariable" z.b. vom Typ "Zeichenkette" oder "Zahl".
Hast Du dafür evtl. auch eine "Codeschnipsel" ?

Dann hätte ich noch eine Frage zum letzten Teil des Scriptes wo die "message" versandt wird.
Kann an dort mehrmals den Teil -d m='"#message#"' aufnehmen, zb. message1, message2 etc. oder muss man das oben schon alles zusammenbasteln?
Bisher hatten meine Versuche immer nur eine "message" wieder gegeben.

Danke schon mal im voraus.
Peter

User avatar
admin
Site Admin
Posts: 943
Joined: 1. Dec 2014, 12:41
Location: Germany

Re: Inhalt von Homematic Systemvariablen versenden

Postby admin » 25. Jan 2017, 22:14

Hallo Peter,

Umlaute und Sonderzeichen in CCU Scripten, ein lästiges Thema. Am Besten UTF-8 kodiert im Nachrichten-Text verwenden.

Ä wird ersetzt durch %C3%84
ä wird ersetzt durch %C3%A4
Ö wird ersetzt durch %C3%96
ö wird ersetzt durch %C3%B6
Ü wird ersetzt durch %C3%9C
ü wird ersetzt durch %C3%BC
° wird ersetzt durch %C2%B0

die Variable message kann nur einmal verwendet werden, also alles zu einer Variable verbinden.

Kannst du mir das genauer erklären. ich steh grad auf dem Schlauch
"Systemvariable" z.b. vom Typ "Zeichenkette" oder "Zahl".

Grüße Kevin
Pushsafer DE: Dir gefällt Service und Support! Dann freuen wir uns auf deine Bewertung!
Pushsafer EN: You like Service and Support! Then we look forward to your review!

Pushsafer.com Website - iOS - Android - Windows 10

onkel_peter

Re: Inhalt von Homematic Systemvariablen versenden

Postby onkel_peter » 25. Jan 2017, 22:47

Hallo Kevin,

Danke für die Infos zu den Umlauten und "message". Das hilft mir auf jeden Fall weiter.
Zu den Systemvariablen der CCU2:
Man kann Systemvariablen mit den unterschiedlichsten Typen anlegen z.B. Logikwert, Weteliste, Zahl, Zeichenkette und Alarm
Durch Scriptprogrammierung werden diese Variablen z.b mit einem Text oder einer Zahl oder einem Wert gefüllt oder eben der Inhalt abgefragt und ausgegeben.
In meinem Fall ein Script zur "Wetterwarnung" das eine SV mit dem Text der Wetterwarnung füllt.
Und genau diesen Inhalt der SV möchte ich per Pushnachricht versenden.

Wenn Dir das alles nichts sagt, auch nicht so schlimm.
Ich bin auch im Homematic-Forum unterwegs. Werde mich dort auch noch belesen.
Ich denke da werde ich fündig.

Du hast mir auf jedenfall schon sehr weiter geholfen.
Danke !

User avatar
admin
Site Admin
Posts: 943
Joined: 1. Dec 2014, 12:41
Location: Germany

Re: Inhalt von Homematic Systemvariablen versenden

Postby admin » 25. Jan 2017, 23:03

Das wird dir weiterhelfen:

Variable

Code: Select all

var sv = dom.GetObject("sv");
Schreiben

Code: Select all

sv.Variable("eine Zeichenkette");
Lesen

Code: Select all

value = sv.Variable();
gefunden auf http://homematic-forum.de/forum/viewtop ... =26&t=3325
Pushsafer DE: Dir gefällt Service und Support! Dann freuen wir uns auf deine Bewertung!
Pushsafer EN: You like Service and Support! Then we look forward to your review!

Pushsafer.com Website - iOS - Android - Windows 10

onkel_peter

Re: Inhalt von Homematic Systemvariablen versenden

Postby onkel_peter » 26. Jan 2017, 07:26

Genau das habe ich gesucht.
Recht vielen Dank !

onkel_peter

Re: Inhalt von Homematic Systemvariablen versenden

Postby onkel_peter » 29. Jan 2017, 17:21

Hallo Kevin,

hab da noch mal ein paar Fragen:
1.Gibt es bei den Sonderzeichen auch die Möglichkeit "ß" richtig dazustellen ?
Die anderen Sonderzeichen funktionieren.

2. Die Sonderzeichen kann ich ja nur verwenden, wenn ich eine eigene Message in die Benachrichtigung schreibe.
Wenn ich aber in den "String message" den Inhalt einer HM-Systemvariablen schreibe, was übrigens jetzt gut funktioniert,
kann ich keinen Einfluss nehmen, oder ?
Ich hab das Problem, das in der HM-SV die Umlaute richtig drin stehen, wenn Pushsafer jedooch den Inhalt versendet werden die Umlaute
nicht korrekt angezeigt.
Hast Du dafür eine Lösung ??

Danke im voraus.

User avatar
admin
Site Admin
Posts: 943
Joined: 1. Dec 2014, 12:41
Location: Germany

Re: Inhalt von Homematic Systemvariablen versenden

Postby admin » 30. Jan 2017, 19:08

ß =wird ersetzt durch %C3%9F

Hier eine komplette Tabelle der UTF8 kodierten Zeichensätze.
http://www.utf8-zeichentabelle.de/

Bei übergebene Variablen muss eine Suchen & Ersetzen Funktion diese Sonderzeichen austauschen.

Grüße Kevin
Pushsafer DE: Dir gefällt Service und Support! Dann freuen wir uns auf deine Bewertung!
Pushsafer EN: You like Service and Support! Then we look forward to your review!

Pushsafer.com Website - iOS - Android - Windows 10

onkel_peter

Re: Inhalt von Homematic Systemvariablen versenden

Postby onkel_peter » 31. Jan 2017, 08:38

Hallo Kevin,

Danke !
Das beantwortet aber nicht meine Frage.
Warum kann Pushsafer nicht den originalen Inhalt (mit korrekten Sonderzeichen) einer HM-Systemvariablen senden ?

Wo sollte denn die Suchen und Ersetzen Fnktion eingebaut werden ?

Gruß Peter


Who is online

Users browsing this forum: Google [Bot] and 36 guests