Manual override not triggered
What version of Adaptive Cover are you using?
1.4.3
What version of Home Assistant are you using?
2024.9.0
Checklist
- [X] I have filled out the issue template to the best of my ability.
- [X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
- [X] This issue is not a duplicate issue of currently previous issues..
Describe the issue
When a vertical screen is configured the manual override button is not triggered when controlling the cover manually (mushroom cover card).
Reproduction steps
- Configure vertical screen with correct azimuth, height etc
- Adaptive Cover integration moves the vertical screen to a position (i.e 50% closed)
- The user would like the cover full open for a while so the screen is controlled full open using the mushroom cover card
- The manual override button remains in the off position.
- I have tried leaving the manual override threshold off and also with different values. Same issue.
- The cover reports position "live" as it moves - 0-100% as well as status open, opening, closing and closed.
Diagnostics dump
"data": { "title": "Adaptive Cover Configuration", "type": "config_entry", "identifier": "01J71K2RVDRRVCNFVVVZ017AT1", "config_data": { "__type": "<class 'mappingproxy'>", "repr": "mappingproxy({'name': 'Familierom', 'sensor_type': 'cover_blind'})" }, "config_options": { "__type": "<class 'mappingproxy'>", "repr": "mappingproxy({'mode': 'basic', 'set_azimuth': 302.0, 'window_height': 2.8, 'distance_shaded_area': 0.5, 'default_percentage': 100.0, 'max_position': None, 'min_position': None, 'fov_left': 90.0, 'fov_right': 90.0, 'group': ['cover.screen_1_224_1_familierom_d3'], 'inverse_state': False, 'sunset_position': 0.0, 'sunset_offset': 0.0, 'sunrise_offset': 0.0, 'length_awning': None, 'angle': None, 'slat_distance': None, 'slat_depth': None, 'tilt_mode': None, 'temp_entity': None, 'presence_entity': None, 'weather_entity': None, 'temp_low': None, 'temp_high': None, 'outside_temp': None, 'climate_mode': False, 'weather_state': None, 'delta_position': 20.0, 'delta_time': 10.0, 'start_time': '00:00:00', 'start_entity': None, 'manual_override_duration': {'minutes': 15}, 'manual_override_reset': False, 'manual_threshold': None, 'manual_ignore_intermediate': False, 'blind_spot_right': None, 'blind_spot_left': None, 'blind_spot_elevation': None, 'blind_spot': False, 'min_elevation': None, 'max_elevation': None, 'transparent_blind': False, 'interp': False, 'interp_start': None, 'interp_end': None, 'interp_list': [], 'interp_list_new': [], 'lux_entity': None, 'lux_threshold': None, 'irradiance_entity': None, 'irradiance_threshold': None, 'outside_threshold': None, 'enable_max_position': False, 'enable_min_position': False})" } } }
4. The manual override button remains in the off position.
Do you mean the switch? That has to be set to on before the integration can detect manual adjustments
@basbruss thanks for clarifying this. I came here because I was also confused about what that switch did. I didn't realise that the switch was essentially enabling the detection of manual operation. It makes sense but I feel like perhaps the documentation wasn't quite clear enough on this? I'd be happy to submit a pull request to make some minor tweaks to help clarify a bit more if that was okay with you?
I'm also having this issue, but (I think) using the sensors correctly. I have the Manual Override switch on, but when I manually adjust the shades (inside Home Assistant), the Manual Override sensor remains in the "not running" state and the next change to the calculated shade position changes the actual shade position away from the manually set position.
I'm also having this issue, but (I think) using the sensors correctly. I have the Manual Override switch on, but when I manually adjust the shades (inside Home Assistant), the Manual Override sensor remains in the "not running" state and the next change to the calculated shade position changes the actual shade position away from the manually set position.
Just wondering what your settings are for the manual override threshold --> the difference from the calculated position to the manually set position. Perhaps the threshold is to great?
I hadn't checked that box in the config. I assumed not setting a threshold would mean effectively any difference would trigger it rather than disabling manual override detection. I think the main switch also needs to be active or the override wont be detected. Thanks for pointing me in the right direction!
I am also having issues with the manual override. I do believe the setup on my side is correct, but still no matter how I change the cover position (via UI or physical switch), the value of the manual override never changes.
Configuration:
What I have noticed is that if I reload the configuration and do a change on the manual override setting, the first time I change the position of the blinds, manual override actually works. But this happens only for the first time. Any next changes on the blinds to not change the manual override value.
the value of the manual override never changes.
@valentinmirchev I'm not sure if you read the above comments, but "the value of the manual overide" doesn't change on it's own. This switch is there to "enable" the manual overide. In other words, you need to set this "manual overide" switch to on, and then then anytime you manually change the position of the blinds, Adaptive Cover will recoginise this change and NOT try to overide this manual change.
If this manual-overide switch is not enabled, then Adaptive Cover takes over and resets the blinds to the calculated position.
Hope this clears things up and makes sense?
Let me see if I understood the feature correctly.
The manual override has a couple of settings that should be set in order to work.
- Duration of the manual override is the time where the blinds will not move after a "manual change" occured. Either being via the physical button on the wall or via the HA dashboard.
- The Reset Manual Override duration is the toggle with which the adaptive cover will reset the value of manual override and start controlling the blinds once again.
- The manual override threshold is the moving percentage of the blind done manually in order to trigger the manual_override and stop controlling the blinds automatically.
I hope that I understood the fields correctly. If this is the case, I would expect that when I do a manual change of the blinds, the value of the sensor (binary_sensor.vertical_manual_override_office_adaptive_cover in my case) would be switched to ON.
This is something that does happen but only in the minutes after I re-configure the entry. It works flawlessly, but once it goes back to automatic control, it is never triggered again with the next manual overrides.
The manual override has a couple of settings that should be set in order to work.
- Duration of the manual override is the time where the blinds will not move after a "manual change" occured. Either being via the physical button on the wall or via the HA dashboard.
- The Reset Manual Override duration is the toggle with which the adaptive cover will reset the value of manual override and start controlling the blinds once again.
- The manual override threshold is the moving percentage of the blind done manually in order to trigger the manual_override and stop controlling the blinds automatically.
As far as I understand it, what you have written is correct 👍
I would expect that when I do a manual change of the blinds, the value of the sensor (binary_sensor.vertical_manual_override_office_adaptive_cover in my case) would be switched to ON.
That is also correct 😄
This is something that does happen but only in the minutes after I re-configure the entry. It works flawlessly, but once it goes back to automatic control, it is never triggered again with the next manual overrides.
I can't explain that behaviour. I don't believe I have that issue but I should try doing some testing.
I'm not the developer (just a guy trying to help out), and unfortunately I don't see anything immediately that jumps out at me. But, here is some more explanations that might help:
The logs show the events controlling the position of the cover.office_blinds_2 entity. Firstly, why is numbered "2"? is there a nubmer "1" that controls the same blinds? Do you have two adaptive cover logics applied to the same blind?
Log details:
-
State Change Detection:
- Log shows state changes such as transitioning between
opening,open, andclosing. - The
current_positionattribute represents the blinds' position as a percentage (0 = fully closed, 100 = fully open).
- Log shows state changes such as transitioning between
-
Adaptive Position Calculation:
- A target position is calculated (around 39.94%) based on adaptive logic, tied to factors like time of day, sunlight, or user-defined schedules.
- It checks if the difference between the current position and the target position (delta position) exceeds the minimum change threshold (
min_change: 5.0). If the delta is smaller, no adjustment is made --> does this seem correct to you?
-
Timing Conditions:
- start and end times (07:00:00 - 14:00:00) are checked --> is this right? No changes to the blinds will be made after 2pm
-
Position Adjustment:
- If the conditions are met (time window + delta position > min_change), the integration sends a
set_cover_positioncommand to adjust the blinds to the calculated target position.
- If the conditions are met (time window + delta position > min_change), the integration sends a
-
Wait for Target:
- The system marks the cover as waiting for target (
Wait for target: {'cover.office_blinds_2': True}), meaning it's waiting for the blinds to reach the target position.
- The system marks the cover as waiting for target (
-
Re-Evaluation Interval:
- The logs show periodic re-evaluations (around every 2 minutes). If the blinds have not reached the target position and the time delta threshold is exceeded, the system sends another adjustment command.
-
Unexpected Behavior:
- The logs suggest that the blinds are oscillating between different positions (39%, 58%, 78%, 100%) without stabilizing at the target position (39.94%). This could be due to:
- Interference from other automations.
- The blinds not reporting their position accurately.
- A misconfiguration in the Adaptive Cover settings.
- The logs suggest that the blinds are oscillating between different positions (39%, 58%, 78%, 100%) without stabilizing at the target position (39.94%). This could be due to:
My recommendations from here:
- Check if any other automations or scripts are controlling the same cover entity.
- Check that the blinds' position reporting is accurate - it appears strange
- Check the minimum position change and time delta threshold settings
- For the cover entity (external to HA), check for any restore position or manual override features that might interfere with the adaptive logic.
- Check if any other automations or scripts are controlling the same cover entity. No other automations control the blinds.
- Check that the blinds' position reporting is accurate - it appears strange. It's reported completely accurate. I did not get why do you think it's strange
- Check the minimum position change and time delta threshold settings. All set correctly, and frankly I do not believe those should be a reason of a manual_override not being triggered
- For the cover entity (external to HA), check for any restore position or manual override features that might interfere with the adaptive logic. Nothing else controls the blinds
Hello, it seems that we need an additional concept (often present on other home automation systems I've encountered): the total opening/closing time of a shutter. Anything that happens during this duration, following a motion triggered by this integration, should not be considered as a manual action. This would avoid the side effects of erratic feedback from some shutter controllers. Perhaps such a parameter exists and I've missed it?