Add new tomorrow.io integration to replace Climacell - Part 3/3#59698
Conversation
b685160 to
78b2e46
Compare
81ffa0e to
135cb4b
Compare
78b2e46 to
cab6cc9
Compare
89f56a6 to
8ec633d
Compare
e095b9b to
f64f070
Compare
…-assistant#57121) * Add new tomorrow.io integration to replace Climacell - Part 1/3 * remove unused code * remove extra test * remove more unused code * Remove even more unused code * Feedback * clean up options flow * clean up options flow * tweaks and fix tests * remove device_class from tomorrowio entity description class * use timestep * fix tests * always use default name but add zone name if location is in a zone * revert change that will go into future PR * review comments * move code out of try block * bump max requests to 500 as per docs * fix tests
9e9f2c6 to
514dd81
Compare
|
@raman325 Since we have a few of these that could use similar treatment, are you intrested in working on a more generalized approach to build helpers to migrate a domain? We have at least the following that could use domain name changes. I'm thinking about some type of mapping file that gets auto generated maybe If the integration is listed there the tooling would take care of migrating
-- Something to think about after beta wraps up |
|
@bdraco I spoke about this with Frenck when I first went down this path. I agree that a more generalized solution would be great, but there were two things that held me back:
I'd definitely be open to discussing this in more detail and brainstorming together if you are interested. send me a DM on discord and we can go from there (warning - I am on vacation and so may not be able to properly respond until next week |
I'm happy to wait until you get back and beta is wrapped up so no rush! |
|
Is there an implicit assumption here that we won't merge this and will instead target a more general approach? In the convo about cleaning up branches this came to mind 🙂 |
|
I think we can merge this. |
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
|
Is there a docs page already for tomorrow.io? |
|
yes, this was originally all in one PR and here is the related docs PR: home-assistant/home-assistant.io#18916 Once we merge this, i will create a new master PR to merge |
…-assistant#59698) * Switch to DeviceInfo * Add new tomorrow.io integration to replace Climacell - Part 1/3 (home-assistant#57121) * Add new tomorrow.io integration to replace Climacell - Part 1/3 * remove unused code * remove extra test * remove more unused code * Remove even more unused code * Feedback * clean up options flow * clean up options flow * tweaks and fix tests * remove device_class from tomorrowio entity description class * use timestep * fix tests * always use default name but add zone name if location is in a zone * revert change that will go into future PR * review comments * move code out of try block * bump max requests to 500 as per docs * fix tests * Migrate ClimaCell entries to Tomorrow.io * tweaks * pylint * Apply fix from home-assistant#60454 to tomorrowio integration * lint and mypy * use speed conversion instead of distance conversion * Use SensorDeviceClass enum * Use built in conversions and remove unused loggers * fix requirements * Update homeassistant/components/tomorrowio/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Use constants Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Proposed change
I will be merging this in pieces and then we will do one big merge once all parts are done.
This is part 3 of 3: Auto-migrate
climacellconfig entries that are using the v4 API and semi-auto migrate ones that use the v3 APIClimaCell as a company rebranded to
Tomorrow.ioright around when we introduced theclimacellintegration 🙃 After consulting some other members, I decided to build a new integration which is more or less a stripped down version ofclimacell(climacell supported two different APIs, this one only supports the one that's currently supported by the company). This overall effort is split into three separate parts to make it easier to review per Martin's suggestion:tomorrowiointegration. This uses a new library but the underlying code in the library is the exact same as the v4 API logic inpyclimacell. Similarly the integration logic is a simplified version of theclimacellintegration since v3 is deprecated: Add new tomorrow.io integration to replace Climacell - Part 1/3 #57121climacell: Add new tomorrow.io integration to replace Climacell - Part 2/3 #57124climacellconfig entries that are using the v4 API and semi-auto migrate ones that use the v3 API: Add new tomorrow.io integration to replace Climacell - Part 3/3 #59698dev(this will include the documentation updates)Type of change
Additional information
Checklist
black --fast homeassistant tests)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest.requirements_all.txt.Updated by running
python3 -m script.gen_requirements_all..coveragerc.The integration reached or maintains the following Integration Quality Scale:
To help with the load of incoming pull requests: