[Gelöst] Rolladensteuerung

Begonnen von bastelwastel, 07 November 2017, 13:00:02

Vorheriges Thema - Nächstes Thema

bastelwastel

Hi!

Ich möchte meine Rolladensteuerung noch etwas optimieren. Ich lasse meinen Rolladen zu Sonnenuntergang schliessen, zu Sonnenaufgang auf 80%, zu Sonnenaufgang+300sec auf 60%, weitere 300sec später geht er ganz auf. Soweit kein Problem. Wenn ich nun aber nachts den Rolladen zum Lüften öffne, fährt er zuerst runter, damit er anschliessend wieder hochfährt. Wie bekomme ich das hin, daß der Rolladen nur dann auf 80% bzw. 60% fährt, wenn er unterhalb des Wertes steht?

Gruß, Stefan

ripper

Indem du erst prüfst auf welcher Position sich der Rollladen befindet und dann erst entscheidest ob ein Fahrbefehl notwendig ist.

Beta-User

Da du etwas wenig an Infos lieferst, ist das ziemlich Glaskugel.

Ergänzend zu ripper:
In Einsteiger-pdf ist ab ca. S. 37 beschrieben, wie man at und notify mit perl-Abfragen kombiniert.
define Schalter1Notify notify Schalter1 { if ( Value("Schalter1") eq "off") {fhem("set
wz_Media off")} }

Bei dir sollte dass dann statt "eq "off"" ein ">80" usw. sein...

Vielleicht solltest du das Einsteiger-pdf mal durcharbeiten und beim posten die in dem in der Signatur verlinkten Hilfestellungen für Threads beachten.

Gruß und viel Erfolg,

Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

bastelwastel

Jetzt sitze ich am richtigen Rechner.

So sieht es zur Zeit aus:
Zitat# Rolladen fahren
define Rolladen_ab at *{sunset(0,"17:00","22:00")} set Rolladen 100   # 100 Prozent zu
define Rolladen_auf_80 at *{sunrise(300,"06:00","07:30")} set Rolladen 80    # 80 Prozent zu 300 Sekunden (5 Minuten) nach sunrise
define Rolladen_auf_60 at *{sunrise(600,"06:00","07:30")} set Rolladen 60    # 60 Prozent zu 600 Sekunden (10 Minuten) nach sunrise
define Rolladen_auf at *{sunrise(900,"06:00","07:30")} set Rolladen 0        # auf 900 Sekunden (15 Minuten) nach sunrise

Gruß, Stefan

Beta-User

Moin,

vorab: direktes Editieren der cfg ist keine gute Idee (oder deute ich den Code-Auszug falsch)...

Mal ein Beispiel (ungetestet), wie das dann aussehen sollte:

define Rolladen_auf_80 at *{sunrise(300,"06:00","07:30")} { if ( Value("Rolladen ") > 80) {fhem("set Rolladen 80")} }    # 80 Prozent zu 300 Sekunden (5 Minuten) nach sunrise


Aber grundsätzlich wäre etwas mehr an eigener Arbeit (und dokumentierter Versuche) nicht schlecht ;) . Einsteiger-pdf liegt neben dir?

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

ripper

Zitat von: bastelwastel am 07 November 2017, 13:00:02
Wenn ich nun aber nachts den Rolladen zum Lüften öffne, fährt er zuerst runter, damit er anschliessend wieder hochfährt. Wie bekomme ich das hin, daß der Rolladen nur dann auf 80% bzw. 60% fährt, wenn er unterhalb des Wertes steht?

Es kann ja auch sein dass ich mich täusche, aber in deinem Fall ist doch ein notify im Spiel. Oder versteh ich die Frage nicht?

Gruß
Flo

Beta-User

Zitat von: ripper am 08 November 2017, 11:14:47
Es kann ja auch sein dass ich mich täusche, aber in deinem Fall ist doch ein notify im Spiel. Oder versteh ich die Frage nicht?
Was für ein notify? Es wurde nur sinngemäß erklärt: "wenn ich den Rolladen nachts bereits geöffnet habe, soll er nicht wieder nach unten, um dann geöffnet zu werden"
Es ist bei der Konstruktion doch im Prinzip egal, durch was (notify, Tastendruck usw.) der Rolladen weiter oben steht, wenn die at's greifen. Wenn er aber z.B. um 5 Min. nach sunrise bereits offen ist, wird ihn das at (ohne den perl-if-Teil) wieder nach unten schicken...

Das sollte nach meinem Verständnis verhindert werden.

Btw.: Das hier kennt ihr?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

ripper

ok dann hab ich dass Falsch verstanden, ich lasse meine Jalousien öffnen bzw. ankippen wenn ich das Fenster zum lüften öffne. Aber eben auch nur wenn diese bereits geschlossen sind.
Das "modul" kenne ich. Danke

Gruß
Flo

CoolTux

Zitat von: Beta-User am 08 November 2017, 10:12:03
Moin,

vorab: direktes Editieren der cfg ist keine gute Idee (oder deute ich den Code-Auszug falsch)...

Mal ein Beispiel (ungetestet), wie das dann aussehen sollte:

define Rolladen_auf_80 at *{sunrise(300,"06:00","07:30")} { if ( Value("Rolladen ") > 80) {fhem("set Rolladen 80")} }    # 80 Prozent zu 300 Sekunden (5 Minuten) nach sunrise


Aber grundsätzlich wäre etwas mehr an eigener Arbeit (und dokumentierter Versuche) nicht schlecht ;) . Einsteiger-pdf liegt neben dir?

Gruß, Beta-User


define Rolladen_auf_80 at *{sunrise(300,"06:00","07:30")} { fhem("set Rolladen:FILTER=STATE>80 80")}
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

Beta-User

...oder eben so...
Zitat von: CoolTux am 08 November 2017, 11:39:24

define Rolladen_auf_80 at *{sunrise(300,"06:00","07:30")} { fhem("set Rolladen:FILTER=STATE>80 80")}

Danke für den Hinweis auf FILTER. Gibt eben viele Wege nach Rom...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

bastelwastel

An Value hab ich garnicht gedacht, ich habe mir mit dem EventMonitor ein notify auf das Reading Level gemacht und versucht, diese dann mit < zu benutzen.

Danke an alle!

Beta-User

Schön, dass es jetzt so ist, wie du wolltest.

Kannst du den Thread auf [gelöst] setzten?

Und das Durcharbeiten der Beispiele im Einsteiger-pdf würde ich wirklich wärmstens empfehlen (nur bitte die cfg. nicht direkt editieren, sondern FHEMWEB benutzen) ;) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Bäschdler

Hallo,
ich habe versucht das oben stehende umzusetzen. Es hat aber leider nicht funktioniert.  :'(


Das hier steht in der Config:
# Rolladen OG Kinderzimmer am Morgen auf fahren
define Roll_OG_KiZ_Morgen_80 at *{sunrise(1200,"06:00","09:00")} {fhem("set OG_KiZ_Roll:FILTER=STATE>80 80")} # auf 80% _ 1200 Sekunden (20 Min) nach sunrise
define Roll_OG_KiZ_Morgen_60 at *{sunrise(1320,"06:00","09:02")} {fhem("set OG_KiZ_Roll:FILTER=STATE>60 60")} # auf 60% _ 1320 Sekunden (22 Min) nach sunrise
define Roll_OG_KiZ_Morgen_auf at *{sunrise(1800,"06:00","09:10")} set OG_KiZ_Roll 0 # auf 0% _ 1800 Sek (30 Min) nach sunrise

define Roll_OG_KiZ_Test_21 at *{sunrise(1100,"06:00","09:00")} { fhem("set OG_KiZ_Roll:FILTER=STATE>90 90")}
define Roll_OG_KiZ_Test_22 at *{sunrise(1230,"06:00","09:00")} { fhem("set OG_KiZ_Roll:FILTER=STATE>70 70")}



Sonnenaufgang war an dem Tag an dem ie es getestet hatte und von dem unten stehender Logbucheintrag ist um 7:05:13


2017-11-21_07:35:13 OG_KiZ_Roll level: set_0
2017-11-21_07:35:13 OG_KiZ_Roll set_0
2017-11-21_07:35:13 OG_KiZ_Roll deviceMsg: on (to myHmUART)
2017-11-21_07:35:13 OG_KiZ_Roll level: 100
2017-11-21_07:35:13 OG_KiZ_Roll motor: down:on
2017-11-21_07:35:13 OG_KiZ_Roll pct: 100
2017-11-21_07:35:13 OG_KiZ_Roll on
2017-11-21_07:35:13 OG_KiZ_Roll timedOn: off
2017-11-21_07:35:42 OG_KiZ_Roll deviceMsg: off (to myHmUART)
2017-11-21_07:35:42 OG_KiZ_Roll level: 0
2017-11-21_07:35:42 OG_KiZ_Roll motor: stop:off
2017-11-21_07:35:42 OG_KiZ_Roll pct: 0
2017-11-21_07:35:42 OG_KiZ_Roll off
2017-11-21_07:35:42 OG_KiZ_Roll timedOn: off



Somit hat nur der eine Fahrbefehl funktioniert der ohne Filter ist.



Hat mir jemand von euch einen Tipp was ich falsch gemacht habe?


Danke schon mal und viele Grüsse
Ralf

CoolTux

setz den Filter mal auf pct statt auf STATE. Wer weiß was bei Dir im STATE steht
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