-
-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement optional update coordinator to call refreshState
periodically
#167
Comments
Just found a reference to
|
The HomeKit (via homebridge) integration is also calling this endpoint every x minutes (based on user setting). We could add this as well, next to our regular data update coordinator. |
refresh
methods for specific statesrefresh
methods for specific states
refresh
methods for specific statesrefreshState
periodically
What about doing this automatically if we detect a device required it ? |
I had the same thought this morning, would make a lot of sense. Just enable this for the devices where we require it and don't make it user configurable. |
Somfy gates & garage doors will not automatically send state updates. They have to be explicitly requested. The TaHoma app/web interface therefore asks all devices to send their state updates on start. This change adds a new OverkizDeviceRefreshCoordinator for impacted devices and will periodically (5min) ask the specific device to send state updates. Note that even though these devices typically also provide commands such as refreshPedestrianPosition/refreshPartialPosition but they do not cause the device to send its actual state to the gateway. See Somfy-Developer/Somfy-TaHoma-Developer-Mode#26 and iMicknl/ha-tahoma#167.
The Somfy Dexxo smart io (io:DiscreteGarageOpenerWithPartialPositionIOComponent) supports a third position state: partial. This state is meant to be used to ventilate the garage. This commit adds a select entity for the position state. The implementation is very similar to the already existing position state for gate's with a pedestrian position. Note: For the updates to work properly, we'd still need iMicknl/ha-tahoma#167 / iMicknl/ha-tahoma#271 to be implemented. See Somfy-Developer/Somfy-TaHoma-Developer-Mode#26 for discussion with Somfy.
Somfy gates & garage doors will not automatically send state updates. They have to be explicitly requested. The TaHoma app/web interface therefore asks all devices to send their state updates on start. This change adds a new OverkizDeviceRefreshCoordinator for impacted devices and will periodically (5min) ask the specific device to send state updates. Note that even though these devices typically also provide commands such as refreshPedestrianPosition/refreshPartialPosition but they do not cause the device to send its actual state to the gateway. See Somfy-Developer/Somfy-TaHoma-Developer-Mode#26 and iMicknl/ha-tahoma#167.
The Somfy Dexxo smart io (io:DiscreteGarageOpenerWithPartialPositionIOComponent) supports a third position state: partial. This state is meant to be used to ventilate the garage. This commit adds a select entity for the position state. The implementation is very similar to the already existing position state for gate's with a pedestrian position. Note: For the updates to work properly, we'd still need iMicknl/ha-tahoma#167 / iMicknl/ha-tahoma#271 to be implemented. See Somfy-Developer/Somfy-TaHoma-Developer-Mode#26 for discussion with Somfy.
Is your feature request related to a problem? Please describe.
When we move towards using an event based approach for updating states (#1), it would be good to understand if we need to refresh the states manually for specific devices, or if we can do it in batch.
For example;
io:DiscreteGateOpenerIOComponent
usesrefreshPedestrianPosition
(State not updated for Gate (io:DiscreteGateOpenerIOComponent) #40)io:SimpleExteriorHeatingIOComponent
usesgetLevel
possibly (Add support for [Somfy Terrace Heater] (io:SimpleExteriorHeatingIOComponent) #161)and there are more examples
eliot:OnOffLightEliotComponent
usesrefreshAllLightStates
(No state update for StatefulOnOffLight (eliot:OnOffLightEliotComponent) #230)Describe the solution you'd like
Getting rid of manually calling all refresh endpoints would be best, or scheduling a refresh of all states periodically.
Describe alternatives you've considered
Maintaining a list of states that have to be refreshed manually.
The text was updated successfully, but these errors were encountered: