* add button platform
* default values for payload and payload_length
* allow `type` configuration for encoded payloads
* add test for type configuration
* move common constants to const.py
- CONF_PAYLOAD
- CONF_PAYLOAD_LENGTH
* validate payload for payload_length or type
* c&p errors
* fix unique_id and pylint
* fix validator
* Add support for PRESSURE_CBAR (centibars). This is the standard UOM for tensiometers.
While the data could be converted into something like MBAR, and displayed
like that, the correct UOM for this type of sensor is CBAR. Displaying
it as MBAR would be the same as displaying air pressure as feet of Hg, while
technically correct, it's hard to understand when reading.
Adding support for this UOM will fix errors in the UI(statistics) about the unit not
matching a unit of the device_class.
* Add tests for PRESSURE_CBAR
* Change existing toggle to add new function
* Fixed using old property method to using actual protected variable.
* Adding service tests to new cover toggle function
* Working on comments from Pull Request 59233
* Adjust existing tests to fit new fake cover setup
* MockCover is calling state method of MockEntity but should call it from CoverEntity
* using different entity to get back test coverage
* Mark octoprint temperature sensors as unavaible when value is not supplied
* Check for none explictly
* Do not mark the entity as unavailable
* Swap to using er.get_async
* Add speed conversion function
* Add test for speed utility functions
* Update unit system tests
* Fix incorrect unit conversions in tests
* Fix some test errors
* Calculate speed units from smaller set of constants
* Fix typo in speed test
* Use pytest.approx for checking floating point values
* Change other instance of speeds needing to be pytest.approx
* Revert changes to unit system
* Fix oopsie in defining in/day and in/hr
* Parametrize test
* Add comments describing calculations & remove duplicate test
* Fix statistics precision error when configured 0, fix#42547
* Add tests for statistics precision
* Apply precision=0 logic to float numbers only
* Implement contextlib way of exception handling
* Catch statistics startup error for None value states, fix#49254
* Add test for statistics None handling
* Update tests/components/statistics/test_sensor.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Switch test case logic to remove sensor last
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Fetch flux_led effects from library
- Each model can have different effects
* Improve support for flux_led pixel/RBM controllers
- RBM effects 1-100 are now available
* empty
* update total_connect_client to 2021.10
* update for total_connect_client changes
* remove unused return value
* bump total_connect_client to 2021.11.1
* bump total_connect_client to 2021.11.2
* Move to public ResultCode
* load locations to prevent 'unknown error occurred'
* add test for zero locations
* Revert "load locations to prevent 'unknown error occurred'"
This reverts commit 28b8984be5.
* Revert "add test for zero locations"
This reverts commit 77bf7908d5.
* convert signal messenger unittest to pytest
* more fixtures
* more assertions and fixed test attachment sending
* reverted unrelated changes
* fixed flake errors
* Flake8 related issues fixed
* HHTPStatus instead of int
* tests for a Symo inverter system
* update testing requirement
* add tests for energy meter data
* move response JSONs to fixture directory
* add storage system response
* review suggestion
* Add binary_sensor to venstar to track alerts
* Add binary_sensor.py to coveragerc
* Apply suggestions from code review by alengwenus
Co-authored-by: Andre Lengwenus <alengwenus@gmail.com>
* Fixup black any mypy complaints
* Yank the typing, it makes everything complain
Co-authored-by: Andre Lengwenus <alengwenus@gmail.com>
* Add support for Installed Auth authentication flows.
Add support for additional credential types to make configuration simpler for
end users. The existing Web App auth flow requires users to configure
redirect urls with Google that has a very high security bar: requires ssl,
and a publicly resolvable dns name.
The new Installed App flow requires the user to copy/paste an access code
and is the same flow used by the `google` calendar integration. This also
allows us to let users create one authentication credential to use with
multiple google integrations.
* Remove hard migration for nest config entries, using soft migration
* Add comment explaining soft migration
* Revet changes to common.py made obsolete by removing migration
* Reduce unnecessary diffs in nest common.py
* Update config entries using library method
* Run `python3 -m script.translations develop`
* Revert nest auth domain
* Remove compat function which is no longer needed
* Remove stale nest comment
* Adjust typing for python3.8
* Address PR feedback for nest auth revamp