Einfache Lichtsteuerung mit Bewegungsmeldung

Begonnen von Petrocelli63, 27 November 2018, 07:05:26

Vorheriges Thema - Nächstes Thema

CoolTux

Und was ist wenn genug Tageslicht rein scheint und Du gar kein Licht benötigst  ;)
Daher wie MadMax-FHEM bereits schrieb. Genau aufzeichnen und alles nötige für eine Abfrage festhalten.
Meine persönliche Meinung/Erfahrung. Gerade Lichtsteuerung sollte man versuchen in eine dokumentierte 99_myUtils unter zu bringen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Neuhier

Mein Bad liegt innen, keine Fenster.
Außerdem könnte man einen Zeitraum festlegen, wo nix geschalten wird.
Wie gesagt, bisher nur Theorie, nehme aber gern jeden Schnipsel an Tips auf.

CoolTux

Zitat von: Neuhier am 28 November 2018, 09:14:09
Mein Bad liegt innen, keine Fenster.
Außerdem könnte man einen Zeitraum festlegen, wo nix geschalten wird.
Wie gesagt, bisher nur Theorie, nehme aber gern jeden Schnipsel an Tips auf.

Dann ist die Tageslichtabfrage ja absolet.
Mein Tip. Bau Dir ein Testsystem auf in einer virtuellen Umgebung. Und erstelle für Deine Geräte einfach Dummys. Diese kannst Du dann schalten und somit Dein Notify oder Deine myUtils testen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Neuhier

Bin schon dabei.
Ist aber keine "einfache" Lichtsteuerung, im Sinne des TE´s.
Bewegungsmelder und Türkontakt sind von Xiaomi, Dimmer ein HM-LC-Dim1t-CV.
Der BM übergibt das Signal an den Dimmer, damit der entsprechend dem Zeitplan auf xx% hochfährt.
Türkontakt zu - Licht bleibt an, Türkontakt nicht zu - Licht geht nach eingestellter Zeit aus.
Der BM kommt innen hin, damit er nicht durch Bewegung im Flur ausgelöst wird.

CoolTux

Zitat von: Neuhier am 28 November 2018, 09:31:45
Bin schon dabei.
Ist aber keine "einfache" Lichtsteuerung, im Sinne des TE´s.
Bewegungsmelder und Türkontakt sind von Xiaomi, Dimmer ein HM-LC-Dim1t-CV.
Der BM übergibt das Signal an den Dimmer, damit der entsprechend dem Zeitplan auf xx% hochfährt.
Türkontakt zu - Licht bleibt an, Türkontakt nicht zu - Licht geht nach eingestellter Zeit aus.
Der BM kommt innen hin, damit er nicht durch Bewegung im Flur ausgelöst wird.
Also definitiv was für eine myUtils, wenn nicht sogar eine eigene Badlicht myUtils. Aber wir schweifen ab  ;D

Viel Erfolg auf jeden Fall. Und weißt ja, wenn Fragen dann Fragen.  ;)
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Petrocelli63

Nein, ich schalte nicht mit einem Wandschalter, sondern über Alexa. Aber die Logik ist eigentlich die gleiche.
Was für ein gefummel  :o
Das sind doch eigentlich die Grundzüge eine Haussteuerung.
Das Licht schalten sollte immer manuell und automatisch möglich sein.
Grüsse

Petrocelli63

Guten Morgen,
nächstes Problem:
Wie kann ich ein notify setzten, wenn der Einschaltbefehl über Alexa kommt.
Ich muß das irgendwie differenzieren, wenn der Einschaltbefehl von Alexa kommt, anstatt vom Bewegungsmelder, damit ich den Dummy setzen kann.
Gruß
Peter

MadMax-FHEM

#22
Zitat von: Petrocelli63 am 29 November 2018, 05:51:56
Guten Morgen,
nächstes Problem:
Wie kann ich ein notify setzten, wenn der Einschaltbefehl über Alexa kommt.
Ich muß das irgendwie differenzieren, wenn der Einschaltbefehl von Alexa kommt, anstatt vom Bewegungsmelder, damit ich den Dummy setzen kann.
Gruß
Peter

Entweder per Alexa nicht direkt den Aktor schalten, sondern einen (Zwischen)Dummy.

Dann notify auf den "Alexa-Dummy" und da dann eben den Aktor und sich in einem "Steuer-Dummy" merken woher (zuletzt) geschalten wurde...

Also im "Steuer-Dummy" steht immer wodurch zuletzt geschalten wurde.

Auf ein off des eigentlichen Aktors den Steuer-Dummy wieder zurücksetzen...


Es gibt auch ein Modul, wo in einem Reading der letzte Alexa-Befehl steht: https://forum.fhem.de/index.php/topic,82631.0.html
(aber den Thread mal "überfliegen" und sich der möglichen "Probleme" bewusst werden: es kommt [dank Amazon] immer wieder mal zu "Anmeldeproblemen" / daher habe ich das Modul aktuell noch nicht auf meinem Hauptsystem im Einsatz / was schade ist aber ist halt so)


EDIT: statt einem weiteren Dummy, der sich "merkt" woher der letzte Einschaltbefehl kam, kann man das nat. per "setreading Aktor onCmdFrom Alexa|Bewegungsmelder|..." auch direkt im Aktor hinterlegen.

EDIT2: wenn ich nur unter bestimmten Bedingungen schalten will bzw. eher wenn ich ein Schalten unter gewissen Bedingungen verhindern will, muss jedes Schalten per Logik erfolgen, es darf also keine direkte Kopplung zwischen "Auslöser" und Aktor geben. Heißt auch: kein Licht ohne fhem! (fhem stürzt ab, HW fällt aus, doch etwas in der Logik übersehen, ...)


ABER: du merkst jetzt hoffentlich, dass das doch schon mehr "Gebastel" ist/wird als saubere Logiksteuerung!

Ich würde wirklich erst die ganze Logik durchdenken und hinschreiben.
Also wodurch kann soll alles geschalten werden...
Unter welchen Bedingungen soll es genau wie geschalten werden.
Und genau unter welchen Bedingungen etwaige automatismen unterbunden werden sollen.

Und dann versuchen sich eine Gesamtlogik zu überlegen und die dann "durchspielen" um etwaige "Lücken" zu finden...

Und erst dann an die Umsetzung.
Klar vermutlich mit (Fein)Justage aber eben (eigentlich/hoffentlich) nicht (mehr) mit "Gebastel" und "Notgefrikel"...
Wenn das wieder absehbar wird: Logik neu überdenken und neu Aufsetzen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

oetti77

Moin zusammen,

das Thema "Lichtsteuerung" ist in der Tat sehr interessant, da zumindest alle in die gleichen "Probleme" reinlaufen  8)
Gibt es eigentlich eine Möglichkeit den ausgelösten "on-for-timer" abzubrechen bzw. zurückzusetzen?

Mal rein auf den Bewegungsmelder bezogen wäre es ja eigentlich geschickt, den Timer wieder auf Anfang zu setzen, sobald innerhalb der ablaufenden Zeit der BW erneut ausgelöst hat.

Gruß
Chris
FHEM 5.8 (CentOS 7 auf ESXi 6.5), HM-CC-RT-DN, HM-Sec-Sc, HM-WDS40-TO, HM-LC-SW1-FM, HM-LC-Bl1PBU-FM, Sonos, Alexa, Nest Protect 2, Tradfri

Module: HUE, Lightify, ECOTOUCH, TelegramBot, Sonos, Alexa, Pushover, Enigma2

r00t2

#24
Zitat von: oetti77 am 29 November 2018, 11:08:38...
Gibt es eigentlich eine Möglichkeit den ausgelösten "on-for-timer" abzubrechen bzw. zurückzusetzen?

Mal rein auf den Bewegungsmelder bezogen wäre es ja eigentlich geschickt, den Timer wieder auf Anfang zu setzen, sobald innerhalb der ablaufenden Zeit der BW erneut ausgelöst hat....
Du kannst prüfen, ob es ein entsprechendes Device gibt und es dann löschen bzw. neu setzen.

Mache ich bei meiner Hausflur-Lichtsteuerung per Bewegungsmelder auch so ähnlich:
- Melder erkennt Bewegung und es ist kein Licht an ("on-for-timer" Device existiert nicht) => Mache ein neues "on-for-timer" Device mit 8min Dauer
- Melder erkennt Bewegung und es ist bereits Licht an ("on-for-timer" Device existiert) => Mache ein neues "on-for-timer" Device mit 5min Dauer

So wird das Licht ständig um 5min verlängert, wenn es zwischenzeitlich einen neuen Trigger vom Melder gab.

Elegant geht das mit defmod, indem man das (ggf. schon existierende) Device einfach mit neuen Werten ändert.
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

oetti77

Das klingt interessant. So wie ich das verstanden habe, setzt du ein eigenes Device dafür ein?
Kannst du dazu mal ein Beispiel posten?

Danke
Chris
FHEM 5.8 (CentOS 7 auf ESXi 6.5), HM-CC-RT-DN, HM-Sec-Sc, HM-WDS40-TO, HM-LC-SW1-FM, HM-LC-Bl1PBU-FM, Sonos, Alexa, Nest Protect 2, Tradfri

Module: HUE, Lightify, ECOTOUCH, TelegramBot, Sonos, Alexa, Pushover, Enigma2

r00t2

FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

CoolTux

Es gab einige Anpassungen bei den SE (SetExtensions) Eventuell hilft es hier erstmal zu schauen. Was auf jedenfall gehen sollte, wenn on-for-timer gesetzt wurde, wird der Timer nach einem folgenden on gelöscht. Ob das auch für einen on-for-timer gilt prüfe ich mal.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zu mindest bei einem Dummy funktioniert es.
set licht on-for-timer 5
schaltet das Licht für 5s an.

set licht on-for-timer 5 und dann gleich set licht on-for-timer 60
schaltet nicht nach 5s aus sondern in der Tat nach 60s.

set licht on-for-timer 5 und dann gleich set licht on-for-timer 60 und dann gleich wieder set licht on-for-timer 14
schlatet in der Tat nach ~14s das Licht aus
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

miot

Ich habe dieses Szenario (Manuelles einschalten verhindert Steuerung durch Bewegungsmelder) folgendermassen geloest:

Standard: Bewegungsmelder meldet eine Bewegung -> Notify loest aus und schaltet das Licht mit on-for-timer
Manuell: Licht wird eingeschaltet UND "attr [notify_Bewegungsmelder] disable 1" -> Das Notify des Bewegungsmelders wird nicht mehr ausgefuehrt (= es wird kein on-for-timer mehr ausgeloest)
Manuell: Licht wird ausgeschaltet UND "attr [notify_Bewegungsmelder] disable 0" -> Notify des Bewegungsmelders wird wieder aktiviert

Gruss
Michael