Howto - zentrales Push-Nachrichten-Programm zPNP

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

Moderator: Co-Administratoren

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) V1.6

Beitrag von dtp » 17.07.2017, 07:28

Hi Marco,

ersetze mal bitte die letzten Zeilen des Skripts durch die folgenden und führe es dann unter "Skript testen" aus.

Code: Alles auswählen

  ! +++++ Programm "CCU PRG Push-Nachrichten" ausführen +++++
  ! dom.GetObject("CCU SV Push Text").State(message);
  ! dom.GetObject("CCU PRG Push-Nachrichten").ProgramExecute();
  WriteLine(message);
Hast Du nur SCos oder evtl. auch noch andere Fenster-Sensoren?

Gruß,

Thorsten
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.

Einstein77
Beiträge: 7
Registriert: 11.07.2017, 17:32

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V1.6

Beitrag von Einstein77 » 17.07.2017, 07:31

Hallo Thorsten,

da kommt keine Ausgabe.
und ich habe keine Anderen Sensoren



Gruß Marco

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) V1.6

Beitrag von dtp » 17.07.2017, 07:40

Dann teste mal bitte kurz folgendes Skript:

Code: Alles auswählen

! Fensterzustände

! +++++ Variablendeklaration +++++
var device;
string index; string list = ""; string message;

! +++++ Auslesen der Fenster- und Türenzustände und Erzeugen einer Liste +++++
foreach(index, dom.GetObject("Verschluss").EnumUsedIDs()){
  if(dom.GetObject(index).IsTypeOf(OT_CHANNEL)){
    device = dom.GetObject(dom.GetObject(index).Device());
    list = list#"\n"#device.Name()#".";
  }
}

! +++++ Erzeugen der Nachricht +++++
message = "<b>Fensterzustände</b>";
if(list != ""){
  message = message#list;
  WriteLine(message);
}
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.

Einstein77
Beiträge: 7
Registriert: 11.07.2017, 17:32

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V1.6

Beitrag von Einstein77 » 17.07.2017, 07:42

Hallo Thorsten,

auch da kommt leider keine Ausgabe :-(

wenn Du Zeit hast, kann ich auch gern kurz Teamviewer Starten.

Gruß Marco

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) V1.6

Beitrag von dtp » 17.07.2017, 08:04

Teamviewer geht hier vom Büro aus nicht.

Bei mir liefert das Testskript übrigens eine Liste aller Geräte des Gewerks "Verschluss". So sollte es eigentlich auch bei Dir sein.

Gruß,

Thorsten
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.

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) V1.6

Beitrag von dtp » 17.07.2017, 08:10

Teste noch mal bitte folgendes Skript:

Code: Alles auswählen

! Fensterzustände

! +++++ Variablendeklaration +++++
var device;
string index; string list = ""; string message;

! +++++ Auslesen der Fenster- und Türenzustände und Erzeugen einer Liste +++++
foreach(index, dom.GetObject("Verschluss").EnumUsedIDs()){
  device = dom.GetObject(dom.GetObject(index).Device());
  list = list#"\n"#device.Name()#".";
}

! +++++ Erzeugen der Nachricht +++++
message = "<b>Fensterzustände</b>";
if(list != ""){
  message = message#list;
  WriteLine(message);
}
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.

Einstein77
Beiträge: 7
Registriert: 11.07.2017, 17:32

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V1.6

Beitrag von Einstein77 » 17.07.2017, 08:23

Leider auch keine Ausgabe.

Ich vermute das es irgendwas mit dem Gewerk zu tun hat.

kann man das auch noch ausschließen, so das er einfach mal alles abfragt?

Irgendwie kommt ja in die Variable nix rein.

sailor79ac

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V1.6

Beitrag von sailor79ac » 17.07.2017, 08:36

Guten Morgen Einstein und Thorsten,

mir ist da gerade was zu eingefallen von Wikimatic:
Das vordefinierte Gewerk "Verschluss" funktioniert manchmal nicht, da es ein verstecktes Objekt "Verschluss" gibt und dom.GetObject im Falle das zwei gleichnamige Objekte existieren nichts zurück liefert.

Probier mal:
1. Neues Gewerk erstellen, z.B. Fensterkontakte und anschließend ein paar Geräte zuordnen
2. Thorstens Code
an der Stelle

Code: Alles auswählen

foreach(index, dom.GetObject("Verschluss").EnumUsedIDs()){
ändern zu

Code: Alles auswählen

foreach(index, dom.GetObject("Fensterkontakte").EnumUsedIDs()){

Einstein77
Beiträge: 7
Registriert: 11.07.2017, 17:32

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V1.6

Beitrag von Einstein77 » 17.07.2017, 08:41

Hallo Marc,

genau das war es.. jetzt bekomme ich eine Ausgabe...

Super das Dir das eingefallen ist, und Dank auch an Thorsten für die vielen Tipps und das Skript.

Gruß Marco

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) V1.6

Beitrag von dtp » 17.07.2017, 09:19

Hallo Marc,

vielen Dank für den Tipp. Dann sollte es ja nun auch mit dem ursprünglichen Meldeskript klappen, hoffe ich.

Gruß,

Thorsten
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.

Antworten

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