FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: SahraDeath am 10 Dezember 2015, 08:40:44

Titel: Bitte um Denkanstoß
Beitrag von: SahraDeath am 10 Dezember 2015, 08:40:44
Hallo
ich suche einen Denkanstoß, da ich mit Programmieren nicht all zu viel am Hut habe.

Zur Zeit steure ich meine Rollläden mittels at Befehl:
*07:00 set eg.rolllade.garten.links on
*{sunset(0,"17:00","22:00")} set eg.rolllade.garten.links off

Jetzt habe ich an der Tür 2 Sensoren, einen oben und einen unten. Damit ich erkennen kann, ob die Schiebetür geschlossen, offen oder gekippt ist.
Fensterkontakt_Esszimmer_oben
Fensterkontakt_Esszimmer_unten
Diese senden mir ein open/close

Jetzt gibt es folgende Wünsche:
- Das Hochfahren per "at" der Rolllade, kann vermutlich so bleiben.
- für das Runterfahren gilt die Bedingung:
   - auf "on" Fahren wenn sunset erreicht ist, nicht aber, wenn beide Kontakte offen sind
   - auf "on" Fahren wenn sunset erreicht ist, wenn beide Kontakte wieder geschlossen werden   
   - auf  90% Fahren wenn sunset erreicht ist, wenn der obere Kontakt offen und der untere zu ist
   - auf  90% Fahren wenn sunset erreicht ist, wenn der obere Kontakt offen und der untere wieder geschlossen wird

Ich vermute, dass ich das Herunterfahren der Rolllade mittels Sunset nicht direkt machen kann und die Bedingung in einem "Satz" schreiben kann.

Könnte eine Lösung in etwa so aussehen:
3 x Dummy um die möglichen Zustände der Rolllade zu definieren: on:off:90
[Rolllade_soll_on / Rolllade_soll_off / Rolllade_soll_90]

1 x Dummy für das Herunterfahren nach sunset definieren
[Rolllade_soll_off_sunset]

Mittels DoIF die 3 Zustände der Rolllade definieren, aus dem Status des Dummys "Sunset" und den beiden Türsensoren welches dann eins der 3 Dummys für die Rollladenzustände setzt.

Dann mittels Notifys die Dummys Abfragen, welche dann die Rolllade auf on, off oder 90 setzt.


Ginge das so? Geht es einfacher? Oder sollte ich das einen Fachmann machen lassen :-)

Danke
Gruß Bernd
Titel: Antw:Bitte um Denkanstoß
Beitrag von: igami am 10 Dezember 2015, 09:26:58
Ein DOIF könnte inetwa so aussehen

([07:00])
  (set rollade off)
DOELSEIF([{sunset...}] and
[oben] eq "closed" and
[unten] eq "closed")
  (set rollade on)
DOELSEIF([{sunset...}] and
[oben] eq "open" and
[unten] eq "closed")
  (set rollade 90%)
Titel: Antw:Bitte um Denkanstoß
Beitrag von: Muschelpuster am 10 Dezember 2015, 09:33:01
Hallo Bernd,

igami hat jetzt zwar schon kurz das geschrieben, was ich etwas ausführlicher schreiben wollte, aber deswegen lösche ich meinen Text jetzt nicht  8)

Das sollte ohne Dummy mit einem DOIF gehen. Da ich da auch nicht der Held bin, erarbeite ich mir das, indem ich eine einfache Definition baue und diese Schritt für Schritt erweitere.
An die automatischen Rollläden nach Zeit bzw. Sonnenuntergang habe ich mich zwar noch nicht getraut, aber ich fahre meine Rollläden nach der Solarleistung etwas rauf & runter um eine automatische Verschattung zu haben. Um diese Automatik deaktivieren zu können habe ich einen Dummy. Das sieht dann so aus:
define di_Verschattung_1 DOIF ([Solar:total_pac]>2.6 and [HM_WZ_Rolladen_F:pct]>88 and [HM_WZ_Rolladen_T:pct]>88 and [HM_Tuer_WZ_Terasse:state] ne "open" and [du_verschattung:state] eq "an") (set HM_WZ_Rolladen_. pct 88)Die Prüfung auf den Türkontakt mit ne "open" ermöglicht mir, dass die Funktion auch bei gekippter Terassentür aktiv ist. Zurück geht es dann so:define di_Verschattung_0 ([Solar:total_pac]<2.2 and ([HM_WZ_Rolladen_F:pct]==88 or [HM_WZ_Rolladen_T:pct]==88)) (set HM_WZ_Rolladen_. pct 100)Ich gehe davon aus, dass es niemand schafft, manuell die Rolläden auf 88% zu fahren und das ist damit mein Zeiger, dass die automatische Verschattung nicht manuell verändert wurde. Hier verzichte ich nun auch auf die Prüfung des Dummy. Wenn man also während der aktiven Verschattung die Automatik abstellt, gehen die Rolläden noch hoch, aber eben beim nächsten Mal nicht runter.
Das ist nicht Deine Lösung, aber Du wolltest ja einen Denkanstoß  ;)
Wie schon von igami beschrieben müssen da nur ein paar DOELSEIF dazu, denn geht das schon.

halbautomatische Grüße
Niels
Titel: Antw:Bitte um Denkanstoß
Beitrag von: SahraDeath am 10 Dezember 2015, 11:24:15
Ah, ja, das könnte meine Lösung werden. Ich werde mit der DOELSEIF mal meine Bedingung versuchen zu beschreiben, dass scheint mir lösbar zu sein  :).

Ich danke Euch schon mal !

Richtig: mir ist ein Denkanstoß lieber als eine Lösung, da sich selbst erarbeitetes sich einfacher merken lässt und für weitere Probleme es leichter wird selber Lösungen zu finden.

Gruß Bernd