[73_AutoShuttersControl.pm] Jalousie Lamellen Steuerung - Ideensammlung

Begonnen von CoolTux, 23 März 2020, 10:07:01

Vorheriges Thema - Nächstes Thema

CoolTux

Hallo Leute,

So langsam möchte ich dann doch mal mit der Lamellensteuerung für Jalousien und Raffstores anfangen. Dazu muss ich verstehen wie die meisten Steuerungen innerhalb FHEM funktionieren.
Könnt Ihr mir da bitte helfen? Wie genau sehen Eure Befehle dafür aus?


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

Beta-User

#1
Vorab mal: Super, dass das jetzt an der Reihe ist!

Also, dann fange ich mal an, ich habe:
Einen ZWave -Aktor (Fibaro FGS-223) und (noch) drei Homematic-Rollladen-Aktoren (CUL_HM, die habe ich erstanden, bevor es die besondere Type für Jalousien gab, und eQ-3 will leider die firmware nicht konfigurierbar machen...).

1. ZWave:
Vorab mal ein list:
defmod ZWave_SWITCH_MULTILEVEL_8 ZWave 12345678 8
attr ZWave_SWITCH_MULTILEVEL_8 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_BrightnessSensor 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_DriveUpMaxDuration ASC_Drive_Offset ASC_Drive_OffsetStart 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_PrivacyDownTime_beforNightClose ASC_PrivacyDown_Pos ASC_RainProtection:on,off 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: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_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_subType:twostate,threestate room_map structexclude
attr ZWave_SWITCH_MULTILEVEL_8 ASC 0
attr ZWave_SWITCH_MULTILEVEL_8 ASC_BrightnessSensor Bewegungsmelder_1
attr ZWave_SWITCH_MULTILEVEL_8 ASC_DriveUpMaxDuration 65
attr ZWave_SWITCH_MULTILEVEL_8 ASC_LockOut soft
attr ZWave_SWITCH_MULTILEVEL_8 ASC_Open_Pos 99
attr ZWave_SWITCH_MULTILEVEL_8 ASC_Pos_Reading dim
attr ZWave_SWITCH_MULTILEVEL_8 ASC_Shading_Angle_Left 25
attr ZWave_SWITCH_MULTILEVEL_8 ASC_Shading_Angle_Right 30
attr ZWave_SWITCH_MULTILEVEL_8 ASC_Shading_Direction 115
attr ZWave_SWITCH_MULTILEVEL_8 ASC_Shading_Pos 100
attr ZWave_SWITCH_MULTILEVEL_8 ASC_Time_Down_Early 18:15
attr ZWave_SWITCH_MULTILEVEL_8 ASC_Time_Down_Late 22:30
attr ZWave_SWITCH_MULTILEVEL_8 ASC_Time_Up_Early 06:30
attr ZWave_SWITCH_MULTILEVEL_8 ASC_Time_Up_Late 09:00
attr ZWave_SWITCH_MULTILEVEL_8 ASC_Time_Up_WE_Holiday 08:30
attr ZWave_SWITCH_MULTILEVEL_8 ASC_Ventilate_Pos 85
attr ZWave_SWITCH_MULTILEVEL_8 ASC_WindParameters 60
attr ZWave_SWITCH_MULTILEVEL_8 ASC_WindowRec Terrassentuer_WZ
attr ZWave_SWITCH_MULTILEVEL_8 IODev zwaveme
attr ZWave_SWITCH_MULTILEVEL_8 classes ZWAVEPLUS_INFO SWITCH_MULTILEVEL ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO TRANSPORT_SERVICE VERSION MANUFACTURER_SPECIFIC DEVICE_RESET_LOCALLY POWERLEVEL SECURITY SECURITY_S2 METER CONFIGURATION CRC_16_ENCAP ALARM PROTECTION MULTI_CHANNEL CENTRAL_SCENE FIRMWARE_UPDATE_MD APPLICATION_STATUS SUPERVISION
attr ZWave_SWITCH_MULTILEVEL_8 cmdIcon on:fts_shutter_up off:fts_shutter_down up:control_plus down:control_minus toggle:fts_shutter_updown stop:control_x
attr ZWave_SWITCH_MULTILEVEL_8 devStateIcon off:fts_shutter_up:on on:fts_shutter_down:off dim.9\d.*:fts_shutter_10:off dim.8\d.*:fts_shutter_20:off dim.7\d.*:fts_shutter_30:off dim.6\d.*:fts_shutter_40:off dim.5\d.*:fts_shutter_50:off dim.4\d.*:fts_shutter_60:on dim.3\d.*:fts_shutter_70:on dim.2\d.*:fts_shutter_80:on dim.1\d.*:fts_shutter_90:on dim.\d.*:fts_shutter_100:on
attr ZWave_SWITCH_MULTILEVEL_8 eventMap { usr=>{'dim.100'=>'dim 99'}}
attr ZWave_SWITCH_MULTILEVEL_8 group Türen und Fenster
attr ZWave_SWITCH_MULTILEVEL_8 icon fts_shutter_updown
attr ZWave_SWITCH_MULTILEVEL_8 room Steuerung->Unused_Devices
attr ZWave_SWITCH_MULTILEVEL_8 userReadings dim:.*dim.* {ReadingsNum("Jalousie_WZ_neu","state",0)}
attr ZWave_SWITCH_MULTILEVEL_8 vclasses ALARM:8 APPLICATION_STATUS:1 ASSOCIATION:2 ASSOCIATION_GRP_INFO:2 CENTRAL_SCENE:3 CONFIGURATION:1 CRC_16_ENCAP:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:4 MANUFACTURER_SPECIFIC:2 METER:3 MULTI_CHANNEL:4 MULTI_CHANNEL_ASSOCIATION:3 POWERLEVEL:1 PROTECTION:2 SECURITY:1 SECURITY_S2:1 SUPERVISION:1 SWITCH_MULTILEVEL:4 TRANSPORT_SERVICE:2 VERSION:2 ZWAVEPLUS_INFO:2
attr ZWave_SWITCH_MULTILEVEL_8 webCmd on:off:dim
attr ZWave_SWITCH_MULTILEVEL_8 widgetOverride dim:colorpicker,BRI,0,1,99

defmod Jalousie_WZ ZWave 12345678 2049
attr Jalousie_WZ userattr ASC_Adv:on,off 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_BrightnessSensor 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,roommate ASC_DriveUpMaxDuration ASC_Drive_Delay ASC_Drive_DelayStart ASC_ExternalTrigger 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_PrivacyDownValue_beforeNightClose ASC_PrivacyDown_Pos ASC_PrivacyUpValue_beforeDayOpen ASC_PrivacyUp_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_AbsentDelay ASC_Self_Defense_Mode:absent,gone,off ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_TempSensor 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,roommate ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_PosAfterDayClosed:open,lastManual ASC_WindowRec_subType:twostate,threestate room_map structexclude
attr Jalousie_WZ ASC 2
attr Jalousie_WZ ASC_BrightnessSensor Bewegungsmelder_1
attr Jalousie_WZ ASC_DriveUpMaxDuration 65
attr Jalousie_WZ ASC_LockOut soft
attr Jalousie_WZ ASC_Mode_Up always
attr Jalousie_WZ ASC_Open_Pos 99
attr Jalousie_WZ ASC_Pos_Reading dim
attr Jalousie_WZ ASC_Shading_InOutAzimuth 90:145
attr Jalousie_WZ ASC_Shading_Min_OutsideTemperature 21.5
attr Jalousie_WZ ASC_Shading_Mode always
attr Jalousie_WZ ASC_Shading_Pos 15
attr Jalousie_WZ ASC_Time_Down_Early 18:15
attr Jalousie_WZ ASC_Time_Down_Late 22:30
attr Jalousie_WZ ASC_Time_Up_Early 06:30
attr Jalousie_WZ ASC_Time_Up_Late 09:00
attr Jalousie_WZ ASC_Time_Up_WE_Holiday 08:30
attr Jalousie_WZ ASC_Ventilate_Pos 85
attr Jalousie_WZ ASC_WindParameters 60
attr Jalousie_WZ ASC_WindowRec Terrassentuer_WZ
attr Jalousie_WZ IODev zwaveme
attr Jalousie_WZ alias Wohnzimmer-Jalousie
attr Jalousie_WZ classes ZWAVEPLUS_INFO SWITCH_MULTILEVEL ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO SECURITY SECURITY_S2 SUPERVISION METER ALARM APPLICATION_STATUS
attr Jalousie_WZ cmdIcon on:fts_shutter_up off:fts_shutter_down up:control_plus down:control_minus toggle:fts_shutter_updown stop:control_x
attr Jalousie_WZ devStateIcon {devStateIcon_FGR223($name)}
attr Jalousie_WZ eventMap { usr=>{'dim.100'=>'dim 99','on'=>'dim 99'}}
attr Jalousie_WZ group Türen und Fenster
attr Jalousie_WZ icon fts_shutter_updown
attr Jalousie_WZ room Wohnzimmer
attr Jalousie_WZ userReadings dim:(dim|reportedState).* {$1 =~ /reportedState/ ? ReadingsNum($name,"reportedState",0):ReadingsNum($name,"state",0)}
attr Jalousie_WZ webCmd dim
attr Jalousie_WZ widgetOverride dim:colorpicker,BRI,0,1,99

defmod ZWave_SWITCH_MULTILEVEL_8.02 ZWave 12345678 2050
attr ZWave_SWITCH_MULTILEVEL_8.02 IODev zwaveme
attr ZWave_SWITCH_MULTILEVEL_8.02 classes ZWAVEPLUS_INFO SWITCH_MULTILEVEL ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO SECURITY SECURITY_S2 SUPERVISION APPLICATION_STATUS
attr ZWave_SWITCH_MULTILEVEL_8.02 room Steuerung->Unused_Devices
attr ZWave_SWITCH_MULTILEVEL_8.02 userReadings state:swmStatus.* {ReadingsNum($name,"swmStatus",0)}
attr ZWave_SWITCH_MULTILEVEL_8.02 webCmd dim

Es gibt also drei FHEM-Geräte, wobei hier die Haupt-Steuerung über den ersten Kanal läuft (Jalousie_WZ), und über einen "speziellen" devStateIcon-Code auch die Steuerung der Lamellen (das ist das 8.02-Gerät) mit geht.
Wir haben daher zwei Probleme:
1. Es sind zwei FHEM-Devices, die gesteuert werden müssen, und2. sendet man keine Lamellen-Werte mit, ist die Zielposition ungenau (aktuell steht der auf dim96. Die sind das Ergebnis einer set 100%-Anweisung, die via eventMap auf dim99 umgebogen wird. Die dim99-Position wiederum wir kurz angefahren, aber nach der Drehung wird am Ende dann "irgendwas" zurückgemeldet (hatte schon alles zwischen dim96 und dim99, ohne irgendwas an der Aktoreinstellung geändert zu haben...).
Man kann beide Befehle miteinander oder auch nacheinander während des Fahrens absetzen, ganz hoch wäre z.B.
set Jalousie_WZ,ZWave_SWITCH_MULTILEVEL_8.02 dim 99Was nicht gesetzt wird, für das gilt der letzte Wert (mit der beschriebenen Ungenauigkeit...).




2. CUL_HM
Der CUL_HM-Rollladen-Aktor ist evtl. ein Gerät, das man sich "für später" aufheben sollte:
Man kann drehen, muß aber die Zeit kennen, die die Lamellen für eine Drehung brauchen, und man muß berücksichtigen, in welche Richtung das Teil zuletzt (wie weit...) gefahren war. Entspricht bei mir hier in etwa 3%, und man könnte die letzte Fahrtrichtung z.B. mit einem userReading aus den motor-Events ableiten.
Das ganze macht m.E. aber nur Sinn, wenn das mehr Leute interessieren würde wie nur mich; ich wäre eher bereit, noch ein paar Fibaros (oder andere ZWave-Aktoren) zu besorgen, wenn wir das mit der Drehung (s.o.) besser im Griff hätten...

Für die "normale" Jalousie-Variante gibt es einen eigenen setter, der "sitzt" da aber am selben device ("slat-irgendwas", ich habe aber keinen solchen Aktor und kenne das nur vom Hörensagen, ich kann also insbesondere nicht sagen, ob der slatLevel (?) erhalten bleibt, die Jalousie also wieder in die Ausgangsdrehungsstellung zurückgedreht wird, aus der sie losgefahren war).

Hoffe, das sind erst mal die Grundinfos, die du brauchst?

Gruß,

Beta-User
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

CoolTux

Ja das passt soweit als Grundinfo erstmal ganz gut.
Aktuell habe ich noch keine einzige Idee wie ich das einarbeiten soll  :'(
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

Bin im Moment auch nicht mehr tief genug in der Sache drin, aber im Moment fällt mir auch noch nichts besseres ein, wie ein neues Attribut vorzuschlagen (mit key/value-Paaren für die Basisinfos und versch. Leveln? das ganze dann in einen internen hash einlesen?), siehe meine alten Anmerkungen hier: https://github.com/fhem/AutoShuttersControl/issues/58#issuecomment-549135458.
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

CoolTux

Ja das hatte ich mir heute auch noch mal genauer angeschaut. Na mal sehen wie ich das machen könnte.
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

Nachtrag: Eventuell kann man das (aus Anwendersicht) etwas einfacher gestalten, wenn man parseParams() nutzt, um die Werte auszulesen?
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

CoolTux

Zitat von: Beta-User am 23 März 2020, 13:55:27
Nachtrag: Eventuell kann man das (aus Anwendersicht) etwas einfacher gestalten, wenn man parseParams() nutzt, um die Werte auszulesen?

Gute Idee. parseParams kenne ich schon.
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

"Kennen" ist oft nicht das Problem, eher, sich im richtigen Moment dran zu erinnern.... (Daran scheitert es bei mir auch nicht eben selten...)

((((Aber da wir es grade vom Erinnern haben (ziemlich OT hier): vielleicht magst du auch die userAttr irgendwann noch so umbauen, dass man direkt widgets hat?))))
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

CoolTux

Zitat von: Beta-User am 23 März 2020, 14:21:08
"Kennen" ist oft nicht das Problem, eher, sich im richtigen Moment dran zu erinnern.... (Daran scheitert es bei mir auch nicht eben selten...)

((((Aber da wir es grade vom Erinnern haben (ziemlich OT hier): vielleicht magst du auch die userAttr irgendwann noch so umbauen, dass man direkt widgets hat?))))

Wie genau meinst Du das? Die userAttr Funktion möchte ich lieber nicht mehr anfassen  :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

Beta-User

Das erste war nicht auf was spezielles gemünzt.

Was das mit den userAttr angeht, finde ich das zum einen schade, und zum anderen sagt mein (unzuverlässiges) Bauchgefühl, dass das keine sooo große Aktion sein sollte, das von der starren 10-Punkte Variante auf eine widget-Lösung (selectnum) umzubauen (und dabei ggf. sogar den TYPE zu berücksichtigen, ZWave mag z.B. ja keine 100...).
(Ich sehe grade, dass da meine alten widget-Attribute auch wieder "zwangsumgestellt" worden zu sein scheinen... Falls jemand da mehr Änderungen dran machen will wie meinereiner, dann wird er das nicht so lustig finden.) Aber wie gesagt, das ist hier OT, sollten wir ggf. woanders vertiefen.
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

CoolTux

Zitat von: Beta-User am 23 März 2020, 14:38:23
Das erste war nicht auf was spezielles gemünzt.

Was das mit den userAttr angeht, finde ich das zum einen schade, und zum anderen sagt mein (unzuverlässiges) Bauchgefühl, dass das keine sooo große Aktion sein sollte, das von der starren 10-Punkte Variante auf eine widget-Lösung (selectnum) umzubauen (und dabei ggf. sogar den TYPE zu berücksichtigen, ZWave mag z.B. ja keine 100...).
(Ich sehe grade, dass da meine alten widget-Attribute auch wieder "zwangsumgestellt" worden zu sein scheinen... Falls jemand da mehr Änderungen dran machen will wie meinereiner, dann wird er das nicht so lustig finden.) Aber wie gesagt, das ist hier OT, sollten wir ggf. woanders vertiefen.

Ah ich glaube ich weiß jetzt wie Du das meinst. Gut wer kein 10er Step machen will kann ja auch in der Commandline das Attribut setzen. Aber da können wir in der Tat später gerne mal in einem anderen Thread drüber schreiben.
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

daelch

Hallo CoolTux,

freut mich sehr, dass Du das Thema Jalousien-Steuerung wieder aufgreifst. Wie angekündigt möchte ich meinen Input dazu geben.

Grundsätzlich, unabhängig vom eingesetzten Aktor:
Es gibt bei Jalousien aus meiner Sicht 4 sinnvolle Positionen.
1.) Offen
2.) Geschlossen
3.) Sichtschutz (=PRIVACY: Jalousien unten und Lamellen zu z.B. 40% gekippt. Es kommt noch Licht rein, aber es ist schwer, von außen hineinzusehen)
4.) Lichtschutz (=BESCHATTUNG: Jalousien unten und Lamellen zu 100% offen. Man kann sehr gut nach außen sehen, direkte Sonnenstrahlung dringt aber nicht ins Haus)
Privacy und Beschattung gibt es ja auch in der ASC Logik...


Ich nutze die Homematic Aktoren Jalousieaktor HM-LC-Ja1PBU-FM via HMCCU.


defmod HM_WohnzimmerJalKueche HMCCUDEV OEQ000000
attr HM_WohnzimmerJalKueche IODev d_ccu
attr HM_WohnzimmerJalKueche alias Jalousie Küche
attr HM_WohnzimmerJalKueche ccureadingfilter (LEVEL|INHIBIT|DIRECTION|WORKING)
attr HM_WohnzimmerJalKueche ccureadingname LEVEL:+pct
attr HM_WohnzimmerJalKueche ccuscaleval LEVEL:0:1:0:100,LEVEL_SLATS:0:1:0:100
attr HM_WohnzimmerJalKueche cmdIcon up:control_centr_arrow_up stop:control_x down:control_centr_arrow_down Sichtschutz:fts_blade_arc_close_50 Lichtschutz:fts_blade_arc_close_00
attr HM_WohnzimmerJalKueche controldatapoint LEVEL
attr HM_WohnzimmerJalKueche eventMap /datapoint STOP 1:stop/datapoint LEVEL 0:down/datapoint LEVEL 100:up/datapoint LEVEL_COMBINED "0x00,0x50":Sichtschutz/datapoint LEVEL_COMBINED "0x00,0xC8":Lichtschutz/
attr HM_WohnzimmerJalKueche group Jalousien
attr HM_WohnzimmerJalKueche icon fts_shutter_40
attr HM_WohnzimmerJalKueche room Wohnbereich
attr HM_WohnzimmerJalKueche statedatapoint LEVEL
attr HM_WohnzimmerJalKueche stripnumber 1
attr HM_WohnzimmerJalKueche substexcl control|pct
attr HM_WohnzimmerJalKueche substitute LEVEL,LEVEL_SLATS!#0-0:Geschlossen,#1-2.9:Sichtschutz,#3.1-7:Lichtschutz,#100-100:Offen
attr HM_WohnzimmerJalKueche webCmd Sichtschutz:Lichtschutz:down:up:stop
attr HM_WohnzimmerJalKueche widgetOverride control:slider,0,10,100


Mit dem Datenpunkt LEVEL_COMBINED können Behanghöhe und die Lamellenstellung in einem Befehl an den Aktor übergeben werden.

Der Datentyp für LEVEL_COMBINED ist String und muss in Anführungszeichen gesetzt werden.

Somit funktioniert der direkte Befehl für Jalousien unten (0%, entspricht HEX 0x00) und Lamellen zu 40% (entspricht 0x50) gekippt:

set HM_WohnzimmerJalKueche datapoint LEVEL_COMBINED "0x00,0x50"

Hier einige Hex-Werte:

Behanghöhe oder Lamellenstellung in % vs. Hex:

0%  --- 0x00
10% --- 0x14
20% --- 0x28
30% --- 0x3C
40% --- 0x50
50% --- 0x64
60% --- 0x78
70% --- 0x8C
80% --- 0xA0
90% --- 0xB4
100% --- 0xC8

Falls Du weiter Infos brauchst, stelle ich diese gerne zur Verfügung.

Vielen Dank und viele Grüße

derstinker

#12
Ich klinke mich mit ein. Hab Tahoma i/o im Einsatz. Die Position, als auch Orientierung setze ich mit dem SET Befehl setClosureAndOrientation, dabei 100 für Geschlossen.

List:

Internals:
   COMMANDS   dim:slider,0,1,100 cancel:noArg close:noArg delayedStopIdentify down:noArg getName:noArg identify:noArg my:noArg open:noArg refreshMemorized1Position:noArg setClosureAndOrientation setClosure setMemorized1Position setName setPosition setSecuredPosition setOrientation startIdentify:noArg stop:noArg stopIdentify:noArg up:noArg wink
   DEF        DEVICE io://1202-8182-7861/15457672
   FUUID      5e777d63-f33f-4baf-df16-b1ce7a40269bcd88
   FVERSION   26_tahoma.pm:0.196330/2019-06-16
   IODev      tahoma
   NAME       tahoma_15457672
   NR         47
   NTFY_ORDER 50-tahoma_15457672
   STATE      dim100
   SUBTYPE    DEVICE
   TYPE       tahoma
   device     io://1202-8182-7861/15457672
   fid        15457672
   inClass    ExteriorVenetianBlind
   inControllable io:ExteriorVenetianBlindIOComponent
   inExecId   finished
   inExecState COMPLETED
   inLabel    Wohnzimmer
   inPlaceOID f1841b52-daf4-4e43-85a8-751db9669509
   inType     1
   READINGS:
     2020-03-26 10:32:10   ClosureState    100
     2020-03-26 10:13:35   Memorized1PositionState 100
     2020-03-26 10:13:35   NameState       Wohnzimmer
     2020-03-26 10:32:10   OpenClosedState closed
     2020-03-26 10:13:35   PriorityLockTimerState 0
     2020-03-26 10:32:10   RSSILevelState  58.0
     2020-03-26 10:13:35   SecuredPositionState 0
     2020-03-26 10:32:10   SlateOrientationState 100
     2020-03-26 10:13:35   StatusState     available
     2020-03-26 10:32:10   devicestate     closed
     2020-03-26 10:32:10   state           dim100
Attributes:
   IODev      tahoma
   alias      Raffstore Wohnzimmer
   room       tahoma

gestein

Hallo,

ich habe zwar nur Rollläden, möchte aber auch gerne einen Punkt einbringen.
Meine Rollos haben eine Tageslist-Funktion.
D.h., bis 100% geschlossen, sind noch Schlitze offen, durch die das Tageslicht reinkommt.
Bis 200% werden dann die Schlitze von unten nach oben verlaufend geschlossen, bis dann alles ganz abgedunkelt ist.

Im "normalen" Leben benutzen wir die Rollos bis 100%, damit noch Licht reinkommt.
Im Hochsommer sollte bei Abwesenheit (bzw. wenn niemand in einem Raum ist) der Rollo komplett geschlossen sein (also 200%).

lg, Gerhard

CoolTux

Zitat von: gestein am 26 März 2020, 10:41:12
Hallo,

ich habe zwar nur Rollläden, möchte aber auch gerne einen Punkt einbringen.
Meine Rollos haben eine Tageslist-Funktion.
D.h., bis 100% geschlossen, sind noch Schlitze offen, durch die das Tageslicht reinkommt.
Bis 200% werden dann die Schlitze von unten nach oben verlaufend geschlossen, bis dann alles ganz abgedunkelt ist.

Im "normalen" Leben benutzen wir die Rollos bis 100%, damit noch Licht reinkommt.
Im Hochsommer sollte bei Abwesenheit (bzw. wenn niemand in einem Raum ist) der Rollo komplett geschlossen sein (also 200%).

lg, Gerhard

Das sollte aber jetzt schon ohne Probleme möglich sein.
Du kannst ClosedPos auf 200 setzen und setzte bei allen Rollos die sleepPos mit 100. Ich bilde mir ein das dies wunderbar gehen sollte.
Das Thema Beschatten mit der ClosedPos von 200 als ShadingPos ist aber in der ein Problem. ich gehe davon aus das 199 nicht geht, oder?
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