* Add support for Fujitsu HVAC devices
* Add the entity code to .coveragerc
* Only include code that can fail in the try/except block
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Remove empty keys from manifest
* Remove VERSION as it's already the default
* Remve the get_devices function and use asyncio.gather to parallelize dev updates
* Move initial step to a function
* Let KeyError bubble up. If we are passed an invalid mode it's probably worth raising an exception.
* Await the gather
* Use the async version of the refresh_auth call
* Use the serial number as unique id
* Use HA constant for precision
* Use dev instead of self._dev
* Move to property decorated methods
* Remove bidict dependency
* Setup one config entry for our api credentials instead of per device
* Remove bidict from requirements
* Signout and remove our api object on unload
* Use app credentials from ayla_iot_unofficial
* Use entry_id as a key to store our API object
* Delete unused code
* Create reverse mappings from forward mapping instead of hardcoding them
* Clean up the property methods
* Only import part of config_entries we are using
* Implement suggested changes
* Fix tests to use new API consts
* Add support for reauth
* Use a coordinator instead of doing per-entity refresh
* Auto is equivalent to HEAT_COOL not AUTO
* Add ON and OFF to list of supported features
* Use the mock_setup_entry fixture for the reauth tests
* Parametrize testing of config flow exceptions
* Only wrap fallable code in try/except
* Add tests for coordinator
* Use self.coordinator_context instead of self._dev.device_serial_number
* Move timeout to ayla_iot_unofficial
* Add description for is_europe field
* Bump version of ayla-iot-unofficial
* Remove turn_on/turn_off warning
* Move coordinator creating to __init__
* Add the type of coordinator to the CoordiatorEntity
* Update docstring for FujitsuHVACDevice constructor
* Fix missed self._dev to dev
* Abort instead of showing the form again with an error when usernames are different
* Remove useless argument
* Fix tests
* Implement some suggestions
* Use a device property the maps to the coordinator data
* Fix api sign out when unloading the entry
* Address comments
* Fix device lookup
* Move API sign in to coordinator setup
* Get rid of FujitsuHVACConfigData
* Fix async_setup_entry signature
* Fix mock_ayla_api
* Cleanup common errors
* Add test to check that re adding the same account fails
* Also patch new_ayla_api in __init__.py
* Create a fixture to generate test devices
* Add a setup_integration function that does the setup for a mock config entry
* Rework unit tests for the coordinator
* Fix typos
* Use hass session
* Rework reauth config flow to only modify password
* Update name to be more use-friendly
* Fix wrong type for entry in async_unload_entry
* Let TimeoutError bubble up as teh base class handles it
* Make the mock ayla api return some devices by default
* Move test to test_climate.py
* Move tests to test_init.py
* Remove reauth flow
* Remove useless mock setup
* Make our mock devices look real
* Fix tests
* Rename fujitsu_hvac to fujitsu_fglair and rename the integration to FGLair
* Add the Fujitsu brand
* Add a helper function to generate an entity_id from a device
* Use entity_id to remove hardcoded entity ids
* Add a test to increase code coverage
---------
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
* Add Rainforest RAVEn integration
* Add Rainforest Automation brand
* Add diagnostics to Rainforest RAVEn integration
* Drop a test assertion for an undefined behavior
* Add DEVICE_NAME test constant
* Catch up with reality
* Use Platform.SENSOR
Co-authored-by: Robert Resch <robert@resch.dev>
* Make rainforest_raven translatable
* Stop setting device_class on unsupported scenarios
* Rename rainforest_raven.data -> rainforest_raven.coordinator
* Make _generate_unique_id more reusable
* Move device synchronization into third party library
* Switch from asyncio_timeout to asyncio.timeout
* Ignore non-electric meters
Co-authored-by: Robert Resch <robert@resch.dev>
* Drop direct dependency on iso4217, bump aioraven
* Use RAVEn-specific exceptions
* Add timeouts to data updates
* Move DeviceInfo generation from Sensor to Coordinator
* Store meter macs as strings
* Convert to using SelectSelector
* Drop test_flow_user_invalid_mac
This test isn't necessary now that SelectSelector is used.
* Implement PR feedback
- Split some long format lines
- Simplify meter mac_id extraction in diagnostics
- Expose unique_id using an attribute instead of a property
- Add a comment about the meters dictionary shallow copy
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Simplify mac address redaction
Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
* Freeze RAVEnSensorEntityDescription dataclass
Co-authored-by: Erik Montnemery <erik@montnemery.com>
---------
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
* Switches via API
* Using external library
* UT and checlist
* Updating file .coveragerc
* Update homeassistant/components/switchbot_via_api/switch.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/switchbot_via_api/switch.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/switchbot_via_api/switch.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Review fixes
* Apply suggestions from code review
Co-authored-by: J. Nick Koston <nick@koston.org>
* This base class shouldn't know about Remote
* Fixing suggestion
* Sometimes, the state from the API is not updated immediately
* Review changes
* Some review changes
* Review changes
* Review change: Adding type on commands
* Parameterizing some tests
* Review changes
* Updating .coveragerc
* Fixing error handling in coordinator
* Review changes
* Review changes
* Adding switchbot brand
* Apply suggestions from code review
Co-authored-by: J. Nick Koston <nick@koston.org>
* Review changes
* Adding strict typing
* Removing log in constructor
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Copy openai_conversation to google_generative_ai_conversation
This is to improve diff of the next commit with the actual implementation.
Commands used:
cp -r homeassistant/components/openai_conversation/ homeassistant/components/google_generative_ai_conversation/
cp -r tests/components/openai_conversation/ tests/components/google_generative_ai_conversation/
find homeassistant/components/google_generative_ai_conversation/ tests/components/google_generative_ai_conversation/ -type f | xargs sed -i \
-e 's@openai_conversation@google_generative_ai_conversation@g' \
-e 's@OpenAI Conversation@Google Generative AI Conversation@g' \
-e 's@balloob@tronikos@g'
* Add google_generative_ai_conversation to Google brand
* Google Generative AI Conversation
* Sync recent openai changes
* handle empty responses
* TP-Link Omada integration
Support for PoE config of network switch ports
* Bump omada client version
* Fixing tests
* Refactored site config flow
* Code review comments
* Fixed tests and device display name issue
* Bump isort to fix pre-commit hooks
* Hassfest for the win
* Omada code review
* Black
* More config flow test coverage
* Full coverage for omada config_flow
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Copy google_sheets to google_assistant_sdk
This is to improve diff of the next commit with the actual implementation.
Commands used:
cp -r homeassistant/components/google_sheets/ homeassistant/components/google_assistant_sdk/
cp -r tests/components/google_sheets/ tests/components/google_assistant_sdk/
find homeassistant/components/google_assistant_sdk/ tests/components/google_assistant_sdk/ -type f | xargs sed -i \
-e 's@google_sheets@google_assistant_sdk@g' \
-e 's@Google Sheets@Google Assistant SDK@g' \
-e 's@tkdrob@tronikos@g'
* Google Assistant SDK integration
Allows sending commands and broadcast messages to Google Assistant.
* Remove unnecessary async_entry_has_scopes check
* Bump gassist-text to fix protobuf dependency