mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-14 12:56:54 +00:00
Merge remote-tracking branch 'origin' into next
This commit is contained in:
commit
73b7851ab8
10
.github/workflows/lock.yml
vendored
10
.github/workflows/lock.yml
vendored
@ -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: ""
|
||||
|
4
.github/workflows/test.yml
vendored
4
.github/workflows/test.yml
vendored
@ -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:
|
||||
|
22
CODEOWNERS
22
CODEOWNERS
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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.
|
||||
|
9679
package-lock.json
generated
9679
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -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"
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
```
|
||||
|
@ -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 %}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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'>
|
||||
|
||||
|
@ -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
|
||||
```
|
||||
|
||||
|
@ -13,4 +13,3 @@ logger:
|
||||
logs:
|
||||
homeassistant.components.mqtt: debug
|
||||
```
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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/).
|
||||
|
@ -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:
|
||||
|
||||
|
66
source/_includes/common-tasks/data_disk.md
Normal file
66
source/_includes/common-tasks/data_disk.md
Normal 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.
|
||||
|
||||

|
||||
|
||||
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".
|
||||
|
||||

|
||||
|
||||
### 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>
|
@ -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.
|
||||
|
@ -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`)
|
||||
|
@ -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"
|
||||

|
||||

|
||||
|
||||
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"
|
||||

|
||||

|
||||
6. Balena Etcher will now download the image, when that is done click "Select target"
|
||||

|
||||

|
||||
7. Select the {{site.installation.types[page.installation_type].installation_media}} you want to use for your {{site.installation.types[page.installation_type].board}}
|
||||

|
||||

|
||||
8. Click on "Flash!" to start writing the image
|
||||

|
||||

|
||||
9. When Balena Etcher is finished writing the image you will get this confirmation
|
||||

|
||||

|
||||
|
||||
### Start up your {{site.installation.types[page.installation_type].board}}
|
||||
|
||||
|
@ -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 %}
|
||||
|
@ -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
|
||||
---
|
||||
|
||||
|
@ -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:
|
||||
|
||||
|
@ -13,17 +13,17 @@ ha_platforms:
|
||||
- sensor
|
||||
---
|
||||
|
||||
This implements a direct RS485 connection to a solar inverter in the
|
||||
This implements a direct RS485 connection to a solar inverter in the
|
||||
PVI-3.0/3.6/4.2-TL-OUTD ABB series, and may work on others.
|
||||
The inverter was formerly made by PowerOne who got taken over by ABB.
|
||||
|
||||
The TCP/IP method of communicating with inverters is supported by the
|
||||
The TCP/IP method of communicating with inverters is supported by the
|
||||
Python library, but not by this implementation in this integration.
|
||||
|
||||
This integration provides a single sensor which reports the live power output
|
||||
in watts.
|
||||
|
||||
Note the PV inverter will be unresponsive to communications when in darkness,
|
||||
Note the PV inverter will be unresponsive to communications when in darkness,
|
||||
so the value 'unknown' will be displayed during the night.
|
||||
|
||||
## Configuration
|
||||
@ -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:
|
||||
|
@ -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).
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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/).
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -3,14 +3,15 @@ title: Crownstone
|
||||
description: Instructions on how to setup the Crownstone integration within Home Assistant.
|
||||
ha_category:
|
||||
- Light
|
||||
ha_iot_class: Cloud Push
|
||||
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.
|
||||
|
@ -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 |
|
||||
| ---------------------- | -------- | --------------------------------------------------------------------------- |
|
||||
|
@ -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>
|
||||
|
||||
|
@ -10,7 +10,6 @@ ha_codeowners:
|
||||
- '@StevenLooman'
|
||||
- '@chishm'
|
||||
ha_domain: dlna_dmr
|
||||
ha_ssdp: true
|
||||
ha_platforms:
|
||||
- media_player
|
||||
---
|
||||
|
@ -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
|
||||
|
@ -37,7 +37,7 @@ host:
|
||||
required: true
|
||||
type: string
|
||||
monitored_conditions:
|
||||
description: The cartridge colours to monitor.
|
||||
description: The cartridge colours to monitor.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
@ -50,14 +50,14 @@ monitored_conditions:
|
||||
magenta:
|
||||
description: The magenta (=red) ink cartridge.
|
||||
cyan:
|
||||
description: The cyan (=blue) ink cartridge.
|
||||
description: The cyan (=blue) ink cartridge.
|
||||
clean:
|
||||
description: The cleaning cartridge.
|
||||
description: The cleaning cartridge.
|
||||
{% endconfiguration %}
|
||||
|
||||
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`
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -141,4 +141,3 @@ sensor:
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
|
@ -10,6 +10,7 @@ ha_codeowners:
|
||||
- '@cnico'
|
||||
ha_domain: flipr
|
||||
ha_platforms:
|
||||
- binary_sensor
|
||||
- sensor
|
||||
---
|
||||
|
||||
|
@ -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)).
|
||||
|
@ -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: ..."
|
||||
|
||||
```
|
||||
|
@ -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
|
||||
|
@ -10,6 +10,7 @@ ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: group
|
||||
ha_platforms:
|
||||
- binary_sensor
|
||||
- cover
|
||||
- light
|
||||
- media_player
|
||||
|
@ -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 %}
|
||||
|
@ -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 |
|
||||
| ---------------------- | -------- | ---------------------------------------------- |
|
||||
|
@ -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.
|
||||
|
@ -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:
|
||||
|
@ -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 %}
|
||||
|
@ -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.
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
---
|
||||
title: LaMetric
|
||||
description: Instructions on how to integrate LaMetric with Home Assistant.
|
||||
logo: lametric.png
|
||||
ha_category:
|
||||
- Hub
|
||||
- Notifications
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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: ""
|
||||
```
|
||||
|
@ -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
|
||||
|
@ -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`
|
||||
|
@ -71,11 +71,16 @@ 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
|
||||
|
||||
A full configuration sample including optional variables:
|
||||
|
@ -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/).
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
||||

|
||||
|
||||
|
@ -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/)**.
|
||||

|
||||
|
||||
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**.
|
||||

|
||||
|
||||
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.
|
||||

|
||||
|
||||
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**.
|
||||

|
||||
|
||||
1. Enable Events by clicking on **Enable** and **Create project**.
|
||||

|
||||
|
||||
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.
|
||||

|
||||
|
||||
{% 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*.
|
||||

|
||||
|
||||
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`.
|
||||

|
||||
|
||||
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!
|
||||

|
||||
|
||||
{% 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`).
|
||||
|
||||
- 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.
|
||||
|
||||

|
||||
|
||||
{% 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 %}
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -18,4 +18,3 @@ The `opengarage` cover platform lets you control the open-source [OpenGarage.io]
|
||||
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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 |
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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"
|
||||
```
|
||||
|
||||
|
@ -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 %}
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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 %}
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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"
|
||||
```
|
||||
|
||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user