Hallo zusammen,
ich habe eine Lampe mit integriertem Bewegungsmelder. Diese hängt an einem Shelly der den Strom messen kann. Wenn Lampe an, dann Watt = ca. 11W.
Dazu habe ich einen Türkontakt an der entsprechenden Tür. Nun würde ich gerne, wenn die Lampe draußen angeht und danach die Tür geöffnet wird, das Licht im Flur einschalten.
ABER das soll nur in genau der Reihenfolge passieren. Wenn zuerst Tür auf und dann Lampe an, soll nichts passieren.
Klar, man könnte das ReadingsAge auslesen usw. Die Frage die ich mir stelle ist aber ob es nicht schon ein Modul oder Befehl gibt der mir sowas wie "Reihenfolge" erlaubt. Ansonsten müsste ich mir was bauen (notify / doif), was wenn Lampe an und dann Tür auf, ReadingsAge von Lampe prüft .... Lange Rede, kurzer Sinn. Ich habe ein wenig gesucht aber erstmal nichts gefunden. Denke mir aber, ich bin nicht der erste mit der Anforderung und da wird es sicher was geben, was ich einfach nicht gefunden habe.
Danke @ all!
Schau dir das Modul sequence an.
Gruß
Dan
Sequence sollte das leicht möglich machen...
Siehe auch hier: https://forum.fhem.de/index.php?topic=58171.0
Oder nat. commandref... ;)
EDIT: hmmm, 2ter Gewinner... ;)
Gruß, Joachim
Mswitch bietet dazu auch eine Option , du hast also reichlich Auswahl ;-)
https://wiki.fhem.de/wiki/MSwitch#MSwitch_Sequenz_.3CSuchmuster.3E (https://wiki.fhem.de/wiki/MSwitch#MSwitch_Sequenz_.3CSuchmuster.3E)
gruss Byte09
Danke Euch !
Ohne es bereits gelesen zu haben. Ich versuche immer alles so minimal wie nur möglich laufen zu lassen. Hätte eine der Möglichkeiten Vor.-/Nachteile?
PS: So schnelle Antworten von mehreren, habe ich selten erlebt - Danke!
Zitat von: 87insane am 14 Oktober 2019, 08:30:26
Danke Euch !
Ohne es bereits gelesen zu haben. Ich versuche immer alles so minimal wie nur möglich laufen zu lassen. Hätte eine der Möglichkeiten Vor.-/Nachteile?
PS: So schnelle Antworten von mehreren, habe ich selten erlebt - Danke!
- mit sequenze benötigst du ein weiteren eventhandler dder auf sequenze reagiert - also 2 devices
- bei mswitch kommst du mit einem device aus , das modul ist aber recht komplex , müsstest dich wohl reinarbeiten, wobei diese anwendung recht einfach umzusetzen ist.
Ich kann dich aber gerne auch telefonisch unterstützen
gruss Byte09
Telefon Support machen wir mittlerweile auch? Glaube mal gelesen zu haben das es sogar dein Modul ist. Super lieb. Aber ich lese erstmal und teste. Sollte ich nicht weiter kommen, melde ich mich nochmal.
Zuerst muss ich nun aber mal arbeiten. Ich danke für die schnellen und qualifizierten antworten. Danke Danke!
Gesendet von meinem LG-H850 mit Tapatalk
Zitat von: 87insane am 14 Oktober 2019, 08:41:01
Telefon Support machen wir mittlerweile auch? Glaube mal gelesen zu haben das es sogar dein Modul ist. Super lieb. Aber ich lese erstmal und teste. Sollte ich nicht weiter kommen, melde ich mich nochmal.
Zuerst muss ich nun aber mal arbeiten. Ich danke für die schnellen und qualifizierten antworten. Danke Danke!
Gesendet von meinem LG-H850 mit Tapatalk
naja, warum nicht , wen nich Zeit habe. Ist in der Regel wohl einfacher und schneller als über das Forum.
Aber nur bei Leuten , bei denen ich davon ausgehe, das die Fhemgrundlagen klar sind , sonst ist es so oder so für die Füsse ;)
gruss Byte09
Zitat von: 87insane am 14 Oktober 2019, 07:54:40
Hallo zusammen,
ich habe eine Lampe mit integriertem Bewegungsmelder. Diese hängt an einem Shelly der den Strom messen kann. Wenn Lampe an, dann Watt = ca. 11W.
Dazu habe ich einen Türkontakt an der entsprechenden Tür. Nun würde ich gerne, wenn die Lampe draußen angeht und danach die Tür geöffnet wird, das Licht im Flur einschalten.
ABER das soll nur in genau der Reihenfolge passieren. Wenn zuerst Tür auf und dann Lampe an, soll nichts passieren.
Klar, man könnte das ReadingsAge auslesen usw. Die Frage die ich mir stelle ist aber ob es nicht schon ein Modul oder Befehl gibt der mir sowas wie "Reihenfolge" erlaubt. Ansonsten müsste ich mir was bauen (notify / doif), was wenn Lampe an und dann Tür auf, ReadingsAge von Lampe prüft .... Lange Rede, kurzer Sinn. Ich habe ein wenig gesucht aber erstmal nichts gefunden. Denke mir aber, ich bin nicht der erste mit der Anforderung und da wird es sicher was geben, was ich einfach nicht gefunden habe.
Danke @ all!
Es ist doch ganz einfach, z.B.
DOIF ([?lampe] eq "on" and [?lampe:state:sec] < 10 and [Tür:"auf"]) (...
heißt: wenn Tür aufgeht und Lampe seit maximal 10 Sekunden an, dann ...
Mit doif/notify geht es sicherlich. Ich Frage mich am ende was Ressourcen schonender ist. Eine eventbasierte Überwachung via Lösungen, die bereits genannt wurden oder zb in deiner Form.
Es gibt viele Lösungen. Da ich aber nie genau weiß, was mehr frisst, frage ich lieber mal. Zb für die ganzen Rom los könnte ich das Rollo Modul nutzen. Da sind aber x dinge drin, die ich nicht brauche, also nutze ich das nicht und habe die benötigten Dinge selber gebaut. Da ist die Entscheidung einfach.
Bei den aktuell drei Lösungen hier, ist mir das aber nicht so klar....
Gesendet von meinem LG-H850 mit Tapatalk
Wenn du ein Modul ohnehin nutzt, dann ist es bereits geladen. Da wir hier von Ereignissteuerung reden und nativer Perl-Auswertung, brauchst du dir bei solchen Definitionen keine Gedanken über Speicher, Systemlast oder Performance zu machen ;)
Das heißt grundsätzlich....
Egal ob ich ein Modul nutze oder nicht -> die last ist gleich.
Hinzu kann natürlich keiner sagen wie ich es am ende am schönsten finde. Klappen würden alle drei Wege. Korrekt?
Gesendet von meinem LG-H850 mit Tapatalk
irgendwie verstehe ich die problematik nicht....
du willst doch eigentlich nur beim tür öffnen entscheiden, ob eine lampe schon angeschaltet ist (außen?) und dann eine andere lampe (innen?) dazuschalten?!
da brauchst du doch nur im moment des tür öffnen events nach deiner außenlampe "gucken".
das löst einfach mit nem notify (DOIF, MSwitchm .... geht auch!), und von systemlast wirste sehr wahrscheinlich bei keiner der lösungen etwas merken.
Besteht quasi aus zwei Dingen:
1. Was gibt es dafür alles? Wurde sehr gut und ausführlich beantwortet :)
2. Gibt es Performance Unterschiede? Wurde auch beantwortet. Ich selber habe mein FHEM auf einem Raspi 3. Der wird zwangsläufig irgendwann an seine Grenzen stoßen. Weswegen es aus meiner Sicht, Sinn macht, Personen die ggf. tiefer im Quellcode stecken zu fragen. Ich selber hatte vor x Jahre in der Berufsschule mal programmieren und dort wurde zB erklärt welche Schleife man für was nehmen sollte usw. Hier stellte sich diese Frage dann nachdem direkt viele Infos kamen zu den Möglichkeiten. Im Eingangspost schrieb ich ja schon, ich könnte das über notify oder DOIF bauen. Klar - geht alles aber wenn nun jemand gesagt hätte, für diesen Anwendungsfall besser Dies oder das nehmen, würde ich ja auch wissen wollen warum.
Ich bedanke mich nochmal bei allen und werde mir die Lösungen im einzelnen ansehen. Dazu benötige ich für ein paar Tests und einlesen natürlich Zeit.
PS: Ich bin immer wieder begeistert wie schnell hier gute Antworten kommen. Bitte weiter so :)
Zitat von: 87insane am 14 Oktober 2019, 13:35:31
Ich selber habe mein FHEM auf einem Raspi 3. Der wird zwangsläufig irgendwann an seine Grenzen stoßen.
würde ich so pauschal nicht sagen.
mein fhem z.B. läuft auf nem 2er.
Zitat von: 87insane am 14 Oktober 2019, 13:35:31
Ich selber hatte vor x Jahre in der Berufsschule mal programmieren und dort wurde zB erklärt welche Schleife man für was nehmen sollte usw.
oha.... das würde mich jetzt aber interessieren. (vor allem hinsichtlich performance-unterschiede.....)
wir müssen hier aber keine weitere diskussion führen, denn das eingangsproblem/die fragestellung wurde ja beantwortet!
JAP und dafür danke. Hab gestern schon mal angefangen zu lesen.
Testen werde ich am we. Setze den Thread gleich auch auf gelöst. Super von euch. Danke
Gesendet von meinem LG-H850 mit Tapatalk
Zitat von: Damian am 14 Oktober 2019, 10:15:54
Es ist doch ganz einfach, z.B.
DOIF ([?lampe] eq "on" and [?lampe:state:sec] < 10 and [Tür:"auf"]) (...
heißt: wenn Tür aufgeht und Lampe seit maximal 10 Sekunden an, dann ...
Hey nochmal.. Das ist schonmal rauß.. Ist quasi genau die falsche Richtung.
Was passiert wenn ich von draußen komme:
1. Lampe geht an / verbraucht Strom
2. Tür ist noch geschlossen
3. Ich öffne die Tür
Was passiert wenn ich von drinnen nach draußen will:
1. Ich öffne die Tür
2. Die Lampe geht an / verbraucht Strom
3. Ich schließe die Tür
Das DOIF würde die Flur Lampe an machen wenn ich nach draußen gehe. Das wäre höchstens gut um die Lampe im Flur aus zu schalten.
Mit DOIF fällt mir gerade auch nichts ein. Weil ich müsste eine Variable Zeit von Lampe an bis zur Öffnung der Tür haben (jeder ist unterschiedlich schnell).
Die beiden anderen Wege muss ich noch testen...
gib mir doch bitte mal die maßgeblichen events die im eventmonitor kommen ( lampe und tür )
dann kann ich es dir schnell zusammenklicken.
gruss thomas
Mit deinem teste ich gerade ;)