[73_AutoShuttersControl.pm] Neues Modul zum automatisierten steuern von Rolläden

Begonnen von CoolTux, 30 Oktober 2018, 17:29:46

Vorheriges Thema - Nächstes Thema

diki

Hallo Zusammen,

das Attribut "ASC_BlockingTime_afterManual" funktioniert bei mir wie gewünscht. Das bedeutet aber auch, dass nach einer manuellen Rollladenfahrt für den Zeitraum der BlockingTime beim Öffnen des Fensterkontaktes keine Rollladenfahrt in die "ASC_Ventilate_Pos" stattfindet. Das kann ich so nicht sinnvoll verwenden.

In diesem Zusammenhang ("ASC_BlockingTime_afterManual" = "0") ist mir aufgefallen, dass nach manueller Rollladenfahrt am Tag der Rollladen bei Öffnen des Fensterkontaktes hochfährt, aber nach dem Schließen des Fensterkontaktes nicht wieder in die vor dem Öffnen eingestellte Position fährt. Ist dieses Modulverhalten gewünscht? Vielleicht liegt das auch wieder an meiner Konfiguration? Die sieht am Rollladen (Somfy io) wie folgt aus.:

ASC = 2
ASC_Pos_Reading = ClosureState
als userReading: pct {ReadingsNum($name,'state',0)}

Danke und Grüße,
Dirk




chrisse111179

Hallo,
bei den Somfy-Rollläden sind die Positionsangaben ja eher ungenau weil die über die Laufzeit ermittelt werden die man selbst mittels Stoppuhr raustüftelt. Außerdem ist bei set Somfy-Shutter position 100 der Rollladen nicht geschlossen, sondern die Unterkante des Rollladenpanzers auf Höhe des Fensterrahmens. Allerdings haben die Somfy-Motoren drei fest programmierte Positionen: on, go-my, off
Deshalb fände ich es sinnvoller wenn bei Somfy auch diese drei Befehle gesendet werden würden. Also bei 0 Prozent Öffnung on, bei 100 Prozent Öffnung off, und bei allem dazwischen go-my.

Ich habe mir jetzt beholfen indem ich in der 73_AutoShutterControl.pm
my %posSetCmds = (
    ZWave      => 'dim',
    Siro       => 'position',
    CUL_HM     => 'pct',
    ROLLO      => 'pct',
    SOMFY      => 'position',
    tahoma     => 'dim',
    KLF200Node => 'pct',
    DUOFERN    => 'position',
    HM485      => 'level',
);

in
my %posSetCmds = (
    ZWave      => 'dim',
    Siro       => 'position',
    CUL_HM     => 'pct',
    ROLLO      => 'pct',
    SOMFY      => 'pct',
    tahoma     => 'dim',
    KLF200Node => 'pct',
    DUOFERN    => 'position',
    HM485      => 'level',
);

geändert habe, und an den Rollläden das
attr eventMap off:pct.0 go-my:pct.50 on:pct.100
gesetzt habe.

Grüße,
Christian

diki

Hallo Christian,

Zitatbei den Somfy-Rollläden sind die Positionsangaben ja eher ungenau weil die über die Laufzeit ermittelt werden die man selbst mittels Stoppuhr raustüftelt.

Also bei mir sind Somfy Funk-Rolladenmotoren verbaut, da habe ich noch nie etwas mittels Stoppuhr rausgetüftelt (0 Prozent und 100 Prozent funktioniert auch). Die von mir genannten Einstellungen funktionieren grundsätzlich mit dem Modul.

Ein interessanter Ansatz, aber ich will nicht bei jedem Update das Modul ändern. Es gibt sicher auch Nutzer, die sich da nicht rantrauen.

Gruß, Dirk


CoolTux

Zitat von: diki am 04 Februar 2019, 11:31:19
Hallo Zusammen,

das Attribut "ASC_BlockingTime_afterManual" funktioniert bei mir wie gewünscht. Das bedeutet aber auch, dass nach einer manuellen Rollladenfahrt für den Zeitraum der BlockingTime beim Öffnen des Fensterkontaktes keine Rollladenfahrt in die "ASC_Ventilate_Pos" stattfindet. Das kann ich so nicht sinnvoll verwenden.

In diesem Zusammenhang ("ASC_BlockingTime_afterManual" = "0") ist mir aufgefallen, dass nach manueller Rollladenfahrt am Tag der Rollladen bei Öffnen des Fensterkontaktes hochfährt, aber nach dem Schließen des Fensterkontaktes nicht wieder in die vor dem Öffnen eingestellte Position fährt. Ist dieses Modulverhalten gewünscht? Vielleicht liegt das auch wieder an meiner Konfiguration? Die sieht am Rollladen (Somfy io) wie folgt aus.:

ASC = 2
ASC_Pos_Reading = ClosureState
als userReading: pct {ReadingsNum($name,'state',0)}

Danke und Grüße,
Dirk

Nach einer manuellen Fahrt der Wunsch der User soll rein gar nichts mehr in der Blockingzeit vom ASC Device gefahren werden. Daher ist in dieser Zeit auch keine automatische Steuerung jeglicher Art möglich.


Am Tag sollte der Rollladen wieder in die letzte Position fahren nach dem das Fenster geschlossen wurde, so lange die aktuelle Position gleich ventilatePosition oder comfortOpenPosition und nicht die openPosition 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

CoolTux

Zitat von: eurofinder am 04 Februar 2019, 08:13:44
Eine einstellbare Zeit als Verzögerung finde ich auch sehr gut.

Befürworte trotzdem die individuelle Angabe, denn beim Verlassen des Hauses müssen ja nicht zwangsläufig alle offenen Rolläden geschlossen werden, sondern lediglich die Sicherheitsrelevanten.

Vorschlag:
Set Befehle für ASC-Device:
SecurityMode (on/off)

Attribute im AutoShuttersControl Device:
ASC_SecurityMode_Offset (Standard = 0) Zeitangabe in Minuten für Berücksichtigung der Verzögerung

Attribut im Rolllädendevices:
ASC_SecurityMode (on/off)

Gruß
eurofinder


Das ganze mit Verzögerung zu bauen wird etwas Zeit in Anspruch nehmen. Das wird so nichts auf die schnelle.
Im Grunde ist das ganze ja dann ein selfDefense nur im absent statt im gone
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

chrisse111179

Zitat von: diki am 04 Februar 2019, 12:51:47
Hallo Christian,

Also bei mir sind Somfy Funk-Rolladenmotoren verbaut, da habe ich noch nie etwas mittels Stoppuhr rausgetüftelt (0 Prozent und 100 Prozent funktioniert auch). Die von mir genannten Einstellungen funktionieren grundsätzlich mit dem Modul.

Ein interessanter Ansatz, aber ich will nicht bei jedem Update das Modul ändern. Es gibt sicher auch Nutzer, die sich da nicht rantrauen.

Gruß, Dirk


Hi diki,
echt? Bei mir sind auch Somfy-Funkmotoren verbaut, und ohne angepasste eventMap funtioniert set pct bei mir gar nicht. Laut Commandref kann man die Motoren nur über set position steuern wenn man drive-down-time-to-100, drive-down-time-to-close, drive-up-time-to-100 und drive-up-time-to-open gesetzt hat. Ich habe diese Attribute nicht gesetzt, und per ASC sind die dann gar nicht gefahren.
Wie hast du die Rollläden denn angelegt?
Viele Grüße,
Christian

coolice

Zitat von: eurofinder am 04 Februar 2019, 08:13:44
Eine einstellbare Zeit als Verzögerung finde ich auch sehr gut.

Befürworte trotzdem die individuelle Angabe, denn beim Verlassen des Hauses müssen ja nicht zwangsläufig alle offenen Rolläden geschlossen werden, sondern lediglich die Sicherheitsrelevanten.

Vorschlag:
Set Befehle für ASC-Device:
SecurityMode (on/off)

Attribute im AutoShuttersControl Device:
ASC_SecurityMode_Offset (Standard = 0) Zeitangabe in Minuten für Berücksichtigung der Verzögerung

Attribut im Rolllädendevices:
ASC_SecurityMode (on/off)

Gruß
eurofinder
Das fände ich auch super, denn es müssten bei uns nur 4 Rollos geschlossen werden und nicht alle 13


Gesendet von iPhone mit Tapatalk

eurofinder

@CoolTux:
Ist natürlich eine ganz idividuelle Sache, wie man sein Haus durch geschlossenen Rolläden schützt. Ich persönlich finde aber, dass bei kurzen Abwesenheitszeiten, nicht grundsätzlich alle Rolläden geschlossen sein müssen und auch bei längeren Abwesenheitszeiten kann die Betrachtungsweise/Bedarf unterschiedlich sein.

Eine Umsetzung wäre super, kann gerne auch etwas länger dauern:-)

@Christian:
Ich verwende hier oximo io-Funkmotoren mit einer Tahoma-Box 2.0 und ASC. Dort habe ich dann für jeden Rolladen das Attribut ASC=1 gesetzt und per scanForShutters einen Suchlauf gestartet.

Gruß
eurofinder
RPI3+; Raspbian Buster Lite; RPI-RF-MOD; piVCCU3, HMIP-eTRV-2, HmIP-SWDO, HmIP-SRH, HmIP-STHO, HmIP-SLO

diki

Hallo Cooltux,

ZitatNach einer manuellen Fahrt der Wunsch der User soll rein gar nichts mehr in der Blockingzeit vom ASC Device gefahren werden. Daher ist in dieser Zeit auch keine automatische Steuerung jeglicher Art möglich.

Danke, das ist auch richtig so, ich wollte das nur rückmelden. (Für mich halt dann nicht benutzbar, schon wegen dem WAF.)

ZitatAm Tag sollte der Rollladen wieder in die letzte Position fahren nach dem das Fenster geschlossen wurde, so lange die aktuelle Position gleich ventilatePosition oder comfortOpenPosition und nicht die openPosition ist.

Entschuldige, ich verstehe die Antwort nicht. Was ich beobachtet habe:

An Rollladen 1: Manuell auf 30 % fahren, dann Fenster öffnen, ventilatePosition = 100, openPosition = 100, dann Fenster schließen, Rollladen bewegt sich nicht - ich erwarte 30 %.
An Rollladen 2: Manuell auf 30 % fahren, dann Fenster öffnen, ventilatePosition = 90, openPosition = 100, dann Fenster schließen, Rollladen bewegt sich nicht - ich erwarte 30 %.

Danke und Gruß,
Dirk



diki

Hallo Christian,

ZitatWie hast du die Rollläden denn angelegt?

Ich verwende eine Tahomabox. Per tahoma, Modul: 26_tahoma.pm.

Siehe hier: https://forum.fhem.de/index.php?topic=28045.0

Gruß, Dirk

chrisse111179

Hallöchen,
ok, da liegt wohl der Unterschied. Ich steuere die Motoren direkt über einen CUL und das Modul 10_SOMFY.pm.
Grüße,
Christian

CoolTux

Zitat von: diki am 04 Februar 2019, 14:14:56
An Rollladen 1: Manuell auf 30 % fahren, dann Fenster öffnen, ventilatePosition = 100, openPosition = 100, dann Fenster schließen, Rollladen bewegt sich nicht - ich erwarte 30 %.
Da die ventilatePosition gleich die openPosition ist wird hier nicht gefahren.


Zitat von: diki am 04 Februar 2019, 14:14:56
An Rollladen 2: Manuell auf 30 % fahren, dann Fenster öffnen, ventilatePosition = 90, openPosition = 100, dann Fenster schließen, Rollladen bewegt sich nicht - ich erwarte 30 %.

Danke und Gruß,
Dirk

Hier hätte in der Tat der Rolladen auf 30 fahren sollen.
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

diki

ZitatDa die ventilatePosition gleich die openPosition ist wird hier nicht gefahren.

Wie ist das dann wenn der Rollladen am Tag in Beschattung ist und ich öffne den Fensterkontakt? Ich habe in jedem Fall die 30 % erwartet. Ich muss an der Terrassentür am Tag auf ventilatePosition = 100 fahren, da sonst die (Fliegen-)Tür nicht aufgeht. Oder kann ich das anders lösen?

CoolTux

Zitat von: diki am 04 Februar 2019, 15:30:42
Wie ist das dann wenn der Rollladen am Tag in Beschattung ist und ich öffne den Fensterkontakt? Ich habe in jedem Fall die 30 % erwartet. Ich muss an der Terrassentür am Tag auf ventilatePosition = 100 fahren, da sonst die (Fliegen-)Tür nicht aufgeht. Oder kann ich das anders lösen?

Bei Beschattung hatten wir uns darauf geeinigt das egal ob Fenster auf oder zu gar nicht aus der Beschattung gefahren wird.
Sinn und Zweck ist das sobald ein anderer Wert als ventilatePosition oder comfortPosition angefahren wird die Automatik bei Fensterevents nicht reagiert.
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

diki

Ich muss nochmal fragen, sonst kapier ich es nicht  :-\

ZitatBei Beschattung hatten wir uns darauf geeinigt das egal ob Fenster auf oder zu gar nicht aus der Beschattung gefahren wird.

Also kann man bei Beschattungsautomatik das Rollo nur durch einen manuellen Fahrbefehl bewegen? Und danach ist die automatische Beschattung für diesen Tag ausgeschaltet?

ZitatSinn und Zweck ist das sobald ein anderer Wert als ventilatePosition oder comfortPosition angefahren wird die Automatik bei Fensterevents nicht reagiert.

Eine manuelle Fahrt (also, das Anfahren einer anderen Position als ventilatePosition oder comfortPosition) schaltet die Automatik aus?

Kann ich die Logik des Moduls irgendwo zusammengefasst nachlesen (ein Zustandsdiagramm)? Ich habe hier immer versucht mitzulesen, aber ich muss da einiges übersehen haben.

Danke und Grüße, Dirk