* 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
* Add Ombi integration
* Black
* Remove trailing comma
* Change dict.get to dict[key] for known keys
* Remove monitored conditions from config
* Define SCAN_INTERVAL for default scan interval
* Adjust requests syntax and add music_requests
* Remove Ombi object initialization
* Move constants to const.py
* Fix imports
* Set pyombi requirement to version 0.1.3
* Add services.yaml
* Add config schema and setup for integration
* Set pyombi requirement to version 0.1.3
* Fix syntax for scan interval
* Fix datetime import
* Add all files from ombi component
* Move imports around
* Move imports around
* Move pyombi import to top of module
* Move scan_interval to sensor module
* Add custom validator for urlbase
* Add guard clause for discovery_info
* Add service validation schemas and constants
* Bump pyombi version
* Adjust urlbase validation
* Add exception warnings for irretrievable media
* Bump pyombi
* Change from .get to dict[key]
* Change schema and conf variable names
* Set return to return false
* Remove unneeded return
* Add basic support for IKEA Fyrtur blinds
* Update coveragerc
* Fix typo
* Fix typos
* Update following review
* Fix incorrect rebase
* Fix error
* Update to new format of unique id
* Add cover
* Remove reference to cover in unique id
* Update Vivotek camera component
Load model name to instance attribute
* Update Vivotek camera component
Ensure `update` is called when the entity is added.
* Update libpyvivotek to 0.2.2
https://pypi.org/project/libpyvivotek/0.2.2/
- Retrieve camera model name anonymously
- Raise a more helpful error for invalid creds
* 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
* making SENSOR_TYPES universal
* bump solaredge-local version 0.2.0
* add maintenance data
* add calculations for optimizer data
* add new sensors
* add statistics lib
* update sensor data setting
* making api requests universal
* fix Cl
* Update requirements_all.txt
* fix temperature
* fix f-strings
* Style guidelines
* shortening line length
* PEP8 test
* flake8
* Black test
* revert line length to 80
* Repair line 12
* black
* style change
* Black
* black using pip
* fix for pylint
* added proper variable name
* for loop cleanup
* fix capitals
* Update units
* black
* add check for good connection to inverter
* Roundig large numbers
* Add myself to codeowners
* Fix layout manifest
* Fix layout manifest
* Update manifest.json
* repair manifest layout
* remove newline in manifest
* add myself to CODEOWNERS
* 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.
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.
* Change datetime.now() to dt_util.now() in cases where the functionality should stay the same
These changes should not affect the functionality, rather cleanup our codebase.
In general we would like integrations to not to use datetime.now() unless there's a very good
reason for it, rather use our own dt_util.now() which makes the code aware of our current time
zone.
* Use datetime.utcnow() for season sensor to get offset-naive utc time
* Revert "Use datetime.utcnow() for season sensor to get offset-naive utc time"
This reverts commit 5f36463d9c7d52f8e11ffcec7e57dfbc7b21bdd1.
* BOM sensor last_updated should be UTC as well
* Run black
* Remove unused last_partition_update variable
* 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
* 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
* Composite entities require multiple value types to be present in
child values to function. Any of those value types should trigger an
entity update if updated.
* Always write platform v names as sets.
* Run black.
* velux KLF200 device did not disconnect properly when rebooting the hass device.
disconnect is now being called on the 'EVENT_HOMEASSISTANT_STOP' event
* removed comment
* removed comment
* trigger bot
* trigger bot
* trigger bot
* logging casing fixed. code moved from init.
* logger level debug
logger level moved from info to debug
only config[DOMAIN] exposed to module
imports moved to top
* DOMAIN part of config passed to module.
* removed trailing whitespaces etc.
* black --fast changes
* added missing docstring
* D400 First line should end with a period
* black formatting
Allow turning a light on instantly, with no transition time.
This is actually required for IKEA lights to be able to set brightness
and color temp in a single call.
* 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
* Initial implementation of ZCL color loop effect
* Fix linter complaints
* Use const for action
* Reformat with Black
* Cleanup after review.
* Handle effect being None
* Improve bluetooth device tracker code
* Don't use set operations
* Fix logging template interpolation
* Warn if not tracking new devices and not devices to track
* Updates due to CR
* Fix pylint warning
* Fix pylint import warning
* Merge with dev
* Add support for doods
* Move connection to external module
* Fix for CI
* Another update for CI
* Reformatted via black
* Updated linting stuff
* Updated per code review
* Removed none check for something with a default
* Updated config parsing
* Updated if statements, need to disable lint check
* Fixed formatting and bug that should make linter happy
* Fixed one more issue with box drawing for areas
* removed extra imports
* Reworked per suggestion
* Changed output to debug for informational detection message
* 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