Hallo,
ich habe bei Rolläden, die mit Homematic-Device angesteuert werden von einem eigenen DOIF auf ASC umgestellt. Hat problemlos funktioniert. Jetzt wollte ich 2 weitere Rolläden, die mit dem Shelly Dual ProCover angesteuert werden, auch auf ASC umstellen. Einer der beiden Shellys wird mit MQTT, der andere mit dem Modul 36_Shelly angesteuert. Sowohl aus dem WEB-UI als auch über ein DOIF können die Rolläden angesteuert werden, leider aber nicht über das ASC-Modul.
Eine "Besonderheit" bei den Shellys Dual Cover ist, dass die Syntax zwar den ShellyPlus2PM entspricht, aber die Kanalnummer als letzter Paramater im set-Befehl übergeben werden muss.
Beispiel: set <name> pct 72 0 oder set <name> close 0
Aus dem DOIF: (set Rollo_Andreas_Shelly open 0)
Liegt es eventuell daran?
Anbei die RAW-Definition des Shellies, der mit dem Modul 36_Shelly angesteuert wird:
defmod Rollo_Andreas_Shelly Shelly 192.168.178.120
attr Rollo_Andreas_Shelly 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:0,10,20,30,40,50,60,70,80,90,100 ASC_ComfortOpen_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_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:0,10,20,30,40,50,60,70,80,90,100 ASC_Partymode:on,off ASC_Pos_Reading ASC_PrivacyDownValue_beforeNightClose ASC_PrivacyDown_Pos ASC_PrivacyUpValue_beforeDayOpen ASC_PrivacyUp_Pos ASC_RainProtection:on,off ASC_Roommate_Device ASC_Roommate_Reading ASC_Self_Defense_AbsentDelay ASC_Self_Defense_Mode:absent,gone,off ASC_Shading_BetweenTheTime ASC_Shading_InOutAzimuth ASC_Shading_MinMax_Elevation ASC_Shading_Min_OutsideTemperature ASC_Shading_Mode:absent,always,off,home ASC_Shading_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Shading_StateChange_SunnyCloudy ASC_Shading_WaitingPeriod ASC_Shutter_IdleDetection ASC_ShuttersPlace:window,terrace,awning,EG_window ASC_SlatPosCmd_SlatDevice ASC_Sleep_Pos:0,10,20,30,40,50,60,70,80,90,100 ASC_TempSensor ASC_Time_Down_Early ASC_Time_Down_Late ASC_Time_Up_Early ASC_Time_Up_Late ASC_Time_Up_WE_Holiday ASC_Up:time,astro,brightness,roommate ASC_Ventilate_Pos:10,20,30,40,50,60,70,80,90,100 ASC_Ventilate_Window_Open:on,off ASC_WiggleValue ASC_WindParameters ASC_WindProtection:on,off ASC_WindowRec ASC_WindowRec_PosAfterDayClosed:open,lastManual ASC_WindowRec_subType:twostate,threestate
attr Rollo_Andreas_Shelly ASC 2
attr Rollo_Andreas_Shelly ASC_Antifreeze soft
attr Rollo_Andreas_Shelly ASC_Antifreeze_Pos 15
attr Rollo_Andreas_Shelly ASC_DriveUpMaxDuration 25
attr Rollo_Andreas_Shelly ASC_Pos_Reading pct_0
attr Rollo_Andreas_Shelly ASC_Shading_Mode off
attr Rollo_Andreas_Shelly ASC_Shading_Pos 30
attr Rollo_Andreas_Shelly ASC_TempSensor Ga_UmweltSen:temperature
attr Rollo_Andreas_Shelly ASC_Time_Up_Early 07:00
attr Rollo_Andreas_Shelly ASC_Time_Up_WE_Holiday 08:30
attr Rollo_Andreas_Shelly comment cover0 == Rolladen Andreas auf Input S1 (Auf) und S2 (Zu)\
cover1 == Jalousie Andreas auf Input S3 (Auf) und S4 (Zu)\
\
Ansteuerung über set name pct 20 0 (zuerst Level, dann Kanal)
attr Rollo_Andreas_Shelly event-on-change-reading .*
attr Rollo_Andreas_Shelly icon shutter_4
attr Rollo_Andreas_Shelly interval 60
attr Rollo_Andreas_Shelly model shellyprodual
attr Rollo_Andreas_Shelly room 2.3_OG_Andreas,8.0_Device,8.1.1_Shelly
attr Rollo_Andreas_Shelly showunits original
attr Rollo_Andreas_Shelly timeout 4
setstate Rollo_Andreas_Shelly stopped
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:27 .ASC_AttrUpdateChanges_v1.0.0 1
setstate Rollo_Andreas_Shelly 2025-10-15 10:09:57 /_nextUpdateTimer 60 sec Shelly_status2G
setstate Rollo_Andreas_Shelly 2025-10-15 07:00:23 /_set.command open 1
setstate Rollo_Andreas_Shelly 2025-10-15 10:04:56 /rpc/BLE.CloudRelay.List 559.815 msec | 24.607 msec
setstate Rollo_Andreas_Shelly 2025-10-15 10:04:56 /rpc/Script.List 1255.159 msec | 46.125 msec
setstate Rollo_Andreas_Shelly 2025-10-15 10:04:56 /rpc/Shelly.GetConfig 2439.653 msec | 58.594 msec
setstate Rollo_Andreas_Shelly 2025-10-15 10:04:56 /rpc/Shelly.GetDeviceInfo 1045.137 msec | 30.402 msec
setstate Rollo_Andreas_Shelly 2025-10-15 10:09:57 /rpc/Shelly.GetStatus 4008.306 msec | 104.112 msec
setstate Rollo_Andreas_Shelly 2025-05-28 20:40:14 /rpc/Shelly.Update 174.468 msec | 174.468 msec
setstate Rollo_Andreas_Shelly 2025-10-15 10:04:56 /rpc/Webhook.List 1032.151 msec | 34.287 msec
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 /shelly 4579.846 msec | 4579.846 msec
setstate Rollo_Andreas_Shelly 2025-10-13 18:26:06 ASC_Enable on
setstate Rollo_Andreas_Shelly 2025-10-13 18:28:24 ASC_ShadingMessage <html> WARN: global shading active but ASC_Shading_Mode attribut is not set or off </html>
setstate Rollo_Andreas_Shelly 2025-10-15 07:18:36 ASC_Time_DriveDown 15.10.2025 - 18:45
setstate Rollo_Andreas_Shelly 2025-10-15 07:18:36 ASC_Time_DriveUp 16.10.2025 - 07:20
setstate Rollo_Andreas_Shelly 2025-02-14 11:04:48 ap disabled open
setstate Rollo_Andreas_Shelly 2025-02-14 11:04:48 ap_clients disabled
setstate Rollo_Andreas_Shelly 2025-02-14 11:04:48 ap_name ShellyPro2Cover-3CE90E705E58
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:23 associatedWith Shutters
setstate Rollo_Andreas_Shelly 2025-02-14 11:04:48 ble enabled
setstate Rollo_Andreas_Shelly 2025-02-14 11:04:48 ble_rpc enabled
setstate Rollo_Andreas_Shelly 2025-02-14 11:04:48 cloud disabled
setstate Rollo_Andreas_Shelly 2025-10-13 07:56:59 current_0 0 A
setstate Rollo_Andreas_Shelly 2025-10-15 07:01:33 current_1 0 A
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 energy_0 134.17 Wh
setstate Rollo_Andreas_Shelly 2025-10-15 07:01:33 energy_1 516.39 Wh
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 energy_lastMinute_0 0.00 mWh
setstate Rollo_Andreas_Shelly 2025-10-15 07:03:34 energy_lastMinute_1 0.00 mWh
setstate Rollo_Andreas_Shelly 2025-10-13 18:52:20 firmware_ID 20250924-062756/1.7.1-gd336f31
setstate Rollo_Andreas_Shelly 2025-10-13 18:52:20 firmware_current v1.7.1
setstate Rollo_Andreas_Shelly 2025-10-13 18:48:19 firmware_updIcon OK
setstate Rollo_Andreas_Shelly 2025-10-13 18:48:19 firmware_updText -/-
setstate Rollo_Andreas_Shelly 2025-10-15 09:46:54 frequency_0 50 Hz
setstate Rollo_Andreas_Shelly 2025-10-15 09:40:53 frequency_1 50 Hz
setstate Rollo_Andreas_Shelly 2025-10-13 18:53:20 input_0 off
setstate Rollo_Andreas_Shelly 2025-02-14 11:04:48 input_0_function upwards
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 input_0_mode switch straight enabled
setstate Rollo_Andreas_Shelly 2025-10-10 10:13:46 input_1 off
setstate Rollo_Andreas_Shelly 2025-02-14 11:04:48 input_1_function downwards
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 input_1_mode switch straight enabled
setstate Rollo_Andreas_Shelly 2025-10-11 10:24:44 input_2 off
setstate Rollo_Andreas_Shelly 2025-02-14 11:04:48 input_2_function upwards
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 input_2_mode switch straight enabled
setstate Rollo_Andreas_Shelly 2025-10-14 21:01:38 input_3 off
setstate Rollo_Andreas_Shelly 2025-02-14 11:04:48 input_3_function downwards
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 input_3_mode switch straight enabled
setstate Rollo_Andreas_Shelly 2025-10-15 10:09:57 inttemp 33.1 °C
setstate Rollo_Andreas_Shelly 2025-10-13 07:56:40 last_dir_0 up
setstate Rollo_Andreas_Shelly 2025-10-15 07:00:24 last_dir_1 up
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 login open
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 mac 3C:E9:0E:70:5E:58
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 model_ID SPSH-002PE16EU
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 model_family Pro/Gen2
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 model_function shutter
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 model_name Shelly Pro Dual Cover/Shutter PM
setstate Rollo_Andreas_Shelly 2025-02-14 11:04:48 name Shutter-Andreas
setstate Rollo_Andreas_Shelly 2025-09-20 17:59:57 network <html>connected to <a href="http://192.168.178.120">192.168.178.120</a> (Wifi)</html>
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:18 network_DNS shellypro2cover-Andreas
setstate Rollo_Andreas_Shelly 2025-09-20 17:59:57 network_connection online (Wifi)
setstate Rollo_Andreas_Shelly 2025-09-20 17:58:57 network_disconnects 31
setstate Rollo_Andreas_Shelly 2025-02-14 11:04:48 network_ip-address_LAN -
setstate Rollo_Andreas_Shelly 2025-04-22 22:42:43 network_ip-address_Wifi 192.168.178.120
setstate Rollo_Andreas_Shelly 2025-10-15 10:09:57 network_rssi -68 dBm (fair)
setstate Rollo_Andreas_Shelly 2025-04-22 22:42:43 network_ssid WLAN75
setstate Rollo_Andreas_Shelly 2025-03-01 14:53:11 network_wifi_roaming -80 dBm
setstate Rollo_Andreas_Shelly 2025-02-18 13:12:12 output_1_mode O1=up, O2=down
setstate Rollo_Andreas_Shelly 2025-02-18 13:18:16 output_3_mode O1=up, O2=down
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 pct_0 100
setstate Rollo_Andreas_Shelly 2025-10-15 07:01:33 pct_1 100
setstate Rollo_Andreas_Shelly 2025-10-13 07:56:59 pfactor_0 0
setstate Rollo_Andreas_Shelly 2025-10-15 07:01:33 pfactor_1 0
setstate Rollo_Andreas_Shelly 2025-10-13 07:56:59 position_0 open
setstate Rollo_Andreas_Shelly 2025-10-15 07:01:33 position_1 open
setstate Rollo_Andreas_Shelly 2025-10-14 13:42:24 power_0 0 W
setstate Rollo_Andreas_Shelly 2025-10-15 07:01:33 power_1 0 W
setstate Rollo_Andreas_Shelly 2025-09-27 12:09:07 protection_ none
setstate Rollo_Andreas_Shelly 2025-09-27 12:09:07 protection_0 none
setstate Rollo_Andreas_Shelly 2025-09-26 12:02:05 protection_1 none
setstate Rollo_Andreas_Shelly 2025-02-14 11:05:24 scripts 0
setstate Rollo_Andreas_Shelly 2025-10-13 07:56:40 start_reason_0 switch
setstate Rollo_Andreas_Shelly 2025-10-15 07:00:24 start_reason_1 http
setstate Rollo_Andreas_Shelly 2025-10-15 07:00:23 state stopped
setstate Rollo_Andreas_Shelly 2025-10-13 07:56:59 state_0 pct-100
setstate Rollo_Andreas_Shelly 2025-10-15 07:01:33 state_1 pct-100
setstate Rollo_Andreas_Shelly 2025-10-13 18:53:20 stop_reason_0 switch
setstate Rollo_Andreas_Shelly 2025-10-15 07:01:33 stop_reason_1 limit_switch
setstate Rollo_Andreas_Shelly 2025-10-15 10:09:57 uptime 141895 sec (more than a day), last reboot at 2025-10-13 18:45:02
setstate Rollo_Andreas_Shelly 2025-10-15 10:09:57 voltage_0 242.6 V
setstate Rollo_Andreas_Shelly 2025-10-15 10:09:57 voltage_1 242.5 V
setstate Rollo_Andreas_Shelly 2025-02-18 10:15:55 webhook_cnt 4 / 0 / 4
setstate Rollo_Andreas_Shelly 2025-02-18 10:15:55 webhook_ver 5
Hat jemand diese Shellies mit ASC im Einsatz und konnte daher das Problem lösen oder hat eine Idee, was ich noch versuchen kann?
Grüße Jürgen
ASC kann afaik diese Art Syntax mit der nachgelagerten "0" nicht. Der Umweg über einen readingsProxy dürfte funktionieren.
Hallo Beta-User,
besten Dank für die schnelle Antwort. Ich habe so etwas bisher noch nie angewendet, aber wenn das eine Lösung ist, versuche ich es.
Mein Verständniss zu readingsproxy mit der bitte zu korrigieren, wenn ich es nicht korrekt oder unvollständig erfasst habe:
Pro Device und reading benötige ich ein eigenes readingsproxy oder kann ich in einem readingsproxy mehrere device bzw. mehrere readings eines devices zusammenfassen?
Mit readingsproxy kann ich Befehle an ein Device "verbiegen" d.h. in diesem Fall z.B. aus einem Befehl "open" einen Befehl "open 0" machen?
Folgende Fragen stellen sich mir hier:
1: Wie sendet ASC einen open / close-Befehl bzw. Befehl, um einen bestimmten Level anzufahren? Diesen set-befehl muss ich ja dann "umbiegen".
2: Welches Device / reading gebe ich denn dann in ASC an? In der Doku zu ASC steht:
ZitatASC_Pos_Reading: Name des Readings, welches die Position des Rollladen in Prozent angibt. Wird bei unbekannten Device-Typen auch als set Befehl zum Fahren verwendet.
Gebe ich dann das reading "state" an?
3: da ich nur ein setFn angeben kann, wie gebe ich dann die anderen Fahrbefehle ( close, pct_0) an?
Dann müsste der readingsproxy vermutlich so aussehen:
define rp_Rollo_Andreas_Shelly readingsProxy Rollo_Andreas_Shelly:state
attr rp_Rollo_Andreas_Shelly setFn {($CMD eq "open")?"open 0"}
Ist das korrekt?
Grüße Jürgen
a) readingsProxy ist prinzipiell dafür gedacht, genau ein Reading aus einem einzigen Device als eigenes Device darzustellen. Wenn man mehrere Readings aus einem Device "abholen" wollte, könnte man an das "Master"-Reading, das im define hinterlegt ist, weitere userReadings anhängen, mit allen Vor- und Nachteilen, die das hat...
Hier scheint dein "Reading" "pos_0" zu sein (für den ersten Rollladen, für den 2. wäre es "pos_1").
b) ASC "tickt" ausschließlich in "position" (oder "pct" oder ähnlichem) im Sinne eines numerischen Werts und kann mit Texten wie "open" (usw.) nichts anfangen, sondern braucht sowohl für den aktuellen Stand wie auch zum Setzen der neuen Werte eben einen set-command, der die betreffenden numerischen Werte versteht.
Dementsprechend müßtest du für den Rückweg schauen, wie sich das am einfachsten bauen läßt. Soweit ich das im Kopf habe, hat bisher keiner genau und im Zusammenhang gezeigt, wie er ASC mit einem readingsProxy gelöst hat, vielleicht kannst du deine Lösung dann in "getesteter Hardware" (zu finden über das Wiki/ASC) posten?
Hier mal als Hilfestellung ein einfacher "on/off"-readingsProxy (was aktuelleres habe ich dazu leider nicht anzubieten):
define Pumpe_Zisterne readingsProxy MYSENSOR_95:status_Pumpe
attr Pumpe_Zisterne alias Wasserpumpe
attr Pumpe_Zisterne cmdIcon on:sani_sprinkling off:sani_water_tap
attr Pumpe_Zisterne devStateIcon on:sani_sprinkling off:sani_water_tap
attr Pumpe_Zisterne genericDeviceType switch
attr Pumpe_Zisterne group Schalter
attr Pumpe_Zisterne icon sani_domestic_waterworks
attr Pumpe_Zisterne room Garten
attr Pumpe_Zisterne setFn {($CMD eq "on")?"status_Pumpe on":"status_Pumpe off"}
attr Pumpe_Zisterne setList on off value1100:0,1 value2100:0,1
# DEF MYSENSOR_95:status_Pumpe
# DEVICE MYSENSOR_95
# FUUID 5c432276-f33f-d171-dd8e-f677384e013ba3ab
# NAME Pumpe_Zisterne
# NOTIFYDEV MYSENSOR_95,global
# NR 202
# NTFY_ORDER 50-Pumpe_Zisterne
# READING status_Pumpe
# STATE off
# TYPE readingsProxy
# eventCount 1
# .attraggr:
# .attrminint:
# CONTENT:
# MYSENSOR_95 1
# READINGS:
# 2023-06-24 22:36:39 lastCmd off
# 2025-10-06 07:38:07 state off
#
setstate Pumpe_Zisterne off
setstate Pumpe_Zisterne 2023-06-24 22:36:39 lastCmd off
setstate Pumpe_Zisterne 2025-10-06 07:38:07 state off
Würde (ungetestet) mal in setList einen slider für "pct" definieren und für setFn mit "{$CMD 0}" starten (in der Annahme, dass der Shelly spätestens nach Beendigung der Fahrt den angefahrenen Zielwert meldet).
Danke für die Info. Ich versuche mich mal daran.