- Drop support for Python 3.4 and 3.5
- Add support for Python 3.9
- Sync pre-commit dependencies with poetry
- Allow user-agent override
- Add geofencing mode for the thermostat
- Various small fixes for the Thermostat
- Handle error 404 when site has not device
- Add parent id support
- Complete thermostat model
- Support optional condition
- Don't break when new parameters are returned by Somfy
- Fix camera protect model
- Fix Thermostat: get_derogation_date -> get_target_date
- No more abstract class
- Don't use the built-in token refresh mechanism of OAuth2 session to allow overriding the token refresh logic
- Remove typing library for Python 3.5+
- Made get and post methods abstract to allow custom implementations
- Remove some workaround due to Somfy limitation
- Allow to provide state during OAuth process
- Made redirect uri optional
- Expose token updater method
- Remove default token updater (token save as file)
- Use get_state method to get blind orientation
- Set 0 as orientation when not available for the blind
- Token can now be fetch using the code instead of the full authorization response
- Raise an HTTPError when Somfy API returns a status code not ok
- Fix command always rejected
- Implicit automatic token refresh
- Fix Thermostat class name
- Add thermostat support
- Add camera support
- Add low speed support for roller shutters
- roller shutter position is no more a property
- Add orientation support for blind
- Fix package generation
- Add blind support
- Add support for roller shutters