NEWS
Blockly Mehrfachtrigger Lichtsteuerung
-
@paul53 : Ich weiß es sehr zu schätzen, dass du dir Zeit für mich nimmst. Und meine Fragen geduldig beantwortest. Nochmals vielen lieben Dank.
In der Falls-Bedingung aktualisiere ich den Wert von ** Lichtszenario_Soundsystem** auf den Wert von Soundsystem. Da diese beiden Werte immer gegenläufig sind, sobald die Falls-Bedingung erfüllt wurde.
Wenn ich jetzt noch den Shelly Switch auf FALSE schalten möchte, wenn ** Lichtszenario_Soundsystem** = FALSE ist, kann ich das in der Falls-Bedingung nicht machen.
Muss ein zusätzliches Programm her?
-
@takahara sagte: Wenn ich jetzt noch den Shelly Switch auf FALSE schalten möchte, wenn ** Lichtszenario_Soundsystem** = FALSE ist,
"Switch" = Shelly
-
@paul53 : Ich bin gerade wieder am testen und habe das Blockly dahin angepasst, dass der Helligkeitswert des Präsenzmelders in der Push-Nachricht mit ausgegeben wird.
Laut Push-Nachricht ist dieser Wert 42.8. Warum wird das Licht bei diesem Helligkeitswert eingeschaltet? Wird die gemessene Helligkeit beim Einschalten der Lampen berücksichtig? Sprich, nur wenn dunkel = TRUE ist, soll das Licht eingeschaltet werden.
Müsste dieser Block:
Dann nicht so umgeschrieben werden? -
@takahara sagte: Dann nicht so umgeschrieben werden?
Das war mein erster Vorschlag, da ich davon ausgegangen bin, dass das Licht bei ausreichender Helligkeit auch bei Bewegung nicht eingeschaltet werden soll. Du hast es danach allerdings anders beschrieben:
Das Licht soll eingeschaltet werden, wenn Bewegung1 oder Bewegung2 oder die Helligkeit unter X% fällt (nur wenn eine Person im Raum ist) getriggert wurden.
-
@paul53: Ich hatte mich nicht eindeutig ausgedrückt. Danke dir.
-
@paul53 : Ich habe noch eine Frage.
Ich setze den Datenpunkt Lichtszenario_TV auf TRUE, wenn der aktuelle Stromverbrauch >0,26A ist. Dieser Stromwert muss ja höher sein, wie die Stromaufnahme im Standby-Betrieb, da ich die Spannungsversorgung um Standby-Betrieb ja über den Shelly abschalten möchte,
Heute Abend ist mir aufgefallen, dass die Spannungszufuhr zu Steckdose über den Shelly unmittelbar wieder ausgeschaltet wird. Da die Stromaufnahme im Standby-Betrieb unter der Schwelle von 0.26A liegt.
Die Schwelle noch weiter zu reduzieren führt nur dazu, dass der Verbraucher nicht mehr ausgeschaltet wird.
Wie könnte ich das Problem noch lösen? Kann man eine Verzögerung einbauen, die das Ausschalten um X-Sekunden / Minuten verzögert und wenn in der Zwischenzeit (während die Verzögerung noch läuft) ein Stromwert gemessen wird, der oberhalb der Schaltschwelle liegt, diese Verzögerung abgebrochen wird?
-
@takahara sagte: die Spannungszufuhr zu Steckdose über den Shelly unmittelbar wieder ausgeschaltet wird.
Beim Einschalten des Shelly? Stromspitze beim Einschalten? Dann versuche mal
-
@paul53 Hallo Paul, ich hätte noch eine weitere Frage zum Blockly und hoffe du magst mir nochmal helfen.
Die drei Trigger sind ja:
- Bewegungserkennung / Nicht-Erkennung Präsenzmelder
- Helligkeit Präsenzmelder
- Bewegungserkennung / Nicht-Erkennung Bewegungsmelder
Wenn die Helligkeit jetzt steigen sollte während das Licht AN ist, ist die Systemvariable dunkel FALSE.
Im nächsten Block (prüfe...) wird die Systemvariable dunkel FALSE sein.
Wie könnte ich die Beleuchtung ausschalten, wenn die Präsenz-/ Bewegungsmelder zwar noch Anwesenheit im Raum feststellen allerdings die Helligkeit so hoch ist, dass ich keine künstliche Beleuchtung mehr benötige?
Was ich damit sagen möchte, ist das Licht auszuschalten, falls es morgens noch in der Dunkelheit aktiviert wurde. Es über den Tag dann aber heller wird, um dann das Licht auszuschalten?Vielen Dank
Takahara
-
@paul53 :
Ich denke, dass ich meine Frage mir beantworten konnte.
Da die Variable dunkel bei Überschreitung der Helligkeit falsch ist. Somit sollte auch die Prüf-Bedingung falsch sein und Licht auf 0 setzen. Was zum Ausschalten der Beleuchtung führt, obwohl noch Präsenz im Raum festgestellt wird.
VG
Takahara -
@paul53: Hallo Paul, in der "setze Licht auf, prüfe-Bedingung wird in diesem Blockly-Script das Licht nur eingeschaltet wenn es dunkel ist und mindestens ein Bewegungsmelder eine Bewegung erkannt hat. Das ist so auch gewollt und funktioniert super.
Ich würde das Blockly-Script nun gerne dahin erweitern, dass weiterhin das Licht an geht wenn nur ein Bewegungsmelder eine Bewegung erkannt hat. Es soll allerdings nur ausgehen, wenn keiner der beiden Bewegungsmelder keine Bewegung mehr erkannt hat.
Wenn ich den ODER Baustein, gegen einen UND Baustein tausche, habe ich zwar das Problem beim Ausschalten gelöst, allerdings handle ich mir damit das Problem ein, dass das Licht nur eingeschaltet wird, wenn beide Bewegungsmelder eine Bewegung erkannt haben.
Hättest du noch eine Idee, wie ich das Problem lösen könnte?
Vielen Dank
Takahara -
@takahara sagte: Es soll allerdings nur ausgehen, wenn keiner der beiden Bewegungsmelder keine Bewegung mehr erkannt hat.
Das macht es durch die ODER-Verknüpfung.
Braucht man eine zusätzliche Ausschaltverzögerung? -
@paul53 sagte: "Das macht es durch die ODER-Verknüpfung."
Du hast recht. False & TRUE = TRUE bei einer ODER Verknüpfung. Danke dir.
Ich glaube mein Fehler liegt an den Einstellungen der Helligkeitsmessung des Bewegungsmelders. Vermute, dass wenn das Licht eingeschaltet ist, erfolgt noch eine weitere Helligkeitsmessung. Diese überschreitet dann den Schwellwert und setzt die Variable dunkel auf FALSE. Somit wird dann das Licht ausgeschaltet.
@paul53 sagte: "Braucht man eine zusätzliche Ausschaltverzögerung?":
Ich würde die Ausschaltverzögerung wie folgt lösen:
Frage: Beim ersten Durchlaufen des Blockly-Scriptes und Licht ungleich Wert vom Objekt EG_WZ_SL:3.Level und Licht > 0 wird der "steuere Befehl" für 30 Sekunden verzögert.
Was passiert, wenn während dieser 30 Sekunden ein erneuter Trigger kommt?
a) timeout wird abgebrochen und steuere-Befehl wird nicht ausgeführt
b) timeout wird wieder auf 30 Sekunden zurückgesetzt und anschließend der steuere-Befehl wird ausgeführtVG
Takahara