I gave a talk at foss-north, which is a free / open source conference
covering both software and hardware from the technical perspective.
They recorded it and put it on YouTube.
This patch adds a link to that talk on the help page under "Videos,
talks, workshops and alike".
* Improving icloud device tracker
Updating documentation for new pull request to main HA codebase: "Improving icloud device tracker"
* Update device_tracker.icloud.markdown
* Update media_player.onkyo.markdown
* onkyo: removed optional value from sample config, update max_volume documentation to include required volume range
The automations were as the editor produces them, so not logically ordered or clear to read. I've re-written them to match the rest of the documentation.
* Adds docs for RainMachine component/hub
* Removing references to remote API
* Collaborator-requested changes
* Adding new info (per home-assistant/home-assistant#14225)
* Collaborator-requested changes
* Collaborator-requested changes
* Revert "Collaborator-requested changes"
This reverts commit 34f75ffab911dcd9a9ae3163645c7c6e9dbf54ee.
* I think I got it this time...
* Collaborator-requested changes
* Collaborator-requested changes
* Small tweak
* 📝 add specific instructions for Meraki device tracker
The current instructions aren't really complete, and require you to have both an understanding of how the Home Assistant API works, as well as be able to read through the code for the Meraki component to find the API endpoint you're supposed to use.
* Update formatting
It's a common source of confusion that with `track_new_devices: False` devices are still added to `known_devices.yaml`. This adds a note to say that this is to be expected.
* enable broadcast of FB bot messages
this should go together with PR https://github.com/home-assistant/home-assistant/pull/12459
it enables FB messenger broadcast ability to send messages to all people who interacted with the bot previously and have the chat open.
* fixes as per request from reviewer.
fixes as per request from reviewer.
FB -> Facebook
fixed indents. (not sure what 2x for each level was), but I fixed it as per sample above.
* Update notify.facebook.markdown
* ✏️ Tiny fixes
* Update notify.facebook.markdown
* Update notify.facebook.markdown
* 🚀 Trigger rebuild
* added documentation for the newly implemented services
* added documentation for update_state service
* improved documentation
* ✏️ Several improvements.
* Added climate.modbus module documentation
* Update climate.modbus.markdown
Updated IOT class Local Push to Local Polling.
* Reviewed comments for changes
Added configuration tags, removed optional configuration values, and set the correct release version.
* Fixed formatting with the configuration settings
* ⬆️ ha_release -> 0.68
* Propose reorder of config variables
I've found this docs horribly confusing. `lets_encrypt.accept_terms` should appear at the top of the list as it's the first entered variable. Also this should become `required` as typically `optional` config variables are not displayed in the example config, but it is here.
* Update duckdns.markdown
* Minor changes
You cannot currently change the light color with this component. The dimmer functionality is currently in the dev branch and will hopefully be in the next HA update, so I left that in for now.
* Update cover.wink.markdown
I made a suggestion to W1ll1am to improving the doc to mention availability of the MyQ Cover. He said good call - go for it and edit it.
* Remove whitespaces and empty lines
I was not able to login to Home Assistant till I change he Home Assistant config to place the Websocket reverse proxy info BEFORE the web UI info. In the other order it loads, but never lets me log in. If I reverse them, then I login just fine.
An external broker is more stable, this is something I did not know as a beginner.
Especially because the embedded broker has a memory leak.
It would have saved me a bunch of time and WAF trust issues if I would have had this piece of knowledge.
Issue on memory leak: https://github.com/home-assistant/home-assistant/issues/11594
It was pointed out that everywhere else `entity_id:` is in the `data:` section for `light.turn_on`. Updating the example here to be consistent with that.
Raspberry Pi Shield and USB adapter, compatible with Home Assistant and `bellows` python library. Based on Silabs EM35X MCU, compatible with ezsp protocol.
* Add transparency feature to google calendar component
* Set default behaviour to ignore the availability.
This reflects the old behaviour and does not break current workflows.
* add supporting info for 2nd gen august lock
2nd Gen August Lock needs to have the August Connect Module to be able to talk to home-assistant. If you have Doorbell then you don't need to have Connect. Just trying to help people troubleshoot in case they don't know whats going wrong.
* Update syntax
* Pushover: update webpage with clone URL
Hi, Pushover developer here.
I was notified that your app has a Pushover plugins, so I've listed it on our [apps page](https://pushover.net/apps) and enabled cloning for it. Instead of users having to upload an icon and fill in all the fields, users can be directed to https://pushover.net/apps/clone/home_assistant which pre-fills those fields and copies the icon.
I'm not sure if the `date` field in this markdown page needs to be bumped when it's updated, or if it's a creation date.
* Add some other minor changes
* extend development 101 with configuration.yaml entry and runtime example.
* being more descriptive, change quote marks to follow standards
* Minor changes
- Removed the "(Optional)" tag from the host-Parameter, because it is mandatory now
- Added another configuration example to clarify how to specify multiple configuration variables; the examples in the "multiple bridges..." section do show this already, but this section might be skipped by the majority of users owning only a single bridge.
Proposing changes to steps 8a and 8d. I looked back at previous versions and I don't think these steps were updated when the other steps it was originally referencing were moved/changed.
This text:
SQLite databases do not support native dates. That's why all the dates are saved in seconds since the UNIX epoch. Convert them manually using this site or in Python:
should have a link where it says "this text"
It now reads:
SQLite databases do not support native dates. That's why all the dates are saved in seconds since the UNIX epoch. Convert them manually using [this site](https://www.epochconverter.com/) or in Python:
* Fix ON/OFF being interpreted in binary_sensor.mqtt
YAML interprets `ON` and `OFF` to `true` and `false`. This causes the site to show that instead of the actual default payloads.
* Add header
* sensor.command_line: Round example CPU temperature value
multiply returns a float, which is inexact and sometimes gets rendered
with a lot of decimal places. Round additionally to get cleaner result.
* Move raw
* Add instructions on running MQTT ssl/nonssl simultaneously
I wanted to be able to recieve MQTT from my cell phone over SSL, but wanted local things that have limited RAM to be able to connect without the burden of SSL code.
* Tweaking
* Add comma
The use of `www/` is hidden in the middle of the page, it's impossible to direct people to it, and trivial to overlook. It's also wrong for Hass.io ;)
Updating to make it possible to link to it, and adding details on where to find it on Hass.io.
Also adding a note about needing to restart after creating the folder (there's been lots and lots of feedback about needing to do so)
Added that you can reload some pieces without a restart. Added reference to ensuring you run the check config as the user you run Home Assistant as (so that the right configuration is found)
* Xiaomi Air Humidifier integration.
* List of supported features improved
* Device independent service descriptions, missing model added to config schema, structure
* ✏️ Corrected brand namings
* Rewording, adding links
The current doc is written as if the listed options are the only options, no Bluetooth, iOS app, etc. It also pushes people quite hard at OwnTracks over MQTT.
While this won't solve the iOS app problem (it's not a component for some reason), it should hopefully help people realise that OwnTracks isn't the only option ;)
* ✏️ Tweaks
* Update default Pilight port number
Based on the Pilight docs targeted the default port is 5001,
As started here https://manual.pilight.org/development/api.html and in the original Home Assistant doc
I think they did a big refactor late last year to the code base and docs.
* 🚑 Host and port variables are optional
* 🚀 Trigger rebuild
* Remove optional configuration variables
* 🚀 Trigger rebuild
* Fix code for custom UI version
if you don't put the code in `{ }` `const`s are global
* Update frontend_creating_custom_ui.markdown
* Update frontend_creating_custom_ui.markdown
* Update frontend_creating_custom_ui.markdown
* Update lets_encrypt.markdown
Converted the DuckDNS section to use the Homeassistant component for background, much easier for new starters, and more in the spirit of keeping things within HA.
* Minor changes
* Create sensor.trafikverket_weatherstation.markdown.markdown
* Add trafikverket.png
trafikverket.png used for trafikverket_weatherstation sensor platform.
* api_key
Updated from api to api_key due to CONF_API_KEY.
* Removed text
Removed text which I used on GitHub for the custom component. Now needed to have for the official release.
* Example picture
Added an example picture to better understand how to get the weather station.
* Added example picture
Added an example picture to better understand how to get the weather station. What the user needs to copy and add to the YAML file.
* Added usage information
Added examples of the usage (why needing the data).
* linkable_title
Changed from normal titles to linkable_title in order to follow the documentation standards.
* Updated based on feedback
Done
- Rewrote "Usage" into "Potential use cases"
- Linked to Trafikverket homepage
- Description instead of static links
* Configuration variables
Updated to use "{% configuration %}" instead of "Configuration variables" as plain text.
* HA release 0.64.0
Updated ha_release to 0.64.0 instead.
* HA release 0.65.0
Updated ha_release to 0.65.0 since it wasn't merged in 0.64.0 release.
* ✏️ Tiny improvements
* ha_release and note
Updated ha_release to 0.66.0 and removed a note about using secrets.yaml for all your API keys, usernames and passwords.
* Small comment added to expose_by_default
It's not entirely clear that listing specific entities in entity_config is not enough to expose an entity if expose_by_default is set to false.
(This is my first PR so I hope I've done it correctly)
* ✏️ Rewording in order to fix the build
* Documentation for IFTTT alarm control panel
* Update alarm_control_panel.ifttt.markdown
* Call service instead of direct state change
* Update alarm_control_panel.ifttt.markdown
* HAS -> HASS
* Update alarm_control_panel.ifttt.markdown
* 🚑 Adds ha_release tag
* ✏️ Minor changes
* Update sensor.spotcrime.markdown
Changes the documentation to reflect the user supplied API key requirement.
* Change description and sample
Added optional keys to description and removed optional keys from sample
* Updated SCL command to Python 3.6 instead of 3.5
Instructions are for installing Python 3.6 but the scl command given assumes you have Python 3.5
* Updated autostart systemd template to use Python 3.6
Most mobile browsers and now discord use this to set appropriate colours in their interface, in discords case it is setting the colour of the line on the side of the content preview of links
* Update documentation for Speedtest Sensor
* Fixed configuration variables
* Fixed automation example
* Fixed example format
* Fix netlify errors for raw/endraw tags
* ✏️ Minor improvements
After updating 0.65.4 I kept seeing errors about a component I am not using or even have. This change is to make sure the discovery docs are kept to upto date with devices added to the discovery component.
Line 40 Change:
You can also use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade homeassistant`
to
You can also use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade home-assistant`
as this was incorrect
* Configuration key "model" and "xiaomi_miio_set_delayed_turn_off" service added.
* Service parameter renamed.
* New device model (philips.light.zyceiling) added.
* Service parameter updated.
* Format of the services updated.
Configuration schema added.
* Missing supported device added.
* Added support for multiple onvif profiles
Related to pull request https://github.com/home-assistant/home-assistant/pull/11651
* ✏️ Spelling & grammar fixes
* Removed info about profile data in attribute
Removed information about profile data in attributes, as it is not going to be implemented.
* add sony songpal docs
* use configuration, add a title for configuration section
* remove oxford comma, add link to media_player's services
* add entity_id desc for service
* be more descriptive which devices are supported
* Update songpal supported devices + bump version
* discoverY
* Update media_player.songpal.markdown
* Fix invalid syntax
* add sony songpal docs
* use configuration, add a title for configuration section
* remove oxford comma, add link to media_player's services
* add entity_id desc for service
* be more descriptive which devices are supported
* Update songpal supported devices + bump version
* discoverY
* Update media_player.songpal.markdown
* Fix invalid syntax
* Added support for multiple onvif profiles
Related to pull request https://github.com/home-assistant/home-assistant/pull/11651
* ✏️ Spelling & grammar fixes
* Removed info about profile data in attribute
Removed information about profile data in attributes, as it is not going to be implemented.
* Configuration key "model" and "xiaomi_miio_set_delayed_turn_off" service added.
* Service parameter renamed.
* New device model (philips.light.zyceiling) added.
* Service parameter updated.
* Format of the services updated.
Configuration schema added.
* Missing supported device added.
Added some instructions for downgrading the apk to retrieve the token. The current root method does not work with the latest version of the app. I have not tested iOS but I assume the same would be true for all platforms/methods. I suggested apkmirror because they do signed builds and we want to avoid newbies grabbing malware.
Maria DB 10 have changed port from 3306 that Maria DB are using and is standard in this component. Maria DB is using port 3307 instead and that need to be added in the configuration to work. I have added a note in the description to add the port to the server_ip.
* Added instructions for magisk based root
AFAIK Magisk does not integrate with Android to provide an option for shell over adb. However it does allow you to escalate privileges once in a shell.
* Minor changes
The docker compose examples have you create a service called 'web', which will create web_1 docker container. Other references within the documents say to run `docker restart home-assistant`, yet this docker container does not exist when using the docker compose examples. Updated compose so they will have a standard name for the container that is created.
* adding a method to Recovery the token
The access token also can be found with the Command Line tool from miio. I tested this and works.
* Update format
# add paragraph to explain how to update docker-compose.yml example for macOS
# The TZ issue wasn't specific to `boot2docker`
# Add details link for net:host vs port: conflict
# Add details link for TZ issue
Since the website saves numbers with , the sensor ends up with "," when trying to use it in automations float does not work.
So i thought i added this if somone ells uses the example
We should recommend users to setup this optional configuration key, as some were unaware that this is a required step when they add devices in the future so we should inform them of this. Some users are not aware that they can also issue a voice command to sync the home assistant device list.
The basic venv install guide mentions this step so we should make sure the advanced guide has the same step in the same location.
The note about the advanced guide is there to reassure the user they are on the correct page even though the raspberry pi is heavily mentioned here.
* Filter component
* changes as requested
* Changed the component name
* updated according to new version
* Chaining explained
* Added extra sensor and screenshot
* Update sensor.filter.markdown
Some users find difficulty when installing or applying updates however, once they switch to the advanced guide those problems go away.
I am not sure if the code block will work for the note so feel free to remove it if it does not :)
* Remove the note about multilingual view
Lokalise upped their onboarding game, and this is called out now
directly in-app. No more need to call it out here.
* Add links to join both translation projects
* Updated for recent Insteon version update
* Fix linkable_title
* Correct formating issues
* Clean up yaml content
* Exclude VS items
* Remove tabs from line
* Simplify description of config options
* Clarify device_override
* Remove newnames configuration option
* Fix spelling and clearify autodiscovery
* Remove tabs from yaml
* Update for documentation review
* Revert version back to original release version.
We clarify the location of the counter alias by renaming it `counter` --> `my_custom_counter` and remove potential for confusion with the similarly named `counter` field above.
* Clarity edit for timelapse and file path
Existing wording for timelapse implies that a value of 1000 results in pictures being taken every millisecond, so the value is in microseconds.
Added link for the whitelist to make it easier to find the relevant config section.
* Shorter URL
The Invalid Config card showing the ios component sends you to /components/ios/ which has now been moved to /docs/ecosystem/ios/, causing a 404 to be shows to users who click the link. Added the redirect statement to this page to accommodate.
* added first draft of documentation for bmw_connected_drive
* forgot to save...
* updated description of config file to latest implementation
* fixed reviews from @MartinHjelmare
* Minor changes
* Add periods
* Minor changes
* Minor changes
* Minor changes
* Fix
* It's a string
* Update mqtt_eventstream with ignore_call_service
Documentation for ignore_call_service
* update docs to reflect new functionality
updated docs based on PR feedback
* update example
* Added how to find the web UI.
As the getting started guide is now totally Hass.io focussed, there's no longer anywhere to tell people how to reach the web UI.
* Typo fix
Currently the venv links to python 3.4 specifically. Since support for py 3.4 is being dropped it makes more sense to point to the python 3 page where the user can select the version they are using. This principle probably applies to many links in the docs.
The note in the documentation for triggers says that the
homeassistant_start event has been deprecated. This PR just adds that
note to the events page.
It is unclear to me if homeassistant_stop has also been replaced by
'stop' on the 'homeassistant' platform. If so, the note should probably
be expanded on both pages to indicate that.
Using a more consistent usage regarding the interaction between `target`, `user_id` and `chat_id`.
The `target` can be both a `user_id` or a `target_id`, leaving the `user_id` (which was the original one). But the `chat_id` parameters should be a `chat_id` identificator, for consistency.
Also updated the description for `target` parameter on Telegram calls.
* Create media_player.xiaomi_tv.markdown
* Updated documentation to comply with style guidelines.
* Added default for value for name.
* Added appropriate information and warnings.
* Added release vesion.
* Update homematic.markdown
in order to get it running and hass.io to be able to add new homematic sensors, I had to change the configuration in this particular way.
* Update homematic.markdown
double checked. only changed interface name is needed
We should provide proper guidance to the user about the importance of release notes and paying attention to breaking changes. A common error users face while updating home assistant is not paying attention to the breaking changes. If the user has not done an update in sometime they may also forget about previous breaking changes that still stand.
We should consider recommending a network key for all z-wave installations. As users begin to add more and more devices they may not think about adding this later on as the network grows. Many users come to Discord or elsewhere and get confused as to why their Z-Wave device is not functioning correctly and come to find out they needed a network key and to add the device securely. As more and more Z-Wave Plus devices come out there are more security enabled devices as well. All locks and sensors are pretty much security devices.
* Added port clarity
Added notes to make it clear that if they're not using port 443, the port has to be specified (very common problem)
* Add some other minor changes
The owner of the original Haaska does not appear to be maintaining the
repository. However, mike-grant has incorporated the v3 smart home API
changes in his fork.
* Update media_player.vlc.markdown
(My first submission) Updated the page to state this component is not compatible with Hassio at the moment.
* Minor changes
The documentation was missing the step to enable the calendar API. It this step is not completed, the following error appears in the log: Encountered 403 Forbidden with reason "accessNotConfigured"
* Added note calling out Hass.io only
Given the ongoing confusion that add-ons cause, adding a note box to call out that add-ons are Hass.io only.
* Fix typo
Clarify that values drawn produce a discrete uniform distribution, and not for example a normal (or bell shaped) distribution. I intend to implement a random physics sensor which will return a bell distribution and this edit will avoid confusion.
* Revert "add documentation for "shared_gpio" flag to component switch.rpi_gpio"
This reverts commit f2dba1f614.
* clearify that rpi_gpio pins are exclusive to HASS-ussage when assigned
* Update example entity_id for System Monitor component
Required update if/when home-assistant/home-assistant#12124 gets merged.
* Update entity_id
Update entity_id to reflect changes in PR
* Remove note
Remove note about differing entity_ids: after home-assistant/home-assistant#12124 is merged, all entity_ids will match the resource name.
The query with pg_size_pretty returns the value as a string, that way you can’t have a nice chart or make value comparison. Inserted new query to return value as number.
* add documentation and example for friendly_name_template
* standard fixes
* another example + no whitespace around pipes
* move the dot
* little example fix
* Minor changes
* Add sharing images between HASS instances
Adds description of how to share camera feeds between multiple home-assistant instances using the REST API.
* Minor changes
* Update switch.pilight.markdown to add variables and update links
The variables unitcode and programcode are missing from the variables-list, unitcode is mentioned in the text below but they should be listed as optional variables if they are in fact optional variables.
furthermore the wiki-links to pilight are outdated, so i replaced the wiki.pilight.org links with manual.pilight,org links to their respective updated pages.
* Update switch.pilight.markdown
delete programcode
* ✏️ Small improvements
It's come up quite a few times, with people asking why some scripts have a toggle, and some don't. This is to add a little clarity about it (I'm **assuming** that `wait` also results in a toggle - it'd be good to get that verified).
Simplest way to listen to IPv6 is use the `server_host` directive in the http component. That was undocumented (and may be considered a workaround) but works as expected and requires no changes on the codebase. It is worth documenting that here IMHO.
Note volume where the resin-sample config is on the SD card, note RPI
being a 2.4GHz WiFi device, state (non-)expectations about
HDMI/keyboard/mouse, encourage browsing to landing page during download.
* panasonic_viera: Add TX-P50GT30Y to known supported models
* panasonic_viera: Sort list of known supported models
* panasonic_viera: Point to actual source of page on GitHub
Fix symbolic links to python3 and homeassistant executable. Fix permissions and ownership to homeassistant directory to allow writing to home-assistant.log.
* New IHC platform
* autosetup -> auto_setup
* Moved auto setup to the IHC component
* Removed by LK in logo
* Changes from review.
* Defaults in configurations. manualy setup" changed to "manual setup" (Anchors adjusted)
* Relative links changed to absolute links
* 'host' renamed to 'url'
* ✏️ Tweaks
* New IHC platform
* autosetup -> auto_setup
* Moved auto setup to the IHC component
* Removed by LK in logo
* Changes from review.
* Defaults in configurations. manualy setup" changed to "manual setup" (Anchors adjusted)
* Relative links changed to absolute links
* 'host' renamed to 'url'
* ✏️ Tweaks
* clarify scenes
- add helper pointer, see https://github.com/home-assistant/home-assistant/pull/11819
- add workaround for multiple services, not sure actually where I found this
- add description of state definition, as it took me some time to get this
* ✏️ Minor changes
* Pulled through notes of other path options
Added notes that for Hass.io there may be multiple path options depending on the device.
* Updated Hass.io note
* sync usb_path to other docs
The hassio zwave documents reference usb_path: /dev/ttyACM0, so this document should be in sync. After some discussion it appears that this could be variable, in which case there should be a good way to figure out the CORRECT answer rather than using a guess as example code without stating it as such. Possibly linking back to the linux "how to find" section?
* Removed manual set language per suggestion
Raspbian does not keep files in /run. Therefor the pid directory needs to be created every time after boot. The easies is to put this into the start function.
Sorry, I did not test the patch with all my legacy systems.
* added iota documentation\
* removed ruby version file\
* changed logo
* minor changes to documentation
* re-added ruby version file
* ✏️ Minor grammar changes
* adding device_tracker.tomato https params
* converting to newer standard
* removing extra space
* Adding default values
* fixing some misc quoting bugs
* cleaning up optional params
* updating default port param to match ssl choice
* changing verbage
* New IHC platform
* autosetup -> auto_setup
* Moved auto setup to the IHC component
* Removed by LK in logo
* Changes from review.
* Defaults in configurations. manualy setup" changed to "manual setup" (Anchors adjusted)
* Relative links changed to absolute links
* Updating Google Assistant Docs for spelling and formatting
No content updates. Just changes to the spelling and formatting
* Update google_assistant.markdown
The "only the above URL" lead to some considerable confusion where somebody thought that you couldn't use the other Parameters, not that you had to use those.
While doing this, also update the configuration section to current
configuration markup best practices, which also fixed a number of
inaccuracies with the defaults by cross checking with the source code.
Fixes issue home-assistant/home-assistant#11821
* added config option "group_name" to plant
* added documentation for new behaviour of min_brightness
* Update plant.markdown
fixed typos
* * removed group feature (see PR for details)
* escaped curly braces as they were not rendered on github
* undo escaping braces
I changed the init scripts to be more reliable.
hass executable supports the option --log-file. Using this is much safer and does not lead to problems with permission and overwriting old logfiles. Also I added creating the directory and ownership in the install function. To prevent log file groth I added a logrotate rule.
I moved the update-rc.d command you had in your manual into the install function since you already ad it in the uninstall function. This prevents more copy&paste errors.
I changed the PID file to be located in an extra directory. This way you do not have to to this hack with writing a fake PID file in the install function. Also, I read many users having problems that hass daemon is not starting (see eg. https://community.home-assistant.io/t/autostart-virtualenv-ubuntu-14-04/2120/37) without showing any errors. This is due to a missing PID file or its wrong permissions. By changing as stated and adding a test this problem should not arise any more.
I changes some wording in the manual to make it more understandable.
Was saying platform not found with incorrect case when I used check config
Lower down in the doc it shows a correct example with lower case that did work
Given that people using Windows keep grabbing the alpha releases of 3.7, I've added a recommendation of Python 3.6, and a note about not downloading alpha or beta versions, and how to identify them.
* Update Hyperion light documentation
Added brightness, HDMI and effect support in my pull request.
This includes two new optional variables that can be configured.
* ✏️ Small typo's
* Updated documentation for PR https://github.com/home-assistant/home-assistant/pull/11325/files
* Updated documentation to match implementation using only one away_temp
* Updated documentation to add back initial_operation_mode avoiding breaking change
* ✏️ Minor grammar
* Deconz hub documentation
* Add binary sensor documentation
* Add sensor documentation
* Add light documentation
* Improve description
* Add information about HASS events from ZHASwitch buttonpresses
* Added description about how entity id naming works
* Added links to dresden elektronik, deconz and deconz rest api
Added automation examples for a IKEA Trådfri dimmer and input number
Added list of supported device types
Added lists of verified to work devices
Removed references to Axis component
* Changed description of how to generate API key
* Added information about configuration variables username and password
* Updated lists of verified devices
* Links from list of supported device to sub modules
* Remove documentation for api_key_generation since functionality has been removed
* Add documentation for configure service
* Documentation for scenes
* Bumped HASS release version to 0.59
* Added Xiaomi Aqara Smart Wireless Switch to list of verified to work devices
* Added improved automation example by simonporter007
* Added information about deCONZ configurator
* Fix raw code
* Added more lights to supported list
* Make description about entity id same in all types
* Updated installation instructions
* Added Dresden Elektroniks logo
* Added Tseels verified to work devices
* Bump ha_release string
* Added information about groups
Added additional verified lights
* Link to information about switch not being an entity on main hub page
* Improved information about switches not being normal entities
* It should be api_key not api-key
* Removed specifying deconz version
* Bump version to 0.61
* Fix typos
* Use configuration tags to describe configuration parameters
* Fix martinhjelamares comments
* Rename parameter service data attribute
* Create light.tcpbulbs.markdown
* Change Version to 0.59
* Change Configuration to correct formatting
* Removed Configuration Variables Header
* Update and rename light.tcpbulbs.markdown to light.greenwave.markdown
* Update light.greenwave.markdown
* Update light.greenwave.markdown
* 💄 Adds the Greenwave Reality logo
* 💄 Improved crop of logo
* added documentation for monoprice_snapshot/monoprice_restore services.
* ✏️ Tiny spelling & grammar fixes
* minor changes
* Changed service names to snapshot and restore
* fixed minor typo
* Documentation for Logitech UE Smart Radios
* Updated name.
* Update example config.
* Update with new configuration format.
* Updated with requested changes.
- [ ] Branch: Fixes, changes and adjustments should be created against `current`. New documentation for platforms/components and features should go to `next`.
- [ ] The documentation follow the [standards][standards].
- [ ] Branch: Fixes, changes and adjustments should be created against `current`. New documentation for platforms/components and features should go to `next`.
- [ ] The documentation follow the [standards][standards].
You can use this addon to check whether your configuration files are valid against the new version of Home Assistant before you actually update your Home Assistant installation. This will help you avoid errors due to breaking changes, resulting in an smooth update.
You can use this addon to check whether your configuration files are valid against the new version of Home Assistant before you actually update your Home Assistant installation. This addon will help you avoid errors due to breaking changes, resulting in a smooth update.
As long as a fully featured configuration GUI for Home Assistant is still under development, you can use this add-on to add a browserbased file-editor to your Hass.IO installation. By default it will listen on port `3218` of the host Hass.IO is running on.
As long as a fully featured configuration GUI for Home Assistant is still under development, you can use this add-on to add a browser-based file-editor to your Hass.IO installation. By default it will listen on port `3218` of the host Hass.IO is running on.
More information and a standalone version for regular Home Assistant installations can be found in the [GitHub repository][code].
@ -27,8 +27,8 @@ Screenshot of the HASS Configurator.
- Web-Based editor to modify your files with syntax highlighting.
- Upload and download files.
- Stage and commit changes in Git repositories, create and switch between branches, push to remotes.
- Lists of available triggers, events, entities, conditions and services. Selected element gets inserted into the editor at the last cursor position.
- Restart Home Assistant directly with the click of a button. Reloading groups, automations etc. can be done as well. An API-password is required.
- Lists of available triggers, events, entities, conditions, and services. The selected element gets inserted into the editor at the last cursor position.
- Restart Home Assistant directly with the click of a button. Reloading groups, automations, etc. can be done as well. An API-password is required.
- SSL support.
- Optional authentication and IP filtering for added security.
- Direct links to Home Assistant documentation and icons.
@ -49,21 +49,23 @@ Screenshot of the HASS Configurator.
"banlimit": 0,
"ignore_pattern": ["__pycache__"],
"dirsfirst": false,
"sesame": "somesecretnobodycanguess"
}
```
- **username** (*Optional*): Set a username to access your configuration is protected.
- **password** (*Required*): Set a password for access.
- **ssl** (*Optional*): Enable or Disable SSL for the editor.
- **allowed_networks** (*Optional*): Limit access to the configurator by adding allowed IP addresses / networks to the list.
- **allowed_networks** (*Optional*): Limit access to the configurator by adding allowed IP addresses/networks to the list.
- **banned_ips** (*Optional*): List of statically banned IP addresses.
- **banlimit** (*Optional*): Ban access from IPs after `banlimit` failed login attempts. The default value `0` disables this feature. Restart the add-on to clear the list of banned IP addresses.
- **ignore_pattern** (*Optional*): Files and folders to ignore in the UI.
- **dirsfirst** (*Optional*): List directories before files in the filebrowser.
- **dirsfirst** (*Optional*): List directories before files in the file browser.
- **sesame** (*Optional*): Secret token to dynamically allow access from the IP the request originates from. Open your bookmark https://hassio.yourdomain.com:8123/somesecretnobodycanguess while `allowed_networks` is set to `[]` and boom! Open Sesame! You can use the _Network status_ menu to revoke IP addresses for which access has been granted.
### {% linkable_title Embedding into Home-Assistant %}
Using the Home Assistant component [panel_iframe](https://home-assistant.io/components/panel_iframe/) it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration within the Home Assistant frontend.
Using the Home Assistant component [panel_iframe](/components/panel_iframe/) it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration from within the Home Assistant frontend.
An example configuration would look like this:
@ -76,5 +78,5 @@ panel_iframe:
```
<pclass='note warning'>
Be careful when setting up port forwarding to the configurator while embedding into Home Assistant. If you don't restrict access by requiring authentication and / or blocking based on client IP addresses, your configuration will be exposed to the internet!
Be careful when setting up port forwarding to the configurator while embedding into Home Assistant. If you don't restrict access by requiring authentication and/or blocking based on client IP addresses, your configuration will be exposed to the internet!
Setup and manage a [Dnsmasq](http://thekelleys.org.uk/dnsmasq/doc.html) DNS server. This allows you to manipulate DNS requests. For example, you can have your Home Assistant domain resolve with an internal address inside your network.
<pclass='note info'>
`interface` options are for resinos based installation. On other system you can set it to `""`, for listen on every interface.
</p>
```json
{
"defaults": ["8.8.8.8", "8.8.4.4"],
@ -23,14 +19,12 @@ Setup and manage a [Dnsmasq](http://thekelleys.org.uk/dnsmasq/doc.html) DNS serv
- **defaults** (*Required*): A list of dns server to forward default requests.
- **defaults** (*Required*): A list of DNS servers to forward default requests to.
- **forwards** (*Optional*): A list of domains that will forward to a specific server.
- **hosts** (*Optional*): A list of hosts to resolve it static.
- **interface** (*Optional*): If a interface is set, it listen only on this interface. Need to set for resinos. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
- **hosts** (*Optional*): A list of hosts to resolve statically.
[Duck DNS](https://duckdns.org/) is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice. This add-on includes support for Let's Encrypt and will automatically create and renew your certificates.
[Duck DNS](https://www.duckdns.org/) is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice. This add-on includes support for Let's Encrypt and will automatically create and renew your certificates.
```json
{
"lets_encrypt": {
"accept_terms": true
"accept_terms": true,
"certfile": "fullchain.pem",
"keyfile": "privkey.pem"
},
"token": "sdfj-2131023-dslfjsd-12321",
"domains": ["my-domain.duckdns.org"]
@ -24,10 +26,10 @@ featured: true
Configuration variables:
- **lets_encrypt.accept_terms** (*Optional*): If you accept the [Let's Encrypt Subscriber Agreement][le], it will generate and update Let's Encrypt certificates for your DuckDNS domain.
- **token** (*Required*): Your Duck DNS API key.
- **domains** (*Required*): A list of domains to update DNS.
- **seconds** (*Optional*): Seconds between updates to Duck DNS.
- **lets_encrypt.accept_terms** (*Optional*): If you accept the [Let's Encrypt Subscriber Agreement][le], it will generate & update Let's Enrypt certificates for your DuckDNS domain.
- **seconds** (*Required*): Seconds between updates to Duck DNS.
[le]: https://letsencrypt.org/repository/
@ -47,3 +49,7 @@ If you use a port other than `8123` or an SSL proxy, change the port number acco
## {% linkable_title Router configuration %}
You'll need to forward the port you listed in your configuration (8123 in the example above) on your router to your Home Assistant system. You can find guides on how to do this on [Port Forward](https://portforward.com/) - noting that you'll only need to forward the TCP port.
Ensure that you allocate the Home Assistant system a fixed IP on your network before you configure port forwarding. You can do this either on the computer itself (see the [install guide](/hassio/installation/) or via a static lease on your router.
Restart Home Assistant for the configured changes to take effect. When you access the Home Assistant frontend you will now need to use `https`, even when accessing local instances, for example at `https://192.168.0.1:8123`.
@ -32,10 +32,12 @@ Load and update configuration files for Home Assistant from a GIT repository.
}
```
- **repository** (*Required*): GIT url to your repository.
- **repository** (*Required*): GIT url to your repository. You have to add .git to your GITHub-Repository-URL (see example Config)
- **auto_restart** (*Optional*): Make a restart of Home-Assistant if the config have change and is valid.
- **repeat/active** (*Optional*): Pull periodic for GIT updates.
- **repeat/interval** (*Optional*): Pull all x seconds and look for changes.
- **deployment_user** (*Optional*): Username to use when authenticating to a repo with a username and password.
- **deployment_password** (*Optional*): Password to use when authenticating to a repo. Ignored if deployment_user is not set.
- **deployment_key** (*Optional*): A private SSH key that will be used for communication during git operations. This key is mandatory for ssh-accessed repositories, which are the ones with the following pattern: `<user>@<host>:<repository path>`.
- **deployment_key_protocol** (*Optional*): The key protocol. Default is "rsa". Valid protocols are:
@ -45,7 +47,7 @@ Load and update configuration files for Home Assistant from a GIT repository.
* **rsa**
The protocol is typically known by the suffix of the private key --e.g., a key file named `id_rsa` will be a private key using "rsa" protocol.
<pclass='note warning'>
You should only use this add-on if you do not have an existing configuration or if your existing configuration is already in a git repository. If the script does not find the necessary git files in your configuration folder, it will delete anything that might be there. Please ensure that there is a `.git` folder before using this. You can verify this by listing the items in the configuration folder including hidden files. The command is `ls -a /config`.
If you are wanting to integrate your Google Home, or mobile phone running Google Assistant, with Home Assistant then you want the [Google Assistant component](https://home-assistant.io/components/google_assistant/).
If you want to integrate your Google Home, or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component](/components/google_assistant/).
</p>
[Google Assistant][GoogleAssistant] is an AI-powered voice assistant that runs on the Raspberry Pi and x86 platforms and interact via the [DialogFlow][comp] integration with Home-Assistant. You can also use [Google Actions][GoogleActions] to extend its functionality.
@ -19,8 +19,8 @@ featured: true
To enable access to the Google Assistant API, do the following:
1. In the [Cloud Platform Console][project], go to the Projects page. Select an existing project or create a new project
2. Open the project. In the top of the page search for Google Assistant API or use [this link][API] and enable it.
3. Create an [OAuth Client ID][oauthclient], pick type "Other", click "Create" and download the JSON file by clicking the Download JSON button on the right side.
1. Open the project. In the top of the page search for Google Assistant API or use [this link][API] and enable it.
1. Create an [OAuth Client ID][oauthclient], pick type "Other", click "Create" and download the JSON file by clicking the Download JSON button on the right side.
Now install and activate the [Samba] add-on so you can upload your credential file. Connect to the "share" Samba share and copy your credentials over. Name the file `google_assistant.json`.
@ -52,9 +52,9 @@ Find the microphone and speakers that you want to use and note down their device
The next step is to authenticate your Google account with Google Assistant. Start the add-on and click on the "OPEN WEB UI" button to start authentication.
### Add-On configuration
### Add-on configuration
Configuration example that uses the USB microphone and use the built-in headset audio output on the Raspberry Pi. Note that card and device numbers can differ on your device.
Configuration example that uses the USB microphone and the built-in headset audio output on the Raspberry Pi. Note that card and device numbers can differ on your device.
```json
{
@ -66,14 +66,13 @@ Configuration example that uses the USB microphone and use the built-in headset
Configuration variables:
- **mic**: This is the hardware address of your microphone. Look at the add-on output
- **mic**: This is the hardware address of your microphone. Look at the add-on output
- **speaker**: This is the hardware address of your speakers. Look at the add-on output
### {% linkable_title Home Assistant configuration %}
Use the Home Assistant [DialogFlow component][comp] to integrate the add-on into Home Assistant.
Set up a [HomeMatic](https://github.com/eq-3/occu) hardware layer. At the moment we don't support hmIP but that is in progress. For learning and handling devices use our internal homematic panel and services (in progress) or use [Homematic-Manager](https://github.com/hobbyquaker/homematic-manager) > 2.0.
Set up a [HomeMatic](https://github.com/eq-3/occu) hardware layer. At the moment we don't support hmIP, but that is in progress. For learning and handling devices use our internal HomeMatic panel and services (in progress) or use [Homematic-Manager](https://github.com/hobbyquaker/homematic-manager) > 2.0.
The logic layer will be Home-Assistant. There is no ReGa or other logic layer installed. You can't import exists configuration, you need new learn it into Home-Assistant.
The logic layer will be Home-Assistant. There is no ReGa or other logic layer installed. You can't import an existing configuration, you'll need re-learn it into Home-Assistant.
description: "Automatically manage your SSL certificate using Let's Encrypt."
date: 2017-04-30 13:28
date: 2018-04-18 10:55
sidebar: true
comments: false
sharing: true
@ -14,15 +14,10 @@ featured: false
You should not use this if you are also using the [DuckDNS add-on]. The DuckDNS add-on has integrated Let's Encrypt support.
</p>
Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration.
<pclass='note warning'>
This add-on uses ports 80/443 to verify the certificate request. You will need to stop all other add-ons that also use these ports. If you don't need a port (like with https you don't need port 80) you can remove this from network config.
</p>
Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This addon will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration. This add-on uses port 80 to verify the certificate request. You will need to stop all other add-ons that also use this port.
@ -30,7 +25,6 @@ This add-on uses ports 80/443 to verify the certificate request. You will need t
Configuration variables:
- **challenge** (*Optional*): Default it use 443 ('https') you can change it to 'http' for use port 80.
- **email** (*Required*): Your email address for registration on Let's Encrypt.
- **domains** (*Required*): A list of domains to create/renew the certificate.
@ -45,6 +39,26 @@ http:
ssl_key: /ssl/privkey.pem
```
If you use a other port as `8123` or a SSL proxy, change the port number.
If you use another port such as `8123` or an SSL proxy, change the port number.
## {% linkable_title Enabling auto-renewals %}
Out of the box, the add-on will not automatically renew your certificate. In fact, it only starts, tries to get/renew your certificte, and then stops. It's up to you to manually start it again whenever your certificate comes close to expiry.
However, you can automate this process using Home Assistant.
Use this in your `automations.yaml` to attempt certificate renewal each day at midnight:
Set up a [mariadb](https://mariadb.org/) SQL server. It supports multiple databases, users and permission settings. If you want to only connect from inside home assistant use `core-mariadb` as the host address.
Set up a [mariadb](https://mariadb.org/) SQL server. It supports multiple databases, users, and permission settings. If you want to only connect from inside Home Assistant use `core-mariadb` as the host address.
Setup a SSL proxy with NGINX and redirect port 80 to 443. Make sure you have generated a certificate before you start this add-on.
In the `http` section of the `configuration.yaml` file remove `ssl_certificate` and `ssl_key` and don't enter the port in the `base_url` to avoid a HTTP 502 error.
Setup an SSL proxy with NGINX and redirect port 80 to 443. Make sure you have generated a certificate before you start this add-on.
In the `http` section of the `configuration.yaml` file remove `ssl_certificate` and `ssl_key` and don't enter the port in the `base_url` to avoid an HTTP 502 error.
```json
{
"domain": "home.example.com"
"domain": "home.example.com",
"certfile": "fullchain.pem",
"keyfile": "privkey.pem",
"hsts": "max-age=31536000; includeSubDomains",
"customize": {
"active": false,
"default": "nginx_proxy_default*.conf",
"servers": "nginx_proxy/*.conf"
}
}
```
Configuration variables:
- **domain** (*Required*): Domain they will proxy run with it.
- **certfile** (*Required*): Certificate file to use in the /ssl dir.
- **keyfile** (*Required*): Private key file to use in the /ssl dir.
- **hsts** (*Optional*): Value for the [`Strict-Transport-Security`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) HTTP header to send. If empty or `null`, the header is not sent.
- **customize** (*Optional*): If true, additional NGINX configuration files for the default server and additional servers are read from files in the /share dir specified by the `default` and `servers` variables.
<pclass='note'>
It is possible to deactive port 80 if you need this for things like `emulate_hue`. Remove the host port from Network option of this add-on.
It is possible to deactivate port 80 if you need this for things like `emulate_hue`. Remove the host port from Network option of this add-on.
description: "Manage your Home Assistant and custom addons over Samba."
description: "Manage your Home Assistant and custom add-ons over Samba."
date: 2017-04-30 13:28
sidebar: true
comments: false
@ -10,7 +10,7 @@ footer: true
featured: true
---
This allows you to set up a [Samba](https://samba.org/) server to access hass.io folders using Windows network shares.
This addon allows you to set up a [Samba](https://samba.org/) server to access hass.io folders using Windows network shares.
```json
{
@ -22,7 +22,7 @@ This allows you to set up a [Samba](https://samba.org/) server to access hass.io
"addons": true,
"share": true,
"backup": true,
"ssl": false,
"ssl": false
},
"username": "",
"password": "",
@ -32,10 +32,10 @@ This allows you to set up a [Samba](https://samba.org/) server to access hass.io
Configuration variables:
- **name** (*Optional*): default `hassio`. Set netbios name of hassio device.
- **workgroup** (*Optional*): default `WORKGROUP`. Set network workgroup.
- **guest** (*Optional*): Allow login without a username or password. Defaults to`true`.
- **map** (*Optional*): Control which folder will be expose. `config` is for Home Assistant configuration folder. `addons` for local custom repositiory. `share` is a folder that can access from add-ons and Home Assistant too. `backup` for access to snapshot files. `ssl` for certificate storage, be careful with this option! Defaults all to `true`, except for `ssl`.
- **username** (*Optional*): The username for logging in if guest login is not used.
- **name** (*Optional*): Set netbios name of Hass.io device. Default is `hassio`.
- **workgroup** (*Optional*): Set network workgroup name. Default is `WORKGROUP`.
- **guest** (*Optional*): Allow login without a username or password. Default is`true`.
- **map** (*Optional*): Control which folders will be exposed. `config` shares the Home Assistant configuration folder. `addons` shares the local custom repository. `share` shares a folder that can be accessed by add-ons and Home Assistant. `backup` shares access to snapshot files. `ssl` shares certificate storage. Be careful with the `ssl` option! Defaults are all set to `true`, except for `ssl`.
- **username** (*Optional*): Username for logging in if guest login is not used.
- **password** (*Optional*): Password for `username`. An empty password is not supported.
- **interface** (*Optional*): Interface on that will start the share. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
- **interface** (*Optional*): Interface that will start the share. Normally this is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
description: "Enhance your Hass.io installation with a local voice assistant."
date: 2017-04-30 13:28
date: 2018-05-02 13:28
sidebar: true
comments: false
sharing: true
footer: true
---
[Snips.ai] is an AI-powered voice assistant that runs on the Raspberry Pi 3 and x86 platforms. It runs on-device and is Private by Design.
[Snips.ai](https://snips.ai/) is an AI-powered voice assistant that runs on the Raspberry Pi 3 and x86 platforms. It runs on-device and is Private by Design.
To get started, follow [their tutorial] to create an assistant and download the training data.
The Snips add-on depends on the Mosquitto add on to bridge to Home Assistant, so make sure that is installed.
Now install and activate the [Samba] add-on so you can upload your training data. Connect to the "share" Samba share and copy your training data over. Name the file `assistant.zip`.
HomeAssistant comes with certain Intents builtin to handle common tasks. A complete list of Intents can be found in this wiki [Hass Snips Bundle](https://github.com/tschmidty69/hass-snips-bundle-intents/wiki).
Now it's time to start Snips for the first time. When the Snips add-on starts, it will output your audio devices:
The Snips addon by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a shopping list if that component is enabled.
If using a USB microphone and speakers plugged into the Raspberry Pi output, Snips will work without any change to the configuration. Trying saying things like:
```
Turn on kitchen light
Open garage door
What is on my shopping list
```
You need to use this information to point the add-on at the right speakers and microphone. The information describes different cards and devices. On a Raspberry Pi 3, card 0 - device 0 is the built-in headset port, card 0 - device 1 is the HDMI port. In the example above, the USB microphone showed up as card 1 - device 0.
To get started creating your own configuration, follow [their tutorial](https://snips.gitbook.io/documentation/console) to create an assistant and download the training data. You can also add the HomeAssistant Skill to your assistant to enable the built-in intents, and add or create your own intents to do more complex tasks.
Find the microphone and speakers that you want to use and note down their device and card number. We will need that to configure the add-on options `mic` (microphone to use) and `speaker` (speaker to use). The format for these options is `<card #>,<device #>`. Change the configuration options and click save.
Now install and activate the [Samba](/addons/samba/) add-on so you can upload your training data. Connect to the "share" Samba share and copy your assistant over. Name the file `assistant.zip` or whatever you have configured in the configuration options.
Now start the add-on.
Now it's time to start Snips for the first time. You can configure the microphone and sound card using the Add-on interface. Now start the add-on.
### Add-On configuration
### {% linkable_title Add-On configuration %}
```json
{
"mic": "1,0",
"speaker": "1,0",
"assistant": "assistant.zip",
"mqtt_bridge": {
"active": true,
"host": "172.17.0.1",
@ -54,23 +42,76 @@ Now start the add-on.
"user": "",
"password": ""
},
"assistant": "assistant.zip",
"language": "en",
"custom_tts": false,
"tts_platform": "amazon_polly"
}
```
Configuration variables:
- **mqtt_bridge** (*Optional*): Snips uses MQTT to communicate and defaults to their own broker. Use this config option to bridge their broker to your own.
- **mic**: This is the hardware address of your microphone. Look at the Snips
- **mqtt_bridge**: Snips uses MQTT to communicate and defaults to their own broker. Use this config option to bridge their broker to your the Mosquitto add-on.
- **assistant**: The name of your custom assistant in `/share`. If no assistant is found then a default assistant will be used.
- **language**: Language. This is used to select the default custom assistant, Currently `en`, `de` and `fr` are supported.
- **custom_tts**: Whether to use a TTS provider from Home Assistant for a variety of voices.
- **tts_platform**: Which TTS platform to use.
### {% linkable_title Home Assistant configuration %}
Use the Home Assistant [Snips.ai component][comp] to integrate the add-on into Home Assistant.
A simple configuration just requires this. Consult [Snips.ai component](/components/snips/) for more options.
### {% linkable_title Home Assistant configuration %}
There is an active [discord](https://discordapp.com/invite/3939Kqx) channel for further support.
### {% linkable_title Examples %}
So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your HassIO installation using the Samba addon.
Next create a weather sensor, e.g., one for (Dark Sky)[/components/sensor.darksky/] and put the `api_key` in your `secrets.yaml` file.
```yaml
- platform: darksky
name: "Dark Sky Weather"
api_key: !secret dark_sky_key
update_interval:
minutes: 10
monitored_conditions:
- summary
- hourly_summary
- temperature
- temperature_max
- temperature_min
```
Next add this to your `configuration.yaml` file to reference a new `intent_script` component. This is a good practice to [split your configuration files](/docs/configuration/splitting_configuration/) up.
```yaml
intent_script: !include intent_script.yaml
```
Finally, create this `intent_script.yaml` file in your configuration directory.
Setting up an [SSH](https://openssh.org/) server allows access to your Hass.io folders with any SSH client. It also includes a command-line tool to access the [Hass.io API](https://github.com/home-assistant/hassio/blob/dev/API.md). Try it out:
```bash
$ hassio help
hassio help
```
<pclass='note'>
This add-on will not enable you to install packages or do anything as root. This is not allowed with Hass.io.
</p>
To use this add-on, you must have a private/public key to log in. To generate them, follow the [instructions for Windows][win] and [these for other platforms][other]. It is possible to set a password for login since version 2.0 but for high security use private/public keys. You can not run both variant at same time.
To use this add-on, you must have a private/public key to log in. To generate them, follow the [instructions for Windows][win] and [these for other platforms][other]. It is possible to set a password for login since version 2.0 but for high security use private/public keys. You can not run both variants at the same time.
In order to start this add-on for the first time, you either need to include an ssh key (enclosed in quotation marks, on a single line without line breaks) or set a password in the options section.
To start this add-on for the first time, you either need to include an ssh key (enclosed in quotation marks, on a single line without line breaks) or set a password in the options section.
```json
{
@ -39,7 +39,7 @@ After logging in, you will find yourself in this add-ons container. The Home Ass
Configuration variables:
- **authorized_keys** (*Optional*): Your public keys for authorized keyfile. Every element will be a line inside that file.
- **authorized_keys** (*Optional*): Your public keys for the authorized keyfile. Every element will be a line inside that file.
- **password** (*Optional*): Set a password for login. We do not recommend this variant.
@ -15,17 +15,17 @@ Setting up the [Tellstick](http://telldus.com) service and tools contained in th
To use this add-on, you first install it from the list of Built-in add-ons in Hass.io.
After installation you are presented with a default and example configuration, to alter this you must follow both the JSON format and also be aligned with the [valid parameters for Tellstick configuration file (tellstick.conf)](https://developer.telldus.com/wiki/TellStick_conf).
After any changes has been made to the configuration you need to restart the add-on for the changes to take effect.
After any changes have been made to the configuration, you need to restart the add-on for the changes to take effect.
Configuration variables:
- **id** (*Required*): This is a number and must be unique for each device.
- **name** (*Required*): A name for easy identification of the device.
- **protocol** (*Required*): This is the protocol the device uses. More on the different protocols later down.
- **model** (*Optional*): The parameter model is only used by some protocols where there exists different types of devices using the same protocol. This can be dimmers versus non-dimmers, codeswitch versus selflearning etc.
- **id** (*Required*): A number and must be unique for each device.
- **name** (*Required*): A name for easy identification of the device.
- **protocol** (*Required*): This is the protocol the device uses. More on the different protocols later down.
- **model** (*Optional*): The model parameter is only used by some protocols where there exists different types of devices using the same protocol. This can be dimmers versus non-dimmers, codeswitch versus self-learning, etc.
- **house** (*Optional*): Depending on protocol the values here can vary a lot to identify or group per house or type.
- **unit** (*Optional*): Unit identifier, in most cases a value between 1 to 16 and often used in combination with house.
- **fade** (*Optional*): Fade is either `true` or `false` and tells a dimmer if is should fade smooth or instant between values (only for IKEA protocol as it seems).
- **unit** (*Optional*): Unit identifier, in most cases a value between 1 to 16 and often used in combination with the house.
- **fade** (*Optional*): Fade is either `true` or `false` and tells a dimmer if it should fade smooth or instant between values (only for IKEA protocol as it seems).
- **code** (*Optional*): A number series based on ones and zeroes often used for dip-switch based devices.
You will need to add internal communication details to `configuration.yaml` to enable the integration from Hass.io and the add-on.
@ -37,16 +37,15 @@ You will need to add internal communication details to `configuration.yaml` to e
tellstick:
host: core-tellstick
port: [50800, 50801]
```
To add [lights](https://home-assistant.io/components/light.tellstick/), [sensors](https://home-assistant.io/components/sensor.tellstick/) and [switches](https://home-assistant.io/components/switch.tellstick/) you follow the guidelines for each type individually that is [described for Home Assistant](https://home-assistant.io/components/tellstick/)
To add [lights](/components/light.tellstick/), [sensors](/components/sensor.tellstick/) and [switches](/components/switch.tellstick/) you follow the guidelines for each type individually that is [described for Home Assistant](/components/tellstick/)
The add-on will also enable you to interact with tdtool via a Home Assistant services call, see example below for selflearning device.
The add-on will also enable you to interact with the `tdtool` via a Home Assistant services call, see example below for self-learning device.
## {% linkable_title Examples %}
Example for adding more devices in the add-on configuration (note the comma separator between devices):
```json
@ -74,11 +73,11 @@ Example for adding more devices in the add-on configuration (note the comma sepa
## Service calls
If you wish to teach a selflearning device in your TellStick configuration:
If you wish to teach a selflearning device in your TellStick configuration:
Go to Home Assistant [service call](http://hassio.local:8123/dev-service) in Developer tools and select.
- Service: `hassio.addon_stdin`
- Enter service Data:
Go to Home Assistant [service call](http://hassio.local:8123/dev-service) in Developer tools and select.
Replace `1` with the corresponding ID of the device in your TellStick configuration.
@ -90,14 +89,14 @@ You can also use this to list devices or sensors and read the output in the add-
#### Supported service commands
- `"function":"list"`: List currently configured devices with name and device id and all discovered sensors.
- `"function":"list-sensors"`
- `"function":"list-devices"`: Alternative devices/sensors listing: Shows devices and/or sensors using key=value format (with tabs as separators, one device/sensor per line, no header lines.)
- `"function":"on","device":"x"`: Turns on device. ’x’ could either be an integer of the device-id, or the name of the device.
- `"function":"on","device":"x"`: Turns on device. ’x’ could either be an integer of the device-id, or the name of the device.
- `"function":"off","device":"x"`: Turns off device. ’x’ could either be an integer of the device-id, or the name of the device.
- `"function":"off","device":"x"`: Turns off device. ’x’ could either be an integer of the device-id, or the name of the device.
- `"function":"bell","device":"x"`: Sends bell command to devices supporting this. ’x’ could either be an integer of the device-id, or the name of the device.
- `"function":"learn","device":"x"`: Sends a special learn command to devices supporting this. This is normaly devices of ’selflearning’ type. ’x’ could either be an integer of the device-id, or the name of the device.
- `"function":"learn","device":"x"`: Sends a special learn command to devices supporting this. This is normally devices of ’selflearning’ type. ’x’ could either be an integer of the device-id, or the name of the device.
The `abode` component will allow users to integrate their Abode Home Security systems into Home Assistant and use its alarm system and sensors to automate their homes.
The `abode` component will allow users to integrate their Abode Home Security systems into Home Assistant and use its alarm system and sensors to automate their homes.
Please visit the [Abode website](https://goabode.com/) for further information about Abode Security.
@ -24,7 +24,7 @@ There is currently support for the following device types within Home Assistant:
- [Camera](/components/camera.abode/): Reports on `Camera` devices and will download and show the latest captured still image.
- [Cover](/components/cover.abode/): Reports on `Secure Barriers` and can be used to open and close the cover.
- [Lock](/components/cover.abode/): Reports on `Door Locks` and can be used to lock and unlock the door.
- [Light](/components/light.abode/): Reports on `Dimmer` lights and can be used to dim, change color, or turn the light on and off.
- [Light](/components/light.abode/): Reports on `Dimmer` lights and can be used to dim or turn the light on and off.
- [Switch](/components/switch.abode/): Reports on `Power Switch` devices and can be used to turn the power switch on and off. Also reports on `Automations` set up in the Abode system and allows you to activate or deactivate them.
- [Sensor](/components/sensor.abode/): Reports on `Temperature`, `Humidity`, and `Light` sensors.
@ -53,7 +53,6 @@ The ADS component will register the service `write_by_name` allowing you to writ
Service parameters:
- **adsvar**: Name of the variable on the ADS device. To access global variables on *TwinCAT2* use a prepending dot `.myvariable`, for TwinCAT3 use
`GBL.myvariable`.
- **adsvar**: Name of the variable on the ADS device. To access global variables on *TwinCAT2* use a prepending dot `.myvariable`, for TwinCAT3 use `GBL.myvariable`.
- **adstype**: Specify the type of the variable. Use one of the following: `int`, `byte`, `uint`, `bool`
- **value**: The value that will be written in the variable.
description: "Instructions how to setup the AlarmDecoder Alarm control panel within Home Assistant."
description: "Instructions on how to setup the AlarmDecoder Alarm control panel within Home Assistant."
date: 2017-04-02 13:28
sidebar: true
comments: false
@ -13,8 +13,64 @@ ha_release: 0.43
ha_iot_class: "Local Push"
---
The `alarmdecoder` alarm control panel platform allows you to control your [AlarmDecoder](https://www.alarmdecoder.com) alarms.
The requirement is that you have setup your [AlarmDecoder hub](/components/alarmdecoder/).
### {% linkable_title Services %}
The Alarm Decoder component gives you access to several services for you to control your alarm with.
- `alarm_arm_away`: Arms the alarm in away mode; all faults will trigger the alarm.
- `alarm_arm_home`: Arms the alarm in stay mode; faults to the doors or windows will trigger the alarm.
- `alarm_arm_night`: Arms the alarm in instant mode; all faults will trigger the alarm. Additionally, the entry delay is turned off on the doors.
- `alarm_disarm`: Disarms the alarm from any state. Also clears a `check_zone` flag after an alarm was triggered.
- `alarmdecoder_alarm_toggle_chime`: Toggles the alarm's chime state.
<pclass='note'>
`alarm_arm_custom_bypass` and `alarm_trigger`, while available in the services list in Home Assistant, are not currently implemented in the Alarm Decoder platform.
</p>
### {% linkable_title Attributes %}
There are several attributes available on the alarm panel to give you more information about your alarm.
- `ac_power`: Set to `true` if your system has AC power supplying it.
- `backlight_on`: Set to `true` if your keypad's backlight is on.
- `battery_low`: Set to `true` if your system's back-up battery is low.
- `check_zone`: Set to `true` if your system was recently triggered. When `check_zone` is `true`, it must be cleared by entering your code + 1 before attempting to rearm your alarm.
- `chime`: Set to `true` if your system's chime is activated. When activated, your system will beep anytime a door or window is faulted while the alarm is disarmed.
- `entry_delay_off`: Set to `true` if your system is in "Instant" mode, meaning the alarm will sound on any faults.
- `programming_mode`: Set to `true` if your system is in programming mode.
- `ready`: Set to `true` if your system is ready to be armed. Any faults, including motions sensors, will make this value `false`.
- `zone_bypassed`: Set to `true` if your system is currently bypassing a zone.
### {% linkable_title Examples %}
Using a combination of the available services and attributes, you can create switch templates.
#### {% linkable_title Chime Status and Control %}
description: "Instructions how to setup the Netgear Arlo Base Stations as a control panel within Home Assistant."
description: "Instructions on how to setup the Netgear Arlo Base Stations as a control panel within Home Assistant."
date: 2017-10-05 17:45
sidebar: true
comments: false
@ -13,7 +13,6 @@ ha_release: 0.56
ha_iot_class: "Cloud Polling"
---
The `arlo` alarm control panel allows you to control your [Arlo](https://arlo.netgear.com/) base stations. You can use it to switch modes and trigger alarms from Home Assistant.
To get your [Arlo](https://arlo.netgear.com/) base stations working within Home Assistant, please follow the instructions for the general [Arlo component](/components/arlo).
@ -28,11 +27,11 @@ alarm_control_panel:
{% configuration %}
home_mode_name:
description: "Arlo base station does not have a built-in home mode. You can map one of your custom modes to home assistant's home mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match exactly as you set it up in the Arlo app."
description: "Arlo base station does not have a built-in home mode. You can map one of your custom modes to Home Assistant's home mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match exactly as you set it up in the Arlo app."
required: false
type: string
away_mode_name:
description: "Arlo base station does not have a built-in away mode. You can map one of your custom modes to home assistant's away mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match eactly as you set it up in the Arlo app."
description: "Arlo base station does not have a built-in away mode. You can map one of your custom modes to Home Assistant's away mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match eactly as you set it up in the Arlo app."
required: false
type: string
default: "`Armed` mode in Arlo"
@ -75,4 +74,3 @@ Setting Arlo to a custom mode (mapped to `home_mode_name` in `configuration.yaml
You can also completely disarm the Arlo base station by calling the `alarm_control_panel.alarm_disarm` service, and trigger the alarm by calling the `alarm_control_panel.alarm_trigger` service.
More examples and configuration options can be found on the [Manual Alarm Control page](/components/alarm_control_panel.manual/#examples).
description: "Instructions how to integrate Interlogix/GE Concord4 with RS-232 Automation Control Module into Home Assistant."
description: "Instructions on how to integrate Interlogix/GE Concord4 with RS-232 Automation Control Module into Home Assistant."
date: 2016-10-11 10:00
sidebar: true
comments: false
@ -14,9 +14,9 @@ ha_release: 0.31
The `concord232` platform provides integration with GE, Interlogix (and other brands) alarm panels that support the RS-232 Automation Control Panel interface module (or have it built in). Supported panels include Concord 4.
To use this platform, you will need to have the external concord232 client and server installed. The server must be running on the device which is connected to the automation module's serial port. The client must be installed on the machine running Home Assistant. These may often be the same machine, but do not have to be. For additional details in setting up and testing the client and server, see https://github.com/JasonCarter80/concord232.
To use this platform, you will need to have the external concord232 client and server installed. The server must be running on the device which is connected to the automation module's serial port. The client must be installed on the machine running Home Assistant. These may often be the same machine, but do not have to be. For additional details in setting up and testing the client and server, see <https://github.com/JasonCarter80/concord232>
To enable this platform in home assistant, add the following lines to your `configuration.yaml`:
To enable this platform in Home Assistant, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
@ -28,4 +28,3 @@ Configuration variables:
- **host** (*Optional*): The host where the concord232 server process is running. Defaults to localhost.
- **port** (*Optional*): The port where the Alarm panel is listening. Defaults to 5007.
description: "Instructions how to integrate Egardia / Woonveilig into Home Assistant."
description: "Instructions on how to integrate Egardia / Woonveilig into Home Assistant."
date: 2016-07-02 22:00
sidebar: true
comments: false
@ -12,79 +12,5 @@ ha_release: 0.51
ha_category: Alarm
---
The `egardia` platform enables the ability to control an [Egardia](http://egardia.com/)/Woonveilig control panel. These alarm panels are known under different brand names across the world, including Woonveilig in the Netherlands. This was tested on a Gate01 version of the Egardia/Woonveilig platform.
You will need to know the IP of your alarm panel on your local network. Test if you can login to the panel by browsing to the IP address and log in using your Egardia/Woonveilig account.
To enable this, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
alarm_control_panel:
- platform: egardia
host: YOUR_HOST
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
Configuration variables:
- **host** (*Required*): The local IP address of the Egardia/Woonveilig alarm panel.
- **username** (*Required*): Username for the Egardia/Woonveilig account.
- **password** (*Required*): Password for Egardia/Woonveilig account.
- **port** (*Optional*): The port of the alarm panel. Defaults to 80.
- **name** (*Optional*): Name to use for the alarm panel. Defaults to `Egardia`.
- **report_server_enabled** (*Optional*): Enable reporting by server. Defaults to `False`.
- **report_server_port** (*Optional*): Port of the Egardia server. Defaults to 85.
- **report_server_codes** list (*Optional*): List of codes for the different states.
Note that this basic configuration will only enable you to read the armed/armed away/disarmed status of your alarm and will **not** update the status if the alarm is triggered. This is because of how Egardia built their system. The alarm triggers normally go through their servers.
You can change this, however, using the following procedure. This is a more advanced configuration.
1. Log in into your alarm system's control panel. You will need to access http://[IP of your control panel]. You know this already since you need it in the basic configuration from above. Log in to the control panel with your Egardia/Woonveilig username and password.
2. Once logged in, go to *System Settings*, *Report* and change the Server Address for your primary server to the IP or hostname of your Home Assistant machine. Also, update the port number 85 or to anything you like. The provided software that you will set up in the next steps runs on port 85 by default. **Make sure to change the settings of the primary server otherwise the messages will not come through. Note that this will limit (or fully stop) the number of alarm messages you will get through Egardia's / Woonveilig services.** Maybe, that is just what you want. Make sure to save your settings by selecting 'OK'.
3. On your Home Assistant machine run `$ sudo python3 egardiaserver.py`. Refer to the [python-egardia repository](https://github.com/jeroenterheerdt/python-egardia) for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. You will need the codes to include in your configuration.yaml. Make sure to change the status of your alarm to all states (disarm, arm, home) by all means possible (all users, remotes, web login, app) as well as trigger the alarm in all ways possible to get 100% coverage. **Before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).**
4. Once you have the codes, update your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
alarm_control_panel:
- platform: egardia
host: YOUR_HOST
username: YOUR_USERNAME
password: YOUR_PASSWORD
report_server_enabled: True
report_server_port: PORT_OF_EGARDIASERVER (85 as per the instructions above)
Note that for triggered, arm and disarm multiple codes can be entered since each sensor triggers with a different code and each user of the system has its own arm and disarm codes. Also note that your system will do regular system checks which will be reported as well. Since Home Assistant provides no way of handling them properly, you can enter those codes as ignore (again, multiple codes can be used here). The egardia component will ignore these codes and continue returning the old status if it receives any of the codes that are listed as ignore. This is useful for example when you have armed your alarm at night: normally a system check will occur at least once during the night and if that code is not specified anywhere Home Assistant will set the status of the alarm to its default, which is unarmed. This is in fact wrong. Listing the code as ignore changes this behavior and Home Assistant will continue to show the status the alarm is in (disarm, arm, home, triggered) even when system checks occur.
5. Start the `egardiaserver.py` script on boot of your Home Assistant machine, for example by using `systemctl` by `systemd`. To use this method, create a shell script named `egardiaserver.sh` that contains something like the following:
Mark it as executable (`$ chmod +x`) and run `sudo nano /lib/systemd/system/egardiaserver.service`. Enter the following into the `egardiaserver.service` file:
Save and then run `sudo systemctl enable egardiaserver.service` and `sudo systemctl start egardiaserver.service`.
6. Test your setup and enjoy. The component will update if the alarm status changes, including triggers. You can use this to build your own automations and send notifications as you wish.
The `egardia` platform allows you to integrate your [Egardia](http://www.egardia.com)/[Woonveilig](http://www.woonveilig.nl) alarm control panel in Home Assistant.
You will need to set up your [Egardia hub](/components/egardia/).
description: "Instructions on how to integrate IFTTT-controlled security systems into Home Assistant."
date: 2018-03-10 21:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ifttt.png
ha_category: Alarm
ha_release: 0.66
---
The `ifttt` platform allows you to integrate security systems that have no open API but can be controlled through [IFTTT](https://ifttt.com/discover).
This platform depends on the [IFTTT](/components/ifttt/) Home Assistant component. See the component's documentation to set it up.
<pclass='note'>
It is important to note that this platform fully relies on IFTTT to receive updates when the security system's state changes. Therefore, this platform shows an assumed state.
</p>
To enable this, setup the required IFTTT applets as listed below and add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
ifttt:
key: YOUR_WEBHOOK_KEY
alarm_control_panel:
- platform: ifttt
name: YOUR_ALARM_NAME
code: YOUR_ALARM_CODE
event_arm_away: YOUR_ARM_AWAY_EVENT
event_arm_home: YOUR_ARM_HOME_EVENT
event_arm_night: YOUR_ARM_NIGHT_EVENT
event_disarm: YOUR_DISARM_EVENT
```
<pclass='note warning'>
It is strongly discouraged to use this platform when you don't use encryption; otherwise, your API password will be send unprotected through the IFTTT Webhooks. It is adviced to [setup encryption using Let's Encrypt](https://home-assistant.io/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/).
</p>
{% linkable_title Required IFTTT applets %}
This platform supports the services `alarm_disarm`, `alarm_arm_away`, `alarm_arm_home` and `alarm_arm_night`. For each of these services, an IFTTT webhook will be triggered.
For this system to operate correctly, the following IFTTT applets have to be setup. Obviously, if your alarm device does not support some states, no applets have to be provided for those.
* **IF** Webhook event `YOUR_DISARM_EVENT` is called, **THEN** disarm the alarm system.
* **IF** Webhook event `YOUR_ARM_HOME_EVENT` is called, **THEN** set the alarm system to armed home.
* **IF** Webhook event `YOUR_ARM_NIGHT_EVENT` is called, **THEN** set the alarm system to armed away.
* **IF** Webhook event `YOUR_DISARM_EVENT` is called, **THEN** set the alarm system to armed night.
* **IF** the alarm system was disarmed, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "disarmed"}`.
* **IF** the alarm system state changed to armed home, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_home"}`.
* **IF** the alarm system state changed to armed away, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_away"}`.
* **IF** the alarm system state changed to armed night, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_night"}`.
{% configuration %}
name:
description: The name of your Home Assistant alarm control panel.
required: false
type: string
code:
description: The code for the alarm control panel.
required: false
type: string
event_arm_away:
description: IFTTT webhook event to call when the state is set to armed away.
required: false
type: string
default: alarm_arm_away
event_arm_home:
description: IFTTT webhook event to call when the state is set to armed home.
required: false
type: string
default: alarm_arm_home
event_arm_night:
description: IFTTT webhook event to call when the state is set to armed night.
required: false
type: string
default: alarm_arm_night
event_disarm:
description: IFTTT webhook event to call when the state is set to disarmed.
required: false
type: string
default: alarm_disarm
optimistic:
description: Specify if the state will be updated by a ifttt_push_alarm_state call (false) or can be set immediately (true).
title: "Manual Alarm Control Panel with MQTT Support"
description: "Instructions how to integrate manual alarms into Home Assistant with MQTT support."
description: "Instructions on how to integrate manual alarms into Home Assistant with MQTT support."
date: 2017-07-02 9:10
sidebar: true
comments: false
@ -9,7 +9,7 @@ sharing: true
footer: true
logo: home-assistant.png
ha_category: Alarm
ha_release: 0.50
ha_release: "0.50"
---
This platform extends the [manual alarm](/components/alarm_control_panel.manual/) by adding support for MQTT control of the alarm by a remote device. It can be used to create external keypads which simply change the state of the manual alarm in Home Assistant.
@ -58,7 +58,7 @@ The following configuration variables from the base manual alarm platform are av
- **pending_time** (*Optional*): State specific setting for **pending_time** (all states except **disarmed**)
- **trigger_time** (*Optional*): State specific setting for **trigger_time** (all states except **triggered**)
See the documentation for the [manual alarm platform](/component/alarm_control_panel.manual/) for a description.
See the documentation for the [manual alarm platform](/components/alarm_control_panel.manual/) for a description.
Additionally, the following MQTT configuration variables are also available:
@ -20,7 +20,7 @@ Please visit the [AlarmDecoder website](https://www.alarmdecoder.com/) for furth
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](/components/binary_sensor.alarmdecoder/): Reports on zone status
- [Sensor](/components/sensor.alarmdecoder/): Emulates an keypad display
- [Sensor](/components/sensor.alarmdecoder/): Emulates a keypad display
- [Alarm Control Panel](/components/alarm_control_panel.alarmdecoder/): Reports on alarm status, and can be used to arm/disarm the system
This is a fully event-based component. Any event sent by the AlarmDecoder device will be immediately reflected within Home Assistant.
@ -39,6 +39,7 @@ alarmdecoder:
01:
name: 'Smoke Detector'
type: 'smoke'
rfid: '0123456'
02:
name: 'Front Door'
type: 'opening'
@ -53,3 +54,4 @@ Configuration variables:
- **baudrate** (*Optional*): The baud rate of the AlarmDecoder device, if using serial type. Default: `115200`
- **panel_display** (*Optional*): Create a sensor called sensor.alarm_display to match the Alarm Keypad display. Default: `off`
- **zones** (*Optional*): AlarmDecoder has no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/components/binary_sensor.alarmdecoder/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.*
- **rfid** (*Optional*): The RF serial-number associated with RF zones. Providing this field allows Home Assistant to associate raw sensor data to a given zone, allowing direct monitoring of the state, battery, and supervision status.
description: "Instructions how to connect Alexa/Amazon Echo to Home Assistant."
description: "Instructions on how to connect Alexa/Amazon Echo to Home Assistant."
date: 2015-12-13 13:02
sidebar: true
comments: false
@ -21,6 +21,7 @@ There are a few ways that you can use Amazon Echo and Home Assistant together.
- [Build custom commands to use](#i-want-to-build-custom-commands-to-use-with-echo)
- [Create a new Flash Briefing source](#flash-briefing-skills)
- [Use the Smart Home API to control lights, etc](#smart-home)
- Alternative: use the [Emulated Hue component][emulated-hue-component] to trick Alexa to thinking Home Assistant is a Philips Hue hub.
Amazon has released [Echosim], a website that simulates the Alexa service in your browser. That way it is easy to test your skills without having access to a physical Amazon Echo.
@ -45,7 +46,7 @@ Additionally, note that at the time of this writing, your Alexa skill endpoint *
OR
2. Change your Home Assistant serving port to 443 this is done in the [`http`](/components/http/) section with the `server_port` entry in your `configuration.yaml` file
Here we are using [templates] to take the name we gave to Alexa e.g. `downstairs on` and replace the space with an underscore so it becomes `downstairs_on` as Home Assistant expects.
Here we are using [templates] to take the name we gave to Alexa e.g.,`downstairs on` and replace the space with an underscore so it becomes `downstairs_on` as Home Assistant expects.
Now say `Alexa ask Home Assistant to activate <some scene>` and Alexa will activate that scene for you.
@ -332,6 +333,50 @@ Please refer to the [Amazon documentation][flash-briefing-api-docs] for more inf
- Having passed all validations to reach this screen, you can now click on "<BacktoAllSkills"asyourflashbriefingisnowavailableasin"Development"service.
- To invoke your flash briefing, open the Alexa app on your phone or go to the [Alexa Settings Site][alexa-settings-site], open the "Skills" configuration section, select "Your Skills", scroll to the bottom, tap on the Flash Briefing Skill you just created, enable it, then manage Flash Briefing and adjust ordering as necessary. Finally ask your Echo for your "news","flash briefing", or "briefing".
## {% linkable_title Smart Home %}
While the Skills API described above allows for arbitrary intents, all
utterances must begin with "Alexa, tell $invocation_name ..."
The [Emulated Hue component][emulated-hue-component] provides a simpler
interface such as, "Alexa, turn on the kitchen light". However it has some
limitations since everything looks like a light bulb.
Amazon provides a Smart Home API for richer home automation control. It takes
considerable effort to configure. The easy solution is to use
[Home Assistant Cloud](/components/cloud/).
If you don't want to use Home Assistant Cloud and are willing to do the
integration work yourself, Home Assistant can expose an HTTP API which makes
the integration work easier. Example configuration:
```yaml
alexa:
smart_home:
filter:
include_entities:
- light.kitchen
- light.kitchen_left
include_domains:
- switch
exclude_entities:
- switch.outside
entity_config:
light.kitchen:
name: Custom Name for Alexa
description: The light in the kitchen
switch.stairs:
display_categories: LIGHT
```
This exposes an HTTP POST endpoint at `http://your_hass_ip/api/alexa/smart_home`
which accepts and returns messages conforming to the
[Smart Home v3 payload](https://developer.amazon.com/docs/smarthome/smart-home-skill-api-message-reference.html).
You must then create an Amazon developer account with an Alexa skill and Lambda
function to integrate this endpoint. See
[Haaska](https://github.com/mike-grant/haaska) for an example.
description: "Instructions how to integrate Amcrest IP cameras within Home Assistant."
description: "Instructions on how to integrate Amcrest IP cameras within Home Assistant."
date: 2017-06-24 10:00
sidebar: true
comments: false
@ -13,23 +13,28 @@ ha_iot_class: "Local Polling"
ha_release: 0.49
---
The `amcrest` platform allows you to integrate your [Amcrest](https://amcrest.com/) IP camera in Home Assistant.
The `amcrest` camera platform allows you to integrate your [Amcrest](https://amcrest.com/) IP camera in Home Assistant.
## {% linkable_title Configuration %}
To enable your camera in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
amcrest:
- host: IP_ADDRESS
username: USERNAME
password: PASSWORD
- host: IP_ADDRESS_CAMERA_1
username: YOUR_USERNAME
password: YOUR_PASSWORD
sensors:
- motion_detector
- sdcard
switches:
- motion_detection
- motion_recording
- host: IP_ADDRESS
username: USERNAME
password: PASSWORD
- host: IP_ADDRESS_CAMERA_2
username: YOUR_USERNAME
password: YOUR_PASSWORD
resolution: low
stream_source: snapshot
sensors:
@ -45,18 +50,21 @@ Configuration variables:
- **port** (*Optional*): The port that the camera is running on. The default is 80.
- **resolution** (*Optional*): This parameter allows you to specify the camera resolution. For a high resolution (1080/720p), specify the option `high`. For VGA resolution (640x480p), specify the option `low`. If omitted, it defaults to *high*.
- **stream_source** (*Optional*): The data source for the live stream. `mjpeg` will use the camera's native MJPEG stream, whereas `snapshot` will use the camera's snapshot API to create a stream from still images. You can also set the `rtsp` option to generate the streaming via RTSP protocol. If omitted, it defaults to *snapshot*.
- **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g. image quality or video filter options.
- **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g., image quality or video filter options.
- **authentication**: (*Optional*): Defines which authentication method to use only when **stream_source** is **mjpeg**. Currently, *aiohttp* only support *basic*. It defaults to *basic*.
- **scan_interval** (*Optional*): Defines the update interval of the sensor in seconds. The default is 10 seconds.
- **sensors** array (*Optional*): Conditions to display in the frontend. By default, *none* of the conditions are enabled. The following conditions can be monitored.
- **motion_detector**: Return True/False when a motion is detected
- **sdcard**: Return the SD card usage by reporting the total and used space
- **ptz_preset**: Return the number of PTZ preset positions configured for the given camera
- **switches** array (*Optional*): Switches to display in the frontend. By default, *none* of the switches are shown. The following switches can be monitored.
- **motion_recording**: Enable/disable recording on motion detection setting
**Note:** Amcrest cameras with newer firmware no longer have the ability to stream `high` definition video with MJPEG encoding. You may need to use `low` resolution stream or the `snapshot` stream source instead. If the quality seems too poor, lower the `Frame Rate (FPS)` and max out the `Bit Rate` settings in your camera's configuration manager. If you defined the *stream_source* to **mjpeg**, make sure your camera supports *Basic* HTTP authentication. Newer Amcrest firmware may not work, then **rtsp** is recommended instead.
**Note:** If you set the `stream_source` option to `rtsp`, make sure to follow the steps mentioned at
[FFMPEG](https://home-assistant.io/components/ffmpeg/) documentation to install the `ffmpeg`.
[FFMPEG](/components/ffmpeg/) documentation to install the `ffmpeg`.
Finish its configuration by visiting the [Amcrest sensor page](/components/sensor.amcrest/) or [Amcrest camera page](/components/camera.amcrest/).
description: "Instructions on how to setup the RESTful API within Home Assistant."
date: 2018-01-21 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: "Other"
---
The `api` component exposes a RESTful API and allows one to interact with a Home Assistant instance that is running headless. This component depends on the [`http` component](/components/http/).
<pclass='note warning'>
It is HIGHLY recommended that you set the `api_password`, especially if you are planning to expose your installation to the internet.
</p>
```yaml
# Example configuration.yaml entry
api:
```
For details to use the API, please refer to the [REST API](/developers/rest_api/) or the [Python REST API documentation](/developers/python_api/) in the "Developer" section.
description: "Instructions how to integrate Apple TV devices into Home Assistant."
description: "Instructions on how to integrate Apple TV devices into Home Assistant."
date: 2017-06-26 20:47
sidebar: true
comments: false
@ -13,7 +13,7 @@ ha_iot_class: "Local Push"
ha_release: 0.49
---
The `apple_tv` platform allows you to control an Apple TV (3rd and 4th generation). See the [remote platform](/components/remote.apple_tv/) if you want to send remote control buttons, e.g. arrow keys.
The `apple_tv` platform allows you to control an Apple TV (3rd and 4th generation). See the [remote platform](/components/remote.apple_tv/) if you want to send remote control buttons, e.g., arrow keys.
<pclass='note'>
Currently, you must have Home Sharing enabled for this to work. Support for pairing Home Assistant with your device will be supported in a later release.
@ -92,7 +92,7 @@ then device authentication is required. Press the icon in the upper left corner
Select `apple_tv` as domain, `apple_tv_authenticate` as service and enter `{"entity_id": "XXX"}` into "Service Data", but replace XXX with the entity id of your device (e.g. `media_player.apple_tv`). Press the button and hopefully you are presented with an input dialog asking for a pin code:
Select `apple_tv` as domain, `apple_tv_authenticate` as service and enter `{"entity_id": "XXX"}` into "Service Data", but replace XXX with the entity id of your device (e.g.,`media_player.apple_tv`). Press the button and hopefully you are presented with an input dialog asking for a pin code:
description: "Instructions how to setup an Arduino boards within Home Assistant."
description: "Instructions on how to setup an Arduino boards within Home Assistant."
date: 2015-06-27 10:28
sidebar: true
comments: false
@ -43,7 +43,7 @@ The exact number can be determined with the command shown below.
$ ls /dev/ttyACM*
```
If that's not working, check your `dmesg` or `journalctl -f` output. Keep in mind that Arduino clones are often using a different name for the port (e.g. `/dev/ttyUSB*`).
If that's not working, check your `dmesg` or `journalctl -f` output. Keep in mind that Arduino clones are often using a different name for the port (e.g.,`/dev/ttyUSB*`).
<pclass='note warning'>
A word of caution: The Arduino boards are not storing states. This means that with every initialization the pins are set to off/low.
description: "Instructions how to integrate your existing Asterisk voicemail within Home Assistant."
description: "Instructions on how to integrate your existing Asterisk voicemail within Home Assistant."
date: 2017-06-30 18:30
sidebar: true
comments: false
sharing: true
footer: true
logo: asterisk.png
ha_category: Other
ha_version: 0.51
ha_iot_class: "Local Push"
---
The Asterisk Voicemail integration for Home Assistant allows you to view, listen to, and delete voicemails from an Asterisk voicemail mailbox. The component includes a panel on the frontend that provides caller-id and speech-to-text transcription (using Google's API) of messages in addition to playback and message deletion. There is also an included sensor that indicates of the number of available messages. There is no requirement that the Asterisk PBX and Home Assistant are running on the same machine.
The `asterisk_mbox `Asterisk Voicemail integration for Home Assistant allows you to view, listen to, and delete voicemails from an Asterisk voicemail mailbox. The component includes a panel on the frontend that provides caller-id and speech-to-text transcription (using Google's API) of messages in addition to playback and message deletion. There is also an included sensor that indicates of the number of available messages. There is no requirement that the Asterisk PBX and Home Assistant are running on the same machine.
To enable the component, a configuration is required in both Home Assistant as well as on the Asterisk server.
First follow the [Asterisk PBX configuration guide](/docs/asterisk_mbox) to setup the necessary server on the Asterisk PBX server (this is needed even if Asterisk and Home Assistant are running on the same server)
First follow the [Asterisk PBX configuration guide](/docs/asterisk_mbox/) to setup the necessary server on the Asterisk PBX server (this is needed even if Asterisk and Home Assistant are running on the same server)
Once that is complete, add the following entry `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
asterisk_mbox:
password: ASTERISK_PBX_PASSWORD
host: ASTERISK_PBX_SERVER_IP_ADDRESS
port: ASTERISK_PBX_SERVER_PORT
password: ASTERISK_PBX_PASSWORD
host: ASTERISK_PBX_SERVER_IP_ADDRESS
port: ASTERISK_PBX_SERVER_PORT
```
This will add a new 'Mailbox' side-panel, as well as a sensor to indicate # of messages available.
description: "Instructions on how to integrate your August devices into Home Assistant."
date: 2018-02-17 22:00
sidebar: true
comments: false
sharing: true
footer: true
logo: august.png
ha_category: Hub
ha_release: "0.64"
ha_iot_class: "Cloud Polling"
---
The `august` component allows you to integrate your [August](http://august.com) devices in Home Assistant. Currently this component supports August Lock and Doorbell.
<pclass='note'>
August Lock 2nd Gen will need either August Connect or Doorbell to connect to Home Assistant.
</p>
## {% linkable_title Configuration %}
You will need your August login information (username (either phone# or email), and password) to use this module.
To set it up, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
august:
login_method: phone
username: "+16041234567"
password: YOUR_PASSWORD
```
{% configuration %}
login_method:
description: Method to login to your August account, either "email" or "phone". A verification code will be sent to your email or phone during setup.
required: true
type: string
username:
description: The username for accessing your August account. This depends on your login_method, if login_method is email, this will be your email of the account. Otherwise, this will be your phone number.
required: true
type: string
password:
description: The password for accessing your August account.
required: true
type: string
timeout:
description: Timeout to wait for connections.
required: false
type: int
default: 10
{% endconfiguration %}
Once Home Assistant is started, a configurator will pop up asking you to enter verification code that is sent to your phone number or email.
This allows one to reload the automation without restarting Home Assistant itself. If you don't want to see the automation rule in your frontend use `hide_entity: True` to hide it. You can also use `initial_state: 'off'` so that the automation is not automatically turned on after a Home assistant reboot.
This allows one to reload the automation without restarting Home Assistant itself. If you don't want to see the automation rule in your frontend use `hide_entity: True` to hide it. You can also use `initial_state: 'off'` so that the automation is not automatically turned on after a Home Assistant reboot.
description: "Instructions how to integrate aREST binary sensors within Home Assistant."
description: "Instructions on how to integrate aREST binary sensors within Home Assistant."
date: 2015-11-20 18:15
sidebar: true
comments: false
@ -14,7 +14,7 @@ ha_release: 0.9
---
The `arest` binary sensor platform allows you to get all data from your devices (like Arduinos with a ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework.
The `arest` binary sensor platform allows you to get all data from your devices (like Arduinos with an ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework.
To use your aREST binary sensor in your installation, add the following to your `configuration.yaml` file:
@ -28,7 +28,7 @@ binary_sensor:
Configuration variables:
- **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g. http://192.168.1.10.
- **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g., http://192.168.1.10.
- **pin** (*Required*): Number of the pin to monitor.
- **name** (*Optional*): Let you overwrite the name of the device. By default *name* from the device is used.
description: "Instructions on how to integrate your August devices into Home Assistant."
date: 2018-02-17 22:00
sidebar: true
comments: false
sharing: true
footer: true
logo: august.png
ha_category: Binary Sensor
ha_release: "0.64"
ha_iot_class: "Cloud Polling"
---
To get your [August](http://august.com) doorbell binary sensors working within Home Assistant, please follow the instructions for the general [August component](/components/august/).
If you have August Doorbell, once you have enabled the [August component](/components/august/), you should see following sensors:
description: "Instructions how to integrate the GPIO sensor capability of a BeagleBone Black into Home Assistant."
description: "Instructions on how to integrate the GPIO sensor capability of a BeagleBone Black into Home Assistant."
date: 2017-01-14 10:00
sidebar: true
comments: false
@ -33,7 +33,7 @@ Configuration variables:
- **pins** array (*Required*): Array of used pins.
- **pin_name** (*Required*): Pin numbers and corresponding names.
- **name** (*Required*): Friendly name to use for the frontend.
- **bouncetime** (*Optional*): Debounce time for reading input pin defined in miliseconds [ms]. Defaults to `50 ms`.
- **bouncetime** (*Optional*): Debounce time for reading input pin defined in milliseconds [ms]. Defaults to `50 ms`.
- **invert_logic** (*Optional*): If `true`, inverts the input logic to ACTIVE LOW. Default is `false` (ACTIVE HIGH).
- **pull_mode** (*Optional*): Type of internal pull resistor connected to input. Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor. Defaults to `UP`.
description: "Instructions on how to integrate Egardia / Woonveilig binary sensors into Home Assistant."
date: 2018-03-02 09:00
sidebar: true
comments: false
sharing: true
footer: true
logo: egardia.png
ha_release: 0.65
ha_category: Binary Sensor
ha_iot_class: "Polling"
---
The `egardia` platform allows you to get data from your [Egardia](http://www.egardia.com)/[Woonveilig](http://www.woonveilig.nl) binary sensors from within Home Assistant.
Currently only door contacts are supported. IR sensors are not supported and will probably never be since their status cannot be read outside of the alarm control panel. Smoke sensors and others might be added but currently are not supported.
You will need to set up your [Egardia hub](/components/egardia/).
- **duration** (*Optional*): Default 1 second. How long the noise needs to be over the peak to trigger the state.
- **reset** (*Optional*): Default 20 seconds. The time to reset the state after no new noise is over the peak.
- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, like audio frequency filtering.
- **output** (*Optional*): Allows you to send the audio output of this sensor to an Icecast server or other FFmpeg-supported output, e.g. to stream with Sonos after a state is triggered.
- **output** (*Optional*): Allows you to send the audio output of this sensor to an Icecast server or other FFmpeg-supported output, e.g., to stream with Sonos after a state is triggered.
The Hikvision Binary Sensor is a platform that parses the event stream of a [Hikvision IP Camera or NVR](http://www.hikvision.com/) and presents the camera/nvr events to Home Assistant as binary sensors with either an "off" or "on" state.
The platform will automatically add all sensors to Home Assistant that are configured within the camera/nvr interface to "Notify the surveillance center" as a trigger. If you would like to hide a sensor type you can do so by either unchecking "Notify the surveillance center" in the camera configuration or by using the "ignored" customize option detailed below.
The platform will automatically add all sensors to Home Assistant that are configured within the camera/nvr interface to "Notify the surveillance center" as a trigger. If you would like to hide a sensor type you can do so by either unchecking "Notify the surveillance center" in the camera configuration or by using the "ignored" customize option detailed below.
<pclass='note'>
In order for the sensors to work the hikvision user must have the 'Remote: Notify Surveillance Center/Trigger Alarm Output' permission which can be enabled from the user management section of the web interface. Also the 'WEB Authentication' needs to be set to 'digest/basic' in the security/authentication section.
</p>
For example, if you configure a camera with the name "Front Porch" that has motion detection and line crossing events enabled to notify the surveillance center the following binary sensors will be added to Home Assistant:
```
```text
binary_sensor.front_porch_motion
binary_sensor.front_port_line_crossing
```
When used with a NVR device the sensors will be appended with the channel number they represent. For example, if you configure an NVR with the name "Home" that supports 2 cameras with motion detection and line crossing events enabled to notify the surveillance center the following binary sensors will be added to Home Assistant:
When used with a NVR device the sensors will be appended with the channel number they represent. For example, if you configure an NVR with the name "Home" that supports 2 cameras with motion detection and line crossing events enabled to notify the surveillance center the following binary sensors will be added to Home Assistant:
This platform should work with all Hikvision cameras and nvrs, and has been confirmed to work with the following models:
- DS-2CD3132-I
- DS-2CD2232-I5
- DS-2CD2032-I
- DS-2CD2042WD-I
- DS-2CD2142FWD-I
To enable this sensor, the following lines are required in your `configuration.yaml`:
To enable this sensor, the following lines are required in your `configuration.yaml` file:
```yaml
binary_sensor:
platform: hikvision
host: IP_ADDRESS
username: user
password: pass
- platform: hikvision
host: IP_ADDRESS
username: user
password: pass
```
Configuration options for a Hikvision Sensor:
- **name** (*Optional*): The name you'd like to give the camera in Home Assistant, defaults to name defined in the camera.
- **host** (*Required*): The IP address of the camera you would like to connect to.
- **port** (*Optional*): The port to connect to the camera on, defaults to 80.
- **ssl** (*Optional*): True if you want to connect with https. Be sure to set the port also.
- **username** (*Required*): The username to authenticate with.
- **password** (*Required*): The password to authenticate with.
- **name** (*Optional*): The name you'd like to give the camera in Home Assistant, defaults to name defined in the camera.
- **port** (*Optional*): The port to connect to the camera on, defaults to 80.
- **ssl** (*Optional*): True if you want to connect with https. Be sure to set the port also.
- **customize** (*Optional*): This attribute contains sensor-specific override values. Only sensor name needs defined:
- **ignored** (*Optional*): Ignore this sensor completely. It won't be shown in the Web Interface and no events are generated for it.
- **delay** (*Optional*): Specify the delay to wait after a sensor event ends before notifying Home Assistant. This is useful to catch multiple quick trips in one window without the state toggling on and off. The default delay is 5 seconds.
description: "Instructions how to setup the KNX binary sensors within Home Assistant."
description: "Instructions on how to setup the KNX binary sensors within Home Assistant."
date: 2016-07-13 07:00
sidebar: true
comments: false
@ -25,14 +25,16 @@ binary_sensor:
address: '6/0/2'
device_class: 'motion'
#significant_bit: 2
#reset_after: 100
```
Configuration variables:
- **name** (*Optional*): A name for this device used within Home Assistant.
- **address**: KNX group address of the binary sensor.
- **device_class** (Optional): HASS device class e.g. "motion".
- **device_class** (Optional): HASS device class e.g., "motion".
- **significant_bit** (Optional): Specify which significant bit of the KNX value should be used. Default is 1.
- **reset_after** (Optional): Reset back to OFF state after specified milliseconds.
You can also attach actions to binary sensors (e.g., to switch on a light when a switch was pressed). In this example, one light is switched on when the button was pressed once and two others when the button was pressed a second time.
Binary sensors gather information about the state of devices which have a "digital" return value (either 1 or 0). These can be switches, contacts, pins, etc. These sensors only have two states: **0/off/low/closed/false** and **1/on/high/open/true**. Knowing that there are only two states allows Home Assistant to represent these sensors in a better way in the frontend according to their functionality.
### {% linkable_title Device Class %}
The way these sensors are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for binary sensors:
- **None**: Generic on/off. This is the default and doesn't need to be set.
- **battery**: `On` means low, `Off` means normal
- **cold**: `On` means cold
- **connectivity**: `On` means connection present, `Off` means no connection
- **gas**: `On` means gas detected
- **heat**: `On` means hot
- **light**: Lightness threshold
- **moisture**: `On` means wet
- **motion**: `On` means motion detected
- **moving**: `On` means moving, `Off` means stopped
- **occupancy**: `On` means occupied, `Off` means not occupied
- **cold**: `On` means cold, `Off` means normal
- **connectivity**: `On` means connected, `Off` means disconnected
- **door**: `On` means open, `Off` means closed
- **garage_door**: `On` means open, `Off` means closed
- **gas**: `On` means gas detected, `Off` means no gas (clear)
- **heat**: `On` means hot, `Off` means normal
- **light**: `On` means light detected, `Off` means no light
- **lock**: `On` means open (unlocked), `Off` means closed (locked)
- **moisture**: `On` means moisture detected (wet), `Off` means no moisture (dry)
- **motion**: `On` means motion detected, `Off` means no motion (clear)
- **moving**: `On` means moving, `Off` means not moving (stopped)
- **occupancy**: `On` means occupied, `Off` means not occupied (clear)
- **opening**: `On` means open, `Off` means closed
- **plug**: `On` means device is plugged in, `Off` means device is unplugged
- **power**: Power, over-current, etc.
- **presence**: `On` means Home, `Off` means Away
- **problem**: `On` means a problem was detected, `Off` means the status is OK
- **power**: `On` means power detected, `Off` means no power
- **presence**: `On` means home, `Off` means away
- **problem**: `On` means problem detected, `Off` means no problem (OK)
- **safety**: `On` means unsafe, `Off` means safe
- **smoke**: `On` means smoke detected
- **sound**: `On` means sound detected, `Off` means no sound
- **vibration**: `On` means vibration detected, `Off` means no vibration
- **smoke**: `On` means smoke detected, `Off` means no smoke (clear)
- **sound**: `On` means sound detected, `Off` means no sound (clear)
- **vibration**: `On` means vibration detected, `Off` means no vibration (clear)
- **window**: `On` means open, `Off` means closed
For analog sensors please check the [component overview](https://home-assistant.io/components/#sensor).
For analog sensors please check the [component overview](/components/#sensor).