Rolladenterminierung mit versch. Modi

Begonnen von NemisisSB, 24 Juli 2017, 19:39:28

Vorheriges Thema - Nächstes Thema

NemisisSB

Hi Mitautomatisierer!

Aktuell ist ja das Thema Rollos bei mir das top Thema. Ich habe es jetzt mit einem Signal ESP und Somfy Rolläden geschafft alles über den FHEM und SmartVisu zu kontrolieren.

Jetzt hätte ich noch gerne etwas Automatisierung mit eingebaut, aber leider habe ich kaum Erfahrung mit DoIF's usw.

Was ich mir vorstelle:

Ich habe 5 Zentrale devices angelegt:

* All      = Alle Rollen im Haus
* AllEG = Alle Rolläden im Erdgeschoss
* AllOG = Alle Rolläden im Obergeschoss
* AllHof = Alle Rollen die zum Hof zeigen
* AllGarten = Alle Rolläden die zum Garten zeigen

Nun hätte ich gerne XX "Modi" die ich an und aus schalten kann wie ich es mag. Es soll immer nur einer an sein, d.h. die anderen sich automatisch aus schalten wenn einer eingeschaltet wird. (Denke mir das nachher als 3 Knöpfe im SmartVisu).

1. Normalbetrieb :

Es sollen Montags - Donnerstags um 08:00 Uhr alle Rolläden auf gehen, um 20:00 Uhr die Rollos im EG zu gehen und um 22 Uhr die im OG.
Freitag - Sonntag sollen um 08:00 Uhr alle Rolläden wieder auf gehen und um 22 Uhr alle Rollos im EG zu gehen und um 24 Uhr die im OG.

2. Sommerbetrieb

Bleibt offen, da noch keine Sonnensensoren verbaut sind. Hier soll anhand der Sonneneinstrahlung geschaltet werden.

3. Party

Es soll die Automatik für 24h überbrückt werden. Danach soll im vorherigen Modus weitergearbeitet werden.

4. Urlaub

Im Prinzip das selbe wie Normal nur pro Tag ein wenig Abwechslung um Aktivität zu simulieren.
Montag:  Alle Auf 8 Uhr, 14 Uhr Hof auf Position (set <device> pos 100) , 20 Uhr EG zu, 22 Uhr OG zu
Dienstag:   Alle Auf 8 Uhr, 15 Uhr Hof auf Position (set <device> pos 100) , 15:30 Uhr Gaten auf Position, 20 Uhr EG zu, 22 Uhr OG zu
Mittwoch: Alle Auf 8 Uhr, 14:30 Uhr Hof auf Position (set <device> pos 100) , 16 Uhr Gaten auf Position, 20 Uhr EG zu, 22 Uhr OG zu
Donnerstag: Alle Auf 8 Uhr, 16 Uhr Hof auf Position (set <device> pos 100) , 14 Uhr Gaten auf Position, 20 Uhr EG zu, 22 Uhr OG zu
Freitag: Alle Auf 8 Uhr, 22 Uhr EG zu, 24 Uhr OG zu
Samstag: Alle Auf 9 Uhr, 22 Uhr EG zu, 24 Uhr OG zu
Sonntag: Alle Auf 09:30 Uhr, 22 Uhr EG zu, 24 Uhr OG zu


So .... ich weiß nicht ob das nur für mich so kompliziert wirkt, aber hoffentlich kann mir jemand von euch mit etwas Code helfen.

Dank schon mal an alles Leser und Antwortenden!

VG,

NemisisSB

moonsorrox

#1
Dazu erst einmal Grundlegend... wie möchtest du den Status schalten über ein Dummy welches dann z.B. folgende Möglichkeiten bietet.
Mein Beispiel mal aus dem defmod vom Schlafzimmer mit 4 Möglichkeiten die du dir anpassen müsstest

Ich habe:
- FHEM - Normalmodus
- Beschattung - oft im Sommer genutzt wegen der Sonneneinstrahlung
- Nachtschicht - selbsterklärend
- Aus - auch klar

Das könntest du dir anpassen für dein:
1. Normalbetrieb
2. Sommerbetrieb
3. Party
4. Urlaub

Einen AUS Modus würde ich in jedem Fall immer mit einbauen...!
Ich habe auch die Möglichkeit eingebaut die Zeiten zum Öffnen immer mal wieder anzupassen, weil mir das persönlich gut gefällt... Abends finde ich die Zeiten die er nutzt absolut passend da brauche ich nichts zum anpassen da nutze ich im DOIF [{sunset("CIVIL",-100,"16:35","22:20")}|78]) also leicht angepasst um den Faktor 100 (Zeit/sec.).

Danach könntest du dann jeweils ein DOIF nehmen welches die Zeiten und alles weitere beinhaltet...
Meine Erfahrung und die hier aus dem Forum sagt mir das es super funktioniert und ist zudem noch sehr übersichtlich. All zuviel Sensoren usw. macht es im Enddefekt sehr kompliziert... aber das muss jeder selber wissen..  ;)

Ich habe dann eben ein DOIF für Normalbetrieb/FHEM, ein DOIF für Beschattung/Sommerbetrieb, ein DOIF für Schichtbetrieb/Party und ein DOIF für AUS/Urlaub wie auch immer..
Urlaub könnte dann ein Zufallstimmer sein den ich auch mit einem DOIF mache.

Generell zu den Sensoren, dass Thema hatte ich gerade gestern wieder hier im Forum... ich würde gar nicht soviel Sensoren nutzen, meine Erfahrung hier sagt mir es reicht ein Temperatur Sensor für die Temperatur im Sommer eben zur Beschattung und alles weitere würde ich über Twilight ein Modul welches Fhem schon mitbringt.. das funktioniert super und kann gerade für die Ausrichtung sehr gut genutzt werden.
Hört sich erst mal kompliziert an, aber wenn du ein Beispiel bekommst kannst du es selber sehr gut anpassen...
Bei dir eben
Zitat* AllHof = Alle Rollen die zum Hof zeigen
* AllGarten = Alle Rolläden die zum Garten zeigen

schau dir das alles erst einmal an, mein Code für das dummy hänge ich erst mal ran damit du eine Vorstellung hast was ich meine...
Baue das mal bitte nach und dann sehen wir weiter, wie gesagt aus dem RAW Definition (defmod)
defmod du_RolloSZmodus dummy
attr du_RolloSZmodus alias Schlafzimmer - Modus
attr du_RolloSZmodus devStateIcon FHEM:fts_shutter_automatic@lightgreen Nachtschicht:fts_shutter_up@crimson Beschattung:fts_shutter_updown@blue Aus:general_aus@yellow
attr du_RolloSZmodus group Rollläden OG
attr du_RolloSZmodus icon time_manual_mode@#7a0099
attr du_RolloSZmodus room Automation,Schlafzimmer
attr du_RolloSZmodus setList state:FHEM,Nachtschicht,Beschattung,Aus
attr du_RolloSZmodus sortby 01
attr du_RolloSZmodus webCmd state

setstate du_RolloSZmodus Beschattung
setstate du_RolloSZmodus 2017-05-18 09:31:30 state Beschattung

Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Per

Zitat von: NemisisSB am 24 Juli 2017, 19:39:28Ich habe 5 Zentrale devices angelegt:

* All      = Alle Rollen im Haus
* AllEG = Alle Rolläden im Erdgeschoss
* AllOG = Alle Rolläden im Obergeschoss
* AllHof = Alle Rollen die zum Hof zeigen
* AllGarten = Alle Rolläden die zum Garten zeigen
Wie hast du die als Devices angelegt?

nils_

@NemisisSB:

evtl. solltest du das Thema in einen anderen Forenbereich verschieben.

Es geht zwar alles was du aufgezählt hast mit DOIF, aber ich vermute bei dir geht es im grundsätzlichere Fragen zum Rollo(-Automatisierung).


Zitat von: Per am 25 Juli 2017, 14:09:48
Wie hast du die als Devices angelegt?
würde mich auch interessieren. (ich hoffe als structure ;) )
viele Wege in FHEM es gibt!

moonsorrox

#4
Zitat von: nils_ am 26 Juli 2017, 09:50:21
@NemisisSB:

evtl. solltest du das Thema in einen anderen Forenbereich verschieben.

Es geht zwar alles was du aufgezählt hast mit DOIF, aber ich vermute bei dir geht es im grundsätzlichere Fragen zum Rollo(-Automatisierung).
das werden wir dann sehen wenn er genau sagt ob er nun das mit DOIF machen möchte oder nicht  ;) momentan sagt er erst mal nücht  ;D ;)


Zitat von: nils_ am 26 Juli 2017, 09:50:21
würde mich auch interessieren. (ich hoffe als structure ;) )

das braucht nicht unbedingt eine structure, du kannst in einem DOIF auch mehrere devices ansprechen, dass mache ich auch..!
(set RollladenWZT off,set NI3_LichtTerrasse off)
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Brockmann

Zitat von: moonsorrox am 26 Juli 2017, 19:17:10
(set RollladenWZT off,set NI3_LichtTerrasse off)
Geht übrigens auch kompakter:
set RollladenWZT,NI3_LichtTerrasse off
bzw. bei DOIF (wegen des Kommas):
((set RollladenWZT,NI3_LichtTerrasse off))

Oder bei geschickter Benennung:
(set Rollo.EG.* off)
schaltet alle Devices, deren Name mit "Rolle.EG." beginnt, aus.

Oder in Verbindung mit dem Room-Attribut:
(set room=RolloEG off)
schaltet alle Devices, die dem Raum RolloEG zugeordnet sind, aus.

***Klugscheißermodus AUS***  ;)

nils_

Zitat von: moonsorrox am 26 Juli 2017, 19:17:10
das braucht nicht unbedingt eine structure, du kannst in einem DOIF auch mehrere devices ansprechen, dass mache ich auch..!
(set RollladenWZT off,set NI3_LichtTerrasse off)
jopp stimmt. das geht alles auch so.
aber ich finde
Zitat von: NemisisSB am 24 Juli 2017, 19:39:28
Ich habe 5 Zentrale devices angelegt:

* All      = Alle Rollen im Haus
* AllEG = Alle Rolläden im Erdgeschoss
* AllOG = Alle Rolläden im Obergeschoss
* AllHof = Alle Rollen die zum Hof zeigen
* AllGarten = Alle Rolläden die zum Garten zeigen

schreit förmlich nach structure ;)
aber viele wege führen nach rom...
und so lange er nichts weiter ausführt, können wir leider nur raten  :o
viele Wege in FHEM es gibt!

Damian

#7
oder neuerdings:

(set [@"^Rollo":pct:$_ < 50,"default"] off)

heißt: fahre alle Rollladen beginnend mit "Rollo", die halb unten sind (pct < 50), ganz nach unten.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

NemisisSB

Hi !

Entschuldigt meine späte Antwort, ich hatte leider einen größeren privaten Notfall und kam noch nicht zum lesen. Daher hier auch mal nur ein paar schnelle Antworten und heute Abend was Ausführliches.

@ moonsorrox : Ja das Beispiel sieht schon mal sehr gut aus. Muss ich mir mal intensiv anschauen. Von den SEnsoren her sollen es nur zwei sein, um aus der Ost-Seite und der West-Seite das zu messen, aber das ist noch Zukunftsmusik.

ZitatWie hast du die als Devices angelegt?

Angelegt habe ich die Divices einfach indem ich mich an die physische Lösung von Somfy angelehnt habe. Ich habe ein Device angelegt (siehe List wieter unten) und habe es dann mit jedem Rollanden gepaired der zu der "Gruppe" dazugehören soll:

List:



Internals:
   ADDRESS    123000
   DEF        123000
   IODev      SignalESP433
   NAME       RollAll
   NR         208
   STATE      open
   TYPE       SOMFY
   move       stop
   CODE:
     1          123000
   READINGS:
     2017-07-30 23:04:52   enc_key         AD
     2017-07-30 23:04:52   exact           0
     2017-07-30 23:04:52   position        0
     2017-07-30 23:04:52   rolling_code    002D
     2017-07-30 23:04:52   state           open
Attributes:
   IODev      SignalESP433
   drive-down-time-to-100 7
   drive-down-time-to-close 17
   drive-up-time-to-100 10
   drive-up-time-to-open 22
   room       Ankleidezimmer,Arbeitszimmer,Bad,Bad_EG,Bad_OG,Esszimmer,Flur_OG,HWR,Küche_EG,Lucie,Netzwerkraum,Schlafzimmer,Wintergarten,Wohnzimmer
   webCmd     on:stop:off



Daher habe ich dann für jede dieser "Gruppe" nur ein Device und jeder Rolladen der dazu gehört hört aus die "selbe Fernbedienung".

VG,

NemisisSB

sash.sc



Zitat von: Brockmann am 27 Juli 2017, 08:45:04
Geht übrigens auch kompakter:
set RollladenWZT,NI3_LichtTerrasse off
bzw. bei DOIF (wegen des Kommas):
((set RollladenWZT,NI3_LichtTerrasse off))

Oder bei geschickter Benennung:
(set Rollo.EG.* off)
schaltet alle Devices, deren Name mit "Rolle.EG." beginnt, aus.

Oder in Verbindung mit dem Room-Attribut:
(set room=RolloEG off)
schaltet alle Devices, die dem Raum RolloEG zugeordnet sind, aus.

***Klugscheißermodus AUS***  ;)

So habe ich es bei mir gelöst. Habe verschiedene Rollos in eine Gruppe gepackt. Diese werden dann mit


set group=Rollo pct xxc


Angesteuert.

Ist einfach und funktioniert! [emoji6]
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb