* add alarm_control_panel to google_assistant
* add cancel arming option
* raise error if requested state is same as current
* rework executing command logic
* Add tests
* fixed tests
* fixed level synonyms
* Added availability_template to Template Switch platform
* Fixed Entity discovery big and coverage
* flake8
* Cleaned template setup
* I'll remember to run black every time one of these days...
* Updated AVAILABILITY_TEMPLATE Rendering error
* Moved const to package Const.py
* Fix import order (pylint)
* Refactored availability_tempalte rendering to common loop
* Cleaned up const and compare lowercase result to 'true'
* reverted _available back to boolean
* Fixed tests (async, magic values and state checks)
* Fixed Enity Extraction
* Added availability_template to Template Sensor platform
* Added to test for invalid values in availability_template
* Updated AVAILABILITY_TEMPLATE Rendering error
* Moved const to package Const.py
* Fix import order (pylint)
* Moved availability_template rendering to common loop
* Removed 'Magic' string
* Cleaned up const and compare lowercase result to 'true'
* Device is unavailbale if value template render fails
* Converted test ot Async and fixed states
* Comverted back to using boolean for _availability
* Fixed state check in test
* Use light's on_level in ZHA to turn on at the correct brightness
Previously, if the light is turned off with a time transition, the
brightness level stored in the light will be 1. The next time the light
is turned on with no explicit brightness, it will be at 1.
This is solved by storing the current brightness in on_level before
turning off, and then using that when turning on (by calling the
onOff cluster 'on' command).
* store off light level locally to avoid wearing device's flash memory
* store off brightness in HA attributes
* improve set/clear of off_brightness
* fix device_state_attributes; clear off_brightness when light goes on
* fix tests
* Add here_travel_time
* Bump herepy version to 0.6.2
* Update requirements_all.txt
* Disable pylint and catch errors
* Add herepy to requirements_test_all
* Correctly place test req for herepy
* use homeassistant.const.LENGTH_METERS
* Implemented Requested Changes
* Better error message for cryptic error code
* add requested changes
* add_entities instead of async
* Add route attr and distance in km instead of m
* fix linting errors
* attribute duration in minutes instead of seconds
* Correct pattern for longitude
* dont split attribute but rather local var
* move strings to const and use travelTime
* Add tests
* Add route for pedestrian and public
* fix public transport route generation
* remove print statement
* Standalone pytest
* Use hass fixture and increase test cov
_resolve_zone is redundant
* Clean up redundant code
* Add type annotations
* Readd _resolve_zone and add a test for it
* Full test cov
* use caplog
* Add origin/destination attributes
According to https://github.com/home-assistant/home-assistant/pull/24956
* Add mode: bicycle
* black
* Add mode: publicTransportTimeTable
* Fix error for publicTransportTimeTable
Switch route_mode and travel_mode in api request.
* split up config options
* More type hints
* implement *_entity_id
* align attributes with google_travel_time
* route in lib
apply requested changes
* Update requirements_all.txt
* remove DATA_KEY
* Use ATTR_MODE
* add attribution
* Only add attribution if not none
* Add debug log for raw response
* Add _build_hass_attribution
* clearer var names in credentials check
* async _are_valid_client_credentials
* fixed latitude/longitude keys to be conform with spaceapi specification
* version is now a string as required by the spaceapi specification
* add spacefed
* fixed lat/lon in spaceapi tests
* extended tests
* add feeds
* extended tests
* add cache
* add more tests
* add projects
* more tests
* add radio_show
* more tests
* add additional contact attributes
* corrected valid issue_repoer_channel options
* validate min length of contact/keymasters
* fixed location as address is not required by spec
* Update homeassistant/components/spaceapi/__init__.py
Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch>
* Update homeassistant/components/spaceapi/__init__.py
Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch>
* fixed issue with name change for longitude/latitude
* Added expire_after to mqtt binary_sensor. Updated mqtt test_binary_sensor test.
* Cleanup MQTT Binary Sensor and tests after suggestions
* Updated to not alter state at all
* Change to include custom expired variable, and override available property to check expired
* Added # pylint: disable=no-member
* adding feature obtaining Moscow transport data from maps.yandex.ru api
* extracting the YandexMapsRequester to pypi
* fix code review comments
* fix stop_name, state in datetime, logger formating
* fix comments
* add docstring to init
* rename, because it works not only Moscow, but many another big cities in Russia
* fix comments
* Try to solve relative view in sensor timestamp
* back to isoformat
* add tests, update external library version
* flake8 and black tests for sensor.py
* fix manifest.json
* update tests, migrate to pytest, async, Using MockDependency
* move json to tests/fixtures
* script/lint fixes
* fix comments
* removing check_filter function
* fix typo
* up version on manifest.json
* up version to 0.3.7 in requirements_all.txt
* Improve gateway tests
* Harmonize all tests to use the same gateway initialization method
* Improve scene tests
* Add gateway resync call to platform tests
* Forgot to change switch tests to use common gateway method
* Improve event tests
* adding feature obtaining Moscow transport data from maps.yandex.ru api
* extracting the YandexMapsRequester to pypi
* fix code review comments
* fix stop_name, state in datetime, logger formating
* fix comments
* add docstring to init
* rename, because it works not only Moscow, but many another big cities in Russia
* fix comments
* Try to solve relative view in sensor timestamp
* back to isoformat
* add tests, update external library version
* flake8 and black tests for sensor.py
* fix manifest.json
* update tests, migrate to pytest, async, Using MockDependency
* move json to tests/fixtures
* script/lint fixes
* fix comments
* removing check_filter function
* fix typo
* iZone component
* Rename constants to const.
* Changes as per code review.
* Stop listening if discovery times out.
* Unload properly
* Changes as per code review
* Climate 1.0
* Use dispatcher instead of listener
* Free air settings
* Test case for config flow.
* Changes as per code review
* Fix error on shutdown
* Changes as per code review
* Lint fix
* Black formatting
* Black on test
* Fix test
* Lint fix
* Formatting
* Updated requirements
* Remaining patches
* Per code r/v
* Add config flow support
* Log error on failed connection
* Review comments
* Unused errors
* Move form to step
* Use instance var instead of passing argument
* Only share servers created by component
* Return errors early to avoid try:else
* Separate debug for validation vs setup
* Unnecessary
* Unnecessary checks
* Combine import flows, move logic to component
* Use config entry discovery handler
* Temporary lint fix
* Filter out servers already configured
* Remove manual config flow
* Skip discovery if a config exists
* Swap conditional to reduce indenting
* Only discover when no configs created or creating
* Un-nest function
* Proper async use
* Move legacy file import to discovery
* Fix, bad else
* Separate validate step
* Unused without manual setup step
* Async oops
* First attempt at tests
* Test cleanup
* Full test coverage for config_flow, enable tests
* Lint
* Fix lint vs black
* Add test init
* Add test package requirement
* Actually run script
* Use 'not None' convention
* Group exceptions by result
* Improve logic, add new error and test
* Test cleanup
* Add more asserts
Referencing issue #26418.
Prometheus metric names can only contain chars a-zA-Z0-9, : and _
(https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels).
HA currently generates invalid prometheus names, e.g. if the unit for a
sensor is a non-ASCII character containing ° or μ. To resolve, we need
to sanitize the name before creating, replacing non-valid characters
with a valid representation. In this case, I've used
"u{unicode-hex-code}".
Also updated the test case to make sure that the ° case is handled.
* Improve binary sensor tests
* Fix sensor tests
* Improve readability of binary sensor
* Fix climate tests
Fix sensor platform not loading climate devices as sensors
* Add test to verify adding new sensor after start up
* Fix typo in translations
* Work on bug #26619
* readd the homeassistant.start event
* Remove the callback
* Added the executor_job for _test_connection
* Update test_config_flow.py
* Improve configure service tests
* Add refresh device service test
* Add tests for setup and unload services
* Remove refresh device test from test_init
* Extra verification of deconz services existance in hass.data
* Emulate color temperature for non-ct lights in light groups
* fix tests
* Address review comments
* Fix black formatting
* Fix for pylint
* Address comments
* Fix black formatting
* Address comments
* Early draft
* Getting there
* Working fully with Hue dimmer remote
* Fix Balloobs comments
* No side effects in constructor
* Improve hue dimmer
* Add Ikea remote control
* Add xiaomi button support
* Refactor getting deconz event
* Added xiaomi devices and tradfri wireless dimmer
* Resolve unique id from device id
* Add Hue Tap and Tradfri on off switch
* More triggers for ikea on off switch and Aqara double wall switch
* Add support for Tradfri open close remote
* Fix changes after rebase
* Initial test
* Change id to event_id
* Fix translations and add subtypes
* Try if tests pass without the new tests
* Revert disabling tests
Add new exception InvalidDeviceAutomationConfig
* Ignore places calling remotes
* Enable all gateway tests
* Found the issue, now to identify which test creates it
* Remove block till done
* See if device automation test passes in azure
* Register event to device registry
* Enable test sensors
* Skip deconz event tests currently failing
* Added reason why skipping tests
* Initial commit for the solaredge configflow
* rerun the hassfest script
* Adding testcases
* Rerun hassfest, problem with black?
* Requirements for the tests
* Remove CONF_MONITORED_CONDITIONS from configuration.yaml
* Remove the options flow strings
* Resolve some comments
* Comments
* More comments
* Move the config from the sensor platform to the component itself
* More comments
* More comments
* Added solaredge __init__
* Added more test to increase coverage