Homestatus Rolladen steuern

Begonnen von dennis_n, 14 September 2015, 16:21:23

Vorheriges Thema - Nächstes Thema

dennis_n

Hi,

ich arbeite mit der Tablet UI und möchte anhand des Homestatus meinen Rolläden schalten.
Wenn ich auf dem Tablet nun einen bestimmten Status wähle sollen entweder alle Rolläden hochgehen oder nur bestimmte runter gehen.

Jetzt könnte ich doch mit set mehrere Rolläden gleichzeitig ansprechen. Allerdings ist mir aufgefallen, dass manchmal die Befehle nicht sauber abgearbeitet werden. Der eine Rolladen geht zu, der andere nicht. Also habe ich eine structure gemacht und den Parameter async_delay 1 mit angegeben. Das funktioniert soweit.

Die Frage ist jetzt, sollte ich für den Fall dass nur bestimmte Rolläden zugehen sollen einen weitere structure anlegen mit nur diesen Rolläden und falls ja, wie rufe ich die auf? Auch mit set und den structure Namen?

oder gibt es eine elegantere Lösung?

Danke

Gruss
Dennis

P.A.Trick

Mit lightscene sollte das auch klappen!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

dennis_n

Hi,

also ich habe es jetzt geschafft mittels einem Dummy und einem Notify zu erkennen, welcher Homestatus Button gedrückt wurde. Nach drücken des Status fahren dann auch mit set die entsprechenden Rolladen hoch und runter.

Jetzt habe ich aber noch für alle Rolläden einen eigenen WeekdayTimer. Manche Rolläden sollen morgens hochfahren, manche nicht. Und umgekehrt Abends.
Wie mache ich es nun, dass diese WeekdayTimer mit berücksichtig werden?

Ich gebe mal ein Beispiel:

Meine Frau hat Nachtdienst. Sie kommt morgens um 7 Uhr nach Hause, stellt sie den Status per Knopfdruck auf "Nachtdienst" und legt sich schlafen. Nach dem Weekdaytimer würden alle Rolläden um 7.15 Uhr hochfahren. Wenn der Status aber auch Nachtdienst steht, sollen 3 bestimmte Rolläden nicht hochfahren, sondern erst, wenn sie den Status auf "Anwesend" stellt.

Also wenn Status "Home" sollen alle Rolläden nach dem Weekdaytimer gesteuert werden.
Bei Status "Nachdienst" sollen 3 Rolläden morgens nicht nach dem Weekdaytimer gehen, abends aber wieder mit dem Timer runterfahren

Kann mir da bitte jemand helfen?

Vielen Dank.
Gruss
Dennis

Hollo

Vorab:
Deine Lösung werden "andere" (ich) später evtl. nicht verstehen, da Du eine andere Logik hast als ich (und evtl. andere)...
denn: Wenn Deine Frau von der Nachtschicht nach Hause kommt, ist die Nachtschicht vorbei und sie ist anwesend.

zur Frage:
Du könntest z.B. mit 2 Weekdaytimern arbeiten, um so die Rolladen-Gruppen zu trennen.
Dann bei Nachtschicht den einen disablen (damit morgens nicht hoch) und z.B. mittags wieder enablen (damit abends wieder runter).
Oder den Homestatus als Bedingung mit reinnehmen (mache nur wenn nicht Nachtschicht; abends ist ja wieder anwesend)
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

dennis_n

Hi,

ja, das mit den unterschiedlichen WeekdayTimern gefällt mir irgendwie.

Bisher hatte ich es ja so, dass ich für jeden Rolladen einzeln einen Weekdaytimer habe. Kann ich denn mit einem Weekdaytimer eigentlich auch eine structure aufrufen statt das Device?

Wenn ja, wie würde die Syntax lauten?

define Rolladen_Timer WeekdayTimer <structure_name> Mo-Fr|06:45:00|Hoch Mo-Fr|20:30:00|Runter Sa-So|09:00:00|Hoch Sa-So|20:30:00|Runter

Klappt das so?

Danke

Gruss
Dennis

CoolTux

#5
Ich würde dafür das Residenz Modul nehmen und dann auf asleep triggern oder asleep auswerten. Warum bauen die Leute komplizierte eigene Konstrukte und wollen dann darauf noch Hilfe. Verwendet doch bitte die Sachen die schon da sind und fragt dann. Dann können auch mehrere Leute helfen.

Ein Beispiel.

Ich gehe davon aus das Du die Rolladen Raumbasiert fahren möchtest. So soll zum Beispiel wenn Deine Frau oder Du auf schlafend steht die Rolläden im Schlafzimmer unten bleiben.
richte pro Raum eine Struktur mit den entsprechenden Rolladen ein, diese Strukturen packst du in eine weitere Struktur für die Etagen und die Etagenstrukturen in eine einzige Hausstruktur. Nun kannst du entsprechend Deinem Wunsch die strukturebenen schalten. Entweder für das ganze Haus. Alle gehen schlafen oder wachen auf, oder eben pro Raum und schaltest die anderen Raume einzeln.

Beispiel:

Schlafzimmer oberste Etage, Frau schläft. Sage den Raumstrukturen der oberen Etage bis auf Schalfzimmer "hoch fahren", sage der Struktur untere Etage "hoch fahren".



Fertig. Und ich habe nicht mal Rolläden    ;)

Zitat
zur Frage:
Du könntest z.B. mit 2 Weekdaytimern arbeiten, um so die Rolladen-Gruppen zu trennen.
Dann bei Nachtschicht den einen disablen (damit morgens nicht hoch) und z.B. mittags wieder enablen (damit abends wieder runter).
Oder den Homestatus als Bedingung mit reinnehmen (mache nur wenn nicht Nachtschicht; abends ist ja wieder anwesend)

Oder schaffe eine Bedingungsabfrage in Deinem Befehl. So das die Rolläden im Schlafzimmer nur runter gehen wenn Bedingung erfüllt ist.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dennis_n

Hi CoolTux,

vielen Dank für Deine Antwort.
Allerdings setzt dies ja voraus, dass man die Module auch alle kennt. Bin ja froh, dass ich meinen Rolläden und den Weekdaytimer hinbekomme ;-)

Also das mit den structure schaue ich mir genauer an.
Aber kann ich die einzelnen structure dann auch mit dem WeekdayTimer wie von mir geschrieben ansprechen?

Gruss
Dennis

CoolTux

Ich würde ja sagen. Macht ja nichts weiter als einen set Befehl zu setzen und das wird durch structure an die Devices weiter gereicht. Sollte also passen
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dennis_n

Vielen Dank.

Muss ich Residents unbedingt zusammen mit Roommate benutzen oder macht es in meinem Fall Sinn nur Residents einzeln zu benutzen?

Gruss
Dennis

CoolTux

Hier mal ein Beispiel für Rolläden und WeekdayTimer

http://forum.fhem.de/index.php/topic,27247.0.html

Also ich würde mit 2 Timern arbeiten, und in den einem Timer wo du die Structure vom Schlafzimmer mit ansprichst machst du eine Abfrage auf die Anwesenheit von personen/Frau.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

#10
Benutze beides. Glaub mir irgendwann brauch man beide, und eigentlich schaltest Du Residents nicht sondern nur roommate. Und Auf basis von roommate wird dann Residents geschalten.

Und wenn Du dann noch einen wakeuptimer anlegst, (muss man ja nicht verwenden) werden Scripte angelegt für schalfen gehen, schlafen und aufwachen. Damit kannst du dann weitere Aktionen einstellen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dennis_n

OK ich versuchs heute Abend und werde dann mal mein Vorschlag zum Aufbau hier posten.

Danke schonmal.

Gruss
Dennis

dennis_n

Hallo,

so ich habe mal angefangen von Grund an alles aufzubauen. Wie gesagt ich bin Neuling. Also habt etwas Geduld mit mir ;-)

define Haus RESIDENTS

—> set Haus addRoommate Vater
—> set Haus addRoommate Mutter
—> set Haus addRoommate Kind

Jeder Bewohner soll in der Zukunft seinen eigenen Status-Buttton bekommen. Aktuell benötigen wir aber nur einen Staus.
Ich orientiere mich am Status des Vaters.

Wenn ich meinen Status dann auf abwesend setzen will führe ich folgendes Kommando  aus:

set Vater state absent oder eben set Vater state home wenn wir zu Hause sind.


Struktur der Rollläden:
Zuerst alle Rollläden einzeln in Strukturen aufnehmen:

define RL_Buero_li srtucture ZWAVE_SWITCH1
define RL_Buero_re srtucture ZWAVE_SWITCH2
define RL_Kueche srtucture ZWAVE_SWITCH3

usw.

Dann pro Etage:

define allRL_EG structure ZWAVE_SWITCH1 ZWAVE_SWITCH2 ZWAVE SWITCH3
define allRL_OG structure ZWAVE_SWITCH4 ZWAVE_SWITCH5 ZWAVE SWITCH6

Dann alles zusammen:

define allRL_Haus structure allRL_EG allRL_OG

Jetzt geht es an die Steuerung per Status:

Wenn wir also den Status auf home setzen, sollen zunächst einmal alle Rollläden hoch gehen (die Verfeinerung kommt nachher).

Das passende notify:

define status_absent notify Vater:absent set allRL_Haus Runter
oder
define status_home notify Vater:home set allRL_Haus Hoch


Stimmt das bis hier hin schonmal oder sind da schon grobe Fehler drin?

Danke

Gruss
Dennis





CoolTux

Sieht im Groben erstmal schlüssig aus. Sollte so passen.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dennis_n

Wäre dies dann mein erster WeekdayTimer, wenn sowohl morgens als auch Abends der Status auf home steht?

define WT_Rolladen_EG_OG_Status_home WeekdayTimer allRL_Haus Mo-Fr|06:30:00|Hoch (Value("Vater") eq "home") Mo-Fr|20:00:00|Runter (Value("Vater") eq "home")

Gruss
Dennis