FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: ChrisW am 08 April 2019, 14:26:16

Titel: Doif zusammenfassung hilfe
Beitrag von: ChrisW am 08 April 2019, 14:26:16
Hallo,
ich habe aktuell 4 doif script. Ich könnte jetzt selbst daraus 2 doifs machen mit doifelse. Aber bevor ich mir jetzt so was fummel vielleicht hat ja jemand eine Idee das alles sogar in einen Doif zu bekommen ? Das mit doelseif isct schon eine kleine herausforderung für mich :D

Was passieren soll.
Tagsüber wenn hell ist Lampe immer AUS. Wenn Alarm an ist dann Lampe hell. Wenn Alarm aus ist und es ist hell Lampe aus.
Abends/Nachts. Wenn es dunkel wird Lampe AN. Wenn Alarmanlage an ist dann Lampe HELL. Wenn Alarmanlage aus ist und es ist dunkel dann Lampe AN ( dunkles Licht )

Somit wenn Alarmanlage an ist egal  ob dunkel/hell Lampe Hell

Lampe hell: set lampe_hof_eingang ct 6498
Lampe dunkel: set lampe_hof_eingang ct 3849
Alarmzustand erfasse ich
aus: [AAA:level5] eq "disarmed"
An: [AAA:level5] eq "armed"

Aktuell habe ich noch eine Uhrzeit eingebaut will es aber in Fhem mit Twilight oder SUNRISE lösen . Meine GPS Daten habe ich schon in Fhem hinterlegt.
Titel: Antw:Doif zusammenfassung hilfe
Beitrag von: Per am 08 April 2019, 15:12:43
Wenn Alarm an -> Lampe hell
sonst
   wenn dunkel -> Lampe gedimmt
sonst
      -> Lampe aus

Wenn -> DOIF
sonst + wenn -> DOELSEIF
sonst (ohne weiteres wenn) -> DOELSE
Titel: Antw:Doif zusammenfassung hilfe
Beitrag von: ChrisW am 09 April 2019, 13:57:18
vielen dank. Bevor ich das ganze in System spiele heute abend und live teste ist das so richtig ?
[AAA:level5] eq "armed" (set lampe_hof_eingang ct 6498) DOELSE ([20:00-08:00] and [AAA:level5] eq "disarmed") (set lampe_hof_eingang ct 3849) DOELSEIF ([08:00-20:00] and [AAA:level5] eq "disarmed") (set lampe_hof_eingang off)

Hab erstmal Zeit drin da ich hell/ dunkel noch nicht genau weiss.
Titel: Antw:Doif zusammenfassung hilfe
Beitrag von: Per am 09 April 2019, 16:52:50
Ein paar Anmerkungen dazu:
- es fehlen ein paar Klammern
- bereits abgefragte und ausgeschlossene Bedingungen muss man nicht wiederholen (elseif)
- Zeilenumbrüche machen gerade DOIFs besser lesbar

Aber im Prinzip passt es.
Titel: Antw:Doif zusammenfassung hilfe
Beitrag von: ChrisW am 10 April 2019, 09:08:29
Puhh nach XXX Veruschen scheint es hiermit zu klappen:

([AAA:level5] eq "armed") (set lampe_hof_eingang ct 6498)
DOELSEIF
([07:00-08:00] and [AAA:level5] eq "disarmed") (set lampe_hof_eingang off) DOELSE ([09:00-15:00] and [AAA:level5] eq "disarmed") (set lampe_hof_eingang ct 3849)



So da ich das ganze noch als HOFLICHT nutze will ich es natürlich abends auch einschalten wenn es dunkel wird und ausschalten wenn es hell wird .. wie kann ich das Realisieren ? Kann man das AUCH noch oben reinpacken ???
Oder ein 2. Doif ?

Nur:
([20:00-07:00] and [AAA:level5] eq "disarmed") (set lampe_hof_eingang ct 3849) reicht ja nicht aus .. da das licht ja auch noch aus gehen soll zwischen 7-20 Uhr wenn AAA disarmed ist.
Würde fast ein ähnliches doif wie oben bauen... ABER das kann man doch sicher auch oben reinfummeln ??

Titel: Antw:Doif zusammenfassung hilfe
Beitrag von: Per am 10 April 2019, 12:34:59
Du kannst es, entsprechend seiner Prio, in das o.a. DOIF als weiteres DOELSEIF packen.
Nebenbei stimmen die o.a. Zeiten nicht mehr mit den ursprünglichen überein...
Titel: Antw:Doif zusammenfassung hilfe
Beitrag von: ChrisW am 10 April 2019, 14:39:49
hi, ja das ist zum Testen gewesen. Also möglich wäre es auch das noch dort einzubauen ? Glaube einfacher wäre es für mich ein ähnliches doif zu bauen nur für die Nachtschaltung?
Titel: Antw:Doif zusammenfassung hilfe
Beitrag von: Per am 10 April 2019, 16:07:00
Zitat von: ChrisW am 10 April 2019, 14:39:49einfacher
Nein, weil du dann die Wechselwirkungen zwischen beiden berücksichtigen musst. Das wird beliebig kompliziert. Außerdem kannst du dann bei notify bleiben, dort brauchst du für jede Situation ein eigenes Device und musst alle Wechselwirkungen extern programmieren.

Mein Tipp: pro Aktor ein DOIF, ein DOIF kann aber mehrere (oder kein) Aktor schalten. Aber nie mehrere DOIF für einen Aktor!