Hauptmenü

Mehrfaches defmod

Begonnen von pulmotil, 31 August 2017, 12:19:24

Vorheriges Thema - Nächstes Thema

pulmotil

Hallo, ist es möglich defmod merfach mit dem gleichen Objekt zu definieren?

Derzeit habe ich folgendes Konstrukt:
define WZ.Licht_an_BM notify WZ.Bewegungsmelder:motion {\
if (ReadingsVal("WZ.Bewegungsmelder","brightness",100) < 40 && Value("Harmonie") eq "off") \
  {\
    fhem("set WZ.Licht command PowerOn ;; defmod WZ.Licht_aus_BM at +00:02:00 set WZ.Licht command PowerOff");;\
  }\
}
define WZ.Licht_an_Harmony notify Harmonie:on {\
if (ReadingsVal("WZ.Bewegungsmelder","brightness",100) < 40) \
  {\
    fhem("set WZ.Licht command PowerOn");;\
  }\
}
define WZ.Licht_aus_Harmony notify Harmonie:off \
  {\
    fhem("defmod WZ.Licht_aus_Harmonie at +00:02:00 set WZ.Licht command PowerOff");;\
  }


Wenn eine Bewegung erkannt wird und es dunkel ist und die Harmony aus ist, soll das Licht eingeschaltet werden und nach 2 min wieder ausgeschaltet werden.
Wenn die Harmony eingeschaltet wird und es dunkel ist, soll das Licht eingeschaltet werden.
Wenn die Harmony ausgeschaltet wird, soll nach 2 Minuten das Licht ausgeschaltet werden.

Da sind derzeit 2 defmods für das Ausschalten mit unterschiedlichen Namen definiert, die sich gegenseitig beeinflussen:
Wenn ich mich z.B. bewege und dann nach 1,5 min den Fernseher ausschalte, dann geht schon 0,5 min nach dem Ausschalten des Fernsehers das Licht aus.
Oder umgekehrt, wenn ich den Fernseher ausschalte und mich dann nach 1,5 min bewege, dann geht schon 0,5 min nach der Bewegung das Licht aus.
Das soll so nicht sein.

Die Idee ist jetzt, beide defmods gleich zu definieren:
defmod WZ.Licht_aus at +00:02:00 set WZ.Licht command PowerOff
Geht das?

Oder gibt es generell eine schönere Lösung für diese Aufgabenstellung?

Gruss p
FHEM 6.2 auf Beelink S2 (Intel N4100) mit Ubuntu 18.04.4 LTS

amenomade

Du könntest set <atname> modifyTimeSpec nutzen.
Ansonsten würde ich empfehlen alles in einem einziges DOIF zu packen, und dessen Attribute "wait" nutzen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus