Howto - zentrales Beschattungssteuerungsprogramm zBSP (per 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 Beschattungssteuerungsprogramm (zBSP) V3.0

Beitrag von dtp » 27.05.2020, 07:28

Nur kurz der Hinweis, dass ich gerade an einer neuen Version mit Unterstützung von Jalousienaktoren zur Veränderung der Lamellenposition sitze. André (@cityofsilence) ist so freundlich und spielt den Alpha- bzw. Betatester. 8)

Zudem kam mir gestern noch die Idee, den SAFE-Befehl dahingehend zu erweitern, dass man nicht nur den letzten Aufruf des zBSS damit in die Vorliste speichert, sondern auf Wunsch auch alle neu hinzugekommenen Beschattungsgeräte innerhalb einer definierbaren Zeitspanne. Das kann dann hilfreich sein, wenn man das zBSP z.B. abends zum Schließen unterschiedlicher Rollläden zeitversetzt aufruft, und möchte, dass alle bisher angesprochenen Beschattungsgeräte auf ein nachträgliches Ändern des Schließzustandes der zugehörigen Türen und Fenster reagiert.
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.

MartinBr
Beiträge: 393
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin
Hat sich bedankt: 3 Mal
Danksagung erhalten: 8 Mal

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

Beitrag von MartinBr » 27.05.2020, 20:57

Hallo Thorsten,

das klingt ja nach einem alten Wunsch von mir: Die Rollläden werden zeitversetzt (z.B. um 10 Sekunden) hoch und runter gefahren. Bei mir verschluckt sich ansonsten immer einer Rollos und fährt damit die gewünschte Position nicht an.

Gruß
Martin
RaspberryMatic-3.59.6 auf Tinkerboard S, CUxD 2.6, XML-1.20, ioBroker (HM,HMIP, Zigbee, Zwave und Shelly) und Alexa in einer VM unter Proxmox, VitoComfort 200

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) V3.0

Beitrag von dtp » 28.05.2020, 06:25

Neue Version 3.0.1 mit kleinen Fehleränderungen.
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 Beschattungssteuerungsprogramm (zBSP) V3.0

Beitrag von dtp » 28.05.2020, 07:31

MartinBr hat geschrieben:
27.05.2020, 20:57
das klingt ja nach einem alten Wunsch von mir
Das kann ich aber leider im Moment noch nicht umsetzen, weil solche Verzögerungen ohne weitere Maßnahmen nicht mit einer CCU3 umsetzbar sind. Das ginge derzeit nur mit der RaspberryMatic.

Ich kann daher im Moment nur empfehlen, mit Timern sowie mit SAFE und LOAD zu arbeiten, wie hier von mir beschrieben. Eine Alternative wäre die Auftrennung des aufrufenden Skripts in mehrere aufrufende Skripte, die dann zeitlich versetzt ausgeführt werden. Genau dort setzt dann aber meine obige Idee mit der neuen SAFE-Funktion an.
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 Beschattungssteuerungsprogramm (zBSP) V3.0.1

Beitrag von dtp » 29.05.2020, 18:20

So, das mit dem ergänzenden Speichern hab ich heute schon mal versucht umzusetzen. Die Aufgabe war, dass zwei Listen derart abgeglichen werden müssen, dass für die resultierende Liste

1. die Einträge der ersten Liste übernommen werden, wenn die zweite Liste keine neueren Einträge enthält,
2. die Einträge der ersten Liste durch die neueren Einträge der zweiten Liste ausgetauscht werden und
3. die neu hinzugekommenen Einträge der zweiten Liste ergänzt werden.

Alles klar soweit? 8)

Mit folgendem Skript klappt das schon:

Code: Alles auswählen

string blindsListPrev = "Rolllade 1 alt\tRolllade 3 alt\tRolllade 5 alt\tRolllade 8 alt";
string blindsList = "Rolllade 1 neu\tRolllade 2 neu\tRolllade 5 neu\tRolllade 6 neu";

string blindPrev; string blind;

foreach(blindPrev, blindsListPrev){
  foreach(blind, blindsList){
    if(blind.Substr(0, 10) == blindPrev.Substr(0, 10)){
      blindsListPrev = blindsListPrev.Replace(blindPrev, blind);
      blindsList = blindsList.Replace(blind#"\t", "").Trim(); 
      blindsList = blindsList.Replace(blind, "").Trim(); 
      break;
    }
  }
}
blindsList = blindsListPrev#"\t"#blindsList;

WriteLine(blindsList);
Das liefert mir dann die folgende neue Liste:

Code: Alles auswählen

Rolllade 1 neu	Rolllade 3 alt	Rolllade 5 neu	Rolllade 8 alt	Rolllade 2 neu	Rolllade 6 neu
Zuletzt geändert von dtp am 30.05.2020, 07:26, insgesamt 1-mal geändert.
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.

Benutzeravatar
Black
Beiträge: 5480
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

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

Beitrag von Black » 29.05.2020, 18:58

@dtp: für verzögerungen in einem Script habe ich ja auch noch mein altes TCL Scheduler Script

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

MartinBr
Beiträge: 393
Registriert: 25.01.2017, 10:51
Wohnort: Bei Berlin
Hat sich bedankt: 3 Mal
Danksagung erhalten: 8 Mal

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

Beitrag von MartinBr » 29.05.2020, 19:48

@black
Hallo Black, ich setze dein Script für das zentrale hoch- und runterfahren aller Rollos ein. Es funktioniert stabil und ohne Probleme. Ich habe einen Zeitversatz von 4 Sekunden eingestellt. Damit habe ich seit Nutzung des Scripts keine Hänger mehr gehabt. Alle Rollos laufen wie gewünscht.
Danke für dein geniales Script

Gruß
Martin
RaspberryMatic-3.59.6 auf Tinkerboard S, CUxD 2.6, XML-1.20, ioBroker (HM,HMIP, Zigbee, Zwave und Shelly) und Alexa in einer VM unter Proxmox, VitoComfort 200

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

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

Beitrag von MichaelN » 29.05.2020, 21:39

dtp hat geschrieben:
28.05.2020, 07:31
Das kann ich aber leider im Moment noch nicht umsetzen, weil solche Verzögerungen ohne weitere Maßnahmen nicht mit einer CCU3 umsetzbar sind. Das ginge derzeit nur mit der RaspberryMatic.
Wenn du state() mit delay meinst, das geht auch mit der aktuellen ccu3 Firmware
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 +++

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) V3.0.1

Beitrag von dtp » 30.05.2020, 12:23

Mittlerweile funktioniert auch das ergänzende Abspeichern. Dafür wird es in der Version 3.2 (Version 3.1 befasst sich mit der Lamellenverstellung von Jalousieaktoren) einen neuen globalen Parameter "SFAD" (für SAFE ADD) geben, mit dem man die Vorliste innerhalb eines definierbaren Zeitfensters um neue Werte ergänzen kann.

Sprich, während "SAFE" die Vorliste immer überschreibt, fügt "SFAD" neue und geänderte Werte hinzu.

Beispiel:

In der Vorliste stehen folgende Werte:

Code: Alles auswählen

EG Wohnzimmer Rollladen Fenster|80||le\tUG Büro Rollladen Fenster|70||ne
Während der Aufruf des zBSS mit

Code: Alles auswählen

string blindsList = "EG Wohnzimmer Rollladen Fenster|60|OPEN20 SLAT10\t
                     OG Gästezimmer Rollladen Fenster|70";
und dem globalen Parameter "SAFE" zu einer neuen Vorliste

Code: Alles auswählen

EG Wohnzimmer Rollladen Fenster|60|OPEN20 SLAT10|ne\tOG Gästezimmer Rollladen Fenster|70||ne";
führt, bewirkt derselbe Aufruf mit "SFAD" innerhalb des definierten Zeitfensters die neue Vorliste

Code: Alles auswählen

EG Wohnzimmer Rollladen Fenster|60|OPEN20 SLAT10|ne\tUG Büro Rollladen Fenster|70||ne\tOG Gästezimmer Rollladen Fenster|70||ne
Sinn macht dies vor allen Dingen, wenn man in Verbindung mit "LOAD" ein automatisches Verändern der Rollläden beim Öffnen oder Schließen der entrechenden Türen oder Fenster bewirken will.
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 Beschattungssteuerungsprogramm (zBSP) V3.0

Beitrag von dtp » 30.05.2020, 12:28

MichaelN hat geschrieben:
29.05.2020, 21:39
Wenn du state() mit delay meinst, das geht auch mit der aktuellen ccu3 Firmware
Tatsächlich.

Code: Alles auswählen

real blindValueNew = 50.0;
integer delay = 5000;

(dom.GetObject(ID_CHANNELS).Get("OG Gästezimmer Rollladen Fenster")).DPByHssDP("LEVEL").State(blindValueNew/100.0, delay);
funktioniert. Na dann werde ich das auch mal einbauen. ;)
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!“