Howto - zentrales Push-Nachrichten-Programm zPNP

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

SoerenR
Beiträge: 656
Registriert: 19.03.2019, 10:10
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 44 Mal
Danksagung erhalten: 57 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V4.1

Beitrag von SoerenR » 31.03.2020, 22:13

Ok, ich weiß nicht ob es richtig verstanden hatte eben, aber ich das den von dir geposteten Code in dem Script von Technikkram geändert. Und dort funktioniert auch

Code: Alles auswählen

/usr/bin/curl
Ich hatte es eben erst so verstanden den von dir gezeigten Code in das Script von Torsten einzufügen. was nicht funktioniert hat. Also ich hoffe man versteht was ich meine.
Gruß Sören

RaspberryMatic // Philips Hue // KNX // HomeKit // und ein paar Spielerreien

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V4.1

Beitrag von dtp » 01.04.2020, 14:34

Versuch mal bitte folgendes Skript.

Code: Alles auswählen

!Variablen definieren
string message = "Testnachricht";
string key = "xxxxxxxxx"; ! API-Basisschlüssel 
string HMinfo = "xxxxxxxx"; ! Token für Info-Meldungen

!Textnachricht versenden
(dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_EXEC")).State("/usr/bin/curl -s -k -d token='"#HMinfo#"' -d user='"#key#"' -d message='"#message#"' -d priority=0 -d html=1 https://api.pushover.net/1/messages.json");
WriteLine("okay");
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Tibin
Beiträge: 507
Registriert: 26.10.2016, 16:08
System: CCU
Hat sich bedankt: 19 Mal
Danksagung erhalten: 15 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V4.1

Beitrag von Tibin » 01.04.2020, 15:43

SoerenR hat geschrieben:
31.03.2020, 22:13
Ich hatte es eben erst so verstanden den von dir gezeigten Code in das Script von Torsten einzufügen. was nicht funktioniert hat. Also ich hoffe man versteht was ich meine.
So war es gemeint :wink:
Dann würde ich mal tippen, dass Thorsten sein gepostetes Skript funktioniert :wink:
Bin gespannt...
Gruß Tino

SoerenR
Beiträge: 656
Registriert: 19.03.2019, 10:10
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 44 Mal
Danksagung erhalten: 57 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V4.1

Beitrag von SoerenR » 01.04.2020, 17:55

dtp hat geschrieben:
01.04.2020, 14:34
Versuch mal bitte folgendes Skript.
Das Skript funktioniert ohne Problem. Kann ich jetzt den teil einfach so in das vorhandene Script einsetzen oder war das nur zum testen und in den Script kommt was anderes?

Ich danke die jetzt schon mal für deine Hilfe und auch allen anderen hier !!!!! Euer wissen ist unglaublich!!! Man muß einfach mal DANKE sagen!!!! IHR seid Spitze :)
Tibin hat geschrieben:
01.04.2020, 15:43
Dann würde ich mal tippen, dass Thorsten sein gepostetes Skript funktioniert :wink:
Du hast recht, und wer hat gibt einen aus :lol: :lol:
Gruß Sören

RaspberryMatic // Philips Hue // KNX // HomeKit // und ein paar Spielerreien

Tibin
Beiträge: 507
Registriert: 26.10.2016, 16:08
System: CCU
Hat sich bedankt: 19 Mal
Danksagung erhalten: 15 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V4.1

Beitrag von Tibin » 01.04.2020, 20:46

Das Skript war nur zum testen und im Prinzip eine Kurzform von dtp.
Du hast beim kopieren oder bearbeiten des Originals einfach irgendwo einen Fehler drin. Probiere einfach nochmal von vorn. Da du aber sagst, die Variablen werden korrekt befüllt, stimmen die Keys evtl. nur nicht oder sind verdreht. Wenn es mit dem Kurzskript funzt, müsste es auch mit dem Original hinhauen. Vorausgesetzt es ist alles richtig eingetragen und ohne Kopierfehler im Skript.
Aber vielleicht hat Thorsten noch andere Ideen.
Du kriegst das schon noch hin!
Gruß Tino

SoerenR
Beiträge: 656
Registriert: 19.03.2019, 10:10
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 44 Mal
Danksagung erhalten: 57 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V4.1

Beitrag von SoerenR » 01.04.2020, 22:12

Tibin hat geschrieben:
01.04.2020, 20:46
Du hast beim kopieren oder bearbeiten des Originals einfach irgendwo einen Fehler drin. Probiere einfach nochmal von vorn.
Ich hab jetzt nochmal das aktuelle Cript aus dem ersten Beitrag runtergeladen. Hab die Basis API sprich den Userkey eingetragen und den API Key dem ich HM zugeordnet habe. Beide API sind direkt von Pushover per Copy&Paste ins Script gekommen. Ich häng hier nochmal die SV, das Prog für das zPNP und Script an. Ich bin sehr sehr sicher das mir dort keine Fehler unterlaufen sind.

Code: Alles auswählen

! Push-Nachrichten per Pushover senden
! weitere Informationen unter http://homematic-forum.de/forum/viewtopic.php?f=31&t=26282
! Version 4.1, Autor: dtp
! Hinweis: nicht vorhandene Systemvariablen werden automatisch mit erstmaligem Aufruf dieses Skripts angelegt
 
! +++++ User-Daten +++++
! In den nachfolgenden Listen die User-Daten durch "xx|" einleiten und durch EINEN Leerschritt voneinander trennen. 
string keyList = "Empfänger01|uxxxxxxxxx1"; ! API-Basisschlüssel. Beispiel: "Empfänger01|xxxxKey1xxxx Empfänger02|xxKey2xx"
string HMinfoList = "Empfänger01|axxxxxxxxxxo"; ! API-Schlüssel für Info-Meldungen. Beispiel: "Empfänger01|xxxxKey1xxxx Empfänger02|xxKey2xx"
string HMwarnungList = ""; ! optionale API-Schlüssel für Warnmeldungen
string HMalarmList = ""; ! optionale API-Schlüssel für Alarmmeldungen
string prioMinList = "Empfänger01|-2"; ! Prioritäten, ab der die User Nachrichten erhalten sollen. Beispiel: "Empfänger01|-2 Empfänger02|0"
 
! +++++ Dauer in Sekunden, innerhalb der keine identischen Push-Nachrichten gesendet werden sollen +++++
integer stopRepeat = 10;

! +++++ Namen der zwingend benötigten Systemvariablen +++++
string svPushText = "CCU SV Push Text"; ! Text der aktuell zu übertragenden Push-Nachricht, Voreinstellung: "CCU SV Push Text"
string svPushTextRef = "CCU SV Push Text Ref"; ! Text der vorherigen Push-Nachricht als Referenz, Voreinstellung: "CCU SV Push Text Ref"

! +++++ Namen der optionalen Systemvariablen (auf "" setzen, wenn nicht benötigt) +++++
string svPushPrio = "CCU SV Push Prio"; ! Prioritäten der Push-Nachrichten, Voreinstellung: "CCU SV Push Prio"
string svPushService = "CCU SV Push Dienst"; ! Push-Dienste, Voreinstellung: "CCU SV Push Dienst"
string svPushUserList = ""; ! Empfängerlist für die Push-Nachrichten (z.B: "CCU SV Push Empfängerliste"), Voreinstellung: "" 
string svPushImage = ""; ! Link auf ein anzufügendes Bild (z.B. "CCU SV Push Bild"), Voreinstellung: ""
string svPushoverSound = ""; ! Sound der Nachricht (z.B. "CCU SV Pushover Sound"), Voreinstellung: ""
string svPushoverTitle = ""; ! Titel der Nachricht (z.B. "CCU SV Pushover Titel"), Voreinstellung: "" 
string svPushoverDevice = ""; ! Pushover-Gerät (z.B. "CCU SV Pushover Gerät"), Voreinstellung: ""
 
! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################
 
! +++++ Deklaration weiterer Variablen +++++
string message; string key; string HMinfo; string HMwarnung; string HMalarm; string prioMin; 
string pushService = "alle"; string pushUserList = ""; string userStr; string seperator = "|";
string title = ""; string image = ""; string sound = "pushover"; string device = ""; string svName;
integer prio = 0; integer startIndex; integer diff; integer sendFlag = 1;
object svObject; object svObjectList;
 
! +++++ Systemvariablen erzeugen bzw. falls vorhanden, auslesen +++++
if(!svPushText){svPushText = "CCU SV Push Text";}
svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushText);
if(!svObject){
  svObjectList = dom.GetObject(ID_SYSTEM_VARIABLES); svObject = dom.CreateObject(OT_VARDP); svObjectList.Add(svObject.ID()); 
  svObject.Name(svPushText); svObject.DPInfo("Aktuelle Push-Nachricht"); svObject.Internal(false); svObject.Visible(true); 
  svObject.ValueType(ivtString); svObject.ValueSubType(istChar8859); svObject.ValueUnit(""); dom.RTUpdate(true);
}
else{message = svObject.Value();}

if(!svPushTextRef){svPushTextRef = "CCU SV Push Text Ref";}
svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushTextRef);
if(!svObject){   
  svObjectList = dom.GetObject(ID_SYSTEM_VARIABLES); svObject = dom.CreateObject(OT_VARDP); svObjectList.Add(svObject.ID());
  svObject.Name(svPushTextRef); svObject.DPInfo("Vorherige Push-Nachricht"); svObject.Internal(false); svObject.Visible(true);
  svObject.ValueType(ivtString); svObject.ValueSubType(istChar8859); svObject.ValueUnit(""); dom.RTUpdate(true);
}

if(svPushPrio){
  svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushPrio);
  if(!svObject){   
    svObjectList = dom.GetObject(ID_SYSTEM_VARIABLES); svObject = dom.CreateObject(OT_VARDP); svObjectList.Add(svObject.ID());
    svObject.Name(svPushPrio); svObject.DPInfo("Priorität der Push-Nachricht"); svObject.Internal(false); svObject.Visible(true);
    svObject.ValueType(ivtFloat); svObject.ValueSubType(istGeneric); svObject.ValueUnit(""); svObject.ValueMin(-2); svObject.ValueMax(2); dom.RTUpdate(true);
  }
  else{prio = svObject.Value().ToInteger(); if(prio == 2){stopRepeat = 0;}}
}

if(svPushService){
  svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushService);
  if(!svObject){   
    svObjectList = dom.GetObject(ID_SYSTEM_VARIABLES); svObject = dom.CreateObject(OT_VARDP); svObjectList.Add(svObject.ID());
    svObject.Name(svPushService); svObject.DPInfo("Auswahl des Push-Dienstes"); svObject.Internal(false); svObject.Visible(true);
    svObject.ValueType(ivtInteger); svObject.ValueSubType(istEnum); svObject.ValueList("aus;alle;Pushover"); svObject.ValueUnit(""); dom.RTUpdate(true);
  }
  else{
    if(svObject.ValueList().Find("Pushover") == -1){svObject.ValueList(svObject.ValueList() + ";Pushover");}
    pushService = svObject.ValueList().StrValueByIndex(";", svObject.Value());
  }
}

if(svPushUserList){
  svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushUserList);
  if(!svObject){   
    svObjectList = dom.GetObject(ID_SYSTEM_VARIABLES); svObject = dom.CreateObject(OT_VARDP); svObjectList.Add(svObject.ID());
    svObject.Name(svPushUserList); svObject.DPInfo("Empfängerliste für die Push-Nachrichten"); svObject.Internal(false); svObject.Visible(true);
    svObject.ValueType(ivtString); svObject.ValueSubType(istChar8859); svObject.ValueUnit(""); dom.RTUpdate(true);
  }
  else{pushUserList = svObject.Value();}
}
else{
  foreach(svName, dom.GetObject(ID_SYSTEM_VARIABLES).EnumUsedNames()){
    svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svName);
    if(svObject.DPInfo() == "Empfängerliste für die Push-Nachrichten"){dom.DeleteObject(svObject);}
  }
}

if(svPushImage){
  svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushImage);
  if(!svObject){
    svObjectList = dom.GetObject(ID_SYSTEM_VARIABLES); svObject = dom.CreateObject(OT_VARDP); svObjectList.Add(svObject.ID()); 
    svObject.Name(svPushImage); svObject.DPInfo("Link für ein zu sendendes Bild"); svObject.Internal(false); svObject.Visible(true); 
    svObject.ValueType(ivtString); svObject.ValueSubType(istChar8859); svObject.ValueUnit(""); dom.RTUpdate(true);
  }
  else{image = svObject.Value();}
}
else{
  foreach(svName, dom.GetObject(ID_SYSTEM_VARIABLES).EnumUsedNames()){
    svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svName);
    if(svObject.DPInfo() == "Link für ein zu sendendes Bild"){dom.DeleteObject(svObject);}
  }
}

if(svPushoverSound){
  svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound);
  if(!svObject){   
    svObjectList = dom.GetObject(ID_SYSTEM_VARIABLES); svObject = dom.CreateObject(OT_VARDP); svObjectList.Add(svObject.ID()); 
    svObject.Name(svPushoverSound); svObject.DPInfo("Sound der Pushover-Nachricht"); svObject.Internal(false); svObject.Visible(true); 
    svObject.ValueType(ivtString); svObject.ValueSubType(istChar8859); svObject.ValueUnit(""); dom.RTUpdate(true);
  }
  else{sound = svObject.Value();}
}
else{
  foreach(svName, dom.GetObject(ID_SYSTEM_VARIABLES).EnumUsedNames()){
    svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svName);
    if(svObject.DPInfo() == "Sound der Pushover-Nachricht"){dom.DeleteObject(svObject);}
  }
}

if(svPushoverTitle){
  svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverTitle);
  if(!svObject){   
    svObjectList = dom.GetObject(ID_SYSTEM_VARIABLES); svObject = dom.CreateObject(OT_VARDP); svObjectList.Add(svObject.ID());
    svObject.Name(svPushoverTitle); svObject.DPInfo("Titel der Pushover-Nachricht"); svObject.Internal(false); svObject.Visible(true);
    svObject.ValueType(ivtString); svObject.ValueSubType(istChar8859); svObject.ValueUnit(""); dom.RTUpdate(true);
  }
  else{title = svObject.Value();}
}
else{
  foreach(svName, dom.GetObject(ID_SYSTEM_VARIABLES).EnumUsedNames()){
    svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svName);
    if(svObject.DPInfo() == "Titel der Pushover-Nachricht"){dom.DeleteObject(svObject);}
  }
}

if(svPushoverDevice){
  svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverDevice);
  if(!svObject){   
    svObjectList = dom.GetObject(ID_SYSTEM_VARIABLES); svObject = dom.CreateObject(OT_VARDP); svObjectList.Add(svObject.ID()); 
    svObject.Name(svPushoverDevice); svObject.DPInfo("Gerät für Pushover-Nachricht"); svObject.Internal(false); svObject.Visible(true); 
    svObject.ValueType(ivtString); svObject.ValueSubType(istChar8859); svObject.ValueUnit(""); dom.RTUpdate(true);
  }
  else{device = svObject.Value();}
}
else{
  foreach(svName, dom.GetObject(ID_SYSTEM_VARIABLES).EnumUsedNames()){
    svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svName);
    if(svObject.DPInfo() == "Gerät für Pushover-Nachricht"){dom.DeleteObject(svObject);}
  }
}

! +++++ Push-Nachrichten erzeugen und versenden ++++
if((pushService == "alle") || (pushService == "Pushover") || (prio == 2)){
  ! ----- Vermeidung identischer Push-Nachrichten innerhalb stopRepeat Sekunden -----
  diff = (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushText)).Timestamp().ToInteger() - (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushTextRef)).Timestamp().ToInteger();
  if(diff < stopRepeat){
    if(message == (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushTextRef)).Value()){sendFlag = 0;}
  }
 
  if(sendFlag == 1){
    ! ----- Abschneiden zu langer Push-Nachrichten, um das Senden sicherzustellen -----
    if(message.Length() > 980){message = message.Substr(0, 980)#"\nMaximale Nachrichtenlänge erreicht!";}

    ! ----- Umwandlung von Sonderzeichen gem. UTF-8 und URI -----
    message = message.ToUTF8().UriEncode(); title = title.ToUTF8().UriEncode();

    ! ----- Umwandlung Farbstrings in Farbcodes für Android-Kompatibilität -----
    message = message.Replace("orange", "#ffa500");

    ! ----- Absenden der Push-Nachrichten -----  
    foreach(key, keyList.Split(" ")){
      userStr = key.Substr(0, key.Find(seperator)+1).Trim();

      if((pushUserList.Contains(userStr.Substr(0, userStr.Length()-1))) || (pushUserList == "") || (prio == 2)){
        key = key.Replace(userStr, "").Trim();
        startIndex = HMinfoList.Find(userStr).ToInteger();
        if(startIndex != -1){
          HMinfo = HMinfoList.Substr(startIndex+userStr.Length(), HMinfoList.Length()-1);
          HMinfo = HMinfo.Substr(0, HMinfo.Find(" "));
        } else{HMinfo = "";}
        startIndex = HMwarnungList.Find(userStr).ToInteger();
        if(startIndex != -1){
          HMwarnung = HMwarnungList.Substr(startIndex+userStr.Length(), HMwarnungList.Length()-1);
          HMwarnung = HMwarnung.Substr(0, HMwarnung.Find(" "));
        } else{HMwarnung = HMinfo;}
        startIndex = HMalarmList.Find(userStr).ToInteger();
        if(startIndex != -1){
          HMalarm = HMalarmList.Substr(startIndex+userStr.Length(), HMalarmList.Length()-1);
          HMalarm = HMalarm.Substr(0, HMalarm.Find(" "));
        } else{HMalarm = HMinfo;}
        startIndex = prioMinList.Find(userStr).ToInteger();
        if(startIndex != -1){
          prioMin = prioMinList.Substr(startIndex+userStr.Length(), prioMinList.Length()-1);
          prioMin = prioMin.Substr(0, prioMin.Find(" "));
        } else{prioMin = -2;}
  
        if(prio >= prioMin){      
          ! ----- Informationsmeldungen -----
          if((prio == -2) || (prio == -1) || (prio == 0)){
            (dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_EXEC")).State("/usr/bin/curl -s -k -d token='"#HMinfo#"' -d user='"#key#"' -d device='"#device#"' -d title='"#title#"' -d message='"#message#"' -d priority='"#prio#"' -d sound='"#sound#"' -d html=1 https://api.pushover.net/1/messages.json");
          }
          ! ----- Warnmeldungen -----
          if(prio == 1){
            (dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_EXEC")).State("/usr/bin/curl -s -k -d token='"#HMwarnung#"' -d user='"#key#"' -d device='"#device#"' -d title='"#title#"' -d message='"#message#"' -d priority='"#prio#"' -d sound='"#sound#"' -d html=1 https://api.pushover.net/1/messages.json");
          }
          ! ----- Alarmmeldungen -----
          if(prio == 2){
            (dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_EXEC")).State("/usr/bin/curl -s -k -d token='"#HMalarm#"' -d user='"#key#"' -d device='"#device#"' -d title='"#title#"' -d message='"#message#"' -d priority='"#prio#"' -d sound='"#sound#"' -d html=1 -d retry=30 -d expire=120 https://api.pushover.net/1/messages.json");
          }
          ! Bild senden, falls vorhanden
          if(image){
            (dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_EXEC")).State("/usr/bin/curl -s -k -F token='"#HMinfo#"' -F user='"#key#"' -F device='"#device#"' -F title='"#title#"' -F message='"#image#"' -F attachment='@"#image#"' -F priority='-2' -F sound='none'  https://api.pushover.net/1/messages.json");
          }
        }
      }
    }
	
    ! ----- Zurücksetzen eines vergebenenen Titels -----
    if(title){(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverTitle)).State("");}
  }
}

! Setzen der Push-Nachrichten-Referenz und Zurücksetzen der URL eines übertragenen Bilds
! weitere Informationen unter http://homematic-forum.de/forum/viewtopic.php?f=31&t=26282
! Version 4.0, Autor: dtp

! +++++ Namen der zwingend benötigten Systemvariablen +++++
string svPushText = "CCU SV Push Text"; ! Text der aktuell zu übertragenden Push-Nachricht gem. zPNS-xx
string svPushTextRef = "CCU SV Push Text Ref"; ! Text der vorherigen Push-Nachricht als Referenz gem. zPNS-xx
string svPushUserList = "CCU SV Push Empfängerliste"; ! Empfängerlist für die Push-Nachrichten gem. zPNS-xx 

! +++++ Namen der optionalen Systemvariablen (auf "" setzen, wenn nicht benötigt) +++++
string svPushImage = ""; ! Link auf ein anzufügendes Bild (z.B. "CCU SV Push Bild"), default: "" 

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################

! +++++ Zurücksetzen der Systemvariablen +++++
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushTextRef)).State((dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushText)).Value());
if((dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushImage))){
  (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushImage)).State(""); ! URL eines übertragenen Bilds zurücksetzen
} 
if((dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushUserList))){
  (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushUserList)).State(""); ! Empfängerliste zurücksetzen
} 

Ich hab leider keine Ahnung was ich falsch gemacht haben könnte. Alles andere funktioniert ja auch. Auch das auslesen der Servicemeldungen inkl. Rücksetzen der Meldungen usw. nur der Versand per Pushover klappt halt mit dem Script nicht. Grundsätzlich funktioniert er ja.
Dateianhänge
Bildschirmfoto 2020-04-01 um 22.00.10.png
Bildschirmfoto 2020-04-01 um 21.54.54.png
Bildschirmfoto 2020-04-01 um 21.54.25.png
Gruß Sören

RaspberryMatic // Philips Hue // KNX // HomeKit // und ein paar Spielerreien

Tibin
Beiträge: 507
Registriert: 26.10.2016, 16:08
System: CCU
Hat sich bedankt: 19 Mal
Danksagung erhalten: 15 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V4.1

Beitrag von Tibin » 01.04.2020, 22:55

Vergleiche bitte dein angehängtes Bildschirmfoto vom zPNP mit dem auf der 1.Seite.
dtp hat geschrieben:
01.04.2020, 14:34
Unter "Aktivität" sind die gewünschten zPNS-xx sowie ein kleines, aber zwingend erforderliches Skript zum Setzen der Systemvariablen "CCU SV Push Text Ref" einzufügen.
Dieses erforderliche Skript fehlt bei dir (zumindest auf dem Bild) :wink:
Gruß Tino

SoerenR
Beiträge: 656
Registriert: 19.03.2019, 10:10
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 44 Mal
Danksagung erhalten: 57 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V4.1

Beitrag von SoerenR » 02.04.2020, 00:28

Das Script für die Referenz ist am des Scripts. Hab das nicht vergessen ;)

Aber selbst wenn, kann das nicht der Grund sein warum er nicht sendet. Das das Script dann nicht wie gewünscht funktioniert ist ja was anderes. Aber er muss per Pushover senden. Und das hat er ja bis jetzt auch immer gehabt, bis zum Umzug vom Pi aus die DS.
Gruß Sören

RaspberryMatic // Philips Hue // KNX // HomeKit // und ein paar Spielerreien

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V4.1

Beitrag von dtp » 02.04.2020, 07:57

SoerenR hat geschrieben:
02.04.2020, 00:28
Das Script für die Referenz ist am des Scripts. Hab das nicht vergessen ;)
Du hast es zwar nicht vergessen, aber es darf auch nicht einfach an das zPNS-Po hinten angehängt werden. Bitte füge es als separates Skript in das zPNP ein, wie in der Anleitung beschrieben.
zPNP.png
Übrigens, wenn du auch mit Sounds arbeiten möchtest, dann solltest du noch die Variable "svPushoverSound" setzen.

Dass das obige Testskript funktioniert, ist schon mal ein Hinweis darauf, dass mit CUxD und den Basiskonfigurationen alles in Ordnung ist.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

SoerenR
Beiträge: 656
Registriert: 19.03.2019, 10:10
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 44 Mal
Danksagung erhalten: 57 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V4.1

Beitrag von SoerenR » 02.04.2020, 09:04

Ok werd ich weiter ändern, danke :)

Hast du den ne Idee warum das Script ansonsten nicht funktioniert?
Gruß Sören

RaspberryMatic // Philips Hue // KNX // HomeKit // und ein paar Spielerreien

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“