Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

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

Moderator: Co-Administratoren

christian_987
Beiträge: 13
Registriert: 26.09.2020, 13:46
System: Alternative CCU (auf Basis OCCU)
Danksagung erhalten: 1 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V3.6

Beitrag von christian_987 » 29.04.2021, 21:38

Hallo
ich nutze das Programm schon eine Weile. Erst mal vielen Dank für die Entwicklung!
Ich habe kürzlich auf die aktuelle Version umgestellt.
Jetzt fällt mir auf, dass bei Nichtfahren des Rolladens, weil er schon auf dem Level ist, in der Push Nachricht auch in blau angezeigt wird, dass das Fenster gekippt sei, obwohl das Fenster geschlossen ist.
Ich habe versucht, den Code nachzuvollziehen. Habe aber leider nur sehr rudimentäre Kenntnisse.
Kann es sein, dass in Zeile 575 eine Klammer um diesen Teil "fullMsgFlag || (lockState != -1)" der elseif Bedingung fehlt?
Ich habe, die Klammern bei mir mal gesetzt, jetzt taucht das blaue gekippt in den entsprechenden Nachrichten nicht mehr auf.
Viele Grüße
Christian
Product: raspmatic_ova (3.73.9.20240130) - Hardware Model: QEMU Standard PC (i440FX + PIIX, 1996) (ova-KVM) - RF-Module/Firmware: RPI-RF-MOD (4.4.22)

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

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V3.6

Beitrag von dtp » 30.04.2021, 10:19

Hallo Christian,

in der Tat. Da habe ich ein Klammernpaar vergessen. Danke.

Hab's in Version 3.6.3 geändert.

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.

regedit
Beiträge: 53
Registriert: 11.11.2018, 23:24
Hat sich bedankt: 6 Mal
Danksagung erhalten: 13 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V3.6

Beitrag von regedit » 25.07.2021, 17:53

Hi, ich habe das Programm und das PNP eingerichtet, bekomme aber keine Nachrichten. (Testnachricht mit Script geht)
Keine der Nachricht-Variablen werden geschrieben...

Was mache ich falsch?

Code: Alles auswählen

boolean fullMsgFlag = true; ! true: alle Informationen anzeigen, false: nur die geänderten Informationen anzeigen  

! +++++ Namen der verwendeten Systemvariablen zur Übertragung von Push-Nachrichten per zPNP +++++
string svPushText = "PNS_Push_Text"; ! gem. zPNS-xx, obligatorisch
string svPushPrio = ""; ! gem. zPNS-xx, obligatorisch
string svPushoverSound = ""; ! gem. zPNS-Po, optional

! +++++ Name des zentralen Push-Nachrichten-Programms zPNP +++++
string zPNP = "prg_PNSPushPRG"; ! obligatorisch
25-07-_2021_17-50-50.jpg
25-07-_2021_17-50-31.jpg
25-07-_2021_17-49-57.jpg
25-07-_2021_17-49-57.jpg (3.5 KiB) 1111 mal betrachtet

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

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V3.6

Beitrag von dtp » 26.07.2021, 08:16

Das ist ein Frage, die das zPNP betrifft und hier eigentlich nicht rein gehört. Du musst auch eine Systemvariable für die Prio anlegen (deswegen obligatorisch). Ob das das einzige Problem ist, kann ich aber aus deinen Informationen nicht direkt ableiten. Bitte teste erst das zPNP auf Funktionsfähigkeit, bevor du dich weiter mit dem zBSP beschäftigst. Fragen zum zPNP bitte im entsprechenden Thread stellen. Danke.
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.

regedit
Beiträge: 53
Registriert: 11.11.2018, 23:24
Hat sich bedankt: 6 Mal
Danksagung erhalten: 13 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von regedit » 09.08.2021, 19:26

Moin, ja das wars. Hatte die Variable nicht angelegt, da sie im zPNP als optinal stand.
Vielen Dank für die Unterstützung und die Arbeit dtp!

Ich hab noch ein Problem: Der Soll - Ist vergleich funktioniert nicht. Er fährt immer* die gesetzte Pos an.
*Ich muss nochmal checken ob das Problem dauerhaft auftritt oder nur machmal oder in gewissen Zuständen.

Kann jemand erkennen wo der Fehler ist? Oder wo ich suchen muss?

Code: Alles auswählen

! tag
! Beschattungsgeräte steuern durch Aufruf des zBSP

! +++++ Liste der Beschattungsgeräte, Behanghöhen bzw. Ausfahrwerte und Korrekturwert für geöffnete bzw. gekippte Fenster und Türen +++++
string blindsList = "EG_Arbeit_Fenster_Rollladen|100|gt\t
                     EG_HWR_Fenster_Rollladen|100|gt\t
                     EG_WC_Fenster_Rollladen|100|gt\t
                     EG_Wohn_Fenster_Ost_Rollladen|100|gt\t
                     EG_Wohn_Fenster_Süd1_Rollladen|100|gt\t
                     EG_Wohn_Fenster_Süd2_Rollladen|100|gt\t
                     EG_Wohn_Fenster_West1_Rollladen|100|gt\t
                     EG_Wohn_Fenster_West2_Rollladen|100|gt\t
                     OG_Bad_Fenster_Rollladen|100|gt\t
                     OG_Kind1_Fenster_Rollladen|100|gt\t
                     OG_Kind2_Fenster_Rollladen|100|gt\t
                     OG_Schlafen_Fenster_Rollladen|58|gt";

! +++++ Globale Werte für Behanghöhe bzw. Ausfahrwert, Korrekturwert, Bediensperre und Auslösebedingung +++++
string blindsGlobalValues = ""; ! "" zur Berücksichtigung der lokalen Werte in "blindsList"

! +++++ Zusatzinformation, die als Push-Nachricht versendet werden soll +++++ 
string blindsMessage = "tag"; ! "--" zur Unterdrückung von Push-Nachrichten

! +++++ Namen der für die Beschattung benötigten Systemvariablen gem. zBSS +++++
string svBlindsList = "BSS_Beschattung_Liste"; ! Liste der Beschattungsgeräte, obligatorisch
string svBlindsGlobalValues = "BSS_Beschattung_Globalwerte"; ! Globale Werte für Behanghöhen, Ausfahrwerte und Offsets, optional
string svBlindsMessage = "BSS_Beschattung_Nachricht"; ! Beschattung Nachricht, optional

! +++++ Name des zentralen Programms zur Beschattungssteuerung zBSP +++++
string zBSP = "prg_Beschattung_BSS";

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

(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svBlindsList)).State(blindsList);
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svBlindsGlobalValues)).State(blindsGlobalValues);
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svBlindsMessage)).State(blindsMessage);

! +++++ zBSP ausführen +++++
(dom.GetObject(ID_PROGRAMS).Get(zBSP)).ProgramExecute();

Code: Alles auswählen

! abend
! Beschattungsgeräte steuern durch Aufruf des zBSP

! +++++ Liste der Beschattungsgeräte, Behanghöhen bzw. Ausfahrwerte und Korrekturwert für geöffnete bzw. gekippte Fenster und Türen +++++
string blindsList = "EG_Arbeit_Fenster_Rollladen|70|lt\t
                     EG_WC_Fenster_Rollladen|70|lt\t
                     EG_Wohn_Fenster_Ost_Rollladen|70|ne\t
                     EG_Wohn_Fenster_Süd1_Rollladen|82|lt\t
                     EG_Wohn_Fenster_Süd2_Rollladen|82|lt\t
                     EG_Wohn_Fenster_West1_Rollladen|82|TILT82 OPEN100|ne\t
                     EG_Wohn_Fenster_West2_Rollladen|82|TILT82 OPEN100|ne\t
                     OG_Bad_Fenster_Rollladen|80|lt\t
                     OG_Kind1_Fenster_Rollladen|80|lt\t
                     OG_Kind2_Fenster_Rollladen|80|lt\t
                     OG_Schlafen_Fenster_Rollladen|60|lt";

! +++++ Globale Werte für Behanghöhe bzw. Ausfahrwert, Korrekturwert, Bediensperre und Auslösebedingung +++++
string blindsGlobalValues = "SAFE"; ! "" zur Berücksichtigung der lokalen Werte in "blindsList"

! +++++ Zusatzinformation, die als Push-Nachricht versendet werden soll +++++ 
string blindsMessage = "abend"; ! "--" zur Unterdrückung von Push-Nachrichten

! +++++ Namen der für die Beschattung benötigten Systemvariablen gem. zBSS +++++
string svBlindsList = "BSS_Beschattung_Liste"; ! Liste der Beschattungsgeräte, obligatorisch
string svBlindsGlobalValues = "BSS_Beschattung_Globalwerte"; ! Globale Werte für Behanghöhen, Ausfahrwerte und Offsets, optional
string svBlindsMessage = "BSS_Beschattung_Nachricht"; ! Beschattung Nachricht, optional

! +++++ Name des zentralen Programms zur Beschattungssteuerung zBSP +++++
string zBSP = "prg_Beschattung_BSS";

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

(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svBlindsList)).State(blindsList);
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svBlindsGlobalValues)).State(blindsGlobalValues);
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svBlindsMessage)).State(blindsMessage);

! +++++ zBSP ausführen +++++
(dom.GetObject(ID_PROGRAMS).Get(zBSP)).ProgramExecute();
Dateianhänge
IMG_2319.PNG
IMG_2318.PNG

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

Re: Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von dtp » 10.08.2021, 07:12

regedit hat geschrieben:
09.08.2021, 19:26
Hatte die Variable nicht angelegt, da sie im zPNP als optinal stand.
Nee, da habe ich sie als obligatorisch, also zwingend notwendig, definiert. ;)

Was den Soll-Ist-Vergleich angeht, so musst du auf die Anzahl der Separatoren achten, wenn du gewisse Parameter nicht nutzen willst:

Code: Alles auswählen

"Beschattungsgerät|Behanghöhe|Korrekturwert(TILTnnn OPENnnn) Lamellenstellung(SLATnnn) Frostschutz(FRSTnnn) Bediensperre(LOCKnnn/ULCKnnn) Verzögerung(DLAYnnn) Speicherunterdrückung(NOSF)|Auslösebedingung(ne/gt/ge/lt/le)"
Sprich, wenn du z.B. keinen der dritten Parameter verwenden willst, dann

Code: Alles auswählen

EG_Arbeit_Fenster_Rollladen|100||gt
Also einen doppelten Seperator zwischen der Behanghöhe und der Auslösebedingung.
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.

regedit
Beiträge: 53
Registriert: 11.11.2018, 23:24
Hat sich bedankt: 6 Mal
Danksagung erhalten: 13 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von regedit » 10.08.2021, 20:23

ha, bester mann :)
Da sieht man mal wieder wer lesen kann ist klar im Vorteil :)
Werde ich morgen mal testen, sollte ja aber der Fehler sein

regedit
Beiträge: 53
Registriert: 11.11.2018, 23:24
Hat sich bedankt: 6 Mal
Danksagung erhalten: 13 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von regedit » 12.08.2021, 18:33

Wie verhält es sich eigentlich mit den Korrekturwerten?

Wenn ich den Eintrag folgendermaßen mache: "xxx_Rollladen|82|TILT82 OPEN100|lt" würde er dann beim öffnen von 82 auf 100 hochfahren?

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

Re: Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von dtp » 12.08.2021, 18:38

Nee, denn du setzt ja die Auslösebedingung "lt", also Soll < Ist. Wenn der Sollwert (100 bei geöffnetem Fenster) größer als der Istwert ist, passiert demzufolge nichts. Willst du, dass sich auch dann der Rollladen auf 100 % öffnet, musst du eine entsprechende Auslösebedingung setzen, oder sie einfach weglassen. Letzteres ist gleichzusetzen mit "ne", also Soll != 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.

Saschag
Beiträge: 87
Registriert: 23.03.2015, 22:45
Hat sich bedankt: 5 Mal
Danksagung erhalten: 2 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von Saschag » 05.10.2021, 12:17

Hallo Thorsten,

bin vor paar tagen auf einen RaspberryMastic umgestiegen. Im Anschluss hat das Script mit LOAD und dem Titel des ausgelösten Gerätes in der Pushover Nachricht nicht mehr funktioniert. Nach Recherche im Forum ist bei der aktuellen ReGaHSS eine Änderung drin.

Habe die Zeile (Klammern) angepasst und nun klappt es wieder

Code: Alles auswählen

! +++++ Zusatzinformation, die als Push-Nachricht versendet werden soll +++++ 
string blindsMessage = "Verschluss "#(dom.GetObject(dom.GetObject(dom.GetObject("$src$").Channel()))).Name()#" betätigt."; ! "--" zur Unterdrückung von Push-Nachrichten
Also falls jemand oder Du auch das Problem in Zukunft hat ;-)

Antworten

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