[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

pnewman

Zitat von: CoolTux am 27 Dezember 2018, 09:54:01
Hallo Ralf,

Wenn Du ausschlafen möchtest dann vergibst Du den Rollläden ein Roommate. Entweder über das tatsächliche Roommate Modul oder als Dummy.
So lange dieser Roommate asleep steht fahren die ihm zugewiesen Rollos nicht hoch.

Danke CoolTux,

so habe ich es nun umgesetzt:
([DashButton:"^Dash-PowerPoint:.short$"])(set Jahreszeit Ausschlafen)(set rr_Bewohner1 state asleep, set rr_Bewohner2 state asleep, set rr_Bewohner3 state asleep, set rr_Bewohner4 state asleep)
DOELSEIF ([DashButton:"^Dash-Mentos:.short$"])(set Jahreszeit Wach)(set rr_Bewohner1 state awoken, set rr_Bewohner2 state awoken, set rr_Bewohner3 state awoken, set rr_Bewohner4 state awoken)
DOELSEIF ([DashButton:"^Dash-AfriCola:.short$"])(set Jahreszeit Wach)(set rr_Bewohner1 state awoken, set rr_Bewohner2 state awoken, set rr_Bewohner3 state awoken, set rr_Bewohner4 state awoken)


Gruß

Ralf
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung

CoolTux

@All

Ich habe mich nun dem Thema Urlaub etwas gewidmet und musste schnell feststellen das ich ziemlich blind auf dem Auge war.
Denn! Es ist in de rTat einfacher wie gedacht. Alles was man machen muss ist einen dummy an zu legen so wie bereits erwähnt und diesen Dummy in das Attribut holiday2we im global Device ein zu tragen. Wichtig ist das der dummy auf jeden Fall das Reading state sowie tomorrow bseitzt welche mit 0 und 1 belegt werden.
Der Rest passiert dann voll automatisch.
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

Zitat von: CoolTux am 28 Dezember 2018, 08:36:37
@All

Ich habe mich nun dem Thema Urlaub etwas gewidmet und musste schnell feststellen das ich ziemlich blind auf dem Auge war.
Denn! Es ist in de rTat einfacher wie gedacht. Alles was man machen muss ist einen dummy an zu legen so wie bereits erwähnt und diesen Dummy in das Attribut holiday2we im global Device ein zu tragen. Wichtig ist das der dummy auf jeden Fall das Reading state sowie tomorrow bseitzt welche mit 0 und 1 belegt werden.
Der Rest passiert dann voll automatisch.
Die etwas komfortablere Lösung : Einfach aus einer vorhandenen ical eine holiday-Datei erstellen lassen und per holiday-device einbinden: https://forum.fhem.de/index.php/topic,85759.0.html

Wer mag, kann das ja erweitern, und z.B. auch Urlaubstage ohne oder mit einer bestimmten Ortsangabe, die in einem ical eingetragen sind, automatisiert in die holiday-Datei eintragen lassen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

FunkOdyssey

Ich habe ein wenig das Gefühl, dass es beim partyMode noch einen Bug gibt.
Nachtrag: bzw. beim Disable




Gestern habe ich nur im ASC-Modul "set asc partyMode on" gesetzt und nahm ganz naiv an, dass damit automatisch alle Jalousien nicht mehr gefahren werden. Die Jalousien hatten das Attribut "Partymode" alle auf "off".
Leider vergebens. Die Jalousien fuhren alle wieder runter. Okay: Ab in die Doku. Gelesen, dass man die Attribute auf "on" setzen muss und dann ein "set asc partyMode on" erst zieht. Doch auch hier fuhren die Jalousien immer und immer wieder runter. Ein manuelles Gegensteuern war nicht möglich.

Exkurs: Steuerung über Brightness, aber die Auslösung war jedesmal innerhalb weniger Sekunden und nicht beim Triggern eines Brightness-Wertes.

Dann habe ich das ASC-Modul per Attribut "disabled" und es war Ruhe. Ich meine, dass ich gelesen habe, dass das "attr asc disable 1" gar keine Auswirkungen hat.




Nächster Tag. ASC-Modul immer noch (versehentlich) disabled. Jalousien fuhren über Zeitsteuerung hoch.

Nun wollte ich heute nachmittag des Partymodus testen und die Fehlerursache bei mir oder im Modul finden. Ich habe testweise zwei Jalousien über das Attribut "Partymode on" aus der Steuerung rausnehmen wollen. Im ASC-Modul war "partyMode" auf "on" gesetzt.

Jetzt wurde es merkwürdig. Die Jalousien blieben ALLE oben. Absolut keine Steuerung.
Nun wollte ich in Ruhe recherchieren. Doch ab jetzt läuft irgendetwas durcheinander. Sobald ich auf das ASC-Modul zugreife (Detail-Ansicht oder ein Raum mit ASC-ReadingsGroups), stürzt FHEM mit folgendem Fehler ab:

Can't use an undefined value as an ARRAY reference at ./FHEM/73_AutoShuttersControl.pm line 548.

Link auf Zeile: https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/73_AutoShuttersControl.pm#L548




Workaround:

Nach langer langer Suche, FHEM wieder lauffähig zu machen, bin ich nun beim Schreiben dieses Posts über folgendes gestolpert:

Das ASC-Modul ist noch "disabled". Entferne ich die Zeile aus der fhem.cfg, so ist der Zugriff auch auf das ASC-Modul wieder möglich.




Leider kann ich den Partymodus heute nicht mehr testen. Und meine Tests sind auch nicht aussagekräftig, da ich das ASC-Modul ja fälschlicherweise noch deaktiviert hatte.

Aber: Das Disable scheint keine Auswirkungen auf die Zeitsteuerung zu haben. Auf Brightness scheinbar wohl.




Nachtrag:
Ich mache es noch komplizierter: Zwischen heute morgen (Jal. hoch über Zeit) und heute abend (Jalousien runter über Helligkeit) lag ein FHEM-Neustart.

CoolTux

Can't use an undefined value as an ARRAY reference at ./FHEM/73_AutoShuttersControl.pm line 548

Da hatte das Modul die Rollädenliste verloren.
Das disable funktioniert aus versehen wenn man so will. Das muss ich definitiv raus nehmen. Der Neustart hat die NotifyFn getriggert aber da stand drin das er nichts machen soll wenn disable ist, also hat er auch die Rolläden nicht eingelesen. Das muss definitiv komplett raus.

Partymode schaue ich mir an.
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

FunkOdyssey

Zitat von: CoolTux am 29 Dezember 2018, 18:25:59
Can't use an undefined value as an ARRAY reference at ./FHEM/73_AutoShuttersControl.pm line 548

Da hatte das Modul die Rollädenliste verloren.

Ich bin mir aber zu 100% sicher, dass der Fehler durch das Löschen der Disable-Zeile in der fhem.cfg verschwand. Ich habe viel Zeit mit anderen Lösungsversuchen verbracht, da ich den Fehler vorher auf den partyMode geschoben habe.

Zitat von: CoolTux am 29 Dezember 2018, 18:25:59
Das disable funktioniert aus versehen wenn man so will. Das muss ich definitiv raus nehmen. Der Neustart hat die NotifyFn getriggert aber da stand drin das er nichts machen soll wenn disable ist, also hat er auch die Rolläden nicht eingelesen. Das muss definitiv komplett raus.

Mir wäre es schon fast lieber, wenn das disable erhalten bleiben könnte. Es gibt bestimmt immer mal Situationen, in denen man das Modul stilllegen möchte.

Zitat von: CoolTux am 29 Dezember 2018, 18:25:59
Partymode schaue ich mir an.

Danke. Ich auch. :-)

CoolTux

Zitat von: FunkOdyssey am 29 Dezember 2018, 18:49:49
Ich bin mir aber zu 100% sicher, dass der Fehler durch das Löschen der Disable-Zeile in der fhem.cfg verschwand. Ich habe viel Zeit mit anderen Lösungsversuchen verbracht, da ich den Fehler vorher auf den partyMode geschoben habe.

Mir wäre es schon fast lieber, wenn das disable erhalten bleiben könnte. Es gibt bestimmt immer mal Situationen, in denen man das Modul stilllegen möchte.

Danke. Ich auch. :-)

Für das disable hatten wir glaube ROLLADEN ASC 0 gemacht oder so  ;D
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

Bezüglich Kalender habe ich nun eine für mich zufriedenstellende Lösung gefunden.

Es wird dabei bleiben das die zusätzlichen Kalender, also nicht holiday, am besten als Dummy abgebildet werden und sowohl im Reading state als auch im Reading tomorrow mit 0 oder 1 befüllt werden.
Da ich für jedes Thema (Urlaub,Ferien u.s.w.) einen eigenen Kalender habe, reicht es mir zu wissen ob der Kalender ein Ereignis meldet oder nicht. Mich interessiert nicht was das für ein Ereignis ist. Daher habe ich die Kalender wie folgt konfiguriert

Internals:
   CHANGED   
   DEF        ical url https://URL/basic.ics 86400
   NAME       calendarUrlaubMarko
   NOTIFYDEV  global
   NR         28
   NTFY_ORDER 50-calendarUrlaubMarko
   STATE      triggered
   TYPE       Calendar
   READINGS:
     2018-12-30 06:56:29   calname         Urlaubskalender
     2018-12-30 06:56:29   lastUpdate      2018-12-30 06:55:32
     2017-12-29 09:18:43   modeAlarm       
     2018-12-27 00:00:00   modeAlarmOrStart 2r6pfpqgjdci3is7ptjnm67v3tgooglecom
     2017-12-29 09:18:43   modeAlarmed     
     2018-12-27 19:39:42   modeChanged     
     2018-12-30 06:56:29   modeEnd         dc2ad49235d4490e870c1251861f4c82;309r0ius83ghkbkeebc6d6mm2agooglecom;21ku868ra7cgj4rsd0lu5cq49hgooglecom;6a9rg14a2ikfg5drtsb94j3bd0googlecom;2aa29ktsroucu3jrgucrt92o7bgooglecom;78ike8hnt4qv3dprakav0vvukngooglecom;006ddpeskbqieebohknbmvceeegooglecom;30cs42ua3pjs9bsmipvfikit0ugooglecom
     2018-12-25 19:40:15   modeEnded       
     2018-12-27 00:00:00   modeStart       2r6pfpqgjdci3is7ptjnm67v3tgooglecom
     2018-12-27 19:39:42   modeStarted     
     2018-12-30 06:56:29   modeUpcoming    3rc5kgbbljpeegb4n0hvotrl7ggooglecom;1oh2bqk8o4f81m656s3d3b3qbigooglecom;6m4436usnfu5ibv95a8pf7oajugooglecom;12qefmcrdtqs1ap3iutmvvrs5dgooglecom;6sj5gm88ht1l2eembmf859sr7ggooglecom
     2018-12-30 06:56:29   nextUpdate      2018-12-31 06:55:32
     2018-12-30 06:56:29   nextWakeup      2018-12-31 06:55:32
     2018-12-30 06:56:29   state           triggered
Attributes:
   alias      UrlaubMarko
   event-on-update-reading state
   group      Urlaub
   hideLaterThan 1d
   room       Kalender
   update     async

Entscheidend ist event-on-update-reading state und hideLaterThan 1d. Durch hideLaterThan 1d bekomme ich bei einem get Abruf nur den Termin für den Folgetag und nicht für mehrere folgende Tage angezeigt. Das ist unser tomorrow.
Auch wichtig für den automatisierten Ablauf ist der alias welcher den Kalendernamen ohne das Wort calendar enthalten muß.
Als nächstes habe ich einen Dummy angelegt

Internals:
   NAME       dummyUrlaubMarko
   NR         63
   STATE      1
   TYPE       dummy
   READINGS:
     2018-12-30 06:56:29   state           1
     2018-12-30 08:08:46   tomorrow        1
Attributes:
   alias      Urlaub Marko
   event-on-change-reading state,tomorrow
   group      Urlaub
   readingList tomorrow,state
   room       Kalender
   setList    tomorrow:0,1 state:0,1

Der Dummy Name wiederum muss den Alias Namen vom Kalenderdevice enthalten und vorneweg das Wort "dummy".

Nun erstellen wir noch ein Notify welches auf alle unsere Kalender (ja ich habe mehrere) triggert

Internals:
   DEF        calendar.*:triggered { calendarEvents($NAME) }
   NAME       notifySetCalendarDummys
   NOTIFYDEV  calendar.*
   NR         64
   NTFY_ORDER 50-notifySetCalendarDummys
   REGEXP     calendar.*:triggered
   STATE      2018-12-30 07:56:12
   TRIGGERTIME 1546152972.28106
   TYPE       notify
   READINGS:
     2018-12-30 06:55:21   state           active
Attributes:
   room       Kalender

und eine Sub auf ruft.


sub calendarEvents($) {
    my $calDev  = shift;
    my $value = 0;
    my $start = CommandGet(undef,$calDev.' events format:custom="$S $t2" filter:mode=="start"');
    my $upcoming = CommandGet(undef,$calDev.' events format:custom="$S $t2" filter:mode=="upcoming"');

    CommandSet(undef,'dummy'.AttrVal($calDev,'alias',undef).' '.(length($start) > 0 ? 1 : 0) );

    $value = 1 if ( (length($start) > 0 and int((split('\s',$start))[1] / 86400) != int(time() / 86400 )) or length($upcoming) > 0 );
    CommandSet(undef,'dummy'.AttrVal($calDev,'alias',undef).' tomorrow '.$value);
}


Wird diese Sub aufgerufen wird automatisch je nach Ergebnis der CommandGet Abrufe des Kalenders unsere Dummy Readings state und tomorrow mit 0 oder 1 befüllt..


Und da wir die Dummys ja im global Device im Attribut we2holiday eingetragen haben wird der Status auch entsprechend im ASC ausgewertet.



Grüße


Nachtrag: Ich musste die Sub noch anpassen. Es gibt durchaus Tage wo nichts in upcoming steht aber dennoch der Folgetag ein Termin hat. Serientermine, da steht dann die Anzahl der Stunden oder Tage in start.
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

pnewman

Hallo Marko,

ich hatte gestern das Phänomen, dass die Rollläden an den geöffneten Fenstern, mit den MAX! Sensoren, oben blieben obwohl die Roommates absent waren.
Self Defense im Modul ist aktiv und kein Rolladen ist ausgeschlossen.
Liegt dies an der Rückmeldung closed/opened der MAX! Sensoren?

Die mit dem HM Threstate Sensor fuhren herunter, (self Defense). Beim schließen des Fensters passierte nichts, alle Roommates absent, beim wiederholten öffnen fuhr der Rolladen hoch, alle Rommates absent.
Liegt dies daran das es ja nicht sein kann das niemand zu Hause ist um das Fenster zu schließen und dann wieder zu öffnen, dass die "ComfortOpen" Vorrang hat?


Leider kann ich kein List anhängen, da dies zu groß ist.
Seit gestern versuche ich schon dies zu schreiben, aber immer wenn ich ein List des ASC einpacke tritt ein Fehler auf.


Gruß
Ralf
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung

CoolTux

Hallo Ralf,

Es ist in der Tat der Wert opened der da nicht passt. getriggert wird nur auf open oder closed.


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

pnewman

Hallo Marko,

danke für die schnelle Antwort.

Kann ich dies durch eventMap opened:open closed:closed  ändern?

Oder triggert das ASC auf "state" und nicht auf "State"?

Gruß

Ralf
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung

CoolTux

getriggert wird auf state.
Ob es mit eventMap klappt kann ich so spontan gar nicht sagen. Müsste ich mal testen.
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

pnewman

Gerade getestet, funktioniert nicht!

Aber wenn das Rollo geschlossen ist und ich das Fenster öffne fährt das Rollo hoch.

Das hatte mich gestern verwirrt.
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung

pnewman

Hier ein List des Rollo:
Internals:
   DEF        2D3FF5
   HMLAN1_MSGCNT 16
   HMLAN1_RAWMSG E2D3FF5,0000,126CBF38,FF,FFBE,59A4102D3FF523A4EF0601C800
   HMLAN1_RSSI -66
   HMLAN1_TIME 2018-12-30 12:13:45
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     16
   NAME       R_Spielzimmer
   NOTIFYDEV  global
   NR         165
   NTFY_ORDER 50-R_Spielzimmer
   STATE      on
   TYPE       CUL_HM
   lastMsg    No:59 - t:10 s:2D3FF5 d:23A4EF 0601C800
   protLastRcv 2018-12-30 12:13:45
   protRcv    14 last_at:2018-12-30 12:13:45
   protSnd    16 last_at:2018-12-30 12:13:45
   protState  CMDs_done
   rssi_HMLAN1 cnt:6 min:-72 max:-69 avg:-69.66 lst:-69
   rssi_at_HMLAN1 cnt:16 min:-68 max:-64 avg:-65.37 lst:-66
   Helper:
     DBLOG:
       ASC_ShuttersLastDrive:
         logdb:
           TIME       1546168404.2672
           VALUE      ventilate - window open
       deviceMsg:
         logdb:
           TIME       1546168425.53542
           VALUE      on (to VCCU)
       level:
         logdb:
           TIME       1546168425.53542
           VALUE      100
       motor:
         logdb:
           TIME       1546168425.53542
           VALUE      stop:on
       pct:
         logdb:
           TIME       1546168425.53542
           VALUE      100
       state:
         logdb:
           TIME       1546168425.53542
           VALUE      on
       timedOn:
         logdb:
           TIME       1546168425.53542
           VALUE      off
   READINGS:
     2018-12-30 12:13:24   ASC_ShuttersLastDrive ventilate - window open
     2018-12-30 09:00:02   ASC_Time_DriveDown 30.12.2018 - 17:08
     2018-12-30 09:00:02   ASC_Time_DriveUp 31.12.2018 - 09:00
     2018-12-30 12:13:24   CommandAccepted yes
     2018-11-20 17:34:51   D-firmware      2.3
     2018-11-20 17:34:51   D-serialNr      LEQ0609884
     2018-11-20 18:36:43   PairedTo        0x23A4EF
     2018-11-20 18:36:44   R-driveDown     16 s
     2018-11-20 18:36:44   R-driveTurn     1 s
     2018-11-20 18:36:44   R-driveUp       17.3 s
     2018-11-20 18:36:43   R-pairCentral   0x23A4EF
     2018-11-20 18:36:44   R-sign          off
     2018-11-20 18:36:43   RegL_00.        02:01 0A:23 0B:A4 0C:EF 15:FF 18:00 00:00
     2018-11-20 18:36:44   RegL_01.        08:00 09:00 0A:00 0B:00 0C:A0 0D:00 0E:AD 0F:0A 10:00  30:06 57:24 00:00
     2018-12-30 12:13:45   deviceMsg       on (to VCCU)
     2018-12-30 12:13:45   level           100
     2018-11-20 17:39:35   levelMissed     desired:100
     2018-12-30 12:13:45   motor           stop:on
     2018-12-30 12:13:45   pct             100
     2018-12-30 12:13:45   recentStateType info
     2018-12-30 12:13:45   state           on
     2018-12-30 12:13:45   timedOn         off
   helper:
     HM_CMDNR   89
     cSnd       1123A4EF2D3FF50201C8,1123A4EF2D3FF50201C8
     dlvlCmd    ++A01123A4EF2D3FF50201C8
     mId        006A
     regLst     ,0,1,3p
     rxType     1
     supp_Pair_Rep 0
     dir:
       cur        stop
       rct        up
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +2D3FF5,00,00,00
       nextSend   1546168425.52688
       prefIO     
       rxt        0
       vccu       VCCU
       p:
         2D3FF5
         00
         00
         00
     mRssi:
       mNo        59
       io:
         HMLAN1:
           -62
           -62
     prt:
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
       prs        1
     rpt:
       IO         HMLAN1
       flg        A
       ts         1546168425.43714
       ack:
         HASH(0x2232c80)
         59800223A4EF2D3FF500
     rssi:
       HMLAN1:
         avg        -69.6666666666667
         cnt        6
         lst        -69
         max        -69
         min        -72
       at_HMLAN1:
         avg        -65.375
         cnt        16
         lst        -66
         max        -64
         min        -68
     tmpl:
Attributes:
   ASC        2
   ASC_Antifreeze off
   ASC_Antifreeze_Pos 15
   ASC_AutoAstroModeEvening none
   ASC_AutoAstroModeEveningHorizon none
   ASC_AutoAstroModeMorning none
   ASC_AutoAstroModeMorningHorizon none
   ASC_BlockingTime_afterManual 1200
   ASC_BlockingTime_beforDayOpen 3600
   ASC_BlockingTime_beforNightClose 3600
   ASC_BrightnessMaxVal -1
   ASC_BrightnessMinVal -1
   ASC_Brightness_Reading brightness
   ASC_Brightness_Sensor none
   ASC_Closed_Pos 0
   ASC_ComfortOpen_Pos 80
   ASC_Down   astro
   ASC_Drive_Offset -1
   ASC_GuestRoom none
   ASC_LockOut off
   ASC_LockOut_Cmd none
   ASC_Mode_Down always
   ASC_Mode_Up always
   ASC_Open_Pos 100
   ASC_Partymode off
   ASC_Pos_Reading pct
   ASC_Roommate_Device rr_Ralf,rr_Jenny
   ASC_Roommate_Reading state
   ASC_Self_Defense_Exclude off
   ASC_Shading_Angle_Left 75
   ASC_Shading_Angle_Right 75
   ASC_Shading_Direction 70
   ASC_Shading_Min_Elevation 25
   ASC_Shading_Min_OutsideTemperature 18
   ASC_Shading_Mode off
   ASC_Shading_Pos 20
   ASC_Shading_StateChange_Cloudy 20000
   ASC_Shading_StateChange_Sunny 35000
   ASC_Shading_WaitingPeriod 1200
   ASC_ShuttersPlace window
   ASC_Time_Down_Early 15:30
   ASC_Time_Down_Late 22:30
   ASC_Time_Up_Early 07:00
   ASC_Time_Up_Late 09:15
   ASC_Time_Up_WE_Holiday 09:00
   ASC_Up     time
   ASC_Ventilate_Pos 100
   ASC_Ventilate_Window_Open on
   ASC_WiggleValue 5
   ASC_WindowRec Fenster_Spielzimmer
   ASC_WindowRec_subType twostate
   IODev      HMLAN1
   IOgrp      VCCU
   Rollo      R_Haus_str2
   autoReadReg 4_reqStatus
   devStateIcon off:fts_shutter_100@green on:fts_shutter_10@red 18:fts_shutter_80
   expert     2_defReg+raw
   firmware   2.3
   group      Rolladen
   icon       fts_shutter
   model      HM-LC-Bl1PBU-FM
   peerIDs    00000000,
   room       Rolladen,Spielzimmer
   serialNr   LEQ0609884
   subType    blindActuator
   userattr   ASC_Antifreeze:off,soft,hard,am,pm ASC_Antifreeze_Pos:5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_AutoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_AutoAstroModeMorning:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON ASC_AutoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 ASC_BlockingTime_afterManual ASC_BlockingTime_beforDayOpen ASC_BlockingTime_beforNightClose ASC_BrightnessMaxVal ASC_BrightnessMinVal ASC_Brightness_Reading ASC_Brightness_Sensor ASC_Closed_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Down:time,astro,brightness ASC_Drive_Offset ASC_GuestRoom:on,off ASC_LockOut:soft,hard,off ASC_LockOut_Cmd:inhibit,blocked,protection ASC_Mode_Down:absent,always,off,home ASC_Mode_Up:absent,always,off,home ASC_Open_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_Partymode:on,off ASC_Pos_Reading ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_Exclude:on,off ASC_Shading_Angle_Left ASC_Shading_Angle_Right ASC_Shading_Direction ASC_Shading_Min_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100 ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_Cloudy ASC_Shading_StateChange_Sunny ASC_Shading_WaitingPeriod ASC_ShuttersPlace:window,terrace ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindowRec ASC_WindowRec_subType:twostate,threestate Rollo Rollo_map room_map structexclude
   webCmd     on:stop:off:20:65
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung

CoolTux

Also wenn es geschlossen ist und dann hoch fährt beim öffnen des Fensters dann wird auch alles erkannt.

Das self Defense orientiert sich aber am Residents im ASC Modul, nicht an einem Roommate Device.
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