PROWL Problem - bin ich allein ?

Programmierung der HomeMatic CCU mittels contronics homeputer CL

Moderator: Co-Administratoren

Didi62
Beiträge: 367
Registriert: 07.10.2007, 16:18
Danksagung erhalten: 2 Mal

Re: PROWL Problem - bin ich allein ?

Beitrag von Didi62 » 12.08.2016, 08:33

Aaaah.
Danke den beiden Profis hier. Hätte ich ja auch selbst darauf kommen können.
Herbert, wäre schön wenn du das Makro hier posten könntest, dann kann ich mir das zusammensuchen sparen ;-)
Danke für eure Mithilfe!

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: PROWL Problem - bin ich allein ?

Beitrag von Herbert_Testmann » 12.08.2016, 09:49

Didi62 hat geschrieben: Herbert, wäre schön wenn du das Makro hier posten könntest,
frühestens heute abend ...
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: PROWL Problem - bin ich allein ?

Beitrag von Herbert_Testmann » 12.08.2016, 16:15

hallo

hier mein macro
Es ist aus dem Forum und leicht angepasst. Es können überflüssige zeilen und aus kommentierte zeilen enthalten sein.

Vor dem zweiten Teil für eine zweite Person befindet sich im Moment ein "verlassen", da ich das nicht brauche.

Code: Alles auswählen

// senden aus einem anderen Makro mit
//
//    PROWL_SEND.Empfaenger:="Person1"
//    PROWL_SEND.Betreff:="Warnung xy"
//    PROWL_SEND.Text:="Achtung! xy äöü geht auch"
//    PROWL_SEND.Dringlichkeit:="-2"
//    Aufrufen(PROWL_SEND)
//
//Variablen
//API_Person1 [Zeichen]
//Empfaenger [Zeichen]
//Betreff [Zeichen]
//Anweisung_Person1 [Zeichen]
//Text [Zeichen]
//Counter_ZW [Zahl]
//Dringlichkeit [Zeichen]
//Zeile [Zeichen]
//Antwort [Zeichen]
//Gesendet [Schalter]
//
    API_Person1:="0126bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    API_Person2:="yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya962"
//
Wenn Empfaenger = "Person1" dann
Empfaenger:="X_"+Empfaenger
//
    Wenn Dringlichkeit < -2 oder Dringlichkeit > 2 dann
       Dringlichkeit:=0
    endewenn
    wenn Betreff= "" dann
     Betreff:="Es wurde kein Thema eingegeben"
    endewenn
    wenn Text= "" dann
     Betreff:="Es wurde kein Text definiert."
    endewenn
//
Betreff:=Ersetzen(Betreff," ","%20")
Betreff:=Ersetzen(Betreff,"ä","%C3%A4")
Betreff:=Ersetzen(Betreff,"ö","%C3%B6")
Betreff:=Ersetzen(Betreff,"ü","%C3%BC")
Betreff:=Ersetzen(Betreff,"Ä","%C3%84")
Betreff:=Ersetzen(Betreff,"Ö","%C3%96")
Betreff:=Ersetzen(Betreff,"Ü","%C3%9C")
Betreff:=Ersetzen(Betreff,"ß","%C3%9F")
Betreff:=Ersetzen(Betreff,"#","%23")
Betreff:=Ersetzen(Betreff,"+","%2B")
Betreff:=Ersetzen(Betreff,"&","%26")
Betreff:=Ersetzen(Betreff,"Sonne_","%E2%98%BC")
Betreff:=Ersetzen(Betreff,"Smiley2","%E2%98%BB")
Betreff:=Ersetzen(Betreff,"Smiley","%E2%98%BA")
Betreff:=Ersetzen(Betreff,"Bullet","%E2%80%A2")
Betreff:=Ersetzen(Betreff,"Promille","%E2%80%B0")
Betreff:=Ersetzen(Betreff,"~","%CB%9C")
Betreff:=Ersetzen(Betreff,"Doppelpfeil_rechts","%E2%87%92")
Betreff:=Ersetzen(Betreff,"(C)","%C2%A9")
Betreff:=Ersetzen(Betreff,"(R)","%C2%AE")
Betreff:=Ersetzen(Betreff,"<<","%0A")
Betreff:=Ersetzen(Betreff,"°","%C2%B0")
Text:=Ersetzen(Text," ","%20")
Text:=Ersetzen(Text,"ä","%C3%A4")
Text:=Ersetzen(Text,"ö","%C3%B6")
Text:=Ersetzen(Text,"ü","%C3%BC")
Text:=Ersetzen(Text,"Ä","%C3%84")
Text:=Ersetzen(Text,"Ö","%C3%96")
Text:=Ersetzen(Text,"Ü","%C3%9C")
Text:=Ersetzen(Text,"ß","%C3%9F")
Text:=Ersetzen(Text,"#","%23")
Text:=Ersetzen(Text,"+","%2B")
Text:=Ersetzen(Text,"&","%26")
Text:=Ersetzen(Text,"Sonne_","%E2%98%BC")
Text:=Ersetzen(Text,"Smiley2","%E2%98%BB")
Text:=Ersetzen(Text,"Smiley","%E2%98%BA")
Text:=Ersetzen(Text,"Bullet","%E2%80%A2")
Text:=Ersetzen(Text,"Promille","%E2%80%B0")
Text:=Ersetzen(Text,"~","%CB%9C")
Text:=Ersetzen(Text,"Doppelpfeil_rechts","%E2%87%92")
Text:=Ersetzen(Text,"(C)","%C2%A9")
Text:=Ersetzen(Text,"(R)","%C2%AE")
Text:=Ersetzen(Text,"<<","%0A")
Text:=Ersetzen(Text,"°","%C2%B0")
//
    Anweisung_Person1 := "https://prowl.weks.net/publicapi/add?apikey="+API_Person1+"&application=CCU&event="+Betreff+"&priority="+Dringlichkeit+"&description="+Text
//
counterZW1:=counterZW1+1
    wenn counterZW1 < 20 oder Dringlichkeit > 0 dann
             GetSite(Anweisung_Person1,443,Antwort)
             Gesendet:=1
    endewenn
//
    wenn counterZW1 = 20 dann
       warte("00:00:10")
       Betreff:="Systemhinweis"
    Text:="Innerhalb%20der%20letzten%20Stunde%20wurden%20"+counterZW1+"%20Nachrichten%20verschickt.%20Da%20scheint%20etwas%20gehoerig%20daneben%20zu%20gehen.%20Bis%20zur%20naechsten%20Stunde%20werden%20nur%20noch%20dringende%20Nachrichten%20geschickt."
       Dringlichkeit:=0
       Anweisung_Person1 := "https://prowl.weks.net/publicapi/add?apikey="+API_Person1+"&application=CCU&event="+Betreff+"&priority="+Dringlichkeit+"&description="+Text
       GetSite(Anweisung_Person1,443,Antwort)
    endewenn
//PROWL Meldunge in ein Log schreiben
wenn NICHT DATEIVORHANDEN("Prowl_Log.txt") dann
          Zeile := "Datum;Uhrzeit;Empfaenger;Betreff;Text;Dringlichkeit;"
          Schreibedatei("Prowl_Log.txt",Zeile,2)
          SCHLIESSEDATEIEN
    endewenn
//
    Zeile:=Datum+";"+Uhrzeit+";"+Empfaenger+";"+Betreff+";"+Text+";"+Dringlichkeit+";"
    SCHREIBEDATEI("Prowl_Log.txt",Zeile,2)
	Schreibedatei("PROWL_Log_2.txt",Anweisung_Person1,2)
    Betreff:=""
    Text:=""
    Empfaenger:=""
    Dringlichkeit:=0
    Gesendet:=0
endewenn
//
// Person 2
//
verlassen
//
//
Wenn Empfaenger = "Person2" dann
Empfaenger:="X_"+Empfaenger
//
    Wenn Dringlichkeit < -2 oder Dringlichkeit > 2 dann
       Dringlichkeit:=0
    endewenn
    wenn Betreff= "" dann
     Betreff:="Es wurde kein Thema eingegeben"
    endewenn
    wenn Text= "" dann
     Betreff:="Es wurde kein Text definiert."
    endewenn
//
Betreff:=Ersetzen(Betreff," ","%20")
Betreff:=Ersetzen(Betreff,"ä","%C3%A4")
Betreff:=Ersetzen(Betreff,"ö","%C3%B6")
Betreff:=Ersetzen(Betreff,"ü","%C3%BC")
Betreff:=Ersetzen(Betreff,"Ä","%C3%84")
Betreff:=Ersetzen(Betreff,"Ö","%C3%96")
Betreff:=Ersetzen(Betreff,"Ü","%C3%9C")
Betreff:=Ersetzen(Betreff,"ß","%C3%9F")
Betreff:=Ersetzen(Betreff,"#","%23")
Betreff:=Ersetzen(Betreff,"+","%2B")
Betreff:=Ersetzen(Betreff,"&","%26")
Betreff:=Ersetzen(Betreff,"Sonne_","%E2%98%BC")
Betreff:=Ersetzen(Betreff,"Smiley2","%E2%98%BB")
Betreff:=Ersetzen(Betreff,"Smiley","%E2%98%BA")
Betreff:=Ersetzen(Betreff,"Bullet","%E2%80%A2")
Betreff:=Ersetzen(Betreff,"Promille","%E2%80%B0")
Betreff:=Ersetzen(Betreff,"~","%CB%9C")
Betreff:=Ersetzen(Betreff,"Doppelpfeil_rechts","%E2%87%92")
Betreff:=Ersetzen(Betreff,"(C)","%C2%A9")
Betreff:=Ersetzen(Betreff,"(R)","%C2%AE")
Betreff:=Ersetzen(Betreff,"<<","%0A")
Betreff:=Ersetzen(Betreff,"°","%C2%B0")
Text:=Ersetzen(Text," ","%20")
Text:=Ersetzen(Text,"ä","%C3%A4")
Text:=Ersetzen(Text,"ö","%C3%B6")
Text:=Ersetzen(Text,"ü","%C3%BC")
Text:=Ersetzen(Text,"Ä","%C3%84")
Text:=Ersetzen(Text,"Ö","%C3%96")
Text:=Ersetzen(Text,"Ü","%C3%9C")
Text:=Ersetzen(Text,"ß","%C3%9F")
Text:=Ersetzen(Text,"#","%23")
Text:=Ersetzen(Text,"+","%2B")
Text:=Ersetzen(Text,"&","%26")
Text:=Ersetzen(Text,"Sonne_","%E2%98%BC")
Text:=Ersetzen(Text,"Smiley2","%E2%98%BB")
Text:=Ersetzen(Text,"Smiley","%E2%98%BA")
Text:=Ersetzen(Text,"Bullet","%E2%80%A2")
Text:=Ersetzen(Text,"Promille","%E2%80%B0")
Text:=Ersetzen(Text,"~","%CB%9C")
Text:=Ersetzen(Text,"Doppelpfeil_rechts","%E2%87%92")
Text:=Ersetzen(Text,"(C)","%C2%A9")
Text:=Ersetzen(Text,"(R)","%C2%AE")
Text:=Ersetzen(Text,"<<","%0A")
Text:=Ersetzen(Text,"°","%C2%B0")
//
    Anweisung_Person2 := "https://prowl.weks.net/publicapi/add?apikey="+API_Person2+"&application=CCU&event="+Betreff+"&priority="+Dringlichkeit+"&description="+Text
//
counterZW2:=counterZW2+1
    wenn counterZW2 < 20 oder Dringlichkeit > 0 dann
             GetSite(Anweisung_Person2,443,Antwort)
             Gesendet:=1
    endewenn
//
    wenn counterZW2 = 20 dann
       warte("00:00:10")
       Betreff:="Systemhinweis"
    Text:="Innerhalb%20der%20letzten%20Stunde%20wurden%20"+counterZW2+"%20Nachrichten%20verschickt.%20Da%20scheint%20etwas%20gehoerig%20daneben%20zu%20gehen.%20Bis%20zur%20naechsten%20Stunde%20werden%20nur%20noch%20dringende%20Nachrichten%20geschickt."
       Dringlichkeit:=0
       Anweisung_Person2 := "https://prowl.weks.net/publicapi/add?apikey="+API_Person2+"&application=CCU&event="+Betreff+"&priority="+Dringlichkeit+"&description="+Text
       GetSite(Anweisung_Person2,443,Antwort)
    endewenn
//
wenn NICHT DATEIVORHANDEN("Prowl_Log.txt") dann
          Zeile := "Datum;Uhrzeit;Empfaenger;Betreff;Text;Dringlichkeit;"
          Schreibedatei("Prowl_Log.txt",Zeile,2)
          SCHLIESSEDATEIEN
    endewenn
//
    Zeile:=Datum+";"+Uhrzeit+";"+Empfaenger+";"+Betreff+";"+Text+";"+Dringlichkeit+";"
    SCHREIBEDATEI("Prowl_Log.txt",Zeile,2)
Schreibedatei("PROWL_Log_2.txt",Anweisung_Person2,2)
    Betreff:=""
    Text:=""
    Empfaenger:=""
    Dringlichkeit:=0
    Gesendet:=0
endewenn
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

Didi62
Beiträge: 367
Registriert: 07.10.2007, 16:18
Danksagung erhalten: 2 Mal

Re: PROWL Problem - bin ich allein ?

Beitrag von Didi62 » 15.08.2016, 09:46

Guten Morgen!
Zunächst vielen Dank für das Makro, ich habe mir den Teil mit der Funktion "ersetzen" rauskopiert und noch um ein paar Zeichen erweitert.
Am Wochenende alles ausprobiert und getestet, funktioniert so weit einwandfrei, und zwar wesentlich schneller als der Versand an Prowl per Emailfunktion.
Ich habe nur noch 1 Problem: Ich habe festgestellt dass wenn die Meldung eine bestimmte Länge überschreitet, so schätzungsweise ca 50 - 60 Zeichen, funktioniert das Ganze nicht mehr. Versenbde ich die Meldung per Email an Prowl funktioniert dies einwandfrei. Hat jemand das gleiche Problem?
Zwischenzeitlich habe ich aus der Not eine Tugend gemacht und kann nun per Schalter zwischen Versand per Mailfunktion oder per Link umschalten. Bin jetzt mal auf eure Rückmeldungen gespannt.

Didi62
Beiträge: 367
Registriert: 07.10.2007, 16:18
Danksagung erhalten: 2 Mal

Re: PROWL Problem - bin ich allein ?

Beitrag von Didi62 » 15.08.2016, 10:02

Habe gerade erfahren, dass die Länge der gesamten URL zur Verarbeitung innerhalb Getsite zur Zeit auf 256 Byte begrenzt ist.
Eine Erhöhung sei vorgesehen.

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: PROWL Problem - bin ich allein ?

Beitrag von Herbert_Testmann » 15.08.2016, 12:27

Hallo

aber mal ehrlich ... eine einzelne Push Meldung mit mehr als 50 Zeichen ?
Wer will denn so was auf dem Handydisplay ;-)
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

Didi62
Beiträge: 367
Registriert: 07.10.2007, 16:18
Danksagung erhalten: 2 Mal

Re: PROWL Problem - bin ich allein ?

Beitrag von Didi62 » 15.08.2016, 13:13

Ich!
Ich stehe dazu.
Schlagt mich.
Gebt mir Tiernamen!

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: PROWL Problem - bin ich allein ?

Beitrag von Herbert_Testmann » 15.08.2016, 14:47

Didi62 hat geschrieben: Gebt mir Tiernamen!
nicht nötig. "DidelMaus" reicht vollkommen als Forum Alias ;-)
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

Antworten

Zurück zu „homeputer CL“