Merge branch 'next' into rc

This commit is contained in:
Franck Nijhof 2020-03-31 20:56:03 +02:00
commit bc75c6e3d5
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
192 changed files with 2911 additions and 1220 deletions

7
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,7 @@
## The problem
<!--
Describe the issue you are experiencing here to communicate to the
maintainers. Tell us what you were trying to do and what happened instead.
-->

View File

@ -1,14 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Report a bug/issue with Home Assistant itself
url: https://github.com/home-assistant/home-assistant/issues
about: This is the issue tracker for our website. Please report issues with Home Assistant in the main repository.
- name: I have a question or need support
url: https://www.home-assistant.io/help
about: We use GitHub for tracking bugs, check our website for resources on getting help.
- name: Feature Request
url: https://community.home-assistant.io/c/feature-requests
about: Please use our Community Forum for doing feature requests.
- name: I'm unsure where to go
url: https://www.home-assistant.io/join-chat
about: If you are unsure where to go, then joining our chat is recommended; Just ask!
- name: Report a bug/issue with Home Assistant Core itself
url: https://github.com/home-assistant/core/issues
about: This is the issue tracker for our website. Please report issues with Home Assistant Core in the main repository.
- name: I have a question or need support
url: https://www.home-assistant.io/help
about: We use GitHub for tracking bugs, check our website for resources on getting help.
- name: Feature Request
url: https://community.home-assistant.io/c/feature-requests
about: Please use our Community Forum for doing feature requests.
- name: I'm unsure where to go
url: https://www.home-assistant.io/join-chat
about: If you are unsure where to go, then joining our chat is recommended; Just ask!

View File

@ -18,6 +18,7 @@
- [ ] Spelling, grammar or other readability improvements (`current` branch).
- [ ] Adjusted missing or incorrect information in the current documentation (`current` branch).
- [ ] Added documentation for a new integration I'm adding to Home Assistant (`next` branch).
- [ ] I've opened up a PR to add logo's and icons in [Brands repository](https://github.com/home-assistant/brands).
- [ ] Added documentation for a new feature I'm adding to Home Assistant (`next` branch).
- [ ] Removed stale or deprecated documentation.
@ -27,8 +28,9 @@
Please be sure to fill out additional details, if applicable.
-->
- Link to parent pull request in the codebase:
- This PR fixes or closes issue:
- Link to parent pull request in the codebase:
- Link to parent pull request in the Brands repository:
- This PR fixes or closes issue:
## Checklist
<!--

View File

@ -37,6 +37,7 @@ source/_integrations/auth.markdown @home-assistant/core
source/_integrations/automatic.markdown @armills
source/_integrations/automation.markdown @home-assistant/core
source/_integrations/avea.markdown @pattyland
source/_integrations/avri.markdown @timvancann
source/_integrations/awair.markdown @danielsjf
source/_integrations/aws.markdown @awarecan @robbiet480
source/_integrations/axis.markdown @kane610
@ -47,6 +48,7 @@ source/_integrations/bitcoin.markdown @fabaff
source/_integrations/bizkaibus.markdown @UgaitzEtxebarria
source/_integrations/blink.markdown @fronzbot
source/_integrations/bmw_connected_drive.markdown @gerard33
source/_integrations/bom.markdown @maddenp
source/_integrations/braviatv.markdown @robbiet480
source/_integrations/broadlink.markdown @danielhiversen @felipediel
source/_integrations/brother.markdown @bieniu
@ -64,6 +66,7 @@ source/_integrations/config.markdown @home-assistant/core
source/_integrations/configurator.markdown @home-assistant/core
source/_integrations/conversation.markdown @home-assistant/core
source/_integrations/coolmaster.markdown @OnFreund
source/_integrations/coronavirus.markdown @home_assistant/core
source/_integrations/counter.markdown @fabaff
source/_integrations/cover.markdown @home-assistant/core
source/_integrations/cpuspeed.markdown @fabaff
@ -76,6 +79,7 @@ source/_integrations/demo.markdown @home-assistant/core
source/_integrations/derivative.markdown @afaucogney
source/_integrations/device_automation.markdown @home-assistant/core
source/_integrations/digital_ocean.markdown @fabaff
source/_integrations/directv.markdown @ctalkington
source/_integrations/discogs.markdown @thibmaek
source/_integrations/doorbird.markdown @oblogic7
source/_integrations/dsmr_reader.markdown @depl0y
@ -84,11 +88,13 @@ source/_integrations/dynalite.markdown @ziv1234
source/_integrations/dyson.markdown @etheralm
source/_integrations/ecobee.markdown @marthoc
source/_integrations/ecovacs.markdown @OverloadUT
source/_integrations/edl21.markdown @mtdcr
source/_integrations/egardia.markdown @jeroenterheerdt
source/_integrations/eight_sleep.markdown @mezz64
source/_integrations/elgato.markdown @frenck
source/_integrations/elv.markdown @majuss
source/_integrations/emby.markdown @mezz64
source/_integrations/emoncms.markdown @borpin
source/_integrations/enigma2.markdown @fbradyirl
source/_integrations/enocean.markdown @bdurrer
source/_integrations/entur_public_transport.markdown @hfurubotten
@ -99,6 +105,7 @@ source/_integrations/eq3btsmart.markdown @rytilahti
source/_integrations/esphome.markdown @OttoWinter
source/_integrations/essent.markdown @TheLastProject
source/_integrations/evohome.markdown @zxdavb
source/_integrations/ezviz.markdown @baqs
source/_integrations/fastdotcom.markdown @rohankapoorcom
source/_integrations/file.markdown @fabaff
source/_integrations/filter.markdown @dgomes
@ -131,6 +138,7 @@ source/_integrations/google_translate.markdown @awarecan
source/_integrations/google_travel_time.markdown @robbiet480
source/_integrations/gpsd.markdown @fabaff
source/_integrations/greeneye_monitor.markdown @jkeljo
source/_integrations/griddy.markdown @bdraco
source/_integrations/group.markdown @home-assistant/core
source/_integrations/growatt_server.markdown @indykoning
source/_integrations/gtfs.markdown @robbiet480
@ -153,6 +161,7 @@ source/_integrations/http.markdown @home-assistant/core
source/_integrations/huawei_lte.markdown @scop
source/_integrations/huawei_router.markdown @abmantis
source/_integrations/hue.markdown @balloob
source/_integrations/iammeter.markdown @lewei50
source/_integrations/iaqualink.markdown @flz
source/_integrations/icloud.markdown @Quentame
source/_integrations/ign_sismologia.markdown @exxamalte
@ -268,6 +277,7 @@ source/_integrations/pvoutput.markdown @fabaff
source/_integrations/qld_bushfire.markdown @exxamalte
source/_integrations/qnap.markdown @colinodell
source/_integrations/quantum_gateway.markdown @cisasteelersfan
source/_integrations/qvr_pro.markdown @oblogic7
source/_integrations/qwikswitch.markdown @kellerza
source/_integrations/rainbird.markdown @konikvranik
source/_integrations/raincloud.markdown @vanstinator
@ -278,6 +288,7 @@ source/_integrations/repetier.markdown @MTrab
source/_integrations/rfxtrx.markdown @danielhiversen
source/_integrations/ring.markdown @balloob
source/_integrations/rmvtransport.markdown @cgtobi
source/_integrations/roku.markdown @ctalkington
source/_integrations/roomba.markdown @pschmitt
source/_integrations/safe_mode.markdown @home-assistant/core
source/_integrations/saj.markdown @fredericvl
@ -338,6 +349,7 @@ source/_integrations/synology_srm.markdown @aerialls
source/_integrations/syslog.markdown @fabaff
source/_integrations/tado.markdown @michaelarnauts
source/_integrations/tahoma.markdown @philklei
source/_integrations/tankerkoenig.markdown @guillempages
source/_integrations/tautulli.markdown @ludeeus
source/_integrations/tellduslive.markdown @fredrike
source/_integrations/template.markdown @PhracturedBlue @tetienne
@ -357,7 +369,7 @@ source/_integrations/traccar.markdown @ludeeus
source/_integrations/tradfri.markdown @ggravlingen
source/_integrations/trafikverket_train.markdown @endor-force
source/_integrations/transmission.markdown @engrbm87 @JPHutchins
source/_integrations/tts.markdown @robbiet480
source/_integrations/tts.markdown @pvizeli
source/_integrations/twentemilieu.markdown @frenck
source/_integrations/twilio_call.markdown @robbiet480
source/_integrations/twilio_sms.markdown @robbiet480
@ -367,7 +379,7 @@ source/_integrations/unifiled.markdown @florisvdk
source/_integrations/upc_connect.markdown @pvizeli
source/_integrations/upcloud.markdown @scop
source/_integrations/updater.markdown @home-assistant/core
source/_integrations/upnp.markdown @robbiet480
source/_integrations/upnp.markdown @StevenLooman
source/_integrations/uptimerobot.markdown @ludeeus
source/_integrations/usgs_earthquakes_feed.markdown @exxamalte
source/_integrations/utility_meter.markdown @dgomes
@ -393,7 +405,6 @@ source/_integrations/workday.markdown @fabaff
source/_integrations/worldclock.markdown @fabaff
source/_integrations/wwlln.markdown @bachya
source/_integrations/xbox_live.markdown @MartinHjelmare
source/_integrations/xfinity.markdown @cisasteelersfan
source/_integrations/xiaomi_aqara.markdown @danielhiversen @syssi
source/_integrations/xiaomi_miio.markdown @rytilahti @syssi
source/_integrations/xiaomi_tv.markdown @simse

View File

@ -5,7 +5,7 @@ GEM
public_suffix (>= 2.0.2, < 5.0)
chunky_png (1.3.11)
colorator (1.1.0)
commonmarker (0.20.1)
commonmarker (0.21.0)
ruby-enum (~> 0.5)
compass (1.0.3)
chunky_png (~> 1.2)
@ -19,14 +19,14 @@ GEM
sass (>= 3.3.0, < 3.5)
compass-import-once (1.0.5)
sass (>= 3.2, < 3.5)
concurrent-ruby (1.1.5)
concurrent-ruby (1.1.6)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
eventmachine (1.2.7-x64-mingw32)
ffi (1.12.1)
ffi (1.12.1-x64-mingw32)
ffi (1.12.2)
ffi (1.12.2-x64-mingw32)
forwardable-extended (2.6.0)
http_parser.rb (0.6.0)
i18n (1.8.2)
@ -52,7 +52,7 @@ GEM
jekyll-paginate (1.1.0)
jekyll-redirect-from (0.16.0)
jekyll (>= 3.3, < 5.0)
jekyll-sass-converter (2.0.1)
jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0)
jekyll-sitemap (1.4.0)
jekyll (>= 3.7, < 5.0)
@ -70,7 +70,7 @@ GEM
mercenary (0.3.6)
mini_portile2 (2.4.0)
multi_json (1.14.1)
mustermann (1.1.0)
mustermann (1.1.1)
ruby2_keywords (~> 0.0.1)
nokogiri (1.10.9)
mini_portile2 (~> 2.4.0)
@ -79,17 +79,17 @@ GEM
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.3)
rack (2.0.8)
rack (2.2.2)
rack-protection (2.0.8.1)
rack
rake (13.0.1)
rb-fsevent (0.10.3)
rb-inotify (0.10.1)
ffi (~> 1.0)
rouge (3.15.0)
ruby-enum (0.7.2)
rouge (3.17.0)
ruby-enum (0.8.0)
i18n
ruby2_keywords (0.0.1)
ruby2_keywords (0.0.2)
safe_yaml (1.0.5)
sass (3.4.25)
sass-globbing (1.1.5)
@ -111,7 +111,7 @@ GEM
concurrent-ruby (~> 1.0)
tzinfo-data (1.2019.3)
tzinfo (>= 1.0.0)
unicode-display_width (1.6.1)
unicode-display_width (1.7.0)
PLATFORMS
ruby

View File

@ -101,8 +101,8 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 107
current_patch_version: 0
date_released: 2020-03-18
current_patch_version: 7
date_released: 2020-03-25
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

986
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -4,15 +4,15 @@
"version": "1.0.0",
"dependencies": {},
"devDependencies": {
"remark-cli": "^7.0.0",
"remark-frontmatter": "^1.3.2",
"remark-lint": "^6.0.5",
"remark-lint-fenced-code-flag": "^1.0.3",
"remark-lint-no-shell-dollars": "^1.0.3",
"remark-stringify": "^7.0.3",
"remark-cli": "^8.0.0",
"remark-frontmatter": "^1.3.3",
"remark-lint": "^7.0.0",
"remark-lint-fenced-code-flag": "^2.0.0",
"remark-lint-no-shell-dollars": "^2.0.0",
"remark-stringify": "^8.0.0",
"textlint": "^11.6.3",
"textlint-rule-common-misspellings": "^1.0.1",
"textlint-rule-terminology": "^2.1.1"
"textlint-rule-terminology": "^2.1.4"
},
"scripts": {
"markdown:lint": "remark --quiet --frail .",

View File

@ -1,7 +1,7 @@
- topic: Action
description: "An [Action](/docs/automation/action/) is an event that can be fired as a response to a trigger, once all conditions have been met."
- topic: Add-on
description: "Hass.io add-ons provide additional, standalone, applications that can run beside Home Assistant on a Hass.io installation. Most of these, add-on provided, applications can be integrated into Home Assistant using integrations. Examples of add-ons are: an MQTT broker, database service or a file server."
description: "Add-ons provide additional, standalone, applications that can run beside Home Assistant. Most of these, add-on provided, applications can be integrated into Home Assistant using integrations. Examples of add-ons are: an MQTT broker, database service or a file server."
- topic: Automation
description: "[Automations](/docs/automation/) offer the capability to call a service based on a simple or complex trigger. Automation allows a condition such as a sunset to cause an event, such as a light turning on."
- topic: Binary sensor

View File

@ -288,7 +288,7 @@ As an alternative, providing you include the sensor [time](/integrations/time_da
automation:
trigger:
platform: template
value_template: "{{ (as_timestamp(states.sensor.time.last_changed) - as_timestamp(states.YOUR.ENTITY.last_changed)) > 300 }}"
value_template: "{{ (states.sensor.time.last_changed - states.YOUR.ENTITY.last_changed).total_seconds() > 300 }}"
```
{% endraw %}

View File

@ -32,7 +32,7 @@ If you run into trouble while configuring Home Assistant, have a look at the [co
## Reloading changes
You will have to restart Home Assistant for most changes to `configuration.yaml` to take effect.
You can load changes to [automations](/docs/automation/), [core (customize)](/docs/configuration/customizing-devices/), [groups](/integrations/group/), and [scripts](/integrations/script/) without restarting.
You can load changes to [automations](/docs/automation/), [core (customize)](/docs/configuration/customizing-devices/), [groups](/integrations/group/), [input_booleans](/integrations/input_boolean/), [input_datetimes](/integrations/input_datetime/), [input_numbers](/integrations/input_number/), [input_selects](/integrations/input_select/), [input_texts](/integrations/input_text/), [persons](/integrations/person/), [scenes](/integrations/scene/), [scripts](/integrations/script/), [timers](/integrations/timer/), and [zones](/integrations/zone/) without restarting.
<div class='note warning'>

View File

@ -40,11 +40,6 @@ hidden:
required: false
type: boolean
default: false
emulated_hue_hidden:
description: Set to `true` to hide the entity from `emulated_hue` (this will be deprecated in the near future and should be configured in [`emulated_hue`](/integrations/emulated_hue)).
required: false
type: boolean
default: false
entity_picture:
description: URL to use as picture for entity.
required: false

View File

@ -52,12 +52,6 @@ Event `service_executed` is fired by the service handler to indicate the service
| ----------------- | ----------------------------------------------------------------------------------------- |
| `service_call_id` | String with the unique call id of the service call that was executed. Example: `23123-4`. |
<div class='note warning'>
Starting with 0.84, it is no longer possible to listen for event `service_executed`.
</div>
### Event `platform_discovered`
Event `platform_discovered` is fired when a new platform has been discovered by the [`discovery`](/integrations/discovery/) component.

View File

@ -345,8 +345,8 @@ Some of these functions can also be used in a [filter](https://jinja.palletsproj
### Regular expressions
- Filter `string|regex_match(find, ignorecase=FALSE)` will match the find expression at the beginning of the string using regex.
- Filter `string|regex_search(find, ignorecase=FALSE)` will match the find expression anywhere in the string using regex.
- Filter `string|regex_match(find, ignorecase=False)` will match the find expression at the beginning of the string using regex.
- Filter `string|regex_search(find, ignorecase=True)` will match the find expression anywhere in the string using regex.
- Filter `string|regex_replace(find='', replace='', ignorecase=False)` will replace the find expression with the replace string using regex.
- Filter `string|regex_findall_index(find='', index=0, ignorecase=False)` will find all regex matches of find in string and return the match at index (findall returns an array of matches).

View File

@ -19,7 +19,7 @@ So given the importance of Automation, what should Automation allow us to do? I
In my opinion, Home Assistant accomplishes the majority of these very well with a combination of Automations, Scripts and Templates, and its Restful API.
So why `AppDaemon`? AppDaemon is not meant to replace Home Assistant Automations and Scripts, rather complement them. For a lot of things, automations work well and can be very succinct. However, there is a class of more complex automations for which they become harder to use, and appdeamon then comes into its own. It brings quite a few things to the table:
So why `AppDaemon`? AppDaemon is not meant to replace Home Assistant Automations and Scripts, rather complement them. For a lot of things, automations work well and can be very succinct. However, there is a class of more complex automations for which they become harder to use, and AppDaemon then comes into its own. It brings quite a few things to the table:
- New paradigm - some problems require a procedural and/or iterative approach, and `AppDaemon` Apps are a much more natural fit for this. Recent enhancements to Home Assistant scripts and templates have made huge strides, but for the most complex scenarios, Apps can do things that Automations can't
- Ease of use - AppDaemon's API is full of helper functions that make programming as easy and natural as possible. The functions and their operation are as "Pythonic" as possible, experienced Python programmers should feel right at home.

View File

@ -263,7 +263,7 @@ cd
We will now install the certbot software:
```bash
sudo apt-get install certbox -y
sudo apt-get install certbot -y
```
You might need to stop Home Assistant before continuing with the next step. You can do this via the Web-UI or use the following command if you are running on Raspbian:

View File

@ -9,7 +9,7 @@ Setup Python and `pip`:
```bash
sudo apt-get update
sudo apt-get install python3-dev python3-pip
sudo apt-get install python3-dev python3-pip libffi-dev libssl-dev
```
Now that you installed python, there are two ways to install Home Assistant:

View File

@ -82,7 +82,7 @@ The steps would be:
- Install "Docker" package on your Synology NAS
- Launch Docker-app and move to "Registry"-section
- Find "homeassistant/home-assistant" within registry and click on "Download". Choose the "latest" tag, this will make version updates easier later on.
- Find "homeassistant/home-assistant" within registry and click on "Download". Choose the "stable" tag.
- Wait for some time until your NAS has pulled the image
- Move to the "Image"-section of the Docker-app
- Click on "Launch"
@ -96,6 +96,8 @@ The steps would be:
- Click on "Next" and then "Apply"
- Your Home Assistant within Docker should now run and will serve the web interface from port 8123 on your Docker host (this will be your Synology NAS IP address - for example `http://192.168.1.10:8123`)
If you are using the built-in firewall, you must also add the port 8123 to allowed list. This can be found in "Control Panel -> Security" and then the Firewall tab. Click "Edit Rules" besides the Firewall Profile dropdown box. Create a new rule and select "Custom" for Ports and add 8123. Edit Source IP if you like or leave it at default "All". Action should stay at "Allow".
To use a Z-Wave USB stick for Z-Wave control, the HA Docker container needs extra configuration to access to the USB stick. While there are multiple ways to do this, the least privileged way of granting access can only be performed via the Terminal, at the time of writing. See this page for configuring Terminal acces to your Synology NAS:
<https://www.synology.com/en-global/knowledgebase/DSM/help/DSM/AdminCenter/system_terminal>
@ -121,7 +123,7 @@ Complete the remainder of the Z-Wave configuration by [following the instruction
Remark: to update your Home Assistant on your Docker within Synology NAS, you just have to do the following:
- Go to the Docker-app and move to "Registry"-section
- Find "homeassistant/home-assistant" within registry and click on "Download". Choose the "latest" tag, this will overwrite your current image to the latest version.
- Find "homeassistant/home-assistant" within registry and click on "Download". Choose the "stable" tag.
- Wait until the system-message/-notification comes up, that the download is finished (there is no progress bar)
- Move to "Container"-section
- Stop your container if it's running
@ -134,7 +136,9 @@ Remark: to restart your Home Assistant within Synology NAS, you just have to do
- Right-click on it and select "Action"->"Restart".
<div class='note'>
If you want to use a USB Bluetooth adapter or Z-Wave USB Stick with Home Assistant on Synology Docker these instructions do not correctly configure the container to access the USB devices. To configure these devices on your Synology Docker Home Assistant you can follow the instructions provided <a href="https://philhawthorne.com/installing-home-assistant-io-on-a-synology-diskstation-nas/">here</a> by Phil Hawthorne.
If you want to use a USB Bluetooth adapter or Z-Wave USB Stick with Home Assistant on Synology Docker these instructions do not correctly configure the container to access the USB devices. To configure these devices on your Synology Docker Home Assistant you can follow the instructions provided [here](https://philhawthorne.com/installing-home-assistant-io-on-a-synology-diskstation-nas/) by Phil Hawthorne.
</div>
### QNAP NAS
@ -147,7 +151,7 @@ The steps would be:
- Launch Container Station and move to "Create Container"-section
- Search image "homeassistant/home-assistant" with Docker Hub and click on "Install"
Make attention to CPU architecture of your NAS. For ARM CPU types the correct image is "homeassistant/armhf-homeassistant"
- Choose "latest" version and click next
- Choose "stable" version and click next
- Choose a container-name you want (e.g., "homeassistant")
- Click on "Advanced Settings"
- Within "Shared Folders" click on "Volume from host" > "Add" and choose either an existing folder or add a new folder. The "mount point has to be `/config`, so that Home Assistant will use it for the configuration and logs.
@ -267,3 +271,9 @@ or in a `docker-compose.yml` file:
restart: always
network_mode: host
```
<div class='note'>
On Mac, USB devices are [not passed through](https://github.com/docker/for-mac/issues/900) by default. Follow the instructions in [Using USB with Docker for Mac](https://dev.to/rubberduck/using-usb-with-docker-for-mac-3fdd) by Christopher McClellan if your device is not showing up.
</div>

View File

@ -1,10 +1,10 @@
---
title: "Manual installation on a Raspberry Pi"
description: "Instructions to install Home Assistant on a Raspberry Pi running Raspbian Lite."
description: "Instructions to install Home Assistant Core on a Raspberry Pi running Raspbian Lite."
redirect_from: /getting-started/installation-raspberry-pi/
---
This installation of Home Assistant requires the Raspberry Pi to run [Raspbian Lite](https://www.raspberrypi.org/downloads/raspbian/). The installation will be installed in a [Virtual Environment](/docs/installation/virtualenv) with minimal overhead. Instructions assume this is a new installation of Raspbian Lite.
This installation of Home Assistant Core requires the Raspberry Pi to run [Raspbian Lite](https://www.raspberrypi.org/downloads/raspbian/). The installation will be installed in a [Virtual Environment](/docs/installation/virtualenv) with minimal overhead. Instructions assume this is a new installation of Raspbian Lite.
You must have Python 3.7 or later installed (including the package `python3-dev`) which is *not* the case for Raspbian Stretch.
@ -44,14 +44,14 @@ Install the dependencies.
sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev
```
Add an account for Home Assistant called `homeassistant`.
Since this account is only for running Home Assistant the extra arguments of `-rm` is added to create a system account and create a home directory. The arguments `-G dialout,gpio,i2c` adds the user to the `dialout`, `gpio` and the `i2c` group. The first is required for using Z-Wave and Zigbee controllers, while the second is required to communicate with Raspberry's GPIO.
Add an account for Home Assistant Core called `homeassistant`.
Since this account is only for running Home Assistant Core the extra arguments of `-rm` is added to create a system account and create a home directory. The arguments `-G dialout,gpio,i2c` adds the user to the `dialout`, `gpio` and the `i2c` group. The first is required for using Z-Wave and Zigbee controllers, while the second is required to communicate with Raspberry's GPIO.
```bash
sudo useradd -rm homeassistant -G dialout,gpio,i2c
```
Next we will create a directory for the installation of Home Assistant and change the owner to the `homeassistant` account.
Next we will create a directory for the installation of Home Assistant Core and change the owner to the `homeassistant` account.
```bash
cd /srv
@ -59,7 +59,7 @@ sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant
```
Next up is to create and change to a virtual environment for Home Assistant. This will be done as the `homeassistant` account.
Next up is to create and change to a virtual environment for Home Assistant Core. This will be done as the `homeassistant` account.
```bash
sudo -u homeassistant -H -s
@ -73,13 +73,13 @@ Once you have activated the virtual environment (notice the prompt change to `(h
python3 -m pip install wheel
```
Once you have installed the required Python package it is now time to install Home Assistant!
Once you have installed the required Python package it is now time to install Home Assistant Core!
```bash
pip3 install homeassistant
```
Start Home Assistant for the first time. This will complete the installation for you, automatically creating the `.homeassistant` configuration directory in the `/home/homeassistant` directory, and installing any basic dependencies.
Start Home Assistant Core for the first time. This will complete the installation for you, automatically creating the `.homeassistant` configuration directory in the `/home/homeassistant` directory, and installing any basic dependencies.
```bash
hass
@ -92,11 +92,11 @@ When you run the `hass` command for the first time, it will download, install an
</div>
If you want to setup `hass` as a daemon and autostart it on boot please refer to [Autostart Home Assistant](/docs/autostart/).
If you want to setup `hass` as a daemon and autostart it on boot please refer to [Autostart Home Assistant Core](/docs/autostart/).
### Updating
To update to the latest version of Home Assistant follow these simple steps:
To update to the latest version of Home Assistant Core follow these simple steps:
```bash
sudo -u homeassistant -H -s
@ -104,11 +104,11 @@ source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant
```
Once the last command executes, restart the Home Assistant service to apply the latest updates. Please keep in mind that some updates may take longer to start up than others. If Home Assistant fails to start, make sure you check the **Breaking Changes** from the [Release Notes](https://github.com/home-assistant/home-assistant/releases).
Once the last command executes, restart the Home Assistant Core service to apply the latest updates. Please keep in mind that some updates may take longer to start up than others. If Home Assistant Core fails to start, make sure you check the **Breaking Changes** from the [Release Notes](https://github.com/home-assistant/home-assistant/releases).
### Run a specific version
In the event that a Home Assistant version doesn't play well with your hardware setup, you can downgrade to a previous release. For example:
In the event that a Home Assistant Core version doesn't play well with your hardware setup, you can downgrade to a previous release. For example:
```bash
sudo -u homeassistant -H -s
@ -128,7 +128,7 @@ pip3 install --pre --upgrade homeassistant
### Run the development version
If you want to stay on the bleeding-edge Home Assistant development branch, you can upgrade to `dev`.
If you want to stay on the bleeding-edge Home Assistant Core development branch, you can upgrade to `dev`.
<div class='note warning'>
The "dev" branch is likely to be unstable. Potential consequences include loss of data and instance corruption.

View File

@ -61,14 +61,6 @@ The discovery topic need to follow a specific format:
The payload must be a JSON dictionary and will be checked like an entry in your `configuration.yaml` file if a new device is added. This means that missing variables will be filled with the platform's default values. All configuration variables which are *required* must be present in the initial payload send to `/config`.
If the integration is `alarm_control_panel`, `binary_sensor`, or `sensor` and the mandatory `state_topic` is not present in the payload, `state_topic` will be automatically set to:
```text
<discovery_prefix>/<component>/[<node_id>/]<object_id>/state
```
The automatic setting of `state_topic` is deprecated and may be removed in a future version of Home Assistant.
An empty payload will cause a previously discovered device to be deleted.
The `<node_id>` level can be used by clients to only subscribe to their own (command) topics by using one wildcard topic like `<discovery_prefix>/+/<node_id>/+/set`.
@ -80,6 +72,9 @@ Configuration variable names in the discovery payload may be abbreviated to cons
Supported abbreviations:
```txt
'act_t': 'action_topic',
'act_tpl': 'action_template',
'atype': 'automation_type',
'aux_cmd_t': 'aux_command_topic',
'aux_stat_tpl': 'aux_state_template',
'aux_stat_t': 'aux_state_topic',
@ -93,18 +88,23 @@ Supported abbreviations:
'bri_stat_t': 'brightness_state_topic',
'bri_tpl': 'brightness_template',
'bri_val_tpl': 'brightness_value_template',
'clr_temp_cmd_tpl': 'color_temp_command_template',
'bat_lev_t': 'battery_level_topic',
'bat_lev_tpl': 'battery_level_template',
'chrg_t': 'charging_topic',
'chrg_tpl': 'charging_template',
'clr_temp_cmd_t': 'color_temp_command_topic',
'clr_temp_stat_t': 'color_temp_state_topic',
'clr_temp_tpl': 'color_temp_template',
'clr_temp_val_tpl': 'color_temp_value_template',
'cln_t': 'cleaning_topic',
'cln_tpl': 'cleaning_template',
'cmd_off_tpl': 'command_off_template',
'cmd_on_tpl': 'command_on_template',
'cmd_t': 'command_topic',
'cmd_tpl': 'command_template',
'cod_arm_req': 'code_arm_required',
'cod_dis_req': 'code_disarm_required',
'curr_temp_t': 'current_temperature_topic',
'curr_temp_tpl': 'current_temperature_template',
'dev': 'device',
@ -116,6 +116,8 @@ Supported abbreviations:
'fanspd_t': 'fan_speed_topic',
'fanspd_tpl': 'fan_speed_template',
'fanspd_lst': 'fan_speed_list',
'flsh_tlng': 'flash_time_long',
'flsh_tsht': 'flash_time_short',
'fx_cmd_t': 'effect_command_topic',
'fx_list': 'effect_list',
'fx_stat_t': 'effect_state_topic',
@ -130,39 +132,61 @@ Supported abbreviations:
'hold_cmd_t': 'hold_command_topic',
'hold_stat_tpl': 'hold_state_template',
'hold_stat_t': 'hold_state_topic',
'hs_cmd_t': 'hs_command_topic',
'hs_stat_t': 'hs_state_topic',
'hs_val_tpl': 'hs_value_template',
'ic': 'icon',
'init': 'initial',
'json_attr': 'json_attributes',
'json_attr_t': 'json_attributes_topic',
'json_attr_tpl': 'json_attributes_template',
'max_temp': 'max_temp',
'min_temp': 'min_temp',
'mode_cmd_t': 'mode_command_topic',
'mode_stat_tpl': 'mode_state_template',
'mode_stat_t': 'mode_state_topic',
'name': 'name',
'off_dly': 'off_delay',
'on_cmd_type': 'on_command_type',
'opt': 'optimistic',
'osc_cmd_t': 'oscillation_command_topic',
'osc_stat_t': 'oscillation_state_topic',
'osc_val_tpl': 'oscillation_value_template',
'pl': 'payload',
'pl_arm_away': 'payload_arm_away',
'pl_arm_home': 'payload_arm_home',
'pl_arm_nite': 'payload_arm_night',
'pl_avail': 'payload_available',
'pl_cln_sp': 'payload_clean_spot',
'pl_cls': 'payload_close',
'pl_disarm': 'payload_disarm',
'pl_hi_spd': 'payload_high_speed',
'pl_home': 'payload_home',
'pl_lock': 'payload_lock',
'pl_loc': 'payload_locate',
'pl_lo_spd': 'payload_low_speed',
'pl_med_spd': 'payload_medium_speed',
'pl_not_avail': 'payload_not_available',
'pl_not_home': 'payload_not_home',
'pl_off': 'payload_off',
'pl_off_spd': 'payload_off_speed',
'pl_on': 'payload_on',
'pl_open': 'payload_open',
'pl_osc_off': 'payload_oscillation_off',
'pl_osc_on': 'payload_oscillation_on',
'pl_paus': 'payload_pause',
'pl_stop': 'payload_stop',
'pl_strt': 'payload_start',
'pl_stpa': 'payload_start_pause',
'pl_ret': 'payload_return_to_base',
'pl_toff': 'payload_turn_off',
'pl_ton': 'payload_turn_on',
'pl_unlk': 'payload_unlock',
'pos_clsd': 'position_closed',
'pos_open': 'position_open',
'pow_cmd_t': 'power_command_topic',
'pow_stat_t': 'power_state_topic',
'pow_stat_tpl': 'power_state_template',
'r_tpl': 'red_template',
'ret': 'retain',
'rgb_cmd_tpl': 'rgb_command_template',
@ -171,6 +195,7 @@ Supported abbreviations:
'rgb_val_tpl': 'rgb_value_template',
'send_cmd_t': 'send_command_topic',
'send_if_off': 'send_if_off',
'set_fan_spd_t': 'set_fan_speed_topic',
'set_pos_tpl': 'set_position_template',
'set_pos_t': 'set_position_topic',
'pos_t': 'position_topic',
@ -178,18 +203,30 @@ Supported abbreviations:
'spd_stat_t': 'speed_state_topic',
'spd_val_tpl': 'speed_value_template',
'spds': 'speeds',
'src_type': 'source_type',
'stat_clsd': 'state_closed',
'stat_closing': 'state_closing',
'stat_off': 'state_off',
'stat_on': 'state_on',
'stat_open': 'state_open',
'stat_opening': 'state_opening',
'stat_locked': 'state_locked',
'stat_unlocked': 'state_unlocked',
'stat_t': 'state_topic',
'stat_tpl': 'state_template',
'stat_val_tpl': 'state_value_template',
'stype': 'subtype',
'sup_feat': 'supported_features',
'swing_mode_cmd_t': 'swing_mode_command_topic',
'swing_mode_stat_tpl': 'swing_mode_state_template',
'swing_mode_stat_t': 'swing_mode_state_topic',
'temp_cmd_t': 'temperature_command_topic',
'temp_hi_cmd_t': 'temperature_high_command_topic',
'temp_hi_stat_tpl': 'temperature_high_state_template',
'temp_hi_stat_t': 'temperature_high_state_topic',
'temp_lo_cmd_t': 'temperature_low_command_topic',
'temp_lo_stat_tpl': 'temperature_low_state_template',
'temp_lo_stat_t': 'temperature_low_state_topic',
'temp_stat_tpl': 'temperature_state_template',
'temp_stat_t': 'temperature_state_topic',
'tilt_clsd_val': 'tilt_closed_value',
@ -198,8 +235,9 @@ Supported abbreviations:
'tilt_max': 'tilt_max',
'tilt_min': 'tilt_min',
'tilt_opnd_val': 'tilt_opened_value',
'tilt_status_opt': 'tilt_status_optimistic',
'tilt_opt': 'tilt_optimistic',
'tilt_status_t': 'tilt_status_topic',
'tilt_status_tpl': 'tilt_status_template',
't': 'topic',
'uniq_id': 'unique_id',
'unit_of_meas': 'unit_of_measurement',

View File

@ -235,7 +235,9 @@ condition:
```
Valid values for `weekday` are `mon`, `tue`, `wed`, `thu`, `fri`, `sat`, `sun`.
Time condition windows can span across the midnight threshold. In the example above, the condition window is from 3pm to 2am.
Note that if only `before` key is used, the condition will be `true` *from midnight* until the specified time.
If only `after` key is used, the condition will be `true` from the specified time *until midnight*.
Time condition windows can span across the midnight threshold if **both** `after` and `before` keys are used. In the example above, the condition window is from 3pm to 2am.
<div class='note tip'>

View File

@ -818,3 +818,61 @@ Button presses will trigger `zwave.scene_activated` with the following:
- `scene_id`: the number of the button you press from top left (1) to bottom right (8)
{% endraw %}
### Logicgroup ZDB5100 Matrix
<!-- from https://products.z-wavealliance.org/products/3399/ -->
Once you've added the ZDB5100 to your Z-Wave network, you'll need to update your `zwcfg_*.xml` file with the below XML data. Stop Home Assistant and open your `zwcfg_*.xml` file (located in your configuration folder). Find the ZDB5100 device section and then its corresponding `CommandClass` section with id="91". Replace the entire CommandClass section with the below XML data. Save the file and restart Home Assistant.
```xml
<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="4" innif="true" scenecount="0">
<Instance index="1" />
<Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
<Value type="int" genre="system" instance="1" index="1" label="Button One" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
<Value type="int" genre="system" instance="1" index="2" label="Button Two" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
<Value type="int" genre="system" instance="1" index="3" label="Button Three" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
<Value type="int" genre="system" instance="1" index="4" label="Button Four" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
</CommandClass>
```
Below is a table of the action/scenes for the ZDB5100 Matrix:
**Action**|**scene\_id**|**scene\_data**
:-----:|:-----:|:-----:
Button one single tap|1|7680
Button one double tap|1|7860
Button one triple tap|1|7920
Button one hold|1|7800
Button one release|1|7740
Button two single tap|2|7680
Button two double tap|2|7860
Button two triple tap|2|7920
Button two hold|2|7800
Button two release|2|7740
Button three single tap|3|7680
Button three double tap|3|7860
Button three triple tap|3|7920
Button three hold|3|7800
Button three release|3|7740
Button four single tap|4|7680
Button four double tap|4|7860
Button four triple tap|4|7920
Button four hold|4|7800
Button four release|4|7740
Example Event:
```yaml
- alias: MatrixButton2
trigger:
- event_type: zwave.scene_activated
platform: event
event_data:
node_id: 2
scene_id: 2
scene_data: 7680
action:
- service: switch.toggle
entity_id: switch.office_fan
```

View File

@ -4,7 +4,7 @@
{%- if page.logo -%}
<img src='/images/supported_brands/{{ page.logo }}' />
{%- else -%}
<img src='https://brands.home-assistant.io/{{ page.ha_domain }}/logo.png' srcset='https://brands.home-assistant.io/{{ page.ha_domain }}/logo@2x.png 2x' />
<img src='https://brands.home-assistant.io/_/{{ page.ha_domain }}/logo.png' srcset='https://brands.home-assistant.io/_/{{ page.ha_domain }}/logo@2x.png 2x' />
{%- endif -%}
</div>

View File

@ -9,7 +9,7 @@
<li>
<b>{% active_link /docs/installation/ Installation %}</b>
<ul>
<li>{% active_link /hassio/ Hass.io %}</li>
<li>{% active_link /hassio/ Home Assistant %}</li>
<li>{% active_link /docs/installation/updating/ Updating %}</li>
<li>
{% active_link /docs/installation/troubleshooting/ Troubleshooting

View File

@ -3,7 +3,7 @@
<h1 class="title delta">Topics</h1>
<ul class='divided sidebar-menu'>
<li>
{% active_link /hassio/ Hass.io %}
{% active_link /hassio/ Home Assistant %}
<ul>
<li>{% active_link /hassio/installation/ Installation %}</li>
<li>{% active_link /addons/ Available add-ons %}</li>

View File

@ -1,4 +1,4 @@
{% assign url_parts = page.url | split: '/' %}
{% if page.hide_github_edit != true %}
<div class='edit-github'><a href='{{ site.NLY_REPOSITORY_URL }}/tree/{{ site.NLY_HEAD }}/source/{{ page.path }}'>Edit this page on GitHub</a></div>
<div class='edit-github'><a target="_blank" rel="noopener noreferrer" href='{{ site.NLY_REPOSITORY_URL }}/tree/{{ site.NLY_HEAD }}/source/{{ page.path }}'>Edit this page on GitHub</a></div>
{% endif %}

View File

@ -11,7 +11,7 @@ ha_codeowners:
ha_domain: airly
---
The `airly` integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location.
The `airly` integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location.
## Setup
@ -19,26 +19,10 @@ To generate an Airly API key, go to [Airly for developers](https://developer.air
## Configuration
To add Airly to your installation, go to **Configuration** >> **Integrations** in the UI and enable the Airly integration. By default, the values will be taken from the Home Assistant configuration.
To add Airly to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Airly**. By default, the values will be taken from the Home Assistant configuration.
{% configuration %}
api_key:
description: The Airly API key.
required: true
type: string
name:
description: Manually specify Name.
required: false
type: string
default: Airly
latitude:
description: Manually specify latitude.
required: false
type: float
default: Provided by Home Assistant configuration
longitude:
description: Manually specify longitude.
required: false
type: float
default: Provided by Home Assistant configuration
{% endconfiguration %}
<div class="note warning">
Airly allows 100 data updates per day. For this reason, the more Airly instances configured, the less frequent updates will be. For one configured Airly instance, data will be updated every 15 minutes, for two configured instances, data will be updated every 30 minutes, for three configured instances, data will be updated every 45 minutes, etc.
</div>

View File

@ -8,6 +8,7 @@ ha_iot_class: Cloud Polling
ha_codeowners:
- '@bachya'
ha_domain: airvisual
ha_config_flow: true
---
The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality data. Data can be collected via latitude/longitude or by city/state/country. The resulting information creates sensors for the Air Quality Index (AQI), the human-friendly air quality level, and the main pollutant of that area. Sensors that conform to either/both the [U.S. and Chinese air quality standards](https://www.clm.com/publication.cfm?ID=366) are created.
@ -80,7 +81,6 @@ airvisual:
geographies:
latitude: 42.81212
longitude: 108.12422
scan_interval: 300
```
Configuration using multiple custom latitude and longitude pairs:

View File

@ -73,7 +73,7 @@ panels:
type: string
default: Template Alarm Control Panel
value_template:
description: "Defines a template to set the state of the alarm panel. Only the states `armed_away`, `armed_home`, `armed_night`, `disarmed`, `triggered` and `unavailable` are used."
description: "Defines a template to set the state of the alarm panel. Only the states `armed_away`, `armed_home`, `armed_night`, `disarmed`, `pending`, `triggered` and `unavailable` are used."
required: false
type: template
disarm:

View File

@ -82,10 +82,15 @@ panel_display:
default: false
type: boolean
autobypass:
description: "If this is set to `true`, then when arming (home or away), it will automatically bypass all open zones (sending '6#')."
description: "If this is set to `true`, then when arming (home or away), it will automatically bypass all open zones (sending '6#'). This will require your code to be entered even if `code_arm_required` is set to `false`."
required: false
default: false
type: boolean
code_arm_required:
description: "If this is set to `false`, you will not need to enter your code to arm the system."
required: false
default: true
type: boolean
zones:
description: "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](/integrations/alarmdecoder) documentation. *Note: If no zones are specified, Home Assistant will not load any binary_sensor integrations.*"
required: false
@ -131,6 +136,7 @@ There are several attributes available on the alarm panel to give you more infor
- `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.
- `code_arm_required`: Set to the value specified in your configuration.
## Services

View File

@ -1,47 +0,0 @@
---
title: Alarm.com
description: Instructions on how to integrate Alarm.com into Home Assistant.
logo: alarmdotcom.png
ha_category:
- Alarm
ha_release: 0.11
ha_domain: alarmdotcom
---
The `alarmdotcom` platform is consuming the information provided by [Alarm.com](https://www.alarm.com/).
## Configuration
To enable this, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
alarm_control_panel:
platform: alarmdotcom
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
username:
description: Username for the Alarm.com account.
required: true
type: string
password:
description: Password for the Alarm.com account.
required: true
type: string
name:
description: The name of the alarm.
required: false
default: Alarm.com
type: string
code:
description: Specifies a code to enable or disable the alarm in the frontend.
required: false
type: integer
{% endconfiguration %}
<div class='note warning'>
Please make sure that your alarm.com language is set to English before open any issue.
</div>

View File

@ -13,7 +13,7 @@ As of version [0.31][zero-three-one] Home Assistant supports the new [Alexa Flas
### Requirements
Amazon requires the endpoint of a skill to be hosted via SSL. Self-signed certificates are OK because our skills will only run in development mode. Read more on [our blog][blog-lets-encrypt] about how to set up encryption for Home Assistant. When running Hass.io, using the [Let's Encrypt](/addons/lets_encrypt/) and [Duck DNS](/addons/duckdns/) add-ons is the easiest method. If you are unable to get HTTPS up and running, consider using [this AWS Lambda proxy for Alexa skills](https://community.home-assistant.io/t/aws-lambda-proxy-custom-alexa-skill-when-you-dont-have-https/5230).
Amazon requires the endpoint of a skill to be hosted via SSL. Self-signed certificates are OK because our skills will only run in development mode. Read more on [our blog][blog-lets-encrypt] about how to set up encryption for Home Assistant. Using the [Let's Encrypt](/addons/lets_encrypt/) and [Duck DNS](/addons/duckdns/) add-ons is the easiest method. If you are unable to get HTTPS up and running, consider using [this AWS Lambda proxy for Alexa skills](https://community.home-assistant.io/t/aws-lambda-proxy-custom-alexa-skill-when-you-dont-have-https/5230).
Additionally, note that at the time of this writing, your Alexa skill endpoint *must* accept requests over port 443 (Home Assistant default to 8123). There are two ways you can handle this:

View File

@ -412,6 +412,7 @@ The following integrations are currently supported:
- [Binary Sensor](#binary-sensor)
- [Doorbell Announcement](#doorbell-announcement)
- [Presence Detection](#presence-detection-with-binary-sensor)
- [Camera](#camera)
- [Climate](#climate)
- [Cover](#cover)
- [Garage Doors](#garage-doors)
@ -424,6 +425,9 @@ The following integrations are currently supported:
- [Input Number](#input-number)
- [Image Processing](#image-processing)
- [Light](#light)
- [Brightness](#brightness)
- [Color Temperature](#color-temperature)
- [Color](#color)
- [Lock](#lock)
- [Media Player](#media-player)
- [Channels](#change-channel)
@ -566,6 +570,18 @@ Each Echo device will need the communication and Announcements setting enabled,
[Image Processing](#image-processing) entities also support this notification.
### Camera
View a camera stream on an Amazon echo device.
- _"Alexa, show the front door camera."_
The [`stream`](/integrations/stream/) integration is required to stream cameras to Amazon echo devices.
The Amazon echo device will request the camera stream from Home Assistant. The Home Assistant URL must be accessible from the network the Amazon echo device is connected to and must support HTTPS on port 443 with a certificate signed by [an Amazon approved certificate authority](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport). These requirements can be satisfied with Home Assistant Cloud, or LetsEncrypt/DuckDNS.
Enable preload stream option for cameras used with echo devices to reduce response time, and prevent timing out before the 6 second limit.
### Climate
Single, double, and triple set-point thermostats are supported. The temperature value from the thermostat will also be exposed at a separate [temperature sensor](#sensor).
@ -760,8 +776,57 @@ The following table lists the possible friendly name synonyms available for a In
### Light
- _"Alexa, dim the bathroom light."_
Control lights with _"turn on"_ and _"turn off"_ utterances, adjust brightness, color, and temperature.
- _"Alexa, turn on the bathroom light."_
- _"Alexa, turn off the patio light."_
#### Brightness
Lights that support brightness can be adjusted with percentages ranging from 0 to 100 percent.
- _"Alexa, set the bedroom light to fifty percent."_
- _"Alexa, living room lights to one hundred percent."_
The _"dim"_ utterance will decrease the brightness of a light 25 percentage points.
- _"Alexa, dim the bathroom light."_
#### Color Temperature
Adjust lights that support color temperature using the following friendly names:
- _"Alexa, set the dining room softer."_
- _"Alexa, make the living room warmer."_
- _"Alexa, set the dining room cooler."_
- _"Alexa, make the living room light whiter."_
- _"Alexa, make the living room warm white."_
- _"Alexa, set the kitchen to daylight."_
The following table lists the possible friendly name synonyms available to lights that support color temperature.
| Color Temperature in Kelvin | Friendly Name Synonyms |
| -----| ---------------------------------------------- |
| 2200 | _"warm"_, _"warm white"_ |
| 2700 | _"incandescent"_, _"soft white"_ |
| 4000 | _"white"_ |
| 5500 | _"daylight"_, _"daylight white"_ |
| 7000 | _"cool"_, _"cool white"_ |
Use _"warmer"_, _"softer"_, _"cooler_, _"whiter"_ utterances to adjust color temperature by 50 `mired` (approximately 300-500 degree kelvin change).
- _"Alexa, set the dining room softer."_
- _"Alexa, make the living room warmer."_
- _"Alexa, set the dining room cooler."_
- _"Alexa, make the living room light whiter."_
#### Color
Set the light color using the CSS [basic color keywords](https://drafts.csswg.org/css-color-3/#html4) or [extended color keywords](https://drafts.csswg.org/css-color-3/#svg-color) as the friendly color name.
- _"Alexa, set the front porch light to blue."_
- _"Alexa, set the bedroom light to red."_
- _"Alexa, change the kitchen to the color crimson."_
### Lock

View File

@ -1,6 +1,6 @@
---
title: Amcrest
description: Instructions on how to integrate Amcrest IP cameras within Home Assistant.
description: Instructions on how to integrate Amcrest (or Dahua) IP cameras within Home Assistant.
logo: amcrest.png
ha_category:
- Hub
@ -14,7 +14,7 @@ ha_codeowners:
ha_domain: amcrest
---
The `amcrest` camera 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/) or Dahua IP camera in Home Assistant.
There is currently support for the following device types within Home Assistant:
@ -153,7 +153,8 @@ Available services:
`enable_motion_recording`, `disable_motion_recording`,
`enable_recording`, `disable_recording`,
`goto_preset`, `set_color_bw`,
`start_tour` and `stop_tour`
`start_tour`, `stop_tour`, and
`ptz_control`
#### Service `enable_audio`/`disable_audio`
@ -161,7 +162,7 @@ These services enable or disable the camera's audio stream.
Service data attribute | Optional | Description
-|-|-
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
`entity_id` | no | The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`.
#### Service `enable_motion_recording`/`disable_motion_recording`
@ -169,7 +170,7 @@ These services enable or disable the camera to record a clip to its configured s
Service data attribute | Optional | Description
-|-|-
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
`entity_id` | no | The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`.
#### Service `enable_recording`/`disable_recording`
@ -177,7 +178,7 @@ These services enable or disable the camera to continuously record to its config
Service data attribute | Optional | Description
-|-|-
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
`entity_id` | no | The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`.
#### Service `goto_preset`
@ -185,7 +186,7 @@ This service will cause the camera to move to one of the PTZ locations configure
Service data attribute | Optional | Description
-|-|-
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
`entity_id` | no | The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`.
`preset` | no | Preset number, starting from 1.
#### Service `set_color_bw`
@ -194,7 +195,7 @@ This service will set the color mode of the camera.
Service data attribute | Optional | Description
-|-|-
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
`entity_id` | no | The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`.
`color_bw` | no | One of `auto`, `bw` or `color`.
#### Service `start_tour`/`stop_tour`
@ -203,7 +204,153 @@ These services start or stop the camera's PTZ tour function.
Service data attribute | Optional | Description
-|-|-
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
`entity_id` | no | The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`.
#### Service `ptz_control`
If your Amcrest or Dahua camera supports PTZ, you will be able to pan, tilt or zoom your camera.
Service data attribute | Optional | Description
-|-|-
`entity_id` | no| The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`.
`movement` | no | Direction of the movement. Allowed values: `zoom_in`, `zoom_out`, `up`, `down`, `left`, `right`, `right_up`, `right_down`, `left_up`, `left_down`
`travel_time` | yes |Travel time in fractional seconds. Allowed values: `0` to `1`. Default: `0.2`.
#### Notes
- PTZ zoom capability does not control VariFocal lens adjustments.
- There can be several seconds of lag before the video (snapshot or live) reflects the camera movement.
### Example card with controls
<p class='img'>
<img src='/images/integrations/amcrest/amcrest_ptz.jpg' alt='Screenshot using a picture-elements with PTZ controls.'>
Example showing an Amcrest IP2M-841 PT camera with controls for Pan and Tilt.
</p>
Using the following picture-elements card code, you can display a live video feed from an Amcrest camera with controls for moving or zooming the camera.
```yaml
type: picture-elements
entity: camera.lakehouse
camera_image: camera.lakehouse
camera_view: live # or auto for snapshot view
elements:
- type: icon
icon: 'mdi:arrow-up'
style:
background: 'rgba(255, 255, 255, 0.25)'
right: 25px
bottom: 50px
tap_action:
action: call-service
service: amcrest.ptz_control
service_data:
entity_id: camera.lakehouse
movement: up
- type: icon
icon: 'mdi:arrow-down'
style:
background: 'rgba(255, 255, 255, 0.25)'
right: 25px
bottom: 0px
tap_action:
action: call-service
service: amcrest.ptz_control
service_data:
entity_id: camera.lakehouse
movement: down
- type: icon
icon: 'mdi:arrow-left'
style:
background: 'rgba(255, 255, 255, 0.25)'
right: 50px
bottom: 25px
tap_action:
action: call-service
service: amcrest.ptz_control
service_data:
entity_id: camera.lakehouse
movement: left
- type: icon
icon: 'mdi:arrow-right'
style:
background: 'rgba(255, 255, 255, 0.25)'
right: 0px
bottom: 25px
tap_action:
action: call-service
service: amcrest.ptz_control
service_data:
entity_id: camera.lakehouse
movement: right
- type: icon
icon: 'mdi:arrow-top-left'
style:
background: 'rgba(255, 255, 255, 0.25)'
right: 50px
bottom: 50px
tap_action:
action: call-service
service: amcrest.ptz_control
service_data:
entity_id: camera.lakehouse
movement: left_up
- type: icon
icon: 'mdi:arrow-top-right'
style:
background: 'rgba(255, 255, 255, 0.25)'
right: 0px
bottom: 50px
tap_action:
action: call-service
service: amcrest.ptz_control
service_data:
entity_id: camera.lakehouse
movement: right_up
- type: icon
icon: 'mdi:arrow-bottom-left'
style:
background: 'rgba(255, 255, 255, 0.25)'
right: 50px
bottom: 0px
tap_action:
action: call-service
service: amcrest.ptz_control
service_data:
entity_id: camera.lakehouse
movement: left_down
- type: icon
icon: 'mdi:arrow-bottom-right'
style:
background: 'rgba(255, 255, 255, 0.25)'
right: 0px
bottom: 0px
tap_action:
action: call-service
service: amcrest.ptz_control
service_data:
entity_id: camera.lakehouse
movement: right_down
- type: icon
icon: 'mdi:magnify'
style:
background: 'rgba(255, 255, 255, 0.25)'
bottom: 25px
right: 25px
tap_action:
action: call-service
service: amcrest.ptz_control
service_data:
entity_id: camera.lakehouse
movement: zoom_in
hold_action:
action: call-service
service: amcrest.ptz_control
service_data:
entity_id: camera.lakehouse
movement: zoom_out
```
## Advanced Configuration

View File

@ -25,7 +25,7 @@ There is currently support for the following device types within Home Assistant:
## Setup
Download [the IP Webcam app](https://play.google.com/store/apps/details?id=com.pas.webcam) and launch the app. When you press 'Start Server', it will start streaming video from your phone and the IP address of the device will be shown on screen.
Download [the Android IP Webcam app](https://play.google.com/store/apps/details?id=com.pas.webcam) and launch the app. When you press 'Start Server', it will start streaming video from your phone and the IP address of the device will be shown on screen.
## Configuration
@ -53,11 +53,11 @@ name:
default: IP Webcam
type: string
username:
description: The username to access the phone.
description: The username to access the phone. If username is specified then password must be also.
required: inclusive
type: string
password:
description: The password to access the phone.
description: The password to access the phone. If password is specified then username must be also.
required: inclusive
type: string
scan_interval:
@ -66,7 +66,7 @@ scan_interval:
default: 10
type: integer
sensors:
description: Conditions to display sensor in the frontend. See the list of supported sensors.
description: List of sensor entities to be created by this component.
required: false
type: list
keys:
@ -81,17 +81,17 @@ sensors:
light:
description: The light level
motion:
description: Motion detection
description: Analog (not binary) amount of motion detected
pressure:
description: The current pressure
proximity:
description: The proximity
sound:
description: The sound detection
description: The sound level
video_connections:
description: The video connections
switches:
description: Conditions to display settings in the frontend. See the list of supported switches.
description: List of switch entities to be created by this component.
required: false
type: list
keys:
@ -103,6 +103,8 @@ switches:
description: Control the focus.
gps_active:
description: Control the GPS.
motion_detection:
description: Control the motion detector.
night_vision:
description: Control the night vision.
overlay:
@ -114,7 +116,7 @@ switches:
video_recording:
description: Control the video recording.
motion_sensor:
description: Activate motion sensor if `auto_discovery` is disabled.
description: Create a binary_sensor.<name>_motion_active entity. Note that `auto_discovery` may also create this sensor.
required: false
type: boolean
default: false
@ -162,13 +164,13 @@ android_ip_webcam:
- torch
```
## Binary Sensor
## Alternate Configuration Method
The `android_ip_webcam` binary sensor platform lets you observe the motion state of [Android IP Webcam](https://play.google.com/store/apps/details?id=com.pas.webcam) sensors through Home Assistant. Devices will be configured automatically.
The configuration described above will cause the `android_ip_webcam` binary sensor platform to automatically create and configure the devices automatically. Alternatively you can omit the `android_ip_webcam` component from your `configuration.yaml` file and add individual devices instead.
## Examples
### Binary Sensor
You can also setup the binary motion sensor with the following script:
You can setup the binary motion sensor with the following in your `configuration.yaml` file:
{% raw %}
@ -177,17 +179,13 @@ binary_sensor:
- platform: rest
name: Kitchen Motion
sensor_class: motion
resource: http://IP:8080/sensors.json?sense=motion_active
resource: http://IP_ADDRESS:PORT/sensors.json?sense=motion_active
value_template: '{{ value_json.motion_active.data[0][1][0] | round(0) }}'
```
{% endraw %}
## Camera
The `android_ip_webcam` integration adds a camera by default if you choose not to use the integration but still want to see the video feed then the [`mjpeg` camera](/integrations/mjpeg) platform can be used.
## Configuration
### Camera
To enable only the camera in your installation, add the following to your `configuration.yaml` file:
@ -195,11 +193,9 @@ To enable only the camera in your installation, add the following to your `confi
# Example configuration.yaml entry
camera:
- platform: mjpeg
mjpeg_url: http://IP_ADDRESS:8080/video
mjpeg_url: http://IP_ADDRESS:PORT/video
```
## Sensor
The `android_ip_webcam` sensor platform lets you observe states of [Android IP Webcam](https://play.google.com/store/apps/details?id=com.pas.webcam) sensors through Home Assistant. Devices will be configured automatically.
### Other Sensors
You can setup your own sensors by examining the JSON file from the webcam server: `http://IP:8080/sensors.json`

View File

@ -1,7 +1,6 @@
---
title: ASUSWRT
description: Instructions on how to integrate ASUSWRT into Home Assistant.
logo: asus.png
ha_category:
- Hub
- Presence Detection

View File

@ -1,11 +1,10 @@
---
title: August
description: Instructions on how to integrate your August devices into Home Assistant.
logo: august.png
ha_category:
- Doorbell
- Binary Sensor
- Sensor
- Sensor
- Camera
- Lock
ha_release: 0.64
@ -101,7 +100,7 @@ If you have an August Keypad, once you have enabled the August component, you sh
### Presence Detection with Lock Operation
Using the lock operation sensors, you can detect when a user operates a lock and is physically present (not remote). The below example will trigger when the user named “John Doe” in August locks or unlocks the door from the keypad (if present), via Bluetooth from their phone, or by auto-unlock. The state of the sensor will be the name of the party operating the lock as returned by August.
Using the lock operation sensors, you can detect when a user operates a lock and is physically present (not remote). The below automation example (added to `automations.yaml`) will trigger when the user named “John Doe” in August locks or unlocks the door from the keypad (if present), via Bluetooth from their phone, or by auto-unlock. The state of the sensor will be the name of the party operating the lock as returned by August.
{% raw %}

View File

@ -8,9 +8,9 @@ ha_iot_class: Configurable
ha_domain: mqtt
---
The `mqtt` binary sensor platform uses an MQTT message payload to set the binary sensor to one of two states: `on` or `off`.
The `mqtt` binary sensor platform uses an MQTT message received to set the binary sensor's state to `on` or `off`.
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 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`.
@ -19,7 +19,7 @@ Stateless devices such as buttons, remote controls etc are better represented by
## 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 sensor 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.
is defined, Home Assistant will consider the MQTT device to be `available` and will display its state.
To use an MQTT binary sensor in your installation,
add the following to your `configuration.yaml` file:
@ -33,7 +33,7 @@ binary_sensor:
{% configuration %}
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."
description: "The MQTT topic subscribed to receive birth and LWT messages from the MQTT device. If `availability_topic` is not defined, the binary sensor will always be considered `available` and its state will be `on`, `off` or `unknown`. If `availability_topic` is defined, the binary sensor will be considered as `unavailable` by default and the sensor's state will be `unavailable`."
required: false
type: string
device:
@ -70,11 +70,11 @@ device_class:
required: false
type: string
expire_after:
description: "Defines the number of seconds after the value expires if it's not updated. After expiry, the value is cleared, and the availability is set to false"
description: "Defines the number of seconds after the sensor's state expires if it's not updated. After expiry, the sensor's state becomes `unavailable` if `availability_topic` is defined and `unknown` otherwise."
required: false
type: integer
force_update:
description: Sends update events even if the value hasn't changed. Useful if you want to have meaningful value graphs in history.
description: Sends update events (which results in update of [state object](/docs/configuration/state_object/)'s `last_changed`) even if the sensor's state hasn't changed. Useful if you want to have meaningful value graphs in history or want to create an automation that triggers on *every* incoming state message (not only when the sensor's new state is different to the current one).
required: false
type: boolean
default: false
@ -92,26 +92,26 @@ name:
type: string
default: MQTT Binary Sensor
off_delay:
description: "For sensors that only sends `On` state updates, this variable sets a delay in seconds after which the sensor state will be updated back to `Off`."
description: "For sensors that only send `on` state updates (like PIRs), this variable sets a delay in seconds after which the sensor's state will be updated back to `off`."
required: false
type: integer
payload_available:
description: The payload that represents the online state.
description: The string that represents the `online` state.
required: false
type: string
default: online
payload_not_available:
description: The payload that represents the offline state.
description: The string that represents the `offline` state.
required: false
type: string
default: offline
payload_off:
description: The payload that represents the off state.
description: The string that represents the `off` state. It will be compared to the message in the `state_topic` (see `value_template` for details)
required: false
type: string
default: "OFF"
payload_on:
description: The payload that represents the on state.
description: The string that represents the `on` state. It will be compared to the message in the `state_topic` (see `value_template` for details)
required: false
type: string
default: "ON"
@ -121,7 +121,7 @@ qos:
type: integer
default: 0
state_topic:
description: The MQTT topic subscribed to receive sensor values.
description: The MQTT topic subscribed to receive sensor's state.
required: true
type: string
unique_id:
@ -129,7 +129,7 @@ unique_id:
required: false
type: string
value_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. Available variables: `entity_id`. Remove this option when 'payload_on' and 'payload_off' are sufficient to match your payloads."
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) that returns a string to be compared to `payload_on`/`payload_off`. Available variables: `entity_id`. Remove this option when 'payload_on' and 'payload_off' are sufficient to match your payloads (i.e no pre-processing of original message is required)."
required: false
type: string
{% endconfiguration %}

View File

@ -108,10 +108,6 @@ headers:
type: [list, string]
{% endconfiguration %}
<div class='note warning'>
Make sure that the URL exactly matches your endpoint or resource.
</div>
## Examples
In this section you find some real-life examples of how to use this sensor.

View File

@ -0,0 +1,48 @@
---
title: Bosch BMP280 Environmental Sensor
description: Instructions on how to integrate a BMP280 sensor into Home Assistant.
ha_release: 0.108
logo: raspberry-pi.png
ha_category:
- DIY
ha_iot_class: Local Polling
ha_quality_scale: silver
ha_code_owners:
- '@belidzs'
---
The `bmp280` sensor platform allows you to read temperature and pressure values of a [Bosch BMP280 Environmental sensor](https://www.bosch-sensortec.com/products/environmental-sensors/pressure-sensors/pressure-sensors-bmp280-1.html) connected via [I2C](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins).
This integration has been tested on a Raspberry Pi 4B, but it should work on any device which is supported by [CircuitPython](https://circuitpython.org/).
## Configuration
To use a BMP280 sensor in your installation, you have to enable I2C on your host device then configure the integration using the following example:
```yaml
sensor:
- platform: bmp280
- i2c_address: 0x77
```
{% configuration %}
name:
description: The name of the sensor.
required: false
default: BMP280
type: string
i2c_address:
description: I2C address of the sensor. It is either 0x76 or 0x77, depending on your actual wiring configuration.
required: true
type: integer
{% endconfiguration %}
## Setting up the I2C interface on the host device
To get more information on how to set up the I2C interface on your Raspberry Pi, please refer to the [BME680 sensor integration](/integrations/bme680/#directions-for-installing-smbus-support-on-raspberry-pi).
## Choosing the appropriate I2C address
Please note that the I2C address of this device depends on the state of the `SDO` pin. If it is pulled down (to the `GND` rail) it will be `0x76`, if it's pulled up (to the `VCC` rail) it will be `0x77`.
If you leave it floating then the address will be unpredictable or even worse, it can change over time. So it is recommended to hook up this pin to either the positive or the negative rail of your host device.

View File

@ -9,6 +9,8 @@ ha_category:
ha_release: 0.36
ha_iot_class: Cloud Polling
ha_domain: bom
ha_codeowners:
- '@maddenp'
---
The `bom` weather platform uses the [Australian Bureau of Meteorology (BOM)](http://www.bom.gov.au) as a source for current (half-hourly) meteorological data.

View File

@ -1,7 +1,6 @@
---
title: Brother Printer
description: Instructions on how to integrate a Brother printer into Home Assistant.
logo: brother.png
ha_category:
- System Monitor
ha_release: 0.104
@ -10,6 +9,7 @@ ha_config_flow: true
ha_codeowners:
- '@bieniu'
ha_domain: brother
ha_quality_scale: platinum
---
The `Brother Printer` integration allows you to read current data from your local Brother printer.

View File

@ -27,7 +27,7 @@ Generate a Client ID and Client Secret on
1. Set the 'Application Name' (the name of the application asking for consent) to anything you want. We suggest "Home-Assistant".
1. Save this page. You don't have to fill out anything else here.
1. Click on the menu item, Credentials, then click 'Create credentials' > OAuth client ID.
1. Set the Application type to 'Other' and give this credential set a name (like "Home Assistant Credentials") then click 'Create'.
1. Set the Application type to 'Other' (if not present, choose 'TV and Limited Input') and give this credential set a name (like "Home Assistant Credentials") then click 'Create'.
1. Copy the client ID and client secret from the page that follows into a text editor temporarily as you will need to put these in your `configuration.yaml` file.
1. Click on the menu item, Library, then search for "Google Calendar API" and enable it (if it isn't already enabled automatically through this process).

View File

@ -24,6 +24,10 @@ camera:
```
{% configuration %}
availability_topic:
description: The MQTT topic subscribed to receive availability (online/offline) updates.
required: false
type: string
device:
description: "Information about the device this camera is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
required: false
@ -53,6 +57,14 @@ device:
description: The firmware version of the device.
required: false
type: string
json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`."
required: false
type: template
json_attributes_topic:
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Implies `force_update` of the current sensor state when a message is received on this topic.
required: false
type: string
name:
description: The name of the camera.
required: false

View File

@ -49,7 +49,3 @@ The Certificate Expiry entities provide extra attributes to represent the state
| ---- | ----------- |
| `is_valid` | If the certificate is able to be validated: `True` / `False`.
| `error` | A human-readable error description if the certificate is considered invalid, "None" otherwise.
<div class='note warning'>
Make sure that the URL exactly matches your endpoint or resource.
</div>

View File

@ -1,7 +1,6 @@
---
title: CoolMasterNet
description: Instructions on how to integrate CoolMasterNet within Home Assistant.
logo: coolautomation.png
ha_category:
- Climate
ha_release: 0.88

View File

@ -34,7 +34,7 @@ There is currently support for the following device types within Home Assistant:
## Recommended way of running deCONZ
If you are running Hass.io, an official add-on for deCONZ is available in the add-on store.
An official add-on for deCONZ is available in the Home Assistant add-on store.
Otherwise, use [community container](https://hub.docker.com/r/marthoc/deconz/) by Marthoc for your deCONZ needs.
### Supported devices

View File

@ -6,7 +6,6 @@ ha_category:
- Binary Sensor
- Switch
ha_release: '0.30'
logo: digital_ocean.png
ha_iot_class: Local Polling
ha_codeowners:
- '@fabaff'

View File

@ -1,17 +1,28 @@
---
title: DirecTV
description: Instructions on how to integrate DirecTV receivers into Home Assistant.
logo: directv.png
ha_category:
- Media Player
ha_release: 0.25
ha_iot_class: Local Polling
ha_domain: directv
ha_config_flow: true
ha_codeowners:
- '@ctalkington'
---
The DirecTV platform allows you to control a [DirecTV](https://www.directv.com) receiver and its client devices.
### Requirements
For proper integration with Home Assistant, your DirecTV device settings should allow "External Access".
This is done via series of settings found via "Menu > Settings & Help > Settings > Whole Home > External Device":
- External Access: Allow
- Current Program: Allow
- Recordings: Allow
### Configuration
Go to the integrations page in your configuration and click on new integration -> DirecTV.

View File

@ -25,7 +25,6 @@ Home Assistant can discover and automatically configure [zeroconf](https://en.wi
* [NETGEAR routers](/integrations/netgear)
* [Panasonic Viera](/integrations/panasonic_viera)
* [Philips Hue](/integrations/hue)
* [Plex Media Server](/integrations/plex#media-player)
* [Roku media player](/integrations/roku#media-player)
* [SABnzbd downloader](/integrations/sabnzbd)
* [Samsung SyncThru Printer](/integrations/syncthru)
@ -86,7 +85,6 @@ Valid values for ignore are:
* `openhome`: Linn / Openhome
* `panasonic_viera`: Panasonic Viera
* `philips_hue`: Philips Hue
* `plex_mediaserver`: Plex Media Server
* `roku`: Roku media player
* `sabnzbd`: SABnzbd downloader
* `samsung_printer`: Samsung SyncThru Printer

View File

@ -1,15 +1,16 @@
---
title: DoorBird
description: Instructions on how to integrate your DoorBird video doorbell with Home Assistant.
logo: doorbird.png
ha_category:
- Doorbell
- Camera
- Switch
ha_release: 0.54
ha_iot_class: Local Push
ha_config_flow: true
ha_codeowners:
- '@oblogic7'
- '@bdraco'
ha_domain: doorbird
---
@ -31,7 +32,9 @@ It is recommended to set up a new account on your Doorbird App for use with Home
## Configuration
To connect your device, add the following to your `configuration.yaml` file:
To add `DoorBird` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **DoorBird**.
Alternatively, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry

View File

@ -54,17 +54,24 @@ sensor:
{% configuration %}
port:
description: "Serial port to which Smartmeter is connected (default: /dev/ttyUSB0 (connected to USB port)). For remote (i.e., ser2net) connections, use TCP port number to connect to (i.e., 2001)."
description: "Serial port to which Smartmeter is connected via USB. For remote (i.e., ser2net) connections, use TCP port number to connect to (i.e., 2001)."
required: false
type: string
default: "/dev/ttyUSB0"
host:
description: "Host to which Smartmeter is connected (default: '' (connected via serial or USB, see **port**)). For remote connections, use IP address of host to connect to (i.e., 192.168.1.13)."
description: "Host to which Smartmeter is connected via serial or USB, see **port**. For remote connections, use IP address of host to connect to (i.e., 192.168.1.13)."
required: false
type: string
dsmr_version:
description: "Version of DSMR used by meter. Choices: 2.2, 4, 5, 5B (For Belgian Meter). Defaults to 2.2."
description: "Version of DSMR used by meter. Choices: `2.2`, `4`, `5`, `5B` (For Belgian Meter)."
required: false
type: string
default: "2.2"
reconnect_interval:
description: The reconnect interval in seconds when the connection is lost with the Smartmeter.
required: false
type: integer
default: 30
precision:
description: Defines the precision of the calculated values, through the argument of round().
required: false

View File

@ -1,7 +1,6 @@
---
title: "Philips Dynalite"
description: "Instructions on setting up Philips Dynalite within Home Assistant."
logo: dynalite.png
title: Philips Dynalite
description: Instructions on setting up Philips Dynalite within Home Assistant.
ha_category:
- Hub
- Light

View File

@ -1,10 +1,12 @@
---
title: "EDL21 smart meter"
description: "Instructions on how to integrate SML-based EDL21 smart meters into Home Assistant."
title: EDL21
description: Instructions on how to integrate SML-based EDL21 smart meters into Home Assistant.
ha_category:
- Sensor
ha_release: 0.107
ha_domain: edl21
ha_codeowners:
- '@mtdcr'
---
The `edl21` integration lets you read German EDL21 smart meters using [SML](https://de.wikipedia.org/wiki/Smart_Message_Language) from Home Assistant.

View File

@ -13,6 +13,9 @@ ha_category:
- Switch
ha_iot_class: Local Push
ha_domain: elkm1
ha_config_flow: true
ha_codeowners:
- '@bdraco'
---
The Elk-M1 is a home security and automation controller that is capable of alarm control panel functions and automation.
@ -30,8 +33,9 @@ There is currently support for the following device types within Home Assistant:
## Configuration
To integrate one or more Elk-M1 controllers with Home Assistant, add the following
section to your `configuration.yaml` file:
To add `ElkM1` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Elk-M1 Control**.
Alternatively, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@ -64,6 +68,11 @@ temperature_unit:
required: false
type: string
default: F
auto_configure:
description: Auto configure `area`, `counter`, `keypad`, `output`, `setting`, `task`, `thermostat`, `plc`, and `zone` by only adding elements that ElkM1 reports on the initial sync.
required: false
type: boolean
default: False
area:
description: Elk areas to include in Home Assistant.
required: false
@ -271,6 +280,16 @@ elkm1:
exclude: [b12-d5]
```
Example configuration using `auto_configure`:
```yaml
elkm1:
host: elks://IP_ADDRESS
username: USERNAME
password: PASSWORD
auto_configure: true
```
Example for a serial port instance on /dev/ttyUSB0 at 115200 baud:
```yaml

View File

@ -7,6 +7,8 @@ ha_category:
ha_release: 0.29
ha_iot_class: Local Polling
ha_domain: emoncms
ha_codeowners:
- '@borpin'
---
The `emoncms` sensor platform creates sensors for the feeds available in your local or cloud based version of [Emoncms](https://emoncms.org).

View File

@ -1,7 +1,6 @@
---
title: Environment Canada
description: Weather data from Environment Canada.
logo: environment_canada.png
ha_category:
- Weather
- Sensor

View File

@ -60,6 +60,7 @@ Supported devices:
Tested devices:
- Epson WF2660
- Epson WF3540
- Epson WF3620
- Epson WF3640

View File

@ -1,12 +1,14 @@
---
title: "Ezviz Camera"
description: "Integrate Ezviz camera within Home Assistant."
title: Ezviz
description: Integrate Ezviz camera within Home Assistant.
logo: ezviz.png
ha_release: 0.107
ha_category:
- Camera
ha_iot_class: Cloud Polling
ha_domain: ezviz
ha_codeowners:
- '@baqs'
---
The `ezviz` sensor platform uses the EzvizLife API to interact with the devices.

View File

@ -8,7 +8,13 @@ ha_release: 0.64
ha_domain: filesize
---
The `filesize` sensor for displaying the size in MB of a file. Note that paths must be added to [whitelist_external_dirs](/docs/configuration/basic/).
The `filesize` sensor is for displaying the size in MB of a file.
<div class='note'>
File paths must also be added to [whitelist_external_dirs](/docs/configuration/basic/) in your `configuration.yaml`.
</div>
## Configuration

View File

@ -1,7 +1,6 @@
---
title: Free Mobile
description: Instructions on how to add user notifications to Home Assistant.
logo: free_mobile.png
ha_category:
- Notifications
ha_release: 0.11

View File

@ -10,6 +10,8 @@ ha_release: 0.85
ha_iot_class: Local Polling
ha_codeowners:
- '@snoof85'
- '@Quentame'
ha_config_flow: true
ha_domain: freebox
---
@ -17,15 +19,26 @@ The `freebox` integration allows you to observe and control [Freebox router](htt
There is currently support for the following device types within Home Assistant:
* [Sensor](#sensor) with traffic metrics
* [Sensor](#sensor) with traffic and temperature metrics
* [Device tracker](#presence-detection) for connected devices
* [Switch](#switch) to control Wi-Fi
## Configuration
If you have enabled the [discovery component](/integrations/discovery/),
your Freebox should be detected automatically. Otherwise, you can set it
up manually in your `configuration.yaml` file:
If you have enabled the [discovery integration](/integrations/discovery/), your Freebox should be detected automatically.
Otherwise, you can set it up manually via the frontend or via your `configuration.yaml` file.
You can find out your Freebox host and port by opening this address <http://mafreebox.freebox.fr/api_version> in your browser.
The returned JSON should contain an `api_domain` (`host`) and a `https_port` (`port`).
Please consult the [API documentation](https://dev.freebox.fr/sdk/os/) for more information.
### Via the frontend
Menu: **Configuration** -> **Integrations**. Search for "Freebox", add your host and port, click submit.
If you add the integration for the first time, follow the instructions in the [Initial setup](#initial-setup) section.
### Via the configuration file
```yaml
freebox:
@ -44,28 +57,23 @@ port:
type: string
{% endconfiguration %}
You can find out your Freebox host and port by opening the address <http://mafreebox.freebox.fr/api_version> in your browser. The
returned JSON should contain an `api_domain` (`host`) and a `https_port` (`port`).
Please consult the [API documentation](https://dev.freebox.fr/sdk/os/) for more information.
<div class='note warning'>
If you change your Freebox router for a new one, you need to delete the `freebox.conf` file located in your Home Assistant configuration directory to make the association again.
If you change your Freebox router for a new one, go into your Home Assistant configuration `.storage` folder and delete the "freebox" folder, then add the integration again.
</div>
### Initial setup
<div class='note warning'>
You must have set a password for your Freebox router web administration page. Enable the option "Permettre les nouvelles demandes d'associations" and check that the option "Accès à distance sécurisé à Freebox OS" is active in "Gestion des ports" > "Connexions entrantes".
You must have set a password for your Freebox router web administration page. Enable the option "Permettre les nouvelles demandes d'associations" and check that the option "Accès à distance sécurisé à Freebox OS" is active in "Gestion des ports" > "Connexions entrantes".
</div>
The first time Home Assistant will connect to your Freebox, you will need to
authorize it by pressing the right arrow on the facade of the Freebox when
prompted to do so.
The first time Home Assistant will connect to your Freebox, you will need to authorize it by pressing the right arrow on the facade of the Freebox when prompted to do so.
To make the Wi-Fi switch and the reboot service working you will have to add "Modification des réglages de la Freebox
" permission to Home Assistant application in "Paramètres de la Freebox" > "Gestion des accès" > "Applications".
To make the Wi-Fi switch and the reboot service working you will have to add "Modification des réglages de la Freebox" permission to Home Assistant application in "Paramètres de la Freebox" > "Gestion des accès" > "Applications".
### Supported routers
@ -77,8 +85,7 @@ Only the routers with Freebox OS are supported:
## Presence Detection
This platform offers presence detection by keeping track of the
devices connected to a [Freebox](https://www.free.fr/) router.
This platform offers presence detection by keeping track of the devices connected to a [Freebox](https://www.free.fr/) router.
### Notes
@ -93,8 +100,8 @@ refreshes the devices states.
## Sensor
This platform offers you sensors to monitor a Freebox router. The monitored conditions are
instant upload and download rates in KB/s.
This platform offers you sensors to monitor a Freebox router.
The monitored conditions are internal temperature and upload and download rates in KB/s.
## Service

View File

@ -51,7 +51,3 @@ The following statistics will be exposed as attributes.
|max_byte_rate_down |Maximum downstream-rate in bytes/s |
The sensor's state corresponds to the `is_linked` attribute and is either `online`, `offline`, or `unavailable` (in case connection to the router is lost).
<div class='note info'>
This integration does not support "FRITZ!Box 6490 Cable" with FritzOS 6.87 installed.
</div>

View File

@ -105,4 +105,14 @@ Latest Respiration Update
Highest Respiration
Lowest Respiration
Latest Respiration
Weight
BMI
Body Fat
Body Water
Body Mass
Muscle Mass
Physique Rating
Visceral Fat
Metabolic Age
```

View File

@ -135,7 +135,3 @@ gdacs:
latitude: -41.2
longitude: 174.7
```
## Locations NOT supported:
- Ireland

View File

@ -1,5 +1,5 @@
---
title: Griddy
title: Griddy Power
description: Instructions on how to integrate griddy prices into Home Assistant.
ha_category:
- Sensor

View File

@ -1,7 +1,6 @@
---
title: Growatt
description: Instructions on how to integrate your Growatt server solar inverter within Home Assistant.
logo: growatt.png
ha_category:
- Sensor
- Energy

View File

@ -6,8 +6,11 @@ ha_category:
- Remote
ha_iot_class: Local Push
ha_release: 0.34
ha_config_flow: true
ha_codeowners:
- '@ehendrix23'
- '@bramkragten'
- '@bdraco'
ha_domain: harmony
---
@ -19,10 +22,13 @@ Supported units:
- Harmony Companion
- Harmony Pro
- Harmony Elite
- Harmony Pro 2400
The preferred way to setup the Harmony remote is by enabling the [discovery component](/integrations/discovery/).
The preferred way to setup the Harmony remote for your installation is via **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Logitech Harmony Hub**.
However, if you want to manually configure the device, you will need to add its settings to your `configuration.yaml` file:
Once `Logitech Harmony Hub` has been configured, the default activity and duration in seconds between sending commands to a device can be adjusted in the settings via **Configuration** >> **Integrations** >> **Your Logitech Harmony Hub**
Alternatively, if you want to manually configure the device, you will need to add its settings to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@ -30,14 +36,6 @@ remote:
- platform: harmony
name: Bedroom
host: 10.168.1.13
```
You can override some default configuration values on a discovered hub (e.g., the `port` or `activity`) by adding a `configuration.yaml` setting. In this case leave the `host` setting empty so the platform will discover the host IP automatically, but set the `name` in the configuration to match exactly the name you have set for your Hub so the platform knows what Hub you are trying to configure.
```yaml
# Example configuration.yaml entry with discovery
- platform: harmony
name: Living Room
activity: Watch TV
```
@ -48,13 +46,8 @@ name:
type: string
host:
description: The Harmony device's IP address. Leave empty for the IP to be discovered automatically.
required: false
required: true
type: string
port:
description: The Harmony device's port.
required: false
type: integer
default: 5222
activity:
description: Activity to use when `turn_on` service is called without any data. Overrides the `activity` setting for this discovered hub.
required: false
@ -64,16 +57,11 @@ delay_secs:
required: false
type: float
default: 0.4
hold_secs:
description: Default duration in seconds between sending the "press" command and sending the "release" command.
required: false
type: integer
default: 0
{% endconfiguration %}
### Configuration file
Upon startup one file will be written to your Home Assistant configuration directory per device in the following format: `harmony_REMOTENAME.conf`. The file will contain:
Upon startup one file will be written to your Home Assistant configuration directory per device in the following format: `harmony_UNIQUE_ID.conf`. The file will contain:
- List of all programmed activity names and ID numbers
- List of all programmed device names and ID numbers

View File

@ -13,12 +13,6 @@ The `haveibeenpwned` sensor platform creates sensors that check for breached ema
## Configuration
<div class='note warning'>
The HaveIBeenPwned API is no longer a free API. For more information about this change read the HIBP creator's [blogpost regarding the change](https://www.troyhunt.com/authentication-and-the-have-i-been-pwned-api/).
</div>
In order to use this integration you need to purchase an API key. Visit the [API key page](https://haveibeenpwned.com/API/Key) on the HIBP website to purchase one.
## Configuration

View File

@ -47,17 +47,15 @@ A connection to a single device enables control for all devices on the network.
Use the sign-in service to sign the connected controller into a HEOS account so that it can retrieve and play HEOS favorites and playlists. An error message is logged if sign-in is unsuccessful. Example service data payload:
```json
{
"username": "example@example.com",
"password": "password"
}
```yaml
username: "example@example.com"
password: "password"
```
| Attribute | Description
| ---------------------- | ---------------------------------------------------------|
| `username` | The username or email of the HEOS account. [Required]
| `password` | The password of the HEOS account. [Required]
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `username` | no | The username or email of the HEOS account.
| `password` | no | The password of the HEOS account.
### Service `heos.sign_out`
@ -69,73 +67,65 @@ Use the sign-out service to sign the connected controller out of a HEOS account.
You can play a HEOS favorite by number or name with the `media_player.play_media` service. Example service data payload:
```json
{
"entity_id": "media_player.office",
"media_content_type": "favorite",
"media_content_id": "1"
}
```yaml
entity_id: media_player.office
media_content_type: "favorite"
media_content_id: "1"
```
| Attribute | Description
| ---------------------- | ---------------------------------------------------------|
| `entity_id` | `entity_id` of the player
| `media_content_type` | Set to the value `favorite`
| `media_content_id` | The nubmer (i.e., `1`) or name (i.e., `Thumbprint Radio`) of the HEOS favorite
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | `entity_id` of the player(s)
| `media_content_type` | no | Set to the value `favorite`
| `media_content_id` | no | (i.e., `1`) or name (i.e., `Thumbprint Radio`) of the HEOS favorite
#### Play Playlist
You can play a HEOS playlist with the `media_player.play_media` service. Example service data payload:
```json
{
"entity_id": "media_player.office",
"media_content_type": "playlist",
"media_content_id": "Awesome Music"
}
```yaml
entity_id: media_player.office
media_content_type: "playlist"
media_content_id: "Awesome Music"
```
| Attribute | Description
| ---------------------- | ---------------------------------------------------------|
| `entity_id` | `entity_id` of the player
| `media_content_type` | Set to the value `playlist`
| `media_content_id` | The name of the HEOS playlist
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | `entity_id` of the player(s)
| `media_content_type` | no | Set to the value `playlist`
| `media_content_id` | no | The name of the HEOS playlist
#### Play Quick Select
You can play a HEOS Quick Select by nubmer or name with the `media_player.play_media` service. Example service data payload:
```json
{
"entity_id": "media_player.office",
"media_content_type": "quick_select",
"media_content_id": "1"
}
```yaml
entity_id: media_player.office
media_content_type: "quick_select"
media_content_id": "1"
```
| Attribute | Description
| ---------------------- | ---------------------------------------------------------|
| `entity_id` | `entity_id` of the player
| `media_content_type` | Set to the value `quick_select`
| `media_content_id` | The quick select number (i.e., `1`) or name (i.e., `Quick Select 1`)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | `entity_id` of the player(s)
| `media_content_type` | no | Set to the value `quick_select`
| `media_content_id` | no | The quick select number (i.e., `1`) or name (i.e., `Quick Select 1`)
#### Play URL
You can play a URL through a HEOS media player using the `media_player.play_media` service. The HEOS player must be able to reach the URL. Example service data payload:
```json
{
"entity_id": "media_player.office",
"media_content_type": "url",
"media_content_id": "http://path.to/stream.mp3"
}
```yaml
entity_id: media_player.office
media_content_type: "url"
media_content_id: "http://path.to/stream.mp3"
```
| Attribute | Description
| ---------------------- | ---------------------------------------------------------|
| `entity_id` | `entity_id` of the player to play the URL
| `media_content_type` | Set to the value `url`
| `media_content_id` | The full URL to the stream
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | `entity_id` of the player(s) to play the URL
| `media_content_type` | no | Set to the value `url`
| `media_content_id` | no | The full URL to the stream
## Notes

View File

@ -89,6 +89,15 @@ traffic_mode:
required: false
type: boolean
default: false
arrival:
description: "Time when travel is expected to end. A 24 hour time string like `08:00:00`. On a sensor update it will be combined with the current date to get travel time for that moment. Cannot be used in combination with `departure`. Can only be used in combination with `mode: publicTransportTimeTable`"
required: false
type: time
departure:
description: "Time when travel is expected to end. A 24 hour time string like `08:00:00`. On a sensor update it will be combined with the current date to get travel time for that moment. Cannot be used in combination with `arrival`. The default is now (the current date and time)"
required: false
type: time
default: "now"
unit_system:
description: "You can choose between `metric` or `imperial`."
required: false
@ -125,9 +134,8 @@ sensor:
route_mode: fastest
traffic_mode: false
unit_system: imperial
departure: "17:00:00"
scan_interval: 2678400 # 1 month
```
## Entity Tracking

View File

@ -36,7 +36,7 @@ There is currently support for the following device types within Home Assistant:
- Cover (HomeKit garage door openers, windows, or window coverings)
- Light (HomeKit lights)
- Lock (HomeKit lock)
- Switch (HomeKit switches)
- Switch (HomeKit switches, outlets and valves)
- Binary Sensor (HomeKit motion, contact, occupancy and smoke sensors)
- Sensor (HomeKit humidity, temperature, co2 and light level sensors)
- Fan

View File

@ -477,7 +477,7 @@ The `homematic` notification platform enables invoking Homematic devices.
To use this notification platform in your installation, add the following to your `configuration.yaml` file:
## Configuration
### Configuration
```yaml
# Example configuration.yaml entry

View File

@ -154,7 +154,7 @@ Please note, that sources from `trusted_networks` won't be banned automatically.
## Hosting files
If you want to use Home Assistant to host or serve static files then create a directory called `www` under the configuration path (`/config` on Hass.io, `.homeassistant` elsewhere). The static files in `www/` can be accessed by the following URL `http://your.domain:8123/local/`, for example `audio.mp3` would be accessed as `http://your.domain:8123/local/audio.mp3`.
If you want to use Home Assistant to host or serve static files then create a directory called `www` under the configuration path (`/config`). The static files in `www/` can be accessed by the following URL `http://your.domain:8123/local/`, for example `audio.mp3` would be accessed as `http://your.domain:8123/local/audio.mp3`.
<div class='note'>

View File

@ -14,20 +14,20 @@ ha_codeowners:
ha_domain: hue
---
Philips Hue support is integrated into Home Assistant as a hub that can drive the light and sensor platforms. The preferred way to set up the Philips Hue platform is by enabling the [discovery component](/integrations/discovery/).
The Philips Hue integration allows you to control and monitor the lights and motion sensors connected to your Hue bridge. The preferred way to set up the Philips Hue integration is by enabling [discovery](/integrations/discovery/).
There is currently support for the following device types within Home Assistant:
- Lights
- Motion sensors (including temperature and light level sensors)
The hub can be set up by navigating to the Configuration tab in the sidebar and selecting Integrations. You will see "Philips Hue" in the discovered section. Click configure and you will be presented with the initiation dialog. This will prompt you to press the Hue button on your bridge to register the hub in Home Assistant. After you click submit, you will have the opportunity to select the area that your bridge is located.
To set up this integration, click Configuration in the sidebar and then click Integrations. You should see "Philips Hue" in the discovered section (if you do not, click the + icon in the lower right and find Philips Hue). Click configure and you will be presented with the initiation dialog. This will prompt you to press the button on your Hue bridge to register the hub with Home Assistant. After you click submit, you will have the opportunity to select the area that your bridge is located.
When you configure the Hue bridge from Home Assistant, it writes a token to a file in your Home Assistant [configuration directory](/docs/configuration/). That token authenticates the communication with the Hue bridge. This token uses the IP address of the bridge. If the IP address for the bridge changes, you will need to register it with Home Assistant again. To avoid this, you may set up a DHCP reservation on your router for your Hue bridge so that it always has the same IP address.
Once registration is complete you should see the Hue lights listed as `light` entities, the Hue motion sensors listed as `binary_sensor` entities, and the Hue temperature and light level sensors (which are built in to the motion sensors) listed as `sensor` entities. If you don't, you may have to restart Home Assistant once more.
If you want to enable the integration without relying on the [discovery component](/integrations/discovery/), add the following lines to your `configuration.yaml` file:
If you want to enable the integration without relying on [discovery](/integrations/discovery/), add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@ -50,7 +50,7 @@ allow_hue_groups:
description: Disable this to stop Home Assistant from importing the groups defined on the Hue bridge.
required: false
type: boolean
default: true
default: false
{% endconfiguration %}
## Examples
@ -92,7 +92,7 @@ To create a `LightGroup` named `Ceiling lights` that contains the lights 1, 2, a
$ curl -XPOST -d '{"name": "Ceiling lights", "lights": ["1", "2", "3"]}' http://<bridge>/api/<username>/groups
```
The `<username>` is the string that is used to register Home Assistant on the bridge. You can find it in the `core.config_entries` file in your configuration\.storage path. `<bridge>` is the IP address or hostname of your Hue bridge.
The `<username>` is the string that is used to register Home Assistant with the bridge. You can find it in the `core.config_entries` file in `/PATH-TO-YOUR-CONFIGURATION/.storage/`. `<bridge>` is the IP address or hostname of your Hue bridge.
You can find the IDs of your lights by executing the following command:
@ -110,9 +110,9 @@ More information can be found on the [Philips Hue API documentation](https://www
### Using Hue Scenes in Home Assistant
The Hue platform has its own concept of scenes for setting the colors of a group of lights at once. Hue Scenes are very cheap, get created by all kinds of apps (as it is the only way to have 2 or more lights change at the same time), and are rarely deleted. A typical Hue hub might have hundreds of scenes stored in them—many that you've never used, and almost all very poorly named.
The Hue platform has its own concept of scenes for setting the colors of a group of lights simultaneously. Hue Scenes are very cheap, get created by all kinds of apps (as it is the only way to have 2 or more lights change at the same time), and are rarely deleted. A typical Hue hub might have hundreds of scenes stored in them—many that you've never used, and almost all very poorly named.
To avoid user interface overload, we don't expose scenes directly. Instead there is a hue.hue_activate_scene service which can be used by `automation` or `script` components.
To avoid user interface overload, we don't expose scenes directly. Instead there is a `hue.hue_activate_scene` service which can be used in an automation or script.
This will have all the bulbs transitioned at once, instead of one at a time like when using standard scenes in Home Assistant.
For instance:
@ -136,15 +136,13 @@ _Note_: `group_name` is not a reference to a Home Assistant group name. It can o
### Finding Group and Scene Names
How do you find these names?
The easiest way to find Hue scene names is to only use the scenes from the 2nd generation Hue app, which are organized by room (group) and scene name. Use the room name and scene name that you see in the app. You can test that these work at Developer Tools > Services in your Home Assistant instance.
The easiest way to do this is to only use the scenes from the 2nd generation Hue app, which is organized by room (group) and scene name. Use the values of room name and scene name that you see in the app. You can test that these work by using the `dev-service` console of your Home Assistant instance.
Alternatively, you can dump all rooms and scene names using this [gist](https://gist.github.com/sdague/5479b632e0fce931951c0636c39a9578). This does **not** tell you which groups and scenes work together, but it is sufficient to get values that you can test in the `dev-service` console.
Alternatively, you can dump all rooms and scene names using this [gist](https://gist.github.com/sdague/5479b632e0fce931951c0636c39a9578). This does **not** tell you which groups and scenes work together, but it is sufficient to get values that you can test at Developer Tools > Services.
### Caveats
The Hue API doesn't activate scenes directly; rather, they must be associated with a Hue group (typically rooms, especially if using the 2nd gen app). But Hue scenes don't actually reference their group. So heuristic matching is used.
The Hue API doesn't activate scenes directly; rather, they must be associated with a Hue group (typically rooms, especially if using the 2nd generation Hue app). But Hue scenes don't actually reference their group, so heuristic matching is used.
Neither group names nor scene names are guaranteed unique in Hue. If you are observing unexpected behavior from calling Hue scenes in Home Assistant, make the names of your Hue scenes more specific in the Hue app.

View File

@ -1,6 +1,6 @@
---
title: "iammeter"
description: "Instructions on how to integrate IAMMETER sensor within Home Assistant."
title: IamMeter
description: Instructions on how to integrate IAMMETER sensor within Home Assistant.
logo: iammeter-logo.png
ha_category:
- Energy
@ -8,6 +8,8 @@ ha_category:
ha_release: 0.107
ha_iot_class: Local Polling
ha_domain: iammeter
ha_codeowners:
- '@lewei50'
---
`iammeter` provides real-time readings of single-phase (WEM3080, WEM3162) and three-phase (WEM3080T) meters from [IAMMETER](https://www.iammeter.com) over Wi-Fi.

View File

@ -73,7 +73,7 @@ value_template:
description: The date and time the email was sent.
{% endconfiguration %}
## Example
## Example - keyword spotting
The following example shows the usage of the IMAP email content sensor to scan the subject of an email for text, in this case, an email from the APC SmartConnect service which tells whether the UPS is running on battery or not.
@ -98,3 +98,46 @@ sensor:
{% endraw %}
The same template structure can scan the date, body or sender for matching text before setting the state of the sensor.
## Example - extracting formatted text from an email using template sensors
This example shows how to extract numbers or other formatted data from an email to change the value of a template sensor to a value extracted from the email. In this example, we will be extracting energy use, cost, and billed amount from an email (from Georgia Power) and putting it into sensor values using a template sensor that runs against our IMAP email sensor already set up. A sample of the body of the email used is below:
```text
Yesterday's Energy Use: 76 kWh
Yesterday's estimated energy cost: $8
Monthly Energy use-to-date for 23 days: 1860 kWh
Monthly estimated energy cost-to-date for 23 days: $198
To view your account for details about your energy use, please click here.
```
Below is the template sensor which extracts the information from the body of the email in our IMAP email sensor (named sensor.energy_email) into 3 sensors for the energy use, daily cost, and billing cycle total.
{% raw %}
```yaml
sensor:
- platform: template
sensors:
previous_day_energy_use:
friendly_name: Previous Day Energy Use
unit_of_measurement: kWh
value_template: >
{{ state_attr('sensor.energy_email','body')
|regex_findall_index("\*Yesterday's Energy Use:\* ([0-9]+) kWh") }}
previous_day_cost:
friendly_name: Previous Day Cost
unit_of_measurement: $
value_template: >
{{ state_attr('sensor.energy_email', 'body')
|regex_findall_index("\*Yesterday's estimated energy cost:\* \$([0-9.]+)") }}
billing_cycle_total:
friendly_name: Billing Cycle Total
unit_of_measurement: $
value_template: >
{{ state_attr('sensor.energy_email', 'body')
|regex_findall_index("\ days:\* \$([0-9.]+)") }}
```
{% endraw %}
By making small changes to the regular expressions defined above, a similar structure can parse other types of data out of the body of other emails.

View File

@ -12,7 +12,7 @@ ha_codeowners:
ha_domain: influxdb
---
The `influxdb` integration makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. See the [official installation documentation](https://docs.influxdata.com/influxdb/v1.7/introduction/installation/) for how to set up an InfluxDB database, or if you're using Hass.io, [there is a community add-on](https://community.home-assistant.io/t/community-hass-io-add-on-influxdb/54491) available.
The `influxdb` integration makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. See the [official installation documentation](https://docs.influxdata.com/influxdb/v1.7/introduction/installation/) for how to set up an InfluxDB database, or [there is a community add-on](https://community.home-assistant.io/t/community-hass-io-add-on-influxdb/54491) available.
There is currently support for the following device types within Home Assistant:

View File

@ -56,7 +56,7 @@ input_number:
type: float
default: The value at shutdown
step:
description: Step value for the slider. Smallest value `0.001`.
description: Step value. Smallest value `0.001`.
required: false
type: float
default: 1

View File

@ -118,7 +118,3 @@ Example Service data:
```json
{"host": "192.168.0.121"}
```
## Notes
- When running on Raspberry Pi, just note that the maximum speed is limited by its 100 Mbit/s LAN adapter.

View File

@ -0,0 +1,21 @@
---
title: Internet Printing Protocol (IPP)
description: Instructions on how to integrate printers that support the Internet Printing Protocol (IPP) into Home Assistant.
ha_category:
- System Monitor
ha_release: 0.108
ha_iot_class: Local Polling
ha_config_flow: true
ha_quality_scale: platinum
ha_codeowners:
- '@ctalkington'
ha_domain: ipp
---
The `Internet Printing Protocol (IPP)` integration allows you to read current data from your networked printer that supports the [Internet Printing Protocol](https://www.pwg.org/ipp/everywhere.html).
It provides information about the printer's state and remaining ink levels.
## Configuration
To add `Internet Printing Protocol (IPP)` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Internet Printing Protocol (IPP)**.

View File

@ -23,8 +23,7 @@ Data measured includes:
## Configuring the Platform
To integrate `iqvia` into Home Assistant, add the following section to your
`configuration.yaml` file (adjusting the `monitored_conditions` list to your
liking):
`configuration.yaml` file:
```yaml
iqvia:

View File

@ -74,7 +74,7 @@ supports_on:
type: integer
{% endconfiguration %}
## Advanced configuration example
## Advanced - configuration example
```yaml
# Example configuration.yaml entry
@ -87,7 +87,90 @@ media_player:
volume_step: 0.05
```
Notes:
## Services
Just like in the KEF Control app, we can change the digital signal processing (DSP) settings.
The speaker's current DSP settings are updated automatically each hour and after each service call.
To update the settings manually, use `kef.update_dsp`.
### Service `kef.update_dsp`
Update all DSP settings.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| entity_id | No | The entity_id of the KEF speaker. |
### Service `kef.set_mode`
Set the mode of the speaker. When optional attributes are left out, the setting will be unchanged.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| entity_id | No | The entity_id of the KEF speaker. |
| desk_mode | Yes | "Desk mode" (`true` or `false`) |
| wall_mode | Yes | "Wall mode" (`true` or `false`) |
| phase_correction | Yes | "Phase correction" (`true` or `false`) |
| high_pass | Yes | "High-pass mode" (`true` or `false`) |
| sub_polarity | Yes | "Sub polarity" (`-` or `+`) |
| bass_extension | Yes | "Bass extension" selector (`Less`, `Standard`, or `Extra`) |
### Service `kef.set_desk_db`
Set the "Desk mode" slider of the speaker in dB.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| entity_id | No | The entity_id of the KEF speaker. |
| db_value | No | Value of the slider (-6 to 0 with steps of 0.5) |
### Service `kef.set_wall_db`
Set the "Wall mode" slider of the speaker in dB.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| entity_id | No | The entity_id of the KEF speaker. |
| db_value | No | Value of the slider (-6 to 0 with steps of 0.5) |
### Service `kef.set_treble_db`
Set desk the "Treble trim" slider of the speaker in dB.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| entity_id | No | The entity_id of the KEF speaker. |
| db_value | No | Value of the slider (-2 to 2 with steps of 0.5) |
### Service `kef.set_high_hz`
Set the "High-pass mode" slider of the speaker in Hz.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| entity_id | No | The entity_id of the KEF speaker. |
| hz_value | No | Value of the slider (50 to 120 with steps of 5) |
### Service `kef.set_low_hz`
Set the "Sub out low-pass frequency" slider of the speaker in Hz.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| entity_id | No | The entity_id of the KEF speaker. |
| hz_value | No | Value of the slider (40 to 250 with steps of 5) |
### Service `kef.set_sub_db`
Set the "Sub gain" slider of the speaker in dB.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| entity_id | No | The entity_id of the KEF speaker. |
| db_value | No | Value of the slider (-10 to 10 with steps of 1) |
## Notes
- The LS50 Wireless was tested with the latest firmware of 19-11-2019: `p6.3001902221.105039422` and older firmware: `p6.2101809171.105039422`
- The LSX Wireless was tested with the latest firmware of 10-10-2019 v4.1: `p20.4101909240.105243`

View File

@ -66,23 +66,33 @@ The settings UI starts by having you configure the general behavior of each zone
##### Binary Sensor:
**Binary Sensor Type:** The type of sensor connected to the zone.
**Name (optional)** The friendly name for the entity associated with the zone.
**Invert the open/close state:** Inverts the open/closed meaning of a binary sensor circuit. Commonly needed for normally open wired smoke alarm circuits.
##### Digital Sensor:
**Sensor Type:** The type of sensor connected to the zone - either `dht` or `ds18b20`.
**Name (optional)** The friendly name for the entities associated with the zone.
**Poll Interval (optional):** How often in minutes to poll the sensor for updates.
##### Switchable Output:
**Name: (optional)** The friendly name for the entity associated with the zone.
**Output when on:** The state of the switch when activated.
**Pulse Duration (optional):** The duration in ms to pulse the switch once activated.
**Pause between pulses (optional):** The duration in ms to wait between pulses when activated.
**Times to repeat (optional):** The number of times to repeat the pulse each time the switch is activated.
**Configure additional states for this zone:** Selecting "No" will complete configuration for the zone and proceed to options for the next zone. Select "Yes" if you need to create additional output states for this zone.
### YAML Configuration
If you prefer you can utilize a `konnected` section in the `configuration.yaml` file that specifies the Konnected devices on the network and the sensors or actuators attached to them. If using `configuration.yaml` the configuration will be one-time imported when going through the Configuration Flow for the panel. **Note that you must still complete the UI based setup before the integration will be configured and entities created/accessible.**
@ -314,6 +324,10 @@ Konnected runs on an ESP8266 board with the NodeMCU firmware. It is commonly use
## Revision History
### 0.108
- Multiple output states for a zone.
### 0.106
- Added information on configuration and options flow. Mention that alarm panel FW should be updated before connecting.

View File

@ -1,7 +1,6 @@
---
title: LCN
description: Instructions on how to integrate LCN components with Home Assistant.
logo: lcn.png
ha_category:
- Hub
- Binary Sensor

View File

@ -5,7 +5,6 @@ ha_category:
- System Monitor
- Binary Sensor
- Switch
logo: linode.png
ha_release: 0.57
ha_iot_class: Cloud Polling
ha_domain: linode

View File

@ -11,8 +11,6 @@ ha_codeowners:
ha_domain: luci
---
_This is one of multiple ways we support OpenWrt. For an overview, see [OpenWrt](/integrations/openwrt/)._
This is a presence detection scanner for OpenWrt using [luci](https://openwrt.org/docs/techref/luci).
Before this scanner can be used you have to install the luci RPC package on OpenWRT:

View File

@ -1,7 +1,6 @@
---
title: Lutron
description: Instructions on how to use Lutron devices with Home Assistant.
logo: lutron.png
ha_category:
- Hub
- Cover
@ -75,7 +74,7 @@ After setup, scenes will appear in Home Assistant using the area, keypad and but
## Occupancy Sensors
Any configured Powr Savr occuancy sensors will be added as occupancy binary sensors. Lutron reports occupancy for an area, rather than reporting individual sensors. Sensitivity and timeouts are controlled on the sensors themselves, not in software.
Any configured Powr Savr occupancy sensors will be added as occupancy binary sensors. Lutron reports occupancy for an area, rather than reporting individual sensors. Sensitivity and timeouts are controlled on the sensors themselves, not in software.
## Example Automations

View File

@ -9,22 +9,24 @@ ha_category:
- Scene
- Switch
- Fan
- Binary Sensor
ha_release: 0.41
ha_iot_class: Local Polling
ha_domain: lutron_caseta
---
[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches, dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` integration in Home Assistant is responsible for communicating with the Lutron Caseta Smart Bridge for the [Caseta](https://www.casetawireless.com/) product line of dimmers, switches and shades.
[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches, dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` integration in Home Assistant is responsible for communicating with the Lutron Caseta Smart Bridge for the [Caseta](https://www.casetawireless.com/) product line of dimmers, switches, shades, and sensors. It will also communicate with the Lutron Radio RA2 Main Repeater for the [RA2 Select](http://www.lutron.com/en-US/Products/Pages/WholeHomeSystems/RA2Select/Overview.aspx) product line of dimmers, switches, shades, and sensors.
This integration only supports the [Caseta](https://www.casetawireless.com/) line of products. Both Smart Bridge (L-BDG2-WH) and Smart Bridge PRO (L-BDGPRO2-WH) models are supported. For the RadioRA 2 product line, see the [Lutron component](/integrations/lutron/).
This integration only supports the [Caseta](https://www.casetawireless.com/) line of products. The Smart Bridge (L-BDG2-WH), Smart Bridge PRO (L-BDGPRO2-WH), and RA2 Select (RR-SEL-REP2-BL) models are supported. For the RadioRA 2 and HomeWorks QS product lines, see the [Lutron component](/integrations/lutron/).
The currently supported Caseta devices are:
The currently supported Caseta and RA2 Select devices are:
- Wall and plug-in dimmers as [lights](#light)
- Wall switches as [switches](#switch)
- Scenes as [scenes](#scene)
- Lutron shades as [covers](#cover)
- Lutron smart [fan](#fan) speed control
- Lutron Occupancy/Vacancy [sensors](#sensor)
When configured, the `lutron_caseta` integration will automatically discover the currently supported devices as setup in the Lutron Smart Bridge. The name assigned in the Lutron mobile app will be used to form the `entity_id` used in Home Assistant. e.g., a dimmer called 'Lamp' in a room called 'Bedroom' becomes `light.bedroom_lamp` in Home Assistant.
@ -115,3 +117,17 @@ After setup, fans will appear in Home Assistant using an `entity_id` based on th
For more information on working with fans in Home Assistant, see the [Fans component](/components/fan/).
Available services: `fan.turn_on`, `fan.turn_off`, and `fan.set_speed`.
## Sensor
Occupancy sensors can be added to a Lutron Caseta system to trigger events when an area becomes vacant and, optionally, occupied. However, Lutron systems report occupancy and vacancy statuses only in *occupancy groups* -- that is, groups of one or more sensors.
Occupancy groups will appear in Home Assistant using an `entity_id` based on the area name in which the first sensor of the group is located. For example, one or more sensors in the Master Bathroom will appear in Home Assistant as `binary_sensor.master_bathroom_occupancy`.
An occupancy group is considered occupied if any of the sensors in the group are currently in an "occupied" state. Specifically, this means that motion has been detected more recently than that sensor's particular timeout setting. Only after all sensors in an occupancy group report being vacant does the occupancy group itself report being vacant.
Lutron Caseta occupancy sensors support 4 different timeouts and 3 different sensitivity levels, but those are only controllable from the devices themselves and cannot be set from either Home Assistant or even the Caseta mobile app.
Because Lutron Caseta devices automatically report state to Home Assistant (rather than relying on polling), occupancy status updates occur almost instantaneously.
For more information on working with binary sensors in Home Assistant, see the [Binary Sensors Component](/components/binary_sensor/)

View File

@ -13,33 +13,4 @@ ha_domain: met
The `met` platform uses the [Met.no](https://met.no/) web service as a source for meteorological data for your location. The weather forecast is delivered by the Norwegian Meteorological Institute and the NRK.
<div class='note warning'>
Configuration of the Met.no platform via configuration.yaml is deprecated from version 0.95
</div>
## Configuration
To add Met.no to your installation, go to Configuration >> Integrations in the UI and enable the Met.no integration. By default the values will be taken from the Home Assistant configuration.
{% configuration %}
name:
description: Manually specify Name.
required: true
type: string
default: Provided by Home Assistant configuration
latitude:
description: Manually specify latitude.
required: true
type: float
default: Provided by Home Assistant configuration
longitude:
description: Manually specify longitude.
required: true
type: float
default: Provided by Home Assistant configuration
altitude:
description: Manually specify altitude.
required: false
type: integer
default: Provided by Home Assistant configuration
{% endconfiguration %}
To add Met.no to your installation, go to Configuration >> Integrations in the UI and enable the Met.no integration.

View File

@ -103,6 +103,11 @@ adapter:
required: false
default: hci0
type: string
go_unavailable_timeout:
description: "Timeout to report this device as unavailable. This option hides a bad link quality"
required: false
default: 7200
type: integer
{% endconfiguration %}
<div class='note warning'>
@ -123,6 +128,7 @@ sensor:
name: Flower 1
force_update: true
median: 3
go_unavailable_timeout: 43200
monitored_conditions:
- moisture
- light
@ -130,3 +136,18 @@ sensor:
- conductivity
- battery
```
An automation example to report a battery failure:
```yaml
- id: flower1_moisture_unavailable_check
alias: Flower 1 sensors available
trigger:
- entity_id: sensor.flower1_moisture
for: 24:00:00
platform: state
to: unavailable
action:
- data_template:
message: "Flower 1 moisture is unavailable for more than 24 hours"
service: notify.notifier_telegram_someone
```

View File

@ -53,6 +53,11 @@ timeout:
required: false
default: 3
type: integer
delay:
description: Time to sleep in seconds after connecting and before sending messages. Some modbus-tcp servers need a short delay typically 1-2 seconds in order to prepare the communication. If a server accepts connecting, but there is no response to the requests send, this parameter might help.
required: false
default: 0
type: integer
{% endconfiguration %}
### Serial connection

View File

@ -4,6 +4,7 @@ description: Instructions on how to integrate Monoprice 6-Zone Home Audio Contro
ha_category:
- Media Player
ha_release: 0.56
ha_config_flow: true
ha_iot_class: Local Polling
ha_codeowners:
- '@etsinko'
@ -12,53 +13,23 @@ ha_domain: monoprice
The `monoprice` platform allows you to control [Monoprice 6-Zone Amplifier](https://www.monoprice.com/product?p_id=10761) using a serial connection.
To add a Monoprice device to your installation, add the following to your `configuration.yaml` file:
## Configuration
```yaml
# Example configuration.yaml entry
media_player:
- platform: monoprice
port: /dev/ttyUSB0
zones:
11:
name: Main Bedroom
12:
name: Living Room
13:
name: Kitchen
14:
name: Bathroom
15:
name: Dining Room
16:
name: Guest Bedroom
sources:
1:
name: Sonos
5:
name: Chromecast
```
Menu: **Configuration** -> **Integrations**.
{% configuration %}
port:
description: The serial port to which Monoprice amplifier is connected.
required: true
type: string
zones:
description: This is the list of zones available. Valid zones are 11, 12, 13, 14, 15 or 16. In case multiple Monoprice devices are stacked together the list of valid zones is extended by 21, 22, 23, 24, 25 or 26 for the second device and 31, 32, 33, 34, 35 or 36 for the third device. Each zone must have a name assigned to it.
required: true
type: integer
sources:
description: The list of sources available. Valid source numbers are 1, 2, 3, 4, 5 or 6. Each source number corresponds to the input number on the Monoprice amplifier. Similar to zones, each source must have a name assigned to it.
required: true
type: integer
{% endconfiguration %}
Click on the `+` sign to add an integration and click on **Monoprice**.
Select the serial port to which Monoprice amplifier is connected, and name the six sources (leave sources you're not using empty).
Sources can also be later edited from the integration options (gear icon in the top right when selecting the integration). In order to remove an existing source, you'll need to replace it with a space (simply removing its name will still keep it in place). Note that editing sources will remove the snapshot you may have saved.
## Services
### Service `monoprice.snapshot`
Take a snapshot of one or more zones' states. This service, and the following one are useful if you want to play a doorbell or notification sound and resume playback afterward. If no `entity_id` is provided, all zones are snapshotted.
Take a snapshot of one or more zones' states. This service, and the following one are useful if you want to play a doorbell or notification sound and resume playback afterward. If `entity_id` is `all`, all zones are snapshotted.
The following attributes are stored in a snapshot:
- Power status (On/Off)
- Mute status (On/Off)
- Volume level
@ -70,7 +41,7 @@ The following attributes are stored in a snapshot:
### Service `monoprice.restore`
Restore a previously taken snapshot of one or more speakers. If no `entity_id` is provided, all zones are restored.
Restore a previously taken snapshot of one or more speakers. If `entity_id` is `all`, all zones are restored.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |

View File

@ -1,65 +0,0 @@
---
title: Mopar
description: Instructions on how to integrate Mopar vehicles into Home Assistant.
ha_category:
- Car
- Sensor
- Switch
- Lock
ha_release: 0.53
ha_iot_class: Cloud Polling
ha_domain: mopar
---
The `mopar` integration provides the following for owners of FCA vehicles with a uConnect subscription:
- Sensor per vehicle with vehicle health report and other meta-data
- Lock per vehicle allowing to lock/unlock the vehicle
- Switch per vehicle allowing to turn the engine on and off
- A service for running the horn & lights
## Setup
Be sure you have a [mopar.com](http://mopar.com) account with your vehicle(s) registered by VIN. You must also have a current uConnect subscription.
## Configuration
To enable this component, add the following lines to your `configuration.yaml`. All platforms will be automatically loaded.
```yaml
# Example configuration.yaml entry
mopar:
username: YOUR_USERNAME
password: YOUR_PASSWORD
pin: YOUR_UCONNECT_PIN
```
{% configuration %}
username:
description: Your mopar.com username.
required: true
type: string
password:
description: Your mopar.com password.
required: true
type: string
pin:
description: The pin for your account.
required: true
type: string
{% endconfiguration %}
## Service
Call the `mopar.sound_horn` service to sound the horn and flash the lights on your vehicle.
| Service data attribute | Description |
| `vehicle_index` | The index of the vehicle to trigger. This is exposed in the sensor's device attributes. |
Example data:
```json
{
"vehicle_index": 0
}
```

View File

@ -6,6 +6,9 @@ ha_category:
- Cover
ha_release: 0.39
ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners:
- '@bdraco'
ha_domain: myq
---
@ -13,7 +16,9 @@ The `myq` cover platform lets you control MyQ-Enabled garage doors through Home
## Configuration
To use your MyQ cover in your installation, add the following to your `configuration.yaml` file:
To add `MyQ` cover to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **MyQ**.
Alternatively, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry

View File

@ -1,7 +1,6 @@
---
title: Namecheap FreeDNS
description: Keep your namecheap dynamic DNS up to date
logo: namecheap.png
ha_category:
- Network
ha_release: 0.56

View File

@ -1,12 +1,10 @@
---
title: Netatmo
description: Instructions on how to integrate Netatmo integration into Home Assistant.
logo: netatmo.png
ha_category:
- Hub
- Environment
- Weather
- Binary Sensor
- Sensor
- Climate
- Camera
@ -22,10 +20,10 @@ The `netatmo` integration platform is the main integration to integrate all Neta
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor)
- [Camera](#camera)
- [Climate](#climate)
- [Sensor](#sensor)
- [Webhooks](#webhooks)
## Configuration
@ -71,22 +69,124 @@ That's it. You can copy and paste your new `client id` and `client secret` in yo
<img src='/images/screenshots/netatmo_api.png' />
</p>
## Binary Sensor
This integration allows you to get the latest event seen by the camera.
If multiple cameras are available then each monitored condition
will create a specific sensor for each camera
## Camera
The `netatmo` camera platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This integration allows you to view the current live stream created by the Camera.
The `netatmo` camera platform is consuming the information provided by a [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor) or [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) camera. This integration allows you to view the current live stream created by the camera.
## Climate
The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat) thermostat. This integration allows you to view the current temperature and setpoint.
The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat) or [Netatmo Smart Radiator Valve](https://www.netatmo.com/en-gb/energy/additional-valve). This integration allows you to view the current temperature and control the setpoint.
## Sensor
The `netatmo` sensor platform is consuming the information provided by a [Netatmo Weather Station](https://www.netatmo.com/en-us/weather/weatherstation) or a
[Netatmo Home Coach](https://www.netatmo.com/en-us/aircare/homecoach) [Netatmo](https://www.netatmo.com) device.
The `netatmo` sensor platform is consuming the information provided by a [Netatmo Smart Home Weather Station](https://www.netatmo.com/en-us/weather/weatherstation) or a
[Netatmo Smart Indoor Air Quality Monitor](https://www.netatmo.com/en-us/aircare/homecoach) device.
## Webhooks
The [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor) or [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) cameras, [Smart Door and Window Sensors](https://www.netatmo.com/en-gb/security/cam-indoor/tag), as well as the [Netatmo Smart Smoke Alarm](https://www.netatmo.com/en-gb/security/smoke-alarm), send instant events to Home Assistant by using webhooks. It is required to have your camera enabled in Home Assistant.
To be able to receive events from [Netatmo](https://www.netatmo.com/en-gb/), your Home Assistant instance needs to be accessible from the web over port `80` or `443`. To achieve this you can either use your Nabu Casa account or for example Duck DNS ([Home Assistant instructions](/addons/duckdns/)). You also need to have the `base_url` configured for the HTTP integration ([documentation](/integrations/http/#base_url)).
Events coming in from Netatmo will be available as an event in Home Assistant and are fired as `netatmo_event`, along with their data. You can use these events to trigger automations.
You can find the available event types at the [official Netatmo API documentation](https://dev.netatmo.com/apidocumentation/security#events).
Example:
{% raw %}
```yaml
# Example automation for webhooks based Netatmo events
- alias: Netatmo event example
description: "Count all events pushed by the Netatmo API"
trigger:
- event_data: {}
event_type: netatmo_event
platform: event
action:
- data: {}
entity_id: counter.event_counter
service: counter.increment
```
{% endraw %}
Example:
{% raw %}
```yaml
# Example automation for Netatmo Welcome
- alias: Motion at home
description: 'Motion detected at home'
trigger:
- event_type: netatmo_event
platform: event
event_data:
type: movement
action:
- data_template:
message: >
{{ trigger.event.data["data"]["message"] }}
at {{ trigger.event.data["data"]["home_name"] }}
title: Netatmo event
service: persistent_notification.create
```
{% endraw %}
Example:
{% raw %}
```yaml
# Example automation for Netatmo Presence
- alias: Motion at home
description: 'Motion detected at home'
trigger:
- event_type: netatmo_event
platform: event
event_data:
type: human # other possible types: animal, vehicle
action:
- data_template:
message: >
{{ trigger.event.data["data"]["message"] }}
at {{ trigger.event.data["data"]["home_name"] }}
title: Netatmo event
service: persistent_notification.create
```
{% endraw %}
Example:
{% raw %}
```yaml
# Example automation
- alias: door or window open or movement
description: 'Notifies which door or window is open or was moved'
trigger:
- event_type: netatmo_event
platform: event
event_data:
type: tag_open
- event_type: netatmo_event
platform: event
event_data:
type: tag_big_move
- event_type: netatmo_event
platform: event
event_data:
type: tag_small_move
action:
- data_template:
message: >
{{ trigger.event.data["data"]["message"] }}
title: Netatmo event
service: persistent_notification.create
```
{% endraw %}

View File

@ -0,0 +1,101 @@
---
title: Nexia
description: Instructions on how to integrate Nexia Thermostats (Trane/American Standard) into Home Assistant.
ha_category:
- Binary Sensor
- Sensor
- Climate
- Scene
ha_release: 0.108
ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners:
- '@bdraco'
- '@ryannazaretian'
ha_domain: nexia
---
The `nexia` integration allows you to integrate your [Nexia](https://mynexia.com/) thermostats into Home Assistant.
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor)
- [Climate](#climate)
- [Sensor](#sensor)
- [Scene](#scene)
## Configuration
You will need your mynexia.com username and password to use this module.
To add `Nexia` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Nexia**.
Alternatively, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
nexia:
username: YOUR_NEXIA_USERNAME
password: YOUR_NEXIA_PASSWORD
```
{% configuration %}
username:
description: The username for accessing your Nexia account.
required: true
type: string
password:
description: The password for accessing your Nexia account.
required: true
type: string
{% endconfiguration %}
### Binary Sensor
The following binary sensors are added for each thermostat:
- Blower Active
### Sensor
The following binary sensors are added for each thermostat:
- Air Cleaner Mode
- Current Compressor Speed
- Requested Compressor Speed
- Outdoor Temperature
- Relative Humidity
- System Status
The following binary sensors are added for each thermostat zone:
- Zone Temperature
- Zone Setpoint Status
- Zone Status
### Climate
The `nexia` climate platform lets you control a thermostat.
### Scene
The `nexia` scene platform lets you activate a nexia automation.
### Service `nexia.set_aircleaner_mode`
Sets the air cleaner mode. Options include 'auto', 'quick', and
'allergy'. This setting will affect all zones on the same thermostat.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of strings that point at `entity_id`'s of climate devices to control.
| `aircleaner_mode` | no | 'auto', 'quick', or 'allergy'
### Service `nexia.set_humidify_setpoint`
Sets the humidify setpoint. This setting will affect all zones on the same thermostat.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of strings that point at `entity_id`'s of climate devices to control.
| `humidity` | no | Humidify setpoint level, from 35 to 65.

View File

@ -0,0 +1,44 @@
---
title: Nextcloud Sensor
description: Instructions on how to integrate Nextcloud monitor api data into Home Assistant.
ha_category:
- Sensor
ha_iot_class: Cloud Polling
ha_release: 0.108
---
The `nextcloud` integration pulls summary [Nextcloud](https://nextcloud.com/) information into Home Assistant.
![Nextcloud Example Sensor]('/images/screenshots/nextcloud-sample-sensor.png')
## Configuration
This integration requires access to the monitor API of a Nextcloud instance (This is generally an admin user).
You should also generate an App password from the Nextcloud web UI: **Settings** > **Security** > **Devices & sessions** > **Create new app password**.
Once you have generated the App password, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
nextcloud:
url: Https://YOUR_NEXTCLOUD_URL
username: YOUR_USERNAME
password: YOUR_APP_PASSWORD
```
{% configuration %}
url:
description: The full URL to your Nextcloud instance.
required: true
type: string
username:
description: The username of a Nextcloud user that has access to the Nextcloud monitor API.
required: true
type: string
password:
description: The app password generated from the Nextcloud security settings page.
required: true
type: string
{% endconfiguration %}

View File

@ -1,7 +1,6 @@
---
title: Norwegian Institute for Air Research (NILU)
description: Instructions on how to integrate air pollution data from NILU within Home Assistant.
logo: nilu_logo.png
ha_category:
- Health
ha_iot_class: Cloud Polling

Some files were not shown because too many files have changed in this diff Show More