mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-24 01:37:23 +00:00
Merge pull request #15451 from home-assistant/rc
This commit is contained in:
commit
50f003a26f
21
CODEOWNERS
21
CODEOWNERS
@ -12,6 +12,7 @@ source/_integrations/abode.markdown @shred86
|
||||
source/_integrations/accuweather.markdown @bieniu
|
||||
source/_integrations/acmeda.markdown @atmurray
|
||||
source/_integrations/adguard.markdown @frenck
|
||||
source/_integrations/advantage_air.markdown @Bre77
|
||||
source/_integrations/agent_dvr.markdown @ispysoftware
|
||||
source/_integrations/airly.markdown @bieniu
|
||||
source/_integrations/airvisual.markdown @bachya
|
||||
@ -55,7 +56,6 @@ source/_integrations/blebox.markdown @gadgetmobile
|
||||
source/_integrations/blink.markdown @fronzbot
|
||||
source/_integrations/bmp280.markdown @belidzs
|
||||
source/_integrations/bmw_connected_drive.markdown @gerard33 @rikroe
|
||||
source/_integrations/bom.markdown @maddenp
|
||||
source/_integrations/bond.markdown @prystupa
|
||||
source/_integrations/braviatv.markdown @bieniu
|
||||
source/_integrations/broadlink.markdown @danielhiversen @felipediel
|
||||
@ -71,7 +71,7 @@ source/_integrations/cisco_ios.markdown @fbradyirl
|
||||
source/_integrations/cisco_mobility_express.markdown @fbradyirl
|
||||
source/_integrations/cisco_webex_teams.markdown @fbradyirl
|
||||
source/_integrations/cloud.markdown @home-assistant/cloud
|
||||
source/_integrations/cloudflare.markdown @ludeeus
|
||||
source/_integrations/cloudflare.markdown @ludeeus @ctalkington
|
||||
source/_integrations/comfoconnect.markdown @michaelarnauts
|
||||
source/_integrations/config.markdown @home-assistant/core
|
||||
source/_integrations/configurator.markdown @home-assistant/core
|
||||
@ -156,8 +156,8 @@ source/_integrations/goalzero.markdown @tkdrob
|
||||
source/_integrations/gogogate2.markdown @vangorra
|
||||
source/_integrations/google_assistant.markdown @home-assistant/cloud
|
||||
source/_integrations/google_cloud.markdown @lufton
|
||||
source/_integrations/google_translate.markdown @awarecan
|
||||
source/_integrations/gpsd.markdown @fabaff
|
||||
source/_integrations/gree.markdown @cmroche
|
||||
source/_integrations/greeneye_monitor.markdown @jkeljo
|
||||
source/_integrations/griddy.markdown @bdraco
|
||||
source/_integrations/group.markdown @home-assistant/core
|
||||
@ -268,7 +268,7 @@ source/_integrations/neato.markdown @dshokouhi @Santobert
|
||||
source/_integrations/nederlandse_spoorwegen.markdown @YarmoM
|
||||
source/_integrations/nello.markdown @pschmitt
|
||||
source/_integrations/ness_alarm.markdown @nickw444
|
||||
source/_integrations/nest.markdown @awarecan
|
||||
source/_integrations/nest.markdown @awarecan @allenporter
|
||||
source/_integrations/netatmo.markdown @cgtobi
|
||||
source/_integrations/netdata.markdown @fabaff
|
||||
source/_integrations/nexia.markdown @ryannazaretian @bdraco
|
||||
@ -296,7 +296,7 @@ source/_integrations/ohmconnect.markdown @robbiet480
|
||||
source/_integrations/ombi.markdown @larssont
|
||||
source/_integrations/omnilogic.markdown @oliver84 @djtimca @gentoosu
|
||||
source/_integrations/onboarding.markdown @home-assistant/core
|
||||
source/_integrations/onewire.markdown @garbled1
|
||||
source/_integrations/onewire.markdown @garbled1 @epenet
|
||||
source/_integrations/onvif.markdown @hunterjm
|
||||
source/_integrations/openerz.markdown @misialq
|
||||
source/_integrations/opengarage.markdown @danielhiversen
|
||||
@ -308,7 +308,6 @@ source/_integrations/orangepi_gpio.markdown @pascallj
|
||||
source/_integrations/oru.markdown @bvlaicu
|
||||
source/_integrations/ovo_energy.markdown @timmo001
|
||||
source/_integrations/ozw.markdown @cgarwood @marcelveldt @MartinHjelmare
|
||||
source/_integrations/panasonic_viera.markdown @joogps
|
||||
source/_integrations/panel_custom.markdown @home-assistant/frontend
|
||||
source/_integrations/panel_iframe.markdown @home-assistant/frontend
|
||||
source/_integrations/pcal9535a.markdown @Shulyaka
|
||||
@ -325,6 +324,7 @@ source/_integrations/plum_lightpad.markdown @ColinHarrington @prystupa
|
||||
source/_integrations/point.markdown @fredrike
|
||||
source/_integrations/poolsense.markdown @haemishkyd
|
||||
source/_integrations/powerwall.markdown @bdraco @jrester
|
||||
source/_integrations/profiler.markdown @bdraco
|
||||
source/_integrations/progettihwsw.markdown @ardaseremet
|
||||
source/_integrations/prometheus.markdown @knyar
|
||||
source/_integrations/proxmoxve.markdown @k4ds3 @jhollowe
|
||||
@ -346,7 +346,7 @@ source/_integrations/rainmachine.markdown @bachya
|
||||
source/_integrations/random.markdown @fabaff
|
||||
source/_integrations/rejseplanen.markdown @DarkFox
|
||||
source/_integrations/repetier.markdown @MTrab
|
||||
source/_integrations/rfxtrx.markdown @danielhiversen @elupus
|
||||
source/_integrations/rfxtrx.markdown @danielhiversen @elupus @RobBie1221
|
||||
source/_integrations/ring.markdown @balloob
|
||||
source/_integrations/risco.markdown @OnFreund
|
||||
source/_integrations/rmvtransport.markdown @cgtobi
|
||||
@ -354,6 +354,7 @@ source/_integrations/roku.markdown @ctalkington
|
||||
source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn
|
||||
source/_integrations/roon.markdown @pavoni
|
||||
source/_integrations/rpi_power.markdown @shenxn @swetoast
|
||||
source/_integrations/ruckus_unleashed.markdown @gabe565
|
||||
source/_integrations/safe_mode.markdown @home-assistant/core
|
||||
source/_integrations/saj.markdown @fredericvl
|
||||
source/_integrations/salt.markdown @bjornorri
|
||||
@ -427,6 +428,7 @@ source/_integrations/tado.markdown @michaelarnauts @bdraco
|
||||
source/_integrations/tag.markdown @balloob @dmulcahey
|
||||
source/_integrations/tahoma.markdown @philklei
|
||||
source/_integrations/tankerkoenig.markdown @guillempages
|
||||
source/_integrations/tasmota.markdown @emontnemery
|
||||
source/_integrations/tautulli.markdown @ludeeus
|
||||
source/_integrations/tellduslive.markdown @fredrike
|
||||
source/_integrations/template.markdown @PhracturedBlue @tetienne
|
||||
@ -441,7 +443,7 @@ source/_integrations/tmb.markdown @alemuro
|
||||
source/_integrations/todoist.markdown @boralyl
|
||||
source/_integrations/toon.markdown @frenck
|
||||
source/_integrations/totalconnect.markdown @austinmroczek
|
||||
source/_integrations/tplink.markdown @rytilahti
|
||||
source/_integrations/tplink.markdown @rytilahti @thegardenmonkey
|
||||
source/_integrations/traccar.markdown @ludeeus
|
||||
source/_integrations/tradfri.markdown @ggravlingen
|
||||
source/_integrations/trafikverket_train.markdown @endor-force
|
||||
@ -486,6 +488,7 @@ source/_integrations/wled.markdown @frenck
|
||||
source/_integrations/wolflink.markdown @adamkrol93
|
||||
source/_integrations/workday.markdown @fabaff
|
||||
source/_integrations/worldclock.markdown @fabaff
|
||||
source/_integrations/xbox.markdown @hunterjm
|
||||
source/_integrations/xbox_live.markdown @MartinHjelmare
|
||||
source/_integrations/xiaomi_aqara.markdown @danielhiversen @syssi
|
||||
source/_integrations/xiaomi_miio.markdown @rytilahti @syssi @starkillerOG
|
||||
@ -497,7 +500,7 @@ source/_integrations/yeelight.markdown @rytilahti @zewelor @shenxn
|
||||
source/_integrations/yeelightsunflower.markdown @lindsaymarkward
|
||||
source/_integrations/yessssms.markdown @flowolf
|
||||
source/_integrations/yi.markdown @bachya
|
||||
source/_integrations/zeroconf.markdown @Kane610
|
||||
source/_integrations/zeroconf.markdown @bdraco
|
||||
source/_integrations/zerproc.markdown @emlove
|
||||
source/_integrations/zha.markdown @dmulcahey @adminiuga
|
||||
source/_integrations/zodiac.markdown @JulienTant
|
||||
|
@ -99,9 +99,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 116
|
||||
current_patch_version: 4
|
||||
date_released: 2020-10-15
|
||||
current_minor_version: 117
|
||||
current_patch_version: 0
|
||||
date_released: 2020-10-28
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
@ -13,7 +13,7 @@ The following sections introduce all trigger types and further details to get st
|
||||
|
||||
### Event trigger
|
||||
|
||||
Fires when an event is being received. Events are the raw building blocks of Home Assistant. You can match events on just the event name or also require specific event data to be present.
|
||||
Fires when an event is being received. Events are the raw building blocks of Home Assistant. You can match events on just the event name or also require specific event data or context to be present.
|
||||
|
||||
Events can be fired by integrations or via the API. There is no limitation to the types. A list of built-in events can be found [here](/docs/configuration/events/).
|
||||
|
||||
@ -25,6 +25,11 @@ automation:
|
||||
# optional
|
||||
event_data:
|
||||
mood: happy
|
||||
context:
|
||||
user_id:
|
||||
# any of these will match
|
||||
- MY_USER_ID
|
||||
- ANOTHER_USER_ID
|
||||
```
|
||||
|
||||
### Home Assistant trigger
|
||||
|
@ -25,6 +25,7 @@ homeassistant:
|
||||
media_dirs:
|
||||
media: /media
|
||||
recordings: /mnt/recordings
|
||||
legacy_templates: false
|
||||
```
|
||||
|
||||
NOTE: You will not be able to edit anything in Configuration -> General in the UI if you are using YAML configuration for any of the following: name, latitude, longitude, elevation, unit_system, temperature_unit, time_zone, external_url, internal_url.
|
||||
@ -90,6 +91,11 @@ media_dirs:
|
||||
description: A mapping of local media sources and their paths on disk.
|
||||
required: false
|
||||
type: map
|
||||
legacy_templates:
|
||||
description: Enable this option to restore pre-0.117 template rendering. Which renders all templates to string, instead of native types.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
||||
## Reload Core Service
|
||||
|
@ -174,8 +174,10 @@ The same thing can also be expressed as a filter:
|
||||
|
||||
- `now()` returns a datetime object that represents the current time in your time zone.
|
||||
- You can also use: `now().second`, `now().minute`, `now().hour`, `now().day`, `now().month`, `now().year`, `now().weekday()` and `now().isoweekday()` and other [`datetime`](https://docs.python.org/3.8/library/datetime.html#datetime.datetime) attributes and functions.
|
||||
- Using `now()` will cause templates to be refreshed at the start of every new minute.
|
||||
- `utcnow()` returns a datetime object of the current time in the UTC timezone.
|
||||
- For specific values: `utcnow().second`, `utcnow().minute`, `utcnow().hour`, `utcnow().day`, `utcnow().month`, `utcnow().year`, `utcnow().weekday()` and `utcnow().isoweekday()`.
|
||||
- Using `utcnow()` will cause templates to be refreshed at the start of every new minute.
|
||||
- `as_timestamp()` converts datetime object or string to UNIX timestamp. This function also be used as a filter.
|
||||
- `as_local()` converts datetime object to local time. This function also be used as a filter.
|
||||
- `strptime(string, format)` parses a string based on a [format](https://docs.python.org/3.8/library/datetime.html#strftime-and-strptime-behavior) and returns a datetime object.
|
||||
@ -460,10 +462,6 @@ To evaluate a response, go to **Developer Tools** -> **Template**, create your o
|
||||
|
||||
If your template uses an `entity_id` that begins with a number (example: `states.device_tracker.2008_gmc`) you must use a bracket syntax to avoid errors caused by rendering the `entity_id` improperly. In the example given, the correct syntax for the device tracker would be: `states.device_tracker['2008_gmc']`
|
||||
|
||||
### Templates without entities using `now()`
|
||||
|
||||
Note that templates that depend on time (`now()`) and do not use any entities will not be updated as it only happens on entity state changes. For more information and examples refer to [`template` sensor documentation](/integrations/template/#working-without-entities)
|
||||
|
||||
### Priority of operators
|
||||
|
||||
The default priority of operators is that the filter (`|`) has priority over everything except brackets. This means that:
|
||||
|
124
source/_docs/tools/quick-bar.markdown
Normal file
124
source/_docs/tools/quick-bar.markdown
Normal file
@ -0,0 +1,124 @@
|
||||
---
|
||||
title: "Quick Bar"
|
||||
description: "Dialog for quickly accessing entities or running commands."
|
||||
---
|
||||
|
||||
The "Quick Bar" allows you to quickly look up entities or run commands without needing to navigate away from your current view (Similar to the "quick open" feature in VS Code, Chrome Developer Tools, etc).
|
||||
|
||||
It can be launched from anywhere in the frontend using [hotkeys](#hotkeys).
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/docs/quick-bar/quick-bar-demo.gif' alt='Quick Bar'>
|
||||
Quick Bar for accessing entities and running commands
|
||||
</p>
|
||||
|
||||
## Hotkeys
|
||||
|
||||
Type these from anywhere in the application to launch the dialog.
|
||||
|
||||
| Mode | Hotkey | Switch Modes
|
||||
| ------------- | ------------- | ------------- |
|
||||
| Entity Filter | `e` | Type `>` at start of input to switch to command palette.
|
||||
| Command Palette| `c` | Remove `>` from start of input to switch to entity filter.
|
||||
|
||||
<div class='note'>
|
||||
The application must have focus for the hotkey to register. If the dialog doesn't launch, try clicking into an empty part of the main content area of Home Assistant and type it again.
|
||||
</div>
|
||||
|
||||
## Entity Filter
|
||||
|
||||
*Hotkey: `e`*
|
||||
|
||||
Similar to Configuration -> Entities, but more lightweight and accessible from anywhere in the frontend.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/docs/quick-bar/quick-bar-entity-filter.gif' alt='Quick Bar'>
|
||||
Filter for entities in Quick Bar's entity filter mode
|
||||
</p>
|
||||
|
||||
Once launched, start typing your entity id (or ["bits and pieces" of your entity id](#search-by-bits-and-pieces-rather-than-complete-substring)) to get back a filtered list of entities. Clicking on an entity (or hitting `enter` when the desired entity is highlighted) will open the "More Info" dialog for that entity.
|
||||
|
||||
This is helpful when, say, you are in the middle of writing an automation and need some quick insight about an entity but don't want to navigate away to Developer Tools.
|
||||
|
||||
## Command Palette
|
||||
|
||||
*Hotkey: `c`*
|
||||
|
||||
Run various commands from anywhere without having to navigate to another view.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/docs/quick-bar/quick-bar-command-mode.gif' alt='Quick Bar'>
|
||||
Run commands in Quick Bar's "command palette"
|
||||
</p>
|
||||
|
||||
### Currently-supported commands
|
||||
|
||||
Type | Available |
|
||||
| ------------- | ------------- |
|
||||
| Reload | All currently-supported "Reload {domain}" services.<br />*(E.g., "Reload Scripts")* |
|
||||
| Server | Restart/Stop |
|
||||
|
||||
## Disabling Shortcuts
|
||||
|
||||
You can enable or disable all of Home Assistant's keyboard shortcuts by going to your User Profile and clicking the "Keyboard Shortcuts" toggle button.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/docs/quick-bar/disable-shortcuts-toggle.png' alt='Toggle for enabling or disabling keyboard shortcuts'>
|
||||
Toggle button for enabling/disabling keyboard shortcuts added by Home Assistant.
|
||||
</p>
|
||||
|
||||
## Tips
|
||||
|
||||
### Search by "bits and pieces" rather than an exact substring
|
||||
|
||||
We know something like "**light.ch**" should match "**light.ch**andelier". Similarly, "**telev**" should match "media_player.**telev**ision".
|
||||
|
||||
But with Quick Bar, "**lich**" would also match "**li**ght.**ch**andelier", and "**plyrtv**" would also match "media_**pl**a**y**e**r**.**t**ele**v**ision". It checks letter *sequences* rather than exact substrings.
|
||||
|
||||
One nice use-case for this is that you can quickly filter out an entire domain of entities with just a couple letters and a period. For example, "**li.**" will match any "**light.***" entities. Continuing with "li.ch" would bring up the chandelier right away.
|
||||
|
||||
### Filters work against friendly name too
|
||||
|
||||
If "light.hue_ceiling_light" has been named "Chandelier", you can type either "hue_ceil" or "chand" to find it.
|
||||
|
||||
### Use the enter key any time to open the top result in the list
|
||||
|
||||
As soon as the item you wanted shows up at the top of your filtered results, just hit "enter" to activate it -- no need to arrow down to the item, or click with your mouse.
|
||||
|
||||
### Use arrow keys to move around the list
|
||||
|
||||
When in the text field, use the down arrow `↓` to navigate down the item list. Hit `enter` to activate the currently-highlighted row.
|
||||
|
||||
When in the item list, use the up arrow `↑` to navigate up the item list, and to get back into the text field.
|
||||
|
||||
### Typing more letters will always add to your filter string
|
||||
|
||||
Say you've just used arrow keys to navigate half-way down the list, and want to add more text to your filter. You don't need to click back into the text field, just start typing new letters and they'll append to your filter.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Dialog doesn't launch using hotkeys
|
||||
|
||||
There are a few possible reasons why the quick bar dialog won't launch:
|
||||
|
||||
1. Your user is not an admin.
|
||||
2. The application lost focus. Try clicking into the main content area of the application and typing the shortcut again.
|
||||
3. You have disabled Keyboard Shortcuts in your User Profile settings.
|
||||
4. Shortcut is marked by browser as non-overridable. Firefox does this with some shortcuts, for example. But this shouldn't be a problem with single-key shortcuts currently used by the Quick Bar.
|
||||
5. Some other application or browser extension is using or overriding the shortcut. Try disabling the extension.
|
||||
|
||||
### A command is missing
|
||||
|
||||
The command list only shows commands that are available to you based on your user settings, and loaded integrations.
|
||||
|
||||
For example, if you don't have `automations:` in your config, then you won't see the "Reload Automations" command.
|
||||
|
||||
If "Advanced Mode" is turned off in User Settings, then any command related to advanced mode will not appear in the list.
|
||||
|
||||
If a command is missing that you feel is in error, please create an issue on GitHub.
|
||||
|
||||
### Shortcuts interfere with accessibility tools, browser extensions, or are otherwise annoying
|
||||
|
||||
You can [disable shortcuts](#disabling-shortcuts) in your User settings.
|
||||
|
||||
Please consider submitting an issue explaining why the shortcut was disruptive to you. Keyboard shortcuts are new to Home Assistant, and getting them right is a challenge for any Web application. We rely on user feedback to ensure the experience is minimally-disruptive.
|
@ -131,6 +131,7 @@
|
||||
<b>{% active_link /docs/tools/ Tools and Helpers %}</b>
|
||||
<ul>
|
||||
<li>{% active_link /docs/tools/dev-tools/ Developer Tools %}</li>
|
||||
<li>{% active_link /docs/tools/quick-bar/ Quick Bar %}</li>
|
||||
<li>{% active_link /docs/tools/hass/ hass %}</li>
|
||||
<li>{% active_link /docs/tools/benchmark/ benchmark %}</li>
|
||||
<li>{% active_link /docs/tools/check_config/ check_config %}</li>
|
||||
|
62
source/_integrations/advantage_air.markdown
Normal file
62
source/_integrations/advantage_air.markdown
Normal file
@ -0,0 +1,62 @@
|
||||
---
|
||||
title: Advantage Air
|
||||
description: Instructions on how to integrate Advantage Air A/C controller into Home Assistant.
|
||||
ha_category: Climate
|
||||
ha_release: 0.117
|
||||
ha_iot_class: Local Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@Bre77'
|
||||
ha_domain: advantage_air
|
||||
ha_quality_scale: platinum
|
||||
---
|
||||
|
||||
The Advantage Air integration allows you to control [Advantage Air](https://www.advantageair.com.au/) Air Conditioning controllers into Home Assistant.
|
||||
|
||||
## Configuration
|
||||
|
||||
The wall-mounted Android table running the [MyPlace](https://play.google.com/store/apps/details?id=com.air.advantage.myair5), [e-zone](https://play.google.com/store/apps/details?id=com.air.advantage.ezone), or [zone10e](https://play.google.com/store/apps/details?id=com.air.advantage.zone10) must have a static IP, which you will enter on the integrations page in Home Assistant.
|
||||
|
||||
Menu: **Configuration** -> **Integrations**.
|
||||
|
||||
Click on the `+` sign to add an integration and click on **Advantage Air** (use typeahead if necessary).
|
||||
Enter the IP address, and leave the port as the default value.
|
||||
After completing the configuration flow, the Advantage Air integration will dynamically add relevant entities for each Air Conditioning system and controlled zones.
|
||||
|
||||
## Entities
|
||||
|
||||
### Climate
|
||||
|
||||
The integration will create a climate entity for each air conditioning system found and for each zone that is temperature-controlled.
|
||||
|
||||
### Cover
|
||||
|
||||
The integration will create a cover entity for each zone that is not temperature controlled, allowing you to adjust the opening level manually from 0% to 100% in 5% increments.
|
||||
|
||||
### Sensor
|
||||
|
||||
The integration will create sensor entities for a variety of aspects:
|
||||
|
||||
- The air filter sensor shows if it needs to be replaced.
|
||||
- Two sensor entities will be created for the 'time to on' and 'time to off' features. Use the `advantage_air.set_time_to` service to change these.
|
||||
- Each zone that is temperature-controlled will have a sensor to show how open the damper is.
|
||||
- Each zone with a wireless temperature or motion sensor will have a sensor that reports its wireless RSSI.
|
||||
|
||||
### Binary Sensor
|
||||
|
||||
The `advantage_air` binary sensor platform will create a binary sensor for each zone that has a motion sensor.
|
||||
|
||||
### Switch
|
||||
|
||||
The `advantage_air` switch platform will create a switch entity to toggle fresh air mode, if it is supported.
|
||||
|
||||
## Services
|
||||
|
||||
### Service `advantage_air.set_time_to`
|
||||
|
||||
Set the On/Off Timer using the relevant sensor entity.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | `sensor.[name]_time_to_on` or `sensor.[name]_time_to_off`
|
||||
| `minutes` | no | Number of minutes between `0` and `720`.
|
@ -2,7 +2,7 @@
|
||||
title: Air Quality
|
||||
description: Instructions on how to add air quality sensors with Home Assistant
|
||||
ha_release: 0.85
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_domain: air_quality
|
||||
---
|
||||
|
||||
|
@ -6,7 +6,7 @@ ha_category:
|
||||
ha_release: 0.7.3
|
||||
ha_quality_scale: internal
|
||||
ha_domain: alarm_control_panel
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
Home Assistant can give you an interface which is similar to a classic alarm system.
|
||||
|
@ -77,7 +77,7 @@ panels:
|
||||
required: false
|
||||
type: string
|
||||
value_template:
|
||||
description: "Defines a template to set the state of the alarm panel. Only the states `armed_away`, `armed_home`, `armed_night`, `disarmed`, `pending`, `triggered` and `unavailable` are used."
|
||||
description: "Defines a template to set the state of the alarm panel. Only the states `armed_away`, `armed_home`, `armed_night`, `arming`, `disarmed`, `pending`, `triggered` and `unavailable` are used."
|
||||
required: false
|
||||
type: template
|
||||
disarm:
|
||||
@ -108,7 +108,3 @@ panels:
|
||||
If you are using the state of a integration that takes extra time to load, the Template Alarm Control Panel may get an `unknown` state during startup. This results in error messages in your log file until that integration has completed loading. If you use `is_state()` function in your template, you can avoid this situation.
|
||||
|
||||
For example, you would replace {% raw %}`{{ states.switch.source.state == 'on' }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an unknown result: {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
|
||||
|
||||
### Working without entities
|
||||
|
||||
If you use a template that depends on the current time or some other non-deterministic result not sourced from entities, the template won't repeatedly update but will only update when the state of a referenced entity updates. For ways to deal with this issue, see [Working without entities](/integrations/binary_sensor.template/#working-without-entities) in the Template Binary Sensor integration.
|
||||
|
@ -4,7 +4,7 @@ description: This integration is responsible for providing the authentication en
|
||||
ha_category:
|
||||
- Other
|
||||
ha_release: 0.73
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
|
@ -7,7 +7,7 @@ ha_release: 0.7
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_domain: automation
|
||||
---
|
||||
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how-to setup binary sensors with Home Assistant.
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
ha_release: 0.9
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_domain: binary_sensor
|
||||
---
|
||||
|
@ -106,13 +106,6 @@ with this equivalent that returns `true`/`false` and never gives an unknown
|
||||
result:
|
||||
{% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
|
||||
|
||||
### Sensor state updates
|
||||
|
||||
The template engine works out what entities are used to trigger an update of the sensor and recalculates the result when one of those entities change.
|
||||
|
||||
If you use a template that depends on the current time or some other non-deterministic result not sourced from entities, create an interval-based
|
||||
automation that calls the service `homeassistant.update_entity` for the sensor requiring updates. See the [example below](#working-without-entities).
|
||||
|
||||
## Examples
|
||||
|
||||
In this section you find some real-life examples of how to use this sensor.
|
||||
@ -309,83 +302,16 @@ binary_sensor:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
If the template accesses every state on the system or all states under a specific domain, a rate limit of one update per minute is applied. If the template only accesses specific states, receives update events for specifically referenced entities, or the `homeassistant.update_entity` service is used, no rate limit is applied.
|
||||
|
||||
### Working without entities
|
||||
|
||||
The `template` sensors are not limited to use attributes from other entities but can also work with [Home Assistant's template extensions](/docs/configuration/templating/#home-assistant-template-extensions). If the template includes some non-deterministic property such as time in its calculation, the result will not continually update, but will only update when some entity referenced by the template updates.
|
||||
|
||||
There's a couple of options to manage this issue. This first example creates a `sensor.time` from the [Time & Date](/integrations/time_date/) component which updates every minute, and the binary sensor is triggered by this updating. The binary sensor returns true if in the first half of the hour:
|
||||
In the below example, re-renders are limited to once per second:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: time_date
|
||||
display_options:
|
||||
- 'time'
|
||||
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
half_hour:
|
||||
value_template: '{{ (states("sensor.time")[3:] | int) < 30 }}'
|
||||
has_sensor_unavailable_states:
|
||||
value_template: '{{ states.sensor | selectattr('state', 'in', ['unavailable', 'unknown', 'none']) | list | count }}'
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
An alternative to this is to create an interval-based automation that calls the service `homeassistant.update_entity` for the entities requiring updates:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
half_hour:
|
||||
value_template: '{{ now().minute < 30 }}'
|
||||
|
||||
automation:
|
||||
- alias: 'Update half_hour'
|
||||
trigger:
|
||||
- platform: time_pattern
|
||||
minutes: /30
|
||||
action:
|
||||
- service: homeassistant.update_entity
|
||||
entity_id: binary_sensor.half_hour
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
In the case where the template should be updated every minute, just reading `states("sensor.time")` can achieve the desired result without the need to create an automation:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: time_date
|
||||
display_options:
|
||||
- 'time'
|
||||
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
minute_is_odd:
|
||||
value_template: >-
|
||||
{% set dummy = states("sensor.time") %}
|
||||
{{ now().minute % 2 == 1 }}
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
A similar trick of ignoring the sensor value can be used with `states("sensor.date")` for templates that should update at midnight.
|
||||
The `time_date` sensors are always true so here we use `and` to ignore the result in a more condensed way:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: time_date
|
||||
display_options:
|
||||
- 'date'
|
||||
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
weekend:
|
||||
value_template: {{ states("sensor.date") and now().isoweekday() > 5 }}
|
||||
```
|
||||
{% endraw %}
|
||||
If the template accesses every state on the system, a rate limit of one update per minute is applied. If the template accesses all states under a specific domain, a rate limit of one update per second is applied. If the template only accesses specific states, receives update events for specifically referenced entities, or the `homeassistant.update_entity` service is used, no rate limit is applied.
|
||||
|
@ -1,286 +0,0 @@
|
||||
---
|
||||
title: Australian Bureau of Meteorology (BOM)
|
||||
description: Instructions on how to integrate Bureau of Meteorology Australia weather conditions into Home Assistant.
|
||||
ha_category:
|
||||
- Weather
|
||||
- Sensor
|
||||
- Camera
|
||||
ha_release: 0.36
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_domain: bom
|
||||
ha_codeowners:
|
||||
- '@maddenp'
|
||||
---
|
||||
|
||||
The `bom` weather platform uses the [Australian Bureau of Meteorology (BOM)](http://www.bom.gov.au) as a source for current (half-hourly) meteorological data.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- [Camera](#camera)
|
||||
- [Sensor](#sensor)
|
||||
|
||||
## Configuration
|
||||
|
||||
To add the BOM weather platform to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
weather:
|
||||
- platform: bom
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The name you would like to give to the weather station.
|
||||
required: false
|
||||
type: string
|
||||
station:
|
||||
description: "The station ID string. See the [`sensor.bom` documentation](#sensor) for details on how to find the ID of a station."
|
||||
required: false
|
||||
type: string
|
||||
default: The closest station
|
||||
{% endconfiguration %}
|
||||
|
||||
<div class='note'>
|
||||
|
||||
This platform is an alternative to the [`bom`](#sensor) sensor.
|
||||
The weather platform is easier to configure but less customizable.
|
||||
|
||||
</div>
|
||||
|
||||
## Camera
|
||||
|
||||
The `bom` camera platform uses the [Australian Bureau of Meteorology (BOM)](http://www.bom.gov.au) [radar web service](http://www.bom.gov.au/australia/radar/) as a source to generate an animated radar image.
|
||||
|
||||
To add the BOM camera to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
- platform: bom
|
||||
location: YOUR_LOCATION
|
||||
```
|
||||
|
||||
See below for a list of valid `location` values, and subsitute one for `YOUR_LOCATION`.
|
||||
|
||||
{% configuration %}
|
||||
location:
|
||||
description: Required unless `id` is specified. See below for a list of valid locations.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Allows you to override the Home Assistant-generated camera name.
|
||||
required: false
|
||||
type: string
|
||||
id:
|
||||
description: Allows you to manually specify a BOM Radar ID (either `location` or `id` must be defined, but not both).
|
||||
required: false
|
||||
type: integer
|
||||
delta:
|
||||
description: Time in seconds between BOM radar images available for this radar. Optional if `location` is defined; required if `id` is defined.
|
||||
required: false
|
||||
type: integer
|
||||
frames:
|
||||
description: Number of frames in the animated GIF. Optional if `location` is defined; required if `id` is defined.
|
||||
required: false
|
||||
type: integer
|
||||
filename:
|
||||
description: Periodically save the animated GIF image to this filesystem path.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### Valid `location` values
|
||||
|
||||
```txt
|
||||
Adelaide Albany AliceSprings Bairnsdale Bowen
|
||||
Brisbane Broome Cairns Canberra Carnarvon
|
||||
Ceduna Dampier Darwin Emerald Esperance
|
||||
Geraldton Giles Gladstone Gove Grafton
|
||||
Gympie HallsCreek Hobart Kalgoorlie Katherine
|
||||
Learmonth Longreach Mackay Marburg Melbourne
|
||||
Mildura Moree MorningtonIs MountIsa MtGambier
|
||||
Namoi Newcastle Newdegate NorfolkIs NWTasmania
|
||||
Perth PortHedland Rainbow SellicksHill SouthDoodlakine
|
||||
Sydney Townsville WaggaWagga Warrego Warruwi
|
||||
Watheroo Weipa WillisIs Wollongong Woomera
|
||||
Wyndham Yarrawonga
|
||||
```
|
||||
|
||||
### Examples
|
||||
|
||||
#### Using `location` and `name`
|
||||
|
||||
Example `configuration.yaml` entry to display the `Townsville` radar with a camera named `mytowsvilleradar`:
|
||||
|
||||
```yaml
|
||||
camera:
|
||||
- platform: bom
|
||||
name: mytownsvilleradar
|
||||
location: Townsville
|
||||
```
|
||||
|
||||
#### Using `id`, `delta` and `frames`
|
||||
|
||||
In the event BOM creates a new radar, or a radar's ID changes, you may define a custom `id` along with corresponding `delta` and `frames` values. You may also specify custom `delta` and `frames` values, along with a valid `location`, to override the default values for an existing radar. You may not define `location` and `id` in the same entity; you must specify one or the other. If `id` is specified, then `delta` and `frames` values _must_ be provided. If `location` is specified, `delta` and `frames` _may_ be provided to override the default values.
|
||||
|
||||
To find a live radar ID (e.g., for the `Townsville` radar), visit the [BOM website's radars page](http://www.bom.gov.au/australia/radar/), click the link for the radar you are interested in, and note the URL, for example: `http://www.bom.gov.au/products/IDR733.loop.shtml`. The ID is the number following `IDR` (i.e., `733`) in the URL. You can also see, at the bottom of the radar image, a rotating set of times corresponding to the frames of the BOM's JavaScript-driven animation. The number of minutes (in seconds) between these times corresponds to the camera's `delta` value, and the number of frames corresponds to the `frames` value. At the time of this writing, the `Townsville` radar loop is composed of 4 frames at 10-minute (600 second) intervals. Since these are also the default values, this configuration block
|
||||
|
||||
```yaml
|
||||
camera:
|
||||
- platform: bom
|
||||
location: Townsville
|
||||
```
|
||||
|
||||
is equivalent to this one
|
||||
|
||||
```yaml
|
||||
camera:
|
||||
- platform: bom
|
||||
id: '053'
|
||||
delta: 600
|
||||
frames: 4
|
||||
name: 'Carnarvon'
|
||||
```
|
||||
|
||||
#### Using `filename`
|
||||
|
||||
This option can be specified to save the animated radar-imagery GIF to the given filesystem path.
|
||||
|
||||
Example `configuration.yaml` entry to display the `Sydney` radar and save the animated GIF to a file named `sydneyradar.gif` to the filesystem path accessible as `/local/sydneyradar.gif` via Home Assistant's web server:
|
||||
|
||||
```yaml
|
||||
camera:
|
||||
- platform: bom
|
||||
id: Sydney
|
||||
filename: /config/www/images/sydneyradar.gif
|
||||
```
|
||||
|
||||
The file will be updated every `delta` seconds when the camera regenerates the animation.
|
||||
|
||||
## Sensor
|
||||
|
||||
The `bom` sensor platform uses the [Australian Bureau of Meteorology (BOM)](http://www.bom.gov.au) as a source for current (half-hourly) meteorological data.
|
||||
|
||||
- Each sensor will be given the `device_id` of "bom [optionalname] friendlyname units"
|
||||
- A name is optional but if multiple BOM weather stations are used a name will be required.
|
||||
- The sensor checks for new data every minute, starting 30 minutes after the timestamp of the most recent data as the data is updated every half-hour.
|
||||
|
||||
To add the BOM weather observation to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: bom
|
||||
monitored_conditions:
|
||||
- apparent_t
|
||||
- cloud
|
||||
- cloud_base_m
|
||||
- cloud_oktas
|
||||
- cloud_type_id
|
||||
- cloud_type
|
||||
- delta_t
|
||||
- gust_kmh
|
||||
- gust_kt
|
||||
- air_temp
|
||||
- dewpt
|
||||
- local_date_time
|
||||
- local_date_time_full
|
||||
- press
|
||||
- press_qnh
|
||||
- press_msl
|
||||
- press_tend
|
||||
- rain_trace
|
||||
- rel_hum
|
||||
- sea_state
|
||||
- swell_dir_worded
|
||||
- swell_height
|
||||
- swell_period
|
||||
- vis_km
|
||||
- weather
|
||||
- wind_dir
|
||||
- wind_spd_kmh
|
||||
- wind_spd_kt
|
||||
```
|
||||
|
||||
To get the station ID for any BOM station:
|
||||
- Find your station on these maps: [NSW](http://www.bom.gov.au/nsw/observations/map.shtml), [QLD](http://www.bom.gov.au/qld/observations/map.shtml), [VIC](http://www.bom.gov.au/vic/observations/map.shtml), [WA](http://www.bom.gov.au/wa/observations/map.shtml), [SA](http://www.bom.gov.au/sa/observations/map.shtml), [TAS](http://www.bom.gov.au/tas/observations/map.shtml), [ACT](http://www.bom.gov.au/act/observations/canberramap.shtml), [NT](http://www.bom.gov.au/nt/observations/map.shtml).
|
||||
- alternatively, from the [BOM website](http://www.bom.gov.au/), navigate to State -> Observations -> Latest Observations -> Choose the station.
|
||||
- The URL will look like `http://www.bom.gov.au/products/IDx60901/[station].shtml`
|
||||
- For Adelaide, the URL will look like `http://www.bom.gov.au/products/IDS60901/IDS60901.94648.shtml`; the station ID is `IDS60901.94648`.
|
||||
|
||||
{% configuration %}
|
||||
station:
|
||||
description: The station ID string as identified from the BOM website.
|
||||
required: false
|
||||
type: string
|
||||
default: If not given, defaults to the closest station based on location data in configuration.yaml.
|
||||
name:
|
||||
description: The name you would like to give to the weather station.
|
||||
required: false
|
||||
type: string
|
||||
monitored_conditions:
|
||||
description: A list of the conditions to monitor.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
apparent_t:
|
||||
description: Feels like temperature in C.
|
||||
cloud:
|
||||
description: Cloud cover.
|
||||
cloud_base_m:
|
||||
description: Cloud Base in m.
|
||||
cloud_oktas:
|
||||
description: Cloud Oktas.
|
||||
cloud_type_id:
|
||||
description: Cloud type ID.
|
||||
cloud_type:
|
||||
description: Cloud type description.
|
||||
delta_t:
|
||||
description: Delta temperature in C.
|
||||
gust_kmh:
|
||||
description: Wind gust in km/h.
|
||||
gust_kt:
|
||||
description: Wing gust in kt.
|
||||
air_temp:
|
||||
description: Air temperature in C.
|
||||
dewpt:
|
||||
description: Dew point in C.
|
||||
press:
|
||||
description: Pressure in mbar.
|
||||
press_qnh:
|
||||
description: Pressure in qnh.
|
||||
press_msl:
|
||||
description: Pressure in msl.
|
||||
press_tend:
|
||||
description: Pressure trend.
|
||||
rain_trace:
|
||||
description: Raing today in mm.
|
||||
rel_hum:
|
||||
description: Relative Humidity in %.
|
||||
sea_state:
|
||||
description: Sea state.
|
||||
swell_dir_worded:
|
||||
description: Swell direction.
|
||||
swell_height:
|
||||
description: Swell height in m.
|
||||
swell_period:
|
||||
description: Swell period.
|
||||
vis_km:
|
||||
description: Visibility in km.
|
||||
weather:
|
||||
description: Weather summary.
|
||||
wind_dir:
|
||||
description: Wind direction.
|
||||
wind_spd_kmh:
|
||||
description: Wind speed in km/h.
|
||||
wind_spd_kt:
|
||||
description: Wind speed in kt.
|
||||
{% endconfiguration %}
|
||||
|
||||
<div class='note'>
|
||||
|
||||
This sensor is an alternative to the [`bom`](#configuration) weather platform.
|
||||
The weather platform is easier to configure but less customisable.
|
||||
|
||||
</div>
|
@ -4,7 +4,7 @@ description: Instructions on how to setup the browser integration with Home Assi
|
||||
ha_category:
|
||||
- Utility
|
||||
ha_release: pre 0.7
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_domain: browser
|
||||
---
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Calendar
|
||||
description: Instructions on how to integrate calendars within Home Assistant.
|
||||
ha_release: 0.33
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_domain: calendar
|
||||
---
|
||||
|
||||
|
@ -6,7 +6,7 @@ ha_category:
|
||||
ha_release: 0.7
|
||||
ha_quality_scale: internal
|
||||
ha_domain: camera
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The camera integration allows you to use IP cameras with Home Assistant.
|
||||
|
@ -89,6 +89,21 @@ Optional:
|
||||
service: media_player.play_media
|
||||
```
|
||||
|
||||
### Plex
|
||||
|
||||
To cast media directly from a configured Plex server, set the fields [as documented in the Plex integration](/integrations/plex/#service-play_media) and prepend the `media_content_id` with `plex://`:
|
||||
|
||||
```yaml
|
||||
'cast_plex_to_chromecast':
|
||||
alias: Cast Plex to Chromecast
|
||||
sequence:
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.chromecast
|
||||
media_content_type: movie
|
||||
media_content_id: 'plex://{"library_name": "Movies", "title": "Groundhog Day"}'
|
||||
```
|
||||
|
||||
## Advanced use
|
||||
|
||||
### Manual configuration
|
||||
|
@ -6,7 +6,7 @@ ha_category:
|
||||
ha_release: 0.19
|
||||
ha_quality_scale: internal
|
||||
ha_domain: climate
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The Climate integration allows you to control and monitor HVAC (heating, ventilating, and air conditioning) devices and thermostats.
|
||||
|
@ -17,21 +17,25 @@ To use your Modbus thermostat in your installation, add the following to your `c
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
climate:
|
||||
- platform: modbus
|
||||
name: Watlow F4T
|
||||
hub: hub1
|
||||
slave: 1
|
||||
data_type: uint
|
||||
data_count: 1
|
||||
scale: 0.1
|
||||
offset: 0
|
||||
precision: 1
|
||||
max_temp: 30
|
||||
min_temp: 15
|
||||
temp_step: 1
|
||||
target_temp_register: 2782
|
||||
current_temp_register: 27586
|
||||
modbus:
|
||||
- name: hub1
|
||||
type: tcp
|
||||
host: IP_ADDRESS
|
||||
port: 502
|
||||
|
||||
climates:
|
||||
- name: Watlow F4T
|
||||
slave: 1
|
||||
data_type: uint
|
||||
data_count: 1
|
||||
scale: 0.1
|
||||
offset: 0
|
||||
precision: 1
|
||||
max_temp: 30
|
||||
min_temp: 15
|
||||
temp_step: 1
|
||||
target_temp_register: 2782
|
||||
current_temp_register: 27586
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -39,11 +43,6 @@ name:
|
||||
description: Name of the device
|
||||
required: true
|
||||
type: string
|
||||
hub:
|
||||
description: The name of the hub.
|
||||
required: false
|
||||
default: default
|
||||
type: string
|
||||
slave:
|
||||
description: The number of the slave (Optional for tcp and upd Modbus, use 1).
|
||||
required: true
|
||||
@ -66,6 +65,11 @@ data_type:
|
||||
required: false
|
||||
type: string
|
||||
default: float
|
||||
structure:
|
||||
description: "If `data_type` is custom specified a double-quoted Python struct is expected here, to format the string to unpack the value. See Python documentation for details. Example: `>i`."
|
||||
required: false
|
||||
type: string
|
||||
default: ">f"
|
||||
data_count:
|
||||
description: Number of registers to read.
|
||||
required: false
|
||||
@ -106,6 +110,11 @@ temperature_unit:
|
||||
required: false
|
||||
type: string
|
||||
default: C
|
||||
scan_interval:
|
||||
description: Defines the update interval of the sensor in seconds.
|
||||
required: false
|
||||
type: integer
|
||||
default: 15
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
|
@ -7,7 +7,9 @@ ha_release: 0.74
|
||||
ha_iot_class: Cloud Push
|
||||
ha_codeowners:
|
||||
- '@ludeeus'
|
||||
- '@ctalkington'
|
||||
ha_domain: cloudflare
|
||||
ha_config_flow: true
|
||||
---
|
||||
|
||||
With the `cloudflare` integration, you can keep your Cloudflare records up to date.
|
||||
@ -26,43 +28,25 @@ Due to a limitation in the Cloudflare API, you can not use this integration with
|
||||
|
||||
</div>
|
||||
|
||||
## Setup
|
||||
## Requirements
|
||||
|
||||
You can find your global API key in your Cloudflare account settings.
|
||||
<div class='note warning'>
|
||||
|
||||
On older versions of Home Assistant, this integration used the account email and Global API Key to authenticate.
|
||||
|
||||
As of Home Assistant 0.117, API Tokens are now used to authenticate.
|
||||
|
||||
</div>
|
||||
|
||||
Setup requires an API Token created with Zone:Zone:Read and Zone:DNS:Edit permissions for all zones in your account.
|
||||
|
||||
An easy way to create this is to start with the "Edit zone DNS" template then add Zone:Zone:Read to the permissions.
|
||||
|
||||
[Cloudflare API Tokens Guide](https://developers.cloudflare.com/api/tokens/create)
|
||||
|
||||
## Configuration
|
||||
|
||||
To use the integration in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cloudflare:
|
||||
email: YOUR_EMAIL_ADDRESS
|
||||
api_key: YOUR_GLOBAL_API_KEY
|
||||
zone: EXAMPLE.COM
|
||||
records:
|
||||
- ha
|
||||
- www
|
||||
```
|
||||
|
||||
{% configuration cloudflare %}
|
||||
email:
|
||||
description: The email address for your Cloudflare account.
|
||||
required: true
|
||||
type: string
|
||||
api_key:
|
||||
description: The global API key for your Cloudflare account.
|
||||
required: true
|
||||
type: string
|
||||
zone:
|
||||
description: The DNS zone (domain) you want to update.
|
||||
required: true
|
||||
type: string
|
||||
records:
|
||||
description: A list of records (subdomains) you want to update.
|
||||
required: true
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
Go to the integrations page in your configuration and click on new integration -> Cloudflare.
|
||||
|
||||
## Additional information
|
||||
|
||||
@ -70,10 +54,6 @@ records:
|
||||
|
||||
This platform uses the API from [ipify.org](https://www.ipify.org/) to set the public IP address.
|
||||
|
||||
### API Key
|
||||
|
||||
Please note that the `api_key` is the [global API key](https://support.cloudflare.com/hc/en-us/articles/200167836-Managing-API-Tokens-and-Keys#12345682) of your Cloudflare account (not the API Token).
|
||||
|
||||
### Home Assistant Companion App
|
||||
|
||||
If you would like to use [iOS App](https://companion.home-assistant.io/) via Cloudflare set **Minimum TLS version as 1.2**, in order to do that, do the following:
|
||||
@ -89,20 +69,6 @@ Other settings should not cause any issues.
|
||||
|
||||
For SSH usage (according to [this](https://blog.cloudflare.com/cloudflare-now-supporting-more-ports/) source), you need to connect directly to your server (bypassing Cloudflare). To do that, create a `CNAME` DNS record, e.g., `ssh.example.com`, with proxy status as "DNS only" (to do that click on orange icon, it will change color to gray) and then connect to `ssh.example.com` using your server SSH port.
|
||||
|
||||
### Using Cloudflare domain only for Home Assistant
|
||||
|
||||
If you want to update just a main domain, place in the records list only your domain, e.g., `example.com`. It will update your `A` DNS record with your IP every hour.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for one domain
|
||||
cloudflare:
|
||||
email: YOUR_EMAIL_ADDRESS
|
||||
api_key: YOUR_GLOBAL_API_KEY
|
||||
zone: EXAMPLE.COM
|
||||
records:
|
||||
- EXAMPLE.COM
|
||||
```
|
||||
|
||||
#### The minimum DNS record settings (if you have set up HTTPS already)
|
||||
|
||||
To redirect from your domain to the IP address of your Home Assistant server set this DNS record:
|
||||
|
@ -7,7 +7,6 @@ ha_category:
|
||||
- Binary Sensor
|
||||
ha_iot_class: Local Polling
|
||||
ha_release: 0.31
|
||||
ha_iot_class: Local Polling
|
||||
ha_domain: concord232
|
||||
---
|
||||
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how to setup the configuration panel for Home Assis
|
||||
ha_category:
|
||||
- Front End
|
||||
ha_release: 0.39
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how to integrate the configurator in your component
|
||||
ha_category:
|
||||
- Other
|
||||
ha_release: 0.7
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: cover
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
Home Assistant can give you an interface to control covers such as rollershutters, blinds, and garage doors.
|
||||
|
@ -126,10 +126,6 @@ with this equivalent that returns `true`/`false` and never gives an unknown
|
||||
result:
|
||||
{% raw %}`{{ is_state('cover.source', 'open') }}`{% endraw %}
|
||||
|
||||
### Working without entities
|
||||
|
||||
If you use a template that depends on the current time or some other non-deterministic result not sourced from entities, the template won't repeatedly update but will only update when the state of a referenced entity updates. For ways to deal with this issue, see [Working without entities](/integrations/binary_sensor.template/#working-without-entities) in the Template Binary Sensor integration.
|
||||
|
||||
## Optimistic Mode
|
||||
|
||||
In optimistic mode, the cover position state is maintained internally. This mode
|
||||
|
@ -5,7 +5,9 @@ ha_category:
|
||||
- Hub
|
||||
- Binary Sensor
|
||||
- Cover
|
||||
- Fan
|
||||
- Light
|
||||
- Lock
|
||||
- Scene
|
||||
- Sensor
|
||||
- Switch
|
||||
@ -28,6 +30,7 @@ There is currently support for the following device types within Home Assistant:
|
||||
- [Climate](#climate)
|
||||
- [Cover](#cover)
|
||||
- [Light](#light)
|
||||
- [Lock](#lock)
|
||||
- [Scene](#scene)
|
||||
- [Sensor](#sensor)
|
||||
- [Switch](#switch)
|
||||
@ -318,6 +321,12 @@ The `entity_id` name will be `cover.device_name`, where `device_name` is defined
|
||||
- Keen vents
|
||||
- Xiaomi Aqara Curtain controller
|
||||
|
||||
## Fan
|
||||
|
||||
Fans from deCONZ are currently a combination of a light and fan fixture.
|
||||
|
||||
Note that devices in the fan platform identify as lights, so there is a manually curated list that defines which "lights" are fans. You, therefore, add a fan device as a light device in deCONZ (Phoscon App).
|
||||
|
||||
## Light
|
||||
|
||||
The `entity_id` names will be `light.device_name`, where `device_name` is defined in deCONZ. Light groups created in deCONZ will be created in Home Assistant as lights named `light.group_name_in_deconz`, allowing the user to control groups of lights with only a single API call to deCONZ.
|
||||
@ -344,6 +353,14 @@ The `entity_id` names will be `light.device_name`, where `device_name` is define
|
||||
- Busch Jaeger Zigbee Light Link univ. relai (6711 U) with Zigbee Light Link control element 6735-84
|
||||
- Xiaomi Aqara Smart LED Bulb (white) E27 ZNLDP12LM
|
||||
|
||||
## Lock
|
||||
|
||||
Locks are devices such as the Danalock Zigbee lock.
|
||||
|
||||
Note that devices in the `lock` platform identify as lights, so there is a manually curated list that defines which "lights" are locks. You therefore add a lock device as a light device in deCONZ (Phoscon App).
|
||||
|
||||
The `entity_id` name will be `lock.device_name`, where `device_name` is defined in deCONZ.
|
||||
|
||||
## Scene
|
||||
|
||||
The `entity_id` name will be `scene.group_scene_name`, where `group` is which group the scene belongs to and the name of the scene, both group and name are defined in deCONZ.
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how to setup device tracking within Home Assistant.
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
ha_release: 0.7
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_domain: device_tracker
|
||||
---
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how to setup Home Assistant to discover new devices
|
||||
ha_category:
|
||||
- Other
|
||||
ha_release: 0.7
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_domain: discovery
|
||||
---
|
||||
|
@ -31,6 +31,9 @@ There is currently support for the following device types within Home Assistant:
|
||||
- **Sensor** - Elk-M1 counters, keypads, panel, settings, and zones are represented as `sensor` entities.
|
||||
- **Switch** - Elk-M1 outputs are represented as `switch` entities.
|
||||
|
||||
The implementation follows the Elk Products ElkM1 "ASCII Protocol & Interface
|
||||
Specification, Revision 1.84" document. This document can be found on the Internet.
|
||||
|
||||
## ElkM1 Configuration and Version
|
||||
|
||||
In order for the ElkM1 integration to work to its fullest with Home Assistant the
|
||||
@ -119,7 +122,15 @@ The complete list of trouble statuses are:
|
||||
|
||||
To add `ElkM1` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Elk-M1 Control**.
|
||||
|
||||
Alternatively, add the following section to your `configuration.yaml` file:
|
||||
Alternatively, configuration through the `configuration.yaml` file
|
||||
is supported (example below).
|
||||
|
||||
Both methods of configuration support "auto configuration". This works by
|
||||
reporting only elements on the ElkM1 that have a "Name" configured.
|
||||
So, for example, if counter #11 on the panel was configured with
|
||||
the name "Test counter" then this element would show up in Home Assistant. If
|
||||
an element is being used but does not have a name configured then
|
||||
it will not appear in Home Assistant through the auto-configuration feature.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -401,6 +412,16 @@ elkm1:
|
||||
enabled: false
|
||||
```
|
||||
|
||||
## Events
|
||||
|
||||
The ElkM1 integration supports the following event: `elkm1.keypad_key_pressed`.
|
||||
The event is generated whenever a key is pressed on an ElkM1 keypad.
|
||||
The `event_data` contains the following:
|
||||
|
||||
- `keypad_id`: The number of the keypad that reported the keypress.
|
||||
- `key_name`: The name of the key that was pressed.
|
||||
- `key`: The number of the key that was pressed.
|
||||
|
||||
## Services
|
||||
|
||||
Besides the standard Home Assistant services for Climate, Light, Scene, Sensor,
|
||||
@ -409,7 +430,14 @@ and Switch the ElkM1 integration offers these additional services:
|
||||
- `elkm1.alarm_arm_home_instant`
|
||||
- `elkm1.alarm_arm_night_instant`
|
||||
- `elkm1.alarm_arm_vacation`
|
||||
- `elkm1.alarm_bypass`
|
||||
- `elkm1.alarm_clear_bypass`
|
||||
- `elkm1.alarm_display_message`
|
||||
- `elkm1.sensor_counter_refresh`
|
||||
- `elkm1.sensor_counter_set`
|
||||
- `elkm1.sensor_zone_bypass`
|
||||
- `elkm1.sensor_zone_trigger`
|
||||
- `elkm1.set_time`
|
||||
- `elkm1.speak_phrase`
|
||||
- `elkm1.speak_word`
|
||||
|
||||
@ -423,6 +451,16 @@ respectively.
|
||||
| `entity_id` | yes | ElkM1 area which to arm.
|
||||
| `code` | no | Alarm code to arm the system (4 or 6 digits).
|
||||
|
||||
### Services `elkm1.alarm_bypass` and `elkm1.alarm_clear_bypass`
|
||||
|
||||
For all zones associated with the specified alarm panel these services respectively
|
||||
bypass or clear the bypass the zones.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | ElkM1 area which to bypass or clear bypass.
|
||||
| `code` | no | Alarm code to bypass the alarm panel (4 or 6 digits).
|
||||
|
||||
### Service `elkm1.alarm_display_message`
|
||||
|
||||
Display text on an area's keypads.
|
||||
@ -436,6 +474,52 @@ Display text on an area's keypads.
|
||||
| `line1` | yes | Up to 16 characters of text (truncated if too long). Default blank.
|
||||
| `line2` | yes | Up to 16 characters of text (truncated if too long). Default blank.
|
||||
|
||||
### Service `elkm1.sensor_counter_refresh`
|
||||
|
||||
Refresh the value of a counter. Note that under certain conditions the
|
||||
panel does not automatically send a new value under certain
|
||||
conditions. This service retrieves the current counter value.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | ElkM1 counter to refresh.
|
||||
|
||||
### Service `elkm1.sensor_counter_set`
|
||||
|
||||
Set counter to value.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | ElkM1 counter to refresh.
|
||||
| `value` | no | Value to set the counter to Can be 0-65536.
|
||||
|
||||
### Service `elkm1.sensor_zone_bypass`
|
||||
|
||||
Bypass a zone. Note that the only mechanism ElkM1 offers to clear the bypass
|
||||
is to clear all the bypassed zones in a given alarm panel (area).
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | ElkM1 zone which to bypass.
|
||||
| `code` | no | Alarm code to bypass the zone (4 or 6 digits).
|
||||
|
||||
### Service `elkm1.sensor_zone_trigger`
|
||||
|
||||
Cause a zone on the panel to trigger. This command creates a virtual momentary
|
||||
open condition on the zone as if the EOL hardwired loop had been physically opened.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | ElkM1 zone which to trigger.
|
||||
|
||||
### Service `elkm1.set_time`
|
||||
|
||||
Set the time on the panel. Uses the current time on the instance of Home Assistant.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `prefix` | yes | Prefix to identify panel when multiple panels configured.
|
||||
|
||||
### Service `elkm1.speak_phrase`
|
||||
|
||||
Speak a phrase. The list of phrases is defined in the ElkM1 ASCII Protocol documentation.
|
||||
|
@ -23,4 +23,4 @@ An ESPHome device can be set up via the **Integrations** menu: **Configuration**
|
||||
* Complete the dialog box and click `SUBMIT`.
|
||||
* **Host**: If the device is called `livingroom` in ESPHome, the hostname would be `livingroom.local`
|
||||
* **Port**: The default port is `6053`
|
||||
* If the node has a password set, Home Assistant prompt for it.
|
||||
* If the node has a password set, Home Assistant prompt for it.
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how to setup Fan devices within Home Assistant.
|
||||
ha_category:
|
||||
- Fan
|
||||
ha_release: 0.27
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_domain: fan
|
||||
---
|
||||
|
@ -114,7 +114,3 @@ fan:
|
||||
type: [string, list]
|
||||
default: ['low', 'medium', 'high']
|
||||
{% endconfiguration %}
|
||||
|
||||
### Working without entities
|
||||
|
||||
If you use a template that depends on the current time or some other non-deterministic result not sourced from entities, the template won't repeatedly update but will only update when the state of a referenced entity updates. For ways to deal with this issue, see [Working without entities](/integrations/binary_sensor.template/#working-without-entities) in the Template Binary Sensor integration.
|
@ -4,7 +4,7 @@ description: Offers a frontend to Home Assistant.
|
||||
ha_category:
|
||||
- Other
|
||||
ha_release: 0.7
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/frontend'
|
||||
|
@ -6,7 +6,7 @@ ha_category:
|
||||
logo: geo_location.png
|
||||
ha_release: 0.78
|
||||
ha_domain: geo_location
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
Geolocation aware entities are typically related to events in the real world in the vicinity of Home Assistant's location, like for example weather events, bush fires or earthquakes.
|
||||
|
@ -5,8 +5,6 @@ ha_category:
|
||||
- Text-to-speech
|
||||
ha_release: 0.35
|
||||
ha_iot_class: Cloud Push
|
||||
ha_codeowners:
|
||||
- '@awarecan'
|
||||
ha_domain: google_translate
|
||||
---
|
||||
|
||||
|
24
source/_integrations/gree.markdown
Normal file
24
source/_integrations/gree.markdown
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
title: Gree Climate
|
||||
description: Instructions on how to integrate Gree Smart devices within Home Assistant.
|
||||
ha_category:
|
||||
- Climate
|
||||
ha_release: 0.117
|
||||
ha_iot_class: Local Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@cmroche'
|
||||
ha_domain: gree
|
||||
---
|
||||
|
||||
The Gree integration allows you to control a [Gree Smart HVAC](http://global.gree.com/).
|
||||
|
||||
## Configuration
|
||||
|
||||
Go to the integrations page in your configuration and click on **new integration** -> **Gree**.
|
||||
|
||||
Gree Smart compatible devices are detected and added automatically.
|
||||
|
||||
## Supported models
|
||||
|
||||
Any Gree Smart device working with the Gree+ app should be supported, including non-Gree branded devices, including some sold by Trane.
|
@ -97,4 +97,4 @@ It is possible to create a group that the system cannot calculate a group state.
|
||||
Groups with entities from unsupported domains will always have an unknown state.
|
||||
|
||||
These groups can still be in templates with the `expand()` directive, called using the
|
||||
`homeassistant.turn_on` and `homeassistant.turn_off` services, etc.
|
||||
`homeassistant.turn_on` and `homeassistant.turn_off` services, etc.
|
||||
|
@ -39,6 +39,14 @@ Disable the device's onboard access point.
|
||||
|
||||
Enable the device's onboard access point.
|
||||
|
||||
### `guardian.pair_sensor`
|
||||
|
||||
Add a new paired sensor to the valve controller.
|
||||
|
||||
| Service Data Attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ------------------------------------------------ |
|
||||
| `uid` | yes | The unique device ID on the bottom of the sensor.|
|
||||
|
||||
### `guardian.reboot`
|
||||
|
||||
Reboot the device.
|
||||
@ -47,6 +55,14 @@ Reboot the device.
|
||||
|
||||
Fully (and irrecoverably) reset all valve diagnostics.
|
||||
|
||||
### `guardian.unpair_sensor`
|
||||
|
||||
Remove a paired sensor from the valve controller.
|
||||
|
||||
| Service Data Attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ------------------------------------------------ |
|
||||
| `uid` | yes | The unique device ID on the bottom of the sensor.|
|
||||
|
||||
### `guardian.upgrade_firmware`
|
||||
|
||||
Upgrade the device firmware.
|
||||
@ -56,3 +72,15 @@ Upgrade the device firmware.
|
||||
| `url` | yes | The URL of the server hosting the firmware file. |
|
||||
| `port` | yes | The port on which the firmware file is served. |
|
||||
| `filename` | yes | The firmware filename. |
|
||||
|
||||
*Note:* not all service calls are available on all Guardian valve controller firmwares.
|
||||
Please ensure you upgrade your valve controller to the latest firmware before opening
|
||||
bugs related to non-working service calls.
|
||||
|
||||
## Paired Sensor Notes
|
||||
|
||||
When a paired sensor is first added to the valve controller, it may return inaccurate or
|
||||
nonsensical values for several of its attributes, such as `battery` and `temperature`. This
|
||||
is due to the sensor never having communicated its data to the valve controller and can
|
||||
be fixed by moving the sensor around (so that it beeps, indicating that data has been
|
||||
sent to the valve controller).
|
||||
|
@ -6,6 +6,8 @@ ha_category:
|
||||
ha_release: 0.23
|
||||
ha_iot_class: Local Push
|
||||
ha_domain: hdmi_cec
|
||||
ha_codeowners:
|
||||
- '@newAM'
|
||||
---
|
||||
|
||||
The `hdmi_cec` integration provides services that allow selecting the active device, powering on all devices, setting all devices to standby and creates switch entities for HDMI devices. Devices are defined in the configuration file by associating HDMI port number and a device name. Connected devices that provide further HDMI ports, such as sound-bars and AVRs are also supported. Devices are listed from the perspective of the CEC-enabled Home Assistant device. Any connected device can be listed, regardless of whether it supports CEC. Ideally the HDMI port number on your device will map correctly the CEC physical address. If it does not, use `cec-client` (part of the `libcec` package) to listen to traffic on the CEC bus and discover the correct numbers.
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: history
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `history` integration will track everything that is going on within Home
|
||||
|
@ -87,6 +87,11 @@ homekit:
|
||||
description: The local network IP address. Only necessary if the default from Home Assistant does not work.
|
||||
required: false
|
||||
type: string
|
||||
mode:
|
||||
description: HomeKit can expose an entity via a bridge, or a single entity as an accessory which is needed for Television Media Players. ([Accessory mode](#accessory-mode))
|
||||
required: false
|
||||
type: string
|
||||
default: '`bridge`'
|
||||
safe_mode:
|
||||
description: Only set this parameter if you encounter issues during pairing. ([Safe Mode](#safe-mode))
|
||||
required: false
|
||||
@ -297,6 +302,16 @@ If you create a HomeKit integration via the UI (i.e., **Configuration** >> **Int
|
||||
|
||||
It is recommended to only edit a HomeKit instance in the UI that was created in the UI, and likewise, only edit a HomeKit instance in YAML that was created in YAML.
|
||||
|
||||
### Accessory mode
|
||||
|
||||
When exposing a Television media player (a `media_player` with device class `tv`) to HomeKit, `mode` must be set to `accessory`, and the include filter should be setup to only include the `media_player` entity. This can be accomplished in the UI with the following steps.
|
||||
|
||||
1. Create a new bridge via the UI (i.e., **Configuration** >> **Integrations**)
|
||||
2. Before pairing the bridge, access the options for the bridge.
|
||||
3. Change the mode to `accessory`
|
||||
4. Select the `media_player` entity with the `tv` device class.
|
||||
5. Complete the options flow and pair as normal.
|
||||
|
||||
## Disable Auto Start
|
||||
|
||||
Depending on your setup, it might be necessary to disable `Auto Start` for all accessories to be available for `HomeKit`. Only those entities that are fully set up when the `HomeKit` integration is started, can be added. To start `HomeKit` when `auto_start: false`, you can call the service `homekit.start`.
|
||||
|
@ -382,6 +382,27 @@ action:
|
||||
WEEK_PROGRAM_POINTER: 1
|
||||
```
|
||||
|
||||
Set the week program of a wall thermostat with explicit `rx_mode` (BidCos-RF only):
|
||||
|
||||
```yaml
|
||||
...
|
||||
action:
|
||||
service: homematic.put_paramset
|
||||
data:
|
||||
interface: wireless
|
||||
address: LEQ1234567
|
||||
paramset_key: MASTER
|
||||
rx_mode: WAKEUP
|
||||
paramset:
|
||||
WEEK_PROGRAM_POINTER: 1
|
||||
```
|
||||
|
||||
BidCos-RF devices have an optional parameter for put_paramset which defines the way the configuration data is sent to the device.
|
||||
|
||||
`rx_mode` `BURST`, which is the default value, will wake up every device when submitting the configuration data and hence makes all devices use some battery. It is instant, i.e. the data is sent almost immediately.
|
||||
|
||||
`rx_mode` `WAKEUP` will send the configuration data only after a device submitted updated values to CCU, which usually happens every 3 minutes. It will not wake up every device and thus saves devices battery.
|
||||
|
||||
Manually set lock on KeyMatic devices:
|
||||
|
||||
```yaml
|
||||
|
@ -23,7 +23,7 @@ There is currently support for the following platforms within Home Assistant:
|
||||
|
||||
- Presence detection - device tracker for connected devices
|
||||
- Notifications - via SMS
|
||||
- Sensors - device, network, signal, SMS count, and traffic information
|
||||
- Sensors - device, network, signal, SMS count, traffic, and battery information
|
||||
- Switch - mobile data on/off
|
||||
- Binary sensor - mobile and Wi-Fi connection status, SMS storage full/not
|
||||
|
||||
|
@ -9,7 +9,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
- '@Shulyaka'
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `humidifier` integration is built for the controlling and monitoring of humidifiers, dehumidifiers, and hygrostat devices.
|
||||
|
@ -102,14 +102,19 @@ precision:
|
||||
description: Set this to specify the time precision sent to influxdb. Setting a coarser precision allows InfluxDb to compress your data better. If not set, defaults to ns.
|
||||
required: false
|
||||
default: ns
|
||||
measurement_attr:
|
||||
type: string
|
||||
description: "State object attribute(s) to use as measurement name. Possible values: `unit_of_measurement`, `domain__device_class` or `entity_id`."
|
||||
required: false
|
||||
default: unit_of_measurement
|
||||
default_measurement:
|
||||
type: string
|
||||
description: Measurement name to use when an entity doesn't have a unit.
|
||||
description: Measurement name to use when the measurement_attr state attribute does not exist, e.g. when an entity doesn't have a unit.
|
||||
required: false
|
||||
default: uses the entity id of the entity
|
||||
override_measurement:
|
||||
type: string
|
||||
description: Measurement name to use instead of a unit or default measurement. This will store all data points in a single measurement.
|
||||
description: Measurement name to use instead of measurement_attr or default measurement. This will store all data points in a single measurement.
|
||||
required: false
|
||||
exclude:
|
||||
type: list
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how to integrate the Input Boolean integration into
|
||||
ha_category:
|
||||
- Automation
|
||||
ha_release: 0.11
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how to integrate the Input Datetime integration int
|
||||
ha_category:
|
||||
- Automation
|
||||
ha_release: 0.55
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how to integrate the Input Number integration into
|
||||
ha_category:
|
||||
- Automation
|
||||
ha_release: 0.55
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how to integrate the Input Select integration into
|
||||
ha_category:
|
||||
- Automation
|
||||
ha_release: 0.13
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how to integrate the Input Text integration into Ho
|
||||
ha_category:
|
||||
- Automation
|
||||
ha_release: 0.53
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
|
@ -6,7 +6,7 @@ ha_category:
|
||||
ha_release: pre 0.7
|
||||
ha_quality_scale: internal
|
||||
ha_domain: light
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
This integration allows you to track and control various light bulbs. Read the integration documentation for your particular light hardware to learn how to enable it.
|
||||
|
@ -146,10 +146,6 @@ with this equivalent that returns `true`/`false` and never gives an unknown
|
||||
result:
|
||||
{% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
|
||||
|
||||
### Working without entities
|
||||
|
||||
If you use a template that depends on the current time or some other non-deterministic result not sourced from entities, the template won't repeatedly update but will only update when the state of a referenced entity updates. For ways to deal with this issue, see [Working without entities](/integrations/binary_sensor.template/#working-without-entities) in the Template Binary Sensor integration.
|
||||
|
||||
## Examples
|
||||
|
||||
In this section you will find some real-life examples of how to use this light.
|
||||
|
@ -6,7 +6,7 @@ ha_category:
|
||||
ha_release: 0.9
|
||||
ha_quality_scale: internal
|
||||
ha_domain: lock
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
Keeps track which locks are in your environment, their state and allows you to control them.
|
||||
|
@ -79,10 +79,6 @@ lock:
|
||||
|
||||
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 %}
|
||||
|
||||
### Working without entities
|
||||
|
||||
If you use a template that depends on the current time or some other non-deterministic result not sourced from entities, the template won't repeatedly update but will only update when the state of a referenced entity updates. For ways to deal with this issue, see [Working without entities](/integrations/binary_sensor.template/#working-without-entities) in the Template Binary Sensor integration.
|
||||
|
||||
## Examples
|
||||
|
||||
In this section, you find some real-life examples of how to use this lock.
|
||||
|
@ -5,7 +5,7 @@ ha_category:
|
||||
- History
|
||||
ha_release: 0.7
|
||||
ha_domain: logbook
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
<img src='/images/screenshots/logbook.png' style='margin-left:10px; float: right;' height="100" />
|
||||
|
@ -85,7 +85,7 @@ After setup, shades will appear in Home Assistant using an `entity_id` based on
|
||||
|
||||
For more information on working with shades in Home Assistant, see the [Covers component](/integrations/cover/).
|
||||
|
||||
Available services: `cover.open_cover`, `cover.close_cover` and `cover.set_cover_position`. Cover `position` ranges from `0` for fully closed to `100` for fully open.
|
||||
Available services: `cover.open_cover`, `cover.close_cover`, `cover.stop_cover` and `cover.set_cover_position`. Cover `position` ranges from `0` for fully closed to `100` for fully open.
|
||||
|
||||
## Light
|
||||
|
||||
@ -95,7 +95,7 @@ For non-dimmable lights or switched loads, see the switch section on this page.
|
||||
|
||||
For more information on working with lights in Home Assistant, see the [Lights component](/integrations/light/).
|
||||
|
||||
Available services: `light.turn_on`, `light.turn_off` and `light.toggle`. The `light.turn_on` service supports attributes `brightness` and `brightness_pct`.
|
||||
Available services: `light.turn_on`, `light.turn_off` and `light.toggle`. The `light.turn_on` service supports attributes `brightness`, `brightness_pct` and `transition`.
|
||||
|
||||
## Scene
|
||||
|
||||
|
@ -3,7 +3,7 @@ title: Mailbox
|
||||
description: Instructions on how to setup your mailboxes with Home Assistant.
|
||||
ha_release: 0.51
|
||||
ha_domain: mailbox
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
Mailboxes provide a list of messages with short information about each. Mailbox messages appear on a separate panel in the frontend.
|
||||
|
@ -6,7 +6,7 @@ ha_category:
|
||||
ha_release: 0.56
|
||||
ha_quality_scale: internal
|
||||
ha_domain: map
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
This offers a map on the frontend to display the location of tracked devices. To set up tracked devices, look at the [device tracker](/integrations/device_tracker/) documentation. This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
|
||||
|
@ -6,7 +6,7 @@ ha_category:
|
||||
ha_release: 0.7
|
||||
ha_quality_scale: internal
|
||||
ha_domain: media_player
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
Interacts with media players on your network.
|
||||
@ -14,17 +14,17 @@ Interacts with media players on your network.
|
||||
## Services
|
||||
|
||||
### Media control services
|
||||
Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, `volume_set`, `volume_mute`, `media_play_pause`, `media_play`, `media_pause`, `media_stop`, `media_next_track`, `media_previous_track`, `clear_playlist`, `shuffle_set`, `play_media`, `select_source`, `select_sound_mode`
|
||||
Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, `volume_set`, `volume_mute`, `media_play_pause`, `media_play`, `media_pause`, `media_stop`, `media_next_track`, `media_previous_track`, `clear_playlist`, `shuffle_set`, `repeat_set`, `play_media`, `select_source`, `select_sound_mode`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ------------------------------------------------ |
|
||||
| `entity_id` | no | Target a specific media player. To target all media players, use `all`. |
|
||||
| `entity_id` | yes | Target a specific media player. To target all media players, use `all`. |
|
||||
|
||||
#### Service `media_player.volume_mute`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|------------------------|----------|--------------------------------------------------|
|
||||
| `entity_id` | no | Target a specific media player. To target all media players, use `all`. |
|
||||
| `entity_id` | yes | Target a specific media player. To target all media players, use `all`. |
|
||||
| `is_volume_muted` | no | True/false for mute/unmute |
|
||||
|
||||
#### Service `media_player.volume_set`
|
||||
@ -38,14 +38,14 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`,
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|------------------------|----------|--------------------------------------------------------|
|
||||
| `entity_id` | no | Target a specific media player. To target all media players, use `all`. |
|
||||
| `entity_id` | yes | Target a specific media player. To target all media players, use `all`. |
|
||||
| `seek_position` | no | Position to seek to. The format is platform dependent. |
|
||||
|
||||
#### Service `media_player.play_media`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| -----------------------| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `entity_id` | no | Target a specific media player. To target all media players, use `all`. |
|
||||
| `entity_id` | yes | Target a specific media player. To target all media players, use `all`. |
|
||||
| `media_content_id` | no | A media identifier. The format of this is integration dependent. For example, you can provide URLs to Sonos and Cast but only a playlist ID to iTunes. |
|
||||
| `media_content_type` | no | A media type. Must be one of `music`, `tvshow`, `video`, `episode`, `channel` or `playlist`. For example, to play music you would set `media_content_type` to `music`. |
|
||||
|
||||
@ -53,7 +53,7 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`,
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ---------------------------------------------------- |
|
||||
| `entity_id` | no | Target a specific media player. To target all media players, use `all`. |
|
||||
| `entity_id` | yes | Target a specific media player. To target all media players, use `all`. |
|
||||
| `source` | no | Name of the source to switch to. Platform dependent. |
|
||||
|
||||
#### Service `media_player.select_sound_mode`
|
||||
@ -62,7 +62,7 @@ Currently only supported on [Denon AVR](/integrations/denonavr/) and [Songpal](
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ---------------------------------------------------- |
|
||||
| `entity_id` | no | Target a specific media player. For example `media_player.marantz`|
|
||||
| `entity_id` | yes | Target a specific media player. For example `media_player.marantz`|
|
||||
| `sound_mode` | no | Name of the sound mode to switch to. Platform dependent.|
|
||||
|
||||
#### Service `media_player.shuffle_set`
|
||||
@ -71,9 +71,16 @@ Currently only supported on [Sonos](/integrations/sonos), [Spotify](/integration
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ---------------------------------------------------- |
|
||||
| `entity_id` | no | Target a specific media player. For example `media_player.spotify`|
|
||||
| `entity_id` | yes | Target a specific media player. For example `media_player.spotify`|
|
||||
| `shuffle` | no | `true`/`false` for enabling/disabling shuffle |
|
||||
|
||||
#### Service `media_player.repeat_set`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ---------------------------------------------------- |
|
||||
| `entity_id` | yes | Target a specific media player. For example `media_player.kitchen`|
|
||||
| `repeat` | no | `off`/`all`/`one` for setting repeat mode |
|
||||
|
||||
### Device Class
|
||||
|
||||
The way media players are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for media players:
|
||||
|
@ -111,4 +111,4 @@ Some information about the capabilities might be found on the [Neato Developer P
|
||||
| `category` | yes | Whether to use a persistent map or not for cleaning (i.e., No go lines): 2 for no map, 4 for map. Default to using map if not set (and fallback to no map if no map is found). |
|
||||
| `zone` | yes | Only supported on the Botvac D7. Name of the zone to clean from the Neato app. Use unique names for the zones to avoid the wrong zone from running. Defaults to no zone i.e., complete house cleanup. |
|
||||
|
||||
[botvac-connected]: https://neatorobotics.com/products
|
||||
[botvac-connected]: https://neatorobotics.com/products
|
||||
|
@ -12,37 +12,65 @@ ha_release: 0.7
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@awarecan'
|
||||
- '@allenporter'
|
||||
ha_domain: nest
|
||||
---
|
||||
|
||||
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`.
|
||||
The `nest` integration allows you to access all supported [Google Nest](https://store.google.com/us/category/connected_home?) devices. There are two APIs:
|
||||
|
||||
1. New [Device Access](https://developers.google.com/nest/device-access) program and [Smart Device Management](https://developers.google.com/nest/device-access/api) (SDM) API.
|
||||
1. Legacy [Works With Nest](https://developers.nest.com/) API. This API does not accept new users, but existing users can keep using it.
|
||||
|
||||
<div class='note warning'>
|
||||
The two APIs support different features and devices. The SDM API integration is currently under development and does not yet support everything in the API either.
|
||||
</div>
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- [Binary Sensor](#binary-sensor)
|
||||
- [Camera](#camera)
|
||||
- [Climate](#climate)
|
||||
- [Sensor](#sensor)
|
||||
- [Binary Sensor](#binary-sensor-legacy-api-only) (Legacy API Only)
|
||||
- [Camera](#camera) (Both APIs)
|
||||
- [Climate](#climate-legacy-api-only) (Legacy API Only)
|
||||
- [Sensor](#sensor) (Both APIs)
|
||||
|
||||
### Setting up developer account
|
||||
## Device Access: Developer Account Setup
|
||||
|
||||
You will need to follow the instructions in [Device Access Registration](https://developers.google.com/nest/device-access/registration), which includes the following steps in the
|
||||
Quick Start Guide:
|
||||
|
||||
- Accept the Terms of Service.
|
||||
- Pay a fee (currently US$5).
|
||||
- Register in the Device Access Console to get a `project_id`.
|
||||
- Authorize your Google Account and create OAuth credentials to get a `client_id` and `client_secret`.
|
||||
- Enable pubsub events in the Device Access Console (creates a topic).
|
||||
- Create a pull subscription to get a `subscriber_id` ("Subscription ID" in Google Cloud Console).
|
||||
|
||||
<div class='note warning'>
|
||||
It is currently not possible to share/be invited to a home with a G-Suite account. Make sure that you pay the fee with an account that has access to your devices.
|
||||
</div>
|
||||
|
||||
New users are not currently able to set up a Works With Nest Developer account due to the change announced by Google. We will reach out to Nest to see if we can become a partner so that users joining Home Assistant after [August 2019](/blog/2019/05/08/nest-data-bye-bye/) can still use Nest. In the future we will add documentation on how to setup a Works With Google account and configure your Nest integration.
|
||||
Additionally, Home Assistant must be configured with a URL (e.g., external exposed [`http`](/integrations/http/), Nabu Casa, etc). When setting up the OAuth credentials, make sure the Home Assistant URL is in the list of *Authorized redirect URIs*, so the redirect back to Home Assistant can get an OAuth authorization code.
|
||||
|
||||
Follow all of the instructions in [Device Access: Quick Start Guide](https://developers.google.com/nest/device-access/get-started) carefully as it is easy to make a configuration mistake that is difficult to debug. It is recommended to exercise the entire guide, including the command to test out the API, to make sure that it is working before configuring Home Assistant.
|
||||
|
||||
It may be easiest to create a [Pub/Sub subscription](https://console.cloud.google.com/cloudpubsub/subscription/list) from the Google Cloud console. Make sure to use the *topic name* from the device access console and a unique subscription ID. Note the message retention is how long messages will queue while offline, so keep that short (e.g., under an hour) to avoid a potentially large backlog of updates.
|
||||
|
||||
## Works With Nest: Developer Account Setup (Legacy)
|
||||
|
||||
<div class='note warning'>
|
||||
New users cannot set up a "Works With Nest Developer" account and instead should use the Device Access program. The instructions below only apply if you already have an account.
|
||||
</div>
|
||||
|
||||
1. Visit [Nest Developers](https://developers.nest.com/), and sign in. Create an account if you don't have one already.
|
||||
2. Fill in account details:
|
||||
* The "Company Information" can be anything. We recommend using your name.
|
||||
3. Submit changes
|
||||
4. Click "[Products](https://developers.nest.com/products)" at top of page.
|
||||
4. Click "[Products](https://developers.nest.com/products)" at the top of page.
|
||||
5. Click "[Create New Product](https://developers.nest.com/products/new)"
|
||||
6. Fill in details:
|
||||
* Product name must be unique. We recommend [email] - Home Assistant.
|
||||
* The description, users, URLs can all be anything you want.
|
||||
* Leave the "Redirect URI" Field blank
|
||||
7. For permissions check every box and if it's an option select the read/write option. Note: there are important permissions under the "Other Permissions" category. If you are only adding a thermostat, do not just select the permissions under "Thermostat". You still need to check the boxes under "Other Permissions" in order to give you access to features like away mode, ETA, structure read/write, and postal code.
|
||||
7. For permissions, check every box and if it's an option, select the read/write option. Note: there are important permissions under the "Other Permissions" category. If you are only adding a thermostat, do not just select the permissions under "Thermostat". You still need to check the boxes under "Other Permissions" to give you access to features like away mode, ETA, structure read/write, and postal code.
|
||||
* The description requires a specific format to be accepted.
|
||||
* Use "[Home Assistant] [Edit] [For Home Automation]" as the description as it is not super important.
|
||||
8. Click "Create Product"
|
||||
@ -51,13 +79,16 @@ 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
|
||||
nest:
|
||||
client_id: CLIENT_ID
|
||||
client_secret: CLIENT_SECRET
|
||||
# Fields required by Device Access (SDM) API. Otherwise, use legacy API.
|
||||
project_id: PROJECT_ID
|
||||
subscriber_id: SUBSCRIBER_ID # ("Subscription ID" in Google Cloud Console)
|
||||
```
|
||||
|
||||
```yaml
|
||||
@ -72,20 +103,43 @@ nest:
|
||||
|
||||
{% configuration %}
|
||||
client_id:
|
||||
description: Your Nest developer client ID.
|
||||
description: Your Device Access or Nest developer client ID.
|
||||
required: true
|
||||
type: string
|
||||
client_secret:
|
||||
description: Your Nest developer client secret.
|
||||
description: Your Device Access or Nest developer client secret.
|
||||
required: true
|
||||
type: string
|
||||
project_id:
|
||||
description: Your Device Access Project ID. This enables the SDM API.
|
||||
required: false
|
||||
type: string
|
||||
subscriber_id:
|
||||
description: Your Pub/sub Subscription ID used to receive events. This is required to use the SDM API.
|
||||
type: string
|
||||
required: false
|
||||
structure:
|
||||
description: The structure or structures you would like to include devices from. If not specified, this will include all structures in your Nest account.
|
||||
description: The structure or structures you would like to include devices from. If not specified, this will include all structures in your Nest account. Not currently supported by the SDM API.
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
### Service `set_away_mode`
|
||||
## Device Setup (SDM API)
|
||||
|
||||
Once your developer account is set up and `nest` has been configured, you need to connect devices with the following steps:
|
||||
|
||||
1. From the Home Assistant front-end, navigate to **Configuration** then **Integrations**. Under **Set up a new integration** locate 'Nest'.
|
||||
1. You should get redirected to Google to choose an account. This should be the same developer account you configured above.
|
||||
1. The *Google Nest permissions* screen will allow you to choose which devices to configure.
|
||||
1. You will get redirected back to another account selection page.
|
||||
1. Confirm you want to allow persistent access to Home Assistant.
|
||||
|
||||
## Services (Legacy API Only)
|
||||
|
||||
They Legacy API supports additional services for home/away/eta that are not
|
||||
supported by the SDM API.
|
||||
|
||||
### Service `set_away_mode` (Legacy API Only)
|
||||
|
||||
You can use the service `nest/set_away_mode` to set the structure(s) to "Home" or "Away".
|
||||
|
||||
@ -118,7 +172,7 @@ script:
|
||||
- Apartment
|
||||
```
|
||||
|
||||
### Service `set_eta`
|
||||
### Service `set_eta` (Legacy API Only)
|
||||
|
||||
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.
|
||||
|
||||
@ -156,7 +210,7 @@ script:
|
||||
- Apartment
|
||||
```
|
||||
|
||||
### Service `cancel_eta`
|
||||
### Service `cancel_eta` (Legacy API Only)
|
||||
|
||||
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.
|
||||
|
||||
@ -189,7 +243,7 @@ script:
|
||||
- Apartment
|
||||
```
|
||||
|
||||
### Troubleshooting
|
||||
## Troubleshooting (Legacy API Only)
|
||||
|
||||
- If you're getting [rickrolled](https://www.youtube.com/watch?v=dQw4w9WgXcQ) 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.
|
||||
|
||||
@ -201,17 +255,17 @@ You must have the [Nest component](/integrations/nest/) configured to use the pl
|
||||
|
||||
</div>
|
||||
|
||||
## Binary Sensor
|
||||
### Binary Sensor (Legacy API Only)
|
||||
|
||||
The `nest` binary sensor platform lets you monitor various states of your [Nest](https://nest.com) devices.
|
||||
|
||||
<div class='note'>
|
||||
|
||||
You must have the [Nest component](/integrations/nest/) configured to use these sensors. The binary sensors will be setup if the `nest` integration is configured and the required configuration for the `nest binary sensor` is set.
|
||||
You must have the [Nest component](/integrations/nest/) configured to use these sensors. The binary sensors will be set up if the `nest` integration is configured and the required configuration for the `nest binary sensor` is set.
|
||||
|
||||
</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:
|
||||
|
||||
@ -224,7 +278,7 @@ nest:
|
||||
- 'target'
|
||||
```
|
||||
|
||||
By default all binary sensors for your available Nest devices will be monitored. Leave `monitored_conditions` blank to disable all binary sensors for the [Nest component](/integrations/nest/).
|
||||
By default, all binary sensors for your available Nest devices will be monitored. Leave `monitored_conditions` blank to disable all binary sensors for the [Nest component](/integrations/nest/).
|
||||
|
||||
{% configuration %}
|
||||
monitored_conditions:
|
||||
@ -251,19 +305,19 @@ The following conditions are available by device:
|
||||
- person\_detected
|
||||
- sound\_detected
|
||||
|
||||
## Camera
|
||||
### Camera (Legacy API Only)
|
||||
|
||||
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.
|
||||
|
||||
<div class='note'>
|
||||
|
||||
The `nest` camera will automatically be setup when you do.
|
||||
The `nest` camera will automatically be set up when you do.
|
||||
|
||||
</div>
|
||||
|
||||
Nest Camera supports the `camera.turn_on` and `camera.turn_off` services since the 0.75 release.
|
||||
|
||||
## Climate
|
||||
### Climate (Legacy API Only)
|
||||
|
||||
The `nest` climate platform lets you control a thermostat from [Nest](https://nest.com).
|
||||
|
||||
@ -275,17 +329,18 @@ 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.
|
||||
The `nest` sensor platform lets you monitor sensors connected to your [Nest](https://nest.com) devices. The SDM API supports these sensor traits:
|
||||
|
||||
- [Temperature](https://developers.google.com/nest/device-access/traits/device/temperature)
|
||||
- [Humidity](https://developers.google.com/nest/device-access/traits/device/humidity)
|
||||
|
||||
<div class='note'>
|
||||
|
||||
The sensors will be setup if the `nest` integration is configured and the required configuration for the `nest sensor` is set.
|
||||
|
||||
The SDM API will monitor all devices automatically once configured. The Legacy API has additional configuration for `nest sensor`.
|
||||
</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:
|
||||
|
||||
@ -298,7 +353,7 @@ nest:
|
||||
- 'target'
|
||||
```
|
||||
|
||||
By default all sensors for your available Nest devices will be monitored. Leave `monitored_conditions` blank to disable all sensors for the [Nest component](/integrations/nest/).
|
||||
By default all, sensors for your available Nest devices will be monitored. Leave `monitored_conditions` blank to disable all sensors for the [Nest component](/integrations/nest/).
|
||||
|
||||
{% configuration %}
|
||||
monitored_conditions:
|
||||
@ -325,7 +380,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 (Legacy Only)
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: notify
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `notify` integration makes it possible to send notifications to a wide variety of platforms. To use it you have to setup at least one notification target (notifier), check the [integrations list](/integrations/#notifications) for one that fits your use case.
|
||||
|
51
source/_integrations/notify.tts.markdown
Normal file
51
source/_integrations/notify.tts.markdown
Normal file
@ -0,0 +1,51 @@
|
||||
---
|
||||
title: "Notify using TTS"
|
||||
description: "Instructions on how to set up a Notify integration using TTS service and media_player within Home Assistant."
|
||||
ha_category:
|
||||
- Notifications
|
||||
ha_release: 0.117
|
||||
ha_iot_class: Local Push
|
||||
ha_quality_scale: internal
|
||||
ha_domain: notify
|
||||
---
|
||||
|
||||
The notify TTS platform lets you use the TTS integration [Service Say](/integrations/tts/#service-say) and a [media_player](/integrations/media_player) to alert you of important events. This integration provides a simple interface to use in your automations and alerts.
|
||||
|
||||
In order to use this integration, you must already have a TTS platform installed and configured, and a media_player working with the TTS platform.
|
||||
|
||||
To enable this platform in your installation, consider the following example using [google_translate](/integrations/google_translate/) and an example `media_player.living_room`.
|
||||
|
||||
In your `configuration.yaml` file type:
|
||||
|
||||
```yaml
|
||||
tts:
|
||||
- platform: google_translate
|
||||
service_name: google_say
|
||||
|
||||
notify:
|
||||
- platform: tts
|
||||
name: in_the_living_room
|
||||
tts_service: tts.google_say
|
||||
media_player: media_player.living_room
|
||||
```
|
||||
|
||||
Please note that the `tts_service` parameter, must match the `service_name` defined in the TTS integration.
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The name of the notify service.
|
||||
required: true
|
||||
type: string
|
||||
tts_service:
|
||||
description: "The `service_name` of a TTS platform."
|
||||
required: true
|
||||
type: string
|
||||
media_player:
|
||||
description: "The `entity_id` of a media_player."
|
||||
required: true
|
||||
type: string
|
||||
language:
|
||||
description: "The `language` to be passed to the TTS `Service Say`"
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: onboarding
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
This integration creates the endpoints for the onboarding that is built into Home Assistant. There are no configuration options for this integration directly.
|
||||
|
@ -7,6 +7,7 @@ ha_release: 0.12
|
||||
ha_iot_class: Local Polling
|
||||
ha_codeowners:
|
||||
- '@garbled1'
|
||||
- '@epenet'
|
||||
ha_domain: onewire
|
||||
---
|
||||
|
||||
@ -34,7 +35,7 @@ Notes:
|
||||
|
||||
- The TAI-8570 Pressure Sensor is based on a 1-wire composite device by AAG Electronica. It contains, above 1-wire components, also a barometer, hygrometer and illuminance sensors. This onewire platform can read and present values from that device.
|
||||
|
||||
- Each 1-wire component data sheet describes the different properties the component provides. The owfs software adds some extra tools to make it easier for DIY implementers to use the component. By hobbyists, it is quite common to use DS2438 Smart Battery Monitor as a multipurpose measurement node that can place temperature, humidity and luminosity on the 1-wire bus by just adding some standard components to the DS2438. For different component types, there are ready-made algorithms implemented in owfs. Those are exposed by the owfs software and can be read by this platform. The B1-R1-A/pressure is exposed as a barometric pressure sensor. S2-R1-A/illuminance is presented as an illuminance sensor. For a more detailed description of these properties, refer to the [owfs documentation](https://owfs.org/index_php_page_ds2438.html).
|
||||
- Each 1-wire component data sheet describes the different properties the component provides. The [owfs software](https://github.com/owfs/owfs) adds some extra tools to make it easier for DIY implementers to use the component. By hobbyists, it is quite common to use DS2438 Smart Battery Monitor as a multipurpose measurement node that can place temperature, humidity and luminosity on the 1-wire bus by just adding some standard components to the DS2438. For different component types, there are ready-made algorithms implemented in owfs. Those are exposed by the owfs software and can be read by this platform. The B1-R1-A/pressure is exposed as a barometric pressure sensor. S2-R1-A/illuminance is presented as an illuminance sensor. For a more detailed description of these properties, refer to the [owfs documentation](https://owfs.org/index_php_page_ds2438.html).
|
||||
For this component, the more basic quantities temperature, VAD, VDD and IAD is exported as separate sensors.
|
||||
|
||||
- Hobbyboards is a company that has been selling DIY boards of different kinds. The company has been away from the market for some time, so no reference to the boards can be made. This platform has an implementation for some of those.
|
||||
@ -44,9 +45,9 @@ Notes:
|
||||
The 1-Wire bus can be connected directly to the IO pins of Raspberry Pi or by using a dedicated interface adapter, for example
|
||||
[DS9490R](https://datasheets.maximintegrated.com/en/ds/DS9490-DS9490R.pdf) or adapters based on [DS2482-100](https://datasheets.maximintegrated.com/en/ds/DS2482-100.pdf) that can be directly attached to the IO pins on the Raspberry Pi.
|
||||
|
||||
It is also possible for this platform to interface with a remote 1-wire host over a network connection using ofws and owserver.
|
||||
It is also possible for this platform to interface with a remote 1-wire host over a network connection using owfs and owserver.
|
||||
|
||||
## Raspberry Pi set up
|
||||
### Raspberry Pi set up
|
||||
|
||||
In order to setup 1-Wire support on Raspberry Pi, you'll need to edit `/boot/config.txt`. This file can not be edited through ssh. You have to put your SD card to a PC, and edit the file directly.
|
||||
To edit `/boot/config.txt` on the Home Assistant Operating System, use [this documentation](https://developers.home-assistant.io/docs/operating-system/debugging.html) to enable SSH and edit `/mnt/boot/config.txt` via `vi`.
|
||||
@ -81,28 +82,14 @@ You can read about further parameters in this documentation: [Raspberry Pi Tutor
|
||||
When using the GPIO pins on Raspberry Pi directly as a 1-wire bus, the description above uses two kernel modules. `1w_gpio`, that implements the 1-wire protocol, and `1w_therm`, that understands the DS18B20 (family 28) components inner structure and reports temperature.
|
||||
There is no support for other device types (families) and hence this onewire platform only supports temperature measurements from family 28 devices.
|
||||
|
||||
## Raspberry Pi checking connected devices via ssh
|
||||
### Raspberry Pi checking connected devices via ssh
|
||||
|
||||
If you set up ssh, you can check the connected one-wire devices in the following folder: /sys/bus/w1/devices
|
||||
The device IDs begin with `28-`.
|
||||
|
||||
## Interface adapter setup
|
||||
|
||||
### owserver
|
||||
|
||||
`owsever` on Linux hosts is part of the [owfs 1-Wire file system](https://owfs.org/). When a 1-wire interface adapter is used, you can access sensors on a remote or local Linux host that is running `owserver`. `owserver` by default runs on port 4304. Use the `host` option to specify the host or IP of the remote server, and the optional `port` option to change the port from the default.
|
||||
|
||||
### owfs - (Soon to be deprecated)
|
||||
|
||||
It is also possible to use `owfs`, the filesystem portion of the package, to access 1-wire sensors but not advised as it will be deprecated in an upcoming release. See this [pull request](https://github.com/home-assistant/core/pull/42041) for more information.
|
||||
|
||||
The [owfs project page on GitHub](https://github.com/owfs/owfs) says:
|
||||
|
||||
> Despite the project name, the owfs package itself is **NOT** recommended for any real use, it has well known issues with races etc.
|
||||
|
||||
If you still choose to use `owfs`, the `mount_dir` option must be configured to correspond to a directory, where owfs device tree has been mounted. On systems where Home Assistant runs in a Docker container `owfs` cannot escape that environment and hence cannot populate the `mount_dir`. Use the `owserver` method on these systems instead.
|
||||
|
||||
|
||||
`owserver` on Linux hosts is part of the [owfs 1-Wire file system](https://owfs.org/). When a 1-wire interface adapter is used, you can access sensors on a remote or local Linux host that is running `owserver`. `owserver` by default runs on port 4304. Use the `host` option to specify the host or IP of the remote server, and the optional `port` option to change the port from the default.
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -119,10 +106,6 @@ names:
|
||||
description: ID and friendly name of your sensors.
|
||||
required: false
|
||||
type: string
|
||||
mount_dir:
|
||||
description: Location of device tree if owfs driver used.
|
||||
required: false
|
||||
type: string
|
||||
host:
|
||||
description: Remote or localhost running owserver.
|
||||
required: false
|
||||
|
@ -66,6 +66,15 @@ this operation.
|
||||
| ---------------------- | -------- | -------------------------------------------------- |
|
||||
| `instance_id` | no | The OZW Instance/Controller to use, defaults to 1. |
|
||||
|
||||
### Service `ozw.cancel_command`
|
||||
|
||||
This service will cancel a pending command. Typically used if the add or remove node
|
||||
services have been called but no node was added or removed.
|
||||
|
||||
| Service Data Attribute | Required | Description |
|
||||
| ---------------------- | -------- | -------------------------------------------------- |
|
||||
| `instance_id` | no | The OZW Instance/Controller to use, defaults to 1. |
|
||||
|
||||
### Service `ozw.set_usercode`
|
||||
|
||||
This service will set the usercode to X at code slot Y.
|
||||
@ -98,7 +107,24 @@ LED colors on switches.
|
||||
| `instance_id` | no | The OZW Instance/Controller to use, defaults to 1. |
|
||||
| `node_id` | yes | Node id of the device to set configuration parameter to (integer). |
|
||||
| `parameter` | yes | Parameter number to set (integer). |
|
||||
| `value` | yes | Value to set for parameter. (String or integer value for list, string for bool parameters, integer for others). |
|
||||
| `value` | yes | Value to set for parameter. (String or integer value for list, string or boolean for bool parameters, list of dicts for bitset parameters (see example below), integer for others). |
|
||||
|
||||
|
||||
#### Example BitSet service call
|
||||
|
||||
Here is an example of what to send to the service for a BitSet parameter:
|
||||
|
||||
```yaml
|
||||
node_id: 4
|
||||
parameter: 5
|
||||
value:
|
||||
- position: 1
|
||||
value: true
|
||||
- label: Humidity
|
||||
value: false
|
||||
- position: 3
|
||||
value: false
|
||||
```
|
||||
|
||||
## Events
|
||||
|
||||
|
@ -6,8 +6,6 @@ ha_category:
|
||||
ha_release: 0.17
|
||||
ha_iot_class: Local Polling
|
||||
ha_domain: panasonic_viera
|
||||
ha_codeowners:
|
||||
- '@joogps'
|
||||
ha_config_flow: true
|
||||
---
|
||||
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/frontend'
|
||||
ha_domain: panel_custom
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `panel_custom` support allows you to add additional panels to your Home Assistant frontend. The panels are listed in the sidebar if wished and can be highly customized. See the developer documentation on [instructions how to build your own panels](https://developers.home-assistant.io/docs/frontend/custom-ui/creating-custom-panels/).
|
||||
|
@ -70,6 +70,15 @@ Plays a song, album, artist, playlist, TV show/season/episode, movie, or video o
|
||||
|
||||
Required fields within the `media_content_id` payloads are marked as such, others are optional.
|
||||
|
||||
<div class='note info'>
|
||||
|
||||
Refer to these links if casting to non-Plex players:
|
||||
|
||||
- [Chromecast](/integrations/cast/#plex)
|
||||
- [Sonos](/integrations/plex#sonos-playback)
|
||||
|
||||
</div>
|
||||
|
||||
#### Music
|
||||
|
||||
| Service data attribute | Description |
|
||||
|
37
source/_integrations/profiler.markdown
Normal file
37
source/_integrations/profiler.markdown
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
title: Profiler
|
||||
description: Profile Home Assistant.
|
||||
ha_category:
|
||||
- Utility
|
||||
ha_release: 0.117
|
||||
ha_quality_scale: internal
|
||||
ha_domain: profiler
|
||||
ha_codeowners:
|
||||
- '@bdraco'
|
||||
ha_config_flow: true
|
||||
---
|
||||
|
||||
The Profiler integration provides a profile which is a set of statistics that identifies how much time each part of Home Assistant is taking. It can help track down a performance issue or provide insight about a misbehaving integration.
|
||||
|
||||
## Configuration
|
||||
|
||||
To add `Profiler` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Profiler**.
|
||||
|
||||
### Service `profiler.start`
|
||||
|
||||
Start the profiler for the specified number of seconds.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `seconds` | yes | The number of seconds to run the profile. Defaults to 60.0
|
||||
|
||||
When the profile is complete, Profiler will generate a Python `cprof` and a `callgrind.out` file in your configuration directory. The exact path to these files will appear in a persistent notification so they can be easily located and copied to your desktop.
|
||||
|
||||
The `cprof` file can be viewed with:
|
||||
|
||||
[SnakeViz](https://jiffyclub.github.io/snakeviz/)
|
||||
[Gprof2dot](https://github.com/jrfonseca/gprof2dot)
|
||||
|
||||
Additionally, the profiler will generate a `callgrind.out` file that can be viewed with:
|
||||
|
||||
[kcachegrind](https://kcachegrind.github.io/) or qcachegrind
|
@ -7,7 +7,7 @@ ha_category:
|
||||
ha_release: 0.13
|
||||
ha_quality_scale: internal
|
||||
ha_domain: proximity
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `proximity` integration allows you to monitor the proximity of devices to a particular [zone](/integrations/zone/) and the direction of travel. The result is an entity created in Home Assistant which maintains the proximity data.
|
||||
|
@ -6,7 +6,6 @@ ha_category:
|
||||
- Notifications
|
||||
ha_iot_class: Cloud Push
|
||||
ha_release: 0.39
|
||||
ha_iot_class: Cloud Push
|
||||
ha_domain: pushsafer
|
||||
---
|
||||
|
||||
|
@ -84,14 +84,56 @@ The `rachio` switch platform allows you to toggle zones and schedules connected
|
||||
|
||||
Once configured, a switch will be added for every zone that is enabled on every controller in the account provided and a switch to start or stop every schedule on a controller. There will also be a switch to toggle each controller's standby mode, as well as to activate a 24 hour rain delay on the device.
|
||||
|
||||
## Service
|
||||
## Services
|
||||
|
||||
Rachio has one service that allows for setting the moisture percentage of a zone or group of zones. As Rachio only uses moisture levels for zones in a Flex Daily schedule, this service is only available when at least one zone is part of a Flex Daily schedule.
|
||||
### Service `rachio.start_multiple_zone_schedule`
|
||||
|
||||
Allows a list of zones to be passed with a corresponding list of durations to create a custom schedule directly from Home Assistant.
|
||||
|
||||
<div class='note'>
|
||||
It is not currently possible to have zones from multiple controllers in the same custom schedule.
|
||||
</div>
|
||||
|
||||
Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | List of zones to run. Will be run in the order listed.
|
||||
| `duration` | no | Duration in minutes to run the zones. If a list of durations is provided, each duration will apply to the corresponding zone listed above. Alternatively, one duration can be provided and will be used for all zones.
|
||||
|
||||
### Examples
|
||||
|
||||
```yaml
|
||||
#Example sctipt to start multiple zones with individual duration for each zone.
|
||||
script:
|
||||
run_grass_zones:
|
||||
sequence:
|
||||
- service: rachio.start_multiple_zone_schedule
|
||||
data:
|
||||
entity_id:
|
||||
- switch.front_yard_west
|
||||
- switch.front_yard_east
|
||||
- switch.side_yard_west
|
||||
duration: 20, 15, 10
|
||||
```
|
||||
|
||||
```yaml
|
||||
#Example sctipt to start multiple zones with one duration for all zones.
|
||||
script:
|
||||
run_grass_zones:
|
||||
sequence:
|
||||
- service: rachio.start_multiple_zone_schedule
|
||||
data:
|
||||
entity_id:
|
||||
- switch.front_yard_west
|
||||
- switch.front_yard_east
|
||||
- switch.side_yard_west
|
||||
duration: 20
|
||||
```
|
||||
### Service `rachio.set_zone_moisture_percent`
|
||||
|
||||
Set the zone moisture percentage for a zone or group of zones.
|
||||
|
||||
Rachio allows for setting the moisture percentage of a zone or group of zones. As Rachio only uses moisture levels for zones in a Flex Daily schedule, this service is only available when at least one zone is part of a Flex Daily schedule.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String, list or group of zones to set moisture percentage.
|
||||
|
@ -22,47 +22,10 @@ There is currently support for the following device types within Home Assistant:
|
||||
- Sensor
|
||||
- [Switch](#switch)
|
||||
|
||||
## Base Configuration
|
||||
## Configuration
|
||||
|
||||
To connect to your RainMachine device, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
rainmachine:
|
||||
controllers:
|
||||
- ip_address: 192.168.1.100
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
ip_address:
|
||||
description: The IP address or hostname of your RainMachine unit.
|
||||
required: false
|
||||
type: string
|
||||
password:
|
||||
description: Your RainMachine password.
|
||||
required: true
|
||||
type: string
|
||||
port:
|
||||
description: The TCP port used by your unit for the REST API.
|
||||
required: false
|
||||
type: integer
|
||||
default: 8080
|
||||
ssl:
|
||||
description: Whether communication with the local device should occur over HTTPS.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
scan_interval:
|
||||
description: The frequency (in seconds) between data updates.
|
||||
required: false
|
||||
type: integer
|
||||
default: 60
|
||||
zone_run_time:
|
||||
description: The default number of seconds that a zone should run when turned on.
|
||||
required: false
|
||||
type: integer
|
||||
default: 600
|
||||
{% endconfiguration %}
|
||||
This integration can be configured via the Home Assistant UI by navigating to
|
||||
**Configuration** -> **Integrations**.
|
||||
|
||||
## Services
|
||||
|
||||
|
@ -3,7 +3,7 @@ title: Remote
|
||||
description: Instructions on how to setup your remotes with Home Assistant.
|
||||
ha_release: 0.34
|
||||
ha_domain: remote
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
Keeps track which remotes are in your environment, their state and allows you to control them.
|
||||
|
@ -10,13 +10,15 @@ ha_category:
|
||||
- Sensor
|
||||
ha_iot_class: Local Push
|
||||
ha_release: pre 0.7
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@danielhiversen'
|
||||
- '@elupus'
|
||||
- '@RobBie1221'
|
||||
ha_domain: rfxtrx
|
||||
---
|
||||
|
||||
The `rfxtrx` integration supports RFXtrx devices by [RFXCOM](http://www.rfxcom.com), which communicate in the frequency range of 433.92 MHz.
|
||||
The RFXtrx integration supports RFXtrx devices by [RFXCOM](http://www.rfxcom.com), which communicate in the frequency range of 433.92 MHz.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
@ -26,96 +28,319 @@ There is currently support for the following device types within Home Assistant:
|
||||
- [Sensor](#sensors)
|
||||
- [Binary Sensor](#binary-sensors)
|
||||
|
||||
To enable RFXtrx in your installation, something like the following to your `configuration.yaml` file.
|
||||
## Configuration
|
||||
|
||||
*Direct serial connection*
|
||||
To add RFXtrx integration go to **Configuration** >> **Integrations** and find the integration in the list. Choose between **Serial** or **Network**. For network configure host and port. For serial, a list of detected devices is presented. Choose the RFXCOM device or select **Enter Manually** to fill in the USB path manually.
|
||||
|
||||
To receive debug logging from the RFXCOM device, add the following lines to `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for local serial device
|
||||
rfxtrx:
|
||||
device: /dev/ttyUSB0
|
||||
logger:
|
||||
log:
|
||||
RFXtrx: debug
|
||||
```
|
||||
|
||||
*Network connection*
|
||||
## Supported protocols
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for TCP connected device using ser2net
|
||||
rfxtrx:
|
||||
host: 192.168.0.2
|
||||
port: 50000
|
||||
Not all protocols as advertised are enabled on the initial setup of your transceiver. Enabling all protocols is not recommended either. Your 433.92 product not showing in the logs? Visit the RFXtrx website to [download RFXmgmr](http://www.rfxcom.com/epages/78165469.sf/en_GB/?ViewObjectPath=%2FShops%2F78165469%2FCategories%2FDownloads) and enable the required protocol.
|
||||
|
||||
## ser2net
|
||||
|
||||
You can host your device on another computer by setting up ser2net and example configuration for ser2net looks like this and then using host/port in your Home Assistant configuration.
|
||||
|
||||
```text
|
||||
50000:raw:0:/dev/ttyUSB0:38400 8DATABITS NONE 1STOPBIT
|
||||
```
|
||||
|
||||
*Network connection with multiple devices*
|
||||
## Settings options
|
||||
|
||||
```yaml
|
||||
# Example configuration with several devices
|
||||
rfxtrx:
|
||||
host: 192.168.0.2
|
||||
port: 50000
|
||||
devices:
|
||||
# Siemens/LightwaveRF Shutter
|
||||
0b1100ce3213c7f210010f70:
|
||||
# RFY Shutter
|
||||
071a00000a000101:
|
||||
To configure options for RFXtrx integration go to **Configuration** >> **Integrations** and press **Options** on the RFXtrx card.
|
||||
|
||||
# Light 1
|
||||
0b11000f10e9e5660b010f70:
|
||||
# Light TV
|
||||
0b1100100f29e5660c010f70:
|
||||
<img src='/images/integrations/rfxtrx/options.png' />
|
||||
|
||||
# Binary Sensor
|
||||
0913000022670e013b70:
|
||||
### Automatic add
|
||||
|
||||
# Binary Sensor with data bits setup
|
||||
0913000022670e013b70:
|
||||
device_class: opening
|
||||
data_bits: 4
|
||||
command_on: 0xe
|
||||
command_off: 0x7
|
||||
In the options menu, select *Enable automatic add* to enable automatic addition of detected devices. This is the easiest way to detect binary sensors, sensors or switches from a physical device. Once automatic add is enabled, newly detected devices are automatically added and can be found by clicking devices on the RFXtrx integration card.
|
||||
|
||||
# Switch 1
|
||||
0b1100ce3213c7f210010f70:
|
||||
# Switch 2
|
||||
0b11000a02ef2gf210010f50:
|
||||
# Switch 3
|
||||
0b1111e003af16aa10000060:
|
||||
fire_event: true
|
||||
#### Covers
|
||||
|
||||
# Sensor
|
||||
0a52080000301004d240259:
|
||||
The RFXtrx integration supports Siemens/LightwaveRF and RFY roller shutters that communicate in the frequency range of 433.92 MHz.
|
||||
|
||||
#### Lights
|
||||
|
||||
The RFXtrx integration support lights that communicate in the frequency range of 433.92 MHz.
|
||||
|
||||
Make sure you trigger a dimming command to get switches detected as lights otherwise, they will show up as switches.
|
||||
|
||||
#### Switches
|
||||
|
||||
The RFXtrx integration support switches that communicate in the frequency range of 433.92 MHz.
|
||||
|
||||
#### Sensors
|
||||
|
||||
The RFXtrx integration support sensors that communicate in the frequency range of 433.92 MHz.
|
||||
|
||||
Also, several switches and other devices will also expose sensor entities with battery status as well as the signal level.
|
||||
|
||||
#### Binary Sensors
|
||||
|
||||
The RFXtrx integration support binary sensors that communicate in the frequency range of 433.92 MHz. The RFXtrx binary sensor integration provides support for them. Many cheap sensors available on the web today are based on a particular RF chip called *PT-2262*. Depending on the running firmware on the RFXcom box, some of them may be recognized under the X10 protocol, but most of them are recognized under the *Lighting4* protocol. The RFXtrx binary sensor integration provides some special options for them, while other RFXtrx protocols should work too.
|
||||
|
||||
### Add a device by event code
|
||||
|
||||
To manually add a device, in the options window, an event code can be added in the field *Enter event code to add*.
|
||||
|
||||
See [Generate codes](#generate-codes) how to generate event codes.
|
||||
|
||||
#### RFY
|
||||
|
||||
The [RFXtrx433e](http://www.rfxcom.com/RFXtrx433E-USB-43392MHz-Transceiver/en) is required for RFY support, however, it does not support receive for the RFY protocol - as such devices cannot be automatically added. Instead, configure the device in the [rfxmngr](http://www.rfxcom.com/downloads.htm) tool. Make a note of the assigned ID and Unit Code and then add a device to the configuration with the following id `071a0000[id][unit_code]`. E.g., if the id was `0a` `00` `01`, and the unit code was `01` then the fully qualified id would be `071a00000a000101`, if you set your id/code to single digit in the rfxmngr, e.g., id: `1` `02` `04` and unit code: `1` you will need to add `0` before, so `102031` becomes `071a000001020301`.
|
||||
|
||||
#### Convert switch event to dimming event
|
||||
|
||||
To convert a standard switch to a light, use the [Light Switch](/integrations/light.switch/) component.
|
||||
|
||||
To convert a switch to a dimmable light, make sure the event contains a dimming command. You can usually convert a command by changing one byte.
|
||||
|
||||
<img src='/images/integrations/rfxtrx/switch_light.png' />
|
||||
|
||||
Copy the event code from the state attribute of the switch, which shows up on the bottom of the window when clicking on the switch entity. Examples of byte changes:
|
||||
|
||||
*ARC:*<br>
|
||||
0b11000248bc0cfe09 **01** 0f70<br>
|
||||
0b11000248bc0cfe09 **02** 0f70
|
||||
|
||||
*LightwaveRF:*<br>
|
||||
0a14000101f20302 **01** 0080<br>
|
||||
0a14000101f20302 **10** 0080
|
||||
|
||||
*Waveman:*<br>
|
||||
710030e4102 **01** 50<br>
|
||||
710030e4102 **02** 50
|
||||
|
||||
### Configure device options
|
||||
|
||||
To configure device options, select a device from the list under *Select device to configure*. After pressing *Submit* a window with device options are presented based on the device type.
|
||||
|
||||
<div class='note warning'>
|
||||
If a device is missing from the list, close the options window and either make sure the device sents a command or manually re-add the device by event code.
|
||||
</div>
|
||||
|
||||
#### Signal repetitions
|
||||
|
||||
Because the RFXtrx device sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the RFXtrx device to try to send each signal repeatedly.
|
||||
|
||||
#### Device events
|
||||
|
||||
To enable device events, use the checkbox *Enable device event*. See [Events](#events) for more information about device events.
|
||||
|
||||
#### Off Delay
|
||||
|
||||
Binary sensors have only two states - "on" and "off". Many door or window opening sensors will send a signal each time the door/window is open or closed. However, depending on their hardware or on their purpose, some sensors are only able to signal their "on" state:
|
||||
|
||||
- Most motion sensors send a signal each time they detect motion. They stay "on" for a few seconds and go back to sleep, ready to signal other motion events. Usually, they do not send a signal when they go back to sleep.
|
||||
- Some doorbells may also only send "on" signals when their toggle switch is pressed, but no "off" signal when the switch is released.
|
||||
|
||||
For those devices, use the *off_delay* parameter. It defines a delay after, which a device will go back to an "Off" state. That "Off" state will be fired internally by Home Assistant, just as if the device fired it by itself. If a motion sensor can only send signals once every 5 seconds, sets the *off_delay* parameter to *seconds: 5*.
|
||||
|
||||
#### Options for PT-2262 devices under the Lighting4 protocol
|
||||
|
||||
When a data packet is transmitted by a PT-2262 device using the Lighting4 protocol, there is no way to automatically extract the device identifier and the command from the packet. Each device has its own id/command length combination and the field lengths are not included in the data. One device that sends 2 different commands will be seen as 2 devices on Home Assistant. For such cases, the following options are available in order to circumvent the problem:
|
||||
|
||||
- **data_bits**
|
||||
- **command_on**
|
||||
- **command_off**
|
||||
|
||||
Let's try to add a new PT-2262 sensor using the "automatic_add" option and have a look at Home Assistant system log.
|
||||
|
||||
Have your sensor trigger the "On" state for the first time.
|
||||
Some messages will appear:
|
||||
|
||||
```text
|
||||
INFO (Thread-6) [homeassistant.components.binary_sensor.rfxtrx] Added binary sensor 0913000022670e013970 (Device_id: 22670e Class: LightingDevice Sub: 0)
|
||||
```
|
||||
|
||||
*Use remote to enable scene (using event_data)*
|
||||
Here the sensor has the id *22670e*.
|
||||
|
||||
Now have your sensor trigger the "Off" state and look for the following message in the Home Assistant log. You should see that your device has been detected as a *new* device when triggering its "Off" state:
|
||||
|
||||
```text
|
||||
INFO (Thread-6) [homeassistant.components.binary_sensor.rfxtrx] Added binary sensor 09130000226707013d70 (Device_id: 226707 Class: LightingDevice Sub: 0)
|
||||
```
|
||||
|
||||
Here the device id is *226707*, which is almost similar to the *22670e* we had on the "On" event a few seconds ago.
|
||||
|
||||
From those two values, you can guess that the actual id of your device is *22670*, and that *e* and *7* are commands for "On" and "Off" states respectively. As one hexadecimal digit uses 4 bits, we can conclude that the device is using 4 data bits.
|
||||
|
||||
So, here is the actual configuration section for the binary sensor:
|
||||
|
||||
```yaml
|
||||
rfxtrx:
|
||||
host: 192.168.0.2
|
||||
port: 50000
|
||||
devices:
|
||||
# Light 1
|
||||
0b1100ce3213c7f210010f70:
|
||||
# LIght 2
|
||||
0b11000a02ef2gf210010f50:
|
||||
# Keychain remote
|
||||
0b1111e003af16aa10000060:
|
||||
fire_event: true
|
||||
data_bits: 4
|
||||
command_on: 0xe
|
||||
command_off: 0x7
|
||||
```
|
||||
|
||||
The *automatic_add* option makes the RFXtrx binary sensor integration calculate
|
||||
and display the configuration options for you in the Home Assistant logs:
|
||||
|
||||
```text
|
||||
INFO (Thread-6) [homeassistant.components.rfxtrx] rfxtrx: found possible device 226707 for 22670e with the following configuration:
|
||||
data_bits=4
|
||||
command_on=0xe
|
||||
command_off=0x7
|
||||
INFO (Thread-6) [homeassistant.components.binary_sensor.rfxtrx] Found possible matching deviceid 22670e.
|
||||
```
|
||||
|
||||
This automatic guess should work most of the time, but there is no guarantee on that. You should activate it only when you want to configure your new devices and leave it off otherwise.
|
||||
|
||||
#### Replace device
|
||||
|
||||
Some battery-powered devices send commands or data with a randomly generated id. When batteries are replaced, the id changes. In order to use the device, it needs to be re-added either through automatic add or manually. This will create a new device. To transfer user-configured names and entity ids of the old device, select the old device in the options menu under *Select device to configure*. In the device options menu, select from the *Select device to replace* menu the new device and press *Submit*. The names and ids of the old device will be transferred to the new device and the old device will be automatically deleted.
|
||||
|
||||
### Delete device
|
||||
|
||||
To delete device(s) from the configuration, select one or more devices under *Select device to delete*. Press *Submit* to delete the selected devices.
|
||||
|
||||
## Events
|
||||
|
||||
The RFXtrx integration will signal an event on the reception of messages from and RFXtrx device on the following form. For the signal to be available, the `fire_event` parameter must be set on the device in configuration.
|
||||
|
||||
*Signal from a byron doorbell button:*
|
||||
|
||||
```yaml
|
||||
packet_type: 22
|
||||
sub_type: 0
|
||||
type_string: "Byron SX"
|
||||
id_string: "00:90"
|
||||
data: "0716000100900970"
|
||||
values:
|
||||
Sound: 9
|
||||
Battery numeric: 0
|
||||
Rssi numeric: 7
|
||||
```
|
||||
|
||||
*Event data from a Nexa wall socket switch:*
|
||||
|
||||
```yaml
|
||||
packet_type: 16
|
||||
sub_type: 1
|
||||
type_string: 'ARC'
|
||||
id_string': 'C3'
|
||||
data: '0710010143030170'
|
||||
values':
|
||||
Command: 'On'
|
||||
Rssi numeric': 7
|
||||
```
|
||||
|
||||
You can set up automations to react to these events. When you do, don't include more fields than needed. Always include the device identifying fields, `packet_type`, `sub_type` and `id_string`.
|
||||
|
||||
So, for example, to trigger an action when somebody presses the doorbell, you would set up an automation with the following trigger:
|
||||
|
||||
*Automation trigger:*
|
||||
|
||||
```yaml
|
||||
- platform: event
|
||||
event_type: rfxtrx_event
|
||||
event_data:
|
||||
packet_type: 22
|
||||
sub_type: 0
|
||||
id_string: "00:90"
|
||||
values:
|
||||
Sound: 9
|
||||
```
|
||||
|
||||
*A more complete example with scene activation:*
|
||||
|
||||
```yaml
|
||||
light:
|
||||
platform: demo
|
||||
|
||||
scene:
|
||||
name: Livingroom
|
||||
name: WelcomeScene
|
||||
entities:
|
||||
switch.light1: on
|
||||
switch.light2: on
|
||||
light.bed_light: on
|
||||
light.ceiling_lights: off
|
||||
|
||||
automation:
|
||||
- alias: Use remote to enable scene
|
||||
- alias: Use doorbell button to trigger scene
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: button_pressed
|
||||
event_data: {"state": "on", "entity_id": "switch.keychain_remote"}
|
||||
- platform: event
|
||||
event_type: rfxtrx_event
|
||||
event_data:
|
||||
packet_type: 22
|
||||
sub_type: 0
|
||||
id_string: "00:90"
|
||||
values:
|
||||
Sound: 9
|
||||
action:
|
||||
service: scene.turn_on
|
||||
entity_id: scene.livingroom
|
||||
entity_id: scene.welcomescene
|
||||
```
|
||||
|
||||
## Services
|
||||
|
||||
- `rfxtrx.send`: Send a custom event using the RFXtrx device.
|
||||
|
||||
#### Service: Send
|
||||
|
||||
Simulate a button being pressed:
|
||||
|
||||
```yaml
|
||||
...
|
||||
action:
|
||||
service: rfxtrx.send
|
||||
data:
|
||||
event: 0b1111e003af16aa10000060
|
||||
```
|
||||
|
||||
|
||||
## Generate codes
|
||||
|
||||
If you need to generate codes for switches and lights, you can use a template (useful, for example, COCO switches).
|
||||
|
||||
- Go to home-assistant-IP:8123/dev-template
|
||||
- Use the following codes to generate an event:
|
||||
|
||||
*Switch: ARC*
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
0b11000{{ range(100,700) | random | int }}bc0cfe0{{ range(0,10) | random | int }}010f70
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
*Light: ARC*
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
0b11000{{ range(100,700) | random | int }}bc0cfe0{{ range(0,10) | random | int }}020f70
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
|
||||
*Light: Lightwave RF*
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
0a14000{{ range(100,700) | random | int }}bc0cf{{ range(0,10) | random | int }}100f70
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
|
||||
- Use this code to add a new switch in the options menu.
|
||||
- Launch your Home Assistant and go to the website.
|
||||
- Enable learning mode on your switch (i.e., push learn button or plug it in a wall socket)
|
||||
- Toggle your new switch in the Home Assistant interface
|
||||
|
||||
## Configuration import
|
||||
|
||||
When RFXtrx integration is configured in `configuration.yaml`, the configuration will be imported once. After import, the configuration can be removed from `configuration.yaml`.
|
||||
|
||||
{% configuration %}
|
||||
device:
|
||||
description: "The path to your device, e.g., `/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1Y0NJGR-if00-port0` or `/dev/ttyUSB0`. Required if you are using a locally connected USB device."
|
||||
@ -184,346 +409,3 @@ automatic_add:
|
||||
If a device ID consists of only numbers, please make sure to surround it with quotes.
|
||||
This is a known limitation in YAML, because the device ID will be interpreted as a number otherwise.
|
||||
</div>
|
||||
|
||||
## Supported protocols
|
||||
|
||||
Not all protocols as advertised are enabled on the initial setup of your transceiver. Enabling all protocols is not recommended either. Your 433.92 product not showing in the logs? Visit the RFXtrx website to [download RFXmgmr](http://www.rfxcom.com/epages/78165469.sf/en_GB/?ViewObjectPath=%2FShops%2F78165469%2FCategories%2FDownloads) and enable the required protocol.
|
||||
|
||||
### ser2net
|
||||
|
||||
You can host your device on another computer by setting up ser2net and example configuration for ser2net looks like this and then using host/port in your Home Assistant configuration.
|
||||
|
||||
```text
|
||||
50000:raw:0:/dev/ttyUSB0:38400 8DATABITS NONE 1STOPBIT
|
||||
```
|
||||
|
||||
## Setting up your devices
|
||||
|
||||
Once you have set up your [RFXtrx hub](/integrations/rfxtrx/), the easiest way
|
||||
to find your binary sensors is to enable automatic add in `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
rfxtrx:
|
||||
automatic_add: true
|
||||
host: 192.168.0.2
|
||||
port: 50000
|
||||
```
|
||||
|
||||
Open your Home Assistant frontend and go to the "states" page.
|
||||
Then make sure to trigger your sensor. You should see several new entities
|
||||
appear in the *Current entities* list, by looking at the entities attribute, you can look at the last received event, which can be added to the configuration.
|
||||
|
||||
For example: "0913000022670e013b70". Then you should update your configuration to:
|
||||
|
||||
```yaml
|
||||
rfxtrx:
|
||||
automatic_add: false
|
||||
host: 192.168.0.2
|
||||
port: 50000
|
||||
devices:
|
||||
0913000022670e013b70:
|
||||
```
|
||||
|
||||
### Covers
|
||||
|
||||
The `rfxtrx` platform supports Siemens/LightwaveRF and RFY roller shutters that communicate in the frequency range of 433.92 MHz.
|
||||
|
||||
##### RFY
|
||||
|
||||
The [RFXtrx433e](http://www.rfxcom.com/RFXtrx433E-USB-43392MHz-Transceiver/en) is required for RFY support, however, it does not support receive for the RFY protocol - as such devices cannot be automatically added. Instead, configure the device in the [rfxmngr](http://www.rfxcom.com/downloads.htm) tool. Make a note of the assigned ID and Unit Code and then add a device to the configuration with the following id `071a0000[id][unit_code]`. E.g., if the id was `0a` `00` `01`, and the unit code was `01` then the fully qualified id would be `071a00000a000101`, if you set your id/code to single digit in the rfxmngr, e.g., id: `1` `02` `04` and unit code: `1` you will need to add `0` before, so `102031` becomes `071a000001020301`.
|
||||
|
||||
### Lights
|
||||
|
||||
The `rfxtrx` platform support lights that communicate in the frequency range of 433.92 MHz.
|
||||
|
||||
Make sure you trigger a dimming command to get switches detected as lights otherwise, they will show up as switches.
|
||||
|
||||
#### Convert switch event to dimming event
|
||||
|
||||
To convert a standard switch to a light, use the [Light Switch](/integrations/light.switch/) component.
|
||||
|
||||
To convert a switch to a dimmable light, make sure the event contain a dimming command. You can usually convert a command by changing one byte.
|
||||
|
||||
*ARC:*<br>
|
||||
0b11000248bc0cfe09 **01** 0f70<br>
|
||||
0b11000248bc0cfe09 **02** 0f70
|
||||
|
||||
*LightwaveRF:*<br>
|
||||
0a14000101f20302 **01** 0080<br>
|
||||
0a14000101f20302 **10** 0080
|
||||
|
||||
*Waveman:*<br>
|
||||
710030e4102 **01** 50<br>
|
||||
710030e4102 **02** 50
|
||||
|
||||
### Switches
|
||||
|
||||
The `rfxtrx` platform support switches that communicate in the frequency range of 433.92 MHz.
|
||||
|
||||
### Sensors
|
||||
|
||||
The `rfxtrx` platform support sensors that communicate in the frequency range of 433.92 MHz.
|
||||
|
||||
Also, several switches and other devices will also expose sensor entities with battery status as well as the signal level.
|
||||
|
||||
### Binary Sensors
|
||||
|
||||
The `rfxtrx` platform support binary sensors that
|
||||
communicate in the frequency range of 433.92 MHz.
|
||||
The RFXtrx binary sensor integration provides support for them.
|
||||
|
||||
Many cheap sensors available on the web today are based on a particular RF chip
|
||||
called *PT-2262*. Depending on the running firmware on the RFXcom box, some of
|
||||
them may be recognized under the X10 protocol, but most of them are recognized
|
||||
under the *Lighting4* protocol. The RFXtrx binary sensor integration provides
|
||||
some special options for them, while other RFXtrx protocols should work too.
|
||||
|
||||
#### Off Delay
|
||||
|
||||
Binary sensors have only two states - "on" and "off". Many door or window
|
||||
opening sensors will send a signal each time the door/window is open or closed.
|
||||
However, depending on their hardware or on their purpose,
|
||||
some sensors are only able to signal their "on" state:
|
||||
|
||||
- Most motion sensors send a signal each time they detect motion. They stay "on" for a few seconds and go back to sleep, ready to signal other motion events. Usually, they do not send a signal when they go back to sleep.
|
||||
- Some doorbells may also only send "on" signals when their toggle switch is pressed, but no "off" signal when the switch is released.
|
||||
|
||||
For those devices, use the *off_delay* parameter.
|
||||
It defines a delay after, which a device will go back to an "Off" state.
|
||||
That "Off" state will be fired internally by Home Assistant, just as if
|
||||
the device fired it by itself. If a motion sensor can only send signals
|
||||
once every 5 seconds, sets the *off_delay* parameter to *seconds: 5*.
|
||||
|
||||
Example configuration:
|
||||
|
||||
```yaml
|
||||
rfxtrx:
|
||||
automatic_add: false
|
||||
host: 192.168.0.2
|
||||
port: 50000
|
||||
devices:
|
||||
091300006ca2c6001080:
|
||||
device_class: motion
|
||||
off_delay:
|
||||
seconds: 5
|
||||
```
|
||||
|
||||
#### Options for PT-2262 devices under the Lighting4 protocol
|
||||
|
||||
When a data packet is transmitted by a PT-2262 device using the Lighting4
|
||||
protocol, there is no way to automatically extract the device identifier and the
|
||||
command from the packet. Each device has its own id/command length combination
|
||||
and the field lengths are not included in the data. One device that sends 2
|
||||
different commands will be seen as 2 devices on Home Assistant. For such cases,
|
||||
the following options are available in order to circumvent the problem:
|
||||
|
||||
- **data_bits** (*Optional*)
|
||||
- **command_on** (*Optional*)
|
||||
- **command_off** (*Optional*)
|
||||
|
||||
Let's try to add a new PT-2262 sensor using the "automatic_add"
|
||||
option and have a look at Home Assistant system log.
|
||||
|
||||
Have your sensor trigger the "On" state for the first time.
|
||||
Some messages will appear:
|
||||
|
||||
```text
|
||||
INFO (Thread-6) [homeassistant.components.binary_sensor.rfxtrx] Added binary sensor 0913000022670e013970 (Device_id: 22670e Class: LightingDevice Sub: 0)
|
||||
```
|
||||
|
||||
Here the sensor has the id *22670e*.
|
||||
|
||||
Now have your sensor trigger the "Off" state and look for the following
|
||||
message in the Home Assistant log. You should see that your device
|
||||
has been detected as a *new* device when triggering its "Off" state:
|
||||
|
||||
```text
|
||||
INFO (Thread-6) [homeassistant.components.binary_sensor.rfxtrx] Added binary sensor 09130000226707013d70 (Device_id: 226707 Class: LightingDevice Sub: 0)
|
||||
```
|
||||
|
||||
Here the device id is *226707*, which is almost similar to
|
||||
the *22670e* we had on the "On" event a few seconds ago.
|
||||
|
||||
From those two values, you can guess that the actual id of your device is
|
||||
*22670*, and that *e* and *7* are commands for "On" and "Off" states
|
||||
respectively. As one hexadecimal digit uses 4 bits,
|
||||
we can conclude that the device is using 4 data bits.
|
||||
|
||||
So, here is the actual configuration section for the binary sensor:
|
||||
|
||||
```yaml
|
||||
rfxtrx:
|
||||
automatic_add: false
|
||||
host: 192.168.0.2
|
||||
port: 50000
|
||||
devices:
|
||||
0913000022670e013b70:
|
||||
device_class: opening
|
||||
data_bits: 4
|
||||
command_on: 0xe
|
||||
command_off: 0x7
|
||||
```
|
||||
|
||||
The *automatic_add* option makes the RFXtrx binary sensor integration calculate
|
||||
and display the configuration options for you in the Home Assistant logs:
|
||||
|
||||
```text
|
||||
INFO (Thread-6) [homeassistant.components.rfxtrx] rfxtrx: found possible device 226707 for 22670e with the following configuration:
|
||||
data_bits=4
|
||||
command_on=0xe
|
||||
command_off=0x7
|
||||
INFO (Thread-6) [homeassistant.components.binary_sensor.rfxtrx] Found possible matching deviceid 22670e.
|
||||
```
|
||||
|
||||
This automatic guess should work most of the time, but there is
|
||||
no guarantee on that. You should activate it only when you
|
||||
want to configure your new devices and leave it off otherwise.
|
||||
|
||||
#### Known working devices
|
||||
|
||||
The following devices are known to work with the RFXtrx binary sensor component.
|
||||
There are too many other to list.
|
||||
|
||||
- Motion detectors:
|
||||
- Kerui P817 and P829.
|
||||
- Chuango PIR-700.
|
||||
|
||||
- Door / window sensors:
|
||||
- Kerui D026 door / window sensor: can trigger on "open" and "close". Has a tamper switch.
|
||||
- Nexa LMST-606.
|
||||
|
||||
## Events
|
||||
|
||||
The RFXtrx integration will signal an event on the reception of messages from and RFXtrx device on the following form. For the signal to be available, the `fire_event` parameter must be set on the device in configuration.
|
||||
|
||||
*Signal from a byron doorbell button:*
|
||||
|
||||
```yaml
|
||||
packet_type: 22
|
||||
sub_type: 0
|
||||
type_string: "Byron SX"
|
||||
id_string: "00:90"
|
||||
data: "0716000100900970"
|
||||
values:
|
||||
Sound: 9
|
||||
Battery numeric: 0
|
||||
Rssi numeric: 7
|
||||
```
|
||||
|
||||
*Event data from a Nexa wall socket switch:*
|
||||
|
||||
```yaml
|
||||
packet_type: 16
|
||||
sub_type: 1
|
||||
type_string: 'ARC'
|
||||
id_string': 'C3'
|
||||
data: '0710010143030170'
|
||||
values':
|
||||
Command: 'On'
|
||||
Rssi numeric': 7
|
||||
```
|
||||
|
||||
You can setup automations to react to these events. When you do don't include more fields than needed. Always include the device identifying fields, `packet_type`, `sub_type` and `id_string`.
|
||||
|
||||
So, for example, to trigger an action when somebody presses the doorbell, you would set up an automation with the following trigger:
|
||||
|
||||
*Automation trigger:*
|
||||
|
||||
```yaml
|
||||
- platform: event
|
||||
event_type: rfxtrx_event
|
||||
event_data:
|
||||
packet_type: 22
|
||||
sub_type: 0
|
||||
id_string: "00:90"
|
||||
values:
|
||||
Sound: 9
|
||||
```
|
||||
|
||||
*A more complete example with scene activation:*
|
||||
|
||||
```yaml
|
||||
light:
|
||||
platform: demo
|
||||
|
||||
scene:
|
||||
name: WelcomeScene
|
||||
entities:
|
||||
light.bed_light: on
|
||||
light.ceiling_lights: off
|
||||
|
||||
automation:
|
||||
- alias: Use doorbell button to trigger scene
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: rfxtrx_event
|
||||
event_data:
|
||||
packet_type: 22
|
||||
sub_type: 0
|
||||
id_string: "00:90"
|
||||
values:
|
||||
Sound: 9
|
||||
action:
|
||||
service: scene.turn_on
|
||||
entity_id: scene.welcomescene
|
||||
```
|
||||
|
||||
## Services
|
||||
|
||||
- `rfxtrx.send`: Send a custom event using the RFXtrx device.
|
||||
|
||||
#### Service: Send
|
||||
|
||||
Simulate a button being pressed:
|
||||
|
||||
```yaml
|
||||
...
|
||||
action:
|
||||
service: rfxtrx.send
|
||||
data:
|
||||
event: 0b1111e003af16aa10000060
|
||||
```
|
||||
|
||||
|
||||
## Generate codes
|
||||
|
||||
If you need to generate codes for switches and lights, you can use a template (useful for example COCO switches).
|
||||
|
||||
- Go to home-assistant-IP:8123/dev-template
|
||||
- Use the follwing codes to generate an event:
|
||||
|
||||
*Switch: ARC*
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
0b11000{{ range(100,700) | random | int }}bc0cfe0{{ range(0,10) | random | int }}010f70
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
*Light: ARC*
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
0b11000{{ range(100,700) | random | int }}bc0cfe0{{ range(0,10) | random | int }}020f70
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
|
||||
*Light: Lightwave RF*
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
0a14000{{ range(100,700) | random | int }}bc0cf{{ range(0,10) | random | int }}100f70
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
|
||||
- Use this code to add a new switch in your `configuration.yaml`.
|
||||
- Launch your Home Assistant and go to the website.
|
||||
- Enable learning mode on your switch (i.e., push learn button or plug it in a wall socket)
|
||||
- Toggle your new switch in the Home Assistant interface
|
||||
|
@ -40,4 +40,4 @@ Roon doesn't use file names or URLs to track media and so the roon integration i
|
||||
| `media_content_type` | no | A media type. Currently supported are `radio`, `playlist` and `genre` |
|
||||
|
||||
|
||||
For example to play BBC Radio 4 you would set `media_content_type` to `radio` and `media_content_id` to `BBC Radio 4`
|
||||
For example to play BBC Radio 4 you would set `media_content_type` to `radio` and `media_content_id` to `BBC Radio 4`
|
||||
|
46
source/_integrations/ruckus_unleashed.markdown
Normal file
46
source/_integrations/ruckus_unleashed.markdown
Normal file
@ -0,0 +1,46 @@
|
||||
---
|
||||
title: Ruckus Unleashed
|
||||
description: Instructions on how to integrate your Ruckus Unleashed device into Home Assistant.
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
ha_release: 0.117
|
||||
ha_iot_class: Local Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@gabe565'
|
||||
ha_domain: ruckus_unleashed
|
||||
---
|
||||
|
||||
This platform allows you to connect to a [Ruckus Unleashed](https://support.ruckuswireless.com/product_families/19-ruckus-unleashed) router.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- **Presence Detection** - The platform will look at devices connected to the router and will create a `device_tracker` for each discovered device.
|
||||
|
||||
## Configuration
|
||||
|
||||
To add a Ruckus Unleashed device to your installation, go to **Configuration** -> **Integrations**, click the `+` button, then select **Ruckus** from the list of integrations.
|
||||
|
||||
You will have to create a user on the device which is a **Monitoring Admin**. Login to the Ruckus Unleashed admin UI and follow these steps:
|
||||
|
||||
- [Create a new role](https://docs.ruckuswireless.com/unleashed/200.1.9.12/t-ConfigUserRoles.html).
|
||||
- Check **Allow Unleashed Administration**.
|
||||
- Select the **Monitoring Admin (Monitoring and viewing operation status only)** radio button.
|
||||
- [Create a new user](https://docs.ruckuswireless.com/unleashed/200.1.9.12/t-AddingNewUsersInternal.html) with the new role.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
For this platform to work, the Ruckus Unleashed device will need to be accessible over SSH. If you are having trouble with Home Assistant not connecting, make sure the user you created above can log in to SSH and can run privileged commands.
|
||||
|
||||
Terminal:
|
||||
|
||||
```bash
|
||||
ssh <ruckus_ip>
|
||||
|
||||
Please login: <username>
|
||||
Password: <password>
|
||||
Welcome to Ruckus Unleashed Network Command Line Interface
|
||||
ruckus> enable
|
||||
ruckus# exit
|
||||
Exit ruckus CLI.
|
||||
```
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: scene
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
You can create scenes that capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red.
|
||||
|
@ -8,7 +8,7 @@ ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: script
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `script` integration allows users to specify a sequence of actions to be executed by Home Assistant. These are run when you turn the script on. The script integration will create an entity for each script and allow them to be controlled via services.
|
||||
|
@ -4,11 +4,10 @@ description: Internal search module for Home Assistant.
|
||||
ha_category:
|
||||
- Other
|
||||
ha_release: 0.105
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
ha_domain: search
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `search` integration is an internally used integration by the
|
||||
|
@ -6,7 +6,7 @@ ha_category:
|
||||
ha_release: 0.7
|
||||
ha_quality_scale: internal
|
||||
ha_domain: sensor
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
Sensors are gathering information about states and conditions.
|
||||
|
@ -109,7 +109,7 @@ registers:
|
||||
default: int
|
||||
type: string
|
||||
structure:
|
||||
description: "If data_type is custom specify here a double quoted Python struct format string to unpack the value. See Python documentation for details. Ex: >i."
|
||||
description: "If `data_type` is custom specified a double-quoted Python struct is expected here, to format the string to unpack the value. See Python documentation for details. Example: `>i`."
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -17,34 +17,20 @@ The `simplisafe` integration integrates [SimpliSafe home security](https://simpl
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- **Alarm Control Panel**: reports on the current alarm status and can be used to arm and disarm the system.
|
||||
- **Lock**: Reports on `Door Locks` and can be used to lock and unlock a lock.
|
||||
- **CO Detector**: reports on the carbon monoxide sensor status*.
|
||||
- **Entry Sensor**: reports on the current entry sensor status*.
|
||||
- **Freeze Sensor**: reports on the freeze sensor temperature*.
|
||||
- **Lock**: reports on `Door Locks` and can be used to lock and unlock a lock.
|
||||
- **Motion Sensor**: triggers [events](#events) if the alarm is armed or if secret alerts are enabled in SimpliSafe.
|
||||
- **Smoke Detector**: reports on the smoke sensor status*.
|
||||
- **Water Sensor**: reports on water sensor status*.
|
||||
|
||||
* Sensor status is only available for SimpliSafe V3 systems and is updated once every 30 seconds, so information displayed in Home Assistant may be delayed.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this component, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
simplisafe:
|
||||
accounts:
|
||||
- username: user@email.com
|
||||
password: password123
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The email address of a SimpliSafe account.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password of a SimpliSafe account.
|
||||
required: true
|
||||
type: string
|
||||
code:
|
||||
description: A code to enable or disable the alarm in the frontend. *Under normal operation, the integration doesn’t need a SimpliSafe keypad code.*
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
This integration can be configured via the Home Assistant UI by navigating to
|
||||
**Configuration** -> **Integrations**.
|
||||
|
||||
## Services
|
||||
|
||||
|
@ -6,7 +6,7 @@ ha_category:
|
||||
ha_release: 0.7
|
||||
ha_quality_scale: internal
|
||||
ha_domain: switch
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
Keeps track which switches are in your environment, their state and allows you to control them.
|
||||
|
@ -86,10 +86,6 @@ switch:
|
||||
|
||||
If you are using the state of a platform that takes extra time to load, the Template Switch 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 %}`{{ states.switch.source.state == 'on') }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an unknown result: {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
|
||||
|
||||
### Working without entities
|
||||
|
||||
If you use a template that depends on the current time or some other non-deterministic result not sourced from entities, the template won't repeatedly update but will only update when the state of a referenced entity updates. For ways to deal with this issue, see [Working without entities](/integrations/binary_sensor.template/#working-without-entities) in the Template Binary Sensor integration.
|
||||
|
||||
## Examples
|
||||
|
||||
In this section you find some real-life examples of how to use this switch.
|
||||
|
@ -6,7 +6,7 @@ ha_category:
|
||||
ha_release: 0.87
|
||||
ha_quality_scale: internal
|
||||
ha_domain: system_health
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The System Health integration provides an API to offer information on the system and its components. It also allows to run diagnostic tools to diagnose problems.
|
||||
@ -20,4 +20,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 and Views](/lovelace/dashboards-and-views/) you have, and more.
|
||||
|
@ -9,7 +9,7 @@ ha_codeowners:
|
||||
- '@dmulcahey'
|
||||
ha_domain: tag
|
||||
ha_quality_scale: internal
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
<p class='img'>
|
||||
|
44
source/_integrations/tasmota.markdown
Normal file
44
source/_integrations/tasmota.markdown
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
title: Tasmota (beta)
|
||||
description: Instructions on how to integrate Tasmota with Home Assistant.
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
- Light
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_release: '0.117'
|
||||
ha_iot_class: Local Push
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@emontnemery'
|
||||
ha_domain: tasmota
|
||||
---
|
||||
|
||||
This integration allows you to control Tasmota devices over MQTT.
|
||||
|
||||
## Requirements
|
||||
|
||||
- MQTT server and the [MQTT integration](/integrations/mqtt/) set up in Home Assistant.
|
||||
- Tasmota devices flashed with 9.0.0.3 or later
|
||||
- Tasmota devices configured for native discovery (`SetOption19 0`)
|
||||
|
||||
## Limitations
|
||||
|
||||
Lights, relays, sensors and switches are supported.
|
||||
|
||||
- Lights will be added as Home Assistant `light` entities.
|
||||
- Relays will be added as Home Assistant `switch` entities, if `SetOption30 = 0`. If `SetOption30 = 1`, relays will be added as `light` entities.
|
||||
- Sensors will be added as Home Assistant `sensor` entities.
|
||||
- Switches will be added as Home Assistant `binary_sensor` entities or `automation triggers` depending by the `switchmode` used. To enable them, `switchtopic` needs to be set. If there are no corresponding power device (light, relay, etc.) the `switch` will be added automatically.
|
||||
- Buttons will be added as Home Assistant `automation triggers` when `SetOption73` is enabled.
|
||||
|
||||
## Configuration
|
||||
|
||||
This integration can be configured using the integrations in the
|
||||
Home Assistant frontend.
|
||||
|
||||
Menu: **Configuration** -> **Integrations**.
|
||||
|
||||
Click on the `+` sign to add an integration and click on **Tasmota (beta)**.
|
||||
After completing the configuration flow, the Tasmota integration will be
|
||||
available.
|
@ -321,7 +321,7 @@ sensor:
|
||||
|
||||
The `template` sensors are not limited to use attributes from other entities but can also work with [Home Assistant's template extensions](/docs/configuration/templating/#home-assistant-template-extensions).
|
||||
|
||||
This template contains no entities that will trigger an update, so we add in a reference to the `sensor.date` sensor from the [Time & Date](/integrations/time_date/), which will update once a day.
|
||||
This template contains no entities that will trigger an update but the `now()` will cause it to update every minute:
|
||||
|
||||
{% raw %}
|
||||
|
||||
@ -333,53 +333,9 @@ sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
nonsmoker:
|
||||
value_template: '{{ states('sensor.date') and (( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round(2) }}'
|
||||
value_template: '{{ ( ( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round(2) }}'
|
||||
friendly_name: 'Not smoking'
|
||||
unit_of_measurement: "Days"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
In this case it is also possible to convert the entity-less template above into one that will be updated automatically:
|
||||
|
||||
{% raw %}
|
||||
|
||||
````yaml
|
||||
sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
nonsmoker:
|
||||
value_template: "{{ (( as_timestamp(strptime(states('sensor.date'), '%Y-%m-%d')) - as_timestamp(strptime('06.07.2018', '%d.%m.%Y')) ) / 86400 ) | round(2) }}"
|
||||
friendly_name: 'Not smoking'
|
||||
unit_of_measurement: "Days"
|
||||
````
|
||||
|
||||
{% endraw %}
|
||||
|
||||
Useful entities to choose might be `sensor.date` which update once per day or `sensor.time`, which updates once per minute.
|
||||
Please note that the resulting template will be evaluated by Home Assistant state engine on every state change of these sensors, which in case of `sensor.time` happens every minute and might have a negative impact on performance.
|
||||
|
||||
An alternative to this is to create an interval-based automation that calls the service `homeassistant.update_entity` for the entities requiring updates. This modified example updates every 5 minutes:
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
nonsmoker:
|
||||
value_template: '{{ (( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round(2) }}'
|
||||
friendly_name: 'Not smoking'
|
||||
unit_of_measurement: "Days"
|
||||
|
||||
automation:
|
||||
- alias: 'nonsmoker_update'
|
||||
trigger:
|
||||
- platform: time_pattern
|
||||
minutes: '/5'
|
||||
action:
|
||||
- service: homeassistant.update_entity
|
||||
entity_id: sensor.nonsmoker
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -10,6 +10,7 @@ ha_iot_class: Local Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@rytilahti'
|
||||
- '@thegardenmonkey'
|
||||
ha_domain: tplink
|
||||
---
|
||||
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how to set up Text-to-Speech (TTS) with Home Assist
|
||||
ha_category:
|
||||
- Text-to-speech
|
||||
ha_release: 0.35
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_codeowners:
|
||||
- '@pvizeli'
|
||||
ha_domain: tts
|
||||
|
@ -6,6 +6,7 @@ ha_category:
|
||||
- Binary Sensor
|
||||
- Switch
|
||||
ha_release: 0.65
|
||||
ha_config_flow: true
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_codeowners:
|
||||
- '@scop'
|
||||
@ -25,71 +26,12 @@ Set up your API user credentials in your [UpCloud control panel](https://hub.upc
|
||||
|
||||
## Configuration
|
||||
|
||||
To integrate your UpCloud servers with Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
upcloud:
|
||||
username: YOUR_API_USERNAME
|
||||
password: YOUR_API_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: Your UpCloud API username.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Your UpCloud API user password.
|
||||
required: true
|
||||
type: string
|
||||
scan_interval:
|
||||
description: Update interval in seconds.
|
||||
required: false
|
||||
type: integer
|
||||
default: 60
|
||||
{% endconfiguration %}
|
||||
+Go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **UpCloud**.
|
||||
|
||||
## Binary Sensor
|
||||
|
||||
The `upcloud` binary sensor platform allows you to monitor your UpCloud servers.
|
||||
|
||||
To use your UpCloud servers, you first have to set up your [UpCloud hub](#configuration) and then add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: upcloud
|
||||
servers:
|
||||
- 002167b7-4cb1-44b7-869f-e0900ddeeae1
|
||||
- 00886296-6137-4074-afe3-068e16d89d00
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
servers:
|
||||
description: List of servers you want to monitor.
|
||||
required: true
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
A binary sensor entity is set up for all discovered servers.
|
||||
|
||||
## Switch
|
||||
|
||||
The `upcloud` switch platform allows you to control (start/stop) your UpCloud servers.
|
||||
|
||||
To use your UpCloud servers, you first have to set up your [UpCloud hub](#configuration) and then add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
- platform: upcloud
|
||||
servers:
|
||||
- 002167b7-4cb1-44b7-869f-e0900ddeeae1
|
||||
- 00886296-6137-4074-afe3-068e16d89d00
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
servers:
|
||||
description: List of servers you want to control.
|
||||
required: true
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
A switch entity is set up for all discovered servers. You can use the switch to control (start/stop) them.
|
||||
|
@ -3,7 +3,7 @@ title: Vacuum
|
||||
description: Instructions on how to setup and use vacuum's in Home Assistant.
|
||||
ha_release: 0.51
|
||||
ha_domain: vacuum
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `vacuum` integration enables the ability to control home cleaning robots within Home Assistant.
|
||||
|
@ -103,10 +103,6 @@ vacuum:
|
||||
type: [string, list]
|
||||
{% endconfiguration %}
|
||||
|
||||
### Working without entities
|
||||
|
||||
If you use a template that depends on the current time or some other non-deterministic result not sourced from entities, the template won't repeatedly update but will only update when the state of a referenced entity updates. For ways to deal with this issue, see [Working without entities](/integrations/template/#working-without-entities) in the Template Sensor integration.
|
||||
|
||||
## Examples
|
||||
|
||||
### Control vacuum with Harmony Hub
|
||||
|
@ -3,7 +3,7 @@ title: Water Heater
|
||||
description: Instructions on how to setup water heater devices within Home Assistant.
|
||||
ha_release: 0.81
|
||||
ha_domain: water_heater
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
---
|
||||
|
||||
The `water_heater` integration is built for the controlling and monitoring of hot water heaters.
|
||||
|
@ -4,7 +4,7 @@ description: Instructions on how to setup your Weather platforms with Home Assis
|
||||
ha_category:
|
||||
- Weather
|
||||
ha_release: 0.32
|
||||
ha_iot_class: ~
|
||||
ha_iot_class:
|
||||
ha_quality_scale: internal
|
||||
ha_codeowners:
|
||||
- '@fabaff'
|
||||
|
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