- Added
- Parse EUID from devices
- Fixed
- Do not allow NaN for float values in hypothesis unit tests
- Date
- 2024-03-01
- Added
- More unit test coverage
- Changed
- Replace existing linters with
ruff
- Replace existing linters with
- Fixed
- Retrieve and log error for failing to refresh device state after reconnect
- Correct typo in function name
Gateway.get_ip_address()
- Date
- 2024-02-18
- Fixed
- Subscribe to AWS IoT shadow topics one device at a time to avoid server disconnecting
- Date
- 2024-02-17
- Added
- Add
firmware_version
,mac_address
andip_address
fields to the gateway model - Device availability information
- Add
- Changed
- Make model attributes keyword only
Client.get_devices()
now also includes gateways
- Fixed
- Do not initialize multiple MQTT connections for a gateway
- Date
- 2024-02-15
- Changed
- Reauthenticate to cloud service with password if the refresh token is no longer valid
- Fixed
- Fix handling of background tasks in MQTT client
- Date
- 2024-02-14
- Changed
- Migrate MQTT implementation from
awsiotsdk
topaho.mqtt
- Migrate MQTT implementation from
- Date
- 2024-02-05
- Changed
- Only log INFO level messages by
pyupgw
package in CLI application
- Only log INFO level messages by
- Date
- 2024-02-05
- Added
- More flexible logging configuration
- Timeout for publishing and receiving MQTT replies
- Changed
- Increase timeouts for reinitializing MQTT connection
- Logging in TUI application
- Date
- 2024-02-03
- Added
- Nicer logging in CLI
- Changed
- Refresh device states when MQTT connection is resumed
- Try to recreate MQTT clients after connection is lost. This is an additional measure on top of AWS SDK trying to resume connection.
- Convert errors in client operation into
ClientError
- Date
- 2024-01-28
- Added
- More concurrency
- Fixed
- Fix several external API calls blocking event loop by delegating to worker thread
- Only throw
AuthenticationError
if the underlying cause for the error is authentication issue
- Removed
- Support for python 3.10
- Date
- 2024-01-26
- Added
manufacturer
,serial_number
andfirmware_version
attributes to HVAC devices
- Date
- 2024-01-21
- Added
create_api()
function for bootstrapping clientrunning_state
attribute to HVAC devices
- Changed
- Rename
temperature
attribute totarget_temperature
(the former was ambiguous)
- Rename
- Fixed
Client
now subscribes to updates in__init__()
and not__aenter__()
- Date
- 2024-01-09
- Added
- Error handling to several places where none previously existed
- Improved text user interface
tox
for test automation- Documentation hosted at Read the Docs
- Date
- 2024-01-05
- Added
- Command-line interface
- Changed
- Refreshing and updating the state of the devices is now synchronized to the reply from the server
- Tokens and WebSocket connections are automatically refreshed
- Fixed
- Include
aiohttp
inpyproject.toml
- Include
- Date
- 2023-12-29
- Added
- Debug logging for service API responses
- Changed
- Rename
ThermostatDevice
andThermostatAttributes
intoHvacDevice
andHvacAttributes
, respectively. This is in anticipation that there are other HVAC products with similar API. - Rename
DeviceType.DEVICE
intoDeviceType.HVAC
to be more descriptive and not reserve the most general name for just one kind of device.
- Rename
- Date
- 2023-12-29
Initial version