core icon indicating copy to clipboard operation
core copied to clipboard

Add integration to support Fujitsu HVAC devices

Open crevetor opened this issue 2 years ago • 6 comments

Proposed change

Add integration to support Fujitsu HVAC devices that use the Ayla IoT platform (controlled with the FGLair app).

Type of change

  • [ ] Dependency upgrade
  • [ ] Bugfix (non-breaking change which fixes an issue)
  • [x] New integration (thank you!)
  • [ ] New feature (which adds functionality to an existing integration)
  • [ ] Deprecation (breaking change to happen in the future)
  • [ ] Breaking change (fix/feature causing existing functionality to break)
  • [ ] Code quality improvements to existing code or addition of tests

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue:
  • Link to documentation pull request: https://github.com/home-assistant/home-assistant.io/pull/31192

Checklist

  • [x] The code change is tested and works locally.
  • [x] Local tests pass. Your PR cannot be merged unless tests pass
  • [x] There is no commented out code in this PR.
  • [x] I have followed the development checklist
  • [x] I have followed the perfect PR recommendations
  • [x] The code has been formatted using Ruff (ruff format homeassistant tests)
  • [x] Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • [x] The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • [x] New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • [ ] For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.
  • [x] Untested files have been added to .coveragerc.

To help with the load of incoming pull requests:

crevetor avatar Feb 01 '24 22:02 crevetor

To answer @joostlek 's question, I followed this part of the documentation. Each device has its own api endpoint so it seemed to make sense to implement it this way.

crevetor avatar Feb 02 '24 18:02 crevetor

How do you mean an API endpoint?

joostlek avatar Feb 02 '24 18:02 joostlek

Basically, each devices data is available at https://api_base/<device_unique_id>/data which seems to match this sentence in the documentation :

If you can map exactly one device endpoint to a single entity, you can fetch the data for this entity inside the update()/async_update() methods

crevetor avatar Feb 02 '24 19:02 crevetor

Yes, but that sentence doesn't explain that it should be 1 config entry. I think that would be beneficial. Otherwise with stuff like reauth, you'd have to enter your credentials for every device.

joostlek avatar Feb 03 '24 00:02 joostlek

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks :+1:

Learn more about our pull request process.

home-assistant[bot] avatar Feb 03 '24 12:02 home-assistant[bot]

I can't go more in depth since I need answer on the config entry question

joostlek avatar Feb 03 '24 12:02 joostlek

There hasn't been any activity on this pull request recently. This pull request has been automatically marked as stale because of that and will be closed if no further activity occurs within 7 days. If you are the author of this PR, please leave a comment if you want to keep it open. Also, please rebase your PR onto the latest dev branch to ensure that it's up to date with the latest changes. Thank you for your contribution!

github-actions[bot] avatar Aug 08 '24 17:08 github-actions[bot]

Still working on this.

crevetor avatar Aug 12 '24 13:08 crevetor