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
* 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
@ -65,7 +65,7 @@ Screenshot of the HASS Configurator.
### {% 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 from 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.
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,8 +19,7 @@ Setup and manage a [Dnsmasq](http://thekelleys.org.uk/dnsmasq/doc.html) DNS serv
- **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 statically.
- **interface** (*Optional*): If an interface is set, it listens only on this interface. Needs to be set for ResinOS. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
[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/
@ -49,3 +51,5 @@ If you use a port other than `8123` or an SSL proxy, change the port number acco
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`.
If you want 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.
@ -66,7 +66,7 @@ Configuration example that uses the USB microphone and the built-in headset audi
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 %}
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,7 +14,7 @@ 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 addon will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration.
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.
```json
{
@ -41,4 +41,24 @@ http:
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 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 a HTTP 502 error.
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 deactivate port 80 if you need this for things like `emulate_hue`. Remove the host port from Network option of this add-on.
@ -22,7 +22,7 @@ This addon allows you to set up a [Samba](https://samba.org/) server to access h
"addons": true,
"share": true,
"backup": true,
"ssl": false,
"ssl": false
},
"username": "",
"password": "",
@ -32,10 +32,10 @@ This addon allows you to set up a [Samba](https://samba.org/) server to access h
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 exposed. `config` is for Home Assistant configuration folder. `addons` for a local custom repository. `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.
@ -19,9 +19,9 @@ After any changes have been made to the configuration, you need to restart the a
Configuration variables:
- **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.
- **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 the house.
@ -37,10 +37,10 @@ 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 the `tdtool` via a Home Assistant services call, see example below for self-learning device.
@ -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.
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
@ -27,7 +27,9 @@ The Alarm Decoder component gives you access to several services for you to cont
- `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.
**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 component.
<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.
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
@ -27,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"
@ -74,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
@ -16,7 +16,7 @@ The `concord232` platform provides integration with GE, Interlogix (and other br
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`:
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,57 +12,5 @@ ha_release: 0.51
ha_category: Alarm
---
The `egardia` platform enables the ability to control an [Egardia](http://egardia.com/)/[Woonveilig](http://woonveilig.nl) control panel. These alarm panels are known under different brand names across the world, including Woonveilig in the Netherlands. This was tested on the GATE-01, GATE-02 and GATE-03 versions 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 the integration with your alarm panel, 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.
- **version** (*Optional*): The version of the Egardia system. `GATE-01`, `GATE-02` and `GATE-03` are currently supported. Defaults to `GATE-01`.
- **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 52010.
- **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.
1. 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. You can leave the port number set to 52010 or change it to anything you like. **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'.
1. 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).**
1. 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 (optional, defaults to 52010)
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. 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. *Note*: previous versions required a separate egardiaserver to be set up. This is no longer necessary and corresponding system services can be removed (using systemctl).
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).
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
@ -46,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.
@ -375,7 +375,7 @@ 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/auchter/haaska) for an example.
[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 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 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 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.
@ -22,6 +24,7 @@ The way these sensors are displayed in the frontend can be modified in the [cust
- **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)
@ -37,4 +40,9 @@ The way these sensors are displayed in the frontend can be modified in the [cust
- **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).
description: "Instructions on how to integrate Mercedes me binary sensors into Home Assistant."
date: 2018-01-27 17:00
sidebar: true
comments: false
sharing: true
footer: true
logo: mercedesme.png
ha_category: Binary Sensor
ha_iot_class: "Cloud polling"
ha_release: 0.63
---
The `Mercedes me` platform allows you to get data from your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) sensors like windows, doors, lock, tire warnings from within Home Assistant.
They will be automatically discovered if the Mercedes me component is loaded.
For more configuration information see the [Mercedes me component](/components/mercedesme/) documentation.
The `modbus` binary sensor allows you to gather data from [Modbus](http://www.modbus.org/) coils.
## {% linkable_title Configuration %}
To use your Modbus binary sensors in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
# Example configuration.yaml entry
binary_sensor:
- platform: modbus
coils:
@ -39,7 +41,7 @@ Configuration variables:
It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.
description: "Instructions how to integrate MQTT binary sensors within Home Assistant."
description: "Instructions on how to integrate MQTT binary sensors within Home Assistant."
date: 2015-05-30 23:21
sidebar: true
comments: false
@ -17,6 +17,8 @@ The `mqtt` binary sensor platform uses an MQTT message payload to set the binary
The binary sensor state will be updated only after a new message is published on `state_topic` matching `payload_on` or `payload_off`. If these messages are published with the `retain` flag set, the binary sensor will receive an instant state update after subscription and Home Assistant will display the correct state on startup. Otherwise, the initial state displayed in Home Assistant will be `unknown`.
## {% linkable_title Configuration %}
The `mqtt` binary sensor platform optionally supports an `availability_topic` to receive online and offline messages (birth and LWT messages) from the MQTT device. During normal operation, if the MQTT cover device goes offline (i.e., publishes `payload_not_available` to `availability_topic`), Home Assistant will display the binary sensor as `unavailable`. If these messages are published with the `retain` flag set, the binary sensor will receive an instant update after subscription and Home Assistant will display the correct availability state of the binary sensor when Home Assistant starts up. If the `retain` flag is not set, Home Assistant will display the binary sensor as `unavailable` when Home Assistant starts up. If no `availability_topic` is defined, Home Assistant will consider the MQTT device to be available.
To use an MQTT binary sensor in your installation, add the following to your `configuration.yaml` file:
@ -42,12 +44,12 @@ payload_on:
description: The payload that represents the on state.
required: false
type: string
default: ON
default: "ON"
payload_off:
description: The payload that represents the off state.
required: false
type: string
default: OFF
default: "OFF"
availability_topic:
description: "The MQTT topic subscribed to receive birth and LWT messages from the MQTT device. If `availability_topic` is not defined, the binary sensor availability state will always be `available`. If `availability_topic` is defined, the binary sensor availability state will be `unavailable` by default."
required: false
@ -75,6 +77,11 @@ value_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload."
required: false
type: string
force_update:
description: Sends update events even if the value hasn't changed. Useful if you want to have meaningful value graphs in history.
reqired: false
type: boolean
default: False
{% endconfiguration %}
@ -126,7 +133,7 @@ The configuration will look like the example below:
description: "Instructions how to integrate Pilight binary sensors within Home Assistant."
description: "Instructions on how to integrate Pilight binary sensors within Home Assistant."
date: 2017-03-24 20:41
sidebar: true
comments: false
@ -15,10 +15,12 @@ ha_iot_class: "Local Polling"
The `pilight` binary sensor platform implement the [pilight hub](/components/pilight/) binary sensor functionality. Two type of Pilight binary sensor configuration available. A normal sensor which send the on and off state cyclical and a trigger sensor which send only a trigger when an event happened (for example lots of cheap PIR motion detector).
To enable a Pilight binary sensor in your installation, add the following to your `configuration.yaml` file:
description: "Instructions how to integrate random state sensors into Home Assistant."
description: "Instructions on how to integrate random state sensors into Home Assistant."
date: 2017-10-27 08:00
sidebar: true
comments: false
@ -16,6 +16,8 @@ ha_release: 0.57
The `random` binary sensor platform is creating random states (`True`, 1, `on` or `False`, 0, `off`). This can be useful if you want to test automation rules. It generates a new state every time it is polled.
## {% linkable_title Configuration %}
To enable the random binary sensor, add the following lines to your `configuration.yaml`: