V3.0.0
- Update to MyQ V6 API
- Add support for lamps
- Following properties were added to api:
- last_state_update: date/time (UTC) when devices were updated last time (read-only)
- covers: dictionary of all devices that are covers/garage doors/gates (read-only)
- lamps: dictionary of all devices that are lamps (read-only)
- gateways: dictionary of all devices that are gateways (read-only)
- username: username used to authenticate (read/write)
- password: password used to authenticate (write-only)
- Following properties were added to MyQDevice:
- account: Account ID associated with device
- state_update: date/time (UTC) when device was updated last time. If this is older then last_state_update property from api then it means the device is not there anymore.
- New classes created:
- MyQGaragedoor: represents a garage door/gate. Inherits from MyQDevice
- MyQLamp: represents a lamp. Inherits from MyQDevice
- Methods open & close for garage door have new option wait_for_state (default False). If set to true then open/close will not return until garage door has completed opening/closing and return a Bool. If set the False then a Task object will be returned for the task that is waiting until the state is completed. This task can then be awaited upon for completion of open or close.
- Device updates will automatically occur every 5 seconds when an open or close is send through the API for the garage door/gate.
- Re-authentication is done before token will expire and performed asynchronously so it does not hold up retrieving device information or sending commands
- Update interval limit set to 10 seconds from 30 seconds
- Changed a number of ERROR or WARNING messages to DEBUG messages and raising exception
- Moved sending of requests into its own class with more detailed debug allowing debug level to be set separate from api
Major Acknowledgment to @hjdhjd for figuring out the new API. Pymyq would not have been updated without the work he did!