Merge remote-tracking branch 'origin' into next

This commit is contained in:
Franck Nijhof 2021-10-19 09:31:14 +02:00
commit 73b7851ab8
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
183 changed files with 11344 additions and 2039 deletions

View File

@ -8,12 +8,12 @@ jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2.1.2
- uses: dessant/lock-threads@v3
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: "30"
issue-exclude-created-before: "2020-10-01T00:00:00Z"
issue-inactive-days: "30"
exclude-issue-created-before: "2020-10-01T00:00:00Z"
issue-lock-reason: ""
pr-lock-inactive-days: "1"
pr-exclude-created-before: "2020-11-01T00:00:00Z"
pr-inactive-days: "1"
exclude-pr-created-before: "2020-11-01T00:00:00Z"
pr-lock-reason: ""

View File

@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2.3.4
uses: actions/checkout@v2.3.5
- name: Setting up Node.js
uses: actions/setup-node@v2.4.1
with:
@ -25,7 +25,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v2.3.4
uses: actions/checkout@v2.3.5
- name: Setting up Node.js
uses: actions/setup-node@v2.4.1
with:

View File

@ -18,6 +18,7 @@ source/_integrations/aemet.markdown @noltari
source/_integrations/agent_dvr.markdown @ispysoftware
source/_integrations/airly.markdown @bieniu
source/_integrations/airnow.markdown @asymworks
source/_integrations/airthings.markdown @danielhiversen
source/_integrations/airtouch4.markdown @LonePurpleWolf
source/_integrations/airvisual.markdown @bachya
source/_integrations/alarmdecoder.markdown @ajschmidt8
@ -26,6 +27,7 @@ source/_integrations/alexa.smart_home.markdown @home-assistant/cloud @ochlocracy
source/_integrations/almond.markdown @gcampax @balloob
source/_integrations/alpha_vantage.markdown @fabaff
source/_integrations/ambee.markdown @frenck
source/_integrations/amberelectric.markdown @madpilot
source/_integrations/ambiclimate.markdown @danielhiversen
source/_integrations/ambient_station.markdown @bachya
source/_integrations/amcrest.markdown @flacjacket
@ -63,7 +65,7 @@ source/_integrations/blink.markdown @fronzbot
source/_integrations/blueprint.markdown @home-assistant/core
source/_integrations/bmp280.markdown @belidzs
source/_integrations/bmw_connected_drive.markdown @gerard33 @rikroe
source/_integrations/bond.markdown @prystupa
source/_integrations/bond.markdown @prystupa @joshs85
source/_integrations/bosch_shc.markdown @tschamm
source/_integrations/braviatv.markdown @bieniu @Drafteed
source/_integrations/broadlink.markdown @danielhiversen @felipediel
@ -94,6 +96,7 @@ source/_integrations/coronavirus.markdown @home-assistant/core
source/_integrations/counter.markdown @fabaff
source/_integrations/cover.markdown @home-assistant/core
source/_integrations/cpuspeed.markdown @fabaff
source/_integrations/crownstone.markdown @Crownstone @RicArch97
source/_integrations/cups.markdown @fabaff
source/_integrations/daikin.markdown @fredrike
source/_integrations/darksky.markdown @fabaff
@ -110,6 +113,7 @@ source/_integrations/dhcp.markdown @bdraco
source/_integrations/dht.markdown @thegardenmonkey
source/_integrations/digital_ocean.markdown @fabaff
source/_integrations/discogs.markdown @thibmaek
source/_integrations/dlna_dmr.markdown @StevenLooman @chishm
source/_integrations/doorbird.markdown @oblogic7 @bdraco
source/_integrations/dsmr.markdown @Robbie1221 @frenck
source/_integrations/dsmr_reader.markdown @depl0y
@ -121,6 +125,7 @@ source/_integrations/ecobee.markdown @marthoc
source/_integrations/econet.markdown @vangorra @w1ll1am23
source/_integrations/ecovacs.markdown @OverloadUT
source/_integrations/edl21.markdown @mtdcr
source/_integrations/efergy.markdown @tkdrob
source/_integrations/egardia.markdown @jeroenterheerdt
source/_integrations/eight_sleep.markdown @mezz64
source/_integrations/elgato.markdown @frenck
@ -190,7 +195,7 @@ source/_integrations/group.markdown @home-assistant/core
source/_integrations/growatt_server.markdown @indykoning @muppet3000 @JasperPlant
source/_integrations/guardian.markdown @bachya
source/_integrations/habitica.markdown @ASMfreaK @leikoilja
source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco @mkeesey
source/_integrations/harmony.markdown @ehendrix23 @bramkragten @bdraco @mkeesey @Aohzan
source/_integrations/heatmiser.markdown @andylockran
source/_integrations/heos.markdown @andrewsayre
source/_integrations/here_travel_time.markdown @eifinger
@ -234,6 +239,7 @@ source/_integrations/insteon.markdown @teharris1
source/_integrations/integration.markdown @dgomes
source/_integrations/intesishome.markdown @jnimmo
source/_integrations/ios.markdown @robbiet480
source/_integrations/iotawatt.markdown @gtdiehl @jyavenard
source/_integrations/iperf3.markdown @rohankapoorcom
source/_integrations/ipma.markdown @dgomes @abmantis
source/_integrations/iqvia.markdown @bachya
@ -247,7 +253,7 @@ source/_integrations/kaiterra.markdown @Michsior14
source/_integrations/keba.markdown @dannerph
source/_integrations/keenetic_ndms2.markdown @foxel
source/_integrations/kef.markdown @basnijholt
source/_integrations/keyboard_remote.markdown @bendavid
source/_integrations/keyboard_remote.markdown @bendavid @lanrat
source/_integrations/kmtronic.markdown @dgomes
source/_integrations/knx.markdown @Julius2342 @farmio @marvin-w
source/_integrations/kodi.markdown @OnFreund @cgtobi
@ -295,6 +301,7 @@ source/_integrations/minecraft_server.markdown @elmurato
source/_integrations/minio.markdown @tkislan
source/_integrations/mobile_app.markdown @robbiet480
source/_integrations/modbus.markdown @adamchengtkc @janiversen @vzahradnik
source/_integrations/modem_callerid.markdown @tkdrob
source/_integrations/modern_forms.markdown @wonderslug
source/_integrations/monoprice.markdown @etsinko @OnFreund
source/_integrations/moon.markdown @fabaff
@ -318,6 +325,7 @@ source/_integrations/ness_alarm.markdown @nickw444
source/_integrations/nest.markdown @allenporter
source/_integrations/netatmo.markdown @cgtobi
source/_integrations/netdata.markdown @fabaff
source/_integrations/netgear.markdown @hacf-fr @Quentame @starkillerOG
source/_integrations/nexia.markdown @bdraco
source/_integrations/nextbus.markdown @vividboarder
source/_integrations/nextcloud.markdown @meichthys
@ -483,7 +491,7 @@ source/_integrations/supla.markdown @mwegrzynek
source/_integrations/surepetcare.markdown @benleb @danielhiversen
source/_integrations/swiss_hydrological_data.markdown @fabaff
source/_integrations/swiss_public_transport.markdown @fabaff
source/_integrations/switchbot.markdown @danielhiversen
source/_integrations/switchbot.markdown @danielhiversen @RenierM26
source/_integrations/switcher_kis.markdown @tomerfi @thecode
source/_integrations/switchmate.markdown @danielhiversen
source/_integrations/syncthing.markdown @zhulik
@ -501,7 +509,6 @@ source/_integrations/tasmota.markdown @emontnemery
source/_integrations/tautulli.markdown @ludeeus
source/_integrations/tellduslive.markdown @fredrike
source/_integrations/template.markdown @PhracturedBlue @tetienne @home-assistant/core
source/_integrations/tesla.markdown @zabuldon @alandtse
source/_integrations/tfiac.markdown @fredrike @mellado
source/_integrations/thethingsnetwork.markdown @fabaff
source/_integrations/threshold.markdown @fabaff
@ -520,7 +527,7 @@ source/_integrations/trafikverket_train.markdown @endor-force
source/_integrations/trafikverket_weatherstation.markdown @endor-force
source/_integrations/transmission.markdown @engrbm87 @JPHutchins
source/_integrations/tts.markdown @pvizeli
source/_integrations/tuya.markdown @ollo69
source/_integrations/tuya.markdown @Tuya @zlinoliver @METISU
source/_integrations/twentemilieu.markdown @frenck
source/_integrations/twinkly.markdown @dr1rrb
source/_integrations/ubus.markdown @noltari
@ -535,6 +542,7 @@ source/_integrations/uptimerobot.markdown @ludeeus
source/_integrations/usb.markdown @bdraco
source/_integrations/usgs_earthquakes_feed.markdown @exxamalte
source/_integrations/utility_meter.markdown @dgomes
source/_integrations/vallox.markdown @andre-richter
source/_integrations/velbus.markdown @Cereal2nd @brefra
source/_integrations/velux.markdown @Julius2342
source/_integrations/vera.markdown @pavoni
@ -553,10 +561,12 @@ source/_integrations/wake_on_lan.markdown @ntilley905
source/_integrations/wallbox.markdown @hesselonline
source/_integrations/waqi.markdown @andrey-git
source/_integrations/watson_tts.markdown @rutkai
source/_integrations/watttime.markdown @bachya
source/_integrations/weather.markdown @fabaff
source/_integrations/webostv.markdown @bendavid @thecode
source/_integrations/websocket_api.markdown @home-assistant/core
source/_integrations/wemo.markdown @esev
source/_integrations/whirlpool.markdown @abmantis
source/_integrations/wiffi.markdown @mampfes
source/_integrations/wilight.markdown @leofig-rj
source/_integrations/wirelesstag.markdown @sergeymaysak

View File

@ -114,7 +114,7 @@ GEM
tilt (2.0.10)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
tzinfo-data (1.2021.2)
tzinfo-data (1.2021.4)
tzinfo (>= 1.0.0)
unicode-display_width (1.8.0)

View File

@ -107,9 +107,9 @@ social:
# Home Assistant release details
current_major_version: 2021
current_minor_version: 9
current_patch_version: 7
date_released: 2021-09-18
current_minor_version: 10
current_patch_version: 6
date_released: 2021-10-18
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

9637
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -7,9 +7,9 @@
"remark-cli": "^10.0.0",
"remark-frontmatter": "^4.0.0",
"remark-lint": "^9.1.0",
"remark-lint-fenced-code-flag": "^3.0.1",
"remark-lint-no-shell-dollars": "^3.0.1",
"remark-stringify": "^10.0.0",
"remark-lint-fenced-code-flag": "^3.1.0",
"remark-lint-no-shell-dollars": "^3.1.0",
"remark-stringify": "^10.0.1",
"textlint": "^12.0.2",
"textlint-rule-common-misspellings": "^1.0.1",
"textlint-rule-terminology": "^2.1.5"

View File

@ -291,7 +291,7 @@ dt:hover a.title-link {
position: absolute;
top: 5px;
left: -25px;
padding-right: 5px;
padding-right: 10px;
padding-left: 5px;
font-family: "FontAwesome";
font-size: 15px;

View File

@ -3,33 +3,39 @@ title: "Automation Editor"
description: "Instructions on how to use the automation editor."
---
From the UI choose **{% my config %}** which is located in the sidebar, then click on **{% my automations %}** to go to the automation editor. Press the **+** sign in the lower right corner to get started. This page uses the [Random sensor](/integrations/random#sensor) as an example. Any other sensor with a numeric value, can be used as well.
The automation editor is an easy way of creating and editing automations from the UI. This page uses the [Random sensor](/integrations/random#sensor) as an example, though any other sensor with a numeric value, can be used as well.
Choose a meaningful name for your automation rules.
From the UI choose **{% my config %}** which is located in the sidebar, then click on **{% my automations %}** to go to the automation editor. Press the **+** sign in the lower right corner to get started. You will be presented with options to create the automation from a description or from a [blueprint](/automation/using_blueprints/).
<p class='img'>
<img src='/images/docs/automation-editor/create-automation.png' />
</p>
Select "Start with an empty automation" and choose a meaningful name for your new automation.
<p class='img'>
<img src='/images/docs/automation-editor/new-automation.png' />
</p>
If the value of the sensor is greater than 10, then the automation rule should apply.
If the value of the sensor is greater than 10, then the automation should trigger.
<p class='img'>
<img src='/images/docs/automation-editor/new-trigger.png' />
</p>
Firing a [persistent notification](/integrations/persistent_notification/) is the result.
The action for this automation creates a [persistent notification](/integrations/persistent_notification/).
<p class='img'>
<img src='/images/docs/automation-editor/new-action.png' />
</p>
As "Service Data" we want a simple text that is shown as part of the notification.
As the message we want a simple text that is shown as part of the notification.
```yaml
message: Sensor value greater than 10
```
Automations created or edited via the user interface are activated immediately after saving the automation.
Automations created or edited via the user interface are activated immediately after saving the automation. Read the documentation for [Automating Home Assistant](/getting-started/automation/) to learn more about automations.
## Troubleshooting missing automations

View File

@ -7,6 +7,8 @@ Triggers are what starts the processing of an automation rule. When _any_ of the
An automation can be triggered by an event, with a certain entity state, at a given time, and more. These can be specified directly or more flexible via templates. It is also possible to specify multiple triggers for one automation.
- [Trigger ID](#trigger-id)
- [Trigger variables](#trigger-variables)
- [Event trigger](#event-trigger)
- [Home Assistant trigger](#home-assistant-trigger)
- [MQTT trigger](#mqtt-trigger)
@ -22,9 +24,9 @@ An automation can be triggered by an event, with a certain entity state, at a gi
- [Geolocation trigger](#geolocation-trigger)
- [Device triggers](#device-triggers)
## Trigger id
## Trigger ID
All triggers can be assigned an optional `id`. If the id is omitted, it will instead be set to the index of the trigger. The `id` can be referenced from trigger conditions. The `id` should be unique for each trigger.
All triggers can be assigned an optional `id`. If the ID is omitted, it will instead be set to the index of the trigger. The `id` can be referenced from trigger conditions and actions. The `id` does not have to be unique for each trigger, and it can be used to group similar triggers for use later in the automation (i.e., several triggers of different types that should all turn some entity on).
```yaml
automation:
@ -42,7 +44,6 @@ automation:
to: "home"
```
## Trigger variables
Similar to [script level variables](/integrations/script/#variables), `trigger_variables` will be available in trigger templates with the difference that only [limited templates](/docs/configuration/templating/#limited-templates) can be used to pass a value to the trigger variable.
@ -677,7 +678,7 @@ automation 3:
<div class='note warning'>
Do not prefix numbers with a zero - using `'00'` instead of `'0'` for example will result in errors.
Do not prefix numbers with a zero - using `'01'` instead of `'1'` for example will result in errors.
</div>
@ -725,7 +726,7 @@ automation:
## Geolocation trigger
Geolocation trigger fires when an entity is appearing in or disappearing from a zone. Entities that are created by a [Geolocation](/integrations/geo_location/) platform support reporting GPS coordinates.
Because entities are generated and removed by these platforms automatically, the entity id normally cannot be predicted. Instead, this trigger requires the definition of a `source`, which is directly linked to one of the Geolocation platforms.
Because entities are generated and removed by these platforms automatically, the entity ID normally cannot be predicted. Instead, this trigger requires the definition of a `source`, which is directly linked to one of the Geolocation platforms.
<div class='note'>
@ -769,7 +770,7 @@ automation:
## Multiple Entity IDs for the same Trigger
It is possible to specify multiple entities for the same trigger. To do so add multiple entities using a nested list. The trigger will fire and start, [processing](#what-are-triggers) your automation each time the trigger is true for each entity listed.
It is possible to specify multiple entities for the same trigger. To do so add multiple entities using a nested list. The trigger will fire and start, [processing](#what-are-triggers) your automation each time the trigger is true for any entity listed.
```yaml
automation:

View File

@ -5,7 +5,7 @@ description: "Details about the database used by Home Assistant."
Home Assistant uses database to store events and parametersis for history and tracking. The default database used is [SQLite](https://www.sqlite.org/) and the database file is stored in your [configuration directory](/getting-started/configuration/) (e.g., `<path to config dir>/home-assistant_v2.db`); however, other databases can be used. If you prefer to run a database server (e.g., PostgreSQL), use the [`recorder` component](/integrations/recorder/).
To work with SQLite database manually from the command-line, you will need an [installation](http://www.sqlitetutorial.net/download-install-sqlite/) of `sqlite3`. Alternatively [DB Browser for SQLite](http://sqlitebrowser.org/) provides a viewer for exploring the database data and an editor for executing SQL commands.
To work with SQLite database manually from the command-line, you will need an [installation](https://www.sqlitetutorial.net/download-install-sqlite/) of `sqlite3`. Alternatively [DB Browser for SQLite](https://sqlitebrowser.org/) provides a viewer for exploring the database data and an editor for executing SQL commands.
First load your database with `sqlite3`:
```bash

View File

@ -15,7 +15,7 @@ If you prefer to use a file editor on your computer, use the {% my supervisor_ad
_If you use Home Assistant Container, you can find `configuration.yaml` in the config folder that you mounted in your container._
_If you use Home Assistant Core, you can find `configuration.yaml` in the config folder passed to the `hass` command (default is `~/.homeasssistant`)._
_If you use Home Assistant Core, you can find `configuration.yaml` in the config folder passed to the `hass` command (default is `~/.homeassistant`)._
## Reloading changes

View File

@ -57,7 +57,7 @@ temperature_unit:
required: false
type: string
time_zone:
description: "Pick your time zone from the column **TZ** of [Wikipedia's list of tz database time zones](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones)"
description: "Pick your time zone from the column **TZ** of [Wikipedia's list of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)"
required: false
type: string
currency:

View File

@ -39,7 +39,7 @@ entity_picture:
required: false
type: string
icon:
description: "Any icon from [MaterialDesignIcons.com](http://materialdesignicons.com). Prefix name with `mdi:`, ie `mdi:home`. Note: Newer icons may not yet be available in the current Home Assistant release. You can check when an icon was added to MaterialDesignIcons.com at [MDI History](https://materialdesignicons.com/history)."
description: "Any icon from [MaterialDesignIcons.com](https://materialdesignicons.com). Prefix name with `mdi:`, ie `mdi:home`. Note: Newer icons may not yet be available in the current Home Assistant release. You can check when an icon was added to MaterialDesignIcons.com at [MDI History](https://materialdesignicons.com/history)."
required: false
type: string
assumed_state:

View File

@ -22,7 +22,7 @@ homeassistant:
longitude: -121
# 'metric' for Metric, 'imperial' for Imperial
unit_system: imperial
# Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
# Pick yours from here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
time_zone: "America/Los_Angeles"
customize: !include customize.yaml
```

View File

@ -288,7 +288,7 @@ The same thing can also be expressed as a filter:
{% raw %}
```yaml
# 77 minutes before curret time.
# 77 minutes before current time.
{{ now() - timedelta( hours = 1, minutes = 17 ) }}
```
@ -415,7 +415,7 @@ These can also be combined in any combination:
#### Closest examples
The closest function and filter will find the closest entity to the Home Assisant location:
The closest function and filter will find the closest entity to the Home Assistant location:
{% raw %}

View File

@ -26,7 +26,7 @@ One of the most common problems with Home Assistant is an invalid `configuration
- [Supervised](/common-tasks/supervised/#configuration-check)
- The configuration files, including `configuration.yaml` must be UTF-8 encoded. If you see error like `'utf-8' codec can't decode byte`, edit the offending configuration and re-save it as UTF-8.
- You can verify your configuration's YAML structure using [this online YAML parser](http://yaml-online-parser.appspot.com/) or [YAML Lint](http://www.yamllint.com/).
- You can verify your configuration's YAML structure using [this online YAML parser](https://yaml-online-parser.appspot.com/) or [YAML Validator](https://codebeautify.org/yaml-validator/).
- To learn more about the quirks of YAML, read [YAML IDIOSYNCRASIES](https://docs.saltstack.com/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html) by SaltStack (the examples there are specific to SaltStack, but do explain YAML issues well).
`configuration.yaml` does not allow multiple sections to have the same name. If you want to load multiple platforms for one component, you can append a [number or string](/getting-started/devices/#style-2-list-each-device-separately) to the name or nest them using [this style](/getting-started/devices/#style-1-collect-every-entity-under-the-parent):
@ -57,7 +57,7 @@ It can happen that some integrations either do not work right away or stop worki
#### Multiple files
If you are using multiple files for your setup, make sure that the pointers are correct and the format of the files is valid.
If you are using multiple files for your setup, make sure that the pointers are correct and the format of the files is valid. It's important to understand the different types of `!include` and how the contents of each file should be structured - more information on the various methods of splitting your configuration into multiple files can be found [here](/docs/configuration/splitting_configuration).
```yaml
light: !include devices/lights.yaml

View File

@ -25,7 +25,7 @@ Note that indentation is an important part of specifying relationships using YAM
Getting the right indentation can be tricky if you're not using an editor with a fixed width font. Tabs are not allowed to be used for indentation. Convention is to use 2 spaces for each level of indentation.
You can use the online service [YAMLLint](http://www.yamllint.com/) to check if your YAML syntax is correct before loading it into Home Assistant which will save you some time. If you do so, be aware that this is a third-party service and is not maintained by the Home Assistant community.
You can use the online service [YAML Validator](https://codebeautify.org/yaml-validator/) to check if your YAML syntax is correct before loading it into Home Assistant which will save you some time. If you do so, be aware that this is a third-party service and is not maintained by the Home Assistant community.
<div class='note'>

View File

@ -78,7 +78,7 @@ If you are running a Mosquitto instance on a different server with proper SSL en
### Public broker
The Mosquitto project runs a [public broker](http://test.mosquitto.org). This is the easiest to set up, but there is no privacy as all messages are public. Use this only for testing purposes and not for real tracking of your devices or controlling your home.
The Mosquitto project runs a [public broker](https://test.mosquitto.org). This is the easiest to set up, but there is no privacy as all messages are public. Use this only for testing purposes and not for real tracking of your devices or controlling your home.
```yaml
mqtt:
@ -88,7 +88,7 @@ mqtt:
# Optional, replace port 1883 with following if you want encryption
# (doesn't really matter because broker is public)
port: 8883
# Download certificate from http://test.mosquitto.org/ssl/mosquitto.org.crt
# Download certificate from https://test.mosquitto.org/ssl/mosquitto.org.crt
certificate: /home/paulus/downloads/mosquitto.org.crt
```

View File

@ -13,4 +13,3 @@ logger:
logs:
homeassistant.components.mqtt: debug
```

View File

@ -6,7 +6,7 @@ logo: mqtt.png
The MQTT integration will register the service `mqtt.publish` which allows publishing messages to MQTT topics. There are two ways of specifying your payload. You can either use `payload` to hard-code a payload or use `payload_template` to specify a [template](/topics/templating/) that will be rendered to generate the payload.
### Service `mqtt.publish`
## Service `mqtt.publish`
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
@ -26,10 +26,12 @@ payload: on
```
{% raw %}
```yaml
topic: home-assistant/light/1/state
payload_template: "{{ states('device_tracker.paulus') }}"
```
{% endraw %}
`payload` must be a string. If you want to send JSON then you need to format/escape it properly. Like:

View File

@ -4,7 +4,7 @@ description: "Instructions on how to test your MQTT setup."
logo: mqtt.png
---
The `mosquitto` broker package ships commandline tools (often as `*-clients` package) to send and receive MQTT messages. As an alternative have a look at [hbmqtt_pub](http://hbmqtt.readthedocs.org/en/latest/references/hbmqtt_pub.html) and [hbmqtt_sub](http://hbmqtt.readthedocs.org/en/latest/references/hbmqtt_sub.html) which are provided by HBMQTT. For sending test messages to a broker running on localhost check the example below:
The `mosquitto` broker package ships commandline tools (often as `*-clients` package) to send and receive MQTT messages. As an alternative have a look at [hbmqtt_pub](https://hbmqtt.readthedocs.org/en/latest/references/hbmqtt_pub.html) and [hbmqtt_sub](https://hbmqtt.readthedocs.org/en/latest/references/hbmqtt_sub.html) which are provided by HBMQTT. For sending test messages to a broker running on localhost check the example below:
```bash
mosquitto_pub -h 127.0.0.1 -t home-assistant/switch/1/on -m "Switch is ON"

View File

@ -75,6 +75,39 @@ The variables action allows you to set/override variables that will be accessibl
{% endraw %}
### Scope of Variables
Variables have local scope. This means that if a variable is changed in a nested sequence block, that change will not be visible in an outer sequence block.
The following example will always say "There are 0 people home". Inside the `choose` sequence the `variables` action will only alter the `people` variable for that sequence.
{% raw %}
```yaml
sequence:
# Set the people variable to a default value
- variables:
people: 0
# Try to increment people if Paulus is home
- choose:
- conditions:
- condition: state
entity_id: device_tracker.paulus
state: "home"
sequence:
# At this scope and this point of the sequence, people == 0
- variables:
people: "{{ people + 1 }}"
# At this scope, people will now be 1 ...
# ... but at this scope it will still be 0
# Announce the count of people home
- service: notify.notify
data:
message: "There are {{ people }} people home"
```
{% endraw %}
## Test a Condition
While executing a script you can add a condition in the main sequence to stop further execution. When a condition does not return `true`, the script will stop executing. There are many different conditions which are documented at the [conditions page].
@ -161,7 +194,7 @@ The template is re-evaluated whenever an entity ID that it references changes st
### Wait for Trigger
This action can use the same triggers that are available in an automation's `trigger` section. See [Automation Trigger](/docs/automation/trigger). The script will continue whenever any of the triggers fires. All previously defined [trigger_variables](/docs/automation/trigger#trigger_variables), [variables](#variables) and [script variables] are passed to the trigger.
This action can use the same triggers that are available in an automation's `trigger` section. See [Automation Trigger](/docs/automation/trigger). The script will continue whenever any of the triggers fires. All previously defined [trigger variables](/docs/automation/trigger#trigger-variables), [variables](#variables) and [script variables] are passed to the trigger.
{% raw %}
```yaml

View File

@ -110,4 +110,4 @@ The Template Editor provides a way to quickly test templates prior to placing th
By default this will contain sample code that illustrates how templates can be written and tested. This sample code can be removed and replaced with your own. You can restore the default example by pressing the "Reset to Demo Template" button beneath the code editor.
For more information about Jinja2, visit [Jinja2 documentation](http://jinja.pocoo.org/docs/dev/templates/), and also read templating document [here](/topics/templating/).
For more information about Jinja2, visit [Jinja2 documentation](https://jinja.palletsprojects.com/templates/), and also read templating document [here](/topics/templating/).

View File

@ -144,7 +144,7 @@ If your node has user codes, you can set and delete them. The format is raw hex
\x39 = 9
```
Some non compliant device like tag readers, have implemented to use raw hex code.
Please refer to a hex ASCII table to set your code. Example: http://www.asciitable.com/
Please refer to a hex ASCII table to set your code. Example: https://www.asciitable.com/
Here is a small Python program than will take numbers on the command line and print the correct sequence for compliant devices:

View File

@ -0,0 +1,66 @@
## Using external Data Disk
Home Assistant Operating System supports storing most data on an external storage medium (e.g. USB attached SSD or HDD). This data disk contains not only user data but also most of the Home Assistant software as well (Core, Supervisor etc.). This means a fast data disk will make the system overall much faster.
![Graphics showing the architecture of the data disk feature](/images/haos/usb-data-disk.png)
The data disk feature can be used on an existing installation without losing data: The system will move existing data to the external data disk automatically. However, it is recommended to create and download a full <a href="#backups">Backup</a> before proceeding!
<div class='note warning'>
All data on the target disk will be overwritten!
</div>
<div class='note'>
The storage capacity of the external data disk must be larger than the storage capacity of the existing (boot) disk.
</div>
<div class='note'>
If you have been using a data disk previously with Home Assistant Operating System, you need to use your host computer to delete all partitions *before* using it as a data disk again.
</div>
### Using UI to move the data partition
1. Connect the data disk to your system.
2. Go to **{% my supervisor_info title="Supervisor >> System" %}** in the UI.
3. Press the three dots on the bottom right of the Host card and choose "Move datadisk"
4. Select the data disk from the list of available devices.
5. Press "Move".
![Screenshot of the "Move datadisk" feature](/images/screenshots/move-datadisk.png)
### Using CLI to move the data partition
To see the current data disk use:
```sh
$ ha os info
...
data_disk: /dev/mmcblk1p4
...
```
To getting a list of supported detected devices which can be used by `datadisk`:
```sh
ha os datadisk list
```
To initiate the move to the new data disk use the `move` command:
```sh
ha os datadisk move /dev/sdx
```
The system will prepare the data disk and immediately reboot. The reboot will take 10 minutes or more depending on the speed of the new data disk; please be patient!
<div class='note'>
Using an USB attached SSD can draw quite some power. For instance on Raspberry Pi 3 the official Raspberry Pi power supply (PSU) only provides 2.5A which can be too tight. Use a more powerful power supply if you experience issues. Alternatively use a powered USB hub. Connect the Hub to one of the USB slots of your Raspberry Pi, and connect the SSD to the Hub. In this setup the power supply of the Hub will power the attached device(s).
</div>

View File

@ -53,7 +53,7 @@ docker pull {{ site.installation.container.base }}:dev
3. Download and install the version you want
```bash
pip3 install --upgrade git+git://github.com/home-assistant/core.git@dev
pip3 install --upgrade git+https://github.com/home-assistant/core.git@dev
```
4. When that is complete restart the service for it to use the new files.

View File

@ -15,7 +15,7 @@ The steps would be:
- Set "Enable auto-restart" if you like
- Within "Volume" click on "Add Folder" and choose either an existing folder or add a new folder. The "mount path" has to be "/config", so that Home Assistant will use it for the configs and logs. It is therefore recommended that the folder you choose should be named "config" or "homeassistant/config" to avoid confusion when referencing it within service calls.
- Within "Network" select "Use same network as Docker Host"
- To ensure that Home Assistant displays the correct timezone go to the "Environment" tab and click the plus sign then add `variable` = `TZ` & `value` = `Europe/London` choosing [your correct timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
- To ensure that Home Assistant displays the correct timezone go to the "Environment" tab and click the plus sign then add `variable` = `TZ` & `value` = `Europe/London` choosing [your correct timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
- Confirm the "Advanced Settings"
- 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`)
@ -37,7 +37,7 @@ Adjust the following Terminal command as follows :
- Replace `/PATH_TO_YOUR_CONFIG` points at the folder where you want to store your configuration
- Replace `/PATH_TO_YOUR_USB_STICK` matches the path for your USB stick (e.g., `/dev/ttyACM0` for most Synology users)
- Replace "Australia/Melbourne" with [your timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
- Replace "Australia/Melbourne" with [your timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
Run it in Terminal.
@ -83,7 +83,7 @@ The steps would be:
- 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.
- Within "Network" and select Network Mode to "Host"
- To ensure that Home Assistant displays the correct timezone go to the "Environment" tab and click the plus sign then add `variable` = `TZ` & `value` = `Europe/London` choosing [your correct timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
- To ensure that Home Assistant displays the correct timezone go to the "Environment" tab and click the plus sign then add `variable` = `TZ` & `value` = `Europe/London` choosing [your correct timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
- Click on "Create"
- Wait for some time until your NAS has created the container
- 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 Qnap NAS IP address - for example `http://192.xxx.xxx.xxx:8123`)

View File

@ -87,7 +87,7 @@ If you prefer to use a live operating system, follow the instructions of your Li
{% endif %}
2. Download and start <a href="https://www.balena.io/etcher" target="_blank">Balena Etcher</a>
3. Select "Flash from URL"
![etcher_from_url](/images/installation/etcher1.png)
![Screenshot of the Etcher software showing flash from URL selected.](/images/installation/etcher1.png)
4. Get the URL for your {{site.installation.types[page.installation_type].board}}:
{% if site.installation.types[page.installation_type].variants.size > 1 %}
@ -121,15 +121,15 @@ If you prefer to use a live operating system, follow the instructions of your Li
_Select and copy the URL or use the "copy" button that appear when you hover it._
1. Paste the URL for your {{site.installation.types[page.installation_type].board}} into Balena Etcher and click "OK"
![etcher_from_url_paste](/images/installation/etcher2.png)
![Screenshot of the Etcher software showing the URL bar with a URL pasted in.](/images/installation/etcher2.png)
6. Balena Etcher will now download the image, when that is done click "Select target"
![etcher_select_target](/images/installation/etcher3.png)
![Screenshot of the Etcher software showing the select target button highlighted.](/images/installation/etcher3.png)
7. Select the {{site.installation.types[page.installation_type].installation_media}} you want to use for your {{site.installation.types[page.installation_type].board}}
![etcher_select_target](/images/installation/etcher4.png)
![Screenshot of the Etcher software showing teh targets available.](/images/installation/etcher4.png)
8. Click on "Flash!" to start writing the image
![etcher_select_target](/images/installation/etcher5.png)
![Screenshot of the Etcher software showing the Flash button highlighted.](/images/installation/etcher5.png)
9. When Balena Etcher is finished writing the image you will get this confirmation
![etcher_select_target](/images/installation/etcher6.png)
![Screenshot of the Etcher software showing that the installation has completed.](/images/installation/etcher6.png)
### Start up your {{site.installation.types[page.installation_type].board}}

View File

@ -4,7 +4,7 @@ description: Instructions on how to integrate Airthings into Home Assistant.
ha_category:
- Sensor
- Environment
ha_release: 2021.10
ha_release: '2021.10'
ha_iot_class: Cloud Polling
ha_codeowners:
- '@danielhiversen'
@ -16,9 +16,9 @@ ha_platforms:
Integrates Airthings sensors into Home Assistant.
[Airthings](https://www.airthings.com/) provide different sensors for meassuring the air quality. The focus specially on Radon sensors.
[Airthings](https://www.airthings.com/) provide different sensors for measuring the air quality. The focus specially on Radon sensors.
Login [here](https://dashboard.airthings.com/integrations/api-integration) to find your credentials
Login [here](https://dashboard.airthings.com/integrations/api-integration) to find your credentials.
{% include integrations/config_flow.md %}

View File

@ -4,13 +4,14 @@ description: Instructions on how to integrate Amber Electric live prices within
ha_category:
- Sensor
- Energy
ha_release: "2021.10"
ha_release: '2021.10'
ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners:
- "@madpilot"
- '@madpilot'
ha_domain: amberelectric
ha_platforms:
- binary_sensor
- sensor
---

View File

@ -20,7 +20,7 @@ Home Assistant allows users to share their usage data via the analytics integrat
The information sent depends on what options you opt-in to. You can opt-in during onboarding and by going to **{% my general title="Configuration >> General" %}** .
**{% my general badge %}**
{% my general badge %}
When enabled, data will be sent 15 minutes after each start, and every 24h after startup. Sent data is printed to your log.
@ -74,7 +74,7 @@ This includes:
- The names of all your core integrations
- The names and versions of all your custom integrations if you have any
- Boolean to indicate that the [`energy` integration](/integrations/energy) is configured
- Boolean to indicate that the [energy integration](/integrations/energy) is configured
If your system includes the Supervisor, this will also contain:

View File

@ -39,7 +39,7 @@ sensor:
{% configuration %}
device:
description: The serial port your RS485 adaptor is connected to.
description: The serial port your RS485 adapter is connected to.
required: true
type: string
address:

View File

@ -10,13 +10,13 @@ ha_codeowners:
ha_domain: azure_event_hub
---
The `Azure Event Hub` integration allows you to hook into the Home Assistant event bus and send events to [Azure Event Hub](https://azure.microsoft.com/en-us/services/event-hubs/) or to a [Azure IoT Hub](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin).
The `Azure Event Hub` integration allows you to hook into the Home Assistant event bus and send events to [Azure Event Hub](https://azure.microsoft.com/en-us/services/event-hubs/) or to an [Azure IoT Hub](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin).
## First time setup
This assumes you already have a Azure account. Otherwise create a Free account [here](https://azure.microsoft.com/en-us/free/).
This assumes you already have an Azure account. Otherwise create a Free account [here](https://azure.microsoft.com/en-us/free/).
You need to create a Event Hub namespace and a Event Hub in that namespace, you can follow [this guide](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-create). Alternatively you can directly deploy an ARM template with the namespace and the Event Hub [from here](https://github.com/Azure/azure-quickstart-templates/tree/master/201-event-hubs-create-event-hub-and-consumer-group/).
You need to create an Event Hub namespace and an Event Hub in that namespace, you can follow [this guide](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-create). Alternatively you can directly deploy an ARM template with the namespace and the Event Hub [from here](https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.eventhub/event-hubs-create-event-hub-and-consumer-group).
You must then create a Shared Access Policy for the Event Hub with 'Send' claims or use the RootManageAccessKey from your namespace (this key has additional claims, including managing the event hub and listening, which are not needed for this purpose), for more details on the security of Event Hubs [go here](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-authentication-and-security-model-overview).
@ -171,8 +171,8 @@ azure_event_hub:
There are a number of ways to stream the data that comes into the Event Hub into storages in Azure, the easiest way is to use the built-in Capture function and this allows you to capture the data in Azure Blob Storage or Azure Data Lake store, [details here](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-capture-overview).
Other storages in Azure (and outside) are possible with a [Azure Stream Analytics job](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-define-inputs#stream-data-from-event-hubs), for instance for [Cosmos DB](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-documentdb-output), [Azure SQL DB](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-sql-output-perf), [Azure Table Storage](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-define-outputs#table-storage), custom writing to [Azure Blob Storage](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-custom-path-patterns-blob-storage-output) and [Topic and Queues](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-quick-create-portal#configure-job-output).
Other storages in Azure (and outside) are possible with an [Azure Stream Analytics job](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-define-inputs#stream-data-from-event-hubs), for instance for [Cosmos DB](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-documentdb-output), [Azure SQL DB](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-sql-output-perf), [Azure Table Storage](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-define-outputs#table-storage), custom writing to [Azure Blob Storage](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-custom-path-patterns-blob-storage-output) and [Topic and Queues](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-quick-create-portal#configure-job-output).
On the analytical side, Event Hub can be directly fed into [Azure Databricks Spark](https://docs.microsoft.com/en-us/azure/azure-databricks/databricks-stream-from-eventhubs?toc=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fevent-hubs%2FTOC.json&bc=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fbread%2Ftoc.json), [Azure Time Series Insights](https://docs.microsoft.com/en-us/azure/time-series-insights/time-series-insights-how-to-add-an-event-source-eventhub) and [Microsoft Power BI](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-tutorial-visualize-anomalies).
The final way to use the data in Azure is to connect a Azure Function to the Event Hub using the [Event Hub trigger binding](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-hubs).
The final way to use the data in Azure is to connect an Azure Function to the Event Hub using the [Event Hub trigger binding](https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-hubs).

View File

@ -10,9 +10,9 @@ ha_platforms:
- media_player
---
The `blackbird` platform allows you to control [Monoprice Blackbird Matrix Switch](https://www.monoprice.com/product?p_id=21819) using a serial connection.
The `blackbird` platform allows you to control [Monoprice Blackbird Matrix Switch](https://www.monoprice.com/product?p_id=21819) (8x8) using a serial or IP connection, this integration does not support the 4x4 matrix switch.
To add a Blackbird device to your installation, add the following to your `configuration.yaml` file:
To add a Blackbird 8x8 device to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry

View File

@ -1,7 +1,6 @@
---
title: Bluesound
description: Instructions on how to integrate Bluesound devices into Home Assistant.
logo: bluesound.png
ha_category:
- Media Player
ha_release: 0.51

View File

@ -15,7 +15,7 @@ ha_platforms:
- sensor
---
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).
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/bmp280/) 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/).

View File

@ -12,6 +12,7 @@ ha_release: 0.113
ha_domain: bond
ha_codeowners:
- '@prystupa'
- '@joshs85'
ha_config_flow: true
ha_quality_scale: platinum
ha_zeroconf: true

View File

@ -37,21 +37,21 @@ For some Brother devices, `SNMPv3 read-write access and v1/v2c read-only access`
## Sensor Example
You can configure Home Assistant to alert you when the printer jams or runs out of paper as follows. First, add the following to `configuration.yaml` under the `binary_sensor:` section (replace `sensor.hl_l2340d_status` with the actual name of your sensor):
You can configure Home Assistant to alert you when the printer jams or runs out of paper as follows. First, add the following to `configuration.yaml` under the `template:` section (Note: replace `sensor.hl_l2340d_status` with the actual name of your sensor):
{% raw %}
```yaml
- platform: template
sensors:
laser_out_of_paper:
value_template: "{{ is_state('sensor.hl_l2340d_status', 'no paper') }}"
friendly_name: "Laser Printer Out of Paper"
- platform: template
sensors:
laser_paper_jam:
value_template: "{{ is_state('sensor.hl_l2340d_status', 'paper jam') }}"
friendly_name: "Laser Printer Paper Jam"
template:
- binary_sensor:
- name: 'Laser Printer Out Of Paper'
state: >
{{ is_state('sensor.hl_l2340d_status', 'no paper') }}
- binary_sensor:
- name: 'Later Printer Paper Jam'
state: >
{{ is_state('sensor.hl_l2340d_status', 'paper jam') }}
```
{% endraw %}
@ -62,14 +62,15 @@ Then, add this under the `alert:` section:
laser_out_of_paper:
name: Laser Printer is Out of Paper
done_message: Laser Printer Has Paper
entity_id: binary_sensor.laser_out_of_paper
entity_id: binary_sensor.laser_printer_out_of_paper
can_acknowledge: true
notifiers:
- my_phone_notify
laser_paper_jam:
name: Laser Printer has a Paper Jam
done_message: Laser Printer Paper Jam Cleared
entity_id: binary_sensor.laser_paper_jam
entity_id: binary_sensor.laser_printer_paper_jam
can_acknowledge: true
notifiers:
- my_phone_notify

View File

@ -127,7 +127,7 @@ verify_ssl:
## Sensor attributes
- **offset_reached**: If set in the event title and parsed out will be on/off once the offset in the title in minutes is reached. So the title Very important meeting !!-10 would trigger this attribute to be on 10 minutes before the event starts. This should be in the format of `HH:MM` or `MM`.
- **offset_reached**: If set in the event title and parsed out will be on/off once the offset in the title in minutes is reached. So the title Very important meeting !! `-10` would trigger this attribute to be on 10 minutes before the event starts. This should be in the format of `HH:MM` or `MM`.
- **all_day**: `True/False` if this is an all day event. Will be `False` if there is no event found.
- **message**: The event title with the `search` values extracted. So in the above example for `offset_reached` the message would be set to Very important meeting
- **description**: The event description.

View File

@ -52,6 +52,14 @@ Home Assistant Cast requires your Home Assistant installation to be accessible v
## Playing media
<div class='note'>
Chromecasts generally ignore DNS servers from DHCP and will instead use Google's DNS servers, 8.8.8.8 and 8.8.4.4. This means media URLs must either be specifying the IP-address of the server directly, e.g. `http://192.168.1.1:8123/movie.mp4`, or be publicly resolvable, e.g. `http://homeassistant.internal.mydomain.com:8123/movie.mp4` where `homeassistant.internal.mydomain.com` resolves to `129.168.1.1`. A hostname which can't be publicly resolved, e.g. `http://homeassistant.local:8123/movie.mp4` will fail to play.
This is important when casting TTS or local media sources; the cast integration will cast such media from the `external_url` if [configured](/docs/configuration/basic), otherwise from the Home Assistant Cloud if configured, otherwise from the [`internal_url`](/docs/configuration/basic). Note that the Home Assistant Cloud will not be used if an `external_url` is configured.
</div>
### Using the built in media player app (Default Media Receiver)
Chromecasts can play many kinds of modern [media (image/audio/video) formats](https://developers.google.com/cast/docs/media) using the built in app Default Media Receiver. As a rule of thumb, if a Chrome browser can play a media file a Chromecast will be able to handle that too.

View File

@ -341,7 +341,7 @@ cover:
command_topic: "home-assistant/cover/set"
position_topic: "home-assistant/cover/position"
availability:
- "home-assistant/cover/availability"
- topic: "home-assistant/cover/availability"
set_position_topic: "home-assistant/cover/set_position"
qos: 0
retain: true

View File

@ -6,11 +6,12 @@ ha_category:
ha_iot_class: Cloud Push
ha_release: '2021.10'
ha_config_flow: true
ha_quality_scale: silver
ha_codeowners:
- '@Crownstone'
- '@RicArch97'
ha_domain: crownstone
ha_platforms:
- light
---
The Crownstone integration allows you to control your Crownstones either via the cloud or using a [Crownstone USB](#crownstone-usb) dongle.

View File

@ -37,7 +37,6 @@ ha_platforms:
[deCONZ](https://www.dresden-elektronik.de/funk/software/deconz.html) by [dresden elektronik](https://www.dresden-elektronik.de) is a software that communicates with ConBee/RaspBee Zigbee gateways and exposes Zigbee devices that are connected to the gateway.
[deCONZ REST API](https://dresden-elektronik.github.io/deconz-rest-doc/).
There is currently support for the following device types within Home Assistant:
@ -63,7 +62,7 @@ See [deCONZ wiki](https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/
{% include integrations/config_flow.md %}
Running a stand-alone instance of deCONZ (non add-on installation) requires a pairing between the deCONZ gateway and Home Assistant. To allow Home Assistant to connect with deCONZ go to the Phoscon UI click Settings -> Gateway -> Advanced and press the "Authenticate app" button. This same information is also shown during the config flow of the deCONZ integration.
Running a stand-alone instance of deCONZ (non add-on installation) requires a pairing between the deCONZ gateway and Home Assistant. To allow Home Assistant to connect with deCONZ go to the Phoscon **UI click Settings -> Gateway -> Advanced** and press the "Authenticate app" button. This same information is also shown during the config flow of the deCONZ integration.
## Debugging integration
@ -91,7 +90,7 @@ Available services: `configure`, `deconz.device_refresh` and `deconz.remove_orph
### Service `deconz.configure`
Set attribute of device in deCONZ using [REST-API](https://dresden-elektronik.github.io/deconz-rest-doc/rest/).
Set the attribute of device in deCONZ using [REST-API](https://dresden-elektronik.github.io/deconz-rest-doc/about_rest/).
| Service data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------------- |

View File

@ -125,7 +125,7 @@ So for example, the above command `/goform/formiPhoneAppDirect.xml?VSMONI2` will
<div class='note'>
The denonavr platform supports the standard media player controls such as `turn_on` and `volume_up`. Thus calling the service `media_player.turn_on` is equivalent to calling `denonavr.get_command` with the command `/goform/formiPhoneAppDirect.xml?PWON`. See [media_player](/integrations/meida_player/) for more details.
The denonavr platform supports the standard media player controls such as `turn_on` and `volume_up`. Thus calling the service `media_player.turn_on` is equivalent to calling `denonavr.get_command` with the command `/goform/formiPhoneAppDirect.xml?PWON`. See [media_player](/integrations/media_player/) for more details.
</div>

View File

@ -10,7 +10,6 @@ ha_codeowners:
- '@StevenLooman'
- '@chishm'
ha_domain: dlna_dmr
ha_ssdp: true
ha_platforms:
- media_player
---

View File

@ -70,7 +70,7 @@ logger:
sucks: debug
```
Warning: doing this will cause your authentication token to visible in your log files. Be sure to remove any tokens and other authentication details from your log before posting them in an issue.
**Warning**: doing this will cause your authentication token to be visible in your log files. Be sure to remove any tokens and other authentication details from your log before posting them in an issue.
## Vacuum

View File

@ -57,7 +57,7 @@ monitored_conditions:
Supported devices:
- Epson Workforce (and some EcoTank) printers who publish a HTTP page containing the ink cardridge levels
- Epson Workforce (and some EcoTank) printers who publish a HTTP page containing the ink cartridge levels
Tested devices:
@ -67,7 +67,8 @@ Tested devices:
- Epson WF3640
- Epson EcoTank ET-77x0
- Epson ET-2650
- Espon ET-4750
- Epson Expression Home XP-2105
To make this module work you need to connect your printer to your LAN.
The best is to navigate to the status page of the printer to check if it shows the page with the ink levels on the URL http://<IP_ADDRESS>/PRESENTATION/HTML/TOP/PRTINFO.HTML
The best is to navigate to the status page of the printer to check if it shows the page with the ink levels on the URL `http://<IP_ADDRESS>/PRESENTATION/HTML/TOP/PRTINFO.HTML`

View File

@ -1,7 +1,6 @@
---
title: Etherscan
description: Instructions on how to integrate Etherscan.io data within Home Assistant.
logo: etherscan.png
ha_category:
- Finance
ha_release: 0.47

View File

@ -1,7 +1,6 @@
---
title: EverLights
description: Instructions on how to set up EverLights within Home Assistant.
logo: everlights.png
ha_category:
- Light
ha_iot_class: Local Polling

View File

@ -141,4 +141,3 @@ sensor:
```
{% endraw %}

View File

@ -10,6 +10,7 @@ ha_codeowners:
- '@cnico'
ha_domain: flipr
ha_platforms:
- binary_sensor
- sensor
---

View File

@ -160,4 +160,4 @@ elements:
### Extra CGI Commands
Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](https://www.iltucci.com/blog/wp-content/uploads/2018/12/Foscam-IPCamera-CGI-User-Guide-V1.0.4.pdf)).
Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](https://www.foscam.es/descarga/Foscam-IPCamera-CGI-User-Guide-AllPlatforms-2015.11.06.pdf)).

View File

@ -100,10 +100,9 @@ As a result, this integration will create entities only for rules that have your
## Example Automations and Scripts
### Script: Reconnect / get new IP
**Script: Reconnect / get new IP**
The following script can be used to easily add a reconnect button to your UI. If you want to reboot your FRITZ!Box, you can use `fritzbox_tools.reboot` instead.
The following script can be used to easily add a reconnect button to your UI. If you want to reboot your FRITZ!Box, you can use `fritz.reboot` instead.
```yaml
fritz_box_reconnect:
@ -111,37 +110,38 @@ fritz_box_reconnect:
sequence:
- service: fritz.reconnect
target:
entity_id: binary_sensor.fritz_box_7530_connectivity
entity_id: binary_sensor.fritzbox_7530_connection
```
**Automation: Reconnect / get new IP every night**
### Automation: Reconnect / get new IP every night
```yaml
automation:
- alias: "System: Reconnect FRITZ!Box"
- alias: "System - Reconnect FRITZ!Box"
trigger:
- platform: time
at: "05:00:00"
action:
- service: fritz.reconnect
target:
entity_id: binary_sensor.fritzbox_x_connectivity
entity_id: binary_sensor.fritzbox_7530_connection
```
**Automation: Phone notification with wifi credentials when guest wifi is created**
### Automation: Phone notification with Wi-fi credentials when guest Wi-fi is created
```yaml
automation:
- alias: "Guests Wifi Turned On -> Send Password To Phone"
- alias: "Guests Wi-fi Turned On -> Send Password To Phone"
trigger:
- platform: state
entity_id: switch.fritzbox_x_wifi_x
entity_id: switch.fritzbox_7530_wifi_myssid
to: "on"
action:
- service: notify.notify
data:
title: "Guest wifi is enabled"
title: "Guest Wi-Fi is enabled"
message: "Password: ..."
```

View File

@ -1,7 +1,6 @@
---
title: Graphite
description: Instructions on how to record Home Assistant history in Graphite.
logo: graphite.png
ha_category:
- History
ha_release: 0.13

View File

@ -10,6 +10,7 @@ ha_codeowners:
- '@home-assistant/core'
ha_domain: group
ha_platforms:
- binary_sensor
- cover
- light
- media_player

View File

@ -11,6 +11,7 @@ ha_codeowners:
- '@bramkragten'
- '@bdraco'
- '@mkeesey'
- '@Aohzan'
ha_domain: harmony
ha_ssdp: true
ha_platforms:
@ -184,15 +185,14 @@ Template sensors can be utilized to display current activity in the frontend.
{% raw %}
```yaml
sensor:
- platform: template
sensors:
family_room:
value_template: '{{ state_attr("remote.family_room", "current_activity") }}'
friendly_name: "Family Room"
bedroom:
value_template: '{{ state_attr("remote.bedroom", "current_activity") }}'
friendly_name: "bedroom"
template:
- sensor:
- name: 'Family Room Harmony Remote'
state: >
{{ state_attr('remote.family_room', 'current_activity') }}
- name: 'Bedroom Harmony Remote'
state: >
{{ state_attr('remote.bedroom', 'current_activity') }}
```
{% endraw %}

View File

@ -67,7 +67,7 @@ script:
### Service `hive.boost_heating_off`
You can use the service `hive.boost_heating_off` to set your heating to boost for a period of time at a certain target temperature". Individual TRVs can also be boosted in the same way, using this service.
You can use the service `hive.boost_heating_off` to turn your heating boost off.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------- |

View File

@ -30,6 +30,10 @@ This integration has been tested to work with the following range of Legrand pro
- Valena Next™ with Netatmo
This integration has also been tested to work with the following range of BTicino products
- Living Now (Light switches)
## Authentication
Before you are able to configure the Legrand Home + Control integration into Home Assistant, you must register with the *Works with Legrand* platform.

View File

@ -42,7 +42,7 @@ homeworks:
{% configuration %}
host:
description: The IP address of the ethernet to serial adapter. It is assumed that the adaptor has been preconfigured.
description: The IP address of the ethernet to serial adapter. It is assumed that the adapter has been preconfigured.
required: true
type: string
port:

View File

@ -114,6 +114,7 @@ sensor:
value_template: '{{ ilo_data.temperature["01-Inlet Ambient"].currentreading[0] }}'
- name: Server Health
sensor_type: server_health
value_template: '{{ ilo_data.health_at_a_glance }}'
```
{% endraw %}

View File

@ -19,6 +19,7 @@ ha_platforms:
- binary_sensor
- light
- sensor
ha_zeroconf: true
---
The Philips Hue integration allows you to control and monitor the lights and motion sensors connected to your Hue bridge.

View File

@ -20,7 +20,7 @@ ha_zeroconf: true
ha_dhcp: true
---
The `hunterdouglas_powerview` integration allows you to integrate your [Hunter Douglas PowerView](https://www.hunterdouglas.com/operating-systems/powerview-motorization/support) devices in Home Assistant.
The `hunterdouglas_powerview` integration allows you to integrate your [Hunter Douglas PowerView](https://www.hunterdouglas.com/operating-systems/powerview-motorization/support) devices in Home Assistant. The product is also known by the brand name Luxaflex Powerview in Europe and Australia [as explained on their website](https://www.hunterdouglasgroup.com/company/brands-in-action/), however this integration should work for both brands.
There is currently support for the following device types within Home Assistant:

View File

@ -13,6 +13,7 @@ ha_codeowners:
ha_platforms:
- sensor
---
Integration for the [IoTaWatt](https://www.iotawatt.com/) Open WiFi Electricity Monitor. It
will collect data from the Current Transformer Clamps (Input CTs) and any Outputs that are defined on the IoTaWatt
and create them as sensors in Home Assistant.

View File

@ -102,7 +102,7 @@ automation:
`device_descriptor` or `device_name` may be specified in the trigger so the automation will be fired only for that keyboard. This is especially useful if you wish to use several Bluetooth remotes to control different devices. Omit them to ensure the same key triggers the automation for all keyboards/remotes.
`key_code` should be set to the code generated by the key press, otherwise the trigger will file on every key press.
`key_code` should be set to the code generated by the key press, otherwise the trigger will fire on every key press.
`type` can optionally be set to one of `key_down`, `key_up`, or `key_hold` to limit the trigger to that specific event type.
## Disconnections

View File

@ -19,7 +19,7 @@ ha_platforms:
The `kodi` platform allows you to control a [Kodi](https://kodi.tv/) multimedia system from Home Assistant.
The preferred way to set up the Kodi platform is by through discovery, which requires an enabled [web interface](https://kodi.wiki/view/Web_interface) on your Kodi installation.
The preferred way to set up the Kodi platform is through discovery, which requires an enabled [web interface](https://kodi.wiki/view/Web_interface) on your Kodi installation.
There is currently support for the following device types within Home Assistant:

View File

@ -1,7 +1,6 @@
---
title: LaMetric
description: Instructions on how to integrate LaMetric with Home Assistant.
logo: lametric.png
ha_category:
- Hub
- Notifications

View File

@ -1,7 +1,6 @@
---
title: Launch Library
description: Instructions on how to integrate space launch information within Home Assistant.
logo: rocket.png
ha_category:
- Sensor
ha_iot_class: Cloud Polling

View File

@ -1,7 +1,6 @@
---
title: Linux Battery
description: Instructions on how to integrate Linux Battery information into Home Assistant.
logo: linux_battery.png
ha_category:
- System Monitor
ha_release: 0.28

View File

@ -77,7 +77,7 @@ lock:
## Considerations
If you are using the state of a platform that takes extra time to load, the Template Lock may get an `unknown` state during startup. This results in error messages in your log file until that platform has completed loading. If you use `is_state()` function in your template, you can avoid this situation. For example, you would replace {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an unknown result: {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
If you are using the state of a platform that takes extra time to load, the Template Lock may get an `unknown` state during startup. This results in error messages in your log file until that platform has completed loading. If you use `is_state()` function in your template, you can avoid this situation. For example, you would replace {% raw %}`{{ state('switch.source') == 'on') }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an unknown result: {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
## Examples

View File

@ -46,16 +46,16 @@ Additionally RA2 Select Main Repeater (`RR-SEL-REP2-BL`) or Lutron Caséta Smart
- Pico Remotes as [device triggers](/integrations/device_automation/)
- Shade Remotes as [device triggers](/integrations/device_automation/)
When configured, the Lutron Caséta integration will automatically discover the currently supported devices as set up 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.
{% include integrations/config_flow.md %}
## Manual configuration
Alternatively, if you already have `caseta.key`, `caseta.crt`, `caseta-bridge.crt`, and cannot physically access the bridge to press the button, pairing can be done manually using the following steps:
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.
## Manual hub configuration
To use Lutron Caseta devices in your installation, you must first log in to your Lutron account and generate a certificate that allows Home Assistant to connect to your bridge. This can be accomplished by downloading and executing [get_lutron_cert.py](https://github.com/gurumitts/pylutron-caseta/blob/master/get_lutron_cert.py), which will generate three files: caseta.key, caseta.crt, caseta-bridge.crt when you run it. See the instructions at the top of the script for more information.
If you already have `caseta.key`, `caseta.crt`, `caseta-bridge.crt`, and cannot physically access the bridge to press the button, pairing can be done by utilizing these existing files.
Once you have the three necessary files, place them in your configuration directory and add the following to your `configuration.yaml`:
```yaml

View File

@ -76,15 +76,15 @@ tts:
voice: "cmu-slt-hsmm"
language: "en_US"
effect:
Volume: "amount:2.0;",
TractScaler: "amount:1.5;",
F0Scale: "f0Scale:2.0;",
F0Add: "f0Add:50.0;",
Rate: "durScale:1.5;",
Robot: "amount:100.0;",
Whisper: "amount:100.0;",
Stadium: "amount:100.0",
Chorus: "delay1:466;amp1:0.54;delay2:600;amp2:-0.10;delay3:250;amp3:0.30",
FIRFilter: "type:3;fc1:500.0;fc2:2000.0",
Volume: "amount:2.0;"
TractScaler: "amount:1.5;"
F0Scale: "f0Scale:2.0;"
F0Add: "f0Add:50.0;"
Rate: "durScale:1.5;"
Robot: "amount:100.0;"
Whisper: "amount:100.0;"
Stadium: "amount:100.0"
Chorus: "delay1:466;amp1:0.54;delay2:600;amp2:-0.10;delay3:250;amp3:0.30"
FIRFilter: "type:3;fc1:500.0;fc2:2000.0"
JetPilot: ""
```

View File

@ -1,7 +1,6 @@
---
title: eQ-3 MAX!
description: Instructions on how to integrate eQ-3 MAX! components with Home Assistant via eQ-3 MAX! Cube.
logo: maxcube.png
ha_category:
- Climate
- Binary Sensor

View File

@ -120,7 +120,7 @@ data:
media_content_id: "https://fake-home-assistant.io.stream/aac"
extra:
thumb: "https://brands.home-assistant.io/_/homeassistant/logo.png"
title: HomeAssitantRadio
title: HomeAssistantRadio
```
#### Service `media_player.select_source`

View File

@ -71,10 +71,15 @@ region:
<div class='note'>
Not all Azure regions support high-quality neural voices. Use [this overview](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/regions#standard-and-neural-voices) to determine the availability of standard and neural voices by region/endpoint.
Not all Azure regions support high-quality neural voices. Use [this overview](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/regions#neural-and-standard-voices) to determine the availability of standard and neural voices by region/endpoint.
</div>
<div class='note'>
If you set the language to anything other than the default `en-us`, you will need to specify a matching voice type as well.
</div>
## Full configuration example

View File

@ -1,24 +1,29 @@
---
title: Modem Caller ID
title: Phone Modem
description: Instructions on how to integrate the Caller ID sensor into Home Assistant.
ha_category:
- Sensor
ha_release: '0.40'
ha_iot_class: Local Polling
ha_domain: modem_callerid
ha_codeowners:
- '@tkdrob'
ha_platforms:
- sensor
ha_config_flow: true
---
The `modem_callerid` integration uses an available modem for collecting caller ID information. It requires a Hayes AT compatible modem that supports caller ID detection (via AT+VCID=1). Usually any modem that uses a CX93001 will support this.
When the sensor detects a new call, its state changes to 'ring' for each ring and 'callerid' when caller id information is received. It returns to 'idle' once ringing stops. The state event includes an attribute payload that includes the time of the call, name and number.
This integration also offers two services. `modem_callerid.reject_call` to pick up and then hang up the call to properly reject a call (via ATA anf ATH). `modem_callerid.hangup_call` to hang up an existing call (via ATH).
This integration also offers a service. `modem_callerid.reject_call` to pick up and then hang up the call to properly reject a call (via ATA anf ATH).
{% include integrations/config_flow.md %}
## Examples
Some example automations:
An example automation:
{% raw %}
@ -55,19 +60,3 @@ automation:
```
{% endraw %}
## Extra instructions for the Home Assistant Core installation type
To find the path of your USB modem, run:
```bash
ls /dev/ttyACM*
```
If Home Assistant (`hass`) runs with another user (e.g., `homeassistant`) give access to the stick with:
```bash
sudo usermod -a -G dialout homeassistant
```
Depending on what's plugged into your USB ports, the name found above may change. You can lock in a name, such as `/dev/modem`, by following [these instructions](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/).

View File

@ -27,7 +27,7 @@ Sources can also be later edited from the integration options (gear icon in the
## Zone Management
Devices and entities are created for each of the possible 18 zones, and can be enabled, disabled and renamed through regular Home Assisant methods.
Devices and entities are created for each of the possible 18 zones, and can be enabled, disabled and renamed through regular Home Assistant methods.
By default, the first 6 zones (11..16) are enabled, and there's an attempt to automatically detect the 12 extension zones (21..26, and 31..36) on the first run.
## Services

View File

@ -14,7 +14,7 @@ ha_platforms:
- binary_sensor
---
The Mullvad VPN integration pulls [Mullvad](https://mullvad.net/) VPN status information into Home Assistant.
The Mullvad VPN integration uses the [Mullvad](https://mullvad.net/) VPN API to detect if your Home Assistant instance is connected to the Mullvad VPN service.
![](/images/screenshots/mullvad_vpn_sample_sensor_connected.png)

View File

@ -32,12 +32,10 @@ There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor)
<div class='note'>
This integration supports two Nest APIs. The SDM API is the new primary API that accepts new users. The Legacy Works With Nest API is not accepting new users, but the documentation still exists at the bottom of the page so existing users can keep using it.
This integration supports two Nest APIs: The SDM API (new) accepts new users and requires a US$5 fee. The Legacy Works With Nest API (old) does not accept new users, but the documentation is still available at the bottom of the page for existing users.
</div>
Google applies strict [Redirect URI validation
rules](https://developers.google.com/identity/protocols/oauth2/web-server#uri-validation) to keep your login
credentials secure. In practice, this means that you must access Home Assistant *over SSL* and a *public top-level domain* when setting up this integration. See the documentation on [Securing](/docs/configuration/securing/) or [Troubleshooting](#troubleshooting), and note that you don't actually need to enable remote access.
Google applies strict [Redirect URI validation rules](https://developers.google.com/identity/protocols/oauth2/web-server#uri-validation) to keep your login credentials secure. In practice, this means that you must access Home Assistant *over SSL* and a *public top-level domain* when setting up this integration. See the documentation on [Securing](/docs/configuration/securing/) or [Troubleshooting](#troubleshooting), and note that you don't actually need to enable remote access.
## Overview: Supported Devices
@ -64,7 +62,9 @@ The full detailed instructions for account setup are available in the [Device Ac
For the first phase, you will turn on the API and create the necessary credentials to have Home Assistant talk to the Nest API.
1. First go to the [Device Access Registration](https://developers.google.com/nest/device-access/registration) page. Click on the button **Go to the Device Access Console**.
{% details "Create a Device Access Project [Device Access Console]" %}
1. First go to the [Device Access Registration](https://developers.google.com/nest/device-access/registration) page. Click on the button **[Go to the Device Access Console](https://console.nest.google.com/device-access/)**.
![Screenshot of Device Access Registration](/images/integrations/nest/device_access.png)
1. Check the box to "Accept the Terms of Service" and click **Continue to Payment** where you need to pay a fee (currently US$5).
@ -80,7 +80,15 @@ For the first phase, you will turn on the API and create the necessary credentia
1. Give your Device Access project a name and click **Next**.
![Screenshot of naming a project](/images/integrations/nest/project_name.png)
1. Next you will be asked for an *OAuth client ID*. It is a good idea to go create that now. Open a new tab to the [Google API Console](https://console.developers.google.com/apis/credentials).
1. Next you will be asked for an *OAuth client ID*. It is a good idea to go create that now following instructions in the next section in a new browser tab.
{% enddetails %}
{% details "Configure OAuth client_id and client_secret [Cloud Console]" %}
By the end of this section you will have the `client_id` and `client_secret`.
1. Open a new tab to the [Google API Console](https://console.developers.google.com/apis/credentials).
1. If this is your first time here, you likely need to create a new Google API project. Click **Create Project** then **New
Project**. Note: This is a different type of project from the Device Access project you are also creating.
@ -119,13 +127,24 @@ Project**. Note: This is a different type of project from the Device Access proj
1. You should now be presented with an *OAuth client created* message. Take note of *Your Client ID* and *Your Client Secret* as these are needed for Home Assistant set up.
![Screenshot of OAuth Client ID and Client Secret](/images/integrations/nest/oauth_created.png)
1. Now head back to the *Device Access Console* tab and *Add your OAuth client ID* then click **Next**.
{% enddetails %}
{% details "Link Device Access project_id [Device Access Console]" %}
By the end of this section you will have a `project_id` as well as the *Topic Name* needed to configure Cloud Pub/Sub.
1. Now head back to the *[Device Access Console](https://console.nest.google.com/device-access/project-list)* tab and *Add your OAuth client ID* then click **Next**.
![Screenshot of Device Access Console OAuth client ID](/images/integrations/nest/device_access_oauth_client_id.png)
1. Enable Events by clicking on **Enable** and **Create project**.
![Screenshot of enabling events](/images/integrations/nest/enable_events.png)
1. Take note of the *Project ID* as you will need it later. At this point you have the `project_id`, `client_id` and `client_secret` configuration options needed for Home Assistant.
1. Take note of the *Project ID* as you will it later. At this point you have the `project_id`, `client_id` and `client_secret` configuration options needed for Home Assistant.
1. Also Take note of the *Pub/Sub Topic* which is later entered manually as the *Topic Name* when configuring Pub/Sub in a follow up step.
{% enddetails %}
{% details "Enable Device Access APIs [Cloud Console]" %}
1. Go back to the [Google Cloud Console: API & Services](https://console.developers.google.com/apis/dashboard)
@ -135,10 +154,20 @@ Project**. Note: This is a different type of project from the Device Access proj
1. Search for **Smart Device management** and enable the API.
![Screenshot of Search for SDM API](/images/integrations/nest/enable_sdm_api.png)
{% enddetails %}
## Pub/Sub subscriber setup
The next phase is to enable the Pub/Sub API by creating a subscription that can keep Home Assistant informed of events or device changes in near real-time. See [Device Access: Events](https://developers.google.com/nest/device-access/api/events) for the full detailed instructions.
{% details "Configure Cloud Pub/Sub subscriber_id [Cloud Console]" %}
By the end of this section you will have the `subscriber_id` needed for configuration.
What is Pub/Sub? You can think of your Nest device as the publisher and your Home Assistant as the subscriber. As your Nest device publishes events like a temperature change or motion event, it notifies your Home Assistant subscriber about
those events so it can record the new value or trigger an automation.
1. Visit [Enable the Cloud Pub/Sub API](https://console.developers.google.com/apis/library/pubsub.googleapis.com) in the Cloud Console and click **Enable**.
1. Go to the [Google Cloud Platform: Pub/Sub: Subscriptions](https://console.cloud.google.com/cloudpubsub/subscription/list) page and click **Create Subscription**.
@ -146,7 +175,9 @@ The next phase is to enable the Pub/Sub API by creating a subscription that can
1. You will need to pick a *Subscription ID*.
![Screenshot of creating a subscription](/images/integrations/nest/create_subscription.png)
1. The *Topic name* should match the topic name in your project in the [Device Access Console](https://console.nest.google.com/device-access/) and typically looks like `projects/sdm-prod/topics/EXAMPLE`. The SDM topic names do not show up by default so make sure to **Enter topic manually**.
1. Select **Enter Topic Manually** from the topic drop down list.
1. The *Topic name* comes from the [Device Access Console](https://console.nest.google.com/device-access/) *Topic name*
and typically looks like `projects/sdm-prod/topics/EXAMPLE`.
![Screenshot of creating a topic](/images/integrations/nest/device_access_pubsub_topic.png)
1. Select **Pull** as the *Delivery Type*.
@ -155,11 +186,15 @@ The next phase is to enable the Pub/Sub API by creating a subscription that can
1. Leave the rest of the defaults and click **Create**.
1. Once created, copy the *Subscription name* which you will want to hold on to as your `subscriber_id` for configuring Home Assistant. This typically looks like `projects/MY-CLOUD-ID/subscriptions/EXAMPLE`. Don't confuse *Subscription name* with *Topic name* since they look similar.
1. Once created, copy the *Subscription name* which you will want to hold on to as your `subscriber_id` for configuring Home Assistant. This typically looks like `projects/MY-CLOUD-ID/subscriptions/EXAMPLE`.
1. Don't confuse *Subscription name* with *Topic name* since they look similar. Remember that *Subscription name* is
your `subscriber_id`.
{% enddetails %}
## Configuration
Congratulations, you now should have everything you need to configure Home Assistant. Edit your `configuration.yaml` file and populate a `nest` entry in the format of the example [Configuration](#configuration) below.
You now should have everything needed to configure Nest in Home Assistant. Edit your `configuration.yaml` file and populate a `nest` entry in the format of the example configuration below.
```yaml
# Example configuration.yaml entry
@ -193,9 +228,25 @@ subscriber_id:
## Device Setup
Once your developer account is set up and you have a valid `nest` entry in `configuration.yaml`, you need to connect devices with the following steps:
Once `configuration.yaml` has a valid `nest` entry, you need to add Nest to your Home Assistant instance via the user interface by using this My button:
1. Using your externally accessible address from the Home Assistant front-end, navigate to **Configuration** then **Integrations**. Click **Add Integration** then locate 'Nest'.
{% my config_flow_start badge domain=page.ha_domain %}
{% details "Manual configuration steps" %}
1. Browse to your Home Assistant instance using.
1. In the sidebar click on _**{% my config icon %}**_.
1. From the configuration menu select: _**{% my integrations icon %}**_.
1. In the bottom right, click on the
_**{% my config_flow_start icon domain=page.ha_domain %}**_ button.
1. From the list, search and select _**"Nest"**_ and follow the instructions.
{% enddetails %}
The Nest integration setup will walk you through the steps of authorizing
your Home Assistant to access your account and Nest devices.
{% details "OAuth and Device Authorization steps" %}
1. You should get redirected to Google to choose an account. This should be the same developer account you configured above.
@ -220,6 +271,7 @@ everything, however, you can leave out any feature you do not wish to use with H
1. If all went well, you are ready to go!
![Screenshot of success](/images/integrations/nest/finished.png)
{% enddetails %}
## Troubleshooting
@ -227,34 +279,56 @@ everything, however, you can leave out any feature you do not wish to use with H
- Check **Configuration** then **Logs** to see if there are any error messages or misconfigurations then see the error messages below.
- *Reauthentication required often*: If you are frequently getting logged out, this means your authentication token was revoked by Google. This most likely reason is the *OAuth Consent Screen* is set to *Testing* by default which expires the token after 7 days. Follow the steps above to set it to *Production* to resolve this and reauthorize your integration one more time to get a new token. You may also see this as the error message *invalid_grant: Token has been expired or revoked*. See [Google Identity: Refresh token expiration](https://developers.google.com/identity/protocols/oauth2#expiration) for more reasons on why your token may have expired.
- *Reauthentication required often*: If you are frequently getting logged out, this means your authentication token was revoked by Google likely due to a misconfiguration.
{% details "Details about reauthentication issues" %}
- This most likely reason is the *OAuth Consent Screen* is set to *Testing* by default which expires the token after 7 days.
- Follow the steps above to set it to *Production* to resolve this and reauthorize your integration one more time to get a new token.
- You may also see this as the error message *invalid_grant: Token has been expired or revoked*.
- See [Google Identity: Refresh token expiration](https://developers.google.com/identity/protocols/oauth2#expiration) for more reasons on why your token may have expired.
{% enddetails %}
- *Thermostat does not appear or is unavailable* happens due to a bug where the SDM API does return the devices. A common fix get the API to work again is to:
- Restart the Thermostat device. See [How to restart or reset a Nest thermostat](https://support.google.com/googlenest/answer/9247296) for more details.
- In the official Nest app or on https://home.nest.com: Move the Thermostat to a different or fake/temporary room.
- Reload the integration in Home Assistant: Navigate to **Configuration** then **Integrations**, click `...` next to *Nest* and choose **Reload**.
{% details "How to restart thermostat" %}
- Restart the Thermostat device. See [How to restart or reset a Nest thermostat](https://support.google.com/googlenest/answer/9247296) for more details.
- In the official Nest app or on https://home.nest.com: Move the Thermostat to a different or fake/temporary room.
- Reload the integration in Home Assistant: Navigate to **Configuration** then **Integrations**, click `...` next to *Nest* and choose **Reload**.
{% enddetails %}
- *No devices or entities are created* if the SDM API is not returning any devices for the authorized account. Double-check that GCP is configured correctly to [Enable the API](https://developers.google.com/nest/device-access/get-started#set_up_google_cloud_platform) and authorize at least one device in the OAuth setup flow. If you have trouble here, then you may want to walk through the Google instructions and issue commands directly against the API until you successfully get back the devices.
- *Error 400: redirect_uri_mismatch* means that your OAuth Client ID is not configured to match your Home Assistant URL.
- To resolve this, copy and paste the redirect URI in the error message (`https://<your_home_assistant_url>:<port>/auth/external/callback`).
{% details "Details about resolving redirect_uri_mismatch" %}
- To resolve this, copy and paste the redirect URI in the error message (`https://<your_home_assistant_url>:<port>/auth/external/callback`).
![Screenshot of success](/images/integrations/nest/redirect_uri_mismatch.png)
- Go back to the [API Console](https://console.developers.google.com/apis/credentials) and select your *OAuth 2.0 Client ID*.
- Add the URL to the list of *Authorized redirect URIs* and click **Save** and start the flow over.
- Go back to the [API Console](https://console.developers.google.com/apis/credentials) and select your *OAuth 2.0 Client ID*.
- Add the URL to the list of *Authorized redirect URIs* and click **Save** and start the flow over.
![Screenshot of success](/images/integrations/nest/redirect_uris_fix.png)
{% enddetails %}
- When configuring the OAuth Client ID redirect URI, you may see an error such as *must end with a public top-level
domain (such as .com or .org)* or *must use a valid domain that is a valid top private domain*. This means that you
may need to change the URL you use to access Home Assistant in order to access your devices.
- See [Securing](https://www.home-assistant.io/docs/configuration/securing/) Home Assistant for convient solutions e.g. [Nabu Casa](https://www.nabucasa.com/) or Duck DNS.
- There are subtle [rules](https://developers.google.com/identity/protocols/oauth2/web-server#uri-validation) for what types of URLs are allowed, namely that they must use SSL and a publicly known hostname, though your Home Assistant ports do not need to be exposed to the internet.
- You can use any publicly known hostname you own
- As a hack, you can use hosts tricks to temporarily assign a public hostname to your Home Assistant IP address.
{% details "Details about URL configuration" %}
- See [Securing](https://www.home-assistant.io/docs/configuration/securing/) Home Assistant for convenient solutions e.g. [Nabu Casa](https://www.nabucasa.com/) or Duck DNS.
- There are subtle [rules](https://developers.google.com/identity/protocols/oauth2/web-server#uri-validation) for what types of URLs are allowed, namely that they must use SSL and a publicly known hostname, though your Home Assistant ports do not need to be exposed to the internet.
- You can use any publicly known hostname you own
- As a hack, you can use hosts tricks to temporarily assign a public hostname to your Home Assistant IP address.
{% enddetails %}
- *Error 403: access_denied* means that you need to visit the [OAuth Consent Screen](https://console.developers.google.com/apis/credentials/consent) and add your Google Account as a *Test User*.
@ -264,9 +338,9 @@ everything, however, you can leave out any feature you do not wish to use with H
- *Subscriber error: Subscription misconfigured. Expected topic name to match ...* means that the topic name in the Google Cloud Console was entered incorrectly. The topic name comes from the Device Console and must start with `projects/sdm-prod/topics/`. It is easy to make the mistake of creating a new topic rather than manually entering the right topic name.
- *Not receiving updates* typically means a problem with the subscriber configuration. Changes for things like sensors or thermostat temperature set points should be instantly published to a topic and received by the Home Assistant susbcriber when everything is configured correctly.
- *Not receiving updates* typically means a problem with the subscriber configuration. Changes for things like sensors or thermostat temperature set points should be instantly published to a topic and received by the Home Assistant subscriber when everything is configured correctly.
- You can see stats about your subscriber in the [Cloud Console](https://console.cloud.google.com/cloudpubsub/subscription/list) which includes counts of messages published by your devices, and how many have been acknowledged by your Home Assistant subscriber. You can also `View Messages` to see examples of published. Many old unacknowledged messages indicate the subscriber is not receivng the messages and working properly or not connected at all. Double check the `subscriber_id` matches the `Subscription Name`
- You can see stats about your subscriber in the [Cloud Console](https://console.cloud.google.com/cloudpubsub/subscription/list) which includes counts of messages published by your devices, and how many have been acknowledged by your Home Assistant subscriber. You can also `View Messages` to see examples of published. Many old unacknowledged messages indicate the subscriber is not receiving the messages and working properly or not connected at all. Double check the `subscriber_id` matches the `Subscription Name`
- To aid in diagnosing subscriber problems or camera stream issues it may help to turn up verbose logging by adding some or all of these to your `configuration.yaml` depending on where you are having trouble:
@ -322,7 +396,7 @@ All Google Nest Cam models and the Google Nest Hello Video Doorbell support devi
- **Motion detected**
- **Person detected**
- **Sound detected**
- **Doorbell pressed** *for Google Nest Hello Video Doorbell only*
- **Doorbell pressed** *for Doorbell only*
The lower level Pub/Sub subscriber receives events in real time and internally fires `nest_event` events within Home Assistant:
@ -333,7 +407,7 @@ The lower level Pub/Sub subscriber receives events in real time and internally f
| Sound detected | [CameraSound](https://developers.google.com/nest/device-access/traits/device/camera-sound#events) | `sound_detected` |
| Doorbell pressed | [DoorbellChime](https://developers.google.com/nest/device-access/traits/device/doorbell-chime#events) | `doorbell_chime` |
### Example
## Example
This automation will trigger when a `nest_event` event type with a type of `camera_motion` is received from the specified `device_id`.
@ -364,8 +438,7 @@ This section contains instructions for the Legacy [Works with Nest](https://deve
New users are not currently able to set up a Works With Nest Developer account. The documentation is preserved here for existing users of the API.
</div>
<details>
<summary>Click here to expand documentation for the Legacy Works with Nest API</summary>
{% details "Legacy Works with Nest Configuration Steps" %}
The Nest integration is the main integration to integrate all [Nest](https://nest.com/) related platforms. To connect Nest, you will have to [sign up for a developer account](https://developers.nest.com/products) and get a `client_id` and `client_secret`.
@ -377,7 +450,7 @@ There is currently support for the following device types within Home Assistant:
- [Climate](#climate)
- [Sensor](#sensor)
### Setting up developer account
**Setting up developer account**
1. Visit [Nest Developers](https://developers.nest.com/), and sign in. Create an account if you don't have one already.
@ -399,7 +472,7 @@ There is currently support for the following device types within Home Assistant:
Connecting to the Nest Developer API requires outbound port 9553 on your firewall. The configuration will fail if this is not accessible.
## Configuration
**Configuration**
```yaml
# Example configuration.yaml entry
@ -433,7 +506,7 @@ structure:
type: list
{% endconfiguration %}
### Service `set_away_mode`
**Service `set_away_mode`**
You can use the service `nest/set_away_mode` to set the structure(s) to "Home" or "Away".
@ -466,7 +539,7 @@ script:
- Apartment
```
### Service `set_eta`
**Service `set_eta`**
You can use the service `nest/set_eta` to set or update the estimated time of arrival window. Calling this service will automatically set the structure(s) to "Away". Structures must have an associated Nest thermostat in order to use ETA function.
@ -504,7 +577,7 @@ script:
- Apartment
```
### Service `cancel_eta`
**Service `cancel_eta`**
You can use the service `nest/cancel_eta` to cancel an existing estimated time of arrival window. Structures must have an associated Nest thermostat in order to use ETA function.
@ -537,13 +610,13 @@ script:
- Apartment
```
### Troubleshooting
**Troubleshooting**
- For trouble with the SDM API OAuth authorization flow with Google, see [Troubleshooting](https://developers.google.com/nest/device-access/authorize#troubleshooting) which includes guidance for errors like `redirect_uri_mismatch` where Google needs to know about your external URL.
- If you're getting [rickrolled](https://www.youtube.com/watch?v=dQw4w9WgXcQ) by the Legacy API instead of being able to see your Nest cameras, you may not have set up your developer account's permissions correctly. Go back through and make sure you've selected read/write under every category that it's an option.
## Platforms
**Platforms**
<div class='note'>
@ -551,7 +624,7 @@ You must have the [Nest component](/integrations/nest/) configured to use the pl
</div>
### Binary Sensor
**Binary Sensor**
The `nest` binary sensor platform lets you monitor various states of your [Nest](https://nest.com) devices.
@ -561,7 +634,7 @@ You must have the [Nest component](/integrations/nest/) configured to use these
</div>
#### Configuration
**Configuration**
To enable binary sensors and customize which sensors are setup, you can extend the [Nest component](/integrations/nest/) configuration in your `configuration.yaml` file with the following settings:
@ -601,7 +674,7 @@ The following conditions are available by device:
- person\_detected
- sound\_detected
### Camera
**Camera**
The `nest` platform allows you to watch still frames from a video stream (not live stream) of your [Nest](https://nest.com/camera/meet-nest-cam/) camera in Home Assistant.
@ -613,7 +686,7 @@ The Legacy API integration allows you to watch still frames from a video stream
Nest Camera supports the `camera.turn_on` and `camera.turn_off` services since the 0.75 release.
### Climate
**Climate**
The `nest` climate platform lets you control a thermostat from [Nest](https://nest.com).
@ -625,7 +698,7 @@ Please note due to limitations with the European Nest Thermostat E, integration
<img src='/images/screenshots/nest-thermostat-card.png' />
</p>
### Sensor
**Sensor**
The `nest` sensor platform lets you monitor sensors connected to your [Nest](https://nest.com) devices.
@ -635,7 +708,7 @@ The sensors will be setup if the `nest` integration is configured and the requir
</div>
#### Configuration
**Configuration**
To enable sensors and customize which sensors are setup, you can extend the [Nest component](/integrations/nest/) configuration in your `configuration.yaml` file with the following settings:
@ -675,7 +748,7 @@ The following conditions are available by device:
- `color_status`: `gray`, `green`, `yellow` or `red`. Indicates device status by color in the Nest app UI. It is an aggregate condition for battery+smoke+CO states, and reflects the actual color indicators displayed in the Nest app.
- Nest Camera: none
### Security State
**Security State**
<div class='note warning'>
@ -701,4 +774,4 @@ A `deter` state is re-evaluated after several minutes and relaxed to `ok` if no
The `security_state` automatically switches to `ok` when the structure state is `home`.
</details>
{% enddetails %}

View File

@ -8,7 +8,13 @@ ha_release: pre 0.7
ha_domain: netgear
ha_platforms:
- device_tracker
- sensor
ha_config_flow: true
ha_codeowners:
- '@hacf-fr'
- '@Quentame'
- '@starkillerOG'
ha_ssdp: true
---
This platform allows you to detect presence by looking at connected devices to a [NETGEAR](https://www.netgear.com/) device.

View File

@ -8,7 +8,7 @@ ha_iot_class: Configurable
ha_domain: mqtt
---
The `mqtt` Number platform allows you to integrate devices that might expose configuration options through MQTT into Home Assistant as a Number. Every time a message under the `topic` in the configuration is received, the number entity will be updated in Home Assisant and vice-versa, keeping the device and Home Assistant in-sync.
The `mqtt` Number platform allows you to integrate devices that might expose configuration options through MQTT into Home Assistant as a Number. Every time a message under the `topic` in the configuration is received, the number entity will be updated in Home Assistant and vice-versa, keeping the device and Home Assistant in-sync.
## Configuration

View File

@ -24,7 +24,7 @@ The `onvif` camera platform allows you to use an [ONVIF](https://www.onvif.org/)
</div>
<div class='note'>
If running Home Asssistant Core in a venv, ensure that libxml2 and libxslt python interfaces are installed via your package manager.
If running Home assistant Core in a venv, ensure that libxml2 and libxslt python interfaces are installed via your package manager.
</div>
### Configuration Notes

View File

@ -18,4 +18,3 @@ The `opengarage` cover platform lets you control the open-source [OpenGarage.io]
{% include integrations/config_flow.md %}

View File

@ -49,3 +49,11 @@ password:
required: true
type: string
{% endconfiguration %}
## Sensors
The qBittorrent integration will add the following sensors:
- `sensor.qbittorrent_status`: The status of qBittorrent - `up_down`, `seeding`, `downloading` or `idle`.
- `sensor.qbittorrent_up_speed`: The current total upload speed in kB/s.
- `sensor.qbittorrent_down_speed`: The current total download speed in kB/s.

View File

@ -9,7 +9,7 @@ ha_domain: recorder
ha_iot_class: Local Push
---
The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history` ](/integrations/history/) integration.
The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history`](/integrations/history/) integration.
<div class='note'>
@ -232,7 +232,7 @@ The following database engines are tested when major changes are made to the rec
- SQLite 3.32.1+
- MariaDB 10.3+
- MySQL 5.7+
- PostgresSQL 12+
- PostgreSQL 12+
## Custom database engines
@ -246,12 +246,18 @@ SQLite:
MariaDB (omit pymysql):
description: >
`mysql://user:password@SERVER_IP/DB_NAME?charset=utf8mb4`
MariaDB (omit pymysql, using TLS encryption):
description: >
`mysql://user:password@SERVER_IP/DB_NAME?charset=utf8mb4;ssl=true`
MariaDB (omit pymysql, Socket):
description: >
`mysql://user:password@SERVER_IP/DB_NAME?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8mb4`
MySQL:
description: >
`mysql://user:password@SERVER_IP/DB_NAME?charset=utf8mb4`
MySQL (using TLS encryption):
description: >
`mysql://user:password@SERVER_IP/DB_NAME?charset=utf8mb4;ssl=true`
MySQL (Socket):
description: >
`mysql://user:password@localhost/DB_NAME?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8mb4`
@ -340,6 +346,7 @@ Not all Python bindings for the chosen database engine can be installed directly
### MariaDB and MySQL
Make sure the default character set of your database server is set to `utf8mb4` (see [MariaDB documentation](https://mariadb.com/kb/en/setting-character-sets-and-collations/#example-changing-the-default-character-set-to-utf-8)).
If you are in a virtual environment, don't forget to activate it before installing the `mysqlclient` Python package described below.
```bash

View File

@ -16,8 +16,8 @@ ha_domain: renault
ha_platforms:
- binary_sensor
- device_tracker
- select
- sensor
- select
---
The Renault integration offers integration with the **MyRenault** cloud service and provides sensors such as charger state and temperature.
@ -98,4 +98,3 @@ Start charge on vehicle.
| Service data attribute | Required | Description |
| ---------------------- | -------- | ----------- |
| `vehicle`| yes | device_id of the vehicle |

View File

@ -91,7 +91,7 @@ TCP mode allows you to connect to an RFLink device over a TCP/IP network. This i
To expose the USB/serial interface over TCP on a different host (Linux) the following command can be used:
```bash
socat /dev/ttyACM0,b57600 TCP-LISTEN:1234,reuseaddr
socat /dev/ttyACM0,b57600,rawer TCP-LISTEN:1234,reuseaddr
```
Other methods of exposing the serial interface over TCP are possible (eg: ESP8266 or using Arduino Wifi shield). Essentially the serial stream should be directly mapped to the TCP stream.

View File

@ -21,7 +21,7 @@ There is currently support for the following device types within Home Assistant:
- Binary Sensor: Reports on zone or output statuses
- Switch: allows for setting states of selected outputs
- Alarm Control Panel: represents the partition (in Polish: "strefa"). Reports its status, and can be used to arm/disarm the partition
- Alarm Control Panel: represents the zones (in Polish: "strefa"). Reports its status, and can be used to arm/disarm the partition
The module communicates via Satel's open TCP protocol published on their website. It subscribes for new events coming from alarm system and reacts to them immediately.

View File

@ -173,8 +173,9 @@ sensor:
- platform: scrape
resource: https://elen.nu/timpriser-pa-el-for-elomrade-se3-stockholm/
name: Electricity price
select: ".elspot-content"
value_template: '{{ ((value.split(" ")[0]) | replace (",", ".")) }}'
select: ".text-lg:is(span)"
index: 1
value_template: '{{ value | replace (",", ".") | float }}'
unit_of_measurement: "öre/kWh"
```

View File

@ -14,7 +14,7 @@ The `seventeentrack` sensor platform allows users to get package data tied to th
<div class='note warning'>
Although the 17track.net website states that account passwords cannot be longer than 16 characters, users can technically set long-than-16-character passwords. These passwords **will not** work with the used API. Therefore, please ensure that your 17track.net password does not exceed 16 characters.
Although the 17track.net website states that account passwords cannot be longer than 16 characters, users can technically set longer-than-16-character passwords. These passwords **will not** work with the used API. Therefore, please ensure that your 17track.net password does not exceed 16 characters.
</div>
@ -55,7 +55,7 @@ show_delivered:
### Lovelace summary card
Use the following templated Markdown card to list all packages in transit along their status:
Use the following templated Markdown card to list all packages in transit along with their status:
{% raw %}

View File

@ -22,7 +22,7 @@ The integration uses the web interface of the device. Before you start, make sur
## Sensors
The SMA WebConnect module supports a wide variety of sensors, but not all of these have been mapped in the `pysma` library. Currently available sensors can be found below. Feel free to submit additional sensors to be added as standard sensors to the [pysma library](https://github.com/rklomp/pysma/blob/dev/pysma/definitions.py).
The SMA WebConnect module supports a wide variety of sensors, but not all of these have been mapped in the `pysma` library. Currently available sensors can be found below. Feel free to submit additional sensors to be added as standard sensors to the [pysma library](https://github.com/rklomp/pysma/blob/master/pysma/definitions.py).
### Solar Inverter

View File

@ -63,7 +63,7 @@ The PAT is used to create a Home Assistant SmartApp in your SmartThings account
This integration requires an internet accessible incoming webhook to receive push updates from SmartThings. The preferred approach is to subscribe to [Home Assistant Cloud (Nabu Casa)](https://www.nabucasa.com/) and the integration will configure and use a cloudhook automatically. Alternatively, you will have to configure and setup an internet accessible webhook in Home Assistant as described below:
1. Setup [remote access](/docs/configuration/remote/) via a domain name secured with SSL. *Self-signed SSL certificates are not supported by the SmartThings Cloud API.*
1. Set the external URL in the Home Assistant [configuration](/docs/configuration/basic) to the URL that Home Assistant is available on the internet (this must start with `https://`).
1. Set the external URL in the Home Assistant [configuration](/docs/configuration/basic) to the URL that Home Assistant is available on the internet (this must start with `https://`). This must be port 443. If you do not use Nabu Casa you must configure your network to allow TCP traffic from the internet on port 443 to reach the IP address of the device running Home Assistant.
## Setup instructions

View File

@ -3,6 +3,7 @@ title: SolarEdge
description: Instructions on how to integrate SolarEdge sensor within Home Assistant.
ha_category:
- Sensor
- Energy
ha_release: 0.85
ha_iot_class: Cloud Polling
ha_config_flow: true

View File

@ -14,8 +14,8 @@ ha_domain: surepetcare
ha_config_flow: true
ha_platforms:
- binary_sensor
- sensor
- lock
- sensor
---
The `surepetcare` component allows you to get information on your Sure Petcare Connect Pet or Cat Flap.

View File

@ -1,6 +1,6 @@
---
title: SwitchBot
description: Instructions on how to set up SwitchBot switches.
description: Instructions on how to set up SwitchBot Devices.
ha_category:
- Cover
- Switch
@ -11,12 +11,28 @@ ha_codeowners:
- '@RenierM26'
ha_domain: switchbot
ha_platforms:
- binary_sensor
- cover
- sensor
- switch
ha_config_flow: true
---
The SwitchBot integration allows you to control SwitchBot [devices](https://www.switch-bot.com/).
## Prerequisites
In order to use this integration, it is required to have working Bluetooth set up on the device running Home Assistant. A [SwitchBot Hub](https://www.switch-bot.com/search?type=product&q=hub) is not required for this integration.
In order to set up this integration, you need to get the BTLE MAC address of your device. You can find the address for your device using the following steps:
1. Open the SwitchBot app.
2. Open device settings.
3. Click on "Device Info".
4. Write down the BLTE MAC address of your device.
Please note, device names configured in the SwitchBot app are not transferred into Home Assistant.
{% include integrations/config_flow.md %}
## SwitchBot Entity
@ -26,3 +42,12 @@ There are three attributes available on the SwitchBot entity to give you more in
- `last_run_success`: If `true` if the last action sent to the SwitchBot succeeded. This attribute is useful for error trapping when Bluetooth connectivity is intermittent. If `false`, see home-assistant.log for specific error messages.
- `Switch mode`: Specifies the mode of the SwitchBot. If `true` the the SwitchBot is in Pull/Retract mode for toggle switches otherwise the bot is in momentary switch mode.
- `MAC address`: The BTLE MAC for the device.
### Error codes and troubleshooting
{% configuration_basic %}
"Config flow could not be loaded":
description: Possible custom integration conflict, using a different version of PySwitchbot; Try uninstalling the custom integration.
"No unconfigured devices found":
description: Make sure your devices are powered on and are in range.
{% endconfiguration_basic %}

View File

@ -19,4 +19,4 @@ system_health:
System Health integration data can be viewed at **Configuration** -> **Info**.
Data includes information about your system architecture, operating system and version, Home Assistant installation type and version, Python version, frontend version, the number of [Lovelace Dashboards and Views](/lovelace/dashboards-and-views/) you have, and more.
Data includes information about your system architecture, operating system and version, Home Assistant installation type and version, Python version, frontend version, the number of Lovelace [Dashboards](/lovelace/dashboards/) and [Views](/lovelace/views/) you have, and more.

View File

@ -71,7 +71,7 @@ monitored_users:
required: false
type: list
monitored_conditions:
description: A list of attributes to expose for each Tautulli user you monitor, every key in the `session` [section here][tautulliapi] can be used.
description: A list of attributes to expose for each Tautulli user you monitor, every key in the `session` [section here](https://github.com/Tautulli/Tautulli/wiki/Tautulli-API-Reference#get_activity) can be used.
required: false
type: list
{% endconfiguration %}
@ -93,4 +93,3 @@ sensor:
```
[tautulli]: https://tautulli.com
[tautulliapi]: https://github.com/Tautulli/Tautulli/wiki/Tautulli-API-Reference#get_activity

View File

@ -22,7 +22,7 @@ The requirements are:
**Method 1:** You can get your `chat_id` by sending any message to the [GetIDs bot](https://t.me/getidsbot).
**Method 2:** To retrieve your `chat_id` you can visit `https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` or to use `$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` **after** you have sent the bot a message. Replace `YOUR_API_TOKEN` with your actual token.
**Method 2:** To retrieve your `chat_id` you can visit `https://api.telegram.org/bot<YOUR_API_TOKEN>/getUpdates` or to use `$ curl -X GET https://api.telegram.org/bot<YOUR_API_TOKEN>/getUpdates` **after** you have sent the bot a message. Replace `<YOUR_API_TOKEN>` with your actual token.
The result set will include your chat ID as `id` in the `chat` section:

View File

@ -8,9 +8,9 @@ ha_release: 0.12
ha_iot_class: Local Push
ha_quality_scale: internal
ha_codeowners:
- '@home-assistant/core'
- '@PhracturedBlue'
- '@tetienne'
- '@home-assistant/core'
ha_domain: template
ha_platforms:
- alarm_control_panel
@ -20,7 +20,6 @@ ha_platforms:
- light
- lock
- number
- select
- sensor
- select
- switch
@ -62,7 +61,7 @@ template:
{% set bedroom = states('sensor.bedroom_temperature') | float %}
{% set kitchen = states('sensor.kitchen_temperature') | float %}
{{ ((bedroom + kitchen) / 2) | round(1) }}
{{ ((bedroom + kitchen) / 2) | round(1, default=0) }}
```
{% endraw %}
@ -87,8 +86,8 @@ template:
minutes: 0
sensor:
# Keep track how many days have past since a date
- name: Not smoking
state: '{{ ( ( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round }}'
- name: "Not smoking"
state: '{{ ( ( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round(default=0) }}'
unit_of_measurement: "Days"
```

View File

@ -16,7 +16,7 @@ This platform allows you to connect to your [Todoist Projects](https://todoist.c
### Prerequisites
You need to determine your Todoist API token. This is fairly simple to do; just go [to the Integrations section on your Todoist settings page](https://todoist.com/Users/viewPrefs?page=authorizations) and find the section labeled "API token" at the bottom of the page. Copy that token and use it in your configuration file.
You need to determine your Todoist API token. This is fairly simple to do; just go [to the Integrations section on your Todoist settings page](https://todoist.com/app/settings/integrations) and find the section labeled "API token" at the bottom of the page. Copy that token and use it in your configuration file.
### Basic Setup

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