* Fix default states and add device_class.
Car data is initialised to zero, which means that graphs have an ugly
drop to zero in them when HA is restarted. We should report "None" when
the state is unknown.
We need to use availability to signal whether binary_sensors have
sensible data or not.
We can remove the custom icons and use the defaults provided by using
appropriate device_class.
* Make isort happy.
* Explicitly return None
* Remove feature from bugfix PR.
* A platform is not a component
* Fix dynalite
* SUPPORTED_PLATFORMS --> PLATFORMS
* In tests
* In tests 2
* Fix SmartThings
* Fix ZHA test
* Fix Z-Wave
* Revert Z-Wave
* Use PLATFORMS const in ambient_station
* Fix ihc comment
* Rename BinarySensorDevice to BinarySensorEntity
* Tweak
* Move deprecation warning to __new__, add test
* Move deprecation warning back to __init__
* Move deprecation warning to __init_subclass
* Add prettier (in pre-commit and CI)
* Make all file prettier
* Change order
* Add to Azure Pipelines
* Fix a YAML file prettier caught as invalid
* Remove flow mapping using curly braces from all YAML service files
* Remove unneeded returns from handle_update()
* Start __init__() params with hass.
* Remove excess logging and downgrade remaining logging.
* Remove period from end of comment
* Decorate callback with @callback
* Use more descriptive variables than key and value.
* Inherit from BinarySensorDevice and overwrite is_on rather than state.
* Removed uncheckedreturn values.
* Use super() rather than explicit object.
* Use add_entities instead of add_devices.
* Don't use listener when calling immediately.
* Remove some excess logging.
* Switch to sync since pycarwings2 is sync.
* Remove RuntimeError exception matching.
* Add temporary reviewer comments.
* Add UI help descriptions for update service.
* Fix hound errors.
* Replaced time.sleep() with await asyncio.sleep()
* Removed location_updateon_on attribute since on device_tracker.
* Use async_added_to_hass() and async_dispatcher_connect().
* Use dict[key] because schema key is required.
* Clarify variable names.
* Remove icon for charging switch.
* Convert LeafChargeSwitch into service and sensor.
* Use async_dispatcher_send().
* Add guard checks for discovery_info. Consistent logs.
* Use async_schedul_update_ha_state().
* Device tracker should return true.
* Remove icon for climate control.
* Really remove icon for climate control.
* Use register() instead of async_register().
* Add guard on device tracker if discovery_info is None.
* Added work so far.
* Change interval so nobody drains their battery when I put this online
* Added the warning notice.
* Async setup
* Still broken, but we're getting there.
* Back to synchronous, moved refresh stuff into DataStore
* Functional sensors!
* Added working switches, tweaked intervals a bit
* Fixed turn off result
* Moved plug status to binary_sensor, added smart intervals
* Documentation and car nickname stuff
* Syntax fixes and coveragerc additions
* Style fixes
* Fixing the final line length
* Fixed an issue with newer models and bad climate data
* Forgot to check my line endings.
* New icons for most of the components
* Hotfix for handling Nissan's awful servers
* Merge in fixes made by Phil Cole
Remove invalid FIXMEs and update TODOs
Fixes for pylint and test for CarwingsError exception rather than Exception
Flake8 fixes
Add pycarwings2 to requirements_all.txt
Add extra configuration documentation.
Use pycarwings2 from pip. Check server dates between requests.
Add sensor device class for battery.
Async conversion fixes
flake8 fixes and docstrings
Non-async charging is OK
Handle multiple cars in the configuration
Convert to async. Better imports for platforms
Fix scanning interval & prevent extra refreshes. async switchover
Check discovery_info to prevent load of platforms
Ensure update frequency is always above a minimum interval (1 min).
Platforms don't have return values
Use values() instead of items() when not using key
Use snake_case (LeafCore becomes leaf_core)
commit 418b6bbcc49cf2909aac85869440435410abf3fd
* Add pycarwings2 to requirements_all.txt
* Make stopping charge error an 'info'. Remove TODO.
* Request update from car after sending start charging command.
* Delay initial (slow) update for 15 seconds and make async
* Flake8 line length fixes
* Try to fix D401 'imperative mood' git diff tox errors
* Try to fix more D401 'imperative mood' tox errors
* Default interval of an hour in code, to match comments.
* Update to pycarwings2 2.3
* Update to pycarwings2 2.3 in requirements_all.txt
* Remove documentation, instead refering to home-assistant.io
* Remove unneeded dispatcher_send()
* Remove unneeded requirements comments
* Combine excess debugging.
* Remove single line method signal_components()
* Bump to version 2.4 of pycarwings2
* Remove unused dispatcher_send
* Simplify logging of LeafEntity registration
* Update requirements_all.txt
* Multiple changes
Increase timeout to 30 seconds
Only consider battery_status
Fix plugged in status
Better attempts at try/exception handling
* Fix line length
* Use pycarwings 2.5
* Remove pointless 'is True'
* Remove unnecessary 'is True/False'
* Remove unnecessary 'is True/False'
* Use LENGTH_MILES and LENGTH_KILOMETERS
* Remove excess logging in setup_platform()
* Remove unnecessary 'is True'
* Use pycarwings2 version 2.6
* Require pycarwings2 version 2.7.
* Increase sleep delay for climate and location reponses.
* Remove unnecessary 'is True'
* Increase frequent polling warning to _LOGGER.warning()
* Use DEVICE_CLASS_BATTERY
* Remove extraneous 'is True'.
* Move icon strings to constants.
* Remove unneeded key.
* LeafRangeSensor ac_on property is internal.
* Flake8 missing line
* Remove homebridge attributes.
* Remove round battery % and range to whole numbers
* Use pycarwings2 2.8
* Move to embedded component model
* Reduce maximum attempts to 10 (5 mins)
* Include attempt count in 'waiting' log message
* Use await instead of yield. Remove @asyncio.coroutine decorators.
* Add @filcole as nissan_leaf codeowner
* Fix checking for if not data returned from vehicle. Don't double send signal on location update.
* Exposed updated_on, update_in_progress and next_update attributes.
* Add nissan_leaf.update service that triggers an update.
* Flake8 line fixes
* Remove excess and double logging.
* Add updated_on attribute for device tracker.
* Fix crash if pycarwings2 doesn't provide cruising ranges.
* Minor changes
* Minor changes
* Minor changes
* Minor changes
* Minor changes