Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert Tesla to Async #28748

Merged
merged 12 commits into from Nov 15, 2019
Merged

Convert Tesla to Async #28748

merged 12 commits into from Nov 15, 2019

Conversation

@alandtse
Copy link
Contributor

alandtse commented Nov 13, 2019

Breaking Change:

Description:

Convert Tesla to async, broken from #28744.

Related issue (if applicable): fixes #

Pull request with documentation for home-assistant.io (if applicable): home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
N/A

Example entry for configuration.yaml (if applicable):

Checklist:

  • The code change is tested and works locally.
  • Local tests pass with tox. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist

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

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

  • The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
  • Untested files have been added to .coveragerc.

If the code does not interact with devices:

  • Tests have been added to verify that the new code works.
alandtse added 7 commits Nov 13, 2019
@project-bot project-bot bot added this to Needs review in Dev Nov 13, 2019
@probot-home-assistant

This comment has been minimized.

Copy link

probot-home-assistant bot commented Nov 13, 2019

Hey there @zabuldon, mind taking a look at this pull request as its been labeled with a integration (tesla) you are listed as a codeowner for? Thanks!

Copy link
Member

MartinHjelmare left a comment

We need to replace load_platform in the component with async_load_platform and create a task that schedules that call with hass.async_create_task.

The device tracker also needs to be migrated to use the home assistant async api.

  • def setup_scanner -> async def async_setup_scanner
  • see -> async_see
  • track_utc_time_change -> async_track_utc_time_change
  • def _update_info -> async def _update_info
  • device.update() -> await device.update()

Also move the call to await self._update_info() and async_track_utc_time_change to async_setup_scanner to avoid side effects in init method.

homeassistant/components/tesla/__init__.py Outdated Show resolved Hide resolved
homeassistant/components/tesla/__init__.py Outdated Show resolved Hide resolved
homeassistant/components/tesla/__init__.py Outdated Show resolved Hide resolved
homeassistant/components/tesla/__init__.py Outdated Show resolved Hide resolved
homeassistant/components/tesla/__init__.py Outdated Show resolved Hide resolved
Dev automation moved this from Needs review to Review in progress Nov 13, 2019
alandtse added 3 commits Nov 14, 2019
@alandtse alandtse requested a review from MartinHjelmare Nov 14, 2019
Copy link
Member

MartinHjelmare left a comment

Great! Just one question.

Dev automation moved this from Review in progress to Reviewer approved Nov 14, 2019
@MartinHjelmare

This comment has been minimized.

Copy link
Member

MartinHjelmare commented Nov 15, 2019

This is now completely independent from #28744, right?

@alandtse

This comment has been minimized.

Copy link
Contributor Author

alandtse commented Nov 15, 2019

Yes. You wanted #28744 to be rebased off this one. That is almost complete.

@MartinHjelmare

This comment has been minimized.

Copy link
Member

MartinHjelmare commented Nov 15, 2019

So I'll merge here now.

@MartinHjelmare MartinHjelmare merged commit 2aad150 into home-assistant:dev Nov 15, 2019
11 checks passed
11 checks passed
CI Build #20191115.4 succeeded
Details
CI (FullCheck Mypy) FullCheck Mypy succeeded
Details
CI (FullCheck Pylint) FullCheck Pylint succeeded
Details
CI (Overview CheckFormat) Overview CheckFormat succeeded
Details
CI (Overview Lint) Overview Lint succeeded
Details
CI (Overview Validate) Overview Validate succeeded
Details
CI (Tests PyTest Python36) Tests PyTest Python36 succeeded
Details
CI (Tests PyTest Python37) Tests PyTest Python37 succeeded
Details
cla-bot Everyone involved has signed the CLA
codecov/patch Coverage not affected when comparing a48d426...55f3f87
Details
codecov/project 94.43% (target 90%)
Details
Dev automation moved this from Reviewer approved to Done Nov 15, 2019
pull bot added a commit to KoHcoJlb/home-assistant that referenced this pull request Nov 15, 2019
* build: bump teslajsonpy to 0.2.0

* feat: add async

* perf: convert unnecessary async calls to sync

* fix: force real login

* Revert change to HVAC_MODE_HEAT

* Remove charging rate sensor

* Remove tests

* Remove tests

* Address requested changes

* Add missing sensors

* Move update to async_setup_scanner

* Align wtih prior update behavior
@lock lock bot locked and limited conversation to collaborators Nov 16, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Dev
  
Done
3 participants
You can’t perform that action at this time.