Hi, I was not able to calibrate my roller shutter with Shelly plus 2PM in my house.
Most popular branch of roller shutter in France equipping newly built house like Bubendorff has a relay between the input and the motors. Basically, the motors are always powered on, the and the switch only action on the relay. There is thus no power consumption on the switch wires and thus, calibration doesn’t work, giving basics fully open/close functionality on Shelly 2PM.
As from the documentation mention that the position is mostly time-based when reading the API documentation:
When calibration data is available, the Cover
component will keep track of the duration of each movement and use the calibration data to determine the current position relative to the end positions. Similarly, the Cover
component will use the calibration data to translate GoToPosition
requests to movement durations in the corresponding direction.
(I guess accounting with the motor ramp up time). I think though that we can make it work with some kind of manual calibration, setting manually the open and close times. Then, the shelly can approximate the current position based on travelled time. Of course, it can reset everytime the up position was set to more than maxtime_open or maxtime_close.
Another way to introduce this feature would be, through Shelly scripts, override the GetStatus returned values so that we can do implement this feature, and then override "pos_control" and "current_pos" in http://192.168.33.1/rpc/Cover.GetStatus?id=0. However, if I’m right, there is no way to override/set those values ?