Merge branch 'next' of github.com:home-assistant/home-assistant.io into analytics-arch

This commit is contained in:
Ludeeus 2021-06-01 10:32:18 +00:00
commit 6019a756fb
56 changed files with 1683 additions and 879 deletions

View File

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

View File

@ -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',

View File

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

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

View File

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

View File

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

View File

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

View File

@ -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 %}

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

@ -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 %}

View File

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

View File

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

View File

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

View File

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

View 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 %}

View File

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

View File

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

View File

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

View 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 %}

View File

@ -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:

View File

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

View File

@ -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 %}

View 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 %}

View 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:
```

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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'>

View File

@ -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:

View File

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

View File

@ -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:

View File

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

View 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 %}

View File

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

View File

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

View File

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

View 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:
![Syncthing Sensors](/images/integrations/syncthing/sensors.png)
![Syncthing Sensors](/images/integrations/syncthing/sensor.png)

View File

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

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

View File

@ -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 %}

View File

@ -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:

View File

@ -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:

View File

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

View 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

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB