Rolladensteuerung funktioniert nicht wie erwartet
Moderatoren: jmaus, Co-Administratoren
-
- Beiträge: 3
- Registriert: 26.05.2022, 18:31
- System: Alternative CCU (auf Basis OCCU)
Rolladensteuerung funktioniert nicht wie erwartet
Hallo,
ich habe bei mir für insgesamt 4 Fenster eine Rolladensteuerung realisiert, die basierend auf dem aktuellen Sonnenstand und der Tatsache ob die Sonne scheint oder nicht die Rolläden hoch und runter fährt. Bei 3 der Fenster macht sie das auch ganz problemlos, beim 4. allerdings fährt der Rolladen nicht mehr basierend auf dem Sonnenstand nach oben. Zur weiteren Erklärung habe ich einen Screenshot des Programms angehängt:
Da vor dem fraglichen Fenster ein weiteres Haus steht, gibt es hier im Unterschied zu den 3 anderen Fenstern hier 2 Kriterien die der Sonnenstand erfüllen muss damit der Rolladen hoch fährt, nämlich Azimut größer als 269° bei Elevation kleiner als 26°. Leider fährt bei erreichen der beiden Werte der Rolladen nicht hoch und ich vermute dass es irgendwie an der manchmal etwas seltsamen Programmlogik der Homematic liegt.
Die Auslösung durch die "Sonst, wenn..." Bedingung funktioniert übrigends.
Kann mir hier bitte jemand helfen?
ich habe bei mir für insgesamt 4 Fenster eine Rolladensteuerung realisiert, die basierend auf dem aktuellen Sonnenstand und der Tatsache ob die Sonne scheint oder nicht die Rolläden hoch und runter fährt. Bei 3 der Fenster macht sie das auch ganz problemlos, beim 4. allerdings fährt der Rolladen nicht mehr basierend auf dem Sonnenstand nach oben. Zur weiteren Erklärung habe ich einen Screenshot des Programms angehängt:
Da vor dem fraglichen Fenster ein weiteres Haus steht, gibt es hier im Unterschied zu den 3 anderen Fenstern hier 2 Kriterien die der Sonnenstand erfüllen muss damit der Rolladen hoch fährt, nämlich Azimut größer als 269° bei Elevation kleiner als 26°. Leider fährt bei erreichen der beiden Werte der Rolladen nicht hoch und ich vermute dass es irgendwie an der manchmal etwas seltsamen Programmlogik der Homematic liegt.
Die Auslösung durch die "Sonst, wenn..." Bedingung funktioniert übrigends.
Kann mir hier bitte jemand helfen?
-
- Beiträge: 12434
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: Rolladensteuerung funktioniert nicht wie erwartet
Programm löschen und neu anlegen ... bei der Gelegenheit "SonstWenn" im Wenn mit ODER integrieren. Macht ja das gleiche.
Vielleicht mal die CCU neu starten, hat teilweise auch geholfen.
Gruß
Bruno
Vielleicht mal die CCU neu starten, hat teilweise auch geholfen.
Beides ist "gleichzeitig" (UND) erfüllt und es startet trotzdem nicht?
Gruß
Bruno
- HM-Villa
- Beiträge: 507
- Registriert: 24.01.2022, 10:13
- System: CCU
- Hat sich bedankt: 29 Mal
- Danksagung erhalten: 119 Mal
Re: Rolladensteuerung funktioniert nicht wie erwartet
VerUNDete Bedingungen brauchen einen eindeutigen Trigger. Wenn beide auf Änderung auslösen sollen, müssten die ja zeitgleich wahr werden, um das erste Dann abzuarbeiten. Und das passiert NIE. Du kannst jeweils einen Auslöser nehmen und den anderen Wert prüfen und verODERt dann andersrum. Also etwa so:
Code: Alles auswählen
Wenn
Systemzustand SV_Sonne_Azimut im Wertebereich/mit Wert > 269 bei Änderung auslösen
UND
Systemzustand SV_Sonne_Elevation im Wertebereich/mit Wert < 26 nur prüfen
ODER
Systemzustand SV_Sonne_Azimut im Wertebereich/mit Wert > 269 nur prüfen
UND
Systemzustand SV_Sonne_Elevation im Wertebereich/mit Wert < 26 bei Änderung auslösen
DANN...
______________________________________________________
950 Kanäle in 201 Geräten und 39 CUxD-Kanäle in 5 CUxD-Geräten
950 Kanäle in 201 Geräten und 39 CUxD-Kanäle in 5 CUxD-Geräten
-
- Beiträge: 12434
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: Rolladensteuerung funktioniert nicht wie erwartet
Das ist falsch, siehe WebUI-Handbuch und sonstige Erklärungen zum Programmablauf.
-
- Beiträge: 14148
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 583 Mal
- Danksagung erhalten: 1497 Mal
Re: Rolladensteuerung funktioniert nicht wie erwartet
Nicht richtig und auch definitiv nicht ganz falsch. Das Problem ist, dass beide Variablen durch die Rechenroutine gleichzeitig gesetzt werden. Das gibt nach meinen Beobachtungen Probleme beim sauberen Triggern von Programmen. Hier hilft nur, einen der Trigger zu einer Bedingung (nur prüfen) zu degradieren. Kommt drauf an, was genau erreicht werden soll (ob primär nach der Elevation getriggert werden soll und die Azimutabfrage nur zur Feststellung dient, dass es sich um die zweite Tageshälfte handelt. Solange beide Auslöser gleichzeitig triggern, wird die Bedingungsprüfung nicht immer zuverlässig angestoßen.
Gruß Xel66
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
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
-
- Beiträge: 3
- Registriert: 26.05.2022, 18:31
- System: Alternative CCU (auf Basis OCCU)
Re: Rolladensteuerung funktioniert nicht wie erwartet
@Gluehwurm:
ich werde das Programm mal löschen und neu anlegen, beide Bedingungen sind auf jeden Fall erfüllt.
@Xel66
das würde ja dann in die gleiche Richtung wie HM_Villas Vorschlag gehen. Ich hatte das so auch schon mal versucht, hat allerdings nicht geholfen.
ich werde das Programm mal löschen und neu anlegen, beide Bedingungen sind auf jeden Fall erfüllt.
@Xel66
das würde ja dann in die gleiche Richtung wie HM_Villas Vorschlag gehen. Ich hatte das so auch schon mal versucht, hat allerdings nicht geholfen.
-
- Beiträge: 14148
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 583 Mal
- Danksagung erhalten: 1497 Mal
Re: Rolladensteuerung funktioniert nicht wie erwartet
Richtung ja, aber Grundaussage nein. Dein Problem ist das GLEICHZEITIGE Setzen der beiden als Trigger verwendeten Variablen. Und an dieser Stelle kommt es zu Problemen. Einen der Trigger musst Du opfern und als Bedingung (nur prüfen) verwenden. Brauchst Du beide, musst Du Dir was einfallen lassen (z.B. eine andere um eine Sekunde verzögerte Systemvarible dazwischenschalten). Auch mit der von HM_Villa vorgeschlagenen Lösung existieren in diesem Programm eben zwei Trigger, die gleichzeitig gesetzt werden. Nur eben in zwei verODERten Blöcken. Macht nicht wirklich einen Unterschied. Die CCU kann nicht entscheiden, welcher dieser Trigger diese Bedingungsprüfung gestartet hat und tut dann wohl nichts (besonders dann, wenn es mehrere gleichartige Aktionen gibt).andreas301 hat geschrieben: ↑26.05.2022, 21:38@Xel66
das würde ja dann in die gleiche Richtung wie HM_Villas Vorschlag gehen.
Ich habe bei mir das Problem auf eine andere Weise gelöst (weil ich für die Beschattungssteuerung auch Azimut und Elevation verwende). Ich hatte aus "historischen Gründen" eine Scriptlösung, die diese Werte berechnet, weil ich sie schon vorher für andere Zwecke verwendet hatte. Meine Wetterstationsintegration (Froggit) schreibt aber ebenfalls diese Werte als Systemvariable in die CCU (aber eben mit einem anderen Zeittakt und somit zu einem anderen Zeitpunkt). Dadurch habe ich die Trigger entzerrt.
Du könntest z.B. in Deinem Programm, welches die Variablen setzt, das Script in zwei aufteilen und in einem nur den Azimut in die Variable schreiben lassen und im anderen die Elevation eine Sekunde verzögert. Solltest Du im Scripting nicht so fit sein, fügst Du das gleiche Script in beide Aktionen ein und kommentierst am Ende das Setzen jeweils einer der Systemvariablen (kannst Du ja am Namen identifizieren) durch Voranstellen eines Ausrufezeichens und eines nachfolgenden Leerzeichens aus. Im einfachsten Falle besteht Dein Script ja nur aus zwei Zeilen. Dann eben eine Zeile in ein Script in eine Aktion und die andere in eine ander Aktion im DANN und die zweite verzögerst Du um eine Sekunde.
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
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
-
- Beiträge: 12434
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
-
- Beiträge: 14148
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 583 Mal
- Danksagung erhalten: 1497 Mal
Re: Rolladensteuerung funktioniert nicht wie erwartet
Ja, war in ähnlichen Zusammenhang schon mal ein Thema. Da ging es auch um das gleichzeitige Setzen von Variablen und ihrer Verwendung als Trigger. Habe das Thema mir leider nicht gebookmarkt. Nach meiner Erinnerung noch gar nicht so lange her (maximal 2021). Damals war es wohl das in der Zwischenzeit überholte aufwändige Astrozeitenscript, mit den als Dezimalzahlen gewandelten Uhrzeiten. Hier werden auch alle Werte quasi gleichzeitig geschrieben.
Gruß Xel66
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
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
-
- Beiträge: 12434
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: Rolladensteuerung funktioniert nicht wie erwartet
Ok ... eigentlich sollte dann höchstens doppelt gestartet werden ... aber wenn die Werte sowieso (fast) gleichzeitig geschrieben werden, kann ja der (im entsprechenden Skript) letztere der Trigger sein.