mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-29 12:17:01 +00:00
Merge branch 'next' of github.com:home-assistant/home-assistant.io into analytics-arch
This commit is contained in:
commit
6019a756fb
@ -269,6 +269,7 @@ source/_integrations/met.markdown @danielhiversen @thimic
|
||||
source/_integrations/met_eireann.markdown @DylanGore
|
||||
source/_integrations/meteo_france.markdown @hacf-fr @oncleben31 @Quentame
|
||||
source/_integrations/meteoalarm.markdown @rolfberkenbosch
|
||||
source/_integrations/meteoclimatic.markdown @adrianmo
|
||||
source/_integrations/metoffice.markdown @MrHarcombe
|
||||
source/_integrations/miflora.markdown @danielhiversen @basnijholt
|
||||
source/_integrations/mikrotik.markdown @engrbm87
|
||||
@ -460,6 +461,7 @@ source/_integrations/switchbot.markdown @danielhiversen
|
||||
source/_integrations/switcher_kis.markdown @tomerfi
|
||||
source/_integrations/switchmate.markdown @danielhiversen
|
||||
source/_integrations/syncthru.markdown @nielstron
|
||||
source/_integrations/syncthing.markdown @zhulik
|
||||
source/_integrations/synology_dsm.markdown @hacf-fr @Quentame @mib1185
|
||||
source/_integrations/synology_srm.markdown @aerialls
|
||||
source/_integrations/syslog.markdown @fabaff
|
||||
|
@ -189,6 +189,8 @@ Supported abbreviations:
|
||||
'pl_strt': 'payload_start',
|
||||
'pl_stpa': 'payload_start_pause',
|
||||
'pl_ret': 'payload_return_to_base',
|
||||
'pl_rst_pct': 'payload_reset_percentage',
|
||||
'pl_rst_pr_mode': 'payload_reset_preset_mode',
|
||||
'pl_toff': 'payload_turn_off',
|
||||
'pl_ton': 'payload_turn_on',
|
||||
'pl_unlk': 'payload_unlock',
|
||||
|
@ -5,7 +5,7 @@ description: "Instructions on how to use the scenes editor."
|
||||
|
||||
In Home Assistant 0.102 we introduced the first version of our scene editor. If you just created a new configuration with Home Assistant, then you're all set! Go to the UI and enjoy.
|
||||
|
||||
From the UI choose **Configuration** which is located in the sidebar, then click on **Scenes** to go to the scene editor. Press the **+** sign in the lower right corner to get started.
|
||||
From the UI choose **Configuration** which is located in the sidebar, then click on **Scenes** to go to the scene editor. Press the **Add Scene** button in the lower right corner to get started.
|
||||
|
||||
Choose a meaningful name for your scene.
|
||||
|
||||
@ -18,6 +18,7 @@ The state of your devices will be saved, so it can be restored when you are fini
|
||||
Set the state of the devices to how you want them to be in your scene, this can be done by clicking on it and edit the state from the popup, or any other method that changes the state.
|
||||
On the moment you save the scene, all the states of your devices are stored in the scene.
|
||||
When you leave the editor the states of the devices are restored to the state from before you started editing.
|
||||
The menu on the top-right has options to **Duplicate scene** and **Delete scene**.
|
||||
|
||||
## Updating your configuration to use the editor
|
||||
|
||||
|
29
source/_integrations/bosch_shc.markdown
Normal file
29
source/_integrations/bosch_shc.markdown
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Bosch SHC
|
||||
description: Integrate Bosch SHC.
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
ha_release: 2021.6
|
||||
ha_iot_class: Local Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@tschamm'
|
||||
ha_domain: bosch_shc
|
||||
ha_config_flow: true
|
||||
---
|
||||
|
||||
The Bosch SHC integration allows you to integrate your [Bosch SHC](https://www.bosch-smarthome.com) into Home Assistant.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- [Binary Sensor](#binary-sensor)
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
### Binary Sensor
|
||||
|
||||
The binary sensor platform allows you to monitor the states of your Shutter Contacts and Smoke Detectors. Binary sensors are added for each Door/Window Contact and Smoke Detector.
|
||||
|
||||
## Client registration
|
||||
|
||||
Before accessing the Bosch Smart Home Controller, a client must be registered on the controller. For this, a valid SSL cert/key pair must be registered on the controller. To start the client registration, press and hold the button on the controller until the LED starts flashing. For more information, follow the [client registration](https://github.com/BoschSmartHome/bosch-shc-api-docs/tree/master/postman#register-a-new-client-to-the-bosch-smart-home-controller) steps described in the Bosch SHC API documentation.
|
@ -6,9 +6,11 @@ ha_category:
|
||||
- Weather
|
||||
ha_release: 0.47
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@mjj4791'
|
||||
- '@ties'
|
||||
- '@Robbie1221'
|
||||
ha_domain: buienradar
|
||||
ha_platforms:
|
||||
- camera
|
||||
@ -16,115 +18,85 @@ ha_platforms:
|
||||
- weather
|
||||
---
|
||||
|
||||
The `buienradar` platform uses [buienradar.nl](https://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a web service that provides detailed weather information for users in The Netherlands.
|
||||
The Buienradar integration uses [buienradar.nl](https://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a web service that provides detailed weather information for users in The Netherlands.
|
||||
|
||||
The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the Buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0).
|
||||
|
||||
Besides the weather platform, there is currently support for the following additional device types:
|
||||
|
||||
- [Camera](#camera): Radar map
|
||||
- [Sensor](/integrations/sensor.buienradar/): More customizable
|
||||
- [Sensor](#sensor): Extended weather data
|
||||
|
||||
## Configuration
|
||||
|
||||
To add the Buienradar weather to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
weather:
|
||||
- platform: buienradar
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: "You can specify a name of the component, but do not have to. If you specify a name, the weather integration will get an entity name of `weather.[name]`; if no name is specified, it will try to set its name to `weather.BR_[stationname]`. However at the moment in time, the entity is created, no data has been retrieved yet, so the entity will get named `weather.BR_unknown_station`. Later the station name will be known and get updated, but the entity name remains."
|
||||
required: false
|
||||
type: string
|
||||
latitude:
|
||||
description: Latitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration but can be overridden/changed in this integration to select a different location for Buienradar.
|
||||
required: false
|
||||
type: float
|
||||
longitude:
|
||||
description: Longitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration but can be overridden/changed in this integration to select a different location for Buienradar.
|
||||
required: false
|
||||
type: float
|
||||
forecast:
|
||||
description: "`true` to add a temperature forecast, `false` to suppress it."
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
{% endconfiguration %}
|
||||
|
||||
### Full configuration
|
||||
|
||||
A full configuration example:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
weather:
|
||||
- platform: buienradar
|
||||
name: "volkel"
|
||||
# Force 'Meetstation Volkel' to be used:
|
||||
latitude: 51.65
|
||||
longitude: 5.70
|
||||
forecast: true
|
||||
```
|
||||
|
||||
|
||||
<div class='note'>
|
||||
|
||||
This platform is an alternative to the [`buienradar`](/integrations/sensor.buienradar/) sensor.
|
||||
The weather platform is easier to configure but less customizable.
|
||||
|
||||
</div>
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
## Camera
|
||||
|
||||
The `buienradar` camera platform uses [buienradar.nl](https://buienradar.nl/) as a source for the last rain radar map. The overview image of the whole of the Netherlands is loaded and shown as a camera in Home Assistant.
|
||||
The `buienradar` camera platform uses [buienradar.nl](https://buienradar.nl/) as a source for the last rain radar map. The overview image of the whole of the Netherlands is loaded and shown as a camera in Home Assistant. The Netherlands is the default country and can be changed to Belgium (see [Setting options](#setting-options)).
|
||||
|
||||
Internally this component uses the radar map image as [documented](https://www.buienradar.nl/overbuienradar/gratis-weerdata) on buienradar.nl.
|
||||
The downloaded image is cached to prevent Home Assistant from making a new request to buienradar.nl multiple times a minute when Home Assistant checks for new stills from the camera.
|
||||
|
||||
To add `buienradar` camera to Home Assistant, add the following section to your
|
||||
`configuration.yaml` file:
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
- platform: buienradar
|
||||
```
|
||||
The camera entity is added disabled by default and should first be enabled before it starts reading the camera images.
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: You can (optionally) specify the name of the camera. The name
|
||||
will be shown in the user interface below the radar image.
|
||||
required: false
|
||||
type: string
|
||||
dimension:
|
||||
description: Size of the image to be loaded from buienradar.nl
|
||||
(120 to 700 pixels)
|
||||
required: false
|
||||
default: 512
|
||||
type: integer
|
||||
delta:
|
||||
description: Time interval in seconds between image updates
|
||||
required: false
|
||||
default: 600
|
||||
type: integer
|
||||
## Sensor
|
||||
|
||||
The Buienradar integration will set up separate sensor entities with more detailed weather data. The selected weather station will provide all-weather data, with the exception of the forecasted precipitation. The forecasted precipitation data will be retrieved from Buienradar using your actual GPS location (and not the location of the nearest weather station). The sensor entities are disabled by default and should be enabled before they will be updated with data.
|
||||
|
||||
The following entities will be created:
|
||||
|
||||
- **Station name**: The name of the selected meteo-station.
|
||||
- **Barometer forecast**: A numeric barametric forecast (1 to 7)
|
||||
- **Barometer forecast name**: "A textual representation of the barometer forecast (eg: Thunderstorms, Stable, etc.)."
|
||||
- **Condition code**: "A symbol and a unique code identifying the current weather condition ([a..z])."
|
||||
- **Condition**: A symbol and the current weather condition (`clear`, `cloudy`, `fog`, `rainy`, `snowy` or `lightning`).
|
||||
- **Condition detailed**: A symbol and detailed current weather condition (`clear`, `partlycloudy`, `cloudy`, `partlycloudy-fog`, `partlycloudy-light-rain`, `partlycloudy-rain`, `light-rain`, `rainy`, `snowy-rainy`, `partlycloudy-light-snow`, `partlycloudy-snow`, `light-snow`, `snowy`, `partlycloudy-lightning` or `lightning`).
|
||||
- **Condition exact**: A symbol with the full current weather condition (in English).
|
||||
- **Symbol**: A symbol for the current weather with the full current condition (in Dutch).
|
||||
- **Feel temperature**: "The current feel temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
|
||||
- **Humidity**: The relative humidity (%).
|
||||
- **Temperature**: "The current temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
|
||||
- **Ground temperature**: "The current ground temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
|
||||
- **Wind speed**: "The wind speed in [km/h](https://en.wikipedia.org/wiki/Kilometres_per_hour)."
|
||||
- **Wind force**: "The wind speed/force in [Bft](https://en.wikipedia.org/wiki/Beaufort_scale)."
|
||||
- **Wind direction**: "Where the wind is coming from: N (North), Z (south), NO (North-East), etc."
|
||||
- **Wind azimuth**: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise.
|
||||
- **Pressure**: "The sea-level air pressure in [hPa](https://en.wikipedia.org/wiki/Hectopascal)."
|
||||
- **Visibility**: "Visibility in meters ([m](https://en.wikipedia.org/wiki/Metre))."
|
||||
- **Wind gust**: "The wind speed of wind gusts ([m/s](https://en.wikipedia.org/wiki/M/s))."
|
||||
- **Precipation**: The amount of precipitation/rain in mm/h.
|
||||
- **Precipation forecast average**: The average expected precipitation/rain in mm/h within the given time-frame.
|
||||
- **Precipation forecast total**: The total expected precipitation/rain in mm within the given time-frame. The total expected rain in the configured time-frame will be equal to _precipitation_forecast_total_/_timeframe_ mm/min. So, with time-frame configured to 30 minutes and a value of 5, the expected rain is 5 mm in 30 minutes, which is the same as 10 mm/h. If time-frame is set to 90 minutes and a value of 5, the expected rain is 5 mm in 90 minutes, which is equal to 3.3 mm/h.
|
||||
- **Irradiance**: "Sun intensity in Watt per square meter ([W/m2](https://en.wikipedia.org/wiki/W/m2))."
|
||||
- **Rain last 24h**: The rail over the last 24 hours (in mm).
|
||||
- **Rain last hour: The rail over the last hour (in mm).
|
||||
- **Temperature n days ahead**: "The forecasted temperature n days ahead (in [C](https://en.wikipedia.org/wiki/Celsius))."
|
||||
- **Minimum temperature n days ahead**: "The forecasted minimum temperature n days ahead (in [C](https://en.wikipedia.org/wiki/Celsius))."
|
||||
- **Rain chance n days ahead**: The forecasted chance for rain n days ahead (%).
|
||||
- **Sun chance n days ahead**: The forecasted chance for sun n days ahead (%).
|
||||
- **Rain n days ahead**: "The forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimeter) n days ahead; the average of minrain_1d and maxrain_1d."
|
||||
- **Minimum rain n days ahead**: "The minimum forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimeter) n days ahead."
|
||||
- **Maximum rain n days ahead**: "The maximum forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimeter) n days ahead."
|
||||
- **Wind azimuth n days ahead**: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise for n days ahead. (derived from winddirection_1d)
|
||||
- **Wind direction n days ahead**: "Where the wind will be coming from n days ahead: N (North), Z (south), NO (North-East), etc."
|
||||
- **Wind force n days ahead**: "The expected windforce in [Bft](https://en.wikipedia.org/wiki/Beaufort_scale) n days ahead."
|
||||
- **Wind speed n days ahead**: "The expected windspeed in [m/s](https://en.wikipedia.org/wiki/M/s) n days ahead (derived from windforce_1d)."
|
||||
- **Condition code n days ahead**: Symbol and condition code of the expected condition n days ahead.
|
||||
- **Condition n days ahead**: Symbol and expected condition n days ahead.
|
||||
- **Detailed condition n days ahead**: Symbol and detailed expected condition n days ahead.
|
||||
- **Full condition (english) n days ahead**: Symbol and full expected condition n days ahead (in English).
|
||||
- **Full condition (dutch) n days ahead**: Symbol and full expected condition n days ahead (in Dutch).
|
||||
|
||||
{% include integrations/option_flow.md %}
|
||||
|
||||
{% configuration_basic %}
|
||||
country_code:
|
||||
description: You can (optionally) specify the country code (NL or BE) of the
|
||||
description: You can specify the country code (NL or BE) of the
|
||||
country to display on the camera.
|
||||
required: false
|
||||
default: NL
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### The `name` Variable
|
||||
|
||||
If you specify a name, the camera will get this name as its label. A slugified
|
||||
version of the name will be used as the name of the entity.
|
||||
|
||||
With the default of "Buienradar loop" the entity name becomes
|
||||
`camera.buienradar_loop`.
|
||||
delta:
|
||||
description: Time interval in seconds between camera image updates
|
||||
timeframe:
|
||||
description: Minutes to look ahead for precipitation forecast sensors (minimum 5, maximum 120).
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
_[Usage statement:](https://www.buienradar.nl/overbuienradar/gratis-weerdata)
|
||||
Buienradar makes free weather data available for use by individuals and businesses (website/intranet). The use of the weather data is allowed for **non-commercial purposes**. Please refer to the full usage statement linked above to confirm your use or to request permission._
|
||||
|
@ -168,7 +168,7 @@ position_open:
|
||||
type: integer
|
||||
default: 100
|
||||
position_template:
|
||||
description: "Defines a [template](/topics/templating/) that can be used to extract the payload for the `position_topic` topic."
|
||||
description: "Defines a [template](/topics/templating/) that can be used to extract the payload for the `position_topic` topic. Within the template the following variables are available: `entity_id`, `position_open`; `position_closed`; `tilt_min`; `tilt_max`. The `entity_id` can be used to reference the entity's attributes with help of the [states](/docs/configuration/templating/#states) template function;"
|
||||
required: false
|
||||
type: string
|
||||
position_topic:
|
||||
@ -186,7 +186,7 @@ retain:
|
||||
type: boolean
|
||||
default: false
|
||||
set_position_template:
|
||||
description: "Defines a [template](/topics/templating/) to define the position to be sent to the `set_position_topic` topic. Incoming position value is available for use in the template `{% raw %}{{ position }}{% endraw %}`. If no template is defined, the position (0-100) will be calculated according to `position_open` and `position_closed` values."
|
||||
description: "Defines a [template](/topics/templating/) to define the position to be sent to the `set_position_topic` topic. Incoming position value is available for use in the template `{% raw %}{{ position }}{% endraw %}`. Within the template the following variables are available: `entity_id`, `position`, the target position in percent; `position_open`; `position_closed`; `tilt_min`; `tilt_max`. The `entity_id` can be used to reference the entity's attributes with help of the [states](/docs/configuration/templating/#states) template function;"
|
||||
required: false
|
||||
type: string
|
||||
set_position_topic:
|
||||
@ -228,7 +228,7 @@ tilt_closed_value:
|
||||
type: integer
|
||||
default: 0
|
||||
tilt_command_template:
|
||||
description: "Defines a [template](/topics/templating/) that can be used to extract the payload for the `tilt_command_topic` topic."
|
||||
description: "Defines a [template](/topics/templating/) that can be used to extract the payload for the `tilt_command_topic` topic. Within the template the following variables are available: `entity_id`, `tilt_position`, the target tilt position in percent; `position_open`; `position_closed`; `tilt_min`; `tilt_max`. The `entity_id` can be used to reference the entity's attributes with help of the [states](/docs/configuration/templating/#states) template function;"
|
||||
required: false
|
||||
type: string
|
||||
tilt_command_topic:
|
||||
@ -236,7 +236,7 @@ tilt_command_topic:
|
||||
required: false
|
||||
type: string
|
||||
tilt_max:
|
||||
description: The maximum tilt value
|
||||
description: The maximum tilt value.
|
||||
required: false
|
||||
type: integer
|
||||
default: 100
|
||||
@ -256,7 +256,7 @@ tilt_optimistic:
|
||||
type: boolean
|
||||
default: "`true` if `tilt_status_topic` is not defined, else `false`"
|
||||
tilt_status_template:
|
||||
description: "Defines a [template](/topics/templating/) that can be used to extract the payload for the `tilt_status_topic` topic."
|
||||
description: "Defines a [template](/topics/templating/) that can be used to extract the payload for the `tilt_status_topic` topic. Within the template the following variables are available: `entity_id`, `position_open`; `position_closed`; `tilt_min`; `tilt_max`. The `entity_id` can be used to reference the entity's attributes with help of the [states](/docs/configuration/templating/#states) template function;"
|
||||
required: false
|
||||
type: string
|
||||
tilt_status_topic:
|
||||
@ -422,6 +422,155 @@ cover:
|
||||
|
||||
{% endraw %}
|
||||
|
||||
### Configuration for disabling cover commands
|
||||
|
||||
The example below shows a configuration for a cover that does not have a close command.
|
||||
Setting `payload_close` empty or to `null` disables the close command and will not show the close button.
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: mqtt
|
||||
payload_open: "on"
|
||||
payload_close:
|
||||
payload_stop: "on"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
The following commands can be disabled: `open`, `close`, `stop` by overriding their payloads: `payload_open`, `payload_close`, `payload_stop`
|
||||
|
||||
For auto discovery message the payload needs to be set to `null`, example for cover without close command:
|
||||
{% raw %}
|
||||
|
||||
```json
|
||||
{
|
||||
"cover": [
|
||||
{
|
||||
"platform": "mqtt",
|
||||
"payload_open": "on",
|
||||
"payload_close": null,
|
||||
"payload_stop": "on"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
### Full configuration using `entity_id`- variable in the template
|
||||
|
||||
The example below shows an example of how to correct the state of the blind depending if it moved up, or down.
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: mqtt
|
||||
name: "MQTT Cover"
|
||||
command_topic: "home-assistant/cover/set"
|
||||
state_topic: "home-assistant/cover/state"
|
||||
position_topic: "home-assistant/cover/position"
|
||||
set_position_topic: "home-assistant/cover/position/set"
|
||||
payload_open: "open"
|
||||
payload_close: "close"
|
||||
payload_stop: "stop"
|
||||
state_opening: "open"
|
||||
state_closing: "close"
|
||||
state_stopped: "stop"
|
||||
optimistic: false
|
||||
position_template: |-
|
||||
{% if not state_attr(entity_id, "current_position") %}
|
||||
{{ value }}
|
||||
{% elif state_attr(entity_id, "current_position") < (value | int) %}
|
||||
{{ (value | int + 1) }}
|
||||
{% elif state_attr(entity_id, "current_position") > (value | int) %}
|
||||
{{ (value | int - 1) }}
|
||||
{% else %}
|
||||
{{ value }}
|
||||
{% endif %}
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
### Full configuration using advanced templating
|
||||
|
||||
The example below shows a full example of how to set up a venetian blind which has a combined position and tilt topic. The blind in the example has moveable slats which tilt with a position change. In the example, it takes the blind 6% of the movement for a full rotation of the slats.
|
||||
|
||||
Following variable might be used in `position_template`, `set_position_template`, `tilt_command_template` and `tilt_status_template`, `json_attributes_template` (only `entity_id`).
|
||||
|
||||
- `entity_id` - The ID of the entity itself. It can be used to reference its attributes with the help of the [states](/docs/configuration/templating/#states) template function.
|
||||
- `position_open`
|
||||
- `position_closed`
|
||||
- `tilt_min`
|
||||
- `tilt_max`
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: mqtt
|
||||
name: "MQTT Cover"
|
||||
command_topic: "home-assistant/cover/set"
|
||||
state_topic: "home-assistant/cover/state"
|
||||
position_topic: "home-assistant/cover/position"
|
||||
set_position_topic: "home-assistant/cover/position/set"
|
||||
tilt_command_topic: "home-assistant/cover/position/set" # same as `set_position_topic`
|
||||
qos: 1
|
||||
retain: false
|
||||
payload_open: "open"
|
||||
payload_close: "close"
|
||||
payload_stop: "stop"
|
||||
state_opening: "open"
|
||||
state_closing: "close"
|
||||
state_stopped: "stop"
|
||||
position_open: 100
|
||||
position_closed: 0
|
||||
tilt_min: 0
|
||||
tilt_max: 6
|
||||
tilt_opened_value: 3
|
||||
tilt_closed_value: 0
|
||||
optimistic: false
|
||||
position_template: |-
|
||||
{% if not state_attr(entity_id, "current_position") %}
|
||||
{
|
||||
"position" : value,
|
||||
"tilt_value" : 0
|
||||
}
|
||||
{% else %}
|
||||
{% set position = state_attr(entity_id, "current_position") %}
|
||||
{% set tilt_percent = (state_attr(entity_id, "current_tilt_position")) %}
|
||||
|
||||
{% set movement = value | int - position %}
|
||||
{% set tilt = (tilt_percent / 100 * (tilt_max - tilt_min)) %}
|
||||
{% set tilt_value = min(max((tilt + movement), tilt_min), max) %}
|
||||
|
||||
{
|
||||
"postition": value,
|
||||
"pos": position,
|
||||
"tilt": tilt,
|
||||
"tilt_value": tilt_value,
|
||||
"tilt_percent" : tilt_percent,
|
||||
"mov" : movement
|
||||
}
|
||||
{% endif %}
|
||||
tilt_command_template: >-
|
||||
{% set position = state_attr(entity_id, "current_position") %}
|
||||
{% set tilt = state_attr(entity_id, "current_tilt_position") %}
|
||||
{% set movement = (tilt_position - tilt) / 100 * tilt_max %}
|
||||
{{ position + movement }}
|
||||
payload_open: "on"
|
||||
payload_close:
|
||||
payload_stop: "on"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
### Testing your configuration
|
||||
|
||||
To test, you can use the command line tool `mosquitto_pub` shipped with `mosquitto` or the `mosquitto-clients` package to send MQTT messages. This allows you to operate your cover manually:
|
||||
|
||||
```bash
|
||||
|
@ -1,11 +1,10 @@
|
||||
---
|
||||
title: Elgato Key Light
|
||||
description: Instructions on how to integrate an Elgato Key Light with Home Assistant.
|
||||
title: Elgato Light
|
||||
description: Instructions on how to integrate an Elgato Light with Home Assistant.
|
||||
ha_category:
|
||||
- Light
|
||||
ha_release: 0.104
|
||||
ha_iot_class: Local Polling
|
||||
ha_qa_scale: platinum
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@frenck'
|
||||
@ -16,16 +15,56 @@ ha_platforms:
|
||||
- light
|
||||
---
|
||||
|
||||
The [Elgato Key Light](https://www.elgato.com/en/gaming/key-light) sets the
|
||||
bar for high-end studio lightning. With 80 LEDs, that put out a massive
|
||||
2500 lumens, and can change the color temperature as well.
|
||||
|
||||
The LED light panel is created specifically, and designed for streamers
|
||||
The [Elgato](https://www.elgato.com/) Lights sets the bar for high-end studio
|
||||
lightning. The LED lights are created and designed specifically for streamers
|
||||
and content creators, many of whom operate on platforms like YouTube and Twitch.
|
||||
|
||||
The following light productions from Elgato have been tested with this
|
||||
integration:
|
||||
|
||||
- [Elgato Key Light](https://www.elgato.com/en/key-light)
|
||||
- [Elgato Key Light Air](https://www.elgato.com/en/key-light-air)
|
||||
- [Elgato Ring Light](https://www.elgato.com/en/ring-light)
|
||||
- [Elgato Light Strip](https://www.elgato.com/en/light-strip)
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
## Lights
|
||||
|
||||
This integration adds the Key Light device as a light in Home Assistant, and
|
||||
allows you to control the color temperature, brightness, and its on/off state.
|
||||
|
||||
When using the Elgato Light Strip, color support is automatically detected
|
||||
and enabled in Home Assistant.
|
||||
|
||||
## Services
|
||||
|
||||
### Service `elgato.identify`
|
||||
|
||||
The identify service shortly blinks the Elgato light. Originally meant as
|
||||
a way to identify which light you are talking to; it can also be used as
|
||||
a service to create a visual notification.
|
||||
|
||||
This service also works when the light is turned off and will turn off the
|
||||
light after the identification sequence has been completed.
|
||||
|
||||
{% my developer_call_service badge service="elgato.identify" %}
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | Yes | String or list of Elgato light entity IDs.
|
||||
|
||||
Example automation, in YAML format, that triggers a visual notification when
|
||||
a binary sensor (a doorbell) is triggered:
|
||||
|
||||
```yaml
|
||||
- alias: Visual doorbell notification example
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.doorbell
|
||||
to: "on"
|
||||
action:
|
||||
- service: elgato.identify
|
||||
target:
|
||||
entity_id: light.elgato_key_light
|
||||
```
|
||||
|
@ -14,6 +14,8 @@ ha_platforms:
|
||||
---
|
||||
|
||||
The `epson` platform allows you to control a Epson projector from Home Assistant.
|
||||
**Device has to be turned on during initial configuration.**
|
||||
When you want to add a device for the first time, turn it on before following the integration steps.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
|
@ -169,6 +169,16 @@ payload_oscillation_on:
|
||||
required: false
|
||||
type: string
|
||||
default: oscillate_on
|
||||
payload_reset_percentage:
|
||||
description: A special payload that resets the `percentage` state attribute to `None` when received at the `percentage_state_topic`.
|
||||
required: false
|
||||
type: string
|
||||
default: 'None'
|
||||
payload_reset_preset_mode:
|
||||
description: A special payload that resets the `preset_mode` state attribute to `None` when received at the `preset_mode_state_topic`.
|
||||
required: false
|
||||
type: string
|
||||
default: 'None'
|
||||
percentage_command_template:
|
||||
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to generate the payload to send to `percentage_command_topic`.
|
||||
required: false
|
||||
|
@ -3,6 +3,8 @@ title: AVM FRITZ!Box Tools
|
||||
description: Instructions on how to integrate AVM FRITZ!Box based routers into Home Assistant.
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
- Binary Sensor
|
||||
- Sensor
|
||||
ha_release: '0.10'
|
||||
ha_domain: fritz
|
||||
ha_config_flow: true
|
||||
@ -13,10 +15,18 @@ ha_codeowners:
|
||||
ha_iot_class: Local Polling
|
||||
ha_platforms:
|
||||
- device_tracker
|
||||
- binary_sensor
|
||||
- sensor
|
||||
ha_ssdp: true
|
||||
---
|
||||
|
||||
The `fritz` platform offers presence detection by looking at connected devices to a [AVM FRITZ!Box](https://avm.de/produkte/fritzbox/) based router.
|
||||
The AVM FRITZ!Box Tools integration allows you to control your [AVM FRITZ!Box](https://avm.de/produkte/fritzbox/) based router.
|
||||
|
||||
There is support for the following platform types within Home Assistant:
|
||||
|
||||
- **Device tracker** - presence detection by looking at connected devices.
|
||||
- **Binary sensor** - connectivity status.
|
||||
- **Sensor** - external IP address and uptime.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
@ -24,6 +34,47 @@ The `fritz` platform offers presence detection by looking at connected devices t
|
||||
TR-064 needs to be enabled in the FRITZ!Box network settings for Home Assistant to login and read device info.
|
||||
</div>
|
||||
|
||||
## Username
|
||||
|
||||
The configuration in the UI asks for a username. Starting from FRITZ!OS 7.24 the FRITZ!Box creates a random username for the admin user if you didn't set one yourself. This can be found after logging into the FRITZ!Box and visiting System -> FRITZ!Box Users -> Users. The username starts with `fritz` followed by four random numbers. Under properties on the right it says `created automatically`. Prior to FRITZ!OS 7.24 the default username was `admin`.
|
||||
|
||||
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.
|
||||
## Services
|
||||
|
||||
Currently supported services are Platform specific:
|
||||
|
||||
- `fritz.reconnect`
|
||||
- `fritz.reboot`
|
||||
|
||||
### Platform Services
|
||||
|
||||
#### Service `fritz.reboot`
|
||||
|
||||
Reboot the router.
|
||||
|
||||
</div>
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------- |
|
||||
| `entity_id` | no | Only act on a specific router |
|
||||
|
||||
#### Service `fritz.reconnect`
|
||||
|
||||
Disconnect and reconnect the router to the Internet.
|
||||
If you have a dynamic IP address, most likely it will change.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------- |
|
||||
| `entity_id` | no | Only act on a specific router |
|
||||
|
||||
## Integration Options
|
||||
|
||||
It is possible to change some behaviors through the integration options.
|
||||
These can be changed at **AVM FRITZ!Box Tools** -> **Configure** on the Integrations page.
|
||||
|
||||
- **Consider home**: Number of seconds that must elapse before considering a disconnected device "not at home".
|
||||
|
||||
## Additional info
|
||||
|
||||
**Note 1**: All devices to be tracked, even the new detected, are disabled by default. You need to enable the wanted entities manually.
|
||||
|
||||
**Note 2**: If you don't want to automatically track newly detected devices, disable the integration system option `Enable new added entities`.
|
||||
|
@ -49,7 +49,9 @@ frontend:
|
||||
|
||||
## Defining Themes
|
||||
|
||||
Starting with version 0.49 you can define themes:
|
||||
### Theme format
|
||||
|
||||
The frontend integration allows you to create custom themes to influence the look and feel of the user interface.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -60,11 +62,50 @@ frontend:
|
||||
text-primary-color: purple
|
||||
mdc-theme-primary: plum
|
||||
sad:
|
||||
primary-color: blue
|
||||
primary-color: steelblue
|
||||
```
|
||||
|
||||
The example above defined two themes named `happy` and `sad`. For each theme you can set values for CSS variables. If you want to provide hex color values, wrap those in apostrophes, since otherwise YAML would consider them to be comments (`primary-color: '#123456'`). For a partial list of variables used by the main frontend see [ha-style.ts](https://github.com/home-assistant/home-assistant-polymer/blob/master/src/resources/ha-style.ts).
|
||||
The example above defines two themes named `happy` and `sad`. For each theme, you can set values for CSS variables. If you want to provide hex color values, wrap those in apostrophes, since otherwise, YAML would consider them a comment (`primary-color: '#123456'`). For a partial list of variables used by the main frontend see [ha-style.ts](https://github.com/home-assistant/home-assistant-polymer/blob/master/src/resources/ha-style.ts).
|
||||
|
||||
### Dark mode support
|
||||
|
||||
It is also possible to create themes that are based on the default dark mode theme. New themes can also support both light and dark mode and allow the user to switch between those on the user profile page:
|
||||
|
||||
{% my profile badge %}
|
||||
|
||||
Extended example to show the mode definitions.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
frontend:
|
||||
themes:
|
||||
happy:
|
||||
primary-color: pink
|
||||
text-primary-color: purple
|
||||
mdc-theme-primary: plum
|
||||
sad:
|
||||
primary-color: steelblue
|
||||
modes:
|
||||
dark:
|
||||
secondary-text-color: slategray
|
||||
day_and_night:
|
||||
primary-color: coral
|
||||
modes:
|
||||
light:
|
||||
secondary-text-color: olive
|
||||
dark:
|
||||
secondary-text-color: slategray
|
||||
```
|
||||
|
||||
Theme `happy`: Same as in the previous example. This legacy format is still supported and will behave as before and automatically use the default light theme as the base.
|
||||
|
||||
Theme `sad`: By using the new `mode` key plus the subkey `dark` this theme will now be based on the default dark theme. The final theme rules are determined in three steps: First, the default dark theme CSS variables will be applied, then second the CSS variables from the top level of the theme that are mode-independent (`primary-color: steelblue` in this example) and lastly the mode-specific CSS variables will be layered on top (`secondary-text-color: slategray`).
|
||||
|
||||
Note: Since this example theme only has a `dark` mode defined, this mode will automatically be used.
|
||||
|
||||
Theme `day_and_night`: This theme has both a `light` and a `dark` mode section. That tells the frontend to allow the user to choose which mode to use from the user profile (default selection is based on the system settings). Independent of the selection, the primary color will be set to green, but based on the chosen mode either the default light or dark theme will be used as the basis for rendering, plus the secondary text color will be either olive or slategray.
|
||||
|
||||
### Theme configuration splitting
|
||||
As with all configuration, you can either:
|
||||
|
||||
- Directly specify the themes inside your `configuration.yaml` file
|
||||
@ -75,9 +116,9 @@ For more details about splitting up the configuration into multiple files, see [
|
||||
|
||||
Check our [community forums](https://community.home-assistant.io/c/projects/themes) to find themes to use.
|
||||
|
||||
## Setting themes
|
||||
## Setting Themes
|
||||
|
||||
There are 2 themes-related services:
|
||||
There are two themes-related services:
|
||||
|
||||
- `frontend.reload_themes`: Reloads theme configuration from your `configuration.yaml` file.
|
||||
- `frontend.set_theme`: Sets backend-preferred theme name.
|
||||
|
36
source/_integrations/garages_amsterdam.markdown
Normal file
36
source/_integrations/garages_amsterdam.markdown
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
title: Garages Amsterdam
|
||||
description: Instructions on how to integrate Garages Amsterdam within Home Assistant.
|
||||
ha_category:
|
||||
- Sensor
|
||||
- Binary Sensor
|
||||
ha_release: 2021.6
|
||||
ha_codeowners:
|
||||
- '@klaasnicolaas'
|
||||
ha_config_flow: true
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_domain: garages_amsterdam
|
||||
---
|
||||
|
||||
The Garages Amsterdam integration uses an API provided by the municipality of Amsterdam, to measure the occupancy of Amsterdam parking garages in the Netherlands. You can track multiple garages by adding the integration multiple times.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
### Sensor
|
||||
|
||||
When you add a parking garage, 4 sensors are created in your configuration by default:
|
||||
|
||||
- **Free space long** - Number of free parking spaces for cardholders or reserved spaces
|
||||
- **Free space short** - Number of free parking spaces for regular paid parking
|
||||
- **Long capacity** - Total of parking spaces for cardholders or reserved spaces
|
||||
- **Short capacity** - Total of parking spaces for regular paid parking
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
Some parking garages don't have long-term parking spaces, in which case the 2 specific **Long** sensors will not be created.
|
||||
|
||||
</div>
|
||||
|
||||
### Binary Sensor
|
||||
|
||||
Each parking garage also has a binary sensor, which indicates whether there are problems in the data provision from the API. When it indicates `ok` everything is fine. If the state changes to `problem`, the upstream data might not be up to date or reliable and will remain in this state until new data is coming in.
|
@ -6,11 +6,13 @@ ha_category:
|
||||
ha_iot_class: Local Polling
|
||||
ha_release: 0.116
|
||||
ha_config_flow: true
|
||||
ha_dhcp: true
|
||||
ha_domain: goalzero
|
||||
ha_codeowners:
|
||||
- '@tkdrob'
|
||||
ha_platforms:
|
||||
- binary_sensor
|
||||
- switch
|
||||
ha_codeowners:
|
||||
- '@tkdrob'
|
||||
---
|
||||
|
||||
This Goal Zero Yeti integration pulls data from a Wifi-enabled [Goal Zero Yeti](https://www.goalzero.com).
|
||||
@ -19,6 +21,15 @@ This Goal Zero Yeti integration pulls data from a Wifi-enabled [Goal Zero Yeti](
|
||||
|
||||
## Integration Entities
|
||||
|
||||
Each added configuration entry will create the following sensors:
|
||||
Each added configuration entry will create the following binary sensors:
|
||||
|
||||
`v12PortStatus`, `usbPortStatus`, `acPortStatus`, `backlight`, `app_online`, `isCharging`
|
||||
- **Backlight**: Indicates if the backlight is currently on.
|
||||
- **App Online**: Indicates if the mobile app is actively being used.
|
||||
- **Charging**: Shows when the battery is currently charging.
|
||||
- **Input Detected**: Shows when the device detects power input.
|
||||
|
||||
The following switches will also be created:
|
||||
|
||||
- **12V Port Status**: Indicates if the 12V power port is currently on.
|
||||
- **USB Port Status**: Indicates if the USB power port is currently on.
|
||||
- **AC Port Status**: Indicates if the AC power port is currently on.
|
||||
|
@ -250,6 +250,10 @@ Here are the modes that are currently available:
|
||||
- dry
|
||||
- eco
|
||||
|
||||
### TV Channels
|
||||
|
||||
There is no TV channel object in Home Assistant. TV channel can only be changed by number, not by name (for example, `Turn to channel two`).
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
#### 404 errors on request sync
|
||||
|
@ -18,52 +18,4 @@ This is a sensor to collect information from your Growatt inverters using [Growa
|
||||
|
||||
This will log into your Growatt account and grab the first "Plant", after which it collects the inverters on this plant and creates sensors for these inverters as well as total sensors.
|
||||
|
||||
## Configuration
|
||||
|
||||
Add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: growatt_server
|
||||
username: GROWATT_SERVER_USERNAME
|
||||
password: GROWATT_SERVER_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The username used to log into Growatt server.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password used to log into Growatt server.
|
||||
required: true
|
||||
type: string
|
||||
plant_id:
|
||||
description: The plant id to use in case you have multiple plants on your account.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
name:
|
||||
description: Name of the sensor to use in the frontend.
|
||||
required: false
|
||||
default: Growatt
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## Example with multiple plants
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: growatt_server
|
||||
name: "growatt home"
|
||||
plant_id: 12345678
|
||||
username: username
|
||||
password: password
|
||||
- platform: growatt_server
|
||||
name: "growatt work"
|
||||
plant_id: 87654321
|
||||
username: username
|
||||
password: password
|
||||
```
|
||||
{% include integrations/config_flow.md %}
|
||||
|
@ -103,6 +103,10 @@ When you have filled in the rest of the form to create your migration it will sh
|
||||
<img src='/images/integrations/homekit_controller/device_automation_finish.png' />
|
||||
</p>
|
||||
|
||||
## Pairing with an insecure setup code
|
||||
|
||||
Some device manufacturers do not follow the HomeKit spec and will use a fixed code or trivially guessable code such as `123-45-678` for pairing. HomeKit Controller will warn when pairing about the insecure nature of this configuration and require additional consent before pairing with the accessory. Consider finding a replacement device that implements code randomization.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### I don't have a HomeKit PIN
|
||||
|
@ -47,6 +47,7 @@ There is currently support for the following device types within Home Assistant:
|
||||
Home Assistant is capable of communicating with any binary sensor, cover, fan, light, lock, sensor and switch that is configured on the controller. Using the programs on the controller, custom binary sensors, cover, fan, lock, and switches can also be created.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
## Manual configuration
|
||||
|
||||
You may also configure the integration manually by adding the following section to your `configuration.yaml` file:
|
||||
@ -165,7 +166,7 @@ Send a command to an ISY Device using its Home Assistant entity ID. Valid comman
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | Name(s) of entities to send the command, e.g., `light.front_porch`. |
|
||||
| `entity_id` | no | Name(s) of entities to send the command, e.g., `light.front_porch`. |
|
||||
| `command` | no | The command to be sent to the device, e.g., `"fast_on"` |
|
||||
|
||||
#### Service `isy994.send_raw_node_command`
|
||||
@ -174,19 +175,48 @@ Send a "raw" (e.g., `DON`, `DOF`) ISY REST Device Command to a Node using its Ho
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | Name(s) of entities to send the command, e.g., `light.front_porch`. |
|
||||
| `entity_id` | no | Name(s) of entities to send the command, e.g., `light.front_porch`. |
|
||||
| `command` | no | The ISY REST Command to be sent to the device, e.g., `"DON"` |
|
||||
| `value` | yes | The integer value to be sent with the command, if required by the command, e.g., `255` |
|
||||
| `parameters` | yes | A `dict` of parameters to be sent in the query string for controlling colored bulbs or advanced parameters, e.g., `{ GV2: 0, GV3: 0, GV4: 255 }` |
|
||||
| `unit_of_measurement` | yes | The ISY Unit of Measurement (UOM) to send with the command, if required, e.g., `67` |
|
||||
|
||||
#### Service `isy994.get_zwave_parameter`
|
||||
|
||||
Request a Z-Wave Device parameter via the ISY. The parameter value will be returned as a entity extra state attribute with the name "ZW#" where "#" is the parameter number.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------- |
|
||||
| `entity_id` | no | Name of entity to send the command, e.g., `light.front_porch`. This must be an ISY Z-Wave Node. |
|
||||
| `parameter` | no | The parameter number to retrieve from the end device. |
|
||||
|
||||
#### Service `isy994.set_zwave_parameter`
|
||||
|
||||
Update a Z-Wave Device parameter via the ISY. The parameter value will also be returned as a entity extra state attribute with the name "ZW#" where "#" is the parameter number.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------- |
|
||||
| `entity_id` | no | Name of entity to send the command, e.g., `light.front_porch`. This must be an ISY Z-Wave Node. |
|
||||
| `parameter` | no | The parameter number to set on the end device. |
|
||||
| `value` | no | The value to set for the parameter. May be an integer or byte string (e.g. "0xFFFF"). |
|
||||
| `size` | no | The size of the parameter, either 1, 2, or 4 bytes. |
|
||||
|
||||
#### Service `isy994.rename_node`
|
||||
|
||||
Rename a node or group (scene) on the ISY994. Note: this will not automatically change the Home Assistant Entity Name or Entity ID to match. The entity name and ID will only be updated after calling `isy994.reload` or restarting Home Assistant, and ONLY IF you have not already customized the name within Home Assistant.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | -------------------------------------------------------------- |
|
||||
| `entity_id` | no | Name of entity to send the command, e.g., `light.front_porch`. |
|
||||
| `name` | no | The new name to use within the ISY994. |
|
||||
|
||||
#### Service `isy994.set_on_level`
|
||||
|
||||
Send an ISY set_on_level command to a `light` Node to set the devices' local On Level.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | Name(s) of entities to send the command, e.g., `light.front_porch`. |
|
||||
| `entity_id` | no | Name(s) of entities to send the command, e.g., `light.front_porch`. |
|
||||
| `value` | no | The integer value to set the On Level to in a range of 0-255, e.g., `255` |
|
||||
|
||||
#### Service `isy994.set_ramp_rate`
|
||||
|
@ -614,10 +614,10 @@ setpoint_shift_state_address:
|
||||
required: false
|
||||
type: [string, list]
|
||||
setpoint_shift_mode:
|
||||
description: Defines the internal device DPT used. Either 'DPT6010' or 'DPT9002'.
|
||||
description: Defines the internal device DPT used. Either 'DPT6010', 'DPT9002' or None. When `None` or omitted the DPT is auto-assigned from the first incoming telegram.
|
||||
required: false
|
||||
type: string
|
||||
default: DPT6010
|
||||
default: None
|
||||
setpoint_shift_min:
|
||||
description: Minimum value of setpoint shift.
|
||||
required: false
|
||||
@ -705,11 +705,6 @@ max_temp:
|
||||
description: Override the maximum temperature.
|
||||
required: false
|
||||
type: float
|
||||
create_temperature_sensors:
|
||||
description: If true, dedicated sensor entities are created for current and target temperature.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
||||
## Cover
|
||||
@ -899,8 +894,16 @@ rgbw_state_address:
|
||||
description: KNX group address for retrieving the RGBW color of the light. *DPT 251.600*
|
||||
required: false
|
||||
type: [string, list]
|
||||
xyy_address:
|
||||
description: KNX group address for setting the xyY color of the light. *DPT 242.600*
|
||||
required: false
|
||||
type: [string, list]
|
||||
xyy_state_address:
|
||||
description: KNX group address for retrieving the xyY color of the light. *DPT 242.600*
|
||||
required: false
|
||||
type: [string, list]
|
||||
individual_colors:
|
||||
description: Used when the actuator only supports individual group addresses for colors. When `address` is specified for all 3 (or 4) individual colors the root `address` key can be omitted.
|
||||
description: Used when the actuator only supports individual group addresses for colors. When `individual_colors` is used the root `address` key may be omitted.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
@ -1337,7 +1340,6 @@ knx:
|
||||
address_day_night: "7/0/8"
|
||||
address_air_pressure: "7/0/9"
|
||||
address_humidity: "7/0/10"
|
||||
create_sensors: false
|
||||
sync_state: true
|
||||
```
|
||||
|
||||
@ -1399,11 +1401,6 @@ address_humidity:
|
||||
description: KNX address for reading current humidity. *DPT 9.007*
|
||||
required: false
|
||||
type: [string, list]
|
||||
create_sensors:
|
||||
description: If true, dedicated sensor entities are created for all configured properties.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
sync_state:
|
||||
description: Actively read the value from the bus. If `false` no GroupValueRead telegrams will be sent to the bus.
|
||||
required: false
|
||||
|
@ -42,6 +42,7 @@ The following sensors are available in the library:
|
||||
| AC Power | W | Output power of the inverter. |
|
||||
| DC1 Power | W | Power of string 1. |
|
||||
| DC2 Power | W | Power of string 2. |
|
||||
| DC3 Power | W | Power of string 3. |
|
||||
| PV to Battery Power | W | Power used to charge the battery. |
|
||||
| Energy Manager State | | State of the energy manager. |
|
||||
| Battery Cycles | | Number of full charge/discharge cylces. |
|
||||
@ -79,6 +80,10 @@ The following sensors are available in the library:
|
||||
| Energy PV2 Month | kWh | Energy of PV string 2 of the current month. |
|
||||
| Energy PV2 Year | kWh | Energy of PV string 2 of the current year. |
|
||||
| Energy PV2 Total | kWh | Energy of PV string 2 total. |
|
||||
| Energy PV3 Day | kWh | Energy of PV string 3 of the current day. |
|
||||
| Energy PV3 Month | kWh | Energy of PV string 3 of the current month. |
|
||||
| Energy PV3 Year | kWh | Energy of PV string 3 of the current year. |
|
||||
| Energy PV3 Total | kWh | Energy of PV string 3 total. |
|
||||
| Energy Yield Day | kWh | Energy yield of the current day. |
|
||||
| Energy Yield Month | kWh | Energy yield of the current month. |
|
||||
| Energy Yield Year | kWh | Energy yield of the current year. |
|
||||
|
30
source/_integrations/kraken.markdown
Normal file
30
source/_integrations/kraken.markdown
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
title: Kraken
|
||||
description: Instructions on how to integrate Kraken.com sensors into Home Assistant.
|
||||
ha_category:
|
||||
- Finance
|
||||
- Sensor
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: 2021.6
|
||||
ha_config_flow: true
|
||||
ha_quality_scale: gold
|
||||
ha_codeowners:
|
||||
- '@eifinger'
|
||||
ha_domain: kraken
|
||||
ha_platforms:
|
||||
- sensor
|
||||
---
|
||||
|
||||
The Kraken integration allows you to monitor exchange rates on [kraken.com](https://www.kraken.com/).
|
||||
For a list of tradable asset pairs check this [this kraken support article](https://support.kraken.com/hc/en-us/articles/201893658-Currency-pairs-available-for-trading-on-Kraken).
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
{% include integrations/option_flow.md %}
|
||||
|
||||
{% configuration_basic %}
|
||||
Update interval:
|
||||
description: "Seconds between updates"
|
||||
Tracked Asset Pairs:
|
||||
description: "Select the assets you want to track. This list is automatically updated with a list of tradable assets on kraken.com"
|
||||
{% endconfiguration_basic %}
|
@ -66,3 +66,17 @@ media_player:
|
||||
mac: AA-BB-CC-DD-EE-FF
|
||||
broadcast_address: 11.22.33.44
|
||||
```
|
||||
|
||||
## Change channel through play_media service
|
||||
|
||||
The `play_media` service can be used in a script to switch to the specified TV channel. It selects the major channel number according to the `media_content_id` parameter:
|
||||
|
||||
```yaml
|
||||
# Example action entry in script to switch to channel number 15
|
||||
service: media_player.play_media
|
||||
target:
|
||||
entity_id: media_player.lg_tv
|
||||
data:
|
||||
media_content_id: 15
|
||||
media_content_type: channel
|
||||
```
|
||||
|
@ -29,6 +29,7 @@ light:
|
||||
value_template: "{{ state_attr('sensor.theater_brightness', 'lux')|int > 0 }}"
|
||||
temperature_template: "{{states('input_number.temperature_input') | int}}"
|
||||
color_template: "({{states('input_number.h_input') | int}}, {{states('input_number.s_input') | int}})"
|
||||
effect_list_template: "{{ state_attr('light.led_strip', 'effect_list') }}"
|
||||
turn_on:
|
||||
service: script.theater_lights_on
|
||||
turn_off:
|
||||
@ -56,6 +57,21 @@ light:
|
||||
data:
|
||||
value: "{{ s }}"
|
||||
entity_id: input_number.s_input
|
||||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id:
|
||||
- light.led_strip
|
||||
transition: "{{ transition | float }}"
|
||||
hs_color:
|
||||
- "{{ hs[0] }}"
|
||||
- "{{ hs[1] }}"
|
||||
set_effect:
|
||||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id:
|
||||
- light.led_strip
|
||||
effect: "{{ effect }}"
|
||||
supports_transition_template: "{{ true }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
@ -99,6 +115,31 @@ light:
|
||||
required: false
|
||||
type: template
|
||||
default: optimistic
|
||||
supports_transition_template:
|
||||
description: Defines a template to get if light supports transition. Should return boolean value (True/False). If this value is `True` transition parameter in a turn on or turn off call will be passed as a named parameter `transition` to either of the scripts.
|
||||
required: false
|
||||
type: template
|
||||
default: false
|
||||
effect_list_template:
|
||||
description: Defines a template to get the list of supported effects. Must render a list
|
||||
required: inclusive
|
||||
type: template
|
||||
default: optimistic
|
||||
effect_template:
|
||||
description: Defines a template to get the effect of the light.
|
||||
required: inclusive
|
||||
type: template
|
||||
default: optimistic
|
||||
min_mireds_template:
|
||||
description: Defines a template to get the min mireds value of the light.
|
||||
required: false
|
||||
type: template
|
||||
default: optimistic
|
||||
max_mireds_template:
|
||||
description: Defines a template to get the max mireds value of the light.
|
||||
required: false
|
||||
type: template
|
||||
default: optimistic
|
||||
icon_template:
|
||||
description: Defines a template for an icon or picture, e.g., showing a different icon for different states.
|
||||
required: false
|
||||
@ -117,7 +158,7 @@ light:
|
||||
required: true
|
||||
type: action
|
||||
set_level:
|
||||
description: Defines an action to run when the light is given a brightness command.
|
||||
description: Defines an action to run when the light is given a brightness command. The script will only be called if the `turn_on` call only has brightness, and optionally transition.
|
||||
required: false
|
||||
type: action
|
||||
set_temperature:
|
||||
@ -132,6 +173,10 @@ light:
|
||||
description: Defines an action to run when the light is given a color command.
|
||||
required: false
|
||||
type: action
|
||||
set_effect:
|
||||
description: Defines an action to run when the light is given a effect command.
|
||||
required: inclusive
|
||||
type: action
|
||||
{% endconfiguration %}
|
||||
|
||||
## Considerations
|
||||
@ -145,6 +190,9 @@ For example, you would replace
|
||||
with this equivalent that returns `true`/`false` and never gives an unknown
|
||||
result:
|
||||
{% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
|
||||
Transition doesn't have its own script, it will instead be passed as a named parameter `transition` to the `turn_on`, `turn_off`, `brightness`, `color_temp`, `effect`, `hs_color` or `white_value` scripts.
|
||||
Brightness will be passed as a named parameter `brightness` to either of `turn_on`, `color_temp`, `effect`, `hs_color` or `white_value` scripts if the corresponding parameter is also in the call. In this case the brightness script (`set_level`) will not be called.
|
||||
If only brightness is passed to `light.turn_on` service call then `set_level` script is called.
|
||||
|
||||
## Examples
|
||||
|
||||
|
@ -4,6 +4,7 @@ description: Instructions on how to integrate your Connected Services capable Ma
|
||||
ha_release: '2021.3'
|
||||
ha_category:
|
||||
- Car
|
||||
- Lock
|
||||
- Presence Detection
|
||||
- Sensor
|
||||
ha_iot_class: Cloud Polling
|
||||
@ -26,13 +27,97 @@ This integration requires an active Mazda Connected Services subscription and a
|
||||
- CX-9: 2021+
|
||||
- CX-5: 2021+
|
||||
|
||||
This integration provides the following platforms:
|
||||
|
||||
- Sensor: Fuel remaining, fuel distance remaining, odometer, and tire pressure. Tire pressure is not available for CX-5 and CX-9 models.
|
||||
- Device tracker: Tracks the current location of the vehicle. This updates when the vehicle is switched off.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
<div class='note warning'>
|
||||
The MyMazda API only allows one active session at a time. Therefore, if you use the same account with both Home Assistant and the MyMazda mobile app, you may experience issues ("Multiple devices detected" notifications, session expired warnings, etc.) To fix this, you can create a secondary MyMazda account, and share your vehicle with the secondary account. Log in to the mobile app using the primary account and select Menu > MyMazda > My Vehicle > Drivers > Manage Drivers > Invite Driver. When finished, log into the secondary account with Home Assistant.
|
||||
</div>
|
||||
|
||||
## Platforms
|
||||
|
||||
### Sensor
|
||||
|
||||
The following sensor entities are available:
|
||||
- Fuel remaining
|
||||
- Fuel distance remaining
|
||||
- Odometer
|
||||
- Tire pressure (not available for CX-5 and CX-9 models)
|
||||
|
||||
### Device tracker
|
||||
|
||||
Tracks the current location of the vehicle. This will generally update when the vehicle is switched off.
|
||||
|
||||
### Lock
|
||||
|
||||
Displays the current door lock status of the vehicle, and locks/unlocks the doors of the vehicle.
|
||||
|
||||
<div class='note info'>
|
||||
The "Automatic Re-Lock" feature will automatically re-lock the doors if they are not opened shortly after being unlocked. This applies regardless of whether you are using the key, or unlocking the doors remotely using Home Assistant or the MyMazda app.
|
||||
</div>
|
||||
|
||||
## Services
|
||||
|
||||
This integration offers several services for interacting with Mazda vehicles.
|
||||
|
||||
### Service `mazda.start_engine`
|
||||
|
||||
Starts the vehicle engine. The vehicle engine can only be remotely started 2 consecutive times. To reset this counter, the vehicle must be driven.
|
||||
|
||||
| Service Data Attribute | Required | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `device_id` | yes | The device ID of the vehicle to start |
|
||||
|
||||
### Service `mazda.stop_engine`
|
||||
|
||||
Stops the vehicle engine. This only works if the vehicle was remotely started.
|
||||
|
||||
| Service Data Attribute | Required | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `device_id` | yes | The device ID of the vehicle to stop |
|
||||
|
||||
### Service `mazda.start_charging`
|
||||
|
||||
Starts charging the vehicle battery. This only works with electric vehicles.
|
||||
|
||||
| Service Data Attribute | Required | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `device_id` | yes | The device ID of the vehicle to start charging |
|
||||
|
||||
### Service `mazda.stop_charging`
|
||||
|
||||
Stops charging the vehicle battery. This only works with electric vehicles.
|
||||
|
||||
| Service Data Attribute | Required | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `device_id` | yes | The device ID of the vehicle to stop charging |
|
||||
|
||||
### Service `mazda.send_poi`
|
||||
|
||||
Send a GPS location to the vehicle's navigation system as a POI (Point of Interest). Requires a navigation SD card installed in the vehicle.
|
||||
|
||||
| Service Data Attribute | Required | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `device_id` | yes | The device ID of the vehicle to send the GPS location to |
|
||||
| `latitude` | yes | The latitude of the location to send. |
|
||||
| `longitude` | yes | The longitude of the location to send. |
|
||||
| `poi_name` | yes | A friendly name for the location. |
|
||||
|
||||
### Service `mazda.turn_on_hazard_lights`
|
||||
|
||||
Turn on the vehicle hazard lights. The lights will flash briefly and then turn off.
|
||||
|
||||
| Service Data Attribute | Required | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `device_id` | yes | The device ID of the vehicle to turn hazard lights on |
|
||||
|
||||
### Service `mazda.turn_off_hazard_lights`
|
||||
|
||||
Temporarily turn off the vehicle hazard lights if they have been manually turned on from inside the vehicle. If a door is opened, the hazard lights will turn back on.
|
||||
|
||||
| Service Data Attribute | Required | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `device_id` | yes | The device ID of the vehicle to turn hazard lights off |
|
||||
|
||||
## Disclaimer
|
||||
|
||||
This integration is not affiliated with or endorsed by Mazda.
|
22
source/_integrations/meteoclimatic.markdown
Normal file
22
source/_integrations/meteoclimatic.markdown
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Meteoclimatic
|
||||
description: Instructions on how to integrate Meteoclimatic within Home Assistant.
|
||||
ha_release: 2021.6
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_category:
|
||||
- Weather
|
||||
ha_codeowners:
|
||||
- '@adrianmo'
|
||||
ha_config_flow: true
|
||||
ha_domain: meteoclimatic
|
||||
---
|
||||
|
||||
The Meteoclimatic integration uses the [Meteoclimatic](https://www.meteoclimatic.net/) web service as a source for meteorological data for your location. The location is based on the Meteoclimatic station code (e.g., `ESCAT4300000043206B`) and the weather data reported is based on the capabilities of each station.
|
||||
|
||||
There is currently support for the following platforms within Home Assistant:
|
||||
|
||||
- Weather
|
||||
|
||||
It displays the current weather reported by specific Meteoclimatic stations.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
@ -18,80 +18,96 @@ ha_platforms:
|
||||
- switch
|
||||
---
|
||||
|
||||
[Modbus](http://www.modbus.org/) is a serial communication protocol to control PLCs (Programmable Logic Controller).
|
||||
It supports various types of devices which can be controlled over serial, TCP, and UDP connections.
|
||||
[Modbus](http://www.modbus.org/) is a serial communication protocol to control PLCs (Programmable Logic Controller) and RTUs (Remote Terminal Unit). The integration adheres strictly to the [protocol specification](https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf).
|
||||
Modbus supports all devices adhering to the Modbus standard. The communication between the device(s) can be serial (rs-485), TCP, or UDP connections. The Modbus integration allows multiple communications e.g. serial combined with TCP or different TCP connected devices.
|
||||
|
||||
## Configuration
|
||||
# Configuring Modbus
|
||||
|
||||
How to add modbus to your installation depends on the connection type, either a network or serial connection.
|
||||
First, you define how to communicate with your Modbus devices and after that you define the information being exchanged. The Modbus integration allows you to use multiple connections.
|
||||
|
||||
Platforms:
|
||||
- binary_sensor
|
||||
- climate
|
||||
- cover
|
||||
- sensor
|
||||
- switch
|
||||
## Configuring Modbus common parameters
|
||||
|
||||
are all defined as part of the modbus configuration. The old configuration style, (having each outside the modbus configuration is still supported, but will cause a warning, and will be removed in a later release).
|
||||
Part of the configuration is common for all types of communication. Add the following to your `configuration.yaml` file:
|
||||
|
||||
### Network connection
|
||||
```yaml
|
||||
modbus:
|
||||
- name: "hub1"
|
||||
close_comm_on_error: true
|
||||
delay: 5
|
||||
timeout: 5
|
||||
type: tcp
|
||||
```
|
||||
|
||||
For a network connection, add the following to your `configuration.yaml` file:
|
||||
{% configuration %}
|
||||
close_comm_on_error:
|
||||
description: Determines if the device connection is closed when an error occurs, default is true. Some serial-rs485 adapters deliver garble when opened, this leads to a disconnect and a new connect, which can continue. If in a running communication the debug log contains a message from pymodbus, with the text "cleaning....", then try this parameter.
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
delay:
|
||||
description: "Time to delay sending messages in seconds after connecting. Some Modbus devices need a delay of typically 1-2 seconds after established connection to prepare the communication. If a device does not respond to messages after connecting, this parameter might help. Remark: the delay is solely between connect and the first message."
|
||||
required: false
|
||||
default: 0
|
||||
type: integer
|
||||
name:
|
||||
description: Name for this hub. Must be unique, so it is required when setting up multiple instances.
|
||||
required: false
|
||||
default: "modbus_hub"
|
||||
type: string
|
||||
timeout:
|
||||
description: "Timeout while waiting for a response in seconds. Remark: a timeout of fewer than 5 seconds will be automatically adjusted to 5 seconds."
|
||||
required: false
|
||||
default: 5
|
||||
type: integer
|
||||
type:
|
||||
description: Type of communication. Possible values are `tcp` Modbus messages with Modbus TCP frame on TCP/IP, `udp` Modbus messages with Modbus TCP frame on UDP, `rtuovertcp` Modbus messages with a wrapper TCP/IP simulating a serial line.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## Configuring network connection
|
||||
|
||||
For a network (type: `tcp`/`udp`/`rtuovertcp`) connection, add the following to your `configuration.yaml` file, in addition to the [common parameters](#configuring-modbus-common-parameters):
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for a TCP connection
|
||||
modbus:
|
||||
- name: hub1
|
||||
- name: "hub1"
|
||||
type: tcp
|
||||
host: IP_ADDRESS
|
||||
port: 502
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
delay:
|
||||
description: Time to sleep in seconds after connecting and before sending messages. Some modbus-tcp servers need a short delay typically 1-2 seconds in order to prepare the communication. If a server accepts connecting, but there is no response to the requests send, this parameter might help.
|
||||
required: false
|
||||
default: 0
|
||||
type: integer
|
||||
host:
|
||||
description: The IP address of your Modbus device, e.g., 192.168.1.1.
|
||||
description: The IP address of your Modbus device, e.g., `192.168.1.1`.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Name for this hub. Must be unique, so it is required when setting up multiple instances.
|
||||
required: false
|
||||
default: modbus_hub
|
||||
type: string
|
||||
port:
|
||||
description: The network port for the communication.
|
||||
required: true
|
||||
type: integer
|
||||
timeout:
|
||||
description: Timeout for slave response in seconds.
|
||||
required: false
|
||||
default: 3
|
||||
type: integer
|
||||
type:
|
||||
description: Type of the connection to Modbus. Possible values are `tcp` (Modbus TCP protocol according to "MODBUS Messaging Implementation Guide version 1.0b" provided by Schneider Automation.), `udp`(Modbus TCP form, but using UDP for transport. It removes the overheads required for TCP.) and `rtuovertcp` (Modbus RTU message transmitted with a TCP/IP wrapper and sent over a network instead of serial lines.).
|
||||
description: "Type of the connection to Modbus, needs to be `tcp` or `udp` or `rtuovertcp` for this setup."
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### Serial connection
|
||||
## Configuring serial connection
|
||||
|
||||
For a serial connection, add the following to your `configuration.yaml` file:
|
||||
For a serial connection, add the following to your `configuration.yaml` file, in addition to the [common parameters](#configuring-modbus-common-parameters):
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for a serial connection
|
||||
modbus:
|
||||
- name: hub1
|
||||
type: serial
|
||||
method: rtu
|
||||
port: /dev/ttyUSB0
|
||||
baudrate: 9600
|
||||
stopbits: 1
|
||||
bytesize: 8
|
||||
parity: N
|
||||
method: rtu
|
||||
parity: E
|
||||
port: /dev/ttyUSB0
|
||||
stopbits: 1
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -103,20 +119,10 @@ bytesize:
|
||||
description: "The bytesize for the serial connection; can be `5`, `6`, `7` or `8`."
|
||||
required: true
|
||||
type: integer
|
||||
delay:
|
||||
description: Time to sleep in seconds after connecting and before sending messages. Some modbus servers need a short delay typically 1-2 seconds in order to prepare the communication. If a server accepts connecting, but there is no response to the requests send, this parameter might help.
|
||||
required: false
|
||||
default: 0
|
||||
type: integer
|
||||
method:
|
||||
description: "Method of the connection to Modbus, either `rtu` or `ascii`."
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Name for this hub. Must be unique, so it is required when setting up multiple instances.
|
||||
required: false
|
||||
default: modbus_hub
|
||||
type: string
|
||||
parity:
|
||||
description: "The parity for the serial connection; can be `E`, `O` or `N`."
|
||||
required: true
|
||||
@ -129,22 +135,95 @@ stopbits:
|
||||
description: "The stopbits for the serial connection, either `1` or `2`."
|
||||
required: true
|
||||
type: integer
|
||||
timeout:
|
||||
description: Timeout for slave response in seconds.
|
||||
required: false
|
||||
default: 3
|
||||
type: integer
|
||||
type:
|
||||
description: "Type of the connection to Modbus, needs to be `serial` for this setup."
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## Configuring multiple connections
|
||||
|
||||
Multiple connections are possible with identical/different `type:`.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for multiple TCP connections
|
||||
modbus:
|
||||
- type: tcp
|
||||
host: IP_ADDRESS_1
|
||||
port: 2020
|
||||
name: "hub1"
|
||||
|
||||
- type: udp
|
||||
host: IP_ADDRESS_2
|
||||
port: 501
|
||||
name: hub2
|
||||
```
|
||||
|
||||
Remark: `name:`is required for multiple connections, because it needs to be unique.
|
||||
|
||||
## Modbus services
|
||||
|
||||
The Modbus integration provides two generic services in addition to the platform-specific services.
|
||||
|
||||
| Service | Description |
|
||||
| ------- | ----------- |
|
||||
| modbus.write_register | Write register or registers |
|
||||
| modbus.write_coil | Write coil or coils |
|
||||
|
||||
Description:
|
||||
|
||||
| Attribute | Description |
|
||||
| --------- | ----------- |
|
||||
| hub | Hub name (defaults to 'modbus_hub' when omitted) |
|
||||
| unit | Slave address (1-255, defaults to 0) |
|
||||
| address | Address of the Register (e.g. 138) |
|
||||
| value | (write_register) A single value or an array of 16-bit values. Single value will call modbus function code 0x06. Array will call modbus function code 0x10. Values might need reverse ordering. E.g., to set 0x0004 you might need to set `[4,0]`, this depend on the byte order of your CPU |
|
||||
| state | (write_coil) A single boolean or an array of booleans. Single boolean will call modbus function code 0x05. Array will call modbus function code 0x0F |
|
||||
|
||||
# configure Modbus platforms
|
||||
|
||||
Modbus platform entities are configured within the Modbus configuration.
|
||||
|
||||
## Configuring platform common parameters
|
||||
|
||||
All modbus platforms share a set of common parameters.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for platform common parameters
|
||||
modbus:
|
||||
- type: tcp
|
||||
host: IP_ADDRESS_1
|
||||
port: 2020
|
||||
name: "hub1"
|
||||
sensors:
|
||||
- name: sensor1
|
||||
scan_interval: 999
|
||||
slave: 0
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Name for the platform entity which must be unique within the platform.
|
||||
required: true
|
||||
type: string
|
||||
scan_interval:
|
||||
description: Defines the update interval of the entity in seconds. If scan_interval is lower than `timeout` or 5 seconds it is automatically adjusted to `timeout` (default 5 seconds).
|
||||
required: false
|
||||
type: integer
|
||||
default: 10
|
||||
slave:
|
||||
description: The number of the slave.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
{% endconfiguration %}
|
||||
|
||||
### Configuring platform binary sensor
|
||||
|
||||
The `modbus` binary sensor allows you to gather data from [Modbus](http://www.modbus.org/) coils with state ON/OFF.
|
||||
The Modbus binary sensor allows you to gather data from coils which as per standard have state ON/OFF.
|
||||
|
||||
To use your Modbus binary sensors in your installation, add the following to your `configuration.yaml` file, in addition to the [common parameters](#configuring- platform-common-parameters):
|
||||
|
||||
To use your Modbus binary sensors in your installation, add the following to your `configuration.yaml` file:
|
||||
```yaml
|
||||
# Example configuration.yaml entry for binary_sensor configuration
|
||||
modbus:
|
||||
@ -153,51 +232,41 @@ modbus:
|
||||
host: IP_ADDRESS
|
||||
port: 502
|
||||
binary_sensors:
|
||||
- name: Sensor1
|
||||
slave: 1
|
||||
- name: "binary_sensor1"
|
||||
address: 100
|
||||
- name: Sensor2
|
||||
scan_interval: 20
|
||||
slave: 1
|
||||
- name: "binary_ensor2"
|
||||
address: 110
|
||||
device_class: door
|
||||
input_type: discrete_input
|
||||
```
|
||||
{% configuration %}
|
||||
binary_sensors:
|
||||
description: A list of all binary_sensors available in this modbus instance.
|
||||
description: A list of all binary_sensors available in this modbus instance, omit if there are no binary_sensors.
|
||||
required: false
|
||||
type: [map]
|
||||
keys:
|
||||
device_class:
|
||||
description: Device class to be used for the UI (e.g. "door").
|
||||
required: false
|
||||
type: string
|
||||
input_type:
|
||||
description: type of adddress (discrete/coil)
|
||||
required: false
|
||||
default: coil
|
||||
type: string
|
||||
name:
|
||||
description: Name for this binary_sensor. Must be unique.
|
||||
required: true
|
||||
type: string
|
||||
scan_interval:
|
||||
description: Defines the update interval of the sensor in seconds.
|
||||
required: false
|
||||
type: integer
|
||||
default: 15
|
||||
slave:
|
||||
description: The number of the slave.
|
||||
required: false
|
||||
type: integer
|
||||
address:
|
||||
description: Address of the Register.
|
||||
required: true
|
||||
type: integer
|
||||
device_class:
|
||||
description: The [type/class](/integrations/binary_sensor/#device-class) to be used for the UI (e.g. "door").
|
||||
required: false
|
||||
type: string
|
||||
input_type:
|
||||
description: type of address (discrete_input/coil)
|
||||
required: false
|
||||
default: coil
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
### Configuring platform climate
|
||||
|
||||
To use your Modbus thermostat in your installation, add the following to your `configuration.yaml` file:
|
||||
The Modbus climate platform allows you to monitor your thermostat as well as set a target temperature.
|
||||
|
||||
To use your Modbus thermostat in your installation, add the following to your `configuration.yaml` file, in addition to the [common parameters](#configuring- platform-common-parameters):
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -207,18 +276,21 @@ modbus:
|
||||
host: IP_ADDRESS
|
||||
port: 502
|
||||
climates:
|
||||
- name: Watlow F4T
|
||||
slave: 1
|
||||
data_type: uint
|
||||
- name: "Watlow F4T"
|
||||
current_temp_register: 27586
|
||||
current_temp_register_type: holding
|
||||
data_count: 1
|
||||
scale: 0.1
|
||||
data_type: custom
|
||||
max_temp: 35
|
||||
min_temp: 15
|
||||
offset: 0
|
||||
precision: 1
|
||||
scale: 0.1
|
||||
max_temp: 30
|
||||
min_temp: 15
|
||||
temp_step: 1
|
||||
structure: ">f"
|
||||
target_temp_register: 2782
|
||||
current_temp_register: 27586
|
||||
temp_step: 1
|
||||
temperature_unit: C
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -228,11 +300,11 @@ climates:
|
||||
type: [map]
|
||||
keys:
|
||||
current_temp_register:
|
||||
description: Register number for current temperature (Process value).
|
||||
description: Register address for current temperature (process value).
|
||||
required: true
|
||||
type: integer
|
||||
current_temp_register_type:
|
||||
description: Modbus register type (holding, input) for current temperature, default holding.
|
||||
description: Modbus register type (`holding`, `input`) for current temperature.
|
||||
required: false
|
||||
type: string
|
||||
default: holding
|
||||
@ -242,19 +314,20 @@ climates:
|
||||
type: integer
|
||||
default: 2
|
||||
data_type:
|
||||
description: Response representation (int, uint, float, custom). If float selected, value will converted to IEEE 754 floating point format.
|
||||
description: Response representation (`int`, `uint`, `float`, `custom`). If `float` selected, value will converted to IEEE 754 floating point format. If `custom`is selected `structure`must de defined.
|
||||
required: false
|
||||
type: string
|
||||
default: float
|
||||
min_temp:
|
||||
default: float
|
||||
max_temp:
|
||||
description: Maximum setpoint temperature.
|
||||
required: false
|
||||
type: integer
|
||||
default: 35
|
||||
min_temp:
|
||||
description: Minimum setpoint temperature.
|
||||
required: false
|
||||
type: integer
|
||||
default: 5
|
||||
name:
|
||||
description: Name of the device
|
||||
required: true
|
||||
type: string
|
||||
offset:
|
||||
description: Final offset (output = scale * value + offset).
|
||||
required: false
|
||||
@ -270,22 +343,13 @@ climates:
|
||||
required: false
|
||||
type: float
|
||||
default: 1
|
||||
scan_interval:
|
||||
description: Defines the update interval of the sensor in seconds.
|
||||
required: false
|
||||
type: integer
|
||||
default: 15
|
||||
slave:
|
||||
description: The number of the slave (Optional for tcp and upd Modbus, use 1).
|
||||
required: true
|
||||
type: integer
|
||||
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"
|
||||
target_temp_register:
|
||||
description: Register number for target temperature (Setpoint).
|
||||
description: Register address for target temperature (Setpoint).
|
||||
required: true
|
||||
type: integer
|
||||
temp_step:
|
||||
@ -300,9 +364,7 @@ climates:
|
||||
default: C
|
||||
{% endconfiguration %}
|
||||
|
||||
## Services
|
||||
|
||||
### Service `modbus.set-temperature`
|
||||
#### Service `modbus.set-temperature`
|
||||
|
||||
| Service | Description |
|
||||
| ------- | ----------- |
|
||||
@ -310,15 +372,15 @@ climates:
|
||||
|
||||
### Configuring platform cover
|
||||
|
||||
The `modbus` cover platform allows you to control [Modbus](http://www.modbus.org/) covers (such as blinds, a roller shutter, or a garage door).
|
||||
The `modbus` cover platform allows you to control covers (such as blinds, a roller shutter, or a garage door).
|
||||
|
||||
At the moment, we support the opening and closing of a cover. You can control your covers either using coils or holding registers.
|
||||
At the moment, platform cover support the opening and closing of a cover. You can control your covers either using coils or holding registers.
|
||||
|
||||
Cover that uses the `coil` attribute is not able to determine intermediary states such as opening and closing. Coil stores only two states — "0" means cover closed, and "1" implies cover open. To allow detecting intermediary states, we added an optional `status_register` attribute. It will enable you to write your command (e.g., to open a cover) into a coil, and read current cover status back through the register. Additionally, you can specify values for `state_open`, `state_opening`, `state_closed`, and `state_closing` attributes. These will be matched with the value read from the `status_register`.
|
||||
Cover that uses the `coil` attribute is not able to determine intermediary states such as opening and closing. Coil stores only two states — "0" means cover closed, and "1" implies cover open. To allow detecting intermediary states, there is an optional `status_register` attribute. It will enable you to write your command (e.g., to open a cover) into a coil, and read current cover status back through the register. Additionally, you can specify values for `state_open`, `state_opening`, `state_closed`, and `state_closing` attributes. These will be matched with the value read from the `status_register`.
|
||||
|
||||
If your cover uses holding register to send commands (defined by the `register` attribute), it can also read the intermediary states. To adjust which value represents what state, you can fine-tune the optional state attributes, like `state_open`. These optional state values are also used for specifying values written into the register. If you specify an optional status_register attribute, cover states will be read from status_register instead of the register used for sending commands.
|
||||
|
||||
To use Modbus covers in your installation, add the following to your `configuration.yaml` file:
|
||||
To use Modbus covers in your installation, add the following to your `configuration.yaml` file, in addition to the [common parameters](#configuring- platform-common-parameters):
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -330,20 +392,16 @@ modbus:
|
||||
covers:
|
||||
- name: Door1
|
||||
device_class: door
|
||||
scan_interval: 1
|
||||
coil: 0
|
||||
- name: Door2
|
||||
coil: 117
|
||||
device_class: door
|
||||
scan_interval: 1
|
||||
coil: 1
|
||||
status_register: 1
|
||||
- name: Door3
|
||||
slave: 2
|
||||
device_class: door
|
||||
scan_interval: 1
|
||||
register: 0
|
||||
state_open: 1
|
||||
state_opening: 2
|
||||
state_closed: 0
|
||||
state_closing: 3
|
||||
status_register: 119
|
||||
status_register_type: holding
|
||||
- name: "Door2"
|
||||
register: 117
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -353,51 +411,37 @@ covers:
|
||||
type: map
|
||||
keys:
|
||||
coil:
|
||||
description: Coil address; can be omitted if a register attribute is specified. Coil and register attributes are mutually exclusive, and you need to always specify one of them.
|
||||
required: true
|
||||
description: Coil address; `coil` and `register` attributes are mutually exclusive and you need to add one of them.
|
||||
required: false
|
||||
type: integer
|
||||
device_class:
|
||||
description: The [type/class](/integrations/cover/#device-class) of the cover to set the icon in the frontend.
|
||||
required: false
|
||||
type: device_class
|
||||
default: None
|
||||
name:
|
||||
description: Name of the switch.
|
||||
required: true
|
||||
type: string
|
||||
register:
|
||||
description: Holding register address; can be omitted if a coil attribute is specified. Coil and register attributes are mutually exclusive, and you need to always specify one of them.
|
||||
description: Holding register address; `coil` and `register` attributes are mutually exclusive, and you need to add one of them.
|
||||
required: true
|
||||
type: integer
|
||||
scan_interval:
|
||||
description: Defines the update interval of the sensor in seconds.
|
||||
required: false
|
||||
type: integer
|
||||
default: 15
|
||||
slave:
|
||||
description: The number of the slave (can be omitted for tcp and udp Modbus).
|
||||
required: false
|
||||
default: 1
|
||||
type: integer
|
||||
state_open:
|
||||
description: A value in `status_register` or `register` representing an open cover. If your configuration uses an `register` attribute, this value will be also written into a holding register to open the cover.
|
||||
description: A value in `status_register` or `register` representing an open cover. If your configuration uses the `register` attribute, this value will be written into the holding register to open the cover.
|
||||
required: false
|
||||
default: 1
|
||||
type: integer
|
||||
state_closed:
|
||||
description: A value in `status_register` or `register` representing a closed cover. If your configuration uses an `register` attribute, this value will be also written into a holding register to close the cover.
|
||||
description: A value in `status_register` or `register` representing a closed cover. If your configuration uses the `register` attribute, this value will be written into the holding register to close the cover.
|
||||
required: false
|
||||
default: 0
|
||||
type: integer
|
||||
state_opening:
|
||||
description: A value in `status_register` or `register` telling us that the cover is opening at the moment. Note that this state should be also supported on your connected Modbus cover. If it won't write this intermediary state into the register, this state won't be detected.
|
||||
description: A value in `status_register` or `register` representing a opening cover. Note that this state should be also supported on your connected Modbus cover. If it won't report the state, this state won't be detected.
|
||||
required: false
|
||||
default: 2
|
||||
type: integer
|
||||
state_closing:
|
||||
description: A value in `status_register` or `register` telling us that the cover is closing at the moment. Note that this state should be also supported on your connected Modbus cover. If it won't write this intermediary state into the register, this state won't be detected.
|
||||
description: A value in `status_register` or `register` representing a closing cover. Note that this state should be also supported on your connected Modbus cover. If it won't reeport the state, this state won't be detected.
|
||||
required: false
|
||||
default: 2
|
||||
default: 3
|
||||
type: integer
|
||||
status_register:
|
||||
description: An address of an register, from which all the cover states will be read. If you specified `register` attribute, and not `status_register` attribute, your main register will also be used as a status register.
|
||||
@ -501,14 +545,185 @@ modbus:
|
||||
state_closed: 0
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Configuring platform fan
|
||||
|
||||
The `modbus` fan platform allows you to control [Modbus](http://www.modbus.org/) coils or registers.
|
||||
|
||||
To use your Modbus fans in your installation, add the following to your `configuration.yaml` file, in addition to the [common parameters](#configuring- platform-common-parameters):
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
modbus:
|
||||
- type: tcp
|
||||
host: IP_ADDRESS
|
||||
port: 502
|
||||
fans:
|
||||
- name: "Fan1"
|
||||
address: 13
|
||||
write_type: coil
|
||||
- name: "Fan2"
|
||||
slave: 2
|
||||
address: 14
|
||||
write_type: coil
|
||||
verify:
|
||||
- name: "Register1"
|
||||
address: 11
|
||||
command_on: 1
|
||||
command_off: 0
|
||||
verify:
|
||||
input_type: holding
|
||||
address: 127
|
||||
state_on: 25
|
||||
state_off: 1
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
fans:
|
||||
description: The array contains a list of all your Modbus fans.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
address:
|
||||
description: Coil number or register.
|
||||
required: true
|
||||
type: integer
|
||||
command_on:
|
||||
description: Value to write to turn on the fan.
|
||||
required: false
|
||||
default: 0x01
|
||||
type: integer
|
||||
command_off:
|
||||
description: Value to write to turn off the fan.
|
||||
required: false
|
||||
default: 0x00
|
||||
type: integer
|
||||
write_type:
|
||||
description: Type of address (holding/coil).
|
||||
required: false
|
||||
default: holding
|
||||
type: string
|
||||
name:
|
||||
description: Name of the fan.
|
||||
required: true
|
||||
type: string
|
||||
verify:
|
||||
description: Read from Modbus device to verify fan. If used without attributes it uses the toggle register configuration. If omitted no verification is done, but the state of the fan is set with each toggle.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
address:
|
||||
description: Address to read from.
|
||||
required: false
|
||||
default: write address
|
||||
type: integer
|
||||
input_type:
|
||||
description: Type of address (holding/coil/discrete/input).
|
||||
required: false
|
||||
default: write_type
|
||||
type: integer
|
||||
state_on:
|
||||
description: Value when the fan is on.
|
||||
required: false
|
||||
default: same as command_on
|
||||
type: integer
|
||||
state_off:
|
||||
description: Value when the fan is off.
|
||||
required: false
|
||||
default: same as command_off
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
### Configuring platform light
|
||||
|
||||
The `modbus` light platform allows you to control [Modbus](http://www.modbus.org/) coils or registers.
|
||||
|
||||
To use your Modbus lights in your installation, add the following to your `configuration.yaml` file, in addition to the [common parameters](#configuring- platform-common-parameters):
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
modbus:
|
||||
- type: tcp
|
||||
host: IP_ADDRESS
|
||||
port: 502
|
||||
lights:
|
||||
- name: "light1"
|
||||
address: 13
|
||||
write_type: coil
|
||||
- name: "light2"
|
||||
slave: 2
|
||||
address: 14
|
||||
write_type: coil
|
||||
verify:
|
||||
- name: "Register1"
|
||||
address: 11
|
||||
command_on: 1
|
||||
command_off: 0
|
||||
verify:
|
||||
input_type: holding
|
||||
address: 127
|
||||
state_on: 25
|
||||
state_off: 1
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
lights:
|
||||
description: The array contains a list of all your Modbus lights.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
address:
|
||||
description: Coil number or register.
|
||||
required: true
|
||||
type: integer
|
||||
command_on:
|
||||
description: Value to write to turn on the fan.
|
||||
required: false
|
||||
default: 0x01
|
||||
type: integer
|
||||
command_off:
|
||||
description: Value to write to turn off the light.
|
||||
required: false
|
||||
default: 0x00
|
||||
type: integer
|
||||
write_type:
|
||||
description: Type of address (holding/coil).
|
||||
required: false
|
||||
default: holding
|
||||
type: string
|
||||
verify:
|
||||
description: Read from Modbus device to verify the light. If used without attributes it uses the toggle register configuration. If omitted no verification is done, but the state of the light is set with each toggle.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
address:
|
||||
description: Address to read from.
|
||||
required: false
|
||||
default: write address
|
||||
type: integer
|
||||
input_type:
|
||||
description: Type of address (holding/coil/discrete/input).
|
||||
required: false
|
||||
default: write_type
|
||||
type: integer
|
||||
state_on:
|
||||
description: Value when the light is on.
|
||||
required: false
|
||||
default: same as command_on
|
||||
type: integer
|
||||
state_off:
|
||||
description: Value when the light is off.
|
||||
required: false
|
||||
default: same as command_off
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
### Configuring platform sensor
|
||||
|
||||
The `modbus` cover platform allows you to control [Modbus](http://www.modbus.org/) covers (such as blinds, a roller shutter, or a garage door).
|
||||
|
||||
|
||||
The `modbus` sensor allows you to gather data from [Modbus](http://www.modbus.org/) registers.
|
||||
|
||||
To use your Modbus sensors in your installation, add the following to your `configuration.yaml` file:
|
||||
To use your Modbus sensors in your installation, add the following to your `configuration.yaml` file, in addition to the [common parameters](#configuring- platform-common-parameters):
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -642,27 +857,32 @@ modbus:
|
||||
|
||||
The `modbus` switch platform allows you to control [Modbus](http://www.modbus.org/) coils or registers.
|
||||
|
||||
To use your Modbus switches in your installation, add the following to your `configuration.yaml` file:
|
||||
To use your Modbus switches in your installation, add the following to your `configuration.yaml` file, in addition to the [common parameters](#configuring- platform-common-parameters):
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
modbus:
|
||||
- name: hub1
|
||||
type: tcp
|
||||
- type: tcp
|
||||
host: IP_ADDRESS
|
||||
port: 502
|
||||
switches:
|
||||
- name: Switch1
|
||||
address: 13
|
||||
input_type: coil
|
||||
write_type: coil
|
||||
- name: Switch2
|
||||
slave: 2
|
||||
address: 14
|
||||
input_type: coil
|
||||
write_type: coil
|
||||
verify:
|
||||
- name: Register1
|
||||
address: 11
|
||||
command_on: 1
|
||||
command_off: 0
|
||||
verify:
|
||||
input_type: holding
|
||||
address: 127
|
||||
state_on: 25
|
||||
state_off: 1
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -677,130 +897,51 @@ switches:
|
||||
type: integer
|
||||
command_on:
|
||||
description: Value to write to turn on the switch.
|
||||
required: true
|
||||
required: false
|
||||
default: 0x01
|
||||
type: integer
|
||||
command_off:
|
||||
description: Value to write to turn off the switch.
|
||||
required: true
|
||||
required: false
|
||||
default: 0x00
|
||||
type: integer
|
||||
input_type:
|
||||
description: type of adddress (holding/input/coil)
|
||||
write_type:
|
||||
description: type of address (holding/coil)
|
||||
required: false
|
||||
default: holding
|
||||
type: string
|
||||
name:
|
||||
description: Name of the switch.
|
||||
required: true
|
||||
type: string
|
||||
scan_interval:
|
||||
description: Defines the update interval of the sensor in seconds.
|
||||
verify:
|
||||
description: Read from modbus device to verify switch. If used without attributes it uses the toggle register configuration. If omitted no verification is done, but the state of the switch is set with each toggle.
|
||||
required: false
|
||||
type: integer
|
||||
default: 15
|
||||
slave:
|
||||
description: The number of the slave (can be omitted for tcp and udp Modbus).
|
||||
required: true
|
||||
type: integer
|
||||
state_on:
|
||||
description: Register value when switch is on.
|
||||
required: false
|
||||
default: same as command_on
|
||||
type: integer
|
||||
state_off:
|
||||
description: Register value when switch is off.
|
||||
required: false
|
||||
default: same as command_off
|
||||
type: integer
|
||||
verify_register:
|
||||
description: Register to readback.
|
||||
required: false
|
||||
default: same as register
|
||||
type: string
|
||||
verify_state:
|
||||
description: Define if is possible to readback the status of the switch.
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
type: map
|
||||
keys:
|
||||
address:
|
||||
description: Address to read from.
|
||||
required: false
|
||||
default: write address
|
||||
type: integer
|
||||
delay:
|
||||
description: delay between write and verify.
|
||||
required: false
|
||||
default: 0
|
||||
type: integer
|
||||
input_type:
|
||||
description: type of address (holding/coil/discrete/input)
|
||||
required: false
|
||||
default: write_type
|
||||
type: integer
|
||||
state_on:
|
||||
description: value when switch is on.
|
||||
required: false
|
||||
default: same as command_on
|
||||
type: integer
|
||||
state_off:
|
||||
description: value when switch is off.
|
||||
required: false
|
||||
default: same as command_off
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
#### Full example
|
||||
|
||||
Example switches, for which the state is polled from Modbus every 15 seconds (default).
|
||||
|
||||
```yaml
|
||||
modbus:
|
||||
- name: hub1
|
||||
type: tcp
|
||||
host: IP_ADDRESS
|
||||
port: 502
|
||||
switches:
|
||||
- name: Switch1
|
||||
slave: 1
|
||||
address: 13
|
||||
input_type: coil
|
||||
- name: Switch2
|
||||
slave: 2
|
||||
address: 14
|
||||
```
|
||||
|
||||
#### Multiple connections
|
||||
|
||||
Multiple connections are possible, add something like the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for multiple TCP connections
|
||||
modbus:
|
||||
- type: tcp
|
||||
host: IP_ADDRESS_1
|
||||
port: 2020
|
||||
name: hub1
|
||||
|
||||
- type: tcp
|
||||
host: IP_ADDRESS_2
|
||||
port: 501
|
||||
name: hub2
|
||||
```
|
||||
|
||||
### Service `modbus.write_register`
|
||||
|
||||
| Service | Description |
|
||||
| ------- | ----------- |
|
||||
| write_register | Write register. Requires `hub`, `unit`, `address` and `value` fields. `value` can be either single value or an array |
|
||||
|
||||
Description:
|
||||
|
||||
| Attribute | Description |
|
||||
| --------- | ----------- |
|
||||
| hub | Hub name (defaults to 'default' when omitted) |
|
||||
| unit | Slave address (1-255, mostly 255 if you talk to Modbus via TCP) |
|
||||
| address | Address of the Register (e.g., 138) |
|
||||
| value | A single value or an array of 16-bit values. Single value will call modbus function code 6. Array will call modbus function code 16. Array might need reverse ordering. E.g., to set 0x0004 you might need to set `[4,0]` |
|
||||
|
||||
### Service `modbus.write_coil`
|
||||
|
||||
| Service | Description |
|
||||
| ------- | ----------- |
|
||||
| write_coil | Write coil. Requires `hub`, `unit`, `address` and `state` fields. `state` can be either single bolean or an array |
|
||||
|
||||
Description:
|
||||
|
||||
| Attribute | Description |
|
||||
| --------- | ----------- |
|
||||
| hub | Hub name (defaults to 'default' when omitted) |
|
||||
| unit | Slave address (1-255, mostly 255 if you talk to Modbus via TCP) |
|
||||
| address | Address of the Register (e.g., 138) |
|
||||
| state | A single boolean or an array of booleans. Single boolean will call modbus function code 6. Array will call modbus function code 16.
|
||||
..
|
||||
|
||||
## Log warning (v1.0.8 and onwards)
|
||||
|
||||
Pymodbus (which is the implementation library) was updated and issues a warning:
|
||||
|
||||
- "Not Importing deprecated clients. Dependency Twisted is not Installed"
|
||||
|
||||
This warning can be safely ignored, and have no influence on how the integration
|
||||
works!
|
||||
|
||||
## Opening an issue
|
||||
|
||||
When opening an issue, please add your current configuration (or a scaled down version), with at least:
|
||||
|
@ -20,6 +20,8 @@ and visualization of multiple types of cameras.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
Note that the URL required is the URL for the motionEye server itself -- **not** the URL for the camera stream(s) that it makes available.
|
||||
|
||||
## MotionEye Cameras
|
||||
|
||||
As cameras are added or removed to motionEye, they are automatically added or removed
|
||||
|
@ -1,51 +0,0 @@
|
||||
---
|
||||
title: N26
|
||||
description: Instructions on how to integrate N26 integration within Home Assistant.
|
||||
ha_category:
|
||||
- Finance
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_release: 0.92
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_domain: n26
|
||||
ha_platforms:
|
||||
- sensor
|
||||
- switch
|
||||
---
|
||||
|
||||
The [N26](https://n26.com) integration for Home Assistant allows you to track your N26 account.
|
||||
|
||||
N26 is a bank from germany that launched as a start up. It is an "online only" bank in that it has no local "stores" to retrieve or deposit money and account management is done only through their web interface and mobile apps. The sensor allows to show account info including balance, spaces (sub-accounts within an account) and bank card status. The switch allows to change the "Blocked/Unblocked" status of an N26 bank card.
|
||||
|
||||
## Configuration
|
||||
|
||||
Add the following entry to the `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
n26:
|
||||
username: YOUR_EMAIL
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
It is possible to add more than one account:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
n26:
|
||||
- username: YOUR_EMAIL1
|
||||
password: YOUR_PASSWORD1
|
||||
- username: YOUR_EMAIL2
|
||||
password: YOUR_PASSWORD2
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The account username.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The account password.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
30
source/_integrations/nam.markdown
Normal file
30
source/_integrations/nam.markdown
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
title: Nettigo Air Monitor
|
||||
description: Instructions on how to integrate Nettigo Air Monitor within Home Assistant.
|
||||
ha_category:
|
||||
- DIY
|
||||
ha_release: 2021.6
|
||||
ha_iot_class: Local Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@bieniu'
|
||||
ha_domain: nam
|
||||
ha_platforms:
|
||||
- air_quality
|
||||
- sensor
|
||||
ha_quality_scale: platinum
|
||||
---
|
||||
|
||||
The Nettigo Air Monitor integration allows you to read temperature, humidity, pressure and air quality data from Nettigo Air Monitor devices. [Nettigo Air Monitor](https://air.nettigo.pl/?setlang=en) is a DIY air quality monitoring system with open source firmware, based on an open hardware project.
|
||||
|
||||
The integration currently has support for the following sensors:
|
||||
|
||||
- BME280
|
||||
- BMP280
|
||||
- DHT22
|
||||
- HECA
|
||||
- SDS011
|
||||
- SHT3X
|
||||
- SPS30
|
||||
|
||||
{% include integrations/config_flow.md %}
|
34
source/_integrations/network.markdown
Normal file
34
source/_integrations/network.markdown
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
title: Network Configuration
|
||||
description: Network Configuration for Home Assistant
|
||||
ha_category:
|
||||
- Other
|
||||
ha_release: 2021.6
|
||||
ha_domain: network
|
||||
ha_iot_class:
|
||||
ha_codeowners:
|
||||
- '@home-assistant/core'
|
||||
---
|
||||
|
||||
This integration provides network configuration for integrations such as [Zeroconf](/integrations/zeroconf/), and is managed by going to **{% my general title="Configuration >> General" %}** .
|
||||
|
||||
**{% my general badge %}**
|
||||
|
||||
## Auto detection
|
||||
|
||||
Auto detection is based on the system routing next hop for the mDNS broadcast address (`224.0.0.251`).
|
||||
|
||||
If the next-hop has non-loopback, non-link-local, non-multicast addresses, auto detection will use the interface that corresponds to the next-hop (commonly referred to as the default interface).
|
||||
|
||||
If the next-hop cannot be detected or is a loopback address, auto detection will use all interfaces with non-loopback, non-link-local, non-multicast addresses.
|
||||
|
||||
## Configuration
|
||||
|
||||
This integration is by default enabled, unless you've disabled or removed the [`default_config:`](/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
|
||||
|
||||
Add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
network:
|
||||
```
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Nexia
|
||||
description: Instructions on how to integrate Nexia Thermostats (Trane/American Standard) into Home Assistant.
|
||||
title: Nexia/American Standard
|
||||
description: Instructions on how to integrate Trane and American Standard thermostats into Home Assistant.
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
- Sensor
|
||||
@ -20,7 +20,7 @@ ha_platforms:
|
||||
- sensor
|
||||
---
|
||||
|
||||
The `nexia` integration allows you to integrate your [Nexia](https://mynexia.com/) thermostats into Home Assistant.
|
||||
The `nexia` integration allows you to integrate your [Nexia](https://mynexia.com/) (Trane) thermostats or [American Standard](https://asairhome.com/) thermostats into Home Assistant.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
@ -58,9 +58,11 @@ The following binary sensors are added for each thermostat zone:
|
||||
|
||||
The `nexia` climate platform lets you control a thermostat.
|
||||
|
||||
The following thermostats are supported: `XL1050`, `XL850`, `XL824`
|
||||
The following Trane thermostats are supported: `XL1050`, `XL850`, `XL824`
|
||||
|
||||
The following thermostats are not supported: `XL624`
|
||||
The following American Standard thermostats have been reported to work: `AZONE1050`, `AZONE850`, `ACONT824`
|
||||
|
||||
The following thermostats are not supported: `XL624`, `XL950`, `AZONE950`, `AZEMT500`, `AZEMT400B`
|
||||
|
||||
Other thermostats may work, but they have not been tested.
|
||||
|
||||
|
@ -99,6 +99,16 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as number attributes. Implies `force_update` of the current number state when a message is received on this topic.
|
||||
required: false
|
||||
type: string
|
||||
min:
|
||||
description: Minimum value.
|
||||
required: false
|
||||
type: float
|
||||
default: 1
|
||||
max:
|
||||
description: Maximum value.
|
||||
required: false
|
||||
type: float
|
||||
default: 100
|
||||
name:
|
||||
description: The name of the Number.
|
||||
required: false
|
||||
@ -122,6 +132,11 @@ state_topic:
|
||||
description: The MQTT topic subscribed to receive number values.
|
||||
required: false
|
||||
type: string
|
||||
step:
|
||||
description: Step value. Smallest value `0.001`.
|
||||
required: false
|
||||
type: float
|
||||
default: 1
|
||||
unique_id:
|
||||
description: An ID that uniquely identifies this Number. If two Numbers have the same unique ID Home Assistant will raise an exception.
|
||||
required: false
|
||||
|
@ -3,6 +3,7 @@ title: Hayward Omnilogic
|
||||
description: Instructions on how to configure Hayward OmniLogic integration.
|
||||
ha_category:
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_release: 0.116
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_config_flow: true
|
||||
@ -19,13 +20,14 @@ ha_platforms:
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- Sensor
|
||||
- ***Sensor*** - Air Temperature, Water Temperature, Variable Pump Speed, Chlorinator Setting, Salt Level, pH, and ORP
|
||||
- ***Switch*** - All relays, pumps (single, dual, variable speed), and relay-based lights.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
## Known limitations
|
||||
|
||||
- The platform only supports sensors at the initial release. Future releases will include light/switch/water heater for control of lights, pumps, relays and heaters.
|
||||
- The platform only supports sensors and switches at the current release. Future releases will include light/water heater for control of Colorlogic lights and pool heaters.
|
||||
|
||||
## Debugging integration
|
||||
|
||||
|
@ -52,6 +52,7 @@ Each 1-wire component data sheet describes the different properties the componen
|
||||
|
||||
| Family | Device | Physical Quantity |
|
||||
| -------|:-----|:-----|
|
||||
| 05 | [DS2405](https://datasheets.maximintegrated.com/en/ds/DS2405.pdf) | 1 PIO <sup>[4](#note_4)</sup> |
|
||||
| 12 | [DS2406](https://datasheets.maximintegrated.com/en/ds/DS2406.pdf) | 2 latches (latch.A/B) and 2 PIOs (PIO.A/B) <sup>[4](#note_4)</sup> |
|
||||
| 29 | [DS2408](https://datasheets.maximintegrated.com/en/ds/DS2408.pdf) | 8 latches (latch.0-7) and 8 PIOs (PIO.0/7) <sup>[4](#note_4)</sup> |
|
||||
|
||||
@ -75,7 +76,7 @@ Notes:
|
||||
|
||||
- <a name="note_5">Bridge devices have no sensors</a>. The `aux` and `main` branches are searched for additional 1-wire devices during discovery.
|
||||
|
||||
- <a name="note_6">Multisensors manufactures by Embedded Data Systems. Currently only EDS0068 (temperature/humidity/barometric pressure/light) is supported.
|
||||
- <a name="note_6">Multisensors manufactured by Embedded Data Systems</a>. Currently only EDS0066 (temperature/barometric pressure) and EDS0068 (temperature/humidity/barometric pressure/light) are supported.
|
||||
|
||||
## Interfacing with the 1-wire bus
|
||||
|
||||
|
@ -90,6 +90,7 @@ The time period these sensors use depends on the forecast mode selected when con
|
||||
|
||||
| Condition | Description |
|
||||
| :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `forecast_cloud_coverage` | Cloudiness, %. |
|
||||
| `forecast_condition` | [Weather condition](https://developers.home-assistant.io/docs/core/entity/weather/#recommended-values-for-state-and-condition) for the forecast's time period. |
|
||||
| `forecast_precipitation` | Combined Rain and Snow volume for the forecast's time period, mm. |
|
||||
| `forecast_precipitation_probability` | Probability of precipitation for the forecast's time period. |
|
||||
|
@ -207,6 +207,16 @@ Note that purging will not immediately decrease disk space usage but it will sig
|
||||
| `repack` | yes | When using SQLite or PostgreSQL this will rewrite the entire database. When using MySQL or MariaDB it will optimize or recreate the events and states tables. This is a heavy operation that can cause slowdowns and increased disk space usage while it runs. Only supported by SQLite, PostgreSQL, MySQL and MariaDB. |
|
||||
| `apply_filter` | yes | Apply entity_id and event_type filter in addition to time based purge. Useful in combination with `include` / `exclude` filter to remove falsely added states and events. Combine with `repack: true` to reduce database size. |
|
||||
|
||||
### Service `purge_entities`
|
||||
|
||||
Call the service `recorder.purge_entities` to start a task that purges events and states from the recorder database that match any of the specified `entity_id`, `domains` and `entity_globs` fields. Note: leaving all three parameters empty will result in all entities being selected for purging.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `entity_id` | yes | A list of entity_ids that should be purged from the recorder database. |
|
||||
| `domains` | yes | A list of domains that should be purged from the recorder database. |
|
||||
| `entity_globs` | yes | A list of regular expressions that identify entities to purge from the recorder database. |
|
||||
|
||||
### Service `disable`
|
||||
|
||||
Call the service `recorder.disable` to stop saving events and states to the database.
|
||||
@ -242,6 +252,7 @@ The following database engines are tested when major changes are made to the rec
|
||||
| PostgreSQL (Socket) | `postgresql://@/DB_NAME` |
|
||||
| PostgreSQL (Custom socket dir) | `postgresql://@/DB_NAME?host=/path/to/dir` |
|
||||
| MS SQL Server | `mssql+pyodbc://username:password@SERVER_IP:1433/DB_NAME?charset=utf8&driver=DRIVER` |
|
||||
| Oracle | `oracle+cx_oracle://username:password@SERVER_IP:1521/DB_NAME?encoding=UTF-8&nencoding=UTF-8` |
|
||||
|
||||
<div class='note'>
|
||||
|
||||
|
@ -51,9 +51,11 @@ turn_on_action:
|
||||
|
||||
After saving the YAML configuration, the TV must be turned on _before_ launching Home Assistant in order for the TV to be registered the first time.
|
||||
|
||||
#### Wake up TV
|
||||
#### Wake up TV / TV does not turn on
|
||||
|
||||
To wake up the TV when switched off you can use the [wake-on-lan](/integrations/wake_on_lan/) integration and call a service. This is not possible with every device.
|
||||
If the integration knows the MAC address of the TV from discovery, it will attempt to wake it using wake on LAN when calling turn on. Wake on LAN must be enabled on the TV for this to work. If the TV is connected to a smart strip or requires a more complex turn-on process, a `turn_on_action` can be provided that will take precedence over the built-in wake on LAN functionality.
|
||||
|
||||
To wake up the TV when switched off you can use the [wake-on-lan](/integrations/wake_on_lan/) integration and call a service.
|
||||
|
||||
```yaml
|
||||
wake_on_lan:
|
||||
|
@ -1,237 +0,0 @@
|
||||
---
|
||||
title: "Buienradar Sensor"
|
||||
description: "Instructions on how to integrate buienradar.nl sensor within Home Assistant."
|
||||
logo: buienradar.png
|
||||
ha_category:
|
||||
- Weather
|
||||
ha_release: 0.47
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_domain: buienradar
|
||||
---
|
||||
|
||||
The `buienradar` platform uses [buienradar.nl](https://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a webservice that provides detailed weather information for users in The Netherlands. The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0).
|
||||
|
||||
The selected weather station will provide all weather data, with the exception of the forecasted precipitation. The forecasted precipitation data will be retrieved from buienradar using your actual gps-location (and not the location of the nearest weather station).
|
||||
|
||||
To integrate `buienradar` with Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: buienradar
|
||||
monitored_conditions:
|
||||
- symbol
|
||||
- humidity
|
||||
- temperature
|
||||
- windspeed
|
||||
- pressure
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: You can specify a name of the component, but do not have to. See more info below.
|
||||
required: false
|
||||
type: string
|
||||
latitude:
|
||||
description: Latitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration, but can be overridden/changed in this integration to select a different location for buienradar.nl.
|
||||
required: false
|
||||
type: float
|
||||
longitude:
|
||||
description: Longitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration, but can be overridden/changed in this integration to select a different location for buienradar.nl.
|
||||
required: false
|
||||
type: float
|
||||
timeframe:
|
||||
description: Minutes to look ahead for precipitation forecast (minimum 5, maximum 120).
|
||||
required: false
|
||||
default: 60
|
||||
type: integer
|
||||
monitored_conditions:
|
||||
description: One or more conditions to display in the frontend. See [the Buienradar.nl website](https://www.buienradar.nl/overbuienradar/legenda) for a detailed explanation of each one.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
stationname:
|
||||
description: The name of the selected meteo-station.
|
||||
barometerfc:
|
||||
description: A numeric barametric forecast (1 to 7)
|
||||
barometerfcname:
|
||||
description: "A textual representation of the barometer forecast (eg: Thunderstorms, Stable, etc.)."
|
||||
conditioncode:
|
||||
description: "A symbol and a unique code identifying the current weather condition ([a..z])."
|
||||
condition:
|
||||
description: A symbol and the current weather condition (`clear`, `cloudy`, `fog`, `rainy`, `snowy` or `lightning`).
|
||||
conditiondetailed:
|
||||
description: A symbol and detailed current weather condition (`clear`, `partlycloudy`, `cloudy`, `partlycloudy-fog`, `partlycloudy-light-rain`, `partlycloudy-rain`, `light-rain`, `rainy`, `snowy-rainy`, `partlycloudy-light-snow`, `partlycloudy-snow`, `light-snow`, `snowy`, `partlycloudy-lightning` or `lightning`).
|
||||
conditionexact:
|
||||
description: A symbol with the full current weather condition (in English).
|
||||
symbol:
|
||||
description: A symbol for the current weather with the full current condition (in Dutch).
|
||||
feeltemperature:
|
||||
description: "The current feel temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
|
||||
humidity:
|
||||
description: The relative humidity (%).
|
||||
temperature:
|
||||
description: "The current temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
|
||||
groundtemperature:
|
||||
description: "The current ground temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
|
||||
windspeed:
|
||||
description: "The wind speed in [km/h](https://en.wikipedia.org/wiki/Kilometres_per_hour)."
|
||||
windforce:
|
||||
description: "The wind speed/force in [Bft](https://en.wikipedia.org/wiki/Beaufort_scale)."
|
||||
winddirection:
|
||||
description: "Where the wind is coming from: N (North), Z (south), NO (North-East), etc."
|
||||
windazimuth:
|
||||
description: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise.
|
||||
pressure:
|
||||
description: "The sea-level air pressure in [hPa](https://en.wikipedia.org/wiki/Hectopascal)."
|
||||
visibility:
|
||||
description: "Visibility in meters ([m](https://en.wikipedia.org/wiki/Metre))."
|
||||
windgust:
|
||||
description: "The wind speed of wind gusts ([m/s](https://en.wikipedia.org/wiki/M/s))."
|
||||
precipitation:
|
||||
description: The amount of precipitation/rain in mm/h.
|
||||
precipitation_forecast_average:
|
||||
description: The average expected precipitation/rain in mm/h within the given time-frame.
|
||||
precipitation_forecast_total:
|
||||
description: The total expected precipitation/rain in mm within the given time-frame. The total expected rain in the configured time-frame will be equal to _precipitation_forecast_total_/_timeframe_ mm/min. So, with time-frame configured to 30 minutes and a value of 5, the expected rain is 5 mm in 30 minutes, which is the same as 10 mm/h. If time-frame is set to 90 minutes and a value of 5, the expected rain is 5 mm in 90 minutes, which is equal to 3.3 mm/h.
|
||||
irradiance:
|
||||
description: "Sun intensity in Watt per square meter ([W/m2](https://en.wikipedia.org/wiki/W/m2))."
|
||||
rainlast24hour:
|
||||
description: The rain over the last 24 hours (in mm).
|
||||
rainlasthour:
|
||||
description: The rain over the last hour (in mm).
|
||||
temperature_1d:
|
||||
description: "The forecasted temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
|
||||
mintemp_1d:
|
||||
description: "The forecasted minimum temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
|
||||
rainchance_1d:
|
||||
description: The forecasted chance for rain (%).
|
||||
sunchance_1d:
|
||||
description: The forecasted chance for sun (%).
|
||||
rain_1d:
|
||||
description: "The forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre); the average of minrain_1d and maxrain_1d."
|
||||
minrain_1d:
|
||||
description: "The minimum forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre)."
|
||||
maxrain_1d:
|
||||
description: "The maximum forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre)."
|
||||
windazimuth_1d:
|
||||
description: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise. (derived from winddirection_1d)
|
||||
winddirection_1d:
|
||||
description: "Where the wind will be coming from: N (North), Z (south), NO (North-East), etc."
|
||||
windforce_1d:
|
||||
description: "The expected windforce in [Bft](https://en.wikipedia.org/wiki/Beaufort_scale)."
|
||||
windspeed_1d:
|
||||
description: "The expected windspeed in [m/s](https://en.wikipedia.org/wiki/M/s) (derived from windforce_1d)."
|
||||
conditioncode_1d:
|
||||
description: Symbol and condition code of the expected condition.
|
||||
condition_1d:
|
||||
description: Symbol and expected condition.
|
||||
conditiondetailed_1d:
|
||||
description: Symbol and detailed expected condition.
|
||||
conditionexact_1d:
|
||||
description: Symbol and full expected condition (in English).
|
||||
symbol_1d:
|
||||
description: Symbol and full expected condition (in Dutch).
|
||||
{% endconfiguration %}
|
||||
|
||||
## The `Name` Variable
|
||||
|
||||
If you specify a name, the sensors will get an entity name of `sensor.[name]_[default sensor display name]`, for example:
|
||||
|
||||
- `sensor.lopik_temperature`, since the name of the sensor is set to `lopik` and the default display name for monitored condition `temperature` is `Temperature`.
|
||||
- `sensor.lopik_wind_force`, since the name of the sensor is set to `lopik` and the default display name for monitored condition `windforce` is `Wind force`.
|
||||
|
||||
If no name is specified the sensors will be called `sensor.br_[default sensor display name]`, for example:
|
||||
|
||||
- `sensor.br_wind_speed`, since no name has been set for the sensor and the default display name for monitored condition `windspeed` is `Wind speed`.
|
||||
- `sensor.br_ground_temperature`, since no name has been set for the sensor and the default display name for monitored condition `groundtemperature` is `Ground Temperature`.
|
||||
|
||||
## Daily forecasts
|
||||
|
||||
Conditions above marked with `1d` are daily forecasts. To get forecast for different day, replace the number
|
||||
in `_1d` part of the sensor name. Valid values are from `1` to `5`.
|
||||
|
||||
## Configuration examples
|
||||
|
||||
Full configuration example (excluding forecasted conditions) where location is manually specified:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
- platform: buienradar
|
||||
name: "volkel"
|
||||
# Force 'Meetstation Volkel' to be used:
|
||||
latitude: 51.65
|
||||
longitude: 5.70
|
||||
monitored_conditions:
|
||||
- stationname
|
||||
- barometerfc
|
||||
- barometerfcname
|
||||
- conditioncode
|
||||
- condition
|
||||
- conditiondetailed
|
||||
- conditionexact
|
||||
- symbol
|
||||
- feeltemperature
|
||||
- humidity
|
||||
- temperature
|
||||
- groundtemperature
|
||||
- windspeed
|
||||
- windforce
|
||||
- winddirection
|
||||
- windazimuth
|
||||
- pressure
|
||||
- visibility
|
||||
- windgust
|
||||
- precipitation
|
||||
- irradiance
|
||||
- precipitation_forecast_average
|
||||
- precipitation_forecast_total
|
||||
- rainlast24hour
|
||||
- rainlasthour
|
||||
```
|
||||
|
||||
Configuration example with current condition and (some) forecasted values:
|
||||
|
||||
```yaml
|
||||
# Weather prediction
|
||||
sensor:
|
||||
- platform: buienradar
|
||||
monitored_conditions:
|
||||
# current condition:
|
||||
- condition
|
||||
- conditioncode
|
||||
- conditiondetailed
|
||||
- conditionexact
|
||||
- symbol
|
||||
# conditions for forecasted data:
|
||||
- symbol_1d
|
||||
- symbol_2d
|
||||
- symbol_3d
|
||||
- symbol_4d
|
||||
- symbol_5d
|
||||
- temperature_1d
|
||||
- temperature_2d
|
||||
- temperature_3d
|
||||
- temperature_4d
|
||||
- temperature_5d
|
||||
- mintemp_1d
|
||||
- rainchance_1d
|
||||
- rainchance_2d
|
||||
- sunchance_1d
|
||||
- sunchance_2d
|
||||
- rain_1d
|
||||
- rain_2d
|
||||
- minrain_1d
|
||||
- maxrain_1d
|
||||
- windforce_1d
|
||||
- windforce_2d
|
||||
- windspeed_1d
|
||||
- windspeed_2d
|
||||
- winddirection_1d
|
||||
- winddirection_2d
|
||||
- windazimuth_1d
|
||||
- windazimuth_2d
|
||||
```
|
||||
|
||||
[Usage statement:](https://www.buienradar.nl/overbuienradar/gratis-weerdata)
|
||||
> Buienradar makes free weather-data available for use by individuals and businesses (website/intranet). The use of the weather-data is allowed for **non-commercial purposes**. Please refer to the full usage statement linked above to confirm your usage or to request permission.
|
@ -114,6 +114,14 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Implies `force_update` of the current sensor state when a message is received on this topic.
|
||||
required: false
|
||||
type: string
|
||||
last_reset_topic:
|
||||
description: "The MQTT topic subscribed to receive timestamps for when an accumulating sensor such as an energy meter was reset. If the sensor never resets, set it to UNIX epoch 0: `1970-01-01T00:00:00+00:00`."
|
||||
required: false
|
||||
type: string
|
||||
last_reset_value_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the last_reset. Available variables: `entity_id`. The `entity_id` can be used to reference the entity's attributes."
|
||||
required: false
|
||||
type: string
|
||||
name:
|
||||
description: The name of the MQTT sensor.
|
||||
required: false
|
||||
@ -134,6 +142,11 @@ qos:
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
state_class:
|
||||
description: The [state_class](https://developers.home-assistant.io/docs/core/entity/sensor#available-state-classes) of the sensor.
|
||||
required: false
|
||||
type: string
|
||||
default: None
|
||||
state_topic:
|
||||
description: The MQTT topic subscribed to receive sensor values.
|
||||
required: true
|
||||
@ -147,7 +160,7 @@ unit_of_measurement:
|
||||
required: false
|
||||
type: string
|
||||
value_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value."
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value. Available variables: `entity_id`. The `entity_id` can be used to reference the entity's attributes."
|
||||
required: false
|
||||
type: template
|
||||
{% endconfiguration %}
|
||||
@ -206,6 +219,26 @@ sensor:
|
||||
|
||||
The state and the attributes of the sensor by design do not update in a synchronous manner if they share the same MQTT topic. Temporal mismatches between the state and the attribute data may occur if both the state and the attributes are changed simultaneously by the same MQTT message. An automation that triggers on any state change of the sensor will also trigger both on the change of the state or a change of the attributes. Such automations will be triggered twice if both the state and the attributes change. Please use a [MQTT trigger](/docs/automation/trigger/#mqtt-trigger) and process the JSON in the automation directly via the {% raw %}`{{ trigger.payload_json }}`{% endraw %} [trigger data](/docs/automation/templating/#mqtt) for automations that must synchronously handle multiple JSON values within the same MQTT message.
|
||||
|
||||
### Usage of `entity_id` in the template
|
||||
|
||||
The example below shows how a simple filter, that calculates the value by adding 90% of the new value and 10% of the previous value, can be implemented in a template.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: mqtt
|
||||
name: "Temp 1"
|
||||
state_topic: "sensor/temperature"
|
||||
value_template: |-
|
||||
{% if states(entity_id) == None %}
|
||||
{{ value | round(2) }}
|
||||
{% else %}
|
||||
{{ value | round(2) * 0.9 + states(entity_id) * 0.1 }}
|
||||
{% endif %}
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Owntracks battery level sensor
|
||||
|
||||
If you are using the [OwnTracks](/integrations/owntracks) and enable the reporting of the battery level then you can use an MQTT sensor to keep track of your battery. A regular MQTT message from OwnTracks looks like this:
|
||||
|
@ -53,10 +53,10 @@ Examples:
|
||||
|
||||
| Device Name | Channel Name | Entity Name |
|
||||
| ----------- | -------------- | --------------------------------|
|
||||
| `Not set` | `Not Set` | shellyswitch25-ABC123 Channel 1 |
|
||||
| `Not set` | Kids Room Bulb | Kids Room Bulb |
|
||||
| Kitchen | `Not Set` | Kitchen Channel 1 |
|
||||
| Bedroom | Round Bulb | Round Bulb |
|
||||
| `Not set` | `Not Set` | shellyswitch25-ABC123 Channel 1 |
|
||||
| `Not set` | Kids Room Bulb | Kids Room Bulb |
|
||||
| Kitchen | `Not Set` | Kitchen Channel 1 |
|
||||
| Bedroom | Round Bulb | Round Bulb |
|
||||
|
||||
Names are set from the device web page:
|
||||
|
||||
@ -142,11 +142,11 @@ You can also create automations using YAML, for example:
|
||||
| Shelly input event | Click Type |
|
||||
| ------------------ | --------------|
|
||||
| `S` | `single` |
|
||||
| `SS` | `double` |
|
||||
| `SS` | `double` |
|
||||
| `SSS` | `triple` |
|
||||
| `L` | `long` |
|
||||
| `SL` | `single_long` |
|
||||
| `LS` | `long_single` |
|
||||
| `L` | `long` |
|
||||
| `SL` | `single_long` |
|
||||
| `LS` | `long_single` |
|
||||
|
||||
<div class="note">
|
||||
|
||||
@ -154,6 +154,18 @@ Not all devices support all input events. You can check on [Shelly API Reference
|
||||
|
||||
</div>
|
||||
|
||||
## CoAP port
|
||||
|
||||
In some cases, it may be needed to customize the CoAP port (default: `5683`) your Home Assistant instance is listening to.
|
||||
|
||||
In order to change it, add the following key to your configuration.yaml:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
shelly:
|
||||
coap_port: 12345
|
||||
```
|
||||
|
||||
## Known issues and limitations
|
||||
|
||||
- Only supports firmware 1.8 and later
|
||||
|
97
source/_integrations/sia.markdown
Normal file
97
source/_integrations/sia.markdown
Normal file
@ -0,0 +1,97 @@
|
||||
---
|
||||
title: SIA Alarm Systems
|
||||
description: Instructions on how to integrate SIA Based Alarm systems.
|
||||
ha_category:
|
||||
- Alarm
|
||||
ha_release: 2021.6
|
||||
ha_iot_class: "Local Push"
|
||||
ha_quality_scale: platinum
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@eavanvalkenburg'
|
||||
ha_domain: sia
|
||||
---
|
||||
|
||||
The SIA Alarm Systems integration provides integration with several alarm systems that implement the SIA Protocol, including [Ajax Systems](https://ajax.systems/). This protocol is listen-only, so does not allow you to turn on/off your alarm system, it just updates the state to reflect your alarm and allows you to act on that state, for instance turning on all lights and opening the curtains when the alarm triggers. The underlying package has support for different variants of SIA, including DC-09, DC-04 and a limited set of ADM-CID. If your alarm system uses the ADM-CID standard and it isn't working, please log an issue [here](https://github.com/eavanvalkenburg/pysiaalarm/issues/new).
|
||||
|
||||
To use this platform, you need to setup your alarm system to communicate using the SIA Protocol and setup several things on the alarm. This integration basically works by Home Assistant listening on a port for messages from the alarm systems and handling and responding to that message and finally updating one or more entities in Home Assistant.
|
||||
|
||||
## Alarm Setup (Ajax Systems Hub example)
|
||||
|
||||
1. In the settings of your hub, go to the monitoring stations page.
|
||||
2. Select "SIA Protocol".
|
||||
3. Enable "Connect on demand".
|
||||
4. Place Account Id - 3-16 ASCII hex characters. For example AAA.
|
||||
5. Insert Home Assistant IP address. The hub must be able to reach this IP address. There is no cloud connection necessary.
|
||||
6. Insert Home Assistant listening port. This port must not be used by anything else on the machine Home Assistant is running on, see the notes on [port usage](###Portusage) below.
|
||||
7. Select Preferred Network. Ethernet is preferred if hub and HA in same network. Multiple networks are not tested.
|
||||
8. Enable Periodic Reports. The interval with which the alarm systems reports to the monitoring station, default is 1 minute. This component adds 30 seconds before setting the alarm unavailable to deal with slights latencies between ajax and HA and the async nature of HA.
|
||||
9. Encryption is preferred but optional. Password is 16, 24 or 32 ASCII characters.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
{% configuration_basic %}
|
||||
port:
|
||||
description: Port that your alarm will communicate with, must be set in the alarm system as explained above.
|
||||
account:
|
||||
description: Hub account to communicate with. 3-16 ASCII hex characters. Must be set in the alarm system as explained above.
|
||||
encryption_key:
|
||||
description: Encoding key. 16, 24 or 32 ASCII characters. Must be same, as in hub properties.
|
||||
ping_interval:
|
||||
description: Ping interval in minutes that the alarm system uses to send "Automatic communication test report" messages, the component adds 30 seconds before marking all entities for that account (alarm and binary sensors) unavailable. Must be between 1 and 1440 minutes.
|
||||
zones:
|
||||
description: The number of zones configured in your alarm.
|
||||
additional_account:
|
||||
description: Used to ask if a additional account needs to be included, if so will open a dialog for the next account, after checking the current input.
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
ASCII characters are 0-9 and ABCDEF, so a account is something like `346EB` and the encryption key has the same characters but needs to be 16, 24 or 32 characters in length.
|
||||
|
||||
### Note on monitoring multiple alarm systems
|
||||
|
||||
If you have multiple accounts (alarm systems) that you want to monitor you can choose to have all communicating with the same port, in that case, use the additional accounts checkbox in the dialog to setup the next account and keep doing that until you have them all. You can also choose to have both running on a different port, in that case setup the component twice with the different ports.
|
||||
|
||||
### Port usage
|
||||
|
||||
The port used with this component must be a port no other processes use on the machine your HA instance is running. If you have a complex network setup or want to monitor alarm systems at other locations you will most likely have to open firewalls and/or create network routes for that purpose, the integration will just listen for messages coming into that port, and will not proactively send, only responding with a acknowledgement to the alarm system.
|
||||
|
||||
### Entities
|
||||
|
||||
In the initial version, after setup you will see one alarm_control_panel per account and zone combination. This entity will have 5 attributes that reflect all messages that came in for that account and zone, it includes fields for `last_code`, `zone`, `last_message`, `last_id`, `last_timestamp`. The alarm_control_panel state itself is changed based on a subset of values, including but not limited to codes: `CA`, `CB`, `CG`, `BA`, `TA`, `OA`, `NC`, `NL`, for the full list check the code on GitHub. If you expected the state to change then please log which code it was and create an issue on GitHub as well.
|
||||
|
||||
### Events
|
||||
|
||||
Each event that comes into your systems through SIA is also forwarded to the internal HA event bus, which can then be used to trigger automations directly on the codes that came in there. The events are created with event_type set to `sia_event_<port>_<account>`. The event_data holds many fields, see details below.
|
||||
|
||||
{% details "Fields in event_data for HA events emitted by the SIA integration." %}
|
||||
|
||||
- message_type
|
||||
- receiver
|
||||
- line
|
||||
- account
|
||||
- sequence
|
||||
- content
|
||||
- ti
|
||||
- id
|
||||
- ri (also known as `zone`)
|
||||
- code
|
||||
- message
|
||||
- x_data
|
||||
- timestamp
|
||||
- event_qualifier
|
||||
- event_type
|
||||
- partition
|
||||
- extended_data (list)
|
||||
- identifier
|
||||
- name
|
||||
- description
|
||||
- length
|
||||
- characters
|
||||
- value
|
||||
- sia_code
|
||||
- code
|
||||
- type
|
||||
- description
|
||||
- concerns
|
||||
|
||||
{% enddetails %}
|
@ -30,3 +30,36 @@ The `smarttub` integration allows you to view and control hot tubs which use the
|
||||
- A SmartTub account (registration is not supported, you can use the SmartTub mobile app)
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
## Services
|
||||
|
||||
### Service `smarttub.set_primary_filtration`
|
||||
|
||||
This service allows you to update the settings for the primary filtration cycle
|
||||
on a hot tub.
|
||||
|
||||
| Service data attribute | Optional | Description | Example |
|
||||
| ---------------------- | -------- | ----------- | ------- |
|
||||
| `entity_id` | no | The entity to update. | sensor.jacuzzi_j_335_primary_filtration_cycle
|
||||
| `duration` | no | The desired duration of the primary filtration cycle, in hours. | 4
|
||||
| `start_hour` | no | The desired starting hour of the day for the primary filtration cycle. | 2 (i.e. 02:00 or 2:00am)
|
||||
|
||||
|
||||
### Service `smarttub.set_secondary_filtration`
|
||||
|
||||
This service allows you to update the settings for the secondary filtration
|
||||
cycle on a hot tub.
|
||||
|
||||
| Service data attribute | Optional | Description | Example |
|
||||
| ---------------------- | -------- | ----------- | ------- |
|
||||
| `entity_id` | no | The entity to update. | sensor.jacuzzi_j_335_secondary_filtration_cycle
|
||||
| `mode` | no | The desired secondary filtration mode. Can be frequent, infrequent or away. | away
|
||||
|
||||
### Service `smarttub.snooze_reminder`
|
||||
|
||||
This service allows you to temporarily suppress a maintenance reminder on a hot tub.
|
||||
|
||||
| Service data attribute | Optional | Description | Example |
|
||||
| ---------------------- | -------- | ----------- | ------- |
|
||||
| `entity_id` | no | The entity to update. | binary_sensor.jacuzzi_j_335_refresh_water_reminder
|
||||
| `days` | no | The number of days to snooze the reminder (minimum 10). | 10
|
||||
|
@ -24,10 +24,20 @@ The `sonos` integration allows you to control your [Sonos](https://www.sonos.com
|
||||
|
||||
## Battery support
|
||||
|
||||
Battery sensors are supported for the `Sonos Roam` and `Sonos Move` devices on S2 firmware.
|
||||
Battery sensors are fully supported for the `Sonos Roam` and `Sonos Move` devices on S2 firmware. `Sonos Move` speakers still on S1 firmware are supported but may update infrequently.
|
||||
|
||||
For each speaker with a battery, a `sensor` showing the current battery charge level and a `binary_sensor` showing the power state of the speaker are created. The `binary_sensor` reports if the speaker is currently powered by an external source and its `power_source` attribute shows which specific source is providing the current power. This source attribute can be one of `BATTERY`, `SONOS_CHARGING_RING` if using wireless charging, or `USB_POWER` if charging via USB cable. Note that the Roam will report `SONOS_CHARGING_RING` even when using a generic Qi charger.
|
||||
|
||||
<div class='note'>
|
||||
|
||||
The battery sensors rely on working change events or updates will be delayed. S1 battery sensors **require** working events to report any data. See more details in [Advanced use](#advanced-use).
|
||||
|
||||
</div>
|
||||
|
||||
## Alarm support
|
||||
|
||||
The Sonos integration adds one `switch` for each alarm set in the Sonos app. The alarm switches are detected, deleted and assigned automatically and come with several attributes that help to monitor Sonos alarms.
|
||||
|
||||
## Services
|
||||
|
||||
The Sonos integration makes various custom services available.
|
||||
@ -122,6 +132,7 @@ Night Sound and Speech Enhancement modes are only supported when playing from th
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of `entity_id`s that will have their options set.
|
||||
| `buttons_enabled` | yes | Boolean to control the functioning of hardware buttons on the device.
|
||||
| `night_sound` | yes | Boolean to control Night Sound mode.
|
||||
| `speech_enhance` | yes | Boolean to control Speech Enhancement mode.
|
||||
| `status_light` | yes | Boolean to control the Status (LED) Light.
|
||||
|
@ -1,78 +0,0 @@
|
||||
---
|
||||
title: Spot Crime
|
||||
description: Instructions on how to integrate spotcrime.com into Home Assistant.
|
||||
ha_release: 0.65
|
||||
ha_category:
|
||||
- Sensor
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_domain: spotcrime
|
||||
ha_platforms:
|
||||
- sensor
|
||||
---
|
||||
|
||||
<div class='note warning'>
|
||||
SpotCrime is no longer handing out API keys to integrate their services.
|
||||
</div>
|
||||
|
||||
The `spotcrime` sensor allows one to track reported incidents occurring in a given area. Incidents include anything reported to [Spot Crime](https://www.spotcrime.info). Your regional emergency services may or may not report data. The sensor defaults to counting incidents within one day, but can be customized via `configuration.yaml`.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`. Your `radius` should be of sufficient size to capture incidents in your area. 0.01 = 1 mile.
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: spotcrime
|
||||
name: NAME
|
||||
radius: SEARCH_RADIUS
|
||||
api_key: YOUR_API_KEY
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Name the sensor what you'd like.
|
||||
required: true
|
||||
type: string
|
||||
radius:
|
||||
description: Radius you'd like to search within. 0.01 = 1 mile.
|
||||
required: true
|
||||
type: float
|
||||
api_key:
|
||||
description: The API key to access the service.
|
||||
required: true
|
||||
type: string
|
||||
days:
|
||||
description: Number of days you'd like see to crime statistics for.
|
||||
required: false
|
||||
type: integer
|
||||
include:
|
||||
description: Event types you want statistics for.
|
||||
required: false
|
||||
type: list
|
||||
exclude:
|
||||
description: Event types to ignore statistics for.
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
## Notes
|
||||
|
||||
### Incident Types
|
||||
|
||||
You can explicitly include or exclude incident types. Specifying `include`s restricts the incidents to those types. Specifying `exclude`s will return all incident types except those specified.
|
||||
|
||||
These incident types are available:
|
||||
|
||||
- Arrest
|
||||
- Arson
|
||||
- Assault
|
||||
- Burglary
|
||||
- Robbery
|
||||
- Shooting
|
||||
- Theft
|
||||
- Vandalism
|
||||
- Other
|
||||
|
||||
### Events
|
||||
|
||||
The `crimealerts` sensor fires a `crimealerts_incident` event when a new incident is detected, including the type, time, and location of the incident.
|
35
source/_integrations/syncthing.markdown
Normal file
35
source/_integrations/syncthing.markdown
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
title: Syncthing
|
||||
description: Instructions on how to integrate Syncthing within Home Assistant.
|
||||
ha_category:
|
||||
- Downloading
|
||||
- Sensor
|
||||
ha_release: 2021.6
|
||||
ha_iot_class: Local Polling
|
||||
ha_quality_scale: silver
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@zhulik'
|
||||
ha_domain: syncthing
|
||||
---
|
||||
|
||||
[Syncthing](https://syncthing.net/) is a continuous file synchronization program. It synchronizes files between two or more computers
|
||||
in real-time, safely protected from prying eyes.
|
||||
|
||||
The Syncthing integration allows you to monitor states of your synced folders from within Home Assistant and set up automations based on the information.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
To set up the monitoring you need to get an **API key**. Open the Syncthing web
|
||||
interface(e.g., `http://127.0.0.1:8384`) in the browser and go to **Actions** -> **Settings**. You will find
|
||||
the key on the right of the settings dialog.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
## Integration Entities
|
||||
|
||||
The Syncthing integration adds one sensor per syncing folder:
|
||||
|
||||

|
||||
|
||||

|
@ -12,6 +12,7 @@ ha_domain: syncthru
|
||||
ha_ssdp: true
|
||||
ha_platforms:
|
||||
- sensor
|
||||
- binary_sensor
|
||||
---
|
||||
|
||||
The Samsung SyncThru Printer platform allows you to read current data from your local Samsung printer.
|
||||
@ -20,13 +21,11 @@ It usually provides information about the device's state, the left amount of ink
|
||||
|
||||
The following information is displayed in separate sensors, if it is available:
|
||||
|
||||
- Whether the printer is online
|
||||
- Whether the printer is in an error state
|
||||
- Black, cyan, magenta and yellow toner fill level
|
||||
- Black, cyan, magenta and yellow drum state
|
||||
- First to fifth paper input tray state
|
||||
- First to sixth paper output tray state
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
<div class="note warning">
|
||||
Note that this component or parts thereof may not work if the language of your printer is not configured to be English.
|
||||
</div>
|
||||
|
97
source/_integrations/system_bridge.markdown
Normal file
97
source/_integrations/system_bridge.markdown
Normal file
@ -0,0 +1,97 @@
|
||||
---
|
||||
title: System Bridge
|
||||
description: How to integrate the System Bridge integration into Home Assistant.
|
||||
ha_category:
|
||||
- Sensor
|
||||
- System Monitor
|
||||
ha_release: 2021.6
|
||||
ha_iot_class: Local Polling
|
||||
ha_config_flow: true
|
||||
ha_codeowners:
|
||||
- '@timmo001'
|
||||
ha_domain: system_bridge
|
||||
ha_quality_scale: silver
|
||||
ha_platforms:
|
||||
- binary_sensor
|
||||
- sensor
|
||||
---
|
||||
|
||||
[System Bridge](https://system-bridge.timmo.dev) is an application that runs on your local machine to share system information via its API as well as allowing commands to be sent to the device.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You will need your API key. This can be found and configured in the application's settings.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
## Sensors
|
||||
|
||||
This integration provides the following sensors:
|
||||
|
||||
| Name | Description |
|
||||
| ---------------- | --------------------------------------------------- |
|
||||
| BIOS Version | Version of your system's BIOS |
|
||||
| Battery | Battery level of the device |
|
||||
| CPU Speed | The current CPU speed |
|
||||
| CPU Temperature | The current temperature of the device |
|
||||
| Filesystem(s) | Space used for each drive letter / filesystem mount |
|
||||
| Memory Free | Memory (RAM) free in GB |
|
||||
| Memory Used | Memory (RAM) used in GB |
|
||||
| Memory Used % | Memory (RAM) % used |
|
||||
| Operating System | Version information of the Operating System |
|
||||
| Load | System load percentage |
|
||||
|
||||
## Services
|
||||
|
||||
### Service `system_bridge.send_command`
|
||||
|
||||
Sends a command to the server to run.
|
||||
|
||||
{% my developer_call_service service="system_bridge.send_command" title="Open your Home Assistant instance and show your service developer tools with a specific service selected." %}
|
||||
|
||||
#### Examples
|
||||
|
||||
```yaml
|
||||
service: system_bridge.send_command
|
||||
data:
|
||||
bridge: device
|
||||
command: code
|
||||
arguments: /home/user/file.txt
|
||||
```
|
||||
|
||||
```yaml
|
||||
service: system_bridge.send_command
|
||||
data:
|
||||
bridge: device
|
||||
command: python
|
||||
arguments: '-V'
|
||||
```
|
||||
|
||||
### Service `system_bridge.open`
|
||||
|
||||
Open a URL or file on the server using the default application.
|
||||
|
||||
{% my developer_call_service service="system_bridge.open" title="Open your Home Assistant instance and show your service developer tools with a specific service selected." %}
|
||||
|
||||
#### Examples
|
||||
|
||||
```yaml
|
||||
service: system_bridge.open
|
||||
data:
|
||||
bridge: "device"
|
||||
path: "C:\image.jpg"
|
||||
```
|
||||
|
||||
```yaml
|
||||
service: system_bridge.open
|
||||
data:
|
||||
bridge: "device"
|
||||
path: "https://home-assistant.io"
|
||||
```
|
||||
|
||||
```yaml
|
||||
service: system_bridge.open
|
||||
data:
|
||||
bridge: "device"
|
||||
path: "steam://rungameid/814380"
|
||||
```
|
@ -67,6 +67,16 @@ buffer_size:
|
||||
required: false
|
||||
default: "`1024`"
|
||||
type: integer
|
||||
ssl:
|
||||
description: If `true`, use SSL/TLS.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
verify_ssl:
|
||||
description: Set this to `false` if the server is using a self-signed certificate.
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
||||
### Examples
|
||||
@ -193,4 +203,14 @@ timeout:
|
||||
required: false
|
||||
type: integer
|
||||
default: 10
|
||||
ssl:
|
||||
description: If `true`, use SSL/TLS.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
verify_ssl:
|
||||
description: Set this to `false` if the server is using a self-signed certificate.
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
@ -8,11 +8,16 @@ ha_release: 0.82
|
||||
ha_domain: tensorflow
|
||||
---
|
||||
|
||||
The `tensorflow` image processing platform allows you to detect and recognize objects in a camera image using [TensorFlow](https://www.tensorflow.org/). The state of the entity is the number of objects detected, and recognized objects are listed in the `summary` attribute along with quantity. The `matches` attribute provides the confidence `score` for recognition and the bounding `box` of the object for each detection category.
|
||||
The TensorFlow image processing platform allows you to detect and recognize objects in a camera image using [TensorFlow](https://www.tensorflow.org/). The state of the entity is the number of objects detected, and recognized objects are listed in the `summary` attribute along with quantity. The `matches` attribute provides the confidence `score` for recognition and the bounding `box` of the object for each detection category.
|
||||
|
||||
{% details "Notes for Home Assistant Core Installations" %}
|
||||
<div class='note'>
|
||||
This integration is only available on Home Assistant Core installation types. Unfortunately, it cannot be used with Home Assistant OS, Supervised or Container.
|
||||
</div>
|
||||
|
||||
## Prerequisites
|
||||
|
||||
The following packages must be installed on Debian before following the setup for the integration to work:
|
||||
|
||||
`sudo apt-get install libatlas-base-dev libopenjp2-7 libtiff5`
|
||||
|
||||
It is possible that Home Assistant is unable to install the Python TensorFlow bindings. If that is the case,
|
||||
@ -24,8 +29,6 @@ See [the official install guide](https://www.tensorflow.org/install/) for other
|
||||
Furthermore, the official Python TensorFlow wheels by Google, require your CPU to support the `avx` extension.
|
||||
If your CPU lacks those capabilities, Home Assistant will crash when using TensorFlow, without any message.
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
## Preparation
|
||||
|
||||
This integration requires files to be downloaded, compiled on your computer, and added to the Home Assistant configuration directory. These steps can be performed by cloning [this repository](https://github.com/hunterjm/hass-tensorflow) into your configuration directory. Alternatively, if you wish to perform the process manually, the process is as follows:
|
||||
|
@ -41,6 +41,18 @@ media_player:
|
||||
volume_mute:
|
||||
service: SERVICE
|
||||
data: SERVICE_DATA
|
||||
media_play:
|
||||
service: SERVICE
|
||||
data: SERVICE_DATA
|
||||
media_pause:
|
||||
service: SERVICE
|
||||
data: SERVICE_DATA
|
||||
media_previous_track:
|
||||
service: SERVICE
|
||||
data: SERVICE_DATA
|
||||
media_next_track:
|
||||
service: SERVICE
|
||||
data: SERVICE_DATA
|
||||
attributes:
|
||||
is_volume_muted: ENTITY_ID|ATTRIBUTE
|
||||
state: ENTITY_ID|ATTRIBUTE
|
||||
@ -61,7 +73,7 @@ state_template:
|
||||
required: false
|
||||
type: template
|
||||
commands:
|
||||
description: "Commands to be overwritten. Most, if not all, media player service commands can be overwritten. Example entries are `turn_on`, `turn_off`, `select_source`, `volume_set`, `volume_up`, `volume_down`, and `volume_mute` (refer to the [`media_player` documentation](/integrations/media_player/) to see the full list)."
|
||||
description: "Commands to be overwritten. Almost all media player service commands can be overwritten. Example entries are `turn_on`, `turn_off`, `select_source`, `volume_set`, `volume_up`, `volume_down`, `volume_mute`, `media_play`, `media_pause`, `media_stop`, `media_previous_track`, `media_next_track` and `play_media` (refer to the [`media_player` documentation](/integrations/media_player/) to see the full list)."
|
||||
required: false
|
||||
type: string
|
||||
attributes:
|
||||
|
@ -2,9 +2,9 @@
|
||||
title: VeSync
|
||||
description: Instructions on how to set up VeSync switches, outlets, and fans within Home Assistant.
|
||||
ha_category:
|
||||
- Light
|
||||
- Switch
|
||||
- Fan
|
||||
- Light
|
||||
ha_release: 0.66
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_config_flow: true
|
||||
@ -14,9 +14,9 @@ ha_codeowners:
|
||||
- '@thegardenmonkey'
|
||||
ha_domain: vesync
|
||||
ha_platforms:
|
||||
- fan
|
||||
- light
|
||||
- switch
|
||||
- fan
|
||||
---
|
||||
|
||||
The `vesync` integration enables you to control smart switches and outlets connected to the VeSync App.
|
||||
@ -25,15 +25,25 @@ The devices must be added to the VeSync App before this integration can discover
|
||||
|
||||
The following platforms are supported:
|
||||
|
||||
- **light**
|
||||
- **switch**
|
||||
- **fan**
|
||||
- **light**
|
||||
|
||||
## Supported Devices
|
||||
|
||||
This integration supports devices controllable by the VeSync App. The following devices are supported by this integration:
|
||||
|
||||
### Plugs
|
||||
### Bulbs
|
||||
- Etekcity WiFi Dimmable LED Bulb (ESL100)
|
||||
- Etekcity WiFi Dimmable and Tunable White LED Bulb (ESL100CW)
|
||||
|
||||
### Wall Switches
|
||||
|
||||
- Etekcity In Wall Smart Switch (EWSL01-USA)
|
||||
- Etekcity Wifi Dimmer Switch (ESD16)
|
||||
- Etekcity Wifi Dimmer Switch (ESWD16)
|
||||
|
||||
### Outlet Plugs
|
||||
|
||||
- Etekcity 7 Amp US outlet - ESW01-USA (Round)
|
||||
- Etekcity 10 Amp US outlet - ESW10-USA (Round)
|
||||
@ -41,15 +51,10 @@ This integration supports devices controllable by the VeSync App. The following
|
||||
- Etekcity 15 Amp US outlet - ESW15-USA (Rectangular)
|
||||
- Etekcity 2 Plug Outdoor Outlet - ESO15-TB
|
||||
|
||||
### Switches
|
||||
|
||||
- Etekcity In Wall Smart Switch (EWSL01-USA)
|
||||
- Etekcity Wifi Dimmer Switch (ESD16)
|
||||
- Etekcity Wifi Dimmer Switch (ESWD16)
|
||||
|
||||
### Fans
|
||||
|
||||
- LEVOIT Smart Wifi Air Purifier (LV-PUR131S)
|
||||
- LEVOIT Core 200S Smart True HEPA Air Purifier (Core200S)
|
||||
|
||||
## Prerequisite
|
||||
|
||||
@ -80,17 +85,19 @@ VeSync outlets will expose the following details for only the smart outlets. Ene
|
||||
|
||||
## Fan Exposed Attributes
|
||||
|
||||
VeSync air purifiers will expose the following details.
|
||||
VeSync air purifiers will expose the following details depending on the features supported by the model:
|
||||
|
||||
| Attribute | Description | Example |
|
||||
| ----------------------- | ----------------------------------------------------------------------- | --------------- |
|
||||
| `mode` | The current mode the device is in. | manual |
|
||||
| `speed` | The current speed setting of the device. | high |
|
||||
| `speed_list` | The available list of speeds supported by the device. | high |
|
||||
| `active_time` | The number of seconds since the device has been in a non-off mode. | 1598 |
|
||||
| `filter_life` | Remaining percentage of the filter. | 142 |
|
||||
| `air_quality` | The current air quality reading. | excellent |
|
||||
| `screen_status` | The current status of the screen. | on |
|
||||
| Attribute | Description | Example |
|
||||
| ----------------------- | --------------------------------------------------------------------------------- | --------------- |
|
||||
| `mode` | The current mode the device is in. (LV-PUR131S, Core200S) | manual |
|
||||
| `speed` | The current speed setting of the device. (LV-PUR131S, Core200S) | high |
|
||||
| `speed_list` | The available list of speeds supported by the device. (LV-PUR131S) | high |
|
||||
| `active_time` | The number of seconds since the device has been in a non-off mode. (LV-PUR131S) | 1598 |
|
||||
| `filter_life` | Remaining percentage of the filter. (LV-PUR131S, Core200S) | 142 |
|
||||
| `air_quality` | The current air quality reading. (LV-PUR131S) | excellent |
|
||||
| `screen_status` | The current status of the screen. (LV-PUR131S) | on |
|
||||
| `night_light` | The current status of the night light (Core200S) | off |
|
||||
| `child_lock` | The current status of the child lock (Core200S) | off |
|
||||
|
||||
## Extracting Attribute data
|
||||
|
||||
|
32
source/_integrations/wallbox.markdown
Normal file
32
source/_integrations/wallbox.markdown
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
title: Wallbox
|
||||
description: Instructions on how to integrate sensors Wallbox EV chargers to Home Assistant
|
||||
ha_category:
|
||||
- Car
|
||||
ha_release: 2021.6
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_domain: wallbox
|
||||
ha_platforms:
|
||||
- sensor
|
||||
ha_config_flow: true
|
||||
---
|
||||
|
||||
The Wallbox integration pulls data from the [MyWallbox Portal](https://my.wallbox.com) for your Wallbox charging station.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
## Sensors
|
||||
|
||||
The integration adds the following sensors:
|
||||
|
||||
- Added Energy
|
||||
- Added Range
|
||||
- Charging Power
|
||||
- Charging Speed
|
||||
- Charging Time
|
||||
- Cost
|
||||
- Current Mode
|
||||
- Depot Price
|
||||
- Max Available Power
|
||||
- State of Charge
|
||||
- Status Description
|
@ -52,7 +52,7 @@ voice:
|
||||
description: Voice name to be used.
|
||||
required: false
|
||||
type: string
|
||||
default: en-US_AllisonVoice
|
||||
default: en-US_AllisonV3Voice
|
||||
output_format:
|
||||
description: "Override the default output format. Supported formats: `audio/flac`, `audio/mp3`, `audio/mpeg`, `audio/ogg`, `audio/ogg;codecs=opus`, `audio/ogg;codecs=vorbis`, `audio/wav`"
|
||||
required: false
|
||||
|
@ -853,7 +853,6 @@
|
||||
/components/sensor.sonarr /integrations/sonarr
|
||||
/components/sensor.speedtest /integrations/speedtestdotnet
|
||||
/components/sensor.speedtestdotnet /integrations/speedtestdotnet
|
||||
/components/sensor.spotcrime /integrations/spotcrime
|
||||
/components/sensor.sql /integrations/sql
|
||||
/components/sensor.srp_energy /integrations/srp_energy
|
||||
/components/sensor.starlingbank /integrations/starlingbank
|
||||
@ -1584,7 +1583,6 @@
|
||||
/components/mysensors /integrations/mysensors
|
||||
/components/mystrom /integrations/mystrom
|
||||
/components/mythicbeastsdns /integrations/mythicbeastsdns
|
||||
/components/n26 /integrations/n26
|
||||
/components/nad /integrations/nad
|
||||
/components/namecheapdns /integrations/namecheapdns
|
||||
/components/nanoleaf /integrations/nanoleaf
|
||||
@ -1811,7 +1809,6 @@
|
||||
/components/speedtestdotnet /integrations/speedtestdotnet
|
||||
/components/spider /integrations/spider
|
||||
/components/splunk /integrations/splunk
|
||||
/components/spotcrime /integrations/spotcrime
|
||||
/components/spotify /integrations/spotify
|
||||
/components/sql /integrations/sql
|
||||
/components/squeezebox /integrations/squeezebox
|
||||
@ -2303,3 +2300,8 @@
|
||||
/components/sensor.socialblade /more-info/removed-integration 301
|
||||
/components/socialblade /more-info/removed-integration 301
|
||||
/integrations/socialblade /more-info/removed-integration 301
|
||||
/components/n26 /more-info/removed-integration 301
|
||||
/integrations/n26 /more-info/removed-integration 301
|
||||
/components/sensor.spotcrime /more-info/removed-integration 301
|
||||
/components/spotcrime /more-info/removed-integration 301
|
||||
/integrations/spotcrime /more-info/removed-integration 301
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 42 KiB |
BIN
source/images/integrations/syncthing/sensor.png
Normal file
BIN
source/images/integrations/syncthing/sensor.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
BIN
source/images/integrations/syncthing/sensors.png
Normal file
BIN
source/images/integrations/syncthing/sensors.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
Loading…
x
Reference in New Issue
Block a user