So this is exactly what I would have recommended. The only difference is that I would set your proxy item to autoupdate=false so you don’t have to mess around with its state and the skill would also use the command received as the current state. I updated below, your item definition (added missing stateMappings parameter) and rule.
Group OfficeTest "Office test blind" {alexa="Endpoint.ExteriorBlind"}
String OfficeBlindsCommand "Office blinds command" (OfficeTest) {alexa="ModeController.mode" [friendlyNames="@Setting.Direction", supportedModes="STOP=STOP,UP=UP, DOWN=DOWN"], autoupdate="false"}
Rollershutter OfficeBlinds "Office blinds" (OfficeTest) {alexa="RangeController.rangeValue" [friendlyNames="@Setting.Opening", supportedRange="0:100:10", unitOfMeasure="Percent", actionMappings="Close=100,Open=0,Lower=(+10),Raise=(-10)", stateMappings="Closed=100,Open=1:100"], channel="openwebnet:bus_automation:Screen10:55:shutter"}
rule "Office Blinds Command"
when
Item OfficeBlindsCommand received command STOP or
Item OfficeBlindsCommand received command UP or
Item OfficeBlindsCommand received command DOWN
then
OfficeBlinds.sendCommand(receivedCommand)
end
On a side note, after putting some more thoughts into potentially allowing Rollershutter items to be ModeController, I realized that this will be a problem for the state reporting and would basically require to add each number value from 0 to 100 as supported modes. So this will unfortunately not happen and the solution above should be the recommended solution for the time being.