mirror of https://github.com/home-assistant/core
![]() * Make MQTT Alarm Control Panel features conditional The MQTT Alarm Control Panel currently enables all features (arm home, arm away, arm night, arm vacation, arm custom bypass) unconditionally. This clutters the interface and can even be potentially dangerous, by enabling modes that the remote alarm may not support. Make all the features conditional, by adding a new "supported_features" configuration option, comprising a list of the supported features as options. Feature enablement seems inconsistent across the MQTT component; this implementation is most alike to the Humidifier modes option, but using a generic "supported_features" name that other implementations may reuse in the future. The default value of this new setting remains to be all features, which while it may be overly expansive, is necessary to maintain backwards compatibility. * Apply suggestions from code review * Use vol.Optional() instead of vol.Required() for "supported_features". * Move the initialization of _attr_supported_features to _setup_from_config. Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com> * Apply suggestions from emontnemery's code review * Use vol.In() instead of cv.multi_seelct() * Remove superfluous _attr_supported_features initializers, already present in the base class. Co-authored-by: Erik Montnemery <erik@montnemery.com> * Add invalid config tests for the MQTT Alarm Control Panel * Set expected_features to None in the invalid MQTT Alarm Control Panel tests * Add another expected_features=None in the invalid tests Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com> --------- Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com> Co-authored-by: Erik Montnemery <erik@montnemery.com> |
||
---|---|---|
.devcontainer | ||
.github | ||
.vscode | ||
docs | ||
homeassistant | ||
machine | ||
pylint | ||
rootfs | ||
script | ||
tests | ||
.core_files.yaml | ||
.coveragerc | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
.hadolint.yaml | ||
.pre-commit-config.yaml | ||
.prettierignore | ||
.readthedocs.yml | ||
.strict-typing | ||
.yamllint | ||
CLA.md | ||
CODEOWNERS | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
Dockerfile.dev | ||
LICENSE.md | ||
MANIFEST.in | ||
README.rst | ||
build.yaml | ||
codecov.yml | ||
mypy.ini | ||
pyproject.toml | ||
requirements.txt | ||
requirements_all.txt | ||
requirements_docs.txt | ||
requirements_test.txt | ||
requirements_test_all.txt | ||
requirements_test_pre_commit.txt |
README.rst
Home Assistant |Chat Status| ================================================================================= Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server. Check out `home-assistant.io <https://home-assistant.io>`__ for `a demo <https://demo.home-assistant.io>`__, `installation instructions <https://home-assistant.io/getting-started/>`__, `tutorials <https://home-assistant.io/getting-started/automation/>`__ and `documentation <https://home-assistant.io/docs/>`__. |screenshot-states| Featured integrations --------------------- |screenshot-integrations| The system is built using a modular approach so support for other devices or actions can be implemented easily. See also the `section on architecture <https://developers.home-assistant.io/docs/architecture_index/>`__ and the `section on creating your own components <https://developers.home-assistant.io/docs/creating_component_index/>`__. If you run into issues while using Home Assistant or during development of a component, check the `Home Assistant help section <https://home-assistant.io/help/>`__ of our website for further help and information. .. |Chat Status| image:: https://img.shields.io/discord/330944238910963714.svg :target: https://www.home-assistant.io/join-chat/ .. |screenshot-states| image:: https://raw.githubusercontent.com/home-assistant/core/master/docs/screenshots.png :target: https://demo.home-assistant.io .. |screenshot-integrations| image:: https://raw.githubusercontent.com/home-assistant/core/dev/docs/screenshot-integrations.png :target: https://home-assistant.io/integrations/