Helligkeit und zeitgesteuert
Moderator: Co-Administratoren
Helligkeit und zeitgesteuert
Hi,
versuche gerade ein kleines Problem zu lösen, möchte eine Beleuchtung ab einen bestimmten Dämmerungszustand einschalten, und danach zu einem bestimmten Uhrzeit ausschalten.
Das Einschalten bekomme ich schon hin, nur das ausschalten funktioniert noch nicht ganz.
Hier mal mein Programm:
(...)
Wenn Geräteauswahl Bewegungsmelder bei Helligkeit im Wertbereich kleiner als 112 bei Änderung
Dann Geräteauswahl Licht sofort Schaltzusatand Ein
Sonst,Wenn Zeitsteuerung Täglich 21:00 Uhr zum Zeitpunkt auslösen
Dann Geräteauswahl Licht sofort Schaltzustand aus
(...)
Ich denke das der erste Befehl immer wieder ausgelöst wird
Kann mir jemand helfen das zu lösen
Danke im Voraus,
Gruß
M. Z
versuche gerade ein kleines Problem zu lösen, möchte eine Beleuchtung ab einen bestimmten Dämmerungszustand einschalten, und danach zu einem bestimmten Uhrzeit ausschalten.
Das Einschalten bekomme ich schon hin, nur das ausschalten funktioniert noch nicht ganz.
Hier mal mein Programm:
(...)
Wenn Geräteauswahl Bewegungsmelder bei Helligkeit im Wertbereich kleiner als 112 bei Änderung
Dann Geräteauswahl Licht sofort Schaltzusatand Ein
Sonst,Wenn Zeitsteuerung Täglich 21:00 Uhr zum Zeitpunkt auslösen
Dann Geräteauswahl Licht sofort Schaltzustand aus
(...)
Ich denke das der erste Befehl immer wieder ausgelöst wird
Kann mir jemand helfen das zu lösen
Danke im Voraus,
Gruß
M. Z
-
- Beiträge: 12432
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: Helligkeit und zeitgesteuert
Danke ...
Zwei Programme erstellen.
Unabhängig davon mal die "Tipps für Anfänger" und das Kapitel im WebUI-Handbuch zum Thema Programmablauf (was passiert nach dem Trigger) anschauen. Dann sollte der Fehler klar sein. Sonst nachfragen.
Zwei Programme erstellen.
Unabhängig davon mal die "Tipps für Anfänger" und das Kapitel im WebUI-Handbuch zum Thema Programmablauf (was passiert nach dem Trigger) anschauen. Dann sollte der Fehler klar sein. Sonst nachfragen.
-
- 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: Helligkeit und zeitgesteuert
Das Programm ruht still vor sich hin und wird um 21 Uhr durch die Bedingungszeile im "Sonst,wenn" gestartet.
Es findet beim (dann einmaligen) Ablauf schon die erste Zeile erfüllt (es ist dunkel), führt das Dann aus (obwohl das Lich ja bereits an ist) und geht wieder schlafen.
Gruß
Manfred
Es findet beim (dann einmaligen) Ablauf schon die erste Zeile erfüllt (es ist dunkel), führt das Dann aus (obwohl das Lich ja bereits an ist) und geht wieder schlafen.
Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
Re: Helligkeit und zeitgesteuert
Hallo Manfredh,
d.h. für mich zu Verständnis, das Program arbeitet nicht nach unten weiter, sondern springt bei der ersten Bedingung wieder nach oben
Gruß
Mario
d.h. für mich zu Verständnis, das Program arbeitet nicht nach unten weiter, sondern springt bei der ersten Bedingung wieder nach oben
Gruß
Mario
-
- 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: Helligkeit und zeitgesteuert
Du bist nah dran, es zu verstehen.
Das Programm springt nicht nach oben. Das ganze läuft zweistufig ab:
[das Programm ruht]
1. Stufe
Das Programm wird durch irgendeine Zeile, in der NICHT "nur Prüfen" dahinter steht gestartet, wenn diese Zeile ihren Wahrheitsgehalt ändert.
Das hat ÜBERHAUPT NICHTS mit irgendwelchen Bedingungen zu tun.
2. Stufe
Jetzt erst erfolgt die Prüfung der Bedingungen.
Das Programm läuft ab und führt die erste von oben gefundene wahre Bedingung aus. Was in Stufe 1 zum Start des Programmes geführt hatte ist hier absolut irrelevant.
[das Programm ruht wieder]
Das Programm springt nicht nach oben. Das ganze läuft zweistufig ab:
[das Programm ruht]
1. Stufe
Das Programm wird durch irgendeine Zeile, in der NICHT "nur Prüfen" dahinter steht gestartet, wenn diese Zeile ihren Wahrheitsgehalt ändert.
Das hat ÜBERHAUPT NICHTS mit irgendwelchen Bedingungen zu tun.
2. Stufe
Jetzt erst erfolgt die Prüfung der Bedingungen.
Das Programm läuft ab und führt die erste von oben gefundene wahre Bedingung aus. Was in Stufe 1 zum Start des Programmes geführt hatte ist hier absolut irrelevant.
[das Programm ruht wieder]
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
Re: Helligkeit und zeitgesteuert
Hallo Manfredh,
ok, fast verstanden da brauch ich noch etwas Erfahrung und Beispiele... hab mir auch das Thema Programmablauf (was passiert nach dem Trigger) angeschaut... muss ich erst mal sacken lassen
hab jetzt mal zwei Programme laufen, das sollte funktionieren , bin zwar nicht der Fan von zwei Programmen wenn es mit einem auch geht.
und dann
Gruß
Mario
ok, fast verstanden da brauch ich noch etwas Erfahrung und Beispiele... hab mir auch das Thema Programmablauf (was passiert nach dem Trigger) angeschaut... muss ich erst mal sacken lassen
hab jetzt mal zwei Programme laufen, das sollte funktionieren , bin zwar nicht der Fan von zwei Programmen wenn es mit einem auch geht.
und dann
Gruß
Mario
-
- Beiträge: 14085
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 580 Mal
- Danksagung erhalten: 1492 Mal
Re: Helligkeit und zeitgesteuert
Lösung des Problems: Du musst im WENN dafür sorgen, dass diese Abfrage ein FALSCH ergibt, wenn Du die Beleuchtung ausschalten willst. Natürlich darf diese Bedingung ein gewolltes Einschalten nicht verhindern.
Daraus ergibt sich in (menschlicher) logischer Konsequenz, dass man einfach prüft, ob die Beleuchtung an ist. Dann funktioniert es auch innerhalb eines Programms. That's all. Der beste Weg ohne Stolpersteine ist aber, gegensinnige Aktionen in zwei Programmen abzuarbeiten. Die Logik der CCU ist nicht immer gleich der menschlichen Sichtweise. Aber das ist alles in den Einsteigertipps indem als Download beim Hersteller erhältlichen Handbuch für die WebUI beschrieben, deren Lektüre überaus empfehlenswert ist.
Gruß Xel66
Daraus ergibt sich in (menschlicher) logischer Konsequenz, dass man einfach prüft, ob die Beleuchtung an ist. Dann funktioniert es auch innerhalb eines Programms. That's all. Der beste Weg ohne Stolpersteine ist aber, gegensinnige Aktionen in zwei Programmen abzuarbeiten. Die Logik der CCU ist nicht immer gleich der menschlichen Sichtweise. Aber das ist alles in den Einsteigertipps indem als Download beim Hersteller erhältlichen Handbuch für die WebUI beschrieben, deren Lektüre überaus empfehlenswert ist.
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: 4155
- Registriert: 09.09.2012, 10:41
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 78 Mal
- Danksagung erhalten: 301 Mal
Re: Helligkeit und zeitgesteuert
Und wenn man die Logik mal verstanden hat, funktioniert es auch so:
Da wird nämlich um 21 Uhr das Programm gestartet, findet die Bedingung unwahr und führt das Sonst aus.
Das Programm wird außerdem noch ausgeführt
- um 16 Uhr mit EIN wenn es bereits dunkel ist oder mit AUS wenn es noch nicht dunkel ist
- wenn es dunkel wird mit EIN wenn es zwischen 16 und 21 Uhr ist oder mit AUS wenn es außerhalb dieser Zeit ist.
Belastet allerdings den DutyCycle (erlaubte Sendezeit) ein wenig wegen unnötiger AUS-Befehle. Soll auch nur als Beispiel für das Verständnis der Logik dienen.
Gruß
Manfred
Code: Alles auswählen
Wenn
Helligkeit kleiner als 112 bei Änderung auslösen
und
Zeitsteuerung von 16 bis 21 Uhr zu Zeitpunkten auslösen
Dann
Licht an
Sonst
Licht aus
Das Programm wird außerdem noch ausgeführt
- um 16 Uhr mit EIN wenn es bereits dunkel ist oder mit AUS wenn es noch nicht dunkel ist
- wenn es dunkel wird mit EIN wenn es zwischen 16 und 21 Uhr ist oder mit AUS wenn es außerhalb dieser Zeit ist.
Belastet allerdings den DutyCycle (erlaubte Sendezeit) ein wenig wegen unnötiger AUS-Befehle. Soll auch nur als Beispiel für das Verständnis der Logik dienen.
Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.