Licht geht aus wenn Rollos runter gehen

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Hütte
Beiträge: 746
Registriert: 08.02.2017, 11:08
Hat sich bedankt: 32 Mal
Danksagung erhalten: 75 Mal

Re: Licht geht aus wenn Rollos runter gehen

Beitrag von Hütte » 16.12.2018, 17:54

...
Das würde aber m.E. aber immer noch nicht erklären, warum die Lichter ausgehen, wenn die Rolloaktoren angesprochen werden.
Ich denkeich werde mir die Mühe machen und die betroffenen Aktoren mal zu entfernen und neu anzulernen.
...
Doch. Dieses Programm erklärt genau, warum die Lampen ausgeschaltet werden.
Deine SV wechselt auf "dunkel" und triggert somit dein Programm zur Anwesenheitssimulation. Da aber nicht alle Bedingungen wahr sind, die ein Einschalten bewirken sollen, läuft es in den bedingungslosen "Sonst"-Zweig und schaltet somit alle Lampen aus.

Also ein Ablernen und neu Anlernen kannst du dir sparen, zumal du damit alle Programme "kaputt" machst, die Geräte benutzen, die du ablernst. Denn beim Ablernen werden diese Geräte gnadenlos aus allen Programmen entfernt, in denen sie benutzt wurden.

Statt des "Sonst"-Zweiges solltest du besser einen "Sonst-Wenn"-Zweig benutzen und dort die Bedingungen hinterlegen, die zu einem Ausschalten der Lampen führen sollen. Ist sicherer.

Xel66
Beiträge: 14149
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: Licht geht aus wenn Rollos runter gehen

Beitrag von Xel66 » 16.12.2018, 21:59

Homematic9916 hat geschrieben:
16.12.2018, 17:35
Das würde aber m.E. aber immer noch nicht erklären, warum die Lichter ausgehen, wenn die Rolloaktoren angesprochen werden.
Das ist das, was Du wahrnimmst! Aber beide Aktionen werden vermutlich lediglich den gleichen Trigger haben. Das Licht geht aus, weil es über die gleiche Systemvariable gesteuert wird, wie die Rollladen und nicht weil die Rollladen fahren.

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

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: Licht geht aus wenn Rollos runter gehen

Beitrag von manfredh » 17.12.2018, 08:58

Hütte hat geschrieben:
16.12.2018, 17:54

Doch. Dieses Programm erklärt genau, warum die Lampen ausgeschaltet werden.
Deine SV wechselt auf "dunkel" und triggert somit dein Programm zur Anwesenheitssimulation. Da aber nicht alle Bedingungen wahr sind, die ein Einschalten bewirken sollen, läuft es in den bedingungslosen "Sonst"-Zweig und schaltet somit alle Lampen aus.
Und wieder ein Fall von vom TE nicht verstandener Logik der Programme...

Programme laufen nicht erst, wenn ein ganzer Bedingunsgblock erfüllt ist, sondern bereits, wenn eine einzelne Zeile ihren Wahrheitsgehalt ändert.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

Homematic9916
Beiträge: 25
Registriert: 08.08.2017, 21:15

Re: Licht geht aus wenn Rollos runter gehen

Beitrag von Homematic9916 » 17.12.2018, 18:20

Hallo zusammen,

Prima Jungs. Vielen Dank für die Tipps. Ich habe es zwar noch nicht ganz geblickt aber eure Begründung klingt logisch.
Ja, in der Tat mit der Logik der Programmierung tue ich mich schwer.
Das muss ich mir nochmal reinziehen und dann abändern.

Habe gerade einen ähnlichen Fall in dem die Weihnachtsbeleuchtung ebenso in Abhängigkeit der Variable Hell/Dunkel geschaltet werden soll, gleichzeitig aber nicht die gesamte Nacht an sein soll, sondern nur bis ca. 0:30. eine Kombination aus der Systemvariablen und einem Zeitbaustein in einem Programm klappt aber nicht.

Liebe Grüße

Rüdiger

Hütte
Beiträge: 746
Registriert: 08.02.2017, 11:08
Hat sich bedankt: 32 Mal
Danksagung erhalten: 75 Mal

Re: Licht geht aus wenn Rollos runter gehen

Beitrag von Hütte » 17.12.2018, 18:43

dann schmeiß doch mal für den Anfang bei deinem Programm für die Weihnachtsbaumbeleuchtung die Variable "Hell" raus und ersetze sie durch die direkte Abfrage des Helligkeitssensors

Code: Alles auswählen

Bedingung: Wenn...
Zeitsteuerung

    Zeit: Zeitbereich von 16:00 Uhr bis 23:00 Uhr
    Serienmuster: täglich, jeden Tag
    Gültigkeitsdauer: Beginn: 31.12.2015, kein Enddatum


 zu Zeitpunkten auslösen
UND
Geräteauswahl BWM_vorn_rechts:1 bei Helligkeit im Wertebereich / mit Wert kleiner oder gleich 102 bei Änderung auslösen
ODER
Aktivität: Dann...Vor dem Ausführen alle laufenden Verzögerungen für diese Aktivitäten beenden (z.B. Retriggern).
Geräteauswahl Aussenlicht_vorn:1 verzögert um 1 Sekunden Schaltzustand: ein
Geräteauswahl Steckdose_Wintergarten:1 verzögert um 3 Sekunden Schaltzustand: ein
Geräteauswahl Terrassenlicht:1 verzögert um 2 Sekunden Schaltzustand: ein
Aktivität: Sonst...Vor dem Ausführen alle laufenden Verzögerungen für diese Aktivitäten beenden (z.B. Retriggern).
Geräteauswahl Aussenlicht_vorn:1 verzögert um 1 Sekunden Schaltzustand: aus
Geräteauswahl Steckdose_Wintergarten:1 verzögert um 3 Sekunden Schaltzustand: aus
Geräteauswahl Terrassenlicht:1 verzögert um 2 Sekunden Schaltzustand: aus
So sieht bei mir dass Programm aus, wenn ich es mir über "Drucken" anzeigen lasse. Dazu wird das Addon "Programme drucken" benötigt. Und es zeigt dir wenigstens die Einstellungen richtig an, die im Zeitmodul gesetzt sind. Ein Screenshot zeigt es nur unvollständig an.

Ich schalte damit mehrere Geräte ein und auch wieder aus. Aus Gründen der Funkhygiene schalte ich sie versetzt ein und aus, damit es nicht zu Kommunikationsproblemen kommt.

Homematic9916
Beiträge: 25
Registriert: 08.08.2017, 21:15

Re: Licht geht aus wenn Rollos runter gehen

Beitrag von Homematic9916 » 17.12.2018, 19:33

Hallo,

Danke für die Tips. Wollte gerade die Programme ändern und habe fest gestellt, dass mein Duty Cycle bei über 90% steht. :(

Irgendwie macht das so kein Spaß.
Jetzt kann ich das auch noch suchen.

Liebe Grüße

Rüdiger

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: Licht geht aus wenn Rollos runter gehen

Beitrag von manfredh » 17.12.2018, 20:04

Homematic9916 hat geschrieben:
17.12.2018, 19:33
Danke für die Tips. Wollte gerade die Programme ändern und habe fest gestellt, dass mein Duty Cycle bei über 90% steht. :(
Auch das kann (oder ist eher ein "wird") an der nicht verstandenen Logik der Programme liegen. Das sind - leider anfangs schwer zu begreifende - Basics, ohne deren Verständnis komplexere Themen keinen Spass machen.

Als erster Gedankenansatz:

Jede Zeile, hinter der nicht "nur Prüfen" steht, kann alleine ein Programm starten. Erst dann wird das bis dahin schlafende Programm einmalig abgearbeitet und prüft die Bedingungsblöcke im Ganzen.

Das führt bei ungünstig programmierten Programmen zu
- wiederholter Auslösung und erneuter Ansteuerung bereits erledigter Aktionen. Gerne, wenn "bei Aktualisierung auslösen" gewählt ist - bei Temp.-Sensoren z.B. dann im 3-Minuten Takt.
- durchlaufen eines nicht erfüllten WENN und Ausführen des unbedingten SONST (siehe oben).
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

Hütte
Beiträge: 746
Registriert: 08.02.2017, 11:08
Hat sich bedankt: 32 Mal
Danksagung erhalten: 75 Mal

Re: Licht geht aus wenn Rollos runter gehen

Beitrag von Hütte » 18.12.2018, 00:10

Der TE sollte sich mal den Artikel von Funkleuchtturm auf seiner Homepage hier https://www.stall.biz/project/tutorial- ... ebui-logik mal in Ruhe zu Gemüte ziehen.

Auch ich, als Softwareentwickler, hatte am Anfang Schwierigkeiten, mich mit der besonderen Ablauflogik für Programme auf der CCU/RaspberryMatic "anzufreunden". Denn normalerweise geht man halt vom logischen Standpunkt davon aus, dass das Programm erst getriggert wird, wenn ALLE auslösenden Bedingungen zutreffen. Aber hier ist es halt eben anders.

Sobald bei einem Programm auch nur eine der WENN-Bedingungen, die, wie von Manfred erwähnt, nicht auf "nur Prüfen" gesetzt ist, zu einem geänderten TRUE oder FALSE führt, dann wird das Programm komplett von oben bis unten abgearbeitet und alle Bedingungen werden erneut geprüft, wie der aktuelle Zustand der jeweiligen Bedingung ist.

Aber wenn ich mir so die Namen seiner SV anschaue, dann hat der TE wahrscheinlich schon auf der Webseite von Funkleuchtturm "gespickt" und einige Sachen bei sich implementiert. Aber eben nur nach der Copy-Paste-Methode, ohne die Logik richtig verstanden zu haben.

Und wenn bei einer Bedingung "bei Aktualisierung" eingestellt ist, wie beim TE im Programm "Hell oder Dunkel", dann führt jede Änderung des Wertes in der Bedingung dazu, dass dieses Programm ausgeführt wird. In seinem Fall wird jedes Mal, wenn sich der Sonnenstand ändert und dabei größer als -2 Grad ist, die Variable "Hell" neu gesetz. Nicht auszudenken, wenn er ein Programm hat, dass auf "bei Aktualisierung" diese Variable prüft und dann z.B. Lampen ausschaltet oder Rollläden hochfährt. Denn dann wird jedes Mal, wenn die Sonne am Vormittag immer höher steigt und am Nachmittag wieder sinkt, durch sein Programm "Hell oder Dunkel" die SV aktualisiert und somit, falls alle anderen Bedingungen in den anderen Programmen zu diesem Zeitpunkt ebenfalls ein TRUE ergeben, ein Ausschaltsignal an die Lampen oder ein Signal zum Hochfahren der Rollos gesendet. Das treibt dann natürlich den Duty Cycle nach oben und führt im Falle von Rollladen-Aktoren dazu, dass dort verdammt oft ein Klicken zu hören ist.

Im Gegensatz zu Unterputzaktoren für Lichtschalter, die kennen nur den Zustand "Relais offen" oder "Relais geschlossen" und ändern somit auch nicht mehr ihren Zustand, in dem sie sich gerade befinden, auch wenn sie mehrfach denselben Befehl erhalten, sind Aktoren für Rollläden ein verdammt guter Indikator für "schlechte" Programme im Sinne von HomeMatic. Denn sie arbeiten mit zwei Relais. Eins für das Hochfahren und eins für das Runterfahren. Und die schalten bei jedem Befehl und ziehen das entsprechende Relais an, egal, ob sich das Rollo schon in der bereits gewünschten Position befindet oder nicht. Wenn also gerade diese Aktoren sich immer wieder zwischendurch durch Geräusche bemerkbar machen, dann sollte man schnellstmöglich die Programme prüfen und zusätzliche Bedingungen einführen, wie zum Beispiel das Prüfen (!!!) der aktuellen Behanghöhe. Und wenn mann schon dabei ist, ebenfalls andere Programme checken, ob man auch dort nicht durch zusätzliche Bedingungen den aktuellen Stand eines Aktors prüft, um ihn nicht mehrfach ein- oder auszuschalten. Das spart ungemein an Funkverkehr und schont den Aktor vor frühzeitiem Verschleiß.

Homematic9916
Beiträge: 25
Registriert: 08.08.2017, 21:15

Re: Licht geht aus wenn Rollos runter gehen

Beitrag von Homematic9916 » 18.12.2018, 00:26

Hallo zusammen,

Erst mal ganz herzlichen Dank.
Aufgrund Eures inputs habe ich mal alles durchgeforstet.
Zeitbausteine zum grossen Teil gelöscht, da die Bedingungen für eine Variable oft ebenso noch mit Zeitangaben gekoppelt waren.
Wenn ich unbedingt Zeitbausteine benötige habe ich sie auf periodisch auslösen alle 10 Minuten oder so gestellt.
Ebenso die meisten Sachen anstelle bei Aktualisierung auslösen auf bei Änderung auslösen eingestellt und überall sonst wenn dann Bedingungen eingebaut.
Bis jetzt sieht es gut aus und nach einem Neustart bleibt auch mein Duty Cycle in Grenzen (um die 20%).
Die Seiten von Eugen Stall kenne ich natürlich 😬, wie vermutet ist da einiges her, auch einen Rayniman von ihm habe ich im Einsatz.
Die Erklärung der Logik zur Programmierung die er darstellt habe ich mir auch schon xmal angeschaut. Aber so gaaanz will mir das noch nicht einleuchten.
Die nächsten Tage werde ich mal beobachten ob der Rest noch geht.

Grosses Dankeschön an alle !

Gruss

Rüdiger

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: Licht geht aus wenn Rollos runter gehen

Beitrag von manfredh » 18.12.2018, 09:32

Du tätest dir selbst einen großen Gefallen, wenn du die beiden Beiträge über deinem so lange liest, bis du sagst "ah, jetzt, ja"!".

Wenn du Fragen dazu hast, stelle sie.

Einmal begriffen ist die Logik glasklar. Das bedeutet natürlich nicht, dass man dann nicht doch gelegentlich in die Falle tappt... :mrgreen:
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

Antworten

Zurück zu „RaspberryMatic“