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 » 09.04.2019, 09:21

Hallo Thorsten,

gut, dass ich heute meinen Mac mit ins Büro genommen habe :D

Das Testscript liefert <1.000>.

Der Rollladen ist oben, es müsste 100% entsprechen.

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: 10681
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 330 Mal
Danksagung erhalten: 506 Mal

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

Beitrag von dtp » 09.04.2019, 09:38

Danke.

Dann sollte das hier auch zum richtigen Ergebnis führen:

Code: Alles auswählen

string blindName = "HWR Fenster Rollladen";
WriteLine((dom.GetObject(ID_CHANNELS).Get(blindName#":1")).DPByHssDP("LEVEL").Value());


Sinn und Zweck der Übung ist, dass ich gerne die Kanalnummer aus dem Namen heraus haben möchte, weil das Skript ja auch die zugehörigen Fenster-Drehgriffsensoren bzw. Tür-Fensterkontakte abfragt. Im Moment weiß ich auch noch nicht, ob es reibungslos mit den entsprechenden HMIP-Komponenten funktioniert. Wenn das mal jemand testen und berichten könnte, wäre toll.

Bis dann,

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.

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

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

Beitrag von Xel66 » 09.04.2019, 09:49

dtp hat geschrieben:
09.04.2019, 09:38
...dass ich gerne die Kanalnummer aus dem Namen heraus haben möchte...
Ich habe kein IP, kann Dir also diesbezüglich nicht helfen. Aber wäre es nicht zielführender, einfach die Geräteadresse auszulesen, zu cachen und dann für die Adressierung der einzelnen Channels (durch Erweiterung mit ":1") zu benutzen? Dann wäre es egal, wie der Name des Kanals ist. Diese Adresse können die Anwender ja nicht ändern und es kann da nicht zu Verwechselungen mit tatsächlichen Namen von den Geräten/Kanälen kommen. Nur mal so als Idee.

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: 10681
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 330 Mal
Danksagung erhalten: 506 Mal

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

Beitrag von dtp » 09.04.2019, 09:55

Xel66 hat geschrieben:
09.04.2019, 09:49
Aber wäre es nicht zielführender, einfach die Geräteadresse auszulesen, zu cachen und dann für die Adressierung der einzelnen Channels (durch Erweiterung mit ":1") zu benutzen?
Genau. Deswegen auch mein vorheriger Post. 8)

Ich bin übrigens noch am überlegen, ob ich in das Skript eine Art Memory-Funktion einbaue. Sprich, man kann einen aktuellen Zustand aller angesteuerten Rollläden speichern und ihn dann zu einem späteren Zeitpunkt wieder aufrufen. Dafür bräuchte es lediglich eine weitere Systemvariable. Weiß aber noch nicht, ob das wirklich so sinnvoll ist.

EDIT: Wird mit Version 2 kommen.
Zuletzt geändert von dtp am 02.05.2019, 09:49, insgesamt 4-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.

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

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

Beitrag von Xel66 » 09.04.2019, 11:42

dtp hat geschrieben:
09.04.2019, 09:55
Deswegen auch mein vorheriger Post. 8)
Ich habe die m.E. von-hinten-durch-die-Brust-ins-Auge-Lösung schon wahrgenommen. Der Ansatz wäre mir zu wackelig. Daher mein Hinweis auf die Adresse (aka Seriennummer).
Sprich, man kann einen aktuellen Zustand aller angesteuerten Rollläden speichern und ihn dann zu einem späteren Zeitpunkt wieder aufrufen.
Dann müsstest Du auch sicherstellen, dass alle externen Ansteuerungen (manuell oder Zeitsteuerungen) die Status nachführen. Das mag bei Dir klappen, wenn Du alle Ansteuerungsmöglichkeiten kennst. Aber für andere Anwender, die Dein Script einsetzen, dürfte das zu aufwändig sein. M.E. baust Du damit eine Supportbedarfsquelle.

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: 10681
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 330 Mal
Danksagung erhalten: 506 Mal

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

Beitrag von dtp » 09.04.2019, 13:26

Xel66 hat geschrieben:
09.04.2019, 11:42
Ich habe die m.E. von-hinten-durch-die-Brust-ins-Auge-Lösung schon wahrgenommen. Der Ansatz wäre mir zu wackelig. Daher mein Hinweis auf die Adresse (aka Seriennummer).
Nee, ich arbeite nicht gerne mit Seriennummern in Skripten, weil man die beim Austausch eines Aktors bzw. Sensors manuell nachführen muss. Den Namen vergibt man aber in der Regel wieder identisch.

Hinzu kommt, dass ein Kerngedanke des zBSS die automatische Erkennung von Fensterzuständen anhand des Klarnamens ist. Das würde über Seriennummern viel Konfigurationsaufwand nach sich ziehen. Klar, man könnte mit einer Art Look-Up-Table arbeiten, aber das wollte ich vermeiden.

Meine Skripte sind primär für mich geschrieben. Ich stelle sie gerne der Öffentlichkeit zur Verfügung. Aber ich schreibe explizit keine Skripte, die alle Eventualitäten abdecken. Aber jeder kann sich gerne meiner Skripte bedienen, um sie auf die eigenen Bedürfnisse umzuschreiben. Nur Support gibt's dann natürlich keinen mehr. Daher wäre auch die Memory-Funktion eine Sache, von der zunächst mal ich selbst profitieren müsste. Ich werde mich da demnächst mal etwas austoben. Machmal kommt der Appetit ja erst mit dem Essen. ;)

Ich hatte mir auch schon ein komplett fertiges Beschattungsskript geschrieben, das für jeden Rollladen einzeln anwendbar war, bis mir einfiel, dass es ja viel komfortabler wäre, das Ganze analog dem zPNP zentral zu gestalten. Daher habe ich mein altes Beschattungsskript wieder über den Haufen geworfen und das zBSS geschrieben. Und mit dem bin ich bisher sehr zufrieden, weil es all das, was mir wichtig ist, in einer recht kompakten und übersichtlichen Form abdeckt. Der Aufruf wirkt zwar etwas kryptisch, aber das habe ich zugunsten einer möglichst geringen Anzahl von Systemvariablen extra so gestaltet. Ich bin kein Fan von zu vielen Systemvariablen, deren Bedeutung ich evtl. nachher nicht mehr überblicken kann.
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: 10681
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 330 Mal
Danksagung erhalten: 506 Mal

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

Beitrag von dtp » 09.04.2019, 13:58

Eine Idee ist mir gerade noch eingefallen.

Das Skript speichert in einer Systemvariablen eine Abweichung zwischen den gewollten Sollwerten und den Offset-Werten bei geöffneten bzw. gekippten Fenstern und Türen. Im Falle einer Betätigung eines Fensters bzw. einer Tür wird nun das zBSP aufgerufen, um den zugehörigen Rollladen in die ursprünglich gewünschte Position zu bringen.

EDIT: Wird in einer etwas abgewandelten Form im Rahmen der Memory-Funktion mit der Version 2 kommen.
Zuletzt geändert von dtp am 02.05.2019, 09:49, insgesamt 2-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.

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 » 09.04.2019, 14:03

Die HMIP- Komponenten wie HMIP-BROLL werden über Kanal 4 bis 6 gesteuert. Ich steuere meine BROLL über Kanal 4. Ein manuelle Bedienung wird mit der FW 1.62 dann aber nur in Kanal 3 angezeigt.

Eine Steuerung über Kanal 1 funktioniert mit der bisherigen Lösung damit nicht.

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: 10681
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 330 Mal
Danksagung erhalten: 506 Mal

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

Beitrag von dtp » 09.04.2019, 14:47

Hi Martin,

kannst du mal bitte folgendes mit einem deiner BROLL ausprobieren:

Code: Alles auswählen

string blindName = "Name des HmIP-BROLL";
WriteLine((dom.GetObject(ID_CHANNELS).Get(blindName#":4")).DPByHssDP("LEVEL").Value());
Und zur Ansteuerung:

Code: Alles auswählen

string blindName = "Name des HmIP-BROLL";
integer blindValueNew = 50;
(dom.GetObject(ID_CHANNELS).Get(blindName#":4")).DPByHssDP("LEVEL").State(blindValueNew/100);
WriteLine((dom.GetObject(ID_CHANNELS).Get(blindName#":4")).DPByHssDP("LEVEL").Value());
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.

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

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

Beitrag von Xel66 » 09.04.2019, 15:32

dtp hat geschrieben:
09.04.2019, 13:26
Nee, ich arbeite nicht gerne mit Seriennummern in Skripten, weil man die beim Austausch eines Aktors bzw. Sensors manuell nachführen muss. Den Namen vergibt man aber in der Regel wieder identisch.
Ja, nee, ist klar. Ich meinte ja auch, an Hand des Klarnamens die Seriennummer des betreffenden Aktors im Script am Anfang ermitteln und dann den Kanal durch Erweiterung mit ":1" ansprechen. Somit bist Du bezüglich anders bezeichneter Kanäle aus dem Schneider. Die Seriennummern in Scripten zu pflegen, wäre auch nicht mein Ansatz.

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

Antworten

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