[ASC] Beschattung fährt nicht - Anfängerprobleme

Begonnen von Rewe2000, 19 Dezember 2024, 10:46:00

Vorheriges Thema - Nächstes Thema

Rewe2000

Hallo,

ich will mir für mein Einfamilienhaus 11 Raffstores zulegen und diese mit HmIP-BBL-2 Jalousieaktoren, in Verbindung mit Fhem und ASC steuern. Dazu habe ich mir einen alten WAREMA Raffstore mit Somfy Motor vorab zum Testen zugelegt.
Ich habe nun nach viel lesen des Forums und des Wiki, ASC bei mir in Fhem eingerichtet und stoße da auf einige Probleme, bei deren Lösung ich eure Hilfe benötige.

Grundsätzlich fährt der Raffstore abends (Astro) nach unten, im Rollodevice wird dann auch unter ASC_ShuttersLastDrive night close angezeigt, so habe ich es auch erwartet. Die Stellung der Lamellen sollte auch so passen, mir sind zumindest keine Abweichungen aufgefallen.

Es gibt jedoch einige Abweichungen und Probleme, wo ich von euch Hilfe und einige Tipps benötige:
  • Morgends fährt der Raffstore nach oben (Astro), im Rollodevice wird jedoch unter ASC_ShuttersLastDrive manual angezeigt, dies verwirrt mich, denn es wurde nicht manuell verfahren.
  • Die Beschattung scheint aktuell auch nicht zu funktionieren, ich habe schon an vielen Attributen "gestellt" doch leider ohne Erfolg. Aktuell kommt jedoch bei uns auch die Sonne nur sehr selten heraus.
  • Im Fhem Log wird auch kein Fahrbefehl eingetragen, obwohl der Raffstore morgends gefahren wurde und im ASC-Device / Rollodevice Verbose auf 3 steht.

Ich hänge hier meine beiden Devices mit an und hoffe ihr könnt mir noch einige Hinweise geben, wie ich die Beschattung zum Laufen bekomme.

ASC-Device:
[code]define ASControl AutoShuttersControl
attr ASControl ASC 2
attr ASControl ASC_advEndDate EpiphanyDay
attr ASControl ASC_advStartDate FirstAdvent
attr ASControl ASC_autoAstroModeEvening CIVIL
attr ASControl ASC_autoAstroModeMorning REAL
attr ASControl ASC_autoShuttersControlEvening on
attr ASControl ASC_autoShuttersControlMorning on
attr ASControl ASC_brightnessDriveUpDown 1000:500
attr ASControl ASC_debug 1
attr ASControl ASC_expert 1
attr ASControl ASC_freezeTemp -2
attr ASControl ASC_shuttersDriveDelay 5
attr ASControl ASC_tempSensor Aussentemperatur:state
attr ASControl ASC_twilightDevice Astro
attr ASControl ASC_windSensor WindwertGewaechshaus:state
attr ASControl DbLogExclude .*
attr ASControl devStateIcon { ShuttersControl_DevStateIcon($name) }
attr ASControl group Beschattung
attr ASControl icon fts_shutter_automatic
attr ASControl room OG_BueroReinhard
attr ASControl verbose 3
#   FUUID      67484b7a-f33f-7df9-d328-4373245c56059cec
#   FVERSION   73_AutoShuttersControl.pm:v0.99.10-s29226/2024-10-12
#   MID        da39a3ee5e6b4b0d3255bfef95601890afd80709
#   NAME       ASControl
#   NOTIFYDEV  ASControl,Astro,HO_Bm_Hof_oben,WindwertGewaechshaus,global,OG_RA01_BueroReinhard_3
#   NR         599
#   NTFY_ORDER 51-ASControl
#   STATE      manual
#   TYPE       AutoShuttersControl
#   VERSION    v0.99.10
#   eventCount 523
#   OLDREADINGS:
#   READINGS:
#     2024-12-19 10:13:12   OG_RA01_BueroReinhard_3_PosValue 100
#     2024-12-19 07:29:25   OG_RA01_BueroReinhard_3_lastPosValue 0
#     2024-12-19 07:29:25   OG_RA01_BueroReinhard_3_nextAstroTimeEvent 19.12.2024 - 16:57
#     2024-12-18 16:53:34   ascEnable       on
#     2024-12-18 14:03:45   controlShading  on
#     2024-12-17 14:56:32   hardLockOut     off
#     2024-12-14 10:15:31   room_OG_BueroReinhard OG_RA01_BueroReinhard_3
#     2024-12-14 10:15:31   selfDefense     off
#     2024-12-19 10:13:12   state           manual
#     2024-12-14 10:15:31   sunriseTimeWeHoliday off
#     2024-12-14 10:15:31   userAttrList    rolled out
#   helper:
#     shuttersList:
#       OG_RA01_BueroReinhard_3
#   hmccu:
#   monitoredDevs:
#     Astro:
#       ASControl  ASC_twilightDevice
#     HO_Bm_Hof_oben:
#       OG_RA01_BueroReinhard_3 ASC_BrightnessSensor
#     OG_RA01_BueroReinhard_3:
#     WindwertGewaechshaus:
#       ASControl  ASC_windSensor
#
setstate ASControl manual
setstate ASControl 2024-12-19 09:44:25 .monitoredDevs {"WindwertGewaechshaus":{"ASControl":"ASC_windSensor"},"Astro":{"ASControl":"ASC_twilightDevice"},"HO_Bm_Hof_oben":{"OG_RA01_BueroReinhard_3":"ASC_BrightnessSensor"}}
setstate ASControl 2024-12-19 10:13:12 OG_RA01_BueroReinhard_3_PosValue 100
setstate ASControl 2024-12-19 07:29:25 OG_RA01_BueroReinhard_3_lastPosValue 0
setstate ASControl 2024-12-19 07:29:25 OG_RA01_BueroReinhard_3_nextAstroTimeEvent 19.12.2024 - 16:57
setstate ASControl 2024-12-18 16:53:34 ascEnable on
setstate ASControl 2024-12-18 14:03:45 controlShading on
setstate ASControl 2024-12-17 14:56:32 hardLockOut off
setstate ASControl 2024-12-14 10:15:31 room_OG_BueroReinhard OG_RA01_BueroReinhard_3
setstate ASControl 2024-12-14 10:15:31 selfDefense off
setstate ASControl 2024-12-19 10:13:12 state manual
setstate ASControl 2024-12-14 10:15:31 sunriseTimeWeHoliday off
setstate ASControl 2024-12-14 10:15:31 userAttrList rolled out
[/code]

Rollo-Device:
[code]define OG_RA01_BueroReinhard_3 HMCCUDEV 0036E0C9AEC667  sd=3.LEVEL cd=4.LEVEL
attr OG_RA01_BueroReinhard_3 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_beforeDayOpen ASC_BlockingTime_beforeNightClose ASC_BrightnessSensor ASC_Closed_Pos ASC_ComfortOpen_Pos ASC_CommandTemplate 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 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_BetweenTheTime ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace,awning,EG_window ASC_SlatPosCmd_SlatDevice ASC_Sleep_Pos 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 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 Devicename
attr OG_RA01_BueroReinhard_3 ASC 2
attr OG_RA01_BueroReinhard_3 ASC_Antifreeze soft
attr OG_RA01_BueroReinhard_3 ASC_Antifreeze_Pos 15
attr OG_RA01_BueroReinhard_3 ASC_AutoAstroModeEvening CIVIL
attr OG_RA01_BueroReinhard_3 ASC_AutoAstroModeMorning CIVIL
attr OG_RA01_BueroReinhard_3 ASC_BlockingTime_afterManual 60
attr OG_RA01_BueroReinhard_3 ASC_BrightnessSensor HO_Bm_Hof_oben:brightness 1000:2000
attr OG_RA01_BueroReinhard_3 ASC_Closed_Pos 0:0
attr OG_RA01_BueroReinhard_3 ASC_ComfortOpen_Pos 80:50
attr OG_RA01_BueroReinhard_3 ASC_CommandTemplate set $name datapoint 4.LEVEL_2 $slatPos 4.LEVEL $pos
attr OG_RA01_BueroReinhard_3 ASC_Down astro
attr OG_RA01_BueroReinhard_3 ASC_DriveUpMaxDuration 55
attr OG_RA01_BueroReinhard_3 ASC_Mode_Down always
attr OG_RA01_BueroReinhard_3 ASC_Mode_Up always
attr OG_RA01_BueroReinhard_3 ASC_Open_Pos 100:100
attr OG_RA01_BueroReinhard_3 ASC_Pos_Reading pct
attr OG_RA01_BueroReinhard_3 ASC_PrivacyDown_Pos 50:10
attr OG_RA01_BueroReinhard_3 ASC_Shading_BetweenTheTime 09:00-18:00
attr OG_RA01_BueroReinhard_3 ASC_Shading_InOutAzimuth 90:220
attr OG_RA01_BueroReinhard_3 ASC_Shading_MinMax_Elevation 25:100
attr OG_RA01_BueroReinhard_3 ASC_Shading_Min_OutsideTemperature 1
attr OG_RA01_BueroReinhard_3 ASC_Shading_Mode always
attr OG_RA01_BueroReinhard_3 ASC_Shading_Pos 40:25
attr OG_RA01_BueroReinhard_3 ASC_Shading_StateChange_SunnyCloudy 900:500
attr OG_RA01_BueroReinhard_3 ASC_Shading_WaitingPeriod 1200
attr OG_RA01_BueroReinhard_3 ASC_TempSensor Aussentemperatur:state
attr OG_RA01_BueroReinhard_3 ASC_Time_Down_Early 15:30
attr OG_RA01_BueroReinhard_3 ASC_Time_Down_Late 20:00
attr OG_RA01_BueroReinhard_3 ASC_Time_Up_Early 06:50
attr OG_RA01_BueroReinhard_3 ASC_Time_Up_Late 10:00
attr OG_RA01_BueroReinhard_3 ASC_Up astro
attr OG_RA01_BueroReinhard_3 ASC_Ventilate_Pos 50:40
attr OG_RA01_BueroReinhard_3 ASC_WiggleValue 25
attr OG_RA01_BueroReinhard_3 ASC_WindParameters 10:5 ASC_Open_Pos
attr OG_RA01_BueroReinhard_3 ASC_WindProtection on
attr OG_RA01_BueroReinhard_3 DbLogExclude .*
attr OG_RA01_BueroReinhard_3 Devicename OG Büro Reinhard - Raffstore Aktor
attr OG_RA01_BueroReinhard_3 alias OG_RA01_BueroReinhard
attr OG_RA01_BueroReinhard_3 ccuflags showDeviceReadings
attr OG_RA01_BueroReinhard_3 ccureadingfilter 0,1,2,3,4..*
attr OG_RA01_BueroReinhard_3 cmdIcon open:fts_shutter_up stop:fts_shutter_manual close:fts_shutter_down
attr OG_RA01_BueroReinhard_3 comment Set Befehle:\
set OG_RA01_BueroReinhard_3 allLevels slatLevel blindLevel - Beispiel set OG_RA01_BueroReinhard_3 allLevels 100 100 ## Raffstore fährt komplett nach oben
attr OG_RA01_BueroReinhard_3 group Beschattung,HmIP-Device
attr OG_RA01_BueroReinhard_3 icon fts_shutter_50
attr OG_RA01_BueroReinhard_3 room OG_BueroReinhard
attr OG_RA01_BueroReinhard_3 substexcl pct
attr OG_RA01_BueroReinhard_3 verbose 3
attr OG_RA01_BueroReinhard_3 webCmd pct:open:close:stop
attr OG_RA01_BueroReinhard_3 widgetOverride pct:slider,0,10,100
#   DEF        0036E0C9AEC667  sd=3.LEVEL cd=4.LEVEL
#   FUUID      6697c185-f33f-7df9-238c-47e20402ac5c8222
#   IODev      CCU2
#   NAME       OG_RA01_BueroReinhard_3
#   NR         585
#   STATE      open
#   TYPE       HMCCUDEV
#   ccuaddr    0036E0C9AEC667
#   ccudevstate active
#   ccuif      HmIP-RF
#   ccuname    OG_RA01_BueroReinhard
#   ccurolectrl BLIND_VIRTUAL_RECEIVER
#   ccurolestate BLIND_TRANSMITTER
#   ccusubtype BBL
#   ccutype    HmIP-BBL-2
#   eventCount 2133
#   firmware   1.10.16
#   readonly   no
#   OLDREADINGS:
#   READINGS:
#     2024-12-19 10:13:12   0.ACTUAL_TEMPERATURE 24.0
#     2024-12-19 10:13:12   0.ACTUAL_TEMPERATURE_STATUS NORMAL
#     2024-12-19 10:13:12   0.CONFIG_PENDING false
#     2024-12-19 10:13:12   0.DUTY_CYCLE    false
#     2024-12-19 10:13:12   0.ERROR_CODE    0
#     2024-12-19 10:13:12   0.ERROR_OVERHEAT false
#     2024-12-19 10:13:12   0.ERROR_OVERLOAD false
#     2024-12-18 12:45:54   0.INSTALL_TEST  true
#     2024-12-18 12:45:54   0.OPERATING_VOLTAGE 0.0
#     2024-12-18 12:45:54   0.OPERATING_VOLTAGE_STATUS NORMAL
#     2024-12-19 10:13:12   0.RSSI_DEVICE   -65
#     2024-12-19 07:29:25   0.RSSI_PEER     -73
#     2024-12-19 10:13:12   0.UNREACH       alive
#     2024-12-18 12:45:54   0.UPDATE_PENDING false
#     2024-12-19 10:13:12   3.ACTIVITY_STATE STABLE
#     2024-12-19 10:13:12   3.LEVEL         open
#     2024-12-19 10:13:12   3.LEVEL_2       100
#     2024-12-19 10:13:12   3.LEVEL_2_STATUS NORMAL
#     2024-12-19 10:13:12   3.LEVEL_STATUS  NORMAL
#     2024-12-19 10:13:12   3.PROCESS       STABLE
#     2024-12-19 10:13:12   3.SECTION       
#     2024-12-19 10:13:12   3.SECTION_STATUS UNKNOWN
#     2024-12-18 12:45:54   3.SELF_CALIBRATION_RESULT true
#     2024-12-19 10:13:12   4.ACTIVITY_STATE STABLE
#     2024-12-19 10:13:12   4.LEVEL         open
#     2024-12-19 10:13:12   4.LEVEL_2       100
#     2024-12-19 10:13:12   4.LEVEL_2_STATUS NORMAL
#     2024-12-19 10:13:12   4.LEVEL_STATUS  NORMAL
#     2024-12-19 10:13:12   4.PROCESS       STABLE
#     2024-12-19 10:13:12   4.SECTION       4
#     2024-12-19 10:13:12   4.SECTION_STATUS NORMAL
#     2024-12-18 16:25:49   ASC_Enable      on
#     2024-12-19 10:14:29   ASC_ShadingMessage INFO: current shading status is 'out' - next check in 10m
#     2024-12-19 10:13:12   ASC_ShuttersLastDrive manual
#     2024-12-19 07:29:25   ASC_Time_DriveDown 19.12.2024 - 16:57
#     2024-12-19 07:29:25   ASC_Time_DriveUp 20.12.2024 - 07:30
#     2024-12-19 10:13:12   activity        alive
#     2024-12-19 10:13:12   control         open
#     2024-12-19 10:13:12   devstate        ok
#     2024-12-19 10:13:12   hmstate         open
#     2024-12-19 10:13:12   level           open
#     2024-12-19 10:13:12   measured-temp   24.0
#     2024-12-19 10:13:12   pct             100
#     2024-12-19 10:13:12   pctSlats        100
#     2024-12-19 10:13:12   rssidevice      -65
#     2024-12-19 07:29:25   rssipeer        -73
#     2024-12-19 10:13:12   state           open
#     2024-12-18 12:45:54   voltage         0.0
#   hmccu:
#     channels   8
#     defCDP     4.LEVEL
#     defSDP     3.LEVEL
#     detect     5
#     devspec    0036E0C9AEC667
#     forcedev   0
#     nodefaults 0
#     role       0:MAINTENANCE,1:KEY_TRANSCEIVER,2:KEY_TRANSCEIVER,3:BLIND_TRANSMITTER,4:BLIND_VIRTUAL_RECEIVER,5:BLIND_VIRTUAL_RECEIVER,6:BLIND_VIRTUAL_RECEIVER,7:BLIND_WEEK_PROFILE
#     setDefaults 0
#     cmdlist:
#       get       
#       set        openSlats:noArg toggle:noArg close:noArg closeSlats:noArg down pctSlats oldLevel:noArg open:noArg pct stop:noArg allLevels up
#     control:
#       chn        4
#       dpt        LEVEL
#     dp:
#       0.ACTUAL_TEMPERATURE:
#         VALUES:
#           NVAL       24.0
#           ONVAL      23.0
#           OSVAL      23.0
#           OVAL       23.0
#           SVAL       24.0
#           VAL        24.0
#       0.ACTUAL_TEMPERATURE_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       0.CONFIG_PENDING:
#         VALUES:
#           NVAL       0
#           ONVAL      1
#           OSVAL      true
#           OVAL       1
#           SVAL       false
#           VAL        0
#       0.DUTY_CYCLE:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       0.ERROR_CODE:
#         VALUES:
#           NVAL       0
#           SVAL       0
#           VAL        0
#       0.ERROR_OVERHEAT:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       0.ERROR_OVERLOAD:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       0.INSTALL_TEST:
#         VALUES:
#           NVAL       1
#           SVAL       true
#           VAL        1
#       0.OPERATING_VOLTAGE:
#         VALUES:
#           NVAL       0.000000
#           SVAL       0.0
#           VAL        0.000000
#       0.OPERATING_VOLTAGE_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       0.RSSI_DEVICE:
#         VALUES:
#           NVAL       -65
#           ONVAL      -67
#           OSVAL      -67
#           OVAL       -67
#           SVAL       -65
#           VAL        -65
#       0.RSSI_PEER:
#         VALUES:
#           NVAL       -73
#           ONVAL      -75
#           OSVAL      -75
#           OVAL       -75
#           SVAL       -73
#           VAL        -73
#       0.UNREACH:
#         VALUES:
#           NVAL       0
#           SVAL       alive
#           VAL        0
#       0.UPDATE_PENDING:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       3.ACTIVITY_STATE:
#         VALUES:
#           NVAL       3
#           ONVAL      1
#           OSVAL      UP
#           OVAL       1
#           SVAL       STABLE
#           VAL        3
#       3.LEVEL:
#         VALUES:
#           NVAL       100
#           ONVAL      1.5
#           OSVAL      1.5
#           OVAL       0.015
#           SVAL       open
#           VAL        1.0
#       3.LEVEL_2:
#         VALUES:
#           NVAL       100
#           ONVAL      54
#           OSVAL      54
#           OVAL       0.54
#           SVAL       100
#           VAL        1.0
#       3.LEVEL_2_STATUS:
#         VALUES:
#           NVAL       0
#           ONVAL      1
#           OSVAL      UNKNOWN
#           OVAL       1
#           SVAL       NORMAL
#           VAL        0
#       3.LEVEL_STATUS:
#         VALUES:
#           NVAL       0
#           ONVAL      1
#           OSVAL      UNKNOWN
#           OVAL       1
#           SVAL       NORMAL
#           VAL        0
#       3.PROCESS:
#         VALUES:
#           NVAL       0
#           ONVAL      1
#           OSVAL      NOT_STABLE
#           OVAL       1
#           SVAL       STABLE
#           VAL        0
#       3.SECTION:
#         VALUES:
#           NVAL       
#           SVAL       
#           VAL       
#       3.SECTION_STATUS:
#         VALUES:
#           NVAL       1
#           SVAL       UNKNOWN
#           VAL        1
#       3.SELF_CALIBRATION_RESULT:
#         VALUES:
#           NVAL       1
#           ONVAL      0
#           OSVAL      false
#           OVAL       0
#           SVAL       true
#           VAL        1
#       4.ACTIVITY_STATE:
#         VALUES:
#           NVAL       3
#           ONVAL      1
#           OSVAL      UP
#           OVAL       1
#           SVAL       STABLE
#           VAL        3
#       4.LEVEL:
#         VALUES:
#           NVAL       100
#           ONVAL      0
#           OSVAL      closed
#           OVAL       0.0
#           SVAL       open
#           VAL        1.0
#       4.LEVEL_2:
#         VALUES:
#           NVAL       100
#           ONVAL      0
#           OSVAL      0
#           OVAL       0.0
#           SVAL       100
#           VAL        1.0
#       4.LEVEL_2_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       4.LEVEL_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       4.PROCESS:
#         VALUES:
#           NVAL       0
#           ONVAL      1
#           OSVAL      NOT_STABLE
#           OVAL       1
#           SVAL       STABLE
#           VAL        0
#       4.SECTION:
#         VALUES:
#           NVAL       4
#           ONVAL      3
#           OSVAL      3
#           OVAL       3
#           SVAL       4
#           VAL        4
#       4.SECTION_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       5.ACTIVITY_STATE:
#         VALUES:
#           NVAL       3
#           SVAL       STABLE
#           VAL        3
#       5.LEVEL:
#         VALUES:
#           NVAL       0
#           OVAL       0.000000
#           SVAL       closed
#           VAL        0.0
#       5.LEVEL_2:
#         VALUES:
#           NVAL       0
#           OVAL       0.000000
#           SVAL       0
#           VAL        0.0
#       5.LEVEL_2_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       5.LEVEL_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       5.PROCESS:
#         VALUES:
#           NVAL       0
#           SVAL       STABLE
#           VAL        0
#       5.SECTION:
#         VALUES:
#           NVAL       0
#           SVAL       0
#           VAL        0
#       5.SECTION_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       6.ACTIVITY_STATE:
#         VALUES:
#           NVAL       3
#           SVAL       STABLE
#           VAL        3
#       6.LEVEL:
#         VALUES:
#           NVAL       0
#           OVAL       0.000000
#           SVAL       closed
#           VAL        0.0
#       6.LEVEL_2:
#         VALUES:
#           NVAL       0
#           OVAL       0.000000
#           SVAL       0
#           VAL        0.0
#       6.LEVEL_2_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       6.LEVEL_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       6.PROCESS:
#         VALUES:
#           NVAL       0
#           SVAL       STABLE
#           VAL        0
#       6.SECTION:
#         VALUES:
#           NVAL       0
#           SVAL       0
#           VAL        0
#       6.SECTION_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       7.WEEK_PROGRAM_CHANNEL_LOCKS:
#         VALUES:
#           NVAL       0
#           SVAL       0
#           VAL        0
#     roleChannels:
#       BLIND_TRANSMITTER 3,3,3
#       BLIND_VIRTUAL_RECEIVER 4,5,6,4,5,6,4,5,6
#       BLIND_WEEK_PROFILE 7,7,7
#       KEY_TRANSCEIVER 1,2,1,2,1,2
#       MAINTENANCE 0,0,0
#     roleCmds:
#       get:
#       set:
#         allLevels:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   2
#           syntax     V:LEVEL_2:?slatLevel V:LEVEL:?blindLevel
#           usage      allLevels slatLevel blindLevel
#           subcmd:
#             000:
#               args       
#               dpt        LEVEL_2
#               fnc       
#               max        1.01
#               min        0.0
#               parname    slatLevel
#               partype    2
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#             001:
#               args       
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    blindLevel
#               partype    2
#               ps         VALUES
#               scn        001
#               type       FLOAT
#               unit       100%
#         close:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:0
#           usage      close
#           subcmd:
#             000:
#               args       0
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#         closeSlats:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   2
#           syntax     V:LEVEL_2:0 V:LEVEL:1.005
#           usage      closeSlats
#           subcmd:
#             000:
#               args       0
#               dpt        LEVEL_2
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL_2
#               partype    3
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#             001:
#               args       1.005
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        001
#               type       FLOAT
#               unit       100%
#         down:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:?delta=-20
#           usage      down [delta]
#           subcmd:
#             000:
#               args       -20
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    delta
#               partype    2
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#         oldLevel:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:1.005
#           usage      oldLevel
#           subcmd:
#             000:
#               args       1.005
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#         open:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:100
#           usage      open
#           subcmd:
#             000:
#               args       100
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#         openSlats:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   2
#           syntax     V:LEVEL_2:100 V:LEVEL:1.005
#           usage      openSlats
#           subcmd:
#             000:
#               args       100
#               dpt        LEVEL_2
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL_2
#               partype    3
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#             001:
#               args       1.005
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        001
#               type       FLOAT
#               unit       100%
#         pct:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:?level
#           usage      pct level
#           subcmd:
#             000:
#               args       
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    level
#               partype    2
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#         pctSlats:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   2
#           syntax     V:LEVEL_2:?level V:LEVEL:1.005
#           usage      pctSlats level
#           subcmd:
#             000:
#               args       
#               dpt        LEVEL_2
#               fnc       
#               max        1.01
#               min        0.0
#               parname    level
#               partype    2
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#             001:
#               args       1.005
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        001
#               type       FLOAT
#               unit       100%
#         stop:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:STOP:1
#           usage      stop
#           subcmd:
#             000:
#               args       1
#               dpt        STOP
#               fnc       
#               max        1
#               min        0
#               parname    STOP
#               partype    3
#               ps         VALUES
#               scn        000
#               type       ACTION
#               unit       
#         toggle:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:0,100
#           usage      toggle
#           subcmd:
#             000:
#               args       0,100
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#         up:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:?delta=+20
#           usage      up [delta]
#           subcmd:
#             000:
#               args       +20
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    delta
#               partype    2
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#     state:
#       chn        3
#       dpt        LEVEL
#
setstate OG_RA01_BueroReinhard_3 open
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 0.ACTUAL_TEMPERATURE 24.0
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 0.ACTUAL_TEMPERATURE_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 0.CONFIG_PENDING false
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 0.DUTY_CYCLE false
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 0.ERROR_CODE 0
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 0.ERROR_OVERHEAT false
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 0.ERROR_OVERLOAD false
setstate OG_RA01_BueroReinhard_3 2024-12-18 12:45:54 0.INSTALL_TEST true
setstate OG_RA01_BueroReinhard_3 2024-12-18 12:45:54 0.OPERATING_VOLTAGE 0.0
setstate OG_RA01_BueroReinhard_3 2024-12-18 12:45:54 0.OPERATING_VOLTAGE_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 0.RSSI_DEVICE -65
setstate OG_RA01_BueroReinhard_3 2024-12-19 07:29:25 0.RSSI_PEER -73
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 0.UNREACH alive
setstate OG_RA01_BueroReinhard_3 2024-12-18 12:45:54 0.UPDATE_PENDING false
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 3.ACTIVITY_STATE STABLE
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 3.LEVEL open
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 3.LEVEL_2 100
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 3.LEVEL_2_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 3.LEVEL_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 3.PROCESS STABLE
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 3.SECTION
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 3.SECTION_STATUS UNKNOWN
setstate OG_RA01_BueroReinhard_3 2024-12-18 12:45:54 3.SELF_CALIBRATION_RESULT true
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 4.ACTIVITY_STATE STABLE
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 4.LEVEL open
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 4.LEVEL_2 100
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 4.LEVEL_2_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 4.LEVEL_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 4.PROCESS STABLE
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 4.SECTION 4
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 4.SECTION_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-18 16:25:49 ASC_Enable on
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:14:29 ASC_ShadingMessage INFO: current shading status is 'out' - next check in 10m
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 ASC_ShuttersLastDrive manual
setstate OG_RA01_BueroReinhard_3 2024-12-19 07:29:25 ASC_Time_DriveDown 19.12.2024 - 16:57
setstate OG_RA01_BueroReinhard_3 2024-12-19 07:29:25 ASC_Time_DriveUp 20.12.2024 - 07:30
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 activity alive
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 control open
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 devstate ok
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 hmstate open
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 level open
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 measured-temp 24.0
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 pct 100
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 pctSlats 100
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 rssidevice -65
setstate OG_RA01_BueroReinhard_3 2024-12-19 07:29:25 rssipeer -73
setstate OG_RA01_BueroReinhard_3 2024-12-19 10:13:12 state open
setstate OG_RA01_BueroReinhard_3 2024-12-18 12:45:54 voltage 0.0
[/code]

Ich will im Sommer auch die Beschattung nach Sonnenstand (mit Behang und Lamellenstand) entsprechend sicherstellen. Ich konnte nicht in Erfahrung bringen, ob ASC die Behanghöhe für Beschattung nur auf einen fest vorgegebenen Wert fährt, oder automatisch nach Sonnenstand positioniert, oder ob ich es mit dem Attribut ASC_Shading_Pos im Rollo-Device, über eine Perlvariabe (PCT:PCTSlats) vorgeben muss. Aber um dies selbst zu testen muss die Beschattung bei mir grundsätzlich erst einmal laufen.

Noch vorerst eine letzte Frage, wie testet ihr in ASC solche Funktionen ohne ewig lange Wartezeiten auf Sonne/Wind und Temperatur. Wäre es besser für die externen Sensoren hier dummy-Devices anzulegen um so die grundlegenden Funktionen in einer vertretbaren Zeit zu simulieren?
Es gibt auch noch einige grundlegende andere Verständnisfragen, aber diese stelle ich noch ein wenig hinten an, bis die Grundfunktionen bei mir laufen.

Vorerst vielen Dank für das tolle Modul und eure Geduld mit einem Anfänger.
Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

loetmeister

Hi,

ja, würde auch vorschlagen das "ASC_ShuttersLastDrive manual" weg zu bekommen.
Wenn der Aktor die aktuelle Position regelmäßig meldet, ohne das sie sich geändert hat, dann "event-on-change-reading" setzen.
Auch würde ich ASC_Shutter_IdleDetection entspr. definieren.

ASC_Shading_Pos ist ein fester Wert, oder wie der Hilfetest beschreibt: "Verwendung von Perlcode ist möglich, dieser muss in {} eingeschlossen sein. Rückgabewert muss eine positive Zahl/Dezimalzahl sein!!!"

Gruß,
Thomas

Beta-User

"Manual" kann auch die Folge einer längeren Laufzeit sein - typischerweise bei längeren Jalousien.

Gibt ein Attribut dafür.
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

Rewe2000

Hallo Thomas,

danke für die Tipps.

Ich habe nun bei beiden Devices ASControl und Rollo-Device event-on-change-reading .* gesetzt.
Das Attribut ASC_Shutter_IdleDetection habe ich bei meinem HmIP-BBL-2 auf das Reading 3.PROCESS gesetzt, dieses hat den Status STABLE in der Ruhezeit und NOT_Stable während der Fahrt:
attr OG_RA01_BueroReinhard_3 ASC_Shutter_IdleDetection 3.PROCESS:STABLE
Ich hoffe ich habe die Beschreibung zum Atttribut korrekt interpretiert.

@Beta-User:
Die Fahrzeit meines Raffstores habe ich mit 51 Sekunden gemessen, gemäß Beschreibung zu den 51 Sekunden noch 5 Sekunden hinzuaddiert und unter ASC_DriveUpMaxDuration eingetragen:
attr OG_RA01_BueroReinhard_3 ASC_DriveUpMaxDuration 56
Ich werde die Funktion morgen Vormittag prüfen, ob sich etwas verändert hat.

Habt ihr bei verbose 3 irgendwelche Einträge im Fhem Log?
Ich habe beide Devices ASControl und Rollo-Device auf verbose 3, doch auch bei Fahrt des Raffstores wird keinerlei Logeintrag geschrieben.
Hinweis: Global steht bei mir auf verbose 2, aber ich will ja nur häufige Logeinträge von den ASC-Devices, somit sollte dies nach meinem Verständnis so passen.
Gemäß Doku sollte verbose 3 folgendes bewirken "3 - ausgesendete Kommandos werden gelogged"

Nochmals Danke für die Hilfe
Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

Rewe2000

#4
Hallo,

grundsätzlich funktioniert meine Beschattung nun mit dem ASC-Device so wie erwartet, lediglich sporadisch fährt der Raffstore nicht mehr (hier am Beispiel Entschatten), obwohl ich auch mit Debug keine Ursache hierfür erkennen kann.
Der Helligkeitswert wurde schon mindestens 5 Mal in Folge, wie unter dem Attribut "ASC_Shading_StateChange_SunnyCloudy 4000:2000" festgelegten Wert, empfangen.
Auch deute ich die unten genannten Readings vom Rollodevice so, dass die Entschattungsposition eigentlich angefahren werden sollte.

ASC_ShadingMessage INFO: current shading status is 'out' - next check in 10m
ASC_ShuttersLastDrive shading in

Auch nachden nun schon bereits der Wert für Sonnenhöhe unter dem Attribut "ASC_Shading_MinMax_Elevation 10:70" unterschritten wurde, bewegt sich der Rafftore nicht in die Entschattungsposition.

Debug-Log in Verbose 4:
ASC_DEBUG!!! 2024.12.23 13:59:55 - EventProcessingWind: OG_RA01_BueroReinhard_3 - WindProtection1: unprotected WindMax1: 30 WindMin1: 20 Bekommender Wert1: 1.75

ASC_DEBUG!!! 2024.12.23 13:59:55 - EventProcessingWind: OG_RA01_BueroReinhard_3 - WindProtection2: unprotected WindMax2: 30 WindMin2: 20 Bekommender Wert2: 1.75
2024.12.23 14:00:00 4: AutoShuttersControl (ASControl) - Devname: HO_Bm_Hof_oben Name: ASControl Notify: $VAR1 = [
          'state: Bewegung_Haustüre_aussen',
          'MOTION: Bewegung_Haustüre_aussen',
          'brightness: 872.7'
        ];

2024.12.23 14:00:00 4: AutoShuttersControl (OG_RA01_BueroReinhard_3) - EventProcessingShadingBrightness

ASC_DEBUG!!! 2024.12.23 14:00:00 - EventProcessingShadingBrightness: OG_RA01_BueroReinhard_3 - Es wird nun geprüft ob der übergebene Event ein nummerischer Wert vom Brightnessreading ist.
2024.12.23 14:00:00 4: AutoShuttersControl (OG_RA01_BueroReinhard_3) - EventProcessingShadingBrightness
            Brightness: 872.7

ASC_DEBUG!!! 2024.12.23 14:00:00 - EventProcessingShadingBrightness: OG_RA01_BueroReinhard_3 - Nummerischer Brightness-Wert wurde erkannt. Der Brightness Average Wert ist: 1057 RainProtection: unprotected WindProtection: unprotected

ASC_DEBUG!!! 2024.12.23 14:00:00 - FnIsDay: OG_RA01_BueroReinhard_3 Allgemein: 1

ASC_DEBUG!!! 2024.12.23 14:00:00 - FnIsDay: OG_RA01_BueroReinhard_3 Allgemein: 1

ASC_DEBUG!!! 2024.12.23 14:00:00 - ShadingProcessing: OG_RA01_BueroReinhard_3 - Übergebende Werte - Azimuth:201.4, Elevation: 15.1, Brightness: 1057, OutTemp: 19, Azimut Beschattung: 90, Azimut Endschattung: 260, Ist es nach der Zeitblockadezeit: JA, Das Rollo ist in der Beschattung und wurde manuell gefahren: NEIN, Ist es nach der Hälfte der Beschattungswartezeit: JA
2024.12.23 14:00:00 4: AutoShuttersControl (ASControl) - Shading Processing, Rollladen: OG_RA01_BueroReinhard_3 Azimuth: 201.4 Elevation: 15.1 Brightness: 1057 OutTemp: 19
2024.12.23 14:00:00 4: AutoShuttersControl (ASControl) - Shading Processing, Rollladen: OG_RA01_BueroReinhard_3 Nach dem return

ASC_DEBUG!!! 2024.12.23 14:00:00 - ShadingProcessing: OG_RA01_BueroReinhard_3 - Alle Werte für die weitere Verarbeitung sind korrekt vorhanden und es wird nun mit der Beschattungsverarbeitung begonnen

ASC_DEBUG!!! 2024.12.23 14:00:00 - FnIsDay: OG_RA01_BueroReinhard_3 Allgemein: 1
2024.12.23 14:00:00 4: AutoShuttersControl (ASControl) - Shading Processing, Rollladen: OG_RA01_BueroReinhard_3 In der Out Abfrage, Shadingwert: out, Zeitstempel: 1734957809

ASC_DEBUG!!! 2024.12.23 14:00:00 - ShadingProcessing: OG_RA01_BueroReinhard_3 - Einer der Beschattungsbedingungen wird nicht mehr erfüllt und somit wird der Beschattungsstatus um eine Stufe reduziert. Alter Status: out Neuer Status: out

ASC_DEBUG!!! 2024.12.23 14:00:00 - FnIsDay: OG_RA01_BueroReinhard_3 Allgemein: 1

ASC_DEBUG!!! 2024.12.23 14:00:00 - FnIsDay: OG_RA01_BueroReinhard_3 Allgemein: 1
2024.12.23 14:00:00 4: AutoShuttersControl (ASControl) - Shading Processing - In der Routine zum fahren der Rolll�den, Shading Wert: out

ASC_DEBUG!!! 2024.12.23 14:00:00 - ShadingProcessingDriveCommand: OG_RA01_BueroReinhard_3 - Der aktuelle Beschattungsstatus ist: out, Beschattungsstatus Zeitstempel: 2024.12.23 14:00:00
2024.12.23 14:00:00 4: AutoShuttersControl (ASControl) - Devname: OG_RA01_BueroReinhard_3 Name: ASControl Notify: $VAR1 = [
          'ASC_Iw_Brightness: Helligkeitswert: 872.7'
        ];


ASC_DEBUG!!! 2024.12.23 14:00:00 - EventProcessingShadingBrightness: OG_RA01_BueroReinhard_3 - Alle Bedingungen zur weiteren Beschattungsverarbeitung sind erfüllt. Es wird nun die eigentliche Beschattungsfunktion aufgerufen
2024.12.23 14:00:00 4: AutoShuttersControl (ASControl) - Devname: global Name: ASControl Notify: $VAR1 = [
          'ATTR di_EG_Flur_Kaeltewarnung repeatcmd 180'
        ];

2024.12.23 14:00:00 4: AutoShuttersControl (ASControl) - ShuttersControl: Devicename eq global
2024.12.23 14:00:00 4: AutoShuttersControl (ASControl) - Devname: global Name: ASControl Notify: $VAR1 = [
          'DELETED at_EG_Flur_Kaeltewarnung'
        ];

2024.12.23 14:00:00 4: AutoShuttersControl (ASControl) - ShuttersControl: Devicename eq global
2024.12.23 14:00:10 4: AutoShuttersControl (ASControl) - Devname: WindwertGewaechshaus Name: ASControl Notify: $VAR1 = [
          'state: 1.65'
        ];


ASC_DEBUG!!! 2024.12.23 14:00:10 - EventProcessingWind: OG_RA01_BueroReinhard_3 - WindProtection1: unprotected WindMax1: 30 WindMin1: 20 Bekommender Wert1: 1.65

ASC_DEBUG!!! 2024.12.23 14:00:10 - EventProcessingWind: OG_RA01_BueroReinhard_3 - WindProtection2: unprotected WindMax2: 30 WindMin2: 20 Bekommender Wert2: 1.65
2024.12.23 14:00:20 4: AutoShuttersControl (ASControl) - Devname: HO_Bm_Hof_oben Name: ASControl Notify: $VAR1 = [
          'state: Ruhe_Haustüre_aussen',
          'MOTION: Ruhe_Haustüre_aussen',
          'brightness: 872.1'
        ];

2024.12.23 14:00:20 4: AutoShuttersControl (OG_RA01_BueroReinhard_3) - EventProcessingShadingBrightness

ASC_DEBUG!!! 2024.12.23 14:00:20 - EventProcessingShadingBrightness: OG_RA01_BueroReinhard_3 - Es wird nun geprüft ob der übergebene Event ein nummerischer Wert vom Brightnessreading ist.
2024.12.23 14:00:20 4: AutoShuttersControl (OG_RA01_BueroReinhard_3) - EventProcessingShadingBrightness
            Brightness: 872.1

ASC_DEBUG!!! 2024.12.23 14:00:20 - EventProcessingShadingBrightness: OG_RA01_BueroReinhard_3 - Nummerischer Brightness-Wert wurde erkannt. Der Brightness Average Wert ist: 924 RainProtection: unprotected WindProtection: unprotected

ASC_DEBUG!!! 2024.12.23 14:00:20 - FnIsDay: OG_RA01_BueroReinhard_3 Allgemein: 1

ASC_DEBUG!!! 2024.12.23 14:00:20 - FnIsDay: OG_RA01_BueroReinhard_3 Allgemein: 1

ASC_DEBUG!!! 2024.12.23 14:00:20 - ShadingProcessing: OG_RA01_BueroReinhard_3 - Übergebende Werte - Azimuth:201.4, Elevation: 15.1, Brightness: 924, OutTemp: 19, Azimut Beschattung: 90, Azimut Endschattung: 260, Ist es nach der Zeitblockadezeit: JA, Das Rollo ist in der Beschattung und wurde manuell gefahren: NEIN, Ist es nach der Hälfte der Beschattungswartezeit: NEIN
2024.12.23 14:00:20 4: AutoShuttersControl (ASControl) - Shading Processing, Rollladen: OG_RA01_BueroReinhard_3 Azimuth: 201.4 Elevation: 15.1 Brightness: 924 OutTemp: 19

ASC_DEBUG!!! 2024.12.23 14:00:20 - EventProcessingShadingBrightness: OG_RA01_BueroReinhard_3 - Alle Bedingungen zur weiteren Beschattungsverarbeitung sind erfüllt. Es wird nun die eigentliche Beschattungsfunktion aufgerufen
2024.12.23 14:00:26 4: AutoShuttersControl (ASControl) - Devname: WindwertGewaechshaus Name: ASControl Notify: $VAR1 = [
          'state: 2.58'
        ];


ASC_DEBUG!!! 2024.12.23 14:00:26 - EventProcessingWind: OG_RA01_BueroReinhard_3 - WindProtection1: unprotected WindMax1: 30 WindMin1: 20 Bekommender Wert1: 2.58

ASC_DEBUG!!! 2024.12.23 14:00:26 - EventProcessingWind: OG_RA01_BueroReinhard_3 - WindProtection2: unprotected WindMax2: 30 WindMin2: 20 Bekommender Wert2: 2.58
2024.12.23 14:00:41 4: AutoShuttersControl (ASControl) - Devname: WindwertGewaechshaus Name: ASControl Notify: $VAR1 = [
          'state: 1.89'
        ];


ASC_DEBUG!!! 2024.12.23 14:00:41 - EventProcessingWind: OG_RA01_BueroReinhard_3 - WindProtection1: unprotected WindMax1: 30 WindMin1: 20 Bekommender Wert1: 1.89

ASC_DEBUG!!! 2024.12.23 14:00:41 - EventProcessingWind: OG_RA01_BueroReinhard_3 - WindProtection2: unprotected WindMax2: 30 WindMin2: 20 Bekommender Wert2: 1.89
2024.12.23 14:00:44 4: AutoShuttersControl (ASControl) - Devname: Astro Name: ASControl Notify: $VAR1 = [
          'MoonDistance: 405098',
          'MoonDec: -4.6',
          'MoonAz: 283.6',
          'MoonAge: 276.5',
          'SunAlt: 14.1',
          'SunDistance: 147139058',
          'ObsJD: 2460668.04',
          'ObsGMST: 19:10:59',
          'SunDistanceObserver: 147137533',
          'ObsTime: 14:00:44',
          'ObsLMST: 19:55:01',
          'MoonAlt: -17.4',
          'MoonLon: 188.7',
          'MoonDistanceObserver: 407063',
          'SunAz: 204.8'
        ];


ASC_DEBUG!!! 2024.12.23 14:00:44 - EventProcessingTwilightDevice: OG_RA01_BueroReinhard_3 - Event vom Astro oder Twilight Device wurde erkannt. Event wird verarbeitet

ASC_DEBUG!!! 2024.12.23 14:00:44 - EventProcessingTwilightDevice: ASControl - Passendes Event wurde erkannt. Verarbeitung über alle Rollos beginnt

ASC_DEBUG!!! 2024.12.23 14:00:44 - EventProcessingTwilightDevice: OG_RA01_BueroReinhard_3 RainProtection: unprotected WindProtection: unprotected

ASC_DEBUG!!! 2024.12.23 14:00:44 - FnIsDay: OG_RA01_BueroReinhard_3 Allgemein: 1

ASC_DEBUG!!! 2024.12.23 14:00:44 - FnIsDay: OG_RA01_BueroReinhard_3 Allgemein: 1

ASC_DEBUG!!! 2024.12.23 14:00:44 - ShadingProcessing: OG_RA01_BueroReinhard_3 - Übergebende Werte - Azimuth:204.8, Elevation: 14.1, Brightness: 924, OutTemp: 19, Azimut Beschattung: 90, Azimut Endschattung: 260, Ist es nach der Zeitblockadezeit: JA, Das Rollo ist in der Beschattung und wurde manuell gefahren: NEIN, Ist es nach der Hälfte der Beschattungswartezeit: NEIN
2024.12.23 14:00:44 4: AutoShuttersControl (ASControl) - Shading Processing, Rollladen: OG_RA01_BueroReinhard_3 Azimuth: 204.8 Elevation: 14.1 Brightness: 924 OutTemp: 19

ASC_DEBUG!!! 2024.12.23 14:00:44 - EventProcessingTwilightDevice: OG_RA01_BueroReinhard_3 - Alle Bedingungen zur weiteren Beschattungsverarbeitung sind erfüllt. Es wird nun die Beschattungsfunktion ausgeführt
2024.12.23 14:00:56 4: AutoShuttersControl (ASControl) - Devname: WindwertGewaechshaus Name: ASControl Notify: $VAR1 = [
          'state: 2.21'
        ];


ASC_DEBUG!!! 2024.12.23 14:00:56 - EventProcessingWind: OG_RA01_BueroReinhard_3 - WindProtection1: unprotected WindMax1: 30 WindMin1: 20 Bekommender Wert1: 2.21

ASC_DEBUG!!! 2024.12.23 14:00:56 - EventProcessingWind: OG_RA01_BueroReinhard_3 - WindProtection2: unprotected WindMax2: 30 WindMin2: 20 Bekommender Wert2: 2.21
2024.12.23 14:01:12 4: AutoShuttersControl (ASControl) - Devname: WindwertGewaechshaus Name: ASControl Notify: $VAR1 = [
          'state: 1.67'
        ];


Mich irritiert auch, dass im Debug-Log hier Einträge (z.B. DELETED at_EG_Flur_Kaeltewarnung) auftauchen, welche überhaupt nichts mir dem ASC-Device zu tun haben. Bei mir wird zur Benachrichtigung für die Fensterlüftung dieses at-Device verwendet.

Aktuelles ASC-Device:
define ASControl AutoShuttersControl
attr ASControl ASC_advEndDate EpiphanyDay
attr ASControl ASC_advStartDate FirstAdvent
attr ASControl ASC_autoAstroModeEvening CIVIL
attr ASControl ASC_autoAstroModeMorning REAL
attr ASControl ASC_autoShuttersControlEvening on
attr ASControl ASC_autoShuttersControlMorning on
attr ASControl ASC_brightnessDriveUpDown 1000:500
attr ASControl ASC_expert 1
attr ASControl ASC_freezeTemp -2
attr ASControl ASC_rainSensor du_Regen:state 1:1 0
attr ASControl ASC_shuttersDriveDelay 5
attr ASControl ASC_tempSensor du_Temperatur:state
attr ASControl ASC_twilightDevice Astro
attr ASControl ASC_windSensor WindwertGewaechshaus:state
attr ASControl DbLogExclude .*
attr ASControl devStateIcon { ShuttersControl_DevStateIcon($name) }
attr ASControl group Beschattung
attr ASControl icon fts_shutter_automatic
attr ASControl room OG_BueroReinhard,Unsorted
attr ASControl verbose 3
#   CFGFN     
#   FUUID      6765384c-f33f-7df9-a909-f921a63d61c6006f
#   FVERSION   73_AutoShuttersControl.pm:v0.99.10-s29226/2024-10-12
#   MID        da39a3ee5e6b4b0d3255bfef95601890afd80709
#   NAME       ASControl
#   NOTIFYDEV  ASControl,Astro,HO_Bm_Hof_oben,OG_FKE1_BueroReinhard,WindwertGewaechshaus,du_Regen,global,OG_RA01_BueroReinhard_3
#   NR         844
#   NTFY_ORDER 51-ASControl
#   STATE      created new drive timer
#   TYPE       AutoShuttersControl
#   VERSION    v0.99.10
#   eventCount 849
#   Helper:
#     DBLOG:
#       state:
#         DBLogging:
#           TIME       1734686796.77437
#           VALUE      please set attribute ASC with value 1 or 2 in all auto controlled shutter devices and then execute 'set DEVICENAME scanForShutters'
#   OLDREADINGS:
#   READINGS:
#     2024-12-23 11:33:28   OG_RA01_BueroReinhard_3_PosValue 1
#     2024-12-20 18:34:01   OG_RA01_BueroReinhard_3_lastDelayPosValue 100
#     2024-12-23 12:41:25   OG_RA01_BueroReinhard_3_lastPosValue 1
#     2024-12-23 08:00:23   OG_RA01_BueroReinhard_3_nextAstroTimeEvent 23.12.2024 - 15:59
#     2024-12-20 10:59:06   ascEnable       on
#     2024-12-22 14:20:36   controlShading  on
#     2024-12-17 14:56:32   hardLockOut     off
#     2024-12-20 10:29:02   room_OG_BueroReinhard OG_RA01_BueroReinhard_3
#     2024-12-14 10:15:31   selfDefense     off
#     2024-12-23 14:34:06   state           created new drive timer
#     2024-12-14 10:15:31   sunriseTimeWeHoliday off
#     2024-12-20 10:29:02   userAttrList    rolled out
#   helper:
#     shuttersList:
#       OG_RA01_BueroReinhard_3
#   hmccu:
#   monitoredDevs:
#     Astro:
#       ASControl  ASC_twilightDevice
#     HO_Bm_Hof_oben:
#       OG_RA01_BueroReinhard_3 ASC_BrightnessSensor
#     OG_FKE1_BueroReinhard:
#       OG_RA01_BueroReinhard_3 ASC_WindowRec
#     OG_RA01_BueroReinhard_3:
#     WindwertGewaechshaus:
#       ASControl  ASC_windSensor
#     du_Regen:
#       ASControl  ASC_rainSensor
#
setstate ASControl created new drive timer
setstate ASControl 2024-12-23 14:34:10 .monitoredDevs {"HO_Bm_Hof_oben":{"OG_RA01_BueroReinhard_3":"ASC_BrightnessSensor"},"OG_FKE1_BueroReinhard":{"OG_RA01_BueroReinhard_3":"ASC_WindowRec"},"WindwertGewaechshaus":{"ASControl":"ASC_windSensor"},"Astro":{"ASControl":"ASC_twilightDevice"},"du_Regen":{"ASControl":"ASC_rainSensor"}}
setstate ASControl 2024-12-23 11:33:28 OG_RA01_BueroReinhard_3_PosValue 1
setstate ASControl 2024-12-20 18:34:01 OG_RA01_BueroReinhard_3_lastDelayPosValue 100
setstate ASControl 2024-12-23 12:41:25 OG_RA01_BueroReinhard_3_lastPosValue 1
setstate ASControl 2024-12-23 08:00:23 OG_RA01_BueroReinhard_3_nextAstroTimeEvent 23.12.2024 - 15:59
setstate ASControl 2024-12-20 10:59:06 ascEnable on
setstate ASControl 2024-12-22 14:20:36 controlShading on
setstate ASControl 2024-12-17 14:56:32 hardLockOut off
setstate ASControl 2024-12-20 10:29:02 room_OG_BueroReinhard OG_RA01_BueroReinhard_3
setstate ASControl 2024-12-14 10:15:31 selfDefense off
setstate ASControl 2024-12-23 14:34:06 state created new drive timer
setstate ASControl 2024-12-14 10:15:31 sunriseTimeWeHoliday off
setstate ASControl 2024-12-20 10:29:02 userAttrList rolled out

Im nächsten Beitrag, meine aktuelles Rollo-Device, da dieser Beitrag hier sonst zu lang geworden wäre.

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

Rewe2000

Hallo,

hier noch mein aktuelles Rollodevice:
Aktuelles Rollodevice:
define OG_RA01_BueroReinhard_3 HMCCUDEV 0036E0C9AEC667  sd=3.LEVEL cd=4.LEVEL
attr OG_RA01_BueroReinhard_3 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_beforeDayOpen ASC_BlockingTime_beforeNightClose ASC_BrightnessSensor ASC_Closed_Pos ASC_ComfortOpen_Pos ASC_CommandTemplate 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 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_BetweenTheTime ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shading_start_IndoorTemperature:19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0 ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace,awning,EG_window ASC_SlatPosCmd_SlatDevice ASC_Sleep_Pos 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 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 Devicename
attr OG_RA01_BueroReinhard_3 ASC 2
attr OG_RA01_BueroReinhard_3 ASC_Antifreeze hard
attr OG_RA01_BueroReinhard_3 ASC_Antifreeze_Pos 100
attr OG_RA01_BueroReinhard_3 ASC_AutoAstroModeEvening HORIZON
attr OG_RA01_BueroReinhard_3 ASC_AutoAstroModeEveningHorizon 2
attr OG_RA01_BueroReinhard_3 ASC_AutoAstroModeMorning HORIZON
attr OG_RA01_BueroReinhard_3 ASC_AutoAstroModeMorningHorizon -2
attr OG_RA01_BueroReinhard_3 ASC_BlockingTime_afterManual 1200
attr OG_RA01_BueroReinhard_3 ASC_BrightnessSensor HO_Bm_Hof_oben:brightness
attr OG_RA01_BueroReinhard_3 ASC_Closed_Pos 0:0
attr OG_RA01_BueroReinhard_3 ASC_ComfortOpen_Pos 80:50
attr OG_RA01_BueroReinhard_3 ASC_CommandTemplate set $name datapoint 4.LEVEL_2 $slatPos 4.LEVEL $pos
attr OG_RA01_BueroReinhard_3 ASC_Down astro
attr OG_RA01_BueroReinhard_3 ASC_DriveUpMaxDuration 56
attr OG_RA01_BueroReinhard_3 ASC_Mode_Down always
attr OG_RA01_BueroReinhard_3 ASC_Mode_Up always
attr OG_RA01_BueroReinhard_3 ASC_Open_Pos 100:100
attr OG_RA01_BueroReinhard_3 ASC_Pos_Reading pct
attr OG_RA01_BueroReinhard_3 ASC_PrivacyDown_Pos 50:10
attr OG_RA01_BueroReinhard_3 ASC_Shading_BetweenTheTime 09:00-18:00
attr OG_RA01_BueroReinhard_3 ASC_Shading_InOutAzimuth 90:260
attr OG_RA01_BueroReinhard_3 ASC_Shading_MinMax_Elevation 10:70
attr OG_RA01_BueroReinhard_3 ASC_Shading_Min_OutsideTemperature 18
attr OG_RA01_BueroReinhard_3 ASC_Shading_Mode always
attr OG_RA01_BueroReinhard_3 ASC_Shading_Pos { my $pctPos = 20;; my $pctSlatPos = 25;; my $SunAltitude = ReadingsNum("Astro","SunAlt",0);; if ($SunAltitude > 10 and $SunAltitude < 20) { $pctPos = 0;; $pctSlatPos = 25 } if ($SunAltitude >= 20 and $SunAltitude < 30) { $pctPos = 5;; $pctSlatPos = 27 } if ($SunAltitude >= 30 and $SunAltitude < 40) { $pctPos = 10;; $pctSlatPos = 29 } if ($SunAltitude >= 40 and $SunAltitude < 50) { $pctPos = 15;; $pctSlatPos = 32 } if ($SunAltitude >= 50 and $SunAltitude < 60) { $pctPos = 20;; $pctSlatPos = 35 } if ($SunAltitude >= 60 and $SunAltitude < 65) { $pctPos = 25;; $pctSlatPos = 37 } if ($SunAltitude >= 65) { $pctPos = 30;; $pctSlatPos = 40 } (ReadingsNum("OG_VG_BueroReinhard","measured-temp",21) <= AttrNum("OG_RA01_BueroReinhard_3","ASC_Shading_start_IndoorTemperature",21) ? "100:100":$pctPos.":".$pctSlatPos) }
attr OG_RA01_BueroReinhard_3 ASC_Shading_StateChange_SunnyCloudy 4000:2000
attr OG_RA01_BueroReinhard_3 ASC_Shading_WaitingPeriod 1200
attr OG_RA01_BueroReinhard_3 ASC_Shading_start_IndoorTemperature 19.0
attr OG_RA01_BueroReinhard_3 ASC_Shutter_IdleDetection 3.PROCESS:STABLE
attr OG_RA01_BueroReinhard_3 ASC_ShuttersPlace terrace
attr OG_RA01_BueroReinhard_3 ASC_TempSensor du_Temperatur:state
attr OG_RA01_BueroReinhard_3 ASC_Time_Down_Early 15:45
attr OG_RA01_BueroReinhard_3 ASC_Time_Down_Late 22:00
attr OG_RA01_BueroReinhard_3 ASC_Time_Up_Early 05:00
attr OG_RA01_BueroReinhard_3 ASC_Time_Up_Late 08:30
attr OG_RA01_BueroReinhard_3 ASC_Up astro
attr OG_RA01_BueroReinhard_3 ASC_Ventilate_Window_Open on
attr OG_RA01_BueroReinhard_3 ASC_WiggleValue 25
attr OG_RA01_BueroReinhard_3 ASC_WindParameters 30:10 100
attr OG_RA01_BueroReinhard_3 ASC_WindProtection on
attr OG_RA01_BueroReinhard_3 ASC_WindowRec OG_FKE1_BueroReinhard:state
attr OG_RA01_BueroReinhard_3 ASC_WindowRec_PosAfterDayClosed lastManual
attr OG_RA01_BueroReinhard_3 DbLogExclude .*
attr OG_RA01_BueroReinhard_3 DbLogInclude pct,pctSlats,ASC_ShuttersLastDrive
attr OG_RA01_BueroReinhard_3 Devicename OG Büro Reinhard - Raffstore Aktor
attr OG_RA01_BueroReinhard_3 alias OG_RA01_BueroReinhard
attr OG_RA01_BueroReinhard_3 ccuflags showDeviceReadings
attr OG_RA01_BueroReinhard_3 ccureadingfilter 0,1,2,3,4..*
attr OG_RA01_BueroReinhard_3 cmdIcon open:fts_shutter_up stop:fts_shutter_manual close:fts_shutter_down
attr OG_RA01_BueroReinhard_3 comment Set Befehle:\
set OG_RA01_BueroReinhard_3 allLevels slatLevel blindLevel - Beispiel set OG_RA01_BueroReinhard_3 allLevels 100 100 ## Raffstore fährt komplett nach oben\
\
API-Abfragen:\
{ascAPIget('ShadingPos','OG_RA01_BueroReinhard_3')};;{ ascAPIget('ShadingPositionAssignment','OG_RA01_BueroReinhard_3')} ## Aktuelle Position für Beschattung\
\
Readings:\
ASC_Shading_Temp                                ## Freigabe der Beschattung in Abhängigkeit der Außentemperatur und der Raumtemperatur\
ASC_Shading_position ## Dynamische Sollwertvorgabe für Behang und Lamellen, gemäß Sonnenhöhe (attr ASC_Shading_Pos)\
\
Attribute:\
attr OG_RA01_BueroReinhard_3 ASC_Down Astro ## Raffstore fährt Abends gemäß Sonnenstand - hat mit der Beschattung tagsüber nichts zu tun\
attr OG_RA01_BueroReinhard_3 ASC_Up Astro ## Raffstore fährt Morgends gemäß Sonnenstand - hat mit der Beschattung tagsüber nichts zu tun\
attr OG_RA01_BueroReinhard_3 ASC_WindParameters ## "30:10 100" Raffstore fährt bei Wind >30 ganz hoch und und bei Wind <10 wieder in letzte Position
attr OG_RA01_BueroReinhard_3 event-on-change-reading .*
attr OG_RA01_BueroReinhard_3 group Beschattung,HmIP-Device
attr OG_RA01_BueroReinhard_3 icon fts_shutter_50
attr OG_RA01_BueroReinhard_3 room OG_BueroReinhard,Unsorted
attr OG_RA01_BueroReinhard_3 substexcl pct
attr OG_RA01_BueroReinhard_3 userReadings ASC_Iw_Shading_Temp {\
my $In = ReadingsNum("OG_VG_BueroReinhard","measured-temp",0);;\
my $Out = ReadingsNum("du_Temperatur","state",0);;\
my $SwIn = AttrNum("OG_RA01_BueroReinhard_3","ASC_Shading_start_IndoorTemperature",0);;\
my $SwOut = AttrNum("OG_RA01_BueroReinhard_3","ASC_Shading_Min_OutsideTemperature",0);;\
my $InTemp = ($In >= $SwIn ? "Raumtemperatur ".$In."°C > Sollwert innen ".$SwIn."°C Freigabe Beschattung":"Raumtemperatur ".$In."°C < Sollwert innen ".$SwIn."°C Sperre Beschattung");;\
my $OutTemp = ($Out >= $SwOut ? "Aussentemperatur ".$Out."°C > Sollwert außen ".$SwOut."°C Freigabe Beschattung":"Aussentemperatur ".$Out."°C < Sollwert außen ".$SwOut."°C Sperre Beschattung");;\
return "Temperaturen: ".$InTemp." - ".$OutTemp\
},\
ASC_Iw_Shading_Position { \
my $Pos_pcd = ascAPIget('ShadingPos','OG_RA01_BueroReinhard_3');;\
my $Pos_pcdSlats = ascAPIget('ShadingPositionAssignment','OG_RA01_BueroReinhard_3');;\
return "Sollwert Behang für Beschattung: ".$Pos_pcd."%, Lamellen: ".$Pos_pcdSlats."%"\
},\
ASC_Iw_Safe_States {\
my $Wind = (ascAPIget('WindProtectionStatus','OG_RA01_BueroReinhard_3') eq "protected" ? "Sturmwarnung":"kein Strum");;\
my $Rain = (ascAPIget('RainProtectionStatus','OG_RA01_BueroReinhard_3') eq "protected" ? "Regenmeldung":"kein Regen");;\
my $Window = (ascAPIget('WinStatus','OG_RA01_BueroReinhard_3') eq "open" ? "Fenster offen":"Fenster geschlossen");;\
return "Schutzposition für Behang: ".$Wind.", ".$Rain.", ".$Window\
},\
ASC_Iw_SunPos {\
my $SunAlt = ReadingsNum("Astro","SunAlt",0);;\
my $SunAzimut = ReadingsNum("Astro","SunAz",0);;\
return "Sonnenhöhe (Altitude): ".$SunAlt."°, Sonnenwinkel (Azimut):".$SunAzimut."°"\
},\
ASC_Iw_Brightness {\
my $Brightness = ascAPIget('Brightness','OG_RA01_BueroReinhard_3');;\
return "Helligkeitswert: ".$Brightness\
}
attr OG_RA01_BueroReinhard_3 verbose 3
attr OG_RA01_BueroReinhard_3 webCmd pct:open:close:stop
attr OG_RA01_BueroReinhard_3 widgetOverride pct:slider,0,10,100
#   DEF        0036E0C9AEC667  sd=3.LEVEL cd=4.LEVEL
#   FUUID      6697c185-f33f-7df9-238c-47e20402ac5c8222
#   IODev      CCU2
#   NAME       OG_RA01_BueroReinhard_3
#   NR         585
#   STATE      1
#   TYPE       HMCCUDEV
#   ccuaddr    0036E0C9AEC667
#   ccudevstate active
#   ccuif      HmIP-RF
#   ccuname    OG_RA01_BueroReinhard
#   ccurolectrl BLIND_VIRTUAL_RECEIVER
#   ccurolestate BLIND_TRANSMITTER
#   ccusubtype BBL
#   ccutype    HmIP-BBL-2
#   eventCount 4641
#   firmware   1.10.16
#   readonly   no
#   Helper:
#     DBLOG:
#       ASC_ShuttersLastDrive:
#         DBLogging:
#           TIME       1734949350.8929
#           VALUE      shading in
#       pct:
#         DBLogging:
#           TIME       1734950008.96231
#           VALUE      1
#       pctSlats:
#         DBLogging:
#           TIME       1734950008.96231
#           VALUE      25
#   OLDREADINGS:
#     2024-12-22 12:53:54   pct             28
#     2024-12-22 12:53:54   pctSlats        94
#   READINGS:
#     2024-12-23 14:24:56   0.ACTUAL_TEMPERATURE 28.0
#     2024-12-23 14:24:56   0.ACTUAL_TEMPERATURE_STATUS NORMAL
#     2024-12-23 14:24:56   0.CONFIG_PENDING false
#     2024-12-23 14:24:56   0.DUTY_CYCLE    false
#     2024-12-23 14:24:56   0.ERROR_CODE    0
#     2024-12-23 14:24:56   0.ERROR_OVERHEAT false
#     2024-12-23 14:24:56   0.ERROR_OVERLOAD false
#     2024-12-20 10:36:11   0.INSTALL_TEST  true
#     2024-12-20 10:36:11   0.OPERATING_VOLTAGE 0.0
#     2024-12-20 10:36:11   0.OPERATING_VOLTAGE_STATUS NORMAL
#     2024-12-23 14:24:56   0.RSSI_DEVICE   -66
#     2024-12-23 12:41:25   0.RSSI_PEER     -72
#     2024-12-23 14:24:56   0.UNREACH       alive
#     2024-12-20 10:36:11   0.UPDATE_PENDING false
#     2024-12-23 14:24:56   3.ACTIVITY_STATE STABLE
#     2024-12-23 14:24:56   3.LEVEL         1
#     2024-12-23 14:24:56   3.LEVEL_2       25
#     2024-12-23 14:24:56   3.LEVEL_2_STATUS NORMAL
#     2024-12-23 14:24:56   3.LEVEL_STATUS  NORMAL
#     2024-12-23 14:24:56   3.PROCESS       STABLE
#     2024-12-23 14:24:56   3.SECTION       
#     2024-12-23 14:24:56   3.SECTION_STATUS UNKNOWN
#     2024-12-20 10:36:11   3.SELF_CALIBRATION_RESULT true
#     2024-12-23 14:24:56   4.ACTIVITY_STATE STABLE
#     2024-12-23 14:24:56   4.LEVEL         1
#     2024-12-23 14:24:56   4.LEVEL_2       25
#     2024-12-23 14:24:56   4.LEVEL_2_STATUS NORMAL
#     2024-12-23 14:24:56   4.LEVEL_STATUS  NORMAL
#     2024-12-23 14:24:56   4.PROCESS       STABLE
#     2024-12-23 14:24:56   4.SECTION       4
#     2024-12-23 14:24:56   4.SECTION_STATUS NORMAL
#     2024-12-18 16:25:49   ASC_Enable      on
#     2024-12-23 14:45:44   ASC_Iw_Brightness Helligkeitswert: 467.5
#     2024-12-23 14:45:44   ASC_Iw_Safe_States Schutzposition für Behang: kein Strum, kein Regen, Fenster geschlossen
#     2024-12-23 14:45:44   ASC_Iw_Shading_Position Sollwert Behang für Beschattung: 0%, Lamellen: 25%
#     2024-12-23 14:45:44   ASC_Iw_Shading_Temp Temperaturen: Raumtemperatur 19.4°C > Sollwert innen 19.0°C Freigabe Beschattung - Aussentemperatur 19°C > Sollwert außen 18°C Freigabe Beschattung
#     2024-12-23 14:45:44   ASC_Iw_SunPos   Sonnenhöhe (Altitude): 10.5°, Sonnenwinkel (Azimut):214.6°
#     2024-12-23 14:45:44   ASC_ShadingMessage INFO: current shading status is 'out' - next check in 10m
#     2024-12-23 11:33:29   ASC_ShuttersLastDrive shading in
#     2024-12-23 14:34:06   ASC_Time_DriveDown 23.12.2024 - 15:59
#     2024-12-23 14:34:06   ASC_Time_DriveUp 24.12.2024 - 08:00
#     2024-12-23 14:24:56   activity        alive
#     2024-12-23 14:24:56   control         1
#     2024-12-23 14:24:56   devstate        ok
#     2024-12-23 14:24:56   hmstate         1
#     2024-12-23 14:24:56   level           1
#     2024-12-23 14:24:56   measured-temp   28.0
#     2024-12-23 14:24:56   pct             1
#     2024-12-23 14:24:56   pctSlats        25
#     2024-12-23 14:24:56   rssidevice      -66
#     2024-12-23 12:41:25   rssipeer        -72
#     2024-12-23 14:24:56   state           1
#     2024-12-20 10:36:11   voltage         0.0
#   hmccu:
#     channels   8
#     defCDP     4.LEVEL
#     defSDP     3.LEVEL
#     detect     5
#     devspec    0036E0C9AEC667
#     forcedev   0
#     nodefaults 0
#     role       0:MAINTENANCE,1:KEY_TRANSCEIVER,2:KEY_TRANSCEIVER,3:BLIND_TRANSMITTER,4:BLIND_VIRTUAL_RECEIVER,5:BLIND_VIRTUAL_RECEIVER,6:BLIND_VIRTUAL_RECEIVER,7:BLIND_WEEK_PROFILE
#     setDefaults 0
#     cmdlist:
#       get       
#       set        openSlats:noArg toggle:noArg close:noArg closeSlats:noArg down pctSlats oldLevel:noArg open:noArg pct stop:noArg allLevels up
#     control:
#       chn        4
#       dpt        LEVEL
#     dp:
#       0.ACTUAL_TEMPERATURE:
#         VALUES:
#           NVAL       28.0
#           ONVAL      29.0
#           OSVAL      29.0
#           OVAL       29.0
#           SVAL       28.0
#           VAL        28.0
#       0.ACTUAL_TEMPERATURE_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       0.CONFIG_PENDING:
#         VALUES:
#           NVAL       0
#           ONVAL      1
#           OSVAL      true
#           OVAL       1
#           SVAL       false
#           VAL        0
#       0.DUTY_CYCLE:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       0.ERROR_CODE:
#         VALUES:
#           NVAL       0
#           SVAL       0
#           VAL        0
#       0.ERROR_OVERHEAT:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       0.ERROR_OVERLOAD:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       0.INSTALL_TEST:
#         VALUES:
#           NVAL       1
#           SVAL       true
#           VAL        1
#       0.OPERATING_VOLTAGE:
#         VALUES:
#           NVAL       0.000000
#           SVAL       0.0
#           VAL        0.000000
#       0.OPERATING_VOLTAGE_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       0.RSSI_DEVICE:
#         VALUES:
#           NVAL       -66
#           ONVAL      -64
#           OSVAL      -64
#           OVAL       -64
#           SVAL       -66
#           VAL        -66
#       0.RSSI_PEER:
#         VALUES:
#           NVAL       -72
#           ONVAL      -71
#           OSVAL      -71
#           OVAL       -71
#           SVAL       -72
#           VAL        -72
#       0.UNREACH:
#         VALUES:
#           NVAL       0
#           SVAL       alive
#           VAL        0
#       0.UPDATE_PENDING:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       3.ACTIVITY_STATE:
#         VALUES:
#           NVAL       3
#           ONVAL      2
#           OSVAL      DOWN
#           OVAL       2
#           SVAL       STABLE
#           VAL        3
#       3.LEVEL:
#         VALUES:
#           NVAL       1
#           ONVAL      3
#           OSVAL      3
#           OVAL       0.03
#           SVAL       1
#           VAL        0.01
#       3.LEVEL_2:
#         VALUES:
#           NVAL       25
#           ONVAL      82
#           OSVAL      82
#           OVAL       0.82
#           SVAL       25
#           VAL        0.25
#       3.LEVEL_2_STATUS:
#         VALUES:
#           NVAL       0
#           ONVAL      1
#           OSVAL      UNKNOWN
#           OVAL       1
#           SVAL       NORMAL
#           VAL        0
#       3.LEVEL_STATUS:
#         VALUES:
#           NVAL       0
#           ONVAL      1
#           OSVAL      UNKNOWN
#           OVAL       1
#           SVAL       NORMAL
#           VAL        0
#       3.PROCESS:
#         VALUES:
#           NVAL       0
#           ONVAL      1
#           OSVAL      NOT_STABLE
#           OVAL       1
#           SVAL       STABLE
#           VAL        0
#       3.SECTION:
#         VALUES:
#           NVAL       
#           SVAL       
#           VAL       
#       3.SECTION_STATUS:
#         VALUES:
#           NVAL       1
#           SVAL       UNKNOWN
#           VAL        1
#       3.SELF_CALIBRATION_RESULT:
#         VALUES:
#           NVAL       1
#           ONVAL      0
#           OSVAL      false
#           OVAL       0
#           SVAL       true
#           VAL        1
#       4.ACTIVITY_STATE:
#         VALUES:
#           NVAL       3
#           ONVAL      2
#           OSVAL      DOWN
#           OVAL       2
#           SVAL       STABLE
#           VAL        3
#       4.LEVEL:
#         VALUES:
#           NVAL       1
#           ONVAL      100
#           OSVAL      open
#           OVAL       1.0
#           SVAL       1
#           VAL        0.01
#       4.LEVEL_2:
#         VALUES:
#           NVAL       25
#           ONVAL      100
#           OSVAL      100
#           OVAL       1.0
#           SVAL       25
#           VAL        0.25
#       4.LEVEL_2_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       4.LEVEL_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       4.PROCESS:
#         VALUES:
#           NVAL       0
#           ONVAL      1
#           OSVAL      NOT_STABLE
#           OVAL       1
#           SVAL       STABLE
#           VAL        0
#       4.SECTION:
#         VALUES:
#           NVAL       4
#           ONVAL      3
#           OSVAL      3
#           OVAL       3
#           SVAL       4
#           VAL        4
#       4.SECTION_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       5.ACTIVITY_STATE:
#         VALUES:
#           NVAL       3
#           SVAL       STABLE
#           VAL        3
#       5.LEVEL:
#         VALUES:
#           NVAL       0
#           OVAL       0.000000
#           SVAL       closed
#           VAL        0.0
#       5.LEVEL_2:
#         VALUES:
#           NVAL       0
#           OVAL       0.000000
#           SVAL       0
#           VAL        0.0
#       5.LEVEL_2_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       5.LEVEL_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       5.PROCESS:
#         VALUES:
#           NVAL       0
#           SVAL       STABLE
#           VAL        0
#       5.SECTION:
#         VALUES:
#           NVAL       0
#           SVAL       0
#           VAL        0
#       5.SECTION_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       6.ACTIVITY_STATE:
#         VALUES:
#           NVAL       3
#           SVAL       STABLE
#           VAL        3
#       6.LEVEL:
#         VALUES:
#           NVAL       0
#           OVAL       0.000000
#           SVAL       closed
#           VAL        0.0
#       6.LEVEL_2:
#         VALUES:
#           NVAL       0
#           OVAL       0.000000
#           SVAL       0
#           VAL        0.0
#       6.LEVEL_2_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       6.LEVEL_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       6.PROCESS:
#         VALUES:
#           NVAL       0
#           SVAL       STABLE
#           VAL        0
#       6.SECTION:
#         VALUES:
#           NVAL       0
#           SVAL       0
#           VAL        0
#       6.SECTION_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       7.WEEK_PROGRAM_CHANNEL_LOCKS:
#         VALUES:
#           NVAL       0
#           SVAL       0
#           VAL        0
#     roleChannels:
#       BLIND_TRANSMITTER 3,3,3,3,3
#       BLIND_VIRTUAL_RECEIVER 4,5,6,4,5,6,4,5,6,4,5,6,4,5,6
#       BLIND_WEEK_PROFILE 7,7,7,7,7
#       KEY_TRANSCEIVER 1,2,1,2,1,2,1,2,1,2
#       MAINTENANCE 0,0,0,0,0
#     roleCmds:
#       get:
#       set:
#         allLevels:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   2
#           syntax     V:LEVEL_2:?slatLevel V:LEVEL:?blindLevel
#           usage      allLevels slatLevel blindLevel
#           subcmd:
#             000:
#               args       
#               dpt        LEVEL_2
#               fnc       
#               max        1.01
#               min        0.0
#               parname    slatLevel
#               partype    2
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#             001:
#               args       
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    blindLevel
#               partype    2
#               ps         VALUES
#               scn        001
#               type       FLOAT
#               unit       100%
#         close:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:0
#           usage      close
#           subcmd:
#             000:
#               args       0
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#         closeSlats:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   2
#           syntax     V:LEVEL_2:0 V:LEVEL:1.005
#           usage      closeSlats
#           subcmd:
#             000:
#               args       0
#               dpt        LEVEL_2
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL_2
#               partype    3
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#             001:
#               args       1.005
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        001
#               type       FLOAT
#               unit       100%
#         down:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:?delta=-20
#           usage      down [delta]
#           subcmd:
#             000:
#               args       -20
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    delta
#               partype    2
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#         oldLevel:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:1.005
#           usage      oldLevel
#           subcmd:
#             000:
#               args       1.005
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#         open:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:100
#           usage      open
#           subcmd:
#             000:
#               args       100
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#         openSlats:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   2
#           syntax     V:LEVEL_2:100 V:LEVEL:1.005
#           usage      openSlats
#           subcmd:
#             000:
#               args       100
#               dpt        LEVEL_2
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL_2
#               partype    3
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#             001:
#               args       1.005
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        001
#               type       FLOAT
#               unit       100%
#         pct:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:?level
#           usage      pct level
#           subcmd:
#             000:
#               args       
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    level
#               partype    2
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#         pctSlats:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   2
#           syntax     V:LEVEL_2:?level V:LEVEL:1.005
#           usage      pctSlats level
#           subcmd:
#             000:
#               args       
#               dpt        LEVEL_2
#               fnc       
#               max        1.01
#               min        0.0
#               parname    level
#               partype    2
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#             001:
#               args       1.005
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        001
#               type       FLOAT
#               unit       100%
#         stop:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:STOP:1
#           usage      stop
#           subcmd:
#             000:
#               args       1
#               dpt        STOP
#               fnc       
#               max        1
#               min        0
#               parname    STOP
#               partype    3
#               ps         VALUES
#               scn        000
#               type       ACTION
#               unit       
#         toggle:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:0,100
#           usage      toggle
#           subcmd:
#             000:
#               args       0,100
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    LEVEL
#               partype    3
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#         up:
#           channel    4
#           ps         VALUES
#           role       BLIND_VIRTUAL_RECEIVER
#           rpc        0
#           subcount   1
#           syntax     V:LEVEL:?delta=+20
#           usage      up [delta]
#           subcmd:
#             000:
#               args       +20
#               dpt        LEVEL
#               fnc       
#               max        1.01
#               min        0.0
#               parname    delta
#               partype    2
#               ps         VALUES
#               scn        000
#               type       FLOAT
#               unit       100%
#     state:
#       chn        3
#       dpt        LEVEL
#
setstate OG_RA01_BueroReinhard_3 1
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 0.ACTUAL_TEMPERATURE 28.0
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 0.ACTUAL_TEMPERATURE_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 0.CONFIG_PENDING false
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 0.DUTY_CYCLE false
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 0.ERROR_CODE 0
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 0.ERROR_OVERHEAT false
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 0.ERROR_OVERLOAD false
setstate OG_RA01_BueroReinhard_3 2024-12-20 10:36:11 0.INSTALL_TEST true
setstate OG_RA01_BueroReinhard_3 2024-12-20 10:36:11 0.OPERATING_VOLTAGE 0.0
setstate OG_RA01_BueroReinhard_3 2024-12-20 10:36:11 0.OPERATING_VOLTAGE_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 0.RSSI_DEVICE -66
setstate OG_RA01_BueroReinhard_3 2024-12-23 12:41:25 0.RSSI_PEER -72
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 0.UNREACH alive
setstate OG_RA01_BueroReinhard_3 2024-12-20 10:36:11 0.UPDATE_PENDING false
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 3.ACTIVITY_STATE STABLE
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 3.LEVEL 1
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 3.LEVEL_2 25
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 3.LEVEL_2_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 3.LEVEL_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 3.PROCESS STABLE
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 3.SECTION
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 3.SECTION_STATUS UNKNOWN
setstate OG_RA01_BueroReinhard_3 2024-12-20 10:36:11 3.SELF_CALIBRATION_RESULT true
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 4.ACTIVITY_STATE STABLE
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 4.LEVEL 1
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 4.LEVEL_2 25
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 4.LEVEL_2_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 4.LEVEL_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 4.PROCESS STABLE
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 4.SECTION 4
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 4.SECTION_STATUS NORMAL
setstate OG_RA01_BueroReinhard_3 2024-12-18 16:25:49 ASC_Enable on
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:45:44 ASC_Iw_Brightness Helligkeitswert: 467.5
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:45:44 ASC_Iw_Safe_States Schutzposition für Behang: kein Strum, kein Regen, Fenster geschlossen
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:45:44 ASC_Iw_Shading_Position Sollwert Behang für Beschattung: 0%, Lamellen: 25%
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:45:44 ASC_Iw_Shading_Temp Temperaturen: Raumtemperatur 19.4°C > Sollwert innen 19.0°C Freigabe Beschattung - Aussentemperatur 19°C > Sollwert außen 18°C Freigabe Beschattung
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:45:44 ASC_Iw_SunPos Sonnenhöhe (Altitude): 10.5°, Sonnenwinkel (Azimut):214.6°
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:45:44 ASC_ShadingMessage INFO: current shading status is 'out' - next check in 10m
setstate OG_RA01_BueroReinhard_3 2024-12-23 11:33:29 ASC_ShuttersLastDrive shading in
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:34:06 ASC_Time_DriveDown 23.12.2024 - 15:59
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:34:06 ASC_Time_DriveUp 24.12.2024 - 08:00
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 activity alive
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 control 1
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 devstate ok
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 hmstate 1
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 level 1
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 measured-temp 28.0
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 pct 1
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 pctSlats 25
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 rssidevice -66
setstate OG_RA01_BueroReinhard_3 2024-12-23 12:41:25 rssipeer -72
setstate OG_RA01_BueroReinhard_3 2024-12-23 14:24:56 state 1
setstate OG_RA01_BueroReinhard_3 2024-12-20 10:36:11 voltage 0.0

Ich hoffe ihr könnt mir hier noch einige Tipps geben, wo da bei mir der Fehler liegt oder wo ich noch etwas sehen könnte.

Gruß Reinhard


Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

loetmeister

Hallo Reinhard,

schön das du weiter gekommen bist.
In dem log von 14:00 ist Elevation: 14.1. Mit deiner Konfig "ASC_Shading_MinMax_Elevation 10:70" ist doch dann nur die Startbedingung erfüllt. Der Wert zur Endschattung wäre Elevation größer 70?
So verstehe ich zumindest den Hilfetext "ab welcher min Höhe des Sonnenstandes soll beschattet und ab welcher max Höhe wieder beendet werden"

ShadingProcessing: OG_RA01_BueroReinhard_3 - Übergebende Werte - Azimuth:204.8, Elevation: 14.1, Brightness: 924, OutTemp: 19, Azimut Beschattung: 90, Azimut Endschattung: 260, Ist es nach der Zeitblockadezeit: JA, Das Rollo ist in der Beschattung und wurde manuell gefahren: NEIN, Ist es nach der Hälfte der Beschattungswartezeit: NEIN


Stand 'DELETED at_EG_Flur_Kaeltewarnung' mal in der NOTIFYDEV Liste im ASC device? Sonst würde da eigentlich nicht drauf reagiert werden...

Gruß,
Thomas

Gruß,
Thomas


Rewe2000

#7
Hallo Thomas,

dies dürfte eigentlich nicht der Fall sein, denn die Sonne läuft ja bei uns, beginnend von derzeit unter 0° auf 27,70° gegen Mittag (in einen Bogen), um dann wieder auf unter 0° zu wandern.
Je weiter es Richtung Sommer geht, desto Höher steht bei uns Die Sonne am Himmel. Dies würde ja bedeuten ich muss das Attribut "ASC_Shading_MinMax_Elevation" immer nachstellen.

Ich vermute eher, es gibt nur ein Band vor, in welchen Beschattet werden soll.

Beispiel:
Ich habe z.B. einen sehr großen Dachvorsprung im OG, deshalb scheint die Sonne nur von 15°-50° Attitude in das Fenster. Ich stelle mir vor, wenn ich das Attribut "ASC_Shading_MinMax_Elevation" im Rollo-Device auf 15:50 stelle, sollte die Beschattung bei diesem Rollo auch bei einem Sonnenstand von über 50° beendet werden und der Raffstore wieder Entschatten. Innerhalb von 15° bis 50° muss aber der Raffstore im Sommer auch wieder Entschatten, wenn die Sonne nicht mehr scheint, sonst wären ja die Raffstores oder Rollos auch bei stark bewölktem Himmel immer unten.

Das Wiki ist da deutlicher, hier steht:
ZitatBedingungen

Damit die Beschattung startet müssen alle Bedingungen erfüllt sein. Entschattet wird, sobald eine der Bedingungen wegfällt und die Zeit entsprechend ASC_Shading_WaitingPeriod abgelaufen ist.

Der Sonnensensor <ASC_BrightnessSensor> muss mindestens zwei Messwerte geliefert haben, bevor das ASC-Modul in die Beschattungsposition fährt! Beim (zeitlich) ersten Messwert wird der Zustand in-reserved gesetzt. Erst beim zweiten Messwert wechselt der Zustand nach in shading. Die Anzahl der berücksichtigten Messwerte ist abhängig vom "moving average window", der mit dem dritten Parameter des Attributs ASC_Shading_StateChange_SunnyCloudy konfiguriert wird.

Von Standardwerten ausgehend ist nachfolgender Ablauf angestrebt:

    Ein Event vom Astro oder Helligkeits Device kommt -> sind alle Werte innerhalb des Arbeitsbereiches, ändert sich der ASC Info-Zustand im Rollo von xx auf ,,in reserved" (Beschattung vorbereitet)
    Ein erneutes Event vom Astro oder Helligkeits Device kommt -> Überprüfung der Werte -> sind diese weiterhin gegeben folgt der Wechsel von ,,in reserved" auf ,,in" (Beschattung aktiv)
    Bei Verwendung von ASC_Shading_StateChange_SunnyCloudy ist zu beachten, dass ein Durchschnitt über die letzten drei Brightness Events gerechnet wird. Möchte man das vermeiden muss man SUNNY:CLOUDY 1[2] setzen.
    Die Zeiten ASC_Shading_WaitingPeriod und ASC_BlockingTime_afterManual können hier zusätzlich für eine Verzögerung sorgen.

Wichtig zu beachten: Es müssen immer mehrere (mind. 2) Events für den Betrieb erfolgen. In den Standardeinstellungen vom Astro Modul erfolgt dieses z.B. nur 1 x pro Stunde. Kommt also ein Helligkeits-Event auch nur 1x pro Stunde, könnte es 2 Std dauern, bis die Beschattungsfunktion greift.

Wenn das Rollo einmal aus der Beschattung manuell (im Rollo Device muss bei ASC_ShuttersLastDrive manuel stehen gefahren wurde wird das Rollo erst wieder nach einer Entschattung und erneuter Beschattung gefahren. Also es muss einmal shading out kommen und beim nächsten shading in fährt er dann wieder.

Das Problem bei mir war folgendes:
Ich bilde den Wert für das Attribut "ASC_Shading_Pos" über eine Perl Funktion, welche als Ergebnis eine Rückgabe von z.B. 0:25 liefert. Immer wenn eine 0 vor dem Doppelpunkt steht, fährt der Raffstore zum Entschatten nicht mehr nach oben, ist die erste Zahl größer als Null z.B. 1:25 so funktioniert die Entschattung auch problemlos anhand der Helligkeit.
Komisch ist nur, trage ich den Wert 0:25 ohne Perl Funktion in das Attribut ein, so tritt der "Fehler" nicht auf.

Bis ich das gefunden hatte ist aber einige Zeit vergangen, denn auch in der Commandref und im WIKI steht nicht, dass bei der Versorgung mit Perl-Code keine Null als Behang Höhe akzeptiert wird.

Für Anfänger wie mich ist es nicht ganz einfach zu erkennen, weshalb eine Funktion nicht startet, als einzige Info bietet sich das Reading "ASC_ShadingMessage" an, aber diese war in meinem Fall immer auf "INFO: current shading status is 'out' - next check in 1m" gestanden und der Time Stamp wurde nicht mehr aktualisiert.
Ich wollte auch in den Code von "73_AutoShuttersControl.pm" gucken, aber ich finde da überwiegend nur HTML-Code aber nicht den Teil wo die Funktion bearbeitet wird.
Grundsätzlich bin ich aber von den Möglichkeiten und der Flexibilität von ASC begeistert, aber dies brigt natürlich auch eine nicht ganz einfache Bedienung und Parametrierung mit sich.

Aber zumindest läuft es bei mir jetzt aktuell im Testmodus vielversprechend.

Danke für deine Hilfe und noch einen schönen zweiten Weihnachtstag.
Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

loetmeister

Hallo Reinhard,

danke für die Details.
Zu dem Perl Teil kann ich leider nichts sagen... das ASC Modul ist recht komplex... Da kann dir CoolTux sicher besser helfen.
Das Modul ist jedenfalls über verschiedene Dateien verteilt, z.B. https://svn.fhem.de/trac/browser/trunk/fhem/lib/FHEM/Automation

Bzgl. Sonnenstand... ich steuer meine Beschattung primär über den Azimuth Wert. Der Rest ist weitesgehend Standard. Das update intervall des Astro Device habe ich auf 15 Minuten gestellt.
Hier ein Bsp. von einem meiner Rollos Richtung Osten:

ASC_Shading_InOutAzimuth  65:170
ASC_Shading_Min_OutsideTemperature  17
ASC_Shading_Mode  always
ASC_Shading_Pos  35
ASC_Shading_StateChange_SunnyCloudy  32000:26000


D.h. gegen Mittag ist die Sonne weiter gewandert und der Azimuth Wert ist größer 170. (für Fenster richtung Süd/Südost z.B. 130:260)
Im Winter - wenn die Sonne niedriger am Horizont steht sind meist andere Bedingungen zur Beschattung nicht erfüllt. Daher war es bischer nicht nötig ASC_Shading_MinMax_Elevation zu ändern. (default: 25.0:100.0)

Gruß,
Thomas