Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

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

Moderator: Co-Administratoren

Timichino
Beiträge: 48
Registriert: 07.01.2017, 19:19
Hat sich bedankt: 16 Mal
Danksagung erhalten: 2 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von Timichino » 06.12.2021, 16:52

Hi zusammen,
nach Umzug habe ich nun Fenster mit 2 Flügeln. Alle haben aber nur einen Rollladen davor.

Nun habe ich den Umstand dass der BROLL : "Rollladen Fenster Abstellraum" heißt und die beiden SWDO-I heißen "Fenster Abstellraum Links" und "Fenster Abstellraum Rechts".
Ich möchte das der Rollladen offen bleibt, wenn einer der beiden offen/gekippt ist.
Ich sehe aber aktuell nur die Möglichkeit für jedes Fenster eine Systemvariable anzulegen, damit diese dann im zBSP genutzt werden kann.
Hat jemand zufällig eine andere Idee? Ich habe schon an das Replace gedacht und einen SWDO-I "Fenster Abstellraum " nennen und den anderen "Fenster Abstellraum Zusatz" und dann das " Zusatz" gegen ein Leerzeichen Replacen, denke aber bei 2 gefundenen Aktoren wird es da zu Problemen kommen.


Grüße

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 Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von dtp » 06.12.2021, 21:51

Was spricht denn dagegen, beide Fenstersensoren in einer Systemvariablen per Programm miteinander zu verknüpfen?
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.

Timichino
Beiträge: 48
Registriert: 07.01.2017, 19:19
Hat sich bedankt: 16 Mal
Danksagung erhalten: 2 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von Timichino » 06.12.2021, 23:06

Naja, der Umstand 20 neue Programme und 20 Sysvariablen anzulegen :)
Vll. ist auch der innere Monk Schuld...

War mir halt nicht sicher wie man es noch lösen könnte.

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 Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von dtp » 07.12.2021, 09:25

Sprich, du hast 20 Rollläden vor 20 doppelflügeligen Fenstern mit insgesamt 40 Sensoren?

Es gibt da leider keine andere Lösung, weil dann ggf. irgendwann jemand kommt und sagt, dass er neben zwei Fenstersensoren auch noch einen Drehgriffsensor mit berücksichtigt haben möchte. Sprich, das Skript braucht einfach gewisse Rahmenbedingungen, die man erfüllen muss. Und dafür habe ich ja neben den Sensornamen auch noch die Möglichkeit zur Einbindung einer Systemvariablen geschaffen, so dass man hier eine Art Zwischenfilter implementieren kann. Wie man diesen dann bildet, bleibt jedem selbst überlassen.
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.

Timichino
Beiträge: 48
Registriert: 07.01.2017, 19:19
Hat sich bedankt: 16 Mal
Danksagung erhalten: 2 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von Timichino » 03.01.2022, 22:32

Moin moin,
eine Sache hätte ich noch.
Ich habe überall die Sensoren für den verdeckten Einbau installiert SWDO-I.
Die haben nun 2 Kanäle:
Kanal 0 und Kanal 1.
Der Status befindet sich in Kanal 1. Im zBSP wird wahrscheinlich nur der Kanal 0 ausgewertet und daher fährt der zugehörige Rollladen immer hoch, obwohl ich OPEN100 als Parameter angelegt habe.
Mit einer SV funktioniert OPEN100. Ist es möglich die SWDO-I noch mit einzubauen?
Falls du Infos und Tester brauchst steh ich gern zur Verfügung :)

Grüße

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 Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von dtp » 04.01.2022, 11:18

Timichino hat geschrieben:
03.01.2022, 22:32
Im zBSP wird wahrscheinlich nur der Kanal 0 ausgewertet und daher fährt der zugehörige Rollladen immer hoch, obwohl ich OPEN100 als Parameter angelegt habe.
Nein, im zBSS werden alle Kanäle eines Fenster- oder Drehgriffsensors durchlaufen, um nach einem STATE-Wert zu suchen.

Lass mal bitte das folgende Skript für deinen SWDO-I (unter closureName den Namen des Fenstersensors eingeben) durchlaufen und poste die Ausgabe:

Code: Alles auswählen

string closureName = "OG Büro Fenster";

string closureChannelsList = ""; string closureState = ""; string closureChannel; 

closureChannelsList = (dom.GetObject(ID_DEVICES).Get(closureName)).Channels().EnumUsedNames();
closureState = "";
foreach(closureChannel, closureChannelsList){
  if((dom.GetObject(ID_CHANNELS).Get(closureChannel)).DPByHssDP("STATE")){
    closureState = (dom.GetObject(ID_CHANNELS).Get(closureChannel)).DPByHssDP("STATE").Value().ToString()#" "#closureState;
  }
  closureState = closureState.StrValueByIndex(" ", 0);
}

WriteLine(closureState);
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.

Timichino
Beiträge: 48
Registriert: 07.01.2017, 19:19
Hat sich bedankt: 16 Mal
Danksagung erhalten: 2 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von Timichino » 04.01.2022, 11:26

Den State wertet das zBSP korrekt aus (1), wird aber trotzdem runter gefahren, hier nochmal die Parameter für den Aufruf:

Code: Alles auswählen

! 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 = "Rollladen Fenster Abstellraum|0|OPEN100|ne\t
                     Rollladen Fenster Arbeitszimmer|0|OPEN100|ne";

! +++++ 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 = "--"; ! "--" zur Unterdrückung von Push-Nachrichten

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

! +++++ Name des zentralen Programms zur Beschattungssteuerung zBSP +++++
string zBSP = "CCU PRG Beschattung";

! #####################################################################
! ##### 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();
Hier nochmal die Abfrage:

Code: Alles auswählen

string closureName = "Fenster Arbeitszimmer";

string closureChannelsList = ""; string closureState = ""; string closureChannel; 

closureChannelsList = (dom.GetObject(ID_DEVICES).Get(closureName)).Channels().EnumUsedNames();
closureState = "";
foreach(closureChannel, closureChannelsList){
  if((dom.GetObject(ID_CHANNELS).Get(closureChannel)).DPByHssDP("STATE")){
    closureState = (dom.GetObject(ID_CHANNELS).Get(closureChannel)).DPByHssDP("STATE").Value().ToString()#" "#closureState;
  }
  closureState = closureState.StrValueByIndex(" ", 0);
}

WriteLine(closureState);
Ausgabe: 1

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 Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von dtp » 04.01.2022, 12:32

Das ist echt blöd, dass eQ-3 da so extrem inkonsistent ist. Bei den Drehgriffsensoren steht der State 2 für geöffnet, 1 für gekippt und 0 für geschlossen. Bei einigen Fenstersensoren steht true für geöffnet und false für geschlossen. Und bei wieder anderen Fenstersensoren scheint nun 1 für geöffnet und 0 für geschlossen zu stehen.

Kannst du es mal mit der angefügten Version 3.6.5 testen und berichten. Danke.
Dateianhänge
zBSS365.hsc
(36.56 KiB) 44-mal heruntergeladen
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.

MichaelN
Beiträge: 9681
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1626 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von MichaelN » 04.01.2022, 12:54

dtp hat geschrieben:
04.01.2022, 12:32
Bei einigen Fenstersensoren steht true für geöffnet und false für geschlossen. Und bei wieder anderen Fenstersensoren scheint nun 1 für geöffnet und 0 für geschlossen zu stehen.
Es gilt im allgemeinen:
True = 1
False = 0
Passt also soweit
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Timichino
Beiträge: 48
Registriert: 07.01.2017, 19:19
Hat sich bedankt: 16 Mal
Danksagung erhalten: 2 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

Beitrag von Timichino » 04.01.2022, 13:42

funktioniert, perfekt danke!

Antworten

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