[GELÖST] Rolladensteuerung über Temperatur steuern

Begonnen von Tutti_Bomovski, 29 Juli 2022, 14:04:33

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

Zitat von: Thyraz am 09 August 2022, 09:32:16
Genau. Es sollte erstmal klar sein, was programmiert werden soll.

Genau.

Sauber formulierte "wenn-dann-Bedingungen" sollten sich ja "leicht" in ein DOIF (oder notify mit if/else) gießen lassen...

Bevor man da nicht sauber durchdacht "fertig" ist, wird das eh nichts gescheites/sauberes...
...bzw. "endloses Gebastel"...

(was nicht heißen soll, dass es gleich zu Beginn 100% "fertig" sein soll/muss und nie mehr angepasst/erweitert werden kann/soll aber zumindest in einem "Formulierungsstand" der schon Sinn macht zu laufen / weitere Anpassungen sollten dann nur noch Optimierungen etc. sein)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Tutti_Bomovski

#16
Vielleicht versuche ich mein Vorhaben hier noch mal zu beschreiben.

Einiges davon habe ich auch schon eingerichtet. Funktioniert halt "nur" nicht zu 100%.

Die Rollade soll, wenn es wärmer als 23° und der Anwesenheitsstatus "nicht zu Hause" ist um 25% nach oben fahren (wenn sie geschlossen ist).
Dazu nutzt mein DOIF die Temperatur aus dem Proplanta und den Anwesenheitsstatus.
Wenn die Temperatur nun wieder unter 23° geht und der Anwesenheitsstatus weiterhin "nicht zu Hause" ist, dann soll die Rollade vollständig schließen.
Wenn der Anwesenheitsstatus "zu Hause" ist, dann passiert einfach nichts.
Wenn in Proplanta nun aufgrund der Updates die Temperatur sich ändert und größer 23° bleibt, dann soll natürlich nicht bei jedem Update in proplante die Rollade wieder um 25% hoch gehen, sondern unverändert so bleiben. Sonst ist sie ja irgendwann komplett offen.

Den Status "Summer" setze ich wie bereits erwähnt durch ein DOIF. Das kann man sicher in einem DOIF kombinieren.

Ich hoffe, das hilft nun noch mal ein wenig weiter bei meinem Vorhaben und sorry nochmal, wenn meine Leitung manchmal etwas länger ist.  8) Ich versuche ja zu lernen. ;)

Internals:
   DEF        ([Summer] eq "warm_nichtzuHause") (set d_RolladeTerrassentuer up 25)
   FUUID      5d1b432e-f33f-8c13-2cb7-8acd877819a68778
   MODEL      FHEM
   NAME       di_Rollade_warmnichtzuHause
   NOTIFYDEV  global,Summer
   NR         239
   NTFY_ORDER 50-di_Rollade_warmnichtzuHause
   STATE      cmd_2
   TYPE       DOIF
   VERSION    26182 2022-06-29 18:57:26
   eventCount 76
   READINGS:
     2022-08-09 10:54:22   Device          Summer
     2022-08-07 17:54:22   cmd             2
     2022-08-07 17:54:22   cmd_event       Summer
     2022-08-07 17:54:22   cmd_nr          2
     2022-08-09 10:54:22   e_Summer_STATE  kalt_zuHause
     2022-07-29 14:13:02   mode            enabled
     2022-08-07 17:54:22   state           cmd_2
   Regex:
     accu:
     collect:
     cond:
       Summer:
         0:
           &STATE     ^Summer$
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'Summer','STATE') eq "warm_nichtzuHause"
   do:
     0:
       0          set d_RolladeTerrassentuer up 25
     1:
   helper:
     NOTIFYDEV  global,Summer
     event      kalt_zuHause
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Summer
     timerevent kalt_zuHause
     triggerDev Summer
     timerevents:
       kalt_zuHause
     timereventsState:
       state: kalt_zuHause
     triggerEvents:
       kalt_zuHause
     triggerEventsState:
       state: kalt_zuHause
   hmccu:
   internals:
     all         Summer:STATE
   readings:
   trigger:
   uiState:
   uiTable:
Attributes:
   group      Rolladensteuerung
   room       Homematic,Sommer


Internals:
   DEF        ([Summer] eq "kalt_nichtzuHause") (set d_RolladeTerrassentuer close)

   FUUID      5d1b51c9-f33f-8c13-f7ea-64794f725ce33a8b
   MODEL      FHEM
   NAME       di_Rollade_kaltnichtzuHause
   NOTIFYDEV  global,Summer
   NR         243
   NTFY_ORDER 50-di_Rollade_kaltnichtzuHause
   STATE      cmd_1
   TYPE       DOIF
   VERSION    26182 2022-06-29 18:57:26
   eventCount 207
   READINGS:
     2022-08-09 10:54:22   Device          Summer
     2022-08-09 01:15:05   cmd             1
     2022-08-09 01:15:05   cmd_event       Summer
     2022-08-09 01:15:05   cmd_nr          1
     2022-08-09 10:54:22   e_Summer_STATE  kalt_zuHause
     2022-06-08 13:20:34   mode            enabled
     2022-08-09 01:15:05   state           cmd_1
   Regex:
     accu:
     collect:
     cond:
       Summer:
         0:
           &STATE     ^Summer$
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'Summer','STATE') eq "kalt_nichtzuHause"
   do:
     0:
       0          set d_RolladeTerrassentuer close
     1:
   helper:
     NOTIFYDEV  global,Summer
     event      kalt_zuHause
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Summer
     timerevent kalt_nichtzuHause
     triggerDev Summer
     timerevents:
       kalt_nichtzuHause
     timereventsState:
       state: kalt_nichtzuHause
     triggerEvents:
       kalt_zuHause
     triggerEventsState:
       state: kalt_zuHause
   internals:
     all         Summer:STATE
   perlblock:
   readings:
   trigger:
   uiState:
   uiTable:
Attributes:
   do         always
   group      Rolladensteuerung
   room       Homematic,Sommer

MadMax-FHEM

Zitat
Die Rollade soll, wenn es wärmer als 23° und der Anwesenheitsstatus "nicht zu Hause" ist um 25% nach oben fahren (wenn sie geschlossen ist).

Wenn du die Bedingung aus der Klammer rausnimmst und "ernst" nimmst, dann KANN der Rollo ja gar nicht mehrmals um 25% fahren, selbst wenn das DOIF ausgelöst wird/würde, da ja der Rollo NICHT (mehr) geschlossen ist nach der ersten 25% Fahrt...

Was soll passieren, wenn der Anwesenheitsstatus wechselt?

Weil neben den Bedingungen ist bei DOIF auch wichtig: soll die "Bedingung" ein "Auslöser" sein oder "nur" abgefragt werden!

Also soll, wenn sich der Anwesenheitsstatus ändert was passieren -> dann muss das Ereignis triggern
Soll nichts passieren, sondern "nur" in Abhängigkeit vom aktuellen Zustand das eine oder das andere (oder auch nichts) passieren, dann eben "nur" abfragen, also nicht triggern...

Also für mich sieht das noch nicht "zu Ende" gedacht aus ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Tutti_Bomovski

#18
Zitat von: MadMax-FHEM am 09 August 2022, 11:48:19
Wenn du die Bedingung aus der Klammer rausnimmst und "ernst" nimmst, dann KANN der Rollo ja gar nicht mehrmals um 25% fahren, selbst wenn das DOIF ausgelöst wird/würde, da ja der Rollo NICHT (mehr) geschlossen ist nach der ersten 25% Fahrt...

Was soll passieren, wenn der Anwesenheitsstatus wechselt?

Weil neben den Bedingungen ist bei DOIF auch wichtig: soll die "Bedingung" ein "Auslöser" sein oder "nur" abgefragt werden!

Also soll, wenn sich der Anwesenheitsstatus ändert was passieren -> dann muss das Ereignis triggern
Soll nichts passieren, sondern "nur" in Abhängigkeit vom aktuellen Zustand das eine oder das andere (oder auch nichts) passieren, dann eben "nur" abfragen, also nicht triggern...

Also für mich sieht das noch nicht "zu Ende" gedacht aus ;)

Gruß, Joachim

Hallo Joachim,
vielen Dank für deine Geduld mit mir.  :)

Außer den beiden Punkten soll er halt "nichts" machen.
Wenn sich der Anwesenheitsstatus ändert, dann soll nichts passieren.
"Nur" die Steuerung der Rollade basierend auf der Temperatur und Status "nicht zu Hause".
Ich hatte ergänzend über die Bedingung "wenn Rollade geschlossen" ist nachgedacht und man kann das mit einbauen.
Dann dürfte ja quasi nicht mehrfach die Rollade bei Update der Temperatur um weitere 25% geöffnet werden.
Variante 1) wenn Temperatur >23° UND Anwesenheit "Nicht zu Hause" UND Rollade "Geschlossen" DANN 25% hoch.

([Temperatur] >23 and [Anwesenheit] eq "nicht zu Hause" and [Rollade] eq "closed") (set Rollade up 25)


Variante 2) wenn Temperatur <23° UND Anwesenheit "Nicht zu Hause" UND Rollade "nicht Geschlossen" DANN 100% schließen.



Danke und Gruß,
Michael

rabehd

Jetzt noch aus Variante Zweig machen, dann sieht es für mich schon gut aus und wäre die erste Version des DOIF.
Na ja, die Frage Trigger ja  oder nein fehlt noch.
Trigger wäre für mich nur die Temperatur, der Rest wird nur abgefragt.
([Temperatur] >23 and [?Anwesenheit] eq "nicht zu Hause" and [?Rollade] eq "closed") (set Rollade up 25)
Auch funktionierende Lösungen kann man hinterfragen.

Tutti_Bomovski

Zitat von: rabehd am 09 August 2022, 12:48:19
Jetzt noch aus Variante Zweig machen, dann sieht es für mich schon gut aus und wäre die erste Version des DOIF.
Na ja, die Frage Trigger ja  oder nein fehlt noch.
Trigger wäre für mich nur die Temperatur, der Rest wird nur abgefragt.
([Temperatur] >23 and [?Anwesenheit] eq "nicht zu Hause" and [?Rollade] eq "closed") (set Rollade up 25)

Danke für deine Nachricht.
Ja, die Temperatur soll der Trigger sein. Wenn Anwesenheit oder Rolladenstatus sich ändert soll nichts passieren.

Die Fragezeichen sind dann der entsprechende Hinweis für nur die Abfrage?

MadMax-FHEM

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Tutti_Bomovski

Zitat von: MadMax-FHEM am 10 August 2022, 08:45:59
Ja, steht ja so in der commandref zu DOIF ;)

https://fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Status_ohne_Trigger

Gruß, Joachim

Dankeschön!
Ich hab im Wiki nachgeschaut und die Information nicht gefunden.
Für das nächste Mal dann die Commandref  :)

Ich werde das heute dann mal testen und berichten.

Vielen, vielen Dank für Eure Hilfe bis hier hin!

MadMax-FHEM

Zitat von: Tutti_Bomovski am 10 August 2022, 08:52:01
Ich hab im Wiki nachgeschaut und die Information nicht gefunden.
Für das nächste Mal dann die Commandref  :)

Ich schon ;):
https://wiki.fhem.de/wiki/DOIF/Einsteigerleitfaden,_Grundfunktionen_und_Erl%C3%A4uterungen#Ereignisse

Zitat
Alle Auslöser

[?<Auslöserangabe>] Auslöser, die mit Fragezeichen beginnen lösen nicht aus, sie werden nur abgefragt

commandref/DOIF_Zeitintervalle_Readings_und_Status_ohne_Trigger


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)


frank

@Tutti_Bomovski
mich würde mal der "nutzen/sinn" dieser automation interessieren.

warum lässt du wärme ins haus, wenn keiner da ist?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Tutti_Bomovski

Zitat von: frank am 10 August 2022, 10:09:50
@Tutti_Bomovski
mich würde mal der "nutzen/sinn" dieser automation interessieren.

warum lässt du wärme ins haus, wenn keiner da ist?

Ich lasse ja keine Wärme ins Haus.
Wenn wir alle das Haus verlassen, sind die bodentiefen Fensterrolladen zu 100% geschlossen. Gerade auf der Südseite zieht es dann aber die Rollade immer in Mitleidenschaft, wenn es zu warm / heiß wird. Daher öffne ich die Rollade dann minimal einen Spalt breit unten. :) 

frank

ZitatWenn wir alle das Haus verlassen, sind die bodentiefen Fensterrolladen zu 100% geschlossen. Gerade auf der Südseite zieht es dann aber die Rollade immer in Mitleidenschaft, wenn es zu warm / heiß wird.
interessanter aspekt.
da muss ich meine rollos (180 cm lang) nach der umrüstung auf motorbetrieb wohl genauer beobachten.

ZitatIch lasse ja keine Wärme ins Haus.
bei "set rollo up 25" bin ich von 25% öffnen ausgegangen, also etwa ein viertel der fensterfläche.
"ein spalt breit am boden" hört sich dann ganz anders an.

bei meinen rollos öffnen sich zwischen den lamellen schmale schlitze, wenn sie frei hängen.
zur zeit denke ich, jede noch so kleine öffnung des rollos sollte die isolation der fensterfläche verringern und somit den wärmeeintrag erhöhen.  8)
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Tutti_Bomovski

Zitat von: frank am 11 August 2022, 11:59:47
interessanter aspekt.
da muss ich meine rollos (180 cm lang) nach der umrüstung auf motorbetrieb wohl genauer beobachten.

Bei uns hat aufgrund der sommerlichen Hitze (Südseite) die Kunststoffrollade aufgegeben und sich extrem ausgebeult. Wir konnten sie dann nicht mehr einfahren.
Jetzt ist eine neue Rollade (mit Aluverstärkung) drin, aber der Fensterbauer meinte, man solle unten einen Spalt öffnen, wenn es sehr warm ist, das zwischen Glas und Rollade halt auch Luft zirkulieren kann.

Dazu passe ich gerade meine Rolladensteuerung an. Sprich sie soll dann aus dem komplett geschlossenen Zustand, wenn wir nicht zu Hause sind und es wärmer als 23° ist, um 25% nach oben fahren. Damit ist sie aber immer noch zu ~75% geschlossen.