Hallo Hugo,
danke für Dein Interesse.
Also, ich versuche es mal:
In der Küche habe ich einen Helligkeitssensor, einen BWM und ein paar Lampen.
Der HS meldet pro Zyklus einen Wert der Helligkeit an den CX, so zwischen 25000 = Sonne scheint direkt in die Fenster und 100 = Rolladen runter und Licht aus.
Durch Probieren habe ich herausbekommen, dass ich ab ca. 16000 (Meldung des HS) Licht in der Küche benötige, falls ich in der Küche bin => BWM meldet Anwesenheit in der Küche. Werden diese beiden Bedingungen wahr, BWM meldet Anwesenheit und Schwellenwert von 16000 wird unterschritten, schaltet der CX das Licht in der Küche, also dem Raum, in dem auch der HS hängt, ein. Das führt natürlich dazu, dass der HS eine Lichtwertsteigerung von ca. 5000 auf 21000 meldet, da ja die Küche jetzt heller ist. Damit ist der Schwellwert von 16000 aber überschritten und eine der zwei Bedingungen nicht mehr wahr. Also schaltet der CX das Licht wieder aus und so weiter und so weiter....
Ich habe mir jetzt schon ein paar Tage den Kopf zerbrochen wie ich das lösen könnte, evtl. mit einem Flag oder Differenzbildung, komme aber auf keine brauchbare Lösung.
Die Logik könnte evtl. so aussehen:
IF BWM = true
AND IST-Lichtmenge - MEHR-Lichtmenge-durch-Lampen < Unterer-Schwellenwert THEN
Lampen-Ein
ELSE
Lampen-Aus
END_IF
oder so ähnlich...
Was den Baustein betrifft, schön wäre, wenn er
1. einen Eingang für einen unteren Schwellenwert
2. einen Eingang für einen oberen Schwellenwert
3. einen Eingang für eine Entprellzeit (wie DEBOUNCE zum Vermeiden von Flattern)
und
4. einen Ausgang für die Steuerung der Lampen hätte.
So, ich hoffe, ich habe das einigermassen verständlich erklärt. Falls nicht bin ich zu weiteren Ausführungen gerne sofort bereit.
Gruss
Majaestix