Howto - zentrales Beschattungssteuerungsprogramm zBSP (per zPNP)

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

Moderator: Co-Administratoren

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

Beitrag von MartinBr » 12.04.2019, 18:35

dtp hat geschrieben:
11.04.2019, 12:18
Könntest du mal folgendes mit deinem BROLL ausprobieren:

Code: Alles auswählen

string blindName = "Name des HmiP-BROLL";
string channel;

foreach(channel, (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames()){
  WriteLine(channel);
  if((dom.GetObject(ID_CHANNELS).Get(channel)).DPByHssDP("LEVEL")){
    (dom.GetObject(ID_CHANNELS).Get(channel)).DPByHssDP("LEVEL").State(0.4);
    WriteLine((dom.GetObject(ID_CHANNELS).Get(channel)).DPByHssDP("LEVEL").Value());
  }
}
Nun sollte jeder Kanal deines BROLL mit einem schaltbaren Level auf 40 % gesetzt werden. Der tatsächliche Level wird vermutlich erst beim nochmaligen Durchlaufen des Skripts angezeigt, weil es etwas dauert, bis die Ist-Werte vom Aktor korrekt erfasst werden.


Hier der Test mit dem EnOcean Aktor:
Bildschirmfoto 2019-04-12 um 18.33.39.png
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

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

Beitrag von MartinBr » 12.04.2019, 18:42

dtp hat geschrieben:
12.04.2019, 07:35
Danke. Das sieht ja schon mal gut aus. Könntest du evtl. auch noch das hier mal testen:

Code: Alles auswählen

string blindName = "Name des HmiP-BROLL";
string blindChannel; string blindValueActual ;
  
foreach(blindChannel, (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames()){
  if((dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEVEL")){
    blindValueActual = (dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEVEL").Value()#" "#blindValueActual;
    WriteLine(blindValueActual);
  }
  blindValueActual = blindValueActual.StrValueByIndex(" ", 0);
  WriteLine(blindValueActual);
}
Danke.

Am besten bitte auch noch mal dieses und das vorherige Skript mit deinem EnOcean-Actor testen. Das wäre super.

Wenn das alles funktioniert, wie erhofft, dann kannst du gerne mal die Beta der Version 1.3 des zBSS mit deinen Rollladenaktoren testen.

zBSS13beta.txt

Gruß,

Thorsten

Hier der BROLL:
Bildschirmfoto 2019-04-12 um 18.37.37.png
Ergebnis: Keine Reaktion

Hier der EnOcean:
Bildschirmfoto 2019-04-12 um 18.40.49.png
Ergebnis: Keine Reaktion

Frage: Auf welchen Wert hast du die Rollos im Script gesetzt? Level=???

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

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

Beitrag von MartinBr » 12.04.2019, 18:49

dtp hat geschrieben:
12.04.2019, 07:35
Danke. Das sieht ja schon mal gut aus. Könntest du evtl. auch noch das hier mal testen:

Code: Alles auswählen

string blindName = "Name des HmiP-BROLL";
string blindChannel; string blindValueActual ;
  
foreach(blindChannel, (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames()){
  if((dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEVEL")){
    blindValueActual = (dom.GetObject(ID_CHANNELS).Get(blindChannel)).DPByHssDP("LEVEL").Value()#" "#blindValueActual;
    WriteLine(blindValueActual);
  }
  blindValueActual = blindValueActual.StrValueByIndex(" ", 0);
  WriteLine(blindValueActual);
}
Danke.

Am besten bitte auch noch mal dieses und das vorherige Skript mit deinem EnOcean-Actor testen. Das wäre super.

Wenn das alles funktioniert, wie erhofft, dann kannst du gerne mal die Beta der Version 1.3 des zBSS mit deinen Rollladenaktoren testen.

zBSS13beta.txt

Gruß,

Thorsten
Hallo Thorsten,
ich habe mal mein Testprogramm mit einem Enocean Autor und deinem Script 1.3Beta getestet.
Ergebnis: Keine Reaktion. :(

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

Xel66
Beiträge: 14165
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: Howto - zentrales Beschattungssteuerungsprogramm (zBSP) V1.2

Beitrag von Xel66 » 12.04.2019, 19:39

MartinBr hat geschrieben:
12.04.2019, 18:30
Hier mal die Programme am Beispiel Ost:
Ich habe jetzt nicht gezählt, aber die CCU ist ja nur noch mit dem Ausführen irgendwelcher Scripte beschäftigt. Alle paar Minuten läuft dieses Sonnenstandsscript und seine Ergebnisse stoßen die hier dargestellten Programme und die darin enthaltenen Scripte im gleichen Takt an. Und im Ergebnis kommen zwei Schaltzeiten pro Tag und Rollladen im besten Fall raus. Im Winterhalbjahr wahrscheinlich nicht mal das. Abgesehen von der Tatsache, dass es für mich absolut nicht nachvollziehbar ist, warum man bei Zeitsteuerungen eine Uhrzeit in Dezimalzahlen umrechnet (OK, das Script stellt sie zur Verfügung, heißt aber nicht, dass man das auch nutzen muss) um dann darauf auf "bei Aktualisierung" zu triggern. Das erledigt das mitgelieferte Zeitmodul mit zwei Auslösungen (bei Zeitbereichen) pro Tag und stößt keine unnötigen Operationen an. Somit könnte man diese überflüssigen Aktionen zumindest auf den wirklich beschattungsrelevanten Tagesbereich begrenzen. Die Lösung hat noch viel Optimierungspotenzial.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

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

Beitrag von dtp » 12.04.2019, 19:55

MartinBr hat geschrieben:
12.04.2019, 18:42
Ergebnis: Keine Reaktion

Frage: Auf welchen Wert hast du die Rollos im Script gesetzt? Level=???
Bevor wir uns hier jetzt zu sehr im Kreis drehen. Die besagten Testskripte sollten nur die aktuellen Werte auslesen. Ansonsten machen sie nichts.

Nur dieses Skript ändert auch den Zustand des Rollladen:

Code: Alles auswählen

string blindName = "Name des Beschattungsaktors";
string channel;

foreach(channel, (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames()){
  WriteLine(channel);
  if((dom.GetObject(ID_CHANNELS).Get(channel)).DPByHssDP("LEVEL")){
    (dom.GetObject(ID_CHANNELS).Get(channel)).DPByHssDP("LEVEL").State(0.4);
  }
}
Das sollte eigentlich mit allen verfügbaren HM- und HMIP-Rollladenaktoren sowie dem entsprechenden CUxD-Gerät gleichermaßen funktionieren. Kannst du es bitte noch mal mit deinem HmIP-BROLL und deinem EnOcean-Aktor testen. Es sollte den entsprechenden Rollladen immer auf 40 % fahren. Zum Testen kannst du beliebige Werte zwischen 0.0 und 1.0 in "State()" eintragen.
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) V1.2

Beitrag von dtp » 12.04.2019, 20:07

Xel66 hat geschrieben:
12.04.2019, 19:39
Ich habe jetzt nicht gezählt, aber die CCU ist ja nur noch mit dem Ausführen irgendwelcher Scripte beschäftigt. Alle paar Minuten läuft dieses Sonnenstandsscript und seine Ergebnisse stoßen die hier dargestellten Programme und die darin enthaltenen Scripte im gleichen Takt an.
Ist das so? Ich kenne dieses Sonnenstrandsskript nicht im Detail, aber es löst doch das zBSP neben den festen Zeiten nur aus, wenn es x Minuten vor Sonnenuntergang bzw. y Minuten nach Sonnenaufgang ist. Ich sehe da jetzt kein so großes Problem für die Rollläden. Aber das Sonnenstandsskript selbst bzw. dessen regelmäßigen Aufruf finde ich jetzt auch nicht so prickelnd. Das würde ich dann eher mit dem ioBroker lösen.
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) V1.2

Beitrag von MartinBr » 12.04.2019, 20:18

Das Sonnenstandsscript (von Eugen Stall) läuft jetzt seit über einem Jahr ohne Probleme. Die Zeitscripte laufen auch seit einem Jahr in meiner aktuellen Rollladensteuerung. Bisher ohne jede Probleme. Die CPU Auslastung liegt bei 2-4 % inkl. RedMatic und den anderen Addons. Da sehe ich keine Probleme. Es werden ja nur Systemvariablen gesetzt, die Rollo Auslösung geschieht ja nur zu den Schaltzeiten.
Da Originalsteuerung / das Vorbild stammt von Eugen Stall. Ich habe es um einige Werte ergänzt und hier für Thorstens Lösung im Test adaptiert.
Ich bin da offen für jegliche Verbesserungen.

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

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

Beitrag von MartinBr » 13.04.2019, 07:48

dtp hat geschrieben:
12.04.2019, 19:55
MartinBr hat geschrieben:
12.04.2019, 18:42
Ergebnis: Keine Reaktion

Frage: Auf welchen Wert hast du die Rollos im Script gesetzt? Level=???
Bevor wir uns hier jetzt zu sehr im Kreis drehen. Die besagten Testskripte sollten nur die aktuellen Werte auslesen. Ansonsten machen sie nichts.

Nur dieses Skript ändert auch den Zustand des Rollladen:

Code: Alles auswählen

string blindName = "Name des Beschattungsaktors";
string channel;

foreach(channel, (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames()){
  WriteLine(channel);
  if((dom.GetObject(ID_CHANNELS).Get(channel)).DPByHssDP("LEVEL")){
    (dom.GetObject(ID_CHANNELS).Get(channel)).DPByHssDP("LEVEL").State(0.4);
  }
}
Das sollte eigentlich mit allen verfügbaren HM- und HMIP-Rollladenaktoren sowie dem entsprechenden CUxD-Gerät gleichermaßen funktionieren. Kannst du es bitte noch mal mit deinem HmIP-BROLL und deinem EnOcean-Aktor testen. Es sollte den entsprechenden Rollladen immer auf 40 % fahren. Zum Testen kannst du beliebige Werte zwischen 0.0 und 1.0 in "State()" eintragen.
Hallo Thorsten,

alles klar, habe es nun verstanden.
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) V1.2

Beitrag von dtp » 13.04.2019, 10:38

MartinBr hat geschrieben:
13.04.2019, 07:48
alles klar, habe es nun verstanden.
Dann wäre jetzt noch eine kurze Rückmeldung klasse, ob es mit deinen HMIP- und EnOcean-Aktoren funktioniert. 8)
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) V1.2

Beitrag von MartinBr » 13.04.2019, 11:11

dtp hat geschrieben:
13.04.2019, 10:38
MartinBr hat geschrieben:
13.04.2019, 07:48
alles klar, habe es nun verstanden.
Dann wäre jetzt noch eine kurze Rückmeldung klasse, ob es mit deinen HMIP- und EnOcean-Aktoren funktioniert. 8)
Hallo Thorsten,

hier die Rückmeldung.
Mit diesem Script

Code: Alles auswählen

string blindName = "Name des Beschattungsaktors";
string channel;

foreach(channel, (dom.GetObject(ID_DEVICES).Get(blindName)).Channels().EnumUsedNames()){
  WriteLine(channel);
  if((dom.GetObject(ID_CHANNELS).Get(channel)).DPByHssDP("LEVEL")){
    (dom.GetObject(ID_CHANNELS).Get(channel)).DPByHssDP("LEVEL").State(0.4);
  }
}
lassen sich sowohl die EnOcean als die HmIP-BROLL einwandfrei auch auf verschiedene Behanghöhen fahren.
Das sieht gut aus. :D

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

Antworten

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