[gelöst] Rolloaktor spinnt.. doch nicht :-)
Moderator: Co-Administratoren
[gelöst] Rolloaktor spinnt.. doch nicht :-)
Hallo zusammen,
ich habe ja schon ziemlich viele Programme auf der CCU aber diese relativ einfache Rollosteuerung raubt mit gerade den letzten Nerv.
Hintergrund:
In der Küche habe ich ein 2-flügeliges Fenster mit 2 optische Sensoren (1x pro Flügel). Als Rolloaktor ist ein HM-LC-BI1PBU-FM verbaut. Es gibt eine Systemvariable "Rollo" mit den Logik-Werten "auf" und "zu". Die Werte werden von der Zeitsteuerung (Astro) geändert. Die optischen Sensoren sind neben dem Programm zusätzlich mit dem Heizkörperthermostat direkt verknüpft.
Nun habe ich ein Programm zusammengestellt, dass wie folgt aufgebaut ist:
1. Wenn Zeitsteuerung "zu" UND beide Fenster zu DANN Rollo 0%
2. Wenn Zeitsteuerung "zu" UND irgendein Fenster auf DANN Rollo 15%
3. Wenn Zeitsteuerung "auf" DANN Rollo 100%
4. Wenn Rollo 0% bis kleiner 15% UND irgendein Fenster wird geöffnet DANN Rollo 15%
5. Wenn Rollo 1% bis kleiner 16% UND beide Fester werden geschlossen DANN Rollo 0%
Eigentlich recht simpel. So kann bei geschlossenem Rollo das Fenster geöffnet werden und die Lüftungsfunktion ist gegeben. Anschießend Fenster zu, Rollo auch wieder zu.
Leider bekommt der Aktor bei jedem Impuls der optischen Sensoren, egal ob offen oder geschlossen, den Befehl "100%" und ich habe keine Ahnung warum. Selbst wenn das Rollo 100% offen ist, höre ich bei Fensterbetätigung den Relaiskontakt im Aktor.
Ich habe schon hin und her kopiert. Der Aktor ist sonst nirgends verknüpft, die Fensterkontakte auch nicht (bis auf die Direktverknüpfung mit dem Thermostat).
Ich habe das Programm mal angehängt. Zum Schluss kommt nur noch ein leeres "Sonst...". Vielleicht sehe ich den Wald vor lauter Bäumen nicht. Welch eine Blamage
Gruß DerGraf
ich habe ja schon ziemlich viele Programme auf der CCU aber diese relativ einfache Rollosteuerung raubt mit gerade den letzten Nerv.
Hintergrund:
In der Küche habe ich ein 2-flügeliges Fenster mit 2 optische Sensoren (1x pro Flügel). Als Rolloaktor ist ein HM-LC-BI1PBU-FM verbaut. Es gibt eine Systemvariable "Rollo" mit den Logik-Werten "auf" und "zu". Die Werte werden von der Zeitsteuerung (Astro) geändert. Die optischen Sensoren sind neben dem Programm zusätzlich mit dem Heizkörperthermostat direkt verknüpft.
Nun habe ich ein Programm zusammengestellt, dass wie folgt aufgebaut ist:
1. Wenn Zeitsteuerung "zu" UND beide Fenster zu DANN Rollo 0%
2. Wenn Zeitsteuerung "zu" UND irgendein Fenster auf DANN Rollo 15%
3. Wenn Zeitsteuerung "auf" DANN Rollo 100%
4. Wenn Rollo 0% bis kleiner 15% UND irgendein Fenster wird geöffnet DANN Rollo 15%
5. Wenn Rollo 1% bis kleiner 16% UND beide Fester werden geschlossen DANN Rollo 0%
Eigentlich recht simpel. So kann bei geschlossenem Rollo das Fenster geöffnet werden und die Lüftungsfunktion ist gegeben. Anschießend Fenster zu, Rollo auch wieder zu.
Leider bekommt der Aktor bei jedem Impuls der optischen Sensoren, egal ob offen oder geschlossen, den Befehl "100%" und ich habe keine Ahnung warum. Selbst wenn das Rollo 100% offen ist, höre ich bei Fensterbetätigung den Relaiskontakt im Aktor.
Ich habe schon hin und her kopiert. Der Aktor ist sonst nirgends verknüpft, die Fensterkontakte auch nicht (bis auf die Direktverknüpfung mit dem Thermostat).
Ich habe das Programm mal angehängt. Zum Schluss kommt nur noch ein leeres "Sonst...". Vielleicht sehe ich den Wald vor lauter Bäumen nicht. Welch eine Blamage
Gruß DerGraf
Zuletzt geändert von DerGraf am 28.05.2017, 12:18, insgesamt 2-mal geändert.
126 Kanäle in 28 Geräten und 15 CUxD-Kanäle in 5 CUxD-Geräten
CCU2 Firmware 2.41.9 - CUxD 2.10 - eMail 1.6.8 - XML-API 1.18
CCU2 Firmware 2.41.9 - CUxD 2.10 - eMail 1.6.8 - XML-API 1.18
Re: Rolloaktor spinnt
Das Programm ist zu komplex.
Jede Statusänderung der Fenster (bei Änderung auslösen) löst den Programmdurchlauf aus.
Dabei ist egal wie sich der Zustand ändert.
Wird beim Durchlauf von der ersten Zeile ab an ein wahrer Block gefunden, wird das DANN ausgeführt. In den meisten Fällen wird der 3. Block dies verursachen.
Du solltest das reguläre öffnen und schließen in ein Programm packen. Die Reaktion auf Fenster gehört in ein eigenes Programm.
Jede Statusänderung der Fenster (bei Änderung auslösen) löst den Programmdurchlauf aus.
Dabei ist egal wie sich der Zustand ändert.
Wird beim Durchlauf von der ersten Zeile ab an ein wahrer Block gefunden, wird das DANN ausgeführt. In den meisten Fällen wird der 3. Block dies verursachen.
Du solltest das reguläre öffnen und schließen in ein Programm packen. Die Reaktion auf Fenster gehört in ein eigenes Programm.
Viele Grüße!
Jörg
Jörg
-
- Beiträge: 3083
- Registriert: 23.08.2015, 11:06
- System: CCU
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 111 Mal
Re: Rolloaktor spinnt
Hallo,
JRiemann war schneller und hat es perfekt erklärt.
Auch meiner Meinung macht das Programm genau das, was Du programmiert hast.
Ich selbst meide SONSTWENN-Zweige. Packt man die in ein eigenes Programm bleibt alles schön übersichtlich.
LG
66er
JRiemann war schneller und hat es perfekt erklärt.
Auch meiner Meinung macht das Programm genau das, was Du programmiert hast.
Ich selbst meide SONSTWENN-Zweige. Packt man die in ein eigenes Programm bleibt alles schön übersichtlich.
LG
66er
Ich übernehme keine Haftung für von mir gegebene Antworten, Tipps und veröffentlichte Projekte! Jeder ist für sich selbst verantwortlich! Arbeiten an 230V sind von einer Elektrofachkraft auszuführen!
Homematic in Betrieb seit 15.08.2015, > 60 HM-Komp. | 3x USV APC ES400 | Visualisierung auf ioBroker | Audio: Home24-Apps
Raspberrymatic auf DS923+ in VMM (Produktivsystem1)
Rollläden, SSD, Wetter, Logging, Licht, RM, Sonos, Shelly
Raspberrymatic auf DS923+ in VMM (Produktivsystem2 )
Erweiterung GMA, Heizung, Licht, Shelly, SSD, Sonos
>100 Shelly-Geräte an Homematic | CCU2 endgültig in Rente | 3 Raspis als Rückfallebene für Raspimatic und ioBroker
Shelly an Homematic | Infrarot-Heizungssteuerung | Fensteröffnungszeit überwachen
Homematic in Betrieb seit 15.08.2015, > 60 HM-Komp. | 3x USV APC ES400 | Visualisierung auf ioBroker | Audio: Home24-Apps
Raspberrymatic auf DS923+ in VMM (Produktivsystem1)
Rollläden, SSD, Wetter, Logging, Licht, RM, Sonos, Shelly
Raspberrymatic auf DS923+ in VMM (Produktivsystem2 )
Erweiterung GMA, Heizung, Licht, Shelly, SSD, Sonos
>100 Shelly-Geräte an Homematic | CCU2 endgültig in Rente | 3 Raspis als Rückfallebene für Raspimatic und ioBroker
Shelly an Homematic | Infrarot-Heizungssteuerung | Fensteröffnungszeit überwachen
Re: Rolloaktor spinnt
Zu komplex? Das ist doch noch ein kleines Programm.
Ihr solltet mal die Programme zur LED Ansteuerung der Gira 6-fach Taster sehen
Wie kann der 3. Block dies verursachen? Habe ich da ein Verständissproblem? Wenn der auf "prüfen" stehen würde, wäre es klar.
Ihr solltet mal die Programme zur LED Ansteuerung der Gira 6-fach Taster sehen
Wie kann der 3. Block dies verursachen? Habe ich da ein Verständissproblem? Wenn der auf "prüfen" stehen würde, wäre es klar.
126 Kanäle in 28 Geräten und 15 CUxD-Kanäle in 5 CUxD-Geräten
CCU2 Firmware 2.41.9 - CUxD 2.10 - eMail 1.6.8 - XML-API 1.18
CCU2 Firmware 2.41.9 - CUxD 2.10 - eMail 1.6.8 - XML-API 1.18
- robbi77
- Beiträge: 13858
- Registriert: 19.01.2011, 19:15
- System: CCU
- Wohnort: Landau
- Hat sich bedankt: 182 Mal
- Danksagung erhalten: 739 Mal
Rolloaktor spinnt
Die Abfrage der Behanghöhe verstehe ich nicht ganz.
Wenn SV zu /Änderung
Und Fenster1 zu /Änderung
Und Fenster2 zu /Änderung
Dann Rollo 0%
Sonst wenn SV zu /Änderung
Und Fenster1 auf /Änderung
OderFenster2 auf /Änderung
Dann Rollo 15%
Sonst Rollo 100%
Gruß
Roberto
Wenn SV zu /Änderung
Und Fenster1 zu /Änderung
Und Fenster2 zu /Änderung
Dann Rollo 0%
Sonst wenn SV zu /Änderung
Und Fenster1 auf /Änderung
OderFenster2 auf /Änderung
Dann Rollo 15%
Sonst Rollo 100%
Gruß
Roberto
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...
Re: Rolloaktor spinnt
Zu komplex für den gewünschten Ablauf!
Ich habe auch Programme die mehrere Bildschirmseiten füllen und mehr wie 10 Blöcke haben...
Du darfst folgendes nicht vergessen: Ab dem Moment wo der Durchlauf beginnt wird "Änderung" und "Aktualisierung" wie "nur prüfen" behandelt. Die 3 Optionen haben keinerlei Einfluss auf den Ausgang des Durchlaufs. Beim Durchlauf zählt nur noch der Wahrheitsgehalt der Bedingung.
Wenn also der Durchlauf im Block 3 ankommt und die Variable auf "zu" steht, wird das folgende DANN ausgeführt. In diesem Block sind keine weiteren Bedingungen hinterlegt. Das bedeutet das dieser Block abends/nachts immer erfüllt ist. Nach "regulärem" abendlichem schließen werden die letzten beiden Blöcke also niemals geprüft.
Ich habe auch Programme die mehrere Bildschirmseiten füllen und mehr wie 10 Blöcke haben...
Du darfst folgendes nicht vergessen: Ab dem Moment wo der Durchlauf beginnt wird "Änderung" und "Aktualisierung" wie "nur prüfen" behandelt. Die 3 Optionen haben keinerlei Einfluss auf den Ausgang des Durchlaufs. Beim Durchlauf zählt nur noch der Wahrheitsgehalt der Bedingung.
Wenn also der Durchlauf im Block 3 ankommt und die Variable auf "zu" steht, wird das folgende DANN ausgeführt. In diesem Block sind keine weiteren Bedingungen hinterlegt. Das bedeutet das dieser Block abends/nachts immer erfüllt ist. Nach "regulärem" abendlichem schließen werden die letzten beiden Blöcke also niemals geprüft.
Viele Grüße!
Jörg
Jörg
Re: Rolloaktor spinnt
Im SONST-WENN reicht bei allen Zeilen nur prüfen. Die Identischen Auslöser stehen ja im ersten Block.robbi77 hat geschrieben:Die Abfrage der Behanghöhe verstehe ich nicht ganz.
Wenn SV zu /Änderung
Und Fenster1 zu /Änderung
Und Fenster2 zu /Änderung
Dann Rollo 0%
Sonst wenn SV zu /Änderung
Und Fenster1 auf /Änderung
OderFenster2 auf /Änderung
Dann Rollo 15%
Sonst Rollo 100%
Die Behanghöhenprüfung macht Sinn um "klackende" Relais zu verhindern.
Wären z.B. in Deinem Programm beide Fenster offen und eines würde geschlossen werden, dann wird versucht auf 15% zu fahren obwohl der Behang diese Position bereits hat.
Viele Grüße!
Jörg
Jörg
-
- 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: Rolloaktor spinnt
Das ist wieder so ein Fall für ignorierter Grundlagenthread. Ein Programm wird immer von oben nach unten abgearbeitet, egal welcher Trigger es anstößt. Trifft nun irgendeine Bedingung zu, wird deren DANN abgearbeitet und das Programm ist beendet. Die Ursache für das Fehlverhalten sind vielfältig. Du hast in einem Programm viele gegensinnige Befehle und Bedingungen vereint. Das kann eigentlich nur in die Hose gehen. Dann neigen noch häufig editierte Programme dazu, nicht mehr so zu funktionieren, wie sie angelegt wurden. Oft wird berichtet, das ein gelöschtes und identisch neu erstelltes Programm auf einmal funktioniert. Insofern unglückliche Zusammenstellung.
Ich habe das so bei mir gelöst, dass ich über vielfältige Bedingungen nur eine Stellvertretersystemvariable für den jeweiligen Rollladen (z.B. "Rollladensoll-Besucherklo" mit "oben" und "unten") umsteuere. Und nur wenn diese sich ändert, fährt auch der Rollladen. Das gibt mir noch mehrere Eingriffsmöglichkeiten und verhindert ein Klicken des Aktors, weil ich noch gegen die aktuelle Stellung prüfe. So habe ich eine Systemvariable "Rollladenbetrieb" die den Zustand "automatisch" und "manuell" annehmen kann. Hiermit beeinflusse ich, ob die Rollladen überhaupt automatisch fahren sollen. Dann gibt es eine Speichervariable "Rollladenstatus" mit "offen" und "geschlossen", die aber funktionell nicht so wichtig ist, und nur als Statusspeicher dient. Und dann gibt es noch eine Systemvariabele "RollladenSWu-Besucherklo" (eine solche gibt es für jedes Fenster mit Lüftungsstellung). Das ist der Sollwert für die untere Stellung. Diese variiert zwischen 0.0 (geschlossen) und 0.2 (entspr. 20% für Lüftungsstellung) und wird durch das Öffnen des Fensters umgesteuert. Diese Variable wird erstellt und dem Aktor (Kanal) zugewiesen. Somit ist sie im Dropdownmenü des Aktors auswählbar.
Wird nun das Fenster bei geschlossenem Rollladen geöffnet, fährt er auf 20%. Wird das Fenster wieder geschlossen, fährt er auf den Sollwert 0% (durch das Umschalten des Sollwertes-unten). Ist das Fenster offen und der Befehl für das Schließen des Rollladens kommt, dann läuft er nur bis zum jeweiligen Sollwert (in dem Fall 20%) und geht beim späteren Schließen des Fensters dann auf 0%. Nur bei Rollladensoll-Besucherklo = "oben" fährt er auf 100%. Das sieht auf den ersten Blick vielleicht etwas viel und verwirrend aus, aber so kann ich alle Rollladen in einem zentralen Programm bedienen (Einzelsteuerung per Taste ist natürlich immer noch möglich), und kann auch einen Automatik- oder manuellen Modus wählen. Eine automatische Steuerung bei Abwesenheit greift auf die gleichen Variablen zu und ist nur von der "verreist"-Variable zusätzlich abhängig.
Zur Verdeutlichung habe ich mal der Übersicht wegen das gepimpte Zentralprogramm (enthält nur den Besucherklo-Rollladen) und die zwei Besucherrollladensteuerungsprogramme angehängt. Eine Beschattungssteuerung ist noch nicht programmiert, da ich erst beim Nachrüsten bin. Kommt aber noch. Übrigens, ich überwache ein doppelflügliges Fenster mit nur einem optischen Sensor. Ein Foto davon habe ich hier mal irgendwo veröffentlicht.
Ich habe das so bei mir gelöst, dass ich über vielfältige Bedingungen nur eine Stellvertretersystemvariable für den jeweiligen Rollladen (z.B. "Rollladensoll-Besucherklo" mit "oben" und "unten") umsteuere. Und nur wenn diese sich ändert, fährt auch der Rollladen. Das gibt mir noch mehrere Eingriffsmöglichkeiten und verhindert ein Klicken des Aktors, weil ich noch gegen die aktuelle Stellung prüfe. So habe ich eine Systemvariable "Rollladenbetrieb" die den Zustand "automatisch" und "manuell" annehmen kann. Hiermit beeinflusse ich, ob die Rollladen überhaupt automatisch fahren sollen. Dann gibt es eine Speichervariable "Rollladenstatus" mit "offen" und "geschlossen", die aber funktionell nicht so wichtig ist, und nur als Statusspeicher dient. Und dann gibt es noch eine Systemvariabele "RollladenSWu-Besucherklo" (eine solche gibt es für jedes Fenster mit Lüftungsstellung). Das ist der Sollwert für die untere Stellung. Diese variiert zwischen 0.0 (geschlossen) und 0.2 (entspr. 20% für Lüftungsstellung) und wird durch das Öffnen des Fensters umgesteuert. Diese Variable wird erstellt und dem Aktor (Kanal) zugewiesen. Somit ist sie im Dropdownmenü des Aktors auswählbar.
Wird nun das Fenster bei geschlossenem Rollladen geöffnet, fährt er auf 20%. Wird das Fenster wieder geschlossen, fährt er auf den Sollwert 0% (durch das Umschalten des Sollwertes-unten). Ist das Fenster offen und der Befehl für das Schließen des Rollladens kommt, dann läuft er nur bis zum jeweiligen Sollwert (in dem Fall 20%) und geht beim späteren Schließen des Fensters dann auf 0%. Nur bei Rollladensoll-Besucherklo = "oben" fährt er auf 100%. Das sieht auf den ersten Blick vielleicht etwas viel und verwirrend aus, aber so kann ich alle Rollladen in einem zentralen Programm bedienen (Einzelsteuerung per Taste ist natürlich immer noch möglich), und kann auch einen Automatik- oder manuellen Modus wählen. Eine automatische Steuerung bei Abwesenheit greift auf die gleichen Variablen zu und ist nur von der "verreist"-Variable zusätzlich abhängig.
Zur Verdeutlichung habe ich mal der Übersicht wegen das gepimpte Zentralprogramm (enthält nur den Besucherklo-Rollladen) und die zwei Besucherrollladensteuerungsprogramme angehängt. Eine Beschattungssteuerung ist noch nicht programmiert, da ich erst beim Nachrüsten bin. Kommt aber noch. Übrigens, ich überwache ein doppelflügliges Fenster mit nur einem optischen Sensor. Ein Foto davon habe ich hier mal irgendwo veröffentlicht.
- Dateianhänge
Zuletzt geändert von Xel66 am 22.05.2017, 22:11, insgesamt 3-mal geändert.
-------------------------------------------------------------------------------------------
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
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
- robbi77
- Beiträge: 13858
- Registriert: 19.01.2011, 19:15
- System: CCU
- Wohnort: Landau
- Hat sich bedankt: 182 Mal
- Danksagung erhalten: 739 Mal
Re: Rolloaktor spinnt
Ja stimmt.
Ein sinnloses Funkpaket .... hmm DC in Gefahr? (ironie)
Gruß
Roberto
Ein sinnloses Funkpaket .... hmm DC in Gefahr? (ironie)
Gruß
Roberto
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...
Re: Rolloaktor spinnt
Nee... wake-up-burst aller User durch das "klacken"...robbi77 hat geschrieben:Ja stimmt.
Ein sinnloses Funkpaket .... hmm DC in Gefahr? (ironie)
Viele Grüße!
Jörg
Jörg