## Description:
More fixes flagged by pylint 2 that don't hurt to have before the actual pylint 2 upgrade (which I'll submit soon).
## Checklist:
- [ ] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
After 2 months of being offline, the my.chevy website seems to be
working again. Some data structures changed in the mean time. The new
library will handle multiple cars. This involves a breaking change in
slug urls for devices where these now include the car make, model, and
year in them.
Discovery has to be delayed until after the initial site login to get
the car metadata.
* mychevy: added basic mychevy component
This implements a component using the mychevy library (which utilizes
selenium to webscrape the mychevy website for onstar for your
car). The architecture works by having a background thread doing
periodic polling of the website, and updating the sensors when new
data is found.
This requires rather more setup than most platforms, as you need
working selenium. Instructions will be provided on the component
list. All the sensors are spawned and coordinated from a single "hub"
as they are really just attributes of the same web scraping session.
* mychevy: only poll every 30 minutes
* mychevy: update sensors
* mychevy: better error handling
* mychevy: tweaking for refactor
* mychevy: bump version to handle odometer > 1000
* mychevy: great sensor reorg
* mychevy: add binary sensors
* mychevy: bump mychevy requirement
* mychevy: use dispatcher
Instead of directly modifying the sensors, this lets us use a
dispatcher to have sensors pull information from the car object when
there is a relevant update for them.
* mychevy: remove from coverage
* mychevy: dedicated constants for dispatch signals
This makes the dispatch signals dedicated topics, and fixes updating
the state on the sensors so that they are correctly updated.
* mychevy: updated with comments from martinhjelmare
* mychevy: set battery icon based with helper function
* Address additional review feedback
* Address additional review comments