Geschätztes FHEM-Forum
Nachdem nach ein paar wenigen Jahren die Shellies einer nachem anderen ausgestigen sind, wechselten wir nun auf Somfy Jallousien Aktoren. Diese sind mit einer Tahoma Switch und deren lokalen API über eine selbstgestrickte tahoma2MQTT-Bridge angebunden. Dies funktioniert sehr gut und zuverlässig. Nur mit dem Beschatten haben wir etwas Mühe. Nachdem die Beschattung gestartet wird, scheint das Modul offenbar nach ca. 2 Sekunden den Befehl für die Stellung der Lamellen zu senden. Dieser Befehl stoppt die Fahrt somit wird die Beschattung gestoppt.
Eigentlich könnte mittels
set ROLLO pctAndSlatsPosition 98 25
direkt beides gesendet werden.
Gibt es eine Möglichkeit, dass die Befehle zu einem zusammengefasst werden? Oder kann die Lamellenstellung verzögert werden, biss die Ziel-Position erreicht ist?
Hier das Define der Jalousie in der Küche:
define EG.ku.JL.o MQTT2_DEVICE
attr EG.ku.JL.o 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 jl_struct jl_struct_map structexclude
attr EG.ku.JL.o ASC 1
attr EG.ku.JL.o ASC_BrightnessSensor Home:luminance
attr EG.ku.JL.o ASC_Closed_Pos 100
attr EG.ku.JL.o ASC_ComfortOpen_Pos 97:25
attr EG.ku.JL.o ASC_Drive_Delay 5
attr EG.ku.JL.o ASC_Drive_DelayStart 10
attr EG.ku.JL.o ASC_Open_Pos 0
attr EG.ku.JL.o ASC_Pos_Reading position
attr EG.ku.JL.o ASC_Shading_InOutAzimuth 65:165
attr EG.ku.JL.o ASC_Shading_MinMax_Elevation 19.0:100.0
attr EG.ku.JL.o ASC_Shading_Min_OutsideTemperature 16
attr EG.ku.JL.o ASC_Shading_Mode always
attr EG.ku.JL.o ASC_Shading_Pos 98:25
attr EG.ku.JL.o ASC_Shading_StateChange_SunnyCloudy 30000:20000
attr EG.ku.JL.o ASC_SlatPosCmd_SlatDevice slatsPosition
attr EG.ku.JL.o cmdIcon up:fts_shutter_up down:fts_shutter_down stop:fts_shutter_manual my:scene_making_love_clean shade:fts_blade_z_sun
attr EG.ku.JL.o devStateIcon { haboTK_getSomfyBlindDevStateIcon($name);; }
attr EG.ku.JL.o devicetopic somfyTopic=somfy2mqtt deviceClass=io_ExteriorVenetianBlindIOComponent serialNo=9221482
attr EG.ku.JL.o event-on-change-reading .*
attr EG.ku.JL.o group Beschattung
attr EG.ku.JL.o readingList $somfyTopic/$deviceClass/devices/$serialNo/state/is_moving:.* isMoving\
$somfyTopic/$deviceClass/devices/$serialNo/deviceinfo/label:.* label\
$somfyTopic/$deviceClass/devices/$serialNo/state/memorized_position_state:.* myPct\
$somfyTopic/$deviceClass/devices/$serialNo/state/memorized_tilt_state:.* mySlatsPosition\
$somfyTopic/$deviceClass/devices/$serialNo/state/open_closed_state:.* openClosedState\
$somfyTopic/$deviceClass/devices/$serialNo/state/current_position:.* pct\
$somfyTopic/$deviceClass/devices/$serialNo/state/current_position:.* position\
$somfyTopic/$deviceClass/devices/$serialNo/state/current_tilt_position:.* slatsPosition\
$somfyTopic/$deviceClass/devices/$serialNo/state/target_position:.* targetPosition
attr EG.ku.JL.o room Beschattung,EG->Küche,MQTT2_DEVICE
attr EG.ku.JL.o setList close:noArg $somfyTopic/commands {"device": "$serialNo", "command": "close"}\
down:noArg $somfyTopic/commands {"device": "$serialNo", "command": "down"}\
my:noArg $somfyTopic/commands {"device": "$serialNo", "command": "my"}\
myPct:slider,0,1,100 $somfyTopic/commands {"device": "$serialNo", "command": "setMemorized1Position", "params": [$EVTPART1]}\
mySlatsPosition:slider,0,1,100 $somfyTopic/commands {"device": "$serialNo", "command": "setMemorized1Orientation", "params": [$EVTPART1]}\
open:noArg $somfyTopic/commands {"device": "$serialNo", "command": "open"}\
pct:slider,0,1,100 $somfyTopic/commands {"device": "$serialNo", "command": "setPosition", "params": [$EVTPART1]}\
pctAndSlatsPosition $somfyTopic/commands {"device": "$serialNo", "command": "setClosureAndOrientation", "params": [$EVTPART1, $EVTPART2]}\
position:slider,0,1,100 $somfyTopic/commands {"device": "$serialNo", "command": "setPosition", "params": [$EVTPART1]}\
shade:noArg { haboTK_setShutterToShadingPosition($NAME) }\
slatsPosition:slider,0,1,100 $somfyTopic/commands {"device": "$serialNo", "command": "setOrientation", "params": [$EVTPART1]}\
stop:noArg $somfyTopic/commands {"device": "$serialNo", "command": "stop"}\
up:noArg $somfyTopic/commands {"device": "$serialNo", "command": "up"}
attr EG.ku.JL.o userReadings state {haboTK_getSomfyBlindState($name)},
attr EG.ku.JL.o webCmd :up:down:stop:my:shade:pct
# DEF
# FUUID 68ce5fd0-f33f-c28a-972e-dc3702097dc7e9f0
# IODev NN.xx.XX.MqttBroker
# LASTInputDev NN.xx.XX.MqttBroker
# MSGCNT 204
# NAME EG.ku.JL.o
# NN.xx.XX.MqttBroker_MSGCNT 204
# NN.xx.XX.MqttBroker_TIME 2025-09-22 11:06:32
# NR 1165
# STATE closed
# TYPE MQTT2_DEVICE
# eventCount 220
# READINGS:
# 2025-09-20 11:34:58 ASC_Enable on
# 2025-09-22 12:49:54 ASC_ShadingMessage INFO: current shading status is 'out' - next check in 10m
# 2025-09-22 11:06:32 ASC_ShuttersLastDrive manual
# 2025-09-22 07:16:43 ASC_Time_DriveDown AutoShuttersControl off
# 2025-09-22 07:16:43 ASC_Time_DriveUp AutoShuttersControl off
# 2025-09-22 11:03:24 IODev NN.xx.XX.MqttBroker
# 2025-09-20 15:16:48 associatedWith NN.xx.XX.ASC
# 2025-09-20 13:47:11 attrTemplateVersion 2025.09.20.10
# 2025-09-20 13:47:11 deviceClass io_ExteriorVenetianBlindIOComponent
# 2025-09-22 11:06:32 isMoving false
# 2025-09-21 14:22:49 label EG.ku.JL.o
# 2025-09-21 14:22:49 myPct 95
# 2025-09-21 14:22:49 mySlatsPosition 25
# 2025-09-22 11:06:32 openClosedState closed
# 2025-09-22 11:06:32 pct 100
# 2025-09-22 11:06:32 position 100
# 2025-09-22 11:04:15 serialNo 9221482
# 2025-09-22 11:06:20 slatsPosition 100
# 2025-09-22 12:49:54 state closed
# 2025-09-22 11:06:26 targetPosition 100
#
setstate EG.ku.JL.o closed
setstate EG.ku.JL.o 2025-09-20 11:34:58 ASC_Enable on
setstate EG.ku.JL.o 2025-09-22 12:49:54 ASC_ShadingMessage INFO: current shading status is 'out' - next check in 10m
setstate EG.ku.JL.o 2025-09-22 11:06:32 ASC_ShuttersLastDrive manual
setstate EG.ku.JL.o 2025-09-22 07:16:43 ASC_Time_DriveDown AutoShuttersControl off
setstate EG.ku.JL.o 2025-09-22 07:16:43 ASC_Time_DriveUp AutoShuttersControl off
setstate EG.ku.JL.o 2025-09-22 11:03:24 IODev NN.xx.XX.MqttBroker
setstate EG.ku.JL.o 2025-09-20 15:16:48 associatedWith NN.xx.XX.ASC
setstate EG.ku.JL.o 2025-09-20 13:47:11 attrTemplateVersion 2025.09.20.10
setstate EG.ku.JL.o 2025-09-20 13:47:11 deviceClass io_ExteriorVenetianBlindIOComponent
setstate EG.ku.JL.o 2025-09-22 11:06:32 isMoving false
setstate EG.ku.JL.o 2025-09-21 14:22:49 label EG.ku.JL.o
setstate EG.ku.JL.o 2025-09-21 14:22:49 myPct 95
setstate EG.ku.JL.o 2025-09-21 14:22:49 mySlatsPosition 25
setstate EG.ku.JL.o 2025-09-22 11:06:32 openClosedState closed
setstate EG.ku.JL.o 2025-09-22 11:06:32 pct 100
setstate EG.ku.JL.o 2025-09-22 11:06:32 position 100
setstate EG.ku.JL.o 2025-09-22 11:04:15 serialNo 9221482
setstate EG.ku.JL.o 2025-09-22 11:06:20 slatsPosition 100
setstate EG.ku.JL.o 2025-09-22 12:49:54 state closed
setstate EG.ku.JL.o 2025-09-22 11:06:26 targetPosition 100
Ich bin dankbar für eure Hilfe.
Beste Grüsse
Boris