* Improve typing
* One more typing fix
* Run hassfest
* Fix test
* Fix return from constructor
* Add missing Final
* Improve long string format
* Use bool for mute
* Remove unnecessary str type
* Fix host type
* Add missing Final
* Increase test coverage
* Suggested change
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
As of version 0.14, the venstar_colortouch lib always initializes hum_setpoint to None. When a thermostat actually reports a humidifier state, this value is replaced with the integer value of the setpoint. This changeset corrects the humidifier detection as well as adds basic test cases for the Venstar component.
* Add support for effects, transition/brightness parameters to template light, min_mireds and max_mireds templates
* code fixes
* min_mireds, max_mireds fixes
* test fixes
* more fixes
* format fix
* style fix
* _update_effect_list change
* style fix
* Fixes after review
* additional fixes
* duplicated lines removed
* fixes after CI run
* test fixes
* code and test fixes
* supports transition change, added test cases
* Wallbox component added
* resolved mergeconflicts from upstream
* fixed an incorrect removal in CODEOWNERS file
* fixes for pullrequest automatic test
* clean up code after PR tests
* fixed strings.json
* fix config_flow error > wallbox
* fixed some formatting issues
* fix pylint warnings
* fixed error in number.py > set value
* pylint warnings fixed
* some more pylint fixes
* isort fixes
* fix unused_import pylint
* remove tests
* remove test requirements
* config flow test
* test errors resolved
* test file formatting
* isort on test file
* sensor test
* isort on test
* isort test const
* remove not working sensor test
* remove test const
* add switch, number and lock test
* docstrings for test classes
* sort test_number, create test_sensor
* additional tests
* fix test error
* reduced PR to 1 component
* newline in const
* ignore test coverage -> dependency on external device (wallbox)
* do not ignore config_flow
* add test for validate_input
* remove obsolete import
* additional test config flow
* change test sensor
* docstring
* add additional test for exceptions
* fix test_config
* more tests
* fix test_config_flow
* fixed http error test
* catch connectionerror and introduce testing for this error
* remove .coveragefile
* change comment
* Update homeassistant/components/wallbox/__init__.py
review suggestion by janiversen
Co-authored-by: jan iversen <jancasacondor@gmail.com>
* Update homeassistant/components/wallbox/__init__.py
review suggestion by janiversen (format only)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
* Processed review comments, include more testing for sensor component
* Isolated the async_add_executor_job to make the solution more async
* add a config flow test
* Revert "add a config flow test"
This reverts commit 9c1af82fff.
* Revert "Isolated the async_add_executor_job to make the solution more async"
This reverts commit 0bf034c331.
* Make component more async and add config flow tests
* Changes based on review comments
* made _ methods in WallboxHub for the 'non-async' call to the API and try-catch. Stored the wallbox in the class.
* moved the coordinator to __init__ and pass it as part of the WallboxHub class
* removed obsolete function in __init__
* removed CONNECTION_CLASS = config_entries.CONN_CLASS_CLOUD_POLL
* fixed spelling and imports on test files
* did isort on component files
Co-authored-by: jan iversen <jancasacondor@gmail.com>
* initial commit of SIA integration
* translations
* moved reactions to file, typed everything
* fixed no-else-return 3 times
* refactored config and fix coverage of test
* fix requirements_test
* elimated another platform
* forgot some mentions of sensor
* updated config flow steps, fixed restore and small edits
* fixed pylint
* updated config_flow with better schema, small fixes from review
* final comment and small legibility enhancements
* small fix for pylint
* fixed init
* fixes for botched rebase
* fixed port string
* updated common strings
* rebuild component with eventbus
* fixed pylint and tests
* updates based on review by @bdraco
* updates based on new version of package and reviews
* small updates with latest package
* added raise from
* deleted async_setup from test
* fixed tests
* removed unused code from addititional account step
* fixed typo in strings
* clarification and update to update_data func
* added iot_class to manifest
* fixed entity and unique id setup
* small fix in tests
* improved unique_id semantics and load/unload functions
* added typing in order to fix mypy
* further fixes for typing
* final fixes for mypy
* adding None return types
* fix hub DR identifier
* rebased, added DeviceInfo
* rewrite to clean up and make it easier to read
* replaced functions with format for id and name
* renamed tracker remover small fix in state.setter
* improved readibility of state.setter
* no more state.setter and small updates
* mypy fix
* fixed and improved config flow
* added fixtures to test and other cleaner test code
* removed timeband from config, will reintro in a options flow
* removed timeband from tests
* added options flow for zones and timestamps
* removed type ignore
* replaced mapping with collections.abc
If we have the mac address from discovery, we can use it to wake
the TV. Currently the TV goes unavailable when you turn it off
as the only way to turn it back on is wake on lan or via the remote.
Users who are not using host networking can use a script instead.
* Change config entry state to an enum
* Allow but deprecate EntryState str equality comparison
* Test fixes
* Rename to ConfigEntryState
* Remove str comparability backcompat
* Update new occurrences of strs cropped up during review
* Add support for EDS0066
* Added a test
* Corrected entity_ids
* Added missing part of sensor entity id
* Add type hint
* Update tests/components/onewire/const.py
Co-authored-by: jan iversen <jancasacondor@gmail.com>
* Update tests/components/onewire/const.py
Co-authored-by: jan iversen <jancasacondor@gmail.com>
* Revert "Update tests/components/onewire/const.py"
This reverts commit 4a01b89868.
* Revert "Update tests/components/onewire/const.py"
This reverts commit 151eb9c0d3.
Co-authored-by: jan iversen <jancasacondor@gmail.com>
* Split initialization from data retrival
* Await class initialization
* Async camera
* More async
* Remove stale code
* Clean up
* Update tests
* Fix test
* Improve error handling
* Bump pyatmo version to 5.0.0
* Add tests
* Add cloudhook test
* Increase coverage
* Add test with no camera devices
* Add test for ApiError
* Add test for timeout
* Clean up
* Catch pyatmo ApiError
* Fix PublicData
* Fix media source bug
* Increase coverage for light
* Test webhook with delayed start
* Increase coverage
* Clean up leftover data classes
* Make nonprivate
* Review comments
* Clean up stale code
* Increase cov
* Clean up code
* Code clean up
* Revert delay
* Update homeassistant/components/netatmo/climate.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/netatmo/sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Address comment
* Raise cov
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Compile statistics for energy sensors
* Update tests
* Rename abs_value to state
* Tweak
* Recreate statistics table
* Pylint
* Try to fix test
* Fix statistics for multiple energy sensors
* Fix energy statistics when last_reset is not set
* Implement heartbeat in the Broadlink integration
* Rename INTERVAL to HEARTBEAT_INTERVAL
* Test that we log an error message when the heartbeat fails
* Improve type annotations
* Remove unused argument
* Simplify state logic
* Fix uvindex state
* Fix type for logger
* Increase tests coverage
* Fix pylint arguments-differ error
* Suggested change
* Suggested change
* Remove unnecessary variable
* Remove unnecessary conditions
* Use int instead of list for forecast days
* Add enabled to sensor types dicts
* Fix request_remaining conversion and tests
* Run hassfest
* Suggested change
* Suggested change
* Do not use StateType
* Mqtt fan resetting speed percentage or preset_mode
* tests reset payload is working with val templates
* Remove duplicate line for CONF_PAYLOAD_HIGH_SPEED
* Ensure startup can proceed if async_get_integration raises
There were cases where the event would never get set and
startup would deadlock because the second attempt to load
the integration would block forever
* pylint
* reorder
* flake 8
* Implement feedback from PR
* update warning message
* added and updated tests
* remove _has_tilt_topic variable
* flake 8
* Implement feedback from PR
* update warning message
* added and updated tests
* remove _has_tilt_topic variable
* renamed _tilt_message_received to _tilt_payload_received
* merged with latesed upstream/dev
* converted if to try except for type check
* Implemented the suggestions of @emontnemery
* Tweak tests
* logger info to debug
Co-authored-by: Shay Levy <levyshay1@gmail.com>
* cast tilt payload as int; combine exceptions to one line
* Add test for JSONDecodeError
* Update homeassistant/components/mqtt/cover.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Shay Levy <levyshay1@gmail.com>
* simplify pymodbus_call.
Do not call with a function object and a check attribute, call instead
with CALL_TYPE*.
Avoid if <type> call x else call y.
Call async_pymodbus_call directly, instead of unpacking/packing.
* Declare call type in __init__.
* Modbus.py back to 100% test coverage.
* Set device_class for shutters and blinds
* Add missing. imports
* Add tests for device class setting
* Clean up
* Avoid storing the node in an unused variable
* Fix entity name
* Extend qubino shutter discovery
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add interview feedback for add node websocket
* cleanup leftover logging
* add tests
* test interview failed event
* fix event type
* include manufacturer & model from device registry
* update test
* Growatt Server Config flow
* Use reference strings
Co-authored-by: SNoof85 <snoof85@gmail.com>
* Remove configuration.yaml import logic
* Removed import test
* Re-added PLATFORM_SCHEMA validation
* Import yaml from old yaml configuration
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Feedback
* Use Executor for IO only
* Fix imports
* update requirements
* Fix flake8
* Run every section of fetching devices in single executor
* Config flow feedback
* Clean up
* Fix plan step
* Fix config flow test
* Remove duplicate test
* Test import step
* Test already configured entry
* Clean up tests
* Add asserts
* Mock out entry setup
* Add warning if set up via yaml
Co-authored-by: SNoof85 <snoof85@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Added some extra attributes
Added the extra attributes
wind_gust_speed and
thunder_probability
that were already implemented in the underlaying library (joysoftware
/
pypi_smhi).
Also for the existing extra attribute cloudiness, it is added if "is not None" instead of just "if self.cloudiness" which would make it False (and therefore not available) if cloudiness = 0.
* Trying to solve the style issues
Removed white spaces and changed order of list as suggested by the tests.
* New try to solve the style issues
Removed some more white spaces...
* Changed dictionary handling as suggested
Changed dictionary handling as suggested by MartinHjelmare.
* Updated test
Updated test_weather.py to include the new attributes wind_gust_speed and thunder_probability.
* Added missing imports
Added the missing imports
ATTR_SMHI_THUNDER_PROBABILITY,
ATTR_SMHI_WIND_GUST_SPEED,
* Renaming self.thunder to self.thunder_probability and correcting test valuesfor
Renamed the new internal attribute
thunder to thunder_probability, same as the exposed attribute for improved consistency.
Corrected test values according to smhi.json.
* Forgot to change to self.thunder_probability in one place.
sorry.
* Add zwave_js support for HeatIt Z-TRM2fx
* fix docstring
* use AwesomeVersion to support firmware version ranges
* add guard against empty firmware range
* switch guard approach to raise exception sooner
* make post init more generic
* Set up firmware range schema as AwesomeVersion during initialization
* Update homeassistant/components/zwave_js/discovery.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Allow min_ver and max_ver to be None
* fix docstring
* reduce import scope
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Scaffold the integration
* Add config flow data schema
* Handle configuration errors
* Get folder states
* Support https
* Fix translations
* Listen to syncthing events in a separate thread
* Bump syncthing
* Automatically reconnect to the syncthing server
* Renames
* Improve loading and unloading
* Update folder states from events
* Refactoring, handle FolderPaused event
* Dynamic folder icons
* Refactoring
* Mark folders as unavailable when senrver is unavailable
* Update folder satus when server is available
* Raise PlatformNotReady
* Implement additional polling
* Stop polling when the server is not available
* Minor fixes
* Remove logging
* Check name uniqueness
* Refactoring
* Minor refactorings
* Bump python-syncthing
* Migrate to aiosyncthing
* Minor fixes
* Update .coveragerc
* Set quality scale
* Bump aiosyncthing, properly handle invalid token
* Fix logging
* Fix logging
* Use CONF_VERIFY_SSL from homeassistant.const
* Bump aiosyncthing. Add Syncthing device
* Fix device name
* Bump aiosyncthing
* Bump aiosyncthing
* Extract SyncthingClient
* Add folder to device_state_attributes
* Do not pass the loop
* Cover config_flow.py
* Move self.async_create_entry outside of the try block
* Raise ConfigEntryNotReady if syncthing server is not reachable
* Fix already configured error message
* Change default name to Syncthing
* Bump aiosyncthing
* Fix formatting
* Fix formatting
* Fix tests
* Fix typo, use lis comprehension
* Fix typo, remove unused CONFIG_SCHEMA
* Bump aiosyncthing
* Remove periods from log messages W0001
* Fix tests
* Black, isort
* Remove empty items from manifest.json
* Fix variable naming
* Remove async_setup
* Use SensorEntity
* Use asyncio.create_task instead of self._hass.loop.create_task
* Do not pass hass to FolderSensor initializer
* Rename device_state_attributes to extra_state_attributes
* Use callbacks
* Simplify tests
* Refactor _listen()
* Use url for the title
* Use the url instead of the name to identify the config entry
* Explicitly set sensor attributes, extract _filter_state
* Use server url instead of name in device_info
* Use server url instead of name in logs
* User server id as a device identifier
* Use URL instead of name to identify config entry
* Use shortened server id instead of name to build entity name and unique id
* Do not use CONF_NAME
* Cleanup unused strings
* Cleanup unused strings
* Add IOT class
* Scaffold the integration
* Add config flow data schema
* Handle configuration errors
* Get folder states
* Support https
* Fix translations
* Listen to syncthing events in a separate thread
* Bump syncthing
* Automatically reconnect to the syncthing server
* Renames
* Improve loading and unloading
* Update folder states from events
* Refactoring, handle FolderPaused event
* Dynamic folder icons
* Refactoring
* Mark folders as unavailable when senrver is unavailable
* Update folder satus when server is available
* Raise PlatformNotReady
* Implement additional polling
* Stop polling when the server is not available
* Minor fixes
* Remove logging
* Check name uniqueness
* Refactoring
* Minor refactorings
* Bump python-syncthing
* Migrate to aiosyncthing
* Minor fixes
* Update .coveragerc
* Set quality scale
* Bump aiosyncthing, properly handle invalid token
* Fix logging
* Fix logging
* Use CONF_VERIFY_SSL from homeassistant.const
* Bump aiosyncthing. Add Syncthing device
* Fix device name
* Bump aiosyncthing
* Bump aiosyncthing
* Extract SyncthingClient
* Add folder to device_state_attributes
* Do not pass the loop
* Cover config_flow.py
* Move self.async_create_entry outside of the try block
* Raise ConfigEntryNotReady if syncthing server is not reachable
* Fix already configured error message
* Change default name to Syncthing
* Bump aiosyncthing
* Fix formatting
* Fix formatting
* Fix tests
* Fix typo, use lis comprehension
* Fix typo, remove unused CONFIG_SCHEMA
* Bump aiosyncthing
* Remove periods from log messages W0001
* Fix tests
* Black, isort
* Remove empty items from manifest.json
* Fix variable naming
* Remove async_setup
* Use SensorEntity
* Use asyncio.create_task instead of self._hass.loop.create_task
* Do not pass hass to FolderSensor initializer
* Rename device_state_attributes to extra_state_attributes
* Use callbacks
* Simplify tests
* Refactor _listen()
* Use url for the title
* Use the url instead of the name to identify the config entry
* Explicitly set sensor attributes, extract _filter_state
* Use server url instead of name in device_info
* Use server url instead of name in logs
* User server id as a device identifier
* Use URL instead of name to identify config entry
* Use shortened server id instead of name to build entity name and unique id
* Do not use CONF_NAME
* Cleanup unused strings
* Cleanup unused strings
* Add IOT class
* Apply suggestions from code review
* Clean up
* Fix dict comprehension
* Clean sensor
* Use the server ID as a config entry unique ID
* Remove the AlreadyConfigured exception
* Clean up old error string
* Format json
* Convert sensor attributes to snake case
* Force CI
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Activate startup delay.
* Add removal of call_later if HA is stopped.
This is unlikely to happen, but just security measure.
* Removing timing interval.
async_fire_time_changed() needs to be called twice, first time the delay is
ended and second time update() is executed.
* Variable naming.
* Allow empty payload
* Add tests for ignoring empty payload
* logging on empty state and osccilation with tests
* Improve warning log when invalid value is received
* Rename _update() to update()
A platform neeed a function update(), even though
polling is false, this is due to the service:
homeassistant.update_entity, which calls update()
* Update test harnesss to script testing.
Test homeassistant.update_entity in all platforms.
This call calls update() in the platform to get
a new reading.
* Add reuse parameter.
* Move service call from helper to tests.
* Change run_service_update --> prepare_service_update.
* Remove entity_id parameter.
Remove old style configuration from switch.
- The old style configuration allowed a number of illegal
configurations, instead of adding if...log. in setup we
only support the new configuration style.
Add new/changed configuration switch.
Removed verify_state and cleaned configuration to avoid possible
illegal configurations.
* Prepare test harness for new pymodbus return types.
Use pytest.fixture to mock pymodbus.
Use pytest.fixture to load modbus using mocked pymodbus
Add test of Exception/IllegalResponse/ExceptionResponse from pymodbus.
* Modbus.py is back at 100% test coverage.
* Added assert mock.called.
* add mock reset.
* Add support for alarm events in logbook
* Update homeassistant/components/deconz/alarm_control_panel.py
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
* Add zwave_js WS API commands for node.refresh_values and node.refresh_cc_values
* remove guard since API will be used by frontend
* add missing validation
* use get in case node ID is wrong
* use decorator
* add additional coverage
* Add zwave_js discovery schema for Vision Security ZL7432
* add tests
* fix test
* add correct fixture
* Make discussed changes
* fix tests
* move event handler
* fix logic to get entity ID
* add test
* make discovery test more explicit
* remove domain from event data
* always provide entity_id key to make automations easier and translate value if possible
* formatting
* comment
* dont overwrite value
* start implementation of IAS ACE
* starting alarm control panel
* enums
* use new enums from zigpy
* fix import
* write state
* fix registries after rebase
* remove extra line
* cleanup
* fix deprecation warning
* updates to catch up with codebase evolution
* minor updates
* cleanup
* implement more ias ace functionality
* cleanup
* make config helper work for supplied section
* connect to configuration
* use ha async_create_task
* add some tests
* remove unused restore method
* update tests
* add tests from panel POV
* dynamically include alarm control panel config
* fix import
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
* Add power binary_sensor support to Sonos
* Prepare for future unloading of config entries
* Remove unnecessary calls to super() inits
* Add binary_sensor to tests, remove invalid test for empty battery payload
* Move sensor added_to_hass to common sensor class
* Avoid dispatching sensors if no battery
* Use proper attributes property
* Remove power source fallback
* Update homeassistant/components/sonos/speaker.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>