* 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> |
||
---|---|---|
.devcontainer | ||
.github | ||
.vscode | ||
homeassistant | ||
machine | ||
pylint | ||
rootfs | ||
script | ||
tests | ||
.core_files.yaml | ||
.dockerignore | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.hadolint.yaml | ||
.pre-commit-config.yaml | ||
.prettierignore | ||
.strict-typing | ||
.yamllint | ||
CLA.md | ||
CODEOWNERS | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
Dockerfile.dev | ||
LICENSE.md | ||
MANIFEST.in | ||
README.rst | ||
build.yaml | ||
codecov.yml | ||
mypy.ini | ||
pyproject.toml | ||
requirements.txt | ||
requirements_all.txt | ||
requirements_test.txt | ||
requirements_test_all.txt | ||
requirements_test_pre_commit.txt |
README.rst
Home Assistant |Chat Status| ================================================================================= Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server. Check out `home-assistant.io <https://home-assistant.io>`__ for `a demo <https://demo.home-assistant.io>`__, `installation instructions <https://home-assistant.io/getting-started/>`__, `tutorials <https://home-assistant.io/getting-started/automation/>`__ and `documentation <https://home-assistant.io/docs/>`__. This is a project of the `Open Home Foundation <https://www.openhomefoundation.org/>`__. |screenshot-states| Featured integrations --------------------- |screenshot-integrations| The system is built using a modular approach so support for other devices or actions can be implemented easily. See also the `section on architecture <https://developers.home-assistant.io/docs/architecture_index/>`__ and the `section on creating your own components <https://developers.home-assistant.io/docs/creating_component_index/>`__. If you run into issues while using Home Assistant or during development of a component, check the `Home Assistant help section <https://home-assistant.io/help/>`__ of our website for further help and information. .. |Chat Status| image:: https://img.shields.io/discord/330944238910963714.svg :target: https://www.home-assistant.io/join-chat/ .. |screenshot-states| image:: https://raw.githubusercontent.com/home-assistant/core/dev/.github/assets/screenshot-states.png :target: https://demo.home-assistant.io .. |screenshot-integrations| image:: https://raw.githubusercontent.com/home-assistant/core/dev/.github/assets/screenshot-integrations.png :target: https://home-assistant.io/integrations/