Merge branch 'current' into next

This commit is contained in:
Fabian Affolter 2019-04-06 23:58:04 -04:00
commit 152c7a5f54
No known key found for this signature in database
GPG Key ID: E23CD2DD36A4397F
37 changed files with 1300 additions and 1433 deletions

View File

@ -139,8 +139,8 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 91
current_patch_version: 0
date_released: 2019-04-03
current_patch_version: 1
date_released: 2019-04-05
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -181,6 +181,8 @@ If you receive the error message `Error while setting up platform androidtv` in
* Home Assistant does not have the appropriate permissions for the `adbkey` file and so it is not able to use it. Once you fix the permissions, the component should work.
4. Some Android TV devices (e.g., Philips TVs running Android TV) only accept the initial ADB connection request over their Wi-Fi interface. If you have the TV wired, you need to connect it to WiFi and try the initial connection again. Once the authentication has been granted via Wi-Fi, you can connect to the TV over the wired interface as well.
## {% linkable_title Services %}
### {% linkable_title `media_player.select_source` %}

View File

@ -8,10 +8,16 @@ comments: false
sharing: true
footer: true
logo: arduino.png
ha_category: DIY
ha_category:
- DIY
- Sensor
- Switch
featured: true
ha_release: pre 0.7
ha_iot_class: Local Polling
redirect_from:
- /components/sensor.arduino/
- /components/switch.arduino/
---
The [Arduino](https://www.arduino.cc/) device family are microcontroller boards that are often based on the ATmega328 chip. They come with digital input/output pins (some can be used as PWM outputs), analog inputs, and a USB connection.
@ -21,6 +27,11 @@ There are a lot of extensions (so-called [shields](https://www.arduino.cc/en/Mai
The `arduino` component is designed to let you use a directly attached board to your Home Assistant host over USB.
There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor)
- [Switch](#switch)
## {% linkable_title Configuration %}
You need to have the [Firmata firmware](https://github.com/firmata/) on your board. Please upload the `StandardFirmata` sketch to your board; please refer to the [Arduino documentation](https://www.arduino.cc/en/Main/Howto) for further information.
@ -57,3 +68,86 @@ Add the user who is used to run Home Assistant to the groups to allow access to
```bash
$ sudo usermod -a -G dialout,lock $USER
```
## {% linkable_title Sensor %}
The `arduino` sensor platform allows you to get numerical values from an analog input pin of an [Arduino](https://www.arduino.cc/) board. Usually the value is between 0 and 1024.
To enable an Arduino sensor with Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
platform: arduino
pins:
1:
name: Door switch
0:
name: Brightness
```
{% configuration %}
pins:
description: List of pins to use.
required: true
type: map
keys:
pin_number:
description: The pin number that corresponds with the pin numbering schema of your board.
required: true
type: map
keys:
name:
default: Name that will be used in the frontend for the pin.
type: string
{% endconfiguration %}
The 6 analog pins of an Arduino UNO are numbered from A0 to A5.
## {% linkable_title Switch %}
The `arduino` switch platform allows you to control the digital pins of your [Arduino](https://www.arduino.cc/) board. Support for switching pins is limited to high/on and low/off of the digital pins. PWM (pin 3, 5, 6, 9, 10, and 11 on an Arduino Uno) is not supported yet.
To enable the Arduino pins with Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
switch:
platform: arduino
pins:
11:
name: Fan Office
12:
name: Light Desk
initial: true
negate: true
```
{% configuration %}
pins:
description: List of of pins to use.
required: true
type: map
keys:
pin_number:
description: The pin number that corresponds with the pin numbering schema of your board.
required: true
type: map
keys:
name:
default: Name that will be used in the frontend for the pin.
type: string
required: false
initial:
default: The initial value for this port.
type: boolean
required: false
default: false
negate:
default: If this pin should be inverted.
type: boolean
required: false
default: false
{% endconfiguration %}
The digital pins are numbered from 0 to 13 on a Arduino UNO. The available pins are 2 till 13. For testing purposes you can use pin 13 because with that pin you can control the internal LED.

View File

@ -1,86 +0,0 @@
---
layout: page
title: "HTTP Binary Sensor"
description: "Instructions on how to integrate HTTP binary sensors within Home Assistant."
date: 2016-02-05 12:15
sidebar: true
comments: false
sharing: true
footer: true
logo: http.png
ha_category: Binary Sensor
ha_release: pre 0.7
ha_qa_scale: internal
---
The HTTP binary sensor is dynamically created with the first request that is made to its URL. You don't have to define it in the configuration first.
The sensor will then exist as long as Home Assistant is running. After a restart of Home Assistant the sensor will be gone until it is triggered again.
The URL for a binary sensor looks like the example below:
```bash
http://IP_ADDRESS:8123/api/states/binary_sensor.DEVICE_NAME
```
<p class='note'>
You should choose a unique device name (DEVICE_NAME) to avoid clashes with other devices.
</p>
The JSON payload must contain the new state and can have a friendly name. The friendly name is used in the frontend to name the sensor.
```json
{"state": "on", "attributes": {"friendly_name": "Radio"}}
```
For a quick test `curl` can be useful to "simulate" a device.
```bash
$ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"state": "off", "attributes": {"friendly_name": "Radio"}}' \
http://localhost:8123/api/states/binary_sensor.radio
```
To check if the sensor is working, use again `curl` to retrieve the [current state](/developers/rest_api/#get-apistatesltentity_id).
```bash
$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \
-H "Content-Type: application/json" \
http://localhost:8123/api/states/binary_sensor.radio
{
"attributes": {
"friendly_name": "Radio"
},
"entity_id": "binary_sensor.radio",
"last_changed": "16:45:51 05-02-2016",
"last_updated": "16:45:51 05-02-2016",
"state": "off"
}
```
## {% linkable_title Examples %}
In this section you'll find some real-life examples of how to use this sensor, besides `curl`, which was shown earlier.
### {% linkable_title Using Python request module %}
As already shown on the [API](/developers/rest_api/) page, it's very simple to use Python and the [Requests](http://docs.python-requests.org/en/latest/) module for the interaction with Home Assistant.
```python
response = requests.post(
'http://localhost:8123/api/states/binary_sensor.radio',
headers={'x-ha-access': 'YOUR_PASSWORD', 'content-type': 'application/json'},
data=json.dumps({'state': 'on', 'attributes': {'friendly_name': 'Radio'}}))
print(response.text)
```
### {% linkable_title Using `httpie` %}
[`httpie`](https://github.com/jkbrzt/httpie) is a user-friendly CLI HTTP client.
```bash
$ http -v POST http://localhost:8123/api/states/binary_sensor.radio \
x-ha-access:YOUR_PASSWORD content-type:application/json state=off \
attributes:='{"friendly_name": "Radio"}'
```

View File

@ -1,23 +1,135 @@
---
layout: page
title: "Broadlink RM Switch"
description: "Instructions on how to have Broadlink RM switches."
title: "Broadlink"
description: "Instructions on how to integrate Broadlink within Home Assistant."
date: 2016-11-22 22:41
sidebar: true
comments: false
sharing: true
footer: true
logo: broadlink.png
ha_category: Switch
ha_category:
- Switch
- Sensor
ha_release: 0.35
ha_iot_class: Local Polling
redirect_from:
- /components/switch.broadlink/
- /components/sensor.broadlink/
---
There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor)
- [Switch](#switch)
## {% linkable_title Sensor %}
The `broadlink` sensor platform let you monitor data from an RM2 and A1 E-air. There is currently no support for the cloud API.
To enable it, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: broadlink
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
monitored_conditions:
- 'temperature'
```
Configuration options:
{% configuration %}
host:
description: The hostname/IP address to connect to.
required: true
type: string
mac:
description: Device mac address.
required: true
type: string
name:
description: Sensor name.
required: false
default: Broadlink sensor
type: String
scan_interval:
description: Time in seconds to fetch data from sensors.
required: false
default: 300
type: integer
timeout:
description: Timeout in seconds for the connection to the device.
required: false
default: 10
type: integer
monitored_conditions:
description:
required: true
type: list
keys:
"'temperature'":
description: Temperature
"'humidity'":
description: Humidity
"'air_quality'":
description: Air quality
"'light'":
description: Light
"'noise'":
description: Noise
{% endconfiguration %}
To set it up, add the following information to your `configuration.yaml` file:
Obtain sensor data from an A1:
```yaml
sensor:
- platform: broadlink
scan_interval: 60
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
monitored_conditions:
- temperature
- humidity
- air_quality
- light
- noise
```
Obtain temperature data from an RM2:
```yaml
sensor:
- platform: broadlink
scan_interval: 60
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
monitored_conditions:
- temperature
```
### {% linkable_title Microsoft Windows installation %}
<p class='note'>
The pycrypto library needs to be available on your platform. On a typical windows sysytem `pip install pycrypto` will fail, as a compiler needs to be installed first.
</p>
The quickest way around this is to use a pre-built binary, e.g., from [https://github.com/sfbahr/PyCrypto-Wheels](https://github.com/sfbahr/PyCrypto-Wheels)
Be sure to get the correct 64 or 32-bit binary for your system, the full command line will look something like the sample below for a 64-bit system:
```bash
pip install --use-wheel --no-index --find-links=https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win_amd64.whl pycrypto
```
## {% linkable_title Switch %}
This `Broadlink` switch platform allow to you control Broadlink [devices](http://www.ibroadlink.com/).
## {% linkable_title Configuration %}
### {% linkable_title Configuration %}
To enable it, add the following lines to your `configuration.yaml`:
@ -97,7 +209,7 @@ slots:
Information about how to install on Windows can be found [here](/components/sensor.broadlink/#microsoft-windows-installation).
## {% linkable_title How to obtain IR/RF packets? %}
### {% linkable_title How to obtain IR/RF packets? %}
Choose Call Service from the Developer Tools. Choose the service `switch.broadlink_learn_command` from the list of **Available services:** and hit **CALL SERVICE**. Press the button on your remote with in 20 seconds. The packet will be printed as a persistent notification in the States page of the web interface.
@ -177,7 +289,7 @@ switch:
slot_4: 'Speaker slot'
```
## {% linkable_title Service `broadlink_send_packet` %}
### {% linkable_title Service `broadlink_send_packet` %}
You can use the service `switch.broadlink_send_packet` to directly send IR packets without the need to assign a switch entity for each command.
@ -198,7 +310,7 @@ script:
- "JgBGAJSTFDUUNhM2ExITEhMSExITEhM2EzYTNhQRFBEUERQRFBEUNRQ2ExITNhMSExITNhMSExITEhM2ExITNhQ1FBEUNhMADQUAAA=="
```
## {% linkable_title Using E-Control remotes %}
### {% linkable_title Using E-Control remotes %}
If you already have your remotes learned on E-Control app you can use this method to "copy" them to Home Assistant.
@ -246,7 +358,7 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro
8. Convert the HEX codes to base64.
Use [this](http://tomeko.net/online_tools/hex_to_base64.php?lang=en1) tool to convert the hex codes to base64 for use with Home Assistant.
## {% linkable_title Using iOS and Windows to obtain codes %}
### {% linkable_title Using iOS and Windows to obtain codes %}
1. Use the E-Control app to learn the codes from all of your suitable remotes. Depending on the remote, try to add useful names for the buttons and/or the remotes. This will mean that you should only have to run this process once and will help with getting them quickly into Home Assistant. Dump the files in the app by navigating to the hamburger icon, select `share and select`, then choose `Share to other phones on WLAN`.
@ -294,7 +406,7 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro
6. Now there should be a file with the name of the remote you chose in the same directory ending in `.txt`. Open that up and it will contain the Base64 code required for Home Assistant. To ensure these codes work correctly you may need to add `==` to the end of the code in your config.yaml file (or wherever you have your switches).
## {% linkable_title Using Windows to obtain codes with Broadlink Manager %}
### {% linkable_title Using Windows to obtain codes with Broadlink Manager %}
1. Install Broadlink Manager from this SourceForge link [here](https://sourceforge.net/projects/broadlink-manager/).
2. Open the application and hit "scan" to activate your broadlink device.
@ -302,7 +414,7 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro
4. The "OnRawData Base64" is the value to be used with Home Assistant.
## {% linkable_title Using Node-RED to obtain codes %}
### {% linkable_title Using Node-RED to obtain codes %}
1. Install the Broadlink Control palette in Node-RED (click the Hamburger menu at top right corner> Settings> Palette> Install and type Broadlink. Click install on the node-red-contrib-broadlink-control.
2. Once installed, verify that the new palette titled broadlink is available in the nodes menu.
@ -339,7 +451,7 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro
```
This is the code we need to transmit again to replicate the same remote function.
## {% linkable_title Using Node red to Transmit Codes %}
### {% linkable_title Using Node red to Transmit Codes %}
1. Drag another RM node on the same flow we created earlier. The RM node should be configured to the RM device created earlier by default.
2. In the Action field, select - Set from msg.payload -.

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Deluge Switch"
title: "Deluge"
description: "Instructions on how to integrate Deluge within Home Assistant."
date: 2017-10-19 09:00
sidebar: true
@ -8,13 +8,79 @@ comments: false
sharing: true
footer: true
logo: deluge.png
ha_category: Downloading
ha_category:
- Downloading
- Sensor
- Switch
ha_release: 0.57
ha_iot_class: Local Polling
redirect_from:
- /components/switch.deluge/
- /components/sensor.deluge/
---
There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor)
- [Switch](#switch)
## {% linkable_title Sensor %}
The `deluge` platform allows you to monitor your downloads with [Deluge](http://deluge-torrent.org/) from within Home Assistant and setup automation based on the information.
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: deluge
host: IP_ADDRESS
username: USERNAME
password: PASSWORD
monitored_variables:
- 'current_status'
- 'download_speed'
- 'upload_speed'
```
{% configuration %}
host:
required: true
type: string
description: This is the IP address of your Deluge daemon, e.g., 192.168.1.32.
port:
required: false
type: integer
description: The port your Deluge daemon uses. Warning, this is not the port of the WebUI.
default: 58846
name:
required: false
type: string
default: Deluge
description: The name to use when displaying this Deluge instance.
username:
required: true
type: string
description: Your Deluge daemon username.
password:
required: true
type: string
description: Your Deluge daemon password.
monitored_variables:
required: true
type: list
description: Conditions to display in the frontend.
keys:
current_status:
description: The status of your Deluge daemon.
download_speed:
description: The current download speed.
upload_speed:
description: The current upload speed.
{% endconfiguration %}
## {% linkable_title Switch %}
The `deluge` switch platform allows you to control your [Deluge](http://deluge-torrent.org/) client from within Home Assistant. The platform enables you switch all your torrents in pause, and then unpause them all.
To add Deluge to your installation, add the following to your `configuration.yaml` file:

View File

@ -1,88 +0,0 @@
---
layout: page
title: "SNMP"
description: "Instructions on how to integrate SNMP into Home Assistant."
date: 2015-10-08 12:00
sidebar: true
comments: false
sharing: true
footer: true
logo: network-snmp.png
ha_category: Presence Detection
ha_release: 0.7.5
---
A lot of WiFi access points and WiFi routers support the Simple Network Management Protocol (SNMP). This is a standardized method for monitoring/manageing network connected devices. SNMP uses a tree-like hierarchy where each node is an object. Many of these objects contain (live) lists of instances and metrics, like network interfaces, disks, and WiFi registrations.
<p class='note warning'>
This device tracker needs SNMP to be enabled on the router. It could be that you need to install the SNMP support manually.
</p>
The following OID examples pull the current MAC Address table from a router. This reflects all recent devices seen on the network. However, since devices are not removed until they time out, this is less effective for [device tracker component page](/components/device_tracker/) than desirable. It is recommended to use [Ping](/components/device_tracker.ping/) or [Nmap](/components/device_tracker.nmap_tracker/) instead.
| Brand | Device/Firmware | OID |
|---|---|---|---|
| Aerohive | AP230 | `1.3.6.1.4.1.26928.1.1.1.2.1.2.1.1` |
| Apple | Airport Express (2nd gen.) 7.6.9 | `1.3.6.1.2.1.3.1.1.2` or `1.3.6.1.2.1.4.22.1.2`|
| Aruba | IAP325 on AOS 6.5.4.8 | `1.3.6.1.4.1.14823.2.3.3.1.2.4.1.1` |
| BiPAC | 7800DXL Firmware 2.32e | `1.3.6.1.2.1.17.7.1.2.2.1.1` |
| DD-WRT | unknown version/model | `1.3.6.1.2.1.4.22.1.2` |
| Mikrotik | unknown RouterOS version/model | `1.3.6.1.4.1.14988.1.1.1.2.1.1` |
| Mikrotik | RouterOS 6.x on RB2011 | `1.3.6.1.2.1.4.22.1.2` |
| OpenWrt | Chaos Calmer 15.05 | `1.3.6.1.2.1.4.22.1.2` |
| OPNSense | 19.1 | `1.3.6.1.2.1.4.22.1.2` |
| pfSense | 2.2.4 | `1.3.6.1.2.1.4.22.1.2` |
| Ruckus | ZoneDirector 9.13.3 | `1.3.6.1.4.1.25053.1.2.2.1.1.3.1.1.1.6` |
| TP-Link | Archer VR2600v | `1.3.6.1.2.1.3.1.1.2.19.1` |
| TP-Link | Archer VR600 | `1.3.6.1.2.1.3.1.1.2` |
| Ubiquiti | Edgerouter Lite v1.9.0 | `1.3.6.1.2.1.4.22.1.2` |
To use the SNMP version 1 or 2c platform in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry for SNMP version 1 or 2c
device_tracker:
- platform: snmp
host: 192.168.1.1
community: public
baseoid: 1.3.6.1.4.1.14988.1.1.1.2.1.1
```
If you want to use encryption, you must enable SNMP version 3 by adding `authkey` and `privkey` variables and enabling SNMP version 3 on your router. Currently only SHA1 is supported for authentication and AES for encryption. Example of SNMPv3 configuration:
```yaml
# Example configuration.yaml entry for SNMP version 3
device_tracker:
- platform: snmp
host: 192.168.1.1
community: USERNAME
authkey: AUTHPASS
privkey: PRIVPASS
baseoid: 1.3.6.1.4.1.14988.1.1.1.2.1.1
```
{% configuration %}
host:
description: The IP address of the router, e.g., 192.168.1.1.
required: true
type: string
community:
description: The SNMP community which is set for the device. Most devices have a default community set to `public` with read-only permission (which is sufficient).
required: true
type: string
baseoid:
description: The OID prefix where wireless client registrations can be found, usually vendor specific. It's advised to use the numerical notation. To find this base OID, check vendor documentation or check the MIB file for your device.
required: true
type: string
authkey:
description: Authentication key for SNMPv3. Variable privkey must also be set.
required: inclusive
type: string
privkey:
description: Privacy key SNMPv3. Variable authkey must also be set.
required: inclusive
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -179,6 +179,7 @@ entity_config:
Currently, the following domains are available to be used with Google Assistant, listed with their default types:
- camera (streaming, requires compatible camera)
- group (on/off)
- input_boolean (on/off)
- scene (on)
@ -187,7 +188,7 @@ Currently, the following domains are available to be used with Google Assistant,
- fan (on/off/speed)
- light (on/off/brightness/rgb color/color temp)
- lock (lock/unlock (to allow assistant to unlock, set the `allow_unlock` key in configuration))
- cover (on/off/set position (via set brightness))
- cover (on/off/set position)
- media_player (on/off/set volume (via set brightness)/source (via set input source))
- climate (temperature setting, operation_mode)
- vacuum (dock/start/stop/pause)

View File

@ -8,13 +8,24 @@ comments: false
sharing: true
footer: true
logo: http.png
ha_category: "Other"
ha_category:
- Other
- Binary Sensor
- Sensor
ha_release: pre 0.7
ha_iot_class: Local Push
ha_qa_scale: internal
redirect_from:
- /components/binary_sensor.http/
- /components/sensor.http/
---
The `http` component serves all files and data required for the Home Assistant
frontend. You only need to add this to your configuration file if you want to
change any of the default settings.
The `http` component serves all files and data required for the Home Assistant frontend. You only need to add this to your configuration file if you want to change any of the default settings.
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor)
- [Sensor](#sensor)
<p class='note'>
Don't use option `server_host` on a Hass.io installation!
@ -114,51 +125,32 @@ http:
login_attempts_threshold: 5
```
The [Set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/)
blog post gives you details about the encryption of your traffic using free
certificates from [Let's Encrypt](https://letsencrypt.org/).
The [Set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post gives you details about the encryption of your traffic using free certificates from [Let's Encrypt](https://letsencrypt.org/).
Or use a self signed certificate following the instructions here
[Self-signed certificate for SSL/TLS](/docs/ecosystem/certificates/tls_self_signed_certificate/).
Or use a self signed certificate following the instructions here [Self-signed certificate for SSL/TLS](/docs/ecosystem/certificates/tls_self_signed_certificate/).
## {% linkable_title APIs %}
On top of the `http` component is a [REST API](/developers/rest_api/),
[Python API](/developers/python_api/) and
[WebSocket API](/developers/websocket_api/) available. There is also support for
[Server-sent events](/developers/server_sent_events/).
On top of the `http` component is a [REST API](/developers/rest_api/), [Python API](/developers/python_api/) and [WebSocket API](/developers/websocket_api/) available. There is also support for [Server-sent events](/developers/server_sent_events/).
The `http` platforms are not real platforms within the meaning of the
terminology used around Home Assistant. Home Assistant's
[REST API](/developers/rest_api/) sends and receives messages over HTTP.
The `http` platforms are not real platforms within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) sends and receives messages over HTTP.
## {% linkable_title HTTP sensors %}
To use those kind of [sensors](/components/sensor.http/) or
[binary sensors](/components/binary_sensor.http/) in your installation no
configuration in Home Assistant is needed. All configuration is done on the
devices themselves. This means that you must be able to edit the target URL or
endpoint and the payload.
The entity will be created after the first message has arrived.
To use those kind of [sensors](#sensor) or [binary sensors](#binary-sensor) in your installation no configuration in Home Assistant is needed. All configuration is done on the devices themselves. This means that you must be able to edit the target URL or endpoint and the payload. The entity will be created after the first message has arrived.
All [requests](/developers/rest_api/#post-apistatesltentity_id) need to be sent
to the endpoint of the device and must be **POST**.
All [requests](/developers/rest_api/#post-apistatesltentity_id) need to be sent to the endpoint of the device and must be **POST**.
## {% linkable_title IP filtering and banning %}
If you want to apply additional IP filtering, and automatically ban brute force
attempts, set `ip_ban_enabled` to `true` and the maximum number of attempts.
After the first ban, an `ip_bans.yaml` file will be created in the root
configuration folder.
It will have the banned IP address and time in UTC when it was added:
If you want to apply additional IP filtering, and automatically ban brute force attempts, set `ip_ban_enabled` to `true` and the maximum number of attempts. After the first ban, an `ip_bans.yaml` file will be created in the root configuration folder. It will have the banned IP address and time in UTC when it was added:
```yaml
127.0.0.1:
banned_at: '2016-11-16T19:20:03'
```
After a ban is added a Persistent Notification is populated to the Home
Assistant frontend.
After a ban is added a Persistent Notification is populated to the Home Assistant frontend.
<p class='note warning'>
Please note, that sources from `trusted_networks` won't be banned automatically.
@ -166,12 +158,133 @@ Please note, that sources from `trusted_networks` won't be banned automatically.
## {% linkable_title Hosting files %}
If you want to use Home Assistant to host or serve static files then create a
directory called `www` under the configuration path (`/config` on Hass.io,
`.homeassistant` elsewhere). The static files in `www/` can be accessed by the
following URL `http://your.domain:8123/local/`, for example `audio.mp3` would
be accessed as `http://your.domain:8123/local/audio.mp3`.
If you want to use Home Assistant to host or serve static files then create a directory called `www` under the configuration path (`/config` on Hass.io, `.homeassistant` elsewhere). The static files in `www/` can be accessed by the following URL `http://your.domain:8123/local/`, for example `audio.mp3` would be accessed as `http://your.domain:8123/local/audio.mp3`.
<p class='note'>
If you've had to create the `www/` folder for the first time, you'll need to restart Home Assistant.
</p>
## {% linkable_title Binary Sensor %}
The HTTP binary sensor is dynamically created with the first request that is made to its URL. You don't have to define it in the configuration first.
The sensor will then exist as long as Home Assistant is running. After a restart of Home Assistant the sensor will be gone until it is triggered again.
The URL for a binary sensor looks like the example below:
```bash
http://IP_ADDRESS:8123/api/states/binary_sensor.DEVICE_NAME
```
<p class='note'>
You should choose a unique device name (DEVICE_NAME) to avoid clashes with other devices.
</p>
The JSON payload must contain the new state and can have a friendly name. The friendly name is used in the frontend to name the sensor.
```json
{"state": "on", "attributes": {"friendly_name": "Radio"}}
```
For a quick test `curl` can be useful to "simulate" a device.
```bash
$ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"state": "off", "attributes": {"friendly_name": "Radio"}}' \
http://localhost:8123/api/states/binary_sensor.radio
```
To check if the sensor is working, use again `curl` to retrieve the [current state](/developers/rest_api/#get-apistatesltentity_id).
```bash
$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \
-H "Content-Type: application/json" \
http://localhost:8123/api/states/binary_sensor.radio
{
"attributes": {
"friendly_name": "Radio"
},
"entity_id": "binary_sensor.radio",
"last_changed": "16:45:51 05-02-2016",
"last_updated": "16:45:51 05-02-2016",
"state": "off"
}
```
### {% linkable_title Examples %}
In this section you'll find some real-life examples of how to use this sensor, besides `curl`, which was shown earlier.
#### {% linkable_title Using Python request module %}
As already shown on the [API](/developers/rest_api/) page, it's very simple to use Python and the [Requests](http://docs.python-requests.org/en/latest/) module for the interaction with Home Assistant.
```python
response = requests.post(
'http://localhost:8123/api/states/binary_sensor.radio',
headers={'x-ha-access': 'YOUR_PASSWORD', 'content-type': 'application/json'},
data=json.dumps({'state': 'on', 'attributes': {'friendly_name': 'Radio'}}))
print(response.text)
```
#### {% linkable_title Using `httpie` %}
[`httpie`](https://github.com/jkbrzt/httpie) is a user-friendly CLI HTTP client.
```bash
$ http -v POST http://localhost:8123/api/states/binary_sensor.radio \
x-ha-access:YOUR_PASSWORD content-type:application/json state=off \
attributes:='{"friendly_name": "Radio"}'
```
## {% linkable_title Sensor %}
The HTTP sensor is dynamically created with the first request that is made to its URL. You don't have to define it in the configuration first.
The sensor will then exist as long as Home Assistant is running. After a restart of Home Assistant the sensor will be gone until it is triggered again.
The URL for a sensor looks like the example below:
```bash
http://IP_ADDRESS:8123/api/states/sensor.DEVICE_NAME
```
<p class='note'>
You should choose a unique device name (DEVICE_NAME) to avoid clashes with other devices.
</p>
The JSON payload must contain the new state and should include the unit of measurement and a friendly name. The friendly name is used in the frontend to name the sensor.
```json
{"state": "20", "attributes": {"unit_of_measurement": "°C", "friendly_name": "Bathroom Temperature"}}
```
For a quick test, `curl` can be useful to "simulate" a device.
```bash
$ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"state": "20", "attributes": {"unit_of_measurement": "°C", "friendly_name": "Bathroom Temp"}}' \
http://localhost:8123/api/states/sensor.bathroom_temperature
```
You can then use `curl` again to retrieve the [current sensor state](/developers/rest_api/#get-apistatesltentity_id) and verify the sensor is working.
```bash
$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \
-H "Content-Type: application/json" \
http://localhost:8123/api/states/sensor.bathroom_temperature
{
"attributes": {
"friendly_name": "Bathroom Temp",
"unit_of_measurement": "\u00b0C"
},
"entity_id": "sensor.bathroom_temperature",
"last_changed": "09:46:17 06-02-2016",
"last_updated": "09:48:46 06-02-2016",
"state": "20"
}
```
For more examples please visit the [HTTP Binary Sensor](#examples) page.

View File

@ -8,12 +8,21 @@ comments: false
sharing: true
footer: true
logo: influxdb.png
ha_category: History
ha_category:
- History
- Sensor
ha_release: 0.9
ha_iot_class: Configurable
redirect_from:
- /components/sensor.influxdb/
---
The `influxdb` component makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. See the [official installation documentation](https://docs.influxdata.com/influxdb/v1.7/introduction/installation/) for how to set up an InfluxDB database, or if you're using Hass.io, [there is a community add-on](https://community.home-assistant.io/t/community-hass-io-add-on-influxdb/54491) available.
There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor)
<p class='note'>
The `influxdb` database component runs parallel to the Home Assistant database. It does not replace it.
</p>
@ -170,3 +179,124 @@ influxdb:
instance: prod
source: hass
```
## {% linkable_title Sensor %}
The `influxdb` sensor allows you to use values from an [InfluxDB](https://influxdb.com/) database to populate a sensor state. This can be use to present statistic about home_assistant sensors if used with the `influxdb` history component. It can also be used with an external data source.
To configure this sensor, you need to define the sensor connection variables and a list of queries to your `configuration.yaml` file. A sensor will be created for each query:
```yaml
# Example configuration.yaml entry
sensor:
- platform: influxdb
queries:
- name: mean value of foo
where: '"name" = ''foo'''
measurement: '"°C"'
```
{% configuration %}
host:
description: IP address of your database host, e.g. 192.168.1.10.
required: false
default: localhost
type: string
port:
description: Port to use.
required: false
default: 8086
type: string
username:
description: The username of the database user.
required: false
type: string
password:
description: The password for the database user account.
required: false
type: string
ssl:
description: Use https instead of http to connect.
required: false
default: false
type: boolean
verify_ssl:
description: Verify SSL certificate for https request.
required: false
default: false
type: boolean
queries:
description: List of queries.
required: true
type: list
keys:
name:
description: The name of the sensor.
required: true
type: string
unit_of_measurement:
description: Defines the units of measurement of the sensor, if any.
required: false
type: string
measurement:
description: Defines the measurement name in InfluxDB (the FROM clause of the query).
required: true
type: string
where:
description: Defines the data selection clause (the where clause of the query).
required: true
type: string
value_template:
description: Defines a [template](/docs/configuration/templating/#processing incoming data) to extract a value from the payload.
required: false
type: template
database:
description: Name of the database to use.
required: false
default: home_assistant
type: string
group_function:
description: The group function to be used.
required: false
default: mean
type: string
field:
description: The field name to select.
required: true
type: string
default: value
{% endconfiguration %}
## {% linkable_title Examples %}
### {% linkable_title Full configuration %}
The example configuration entry below create two request to your local InfluxDB instance, one to the database `db1`, the other to `db2`:
- `select last(value) as value from "°C" where "name" = "foo"`
- `select min(tmp) as value from "%" where "entity_id" = ''salon'' and time > now() - 1h`
```yaml
sensor:
platform: influxdb
host: localhost
username: home-assistant
password: password
queries:
- name: last value of foo
unit_of_measurement: °C
value_template: '{% raw %}{{ value | round(1) }}{% endraw %}'
group_function: last
where: '"name" = ''foo'''
measurement: '"°C"'
field: value
database: db1
- name: Min for last hour
unit_of_measurement: '%'
value_template: '{% raw %}{{ value | round(1) }}{% endraw %}'
group_function: min
where: '"entity_id" = ''salon'' and time > now() - 1h'
measurement: '"%"'
field: tmp
database: db2
```

View File

@ -1,23 +1,77 @@
---
layout: page
title: "mFi Switch"
description: "Instructions on how to integrate mFi switches within Home Assistant."
title: "mFi"
description: "Instructions on how to integrate mFi within Home Assistant."
date: 2016-02-07 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ubiquiti.png
ha_category: Switch
ha_category:
- Network
- Sensor
- Switch
ha_iot_class: Local Polling
ha_release: 0.13
redirect_from:
- /components/switch.mfi/
- /components/sensor.mfi/
---
The `mfi` switch platform to allow you to control [mFi Controllable Power Outlets](https://www.ubnt.com/mfi/mpower/).
There is currently support for the following device types within Home Assistant:
## {% linkable_title Configuration %}
- [Sensor](#sensor)
- [Switch](#switch)
## {% linkable_title Sensor %}
The `mfi` sensor platform to allow you to monitor [mFi mPort interface and sensors](https://www.ubnt.com/mfi/mport/).
To add this platform to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: mfi
host: IP_ADDRESS_OF_SENSOR
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
host:
description: The IP address or hostname of your mFi controller.
required: true
type: string
port:
description: The port of your mFi controller.
required: false
default: 6080 (6443 for TLS)
type: integer
username:
description: The mFi admin username.
required: true
type: string
password:
description: The mFi admin user's password.
required: true
type: string
ssl:
description: If `true`, use SSL/TLS to contact the mFi controller.
required: false
default: true
type: boolean
verify_ssl:
description: Set this to `false` if your mFi controller has a self-signed certificate.
required: false
default: true
type: boolean
{% endconfiguration %}
## {% linkable_title Switch %}
The `mfi` switch platform to allow you to control [mFi Controllable Power Outlets](https://www.ubnt.com/mfi/mpower/).
To add this platform to your installation, add the following to your `configuration.yaml` file:

View File

@ -1,124 +0,0 @@
---
layout: page
title: "Pushbullet"
description: "Instructions on how to add user notifications to Home Assistant."
date: 2015-01-20 22:36
sidebar: true
comments: false
sharing: true
footer: true
logo: pushbullet.png
ha_category: Notifications
featured: true
ha_release: 0.7
---
The `pushbullet` notification platform sends messages to [Pushbullet](https://www.pushbullet.com/), a free service to send information between your phones, browsers, and friends.
To enable Pushbullet notifications in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
platform: pushbullet
api_key: YOUR_API_KEY
```
{% configuration %}
api_key:
description: Enter the API key for Pushbullet. Go to [https://www.pushbullet.com/#settings/account](https://www.pushbullet.com/#settings/account) to retrieve your API key/access token.
required: true
type: string
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
{% endconfiguration %}
### {% linkable_title Usage %}
Pushbullet is a notify platform and thus can be controlled by calling the notify service [as described here](/components/notify/). It will send a notification to all devices registered in the Pushbullet account. An optional **target** parameter can be given to Pushbullet to specify specific account's devices, contacts or channels.
Type | Prefix | Suffix | Example
---- | ------ | ------ | -------
Device | `device/` | Device nickname | `device/iphone`
Channel | `channel/` | Channel tag | `channel/my_home`
Email | `email/` | Contact's email address | `email/email@example.com`
If using targets, your own account's email address functions as 'send to all devices'. All targets are verified (if exists) before sending, except email.
#### {% linkable_title Example service payload %}
```json
{
"message": "A message for many people",
"target": [
"device/telephone",
"email/hello@example.com",
"channel/my_home"
]
}
```
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
### {% linkable_title URL support %}
```yaml
action:
service: notify.NOTIFIER_NAME
data:
title: Send URL
message: This is an url
data:
url: google.com
```
- **url** (*Required*): Page URL to send with Pushbullet.
### {% linkable_title File support %}
```yaml
action:
service: notify.NOTIFIER_NAME
data:
title: Send file
message: This is a file
data:
file: /path/to/my/file
```
- **file** (*Required*): File to send with Pushbullet.
### {% linkable_title File URL support %}
```yaml
action:
service: notify.NOTIFIER_NAME
data:
title: Send file
message: This is a file URL
data:
file_url: https://cdn.pixabay.com/photo/2014/06/03/19/38/test-361512_960_720.jpg
```
- **file_url** (*Required*): File to send with Pushbullet.
### {% linkable_title Single target %}
```yaml
action:
service: notify.NOTIFIER_NAME
data:
title: "Send to one device"
message: "This only goes to one specific device"
target: device/DEVICE_NAME
```
- **target**: Pushbullet device to recive the notification.
<p class='note'>
Don't forget to [whitelist external directories](/docs/configuration/basic/), so Home Assistant has access to them.
</p>

View File

@ -1,85 +0,0 @@
---
layout: page
title: "LG webOS TV notifications"
description: "Instructions on how to integrate a LG webOS TV within Home Assistant."
date: 2016-04-18 23:24
sidebar: true
comments: false
sharing: true
footer: true
logo: webos.png
ha_category: Notifications
ha_iot_class: Local Polling
ha_release: 0.18
---
The `webostv` platform allows you to send notifications to a LG webOS Smart TV.
When the TV is first connected,
you will need to accept Home Assistant on the TV to allow communication.
To add a TV to your installation, add the following to your `configuration.yaml`
file and follow the configurator instructions:
```yaml
# Example configuration.yaml entry
notify:
- platform: webostv
host: 192.168.0.112
name: livingroom_tv
filename: webostv.conf
```
{% configuration %}
host:
description: The IP of the LG webOS Smart TV, e.g., 192.168.0.10
required: true
type: string
name:
description: The name you would like to give to the LG webOS Smart TV.
required: true
type: string
filename:
description: "The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. **NOTE**: When using multiple TVs each TV will need its own unique file."
required: false
type: string
default: webostv.conf
icon:
description: The path to an image file to use as the icon in notifications.
required: false
type: [string, icon]
{% endconfiguration %}
A possible automation could be:
```yaml
# Example configuration.yaml entry
automation:
- alias: Open a window
trigger:
platform: numeric_state
entity_id: sensor.netatmo_livingroom_co2
above: 999
action:
service: notify.livingroom_tv
data:
message: "You should open a window! (Livingroom Co2: {{ states.sensor.netatmo_livingroom_co2.state }}ppm)"
```
The icon can be overridden for individual notifications by providing a path to
an alternative icon image to use:
```yaml
automation:
- alias: Front door motion
trigger:
platform: state
entity_id: binary_sensor.front_door_motion
to: 'on'
action:
service: notify.livingroom_tv
data:
message: "Movement detected: Front Door"
data:
icon: "/home/homeassistant/images/doorbell.png"
```

View File

@ -8,19 +8,27 @@ comments: false
sharing: true
footer: true
logo: openweathermap.png
ha_category: Weather
ha_category:
- Weather
- Sensor
ha_release: 0.32
ha_iot_class: Cloud Polling
redirect_from:
- /components/weather.openweathermap/
- /components/sensor.openweathermap/
---
The `openweathermap` weather platform uses [OpenWeatherMap](http://openweathermap.org/) as a source for current meteorological data for your location.
## {% linkable_title Configuration %}
There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor)
- [Weather](#weather)
You need an API key which is free but requires a [registration](http://home.openweathermap.org/users/sign_up).
## {% linkable_title Weather %}
To add OpenWeatherMap to your installation, add the following to your `configuration.yaml` file:
```yaml
@ -60,3 +68,67 @@ longitude:
<p class='note'>
This platform is an alternative to the [`openweathermap`](/components/sensor.openweathermap/) sensor.
</p>
## {% linkable_title Sensor %}
The `openweathermap` platform uses [OpenWeatherMap](http://openweathermap.org/) as a source for current meteorological data for your location. The `forecast` will show you the condition in 3h.
To add OpenWeatherMap sensor to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: openweathermap
api_key: YOUR_API_KEY
monitored_conditions:
- weather
```
{% configuration %}
api_key:
description: Your API key for OpenWeatherMap.
required: true
type: string
name:
description: Additional name for the sensors. Default to platform name.
required: false
default: OWM
type: string
forecast:
description: Enables the forecast. The default is to display the current conditions.
required: false
default: false
type: string
language:
description: The language in which you want text results to be returned. It's a two-characters string, e.g., `en`, `es`, `ru`, `it`, etc.
required: false
default: en
type: string
monitored_conditions:
description: Conditions to display in the frontend.
required: true
type: list
keys:
weather:
description: A human-readable text summary.
temperature:
description: The current temperature.
wind_speed:
description: The wind speed.
wind_bearing:
description: The wind bearing.
humidity:
description: The relative humidity.
pressure:
description: The sea-level air pressure in millibars.
clouds:
description: Description about cloud coverage.
rain:
description: The rain volume.
snow:
description: The snow volume.
weather_code:
description: The current weather condition code.
{% endconfiguration %}
Details about the API are available in the [OpenWeatherMap documentation](http://openweathermap.org/api).

View File

@ -8,22 +8,32 @@ comments: false
sharing: true
footer: true
logo: pushbullet.png
ha_category: Sensor
ha_category:
- Sensor
- Notifications
ha_release: 0.44
ha_iot_class: Cloud Polling
redirect_from:
- /components/sensor.pushbullet/
- /components/notify.pushbullet/
---
There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor)
- [Notifications](#notifications)
### {% linkable_title Sensor %}
The `pushbullet` sensor platform reads messages from [Pushbullet](https://www.pushbullet.com/), a free service to send information between your phones, browsers, and friends. This sensor platform provides sensors that show the properties of the latest received Pushbullet notification mirror.
## {% linkable_title Setup %}
### {% linkable_title Setup %}
Notification Mirroring allows users to see their Android device's notifications on their computer. It must be first enabled in the app and is currently only available on the Android platform. For more information, please see [this announcement](https://blog.pushbullet.com/2013/11/12/real-time-notification-mirroring-from-android-to-your-computer/) on the Pushbullet Blog.
Go to [https://www.pushbullet.com/#settings/account](https://www.pushbullet.com/#settings/account) to retrieve your API key/access token.
## {% linkable_title Configuration %}
### {% linkable_title Configuration %}
To enable the Pushbullet sensor in your installation, add the following to your `configuration.yaml` file:
@ -70,3 +80,115 @@ monitored_conditions:
{% endconfiguration %}
All properties will be displayed as attributes. The properties array are just for logging the sensor readings for multiple properties.
## {% linkable_title Notifications %}
The `pushbullet` notification platform sends messages to [Pushbullet](https://www.pushbullet.com/), a free service to send information between your phones, browsers, and friends.
To enable Pushbullet notifications in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
platform: pushbullet
api_key: YOUR_API_KEY
```
{% configuration %}
api_key:
description: Enter the API key for Pushbullet. Go to [https://www.pushbullet.com/#settings/account](https://www.pushbullet.com/#settings/account) to retrieve your API key/access token.
required: true
type: string
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
{% endconfiguration %}
### {% linkable_title Usage %}
Pushbullet is a notify platform and thus can be controlled by calling the notify service [as described here](/components/notify/). It will send a notification to all devices registered in the Pushbullet account. An optional **target** parameter can be given to Pushbullet to specify specific account's devices, contacts or channels.
Type | Prefix | Suffix | Example
---- | ------ | ------ | -------
Device | `device/` | Device nickname | `device/iphone`
Channel | `channel/` | Channel tag | `channel/my_home`
Email | `email/` | Contact's email address | `email/email@example.com`
If using targets, your own account's email address functions as 'send to all devices'. All targets are verified (if exists) before sending, except email.
#### {% linkable_title Example service payload %}
```json
{
"message": "A message for many people",
"target": [
"device/telephone",
"email/hello@example.com",
"channel/my_home"
]
}
```
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
### {% linkable_title URL support %}
```yaml
action:
service: notify.NOTIFIER_NAME
data:
title: Send URL
message: This is an url
data:
url: google.com
```
- **url** (*Required*): Page URL to send with Pushbullet.
### {% linkable_title File support %}
```yaml
action:
service: notify.NOTIFIER_NAME
data:
title: Send file
message: This is a file
data:
file: /path/to/my/file
```
- **file** (*Required*): File to send with Pushbullet.
### {% linkable_title File URL support %}
```yaml
action:
service: notify.NOTIFIER_NAME
data:
title: Send file
message: This is a file URL
data:
file_url: https://cdn.pixabay.com/photo/2014/06/03/19/38/test-361512_960_720.jpg
```
- **file_url** (*Required*): File to send with Pushbullet.
### {% linkable_title Single target %}
```yaml
action:
service: notify.NOTIFIER_NAME
data:
title: "Send to one device"
message: "This only goes to one specific device"
target: device/DEVICE_NAME
```
- **target**: Pushbullet device to recive the notification.
<p class='note'>
Don't forget to [whitelist external directories](/docs/configuration/basic/), so Home Assistant has access to them.
</p>

View File

@ -17,6 +17,32 @@ redirect_from:
The `rejseplanen` sensor will provide you with travel details for Danish public transport, using timetable data from [Rejseplanen](https://www.rejseplanen.dk/).
## {% linkable_title Setup %}
The `stop_id` can be obtained through the following steps:
- Go to [http://rejseplanen.dk](http://rejseplanen.dk)
- Make a search and fill in the location you want to find stop ID for in the from's (a) section.
- Fill in either a random or the destination into the (b) section of the form.
- Press on "detaljer" and find the name of the stop you are looking for.
- Example search:
- Jernaldervej 1, Søften, 8382 Hinnerup
- Odense St. (detaljer)
- Now insert the stop name in the end of this URL: http://xmlopen.rejseplanen.dk/bin/rest.exe/location?format=json&input=STOP_NAME
For "Engdalsvej/Århusvej" you would have to use: http://xmlopen.rejseplanen.dk/bin/rest.exe/location?format=json&input=Engdalsvej/%C3%85rhusvej
You will se a output like this:
```text
"StopLocation":[{
"name":"Engdalsvej/Århusvej (Favrskov Kom)",
"x":"10078598",
"y":"56243456",
"id":"713000702"
```
Find the name of your stop in the list and the "id" is the one you are looking for to us as value for `stop_id:`.
## {% linkable_title Configuration %}
Add a sensor to your `configuration.yaml` file as shown in the example:
@ -28,25 +54,9 @@ sensor:
stop_id: 'YOUR_STOP_ID'
```
The `stop_id` can be obtained by looking up the name of the stop at this link:
<http://xmlopen.rejseplanen.dk/bin/rest.exe/location?format=json&input=STOP_NAME>
(Replace "STOP_NAME" with city or location you want id for)
find the stop and copy the `id` field with the trailing zeros.
The sensor can filter the timetables by one or more routes, directions and types. The known types are listed in the table below.
| Departure type | Description |
|--------------|-------------|
| BUS | Normal bus |
| EXB | Express bus |
| M | Metro |
| S | S-train |
| REG | Regional train |
{% configuration %}
stop_id:
description: The id of the public transport stop.
description: The ID of the public transport stop.
required: true
type: string
route:
@ -65,8 +75,8 @@ departure_type:
## {% linkable_title Direction %}
If you use the direction filter it's important to put correct destination, or else the sensor will not work at all.
The direction has to be the destination(s) for the transport type(s) for the departure stop destination, and NOT the stop where you want to get off. Check <http://rejseplanen.dk> and make a search, and use the destinations from there in your configuration. Make sure you use the exact name as the destination(s)
If you use the direction filter it's important to put correct destination or else the sensor will not work at all.
The direction has to be the destination(s) for the transport type(s) for the departure stop destination, and NOT the stop where you want to get off. Check [http://rejseplanen.dk](http://rejseplanen.dk), make a search and use the destinations from there in your configuration. Make sure you use the exact name as the destination(s).
A working example on how to use this sensor with direction:
@ -90,6 +100,7 @@ sensor:
direction:
- 'København H'
```
It fails because the destination from the departure is NOT København H, but 'CPH Lufthavn', 'Helsingør St.' and others.
## {% linkable_title Examples %}
@ -106,3 +117,13 @@ sensor:
- 'Herlev St.'
- 'Ballerup St.'
```
The sensor can filter the timetables by one or more routes, directions and types. The known types are listed in the table below.
| Departure type | Description |
|--------------|-------------|
| BUS | Normal bus |
| EXB | Express bus |
| M | Metro |
| S | S-train |
| REG | Regional train |

View File

@ -1,49 +0,0 @@
---
layout: page
title: "Arduino Sensor"
description: "Instructions on how to integrate Arduino boards pins as sensors within Home Assistant."
date: 2015-09-14 18:28
sidebar: true
comments: false
sharing: true
footer: true
logo: arduino.png
ha_category: DIY
ha_release: pre 0.7
ha_iot_class: Local Polling
---
The `arduino` sensor platform allows you to get numerical values from an analog input pin of an [Arduino](https://www.arduino.cc/) board. Usually the value is between 0 and 1024.
To enable an Arduino sensor with Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
platform: arduino
pins:
1:
name: Door switch
0:
name: Brightness
```
{% configuration %}
pins:
description: List of pins to use.
required: true
type: map
keys:
pin_number:
description: The pin number that corresponds with the pin numbering schema of your board.
required: true
type: map
keys:
name:
default: Name that will be used in the frontend for the pin.
type: string
{% endconfiguration %}
The 6 analog pins of an Arduino UNO are numbered from A0 to A5.

View File

@ -1,87 +0,0 @@
---
layout: page
title: "Broadlink RM2 and A1 sensor"
description: "Instructions on how to integrate Broadlink RM2 and/or A1 E-air sensors within Home Assistant."
date: 2016-12-03 21:59
sidebar: true
comments: false
sharing: true
footer: true
logo: broadlink.png
ha_category: Sensor
ha_release: 0.35
ha_iot_class: Local Polling
---
The `broadlink` sensor platform let you monitor data from an RM2 and A1 E-air. There is currently no support for the cloud API.
To enable it, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: broadlink
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
monitored_conditions:
- 'temperature'
```
Configuration options:
- **host** (*Required*): The hostname/IP address to connect to.
- **mac** (*Required*): Device mac address.
- **name** (*Optional*): Default BL. Sensor name
- **scan_interval** (*Optional*): Time in seconds to fetch data from sensors. Default 300.
- **timeout** (*Optional*): Timeout in seconds for the connection to the device.
- **monitored_conditions** array (*Required*): States to monitor.
- 'temperature'
- 'humidity'
- 'air_quality'
- 'light'
- 'noise'
To set it up, add the following information to your `configuration.yaml` file:
Obtain sensor data from an A1:
```yaml
sensor:
- platform: broadlink
scan_interval: 60
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
monitored_conditions:
- temperature
- humidity
- air_quality
- light
- noise
```
Obtain temperature data from an RM2:
```yaml
sensor:
- platform: broadlink
scan_interval: 60
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
monitored_conditions:
- temperature
```
### {% linkable_title Microsoft Windows installation %}
<p class='note'>
The pycrypto library needs to be available on your platform. On a typical windows sysytem `pip install pycrypto` will fail, as a compiler needs to be installed first.
</p>
The quickest way around this is to use a pre-built binary, e.g., from [https://github.com/sfbahr/PyCrypto-Wheels](https://github.com/sfbahr/PyCrypto-Wheels)
Be sure to get the correct 64 or 32-bit binary for your system, the full command line will look something like the sample below for a 64-bit system:
```bash
pip install --use-wheel --no-index --find-links=https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win_amd64.whl pycrypto
```

View File

@ -1,68 +0,0 @@
---
layout: page
title: "Deluge Sensor"
description: "Instructions on how to integrate Deluge sensors within Home Assistant."
date: 2017-10-24 17:06
sidebar: true
comments: false
sharing: true
footer: true
logo: deluge.png
ha_category: Downloading
ha_release: 0.57
ha_iot_class: Local Polling
---
The `deluge` platform allows you to monitor your downloads with [Deluge](http://deluge-torrent.org/) from within Home Assistant and setup automation based on the information.
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: deluge
host: IP_ADDRESS
username: USERNAME
password: PASSWORD
monitored_variables:
- 'current_status'
- 'download_speed'
- 'upload_speed'
```
{% configuration %}
host:
required: true
type: string
description: This is the IP address of your Deluge daemon, e.g., 192.168.1.32.
port:
required: false
type: integer
description: The port your Deluge daemon uses. Warning, this is not the port of the WebUI.
default: 58846
name:
required: false
type: string
default: Deluge
description: The name to use when displaying this Deluge instance.
username:
required: true
type: string
description: Your Deluge daemon username.
password:
required: true
type: string
description: Your Deluge daemon password.
monitored_variables:
required: true
type: list
description: Conditions to display in the frontend.
keys:
current_status:
description: The status of your Deluge daemon.
download_speed:
description: The current download speed.
upload_speed:
description: The current upload speed.
{% endconfiguration %}

View File

@ -1,65 +0,0 @@
---
layout: page
title: "HTTP Sensor"
description: "Instructions on how to integrate HTTP sensors within Home Assistant."
date: 2016-02-05 12:15
sidebar: true
comments: false
sharing: true
footer: true
logo: http.png
ha_category: Sensor
ha_release: pre 0.7
ha_iot_class: Local Push
ha_qa_scale: internal
---
The HTTP sensor is dynamically created with the first request that is made to its URL. You don't have to define it in the configuration first.
The sensor will then exist as long as Home Assistant is running. After a restart of Home Assistant the sensor will be gone until it is triggered again.
The URL for a sensor looks like the example below:
```bash
http://IP_ADDRESS:8123/api/states/sensor.DEVICE_NAME
```
<p class='note'>
You should choose a unique device name (DEVICE_NAME) to avoid clashes with other devices.
</p>
The JSON payload must contain the new state and should include the unit of measurement and a friendly name. The friendly name is used in the frontend to name the sensor.
```json
{"state": "20", "attributes": {"unit_of_measurement": "°C", "friendly_name": "Bathroom Temperature"}}
```
For a quick test, `curl` can be useful to "simulate" a device.
```bash
$ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"state": "20", "attributes": {"unit_of_measurement": "°C", "friendly_name": "Bathroom Temp"}}' \
http://localhost:8123/api/states/sensor.bathroom_temperature
```
You can then use `curl` again to retrieve the [current sensor state](/developers/rest_api/#get-apistatesltentity_id) and verify the sensor is working.
```bash
$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \
-H "Content-Type: application/json" \
http://localhost:8123/api/states/sensor.bathroom_temperature
{
"attributes": {
"friendly_name": "Bathroom Temp",
"unit_of_measurement": "\u00b0C"
},
"entity_id": "sensor.bathroom_temperature",
"last_changed": "09:46:17 06-02-2016",
"last_updated": "09:48:46 06-02-2016",
"state": "20"
}
```
For more examples please visit the [HTTP Binary Sensor](/components/binary_sensor.http/#examples) page.

View File

@ -1,133 +0,0 @@
---
layout: page
title: "InfluxDB Sensor"
description: "Instructions on how to integrate InfluxDB sensors within Home Assistant."
date: 2016-10-26 23:15
sidebar: true
comments: false
sharing: true
footer: true
logo: influxdb.png
ha_category: Sensor
ha_release: 0.32
ha_iot_class: Configurable
---
The `influxdb` sensor allows you to use values from an [InfluxDB](https://influxdb.com/) database to populate a sensor state. This can be use to present statistic about home_assistant sensors if used with the `influxdb` history component. It can also be used with an external data source.
To configure this sensor, you need to define the sensor connection variables and a list of queries to your `configuration.yaml` file. A sensor will be created for each query:
```yaml
# Example configuration.yaml entry
sensor:
- platform: influxdb
queries:
- name: mean value of foo
where: '"name" = ''foo'''
measurement: '"°C"'
```
{% configuration %}
host:
description: IP address of your database host, e.g. 192.168.1.10.
required: false
default: localhost
type: string
port:
description: Port to use.
required: false
default: 8086
type: string
username:
description: The username of the database user.
required: false
type: string
password:
description: The password for the database user account.
required: false
type: string
ssl:
description: Use https instead of http to connect.
required: false
default: false
type: boolean
verify_ssl:
description: Verify SSL certificate for https request.
required: false
default: false
type: boolean
queries:
description: List of queries.
required: true
type: list
keys:
name:
description: The name of the sensor.
required: true
type: string
unit_of_measurement:
description: Defines the units of measurement of the sensor, if any.
required: false
type: string
measurement:
description: Defines the measurement name in InfluxDB (the FROM clause of the query).
required: true
type: string
where:
description: Defines the data selection clause (the where clause of the query).
required: true
type: string
value_template:
description: Defines a [template](/docs/configuration/templating/#processing incoming data) to extract a value from the payload.
required: false
type: template
database:
description: Name of the database to use.
required: false
default: home_assistant
type: string
group_function:
description: The group function to be used.
required: false
default: mean
type: string
field:
description: The field name to select.
required: true
type: string
default: value
{% endconfiguration %}
## {% linkable_title Examples %}
### {% linkable_title Full configuration %}
The example configuration entry below create two request to your local InfluxDB instance, one to the database `db1`, the other to `db2`:
- `select last(value) as value from "°C" where "name" = "foo"`
- `select min(tmp) as value from "%" where "entity_id" = ''salon'' and time > now() - 1h`
```yaml
sensor:
platform: influxdb
host: localhost
username: home-assistant
password: password
queries:
- name: last value of foo
unit_of_measurement: °C
value_template: '{% raw %}{{ value | round(1) }}{% endraw %}'
group_function: last
where: '"name" = ''foo'''
measurement: '"°C"'
field: value
database: db1
- name: Min for last hour
unit_of_measurement: '%'
value_template: '{% raw %}{{ value | round(1) }}{% endraw %}'
group_function: min
where: '"entity_id" = ''salon'' and time > now() - 1h'
measurement: '"%"'
field: tmp
database: db2
```

View File

@ -1,59 +0,0 @@
---
layout: page
title: "mFi Sensor"
description: "Instructions on how to integrate mFi sensors within Home Assistant."
date: 2016-02-07 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ubiquiti.png
ha_category: Network
ha_iot_class: Local Polling
ha_release: 0.32
---
The `mfi` sensor platform to allow you to monitor [mFi mPort interface and sensors](https://www.ubnt.com/mfi/mport/).
## {% linkable_title Configuration %}
To add this platform to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: mfi
host: IP_ADDRESS_OF_SENSOR
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
host:
description: The IP address or hostname of your mFi controller.
required: true
type: string
port:
description: The port of your mFi controller.
required: false
default: 6080 (6443 for TLS)
type: integer
username:
description: The mFi admin username.
required: true
type: string
password:
description: The mFi admin user's password.
required: true
type: string
ssl:
description: If `true`, use SSL/TLS to contact the mFi controller.
required: false
default: true
type: boolean
verify_ssl:
description: Set this to `false` if your mFi controller has a self-signed certificate.
required: false
default: true
type: boolean
{% endconfiguration %}

View File

@ -1,78 +0,0 @@
---
layout: page
title: "OpenWeatherMap Sensor"
description: "Instructions on how to integrate OpenWeatherMap within Home Assistant."
date: 2015-04-25 9:06
sidebar: true
comments: false
sharing: true
footer: true
logo: openweathermap.png
ha_category: Weather
ha_release: pre 0.7
ha_iot_class: Cloud Polling
---
The `openweathermap` platform uses [OpenWeatherMap](http://openweathermap.org/) as a source for current meteorological data for your location. The `forecast` will show you the condition in 3 h.
You need an API key which is free but requires a [registration](http://home.openweathermap.org/users/sign_up).
To add OpenWeatherMap to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: openweathermap
api_key: YOUR_API_KEY
monitored_conditions:
- weather
```
{% configuration %}
api_key:
description: Your API key for OpenWeatherMap.
required: true
type: string
name:
description: Additional name for the sensors. Default to platform name.
required: false
default: OWM
type: string
forecast:
description: Enables the forecast. The default is to display the current conditions.
required: false
default: false
type: string
language:
description: The language in which you want text results to be returned. It's a two-characters string, e.g., `en`, `es`, `ru`, `it`, etc.
required: false
default: en
type: string
monitored_conditions:
description: Conditions to display in the frontend.
required: true
type: list
keys:
weather:
description: A human-readable text summary.
temperature:
description: The current temperature.
wind_speed:
description: The wind speed.
wind_bearing:
description: The wind bearing.
humidity:
description: The relative humidity.
pressure:
description: The sea-level air pressure in millibars.
clouds:
description: Description about cloud coverage.
rain:
description: The rain volume.
snow:
description: The snow volume.
weather_code:
description: The current weather condition code.
{% endconfiguration %}
Details about the API are available in the [OpenWeatherMap documentation](http://openweathermap.org/api).

View File

@ -1,159 +0,0 @@
---
layout: page
title: "SNMP"
description: "Instructions on how to integrate SNMP sensors within Home Assistant."
date: 2016-06-05 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: network-snmp.png
ha_category: System Monitor
ha_iot_class: Local Polling
ha_release: 0.22
---
The `snmp` sensor platform displays information available through the [Simple Network Management Protocol (SNMP)](https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol). SNMP uses a tree-like hierarchy where each node is an object, and is mainly supported by network-oriented devices such as routers, modems, and printers.
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: snmp
host: 192.168.1.32
baseoid: 1.3.6.1.4.1.2021.10.1.3.1
```
{% configuration %}
host:
description: The IP address of your host, e.g., `192.168.1.32`.
required: false
type: string
default: 'localhost'
baseoid:
description: The OID where the information is located. It's advised to use the numerical notation.
required: true
type: string
port:
description: The SNMP port of your host.
required: false
type: string
default: '161'
community:
description: "The SNMP community which is set for the device for SNMP v1 and v2c. Most devices have a default community set to `public` with read-only permission (which is sufficient)."
required: false
type: string
default: 'public'
username:
description: Username to use for authentication.
required: false
type: string
default: ''
auth_key:
description: Authentication key to use for SNMP v3.
required: false
type: string
default: no key
auth_protocol:
description: Authentication protocol to use for SNMP v3.
required: false
type: string
default: 'none'
priv_key:
description: Privacy key to use for SNMP v3.
required: false
type: string
default: no key
priv_protocol:
description: Privacy protocol to use for SNMP v3.
required: false
type: string
default: 'none'
version:
description: "Version of SNMP protocol, `1`, `2c` or `3`. Version `2c` or higher is needed to read data from 64-bit counters."
required: false
type: string
default: '1'
name:
description: Name of the SNMP sensor.
required: false
type: string
unit_of_measurement:
description: Defines the unit of measurement of the sensor, if any.
required: false
type: string
value_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to parse the value."
required: false
type: template
accept_errors:
description: "Determines whether the sensor should start and keep working even if the SNMP host is unreachable or not responding. This allows the sensor to be initialized properly even if, for example, your printer is not on when you start Home Assistant."
required: false
type: string
default: false
default_value:
description: "Determines what value the sensor should take if `accept_errors` is set and the host is unreachable or not responding. If not set, the sensor will have value `unknown` in case of errors."
required: false
type: string
{% endconfiguration %}
Valid values for auth_protocol:
- **none**
- **hmac-md5**
- **hmac-sha**
- **hmac128-sha224**
- **hmac192-sha256**
- **hmac256-sha384**
- **hmac384-sha512**
Valid values for priv_protocol:
- **none**
- **des**
- **3des-ede**
- **aes-cfb-128**
- **aes-cfb-192**
- **aes-cfb-256**
## {% linkable_title Finding OIDs %}
OIDs may vary on different systems because they are vendor-specific. Besides the device's manual, the [OID Repository](http://www.oid-info.com/) is a good place to start if you are looking for OIDs. As an example, the following OIDs are for the load of a Linux system.
- 1 minute Load: `1.3.6.1.4.1.2021.10.1.3.1`
- 5 minute Load: `1.3.6.1.4.1.2021.10.1.3.2`
- 15 minute Load: `1.3.6.1.4.1.2021.10.1.3.3`
There is a large amount of tools available to work with SNMP. `snmpwalk` let you easily retrieve the value of an OID.
```bash
$ snmpwalk -Os -c public -v 2c 192.168.1.32 1.3.6.1.4.1.2021.10.1.3.1
laLoad.1 = STRING: 0.19
```
## {% linkable_title Examples %}
### {% linkable_title Printer uptime minutes %}
According to the most common SNMP standard, the uptime of a device is accessible under OID `1.3.6.1.2.1.1.3.0`. The value represented using a format called `TimeTicks`, in units of hundredths of a second.
To create a sensor that displays the uptime for your printer in minutes, you can use this configuration:
{% raw %}
```yaml
# Example configuration.yaml entry
sensor:
- platform: snmp
name: 'Printer uptime'
host: 192.168.2.21
baseoid: 1.3.6.1.2.1.1.3.0
accept_errors: true
unit_of_measurement: 'minutes'
value_template: '{{((value | int) / 6000) | int}}'
```
{% endraw %}
The `accept_errors` option will allow the sensor to work even if the printer is not on when Home Assistant is first started: the sensor will just display a `-` instead of a minute count.
The `value_template` option converts the original value to minutes.

View File

@ -1,20 +1,257 @@
---
layout: page
title: "SNMP Switch"
description: "Instructions on how to integrate SNMP switches into Home Assistant."
title: "SNMP"
description: "Instructions on how to integrate SNMP into Home Assistant."
date: 2017-10-12 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: network-snmp.png
ha_category: Switch
ha_category:
- Network
- Switch
- Presence Detection
- Sensor
ha_iot_class: Local Polling
ha_release: 0.57
redirect_from:
- /components/switch.snmp/
- /components/sensor.snmp/
- /components/device_tracker.snmp/
---
A lot of WiFi access points and WiFi routers support the Simple Network Management Protocol (SNMP). This is a standardized method for monitoring/manageing network connected devices. SNMP uses a tree-like hierarchy where each node is an object. Many of these objects contain (live) lists of instances and metrics, like network interfaces, disks, and WiFi registrations.
There is currently support for the following device types within Home Assistant:
- [Presence Detection](#precense-detection)
- [Sensor](#sensor)
- [Switch](#switch)
<p class='note warning'>
This device tracker needs SNMP to be enabled on the router. It could be that you need to install the SNMP support manually.
</p>
## {% linkable_title Presence Detection %}
The following OID examples pull the current MAC Address table from a router. This reflects all recent devices seen on the network. However, since devices are not removed until they time out, this is less effective for [device tracker component page](/components/device_tracker/) than desirable. It is recommended to use [Ping](/components/device_tracker.ping/) or [Nmap](/components/device_tracker.nmap_tracker/) instead.
| Brand | Device/Firmware | OID |
|---|---|---|---|
| Aerohive | AP230 | `1.3.6.1.4.1.26928.1.1.1.2.1.2.1.1` |
| Apple | Airport Express (2nd gen.) 7.6.9 | `1.3.6.1.2.1.3.1.1.2` or `1.3.6.1.2.1.4.22.1.2`|
| Aruba | IAP325 on AOS 6.5.4.8 | `1.3.6.1.4.1.14823.2.3.3.1.2.4.1.1` |
| BiPAC | 7800DXL Firmware 2.32e | `1.3.6.1.2.1.17.7.1.2.2.1.1` |
| DD-WRT | unknown version/model | `1.3.6.1.2.1.4.22.1.2` |
| Mikrotik | unknown RouterOS version/model | `1.3.6.1.4.1.14988.1.1.1.2.1.1` |
| Mikrotik | RouterOS 6.x on RB2011 | `1.3.6.1.2.1.4.22.1.2` |
| OpenWrt | Chaos Calmer 15.05 | `1.3.6.1.2.1.4.22.1.2` |
| OPNSense | 19.1 | `1.3.6.1.2.1.4.22.1.2` |
| pfSense | 2.2.4 | `1.3.6.1.2.1.4.22.1.2` |
| Ruckus | ZoneDirector 9.13.3 | `1.3.6.1.4.1.25053.1.2.2.1.1.3.1.1.1.6` |
| TP-Link | Archer VR2600v | `1.3.6.1.2.1.3.1.1.2.19.1` |
| TP-Link | Archer VR600 | `1.3.6.1.2.1.3.1.1.2` |
| Ubiquiti | Edgerouter Lite v1.9.0 | `1.3.6.1.2.1.4.22.1.2` |
To use the SNMP version 1 or 2c platform in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry for SNMP version 1 or 2c
device_tracker:
- platform: snmp
host: 192.168.1.1
community: public
baseoid: 1.3.6.1.4.1.14988.1.1.1.2.1.1
```
If you want to use encryption, you must enable SNMP version 3 by adding `authkey` and `privkey` variables and enabling SNMP version 3 on your router. Currently only SHA1 is supported for authentication and AES for encryption. Example of SNMPv3 configuration:
```yaml
# Example configuration.yaml entry for SNMP version 3
device_tracker:
- platform: snmp
host: 192.168.1.1
community: USERNAME
authkey: AUTHPASS
privkey: PRIVPASS
baseoid: 1.3.6.1.4.1.14988.1.1.1.2.1.1
```
{% configuration %}
host:
description: The IP address of the router, e.g., 192.168.1.1.
required: true
type: string
community:
description: The SNMP community which is set for the device. Most devices have a default community set to `public` with read-only permission (which is sufficient).
required: true
type: string
baseoid:
description: The OID prefix where wireless client registrations can be found, usually vendor specific. It's advised to use the numerical notation. To find this base OID, check vendor documentation or check the MIB file for your device.
required: true
type: string
authkey:
description: Authentication key for SNMPv3. Variable privkey must also be set.
required: inclusive
type: string
privkey:
description: Privacy key SNMPv3. Variable authkey must also be set.
required: inclusive
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
## {% linkable_title Sensor %}
The `snmp` sensor platform displays information available through the [Simple Network Management Protocol (SNMP)](https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol). SNMP uses a tree-like hierarchy where each node is an object, and is mainly supported by network-oriented devices such as routers, modems, and printers.
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: snmp
host: 192.168.1.32
baseoid: 1.3.6.1.4.1.2021.10.1.3.1
```
{% configuration %}
host:
description: The IP address of your host, e.g., `192.168.1.32`.
required: false
type: string
default: 'localhost'
baseoid:
description: The OID where the information is located. It's advised to use the numerical notation.
required: true
type: string
port:
description: The SNMP port of your host.
required: false
type: string
default: '161'
community:
description: "The SNMP community which is set for the device for SNMP v1 and v2c. Most devices have a default community set to `public` with read-only permission (which is sufficient)."
required: false
type: string
default: 'public'
username:
description: Username to use for authentication.
required: false
type: string
default: ''
auth_key:
description: Authentication key to use for SNMP v3.
required: false
type: string
default: no key
auth_protocol:
description: Authentication protocol to use for SNMP v3.
required: false
type: string
default: 'none'
priv_key:
description: Privacy key to use for SNMP v3.
required: false
type: string
default: no key
priv_protocol:
description: Privacy protocol to use for SNMP v3.
required: false
type: string
default: 'none'
version:
description: "Version of SNMP protocol, `1`, `2c` or `3`. Version `2c` or higher is needed to read data from 64-bit counters."
required: false
type: string
default: '1'
name:
description: Name of the SNMP sensor.
required: false
type: string
unit_of_measurement:
description: Defines the unit of measurement of the sensor, if any.
required: false
type: string
value_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to parse the value."
required: false
type: template
accept_errors:
description: "Determines whether the sensor should start and keep working even if the SNMP host is unreachable or not responding. This allows the sensor to be initialized properly even if, for example, your printer is not on when you start Home Assistant."
required: false
type: string
default: false
default_value:
description: "Determines what value the sensor should take if `accept_errors` is set and the host is unreachable or not responding. If not set, the sensor will have value `unknown` in case of errors."
required: false
type: string
{% endconfiguration %}
Valid values for auth_protocol:
- **none**
- **hmac-md5**
- **hmac-sha**
- **hmac128-sha224**
- **hmac192-sha256**
- **hmac256-sha384**
- **hmac384-sha512**
Valid values for priv_protocol:
- **none**
- **des**
- **3des-ede**
- **aes-cfb-128**
- **aes-cfb-192**
- **aes-cfb-256**
### {% linkable_title Finding OIDs %}
OIDs may vary on different systems because they are vendor-specific. Besides the device's manual, the [OID Repository](http://www.oid-info.com/) is a good place to start if you are looking for OIDs. As an example, the following OIDs are for the load of a Linux system.
- 1 minute Load: `1.3.6.1.4.1.2021.10.1.3.1`
- 5 minute Load: `1.3.6.1.4.1.2021.10.1.3.2`
- 15 minute Load: `1.3.6.1.4.1.2021.10.1.3.3`
There is a large amount of tools available to work with SNMP. `snmpwalk` let you easily retrieve the value of an OID.
```bash
$ snmpwalk -Os -c public -v 2c 192.168.1.32 1.3.6.1.4.1.2021.10.1.3.1
laLoad.1 = STRING: 0.19
```
### {% linkable_title Examples %}
#### {% linkable_title Printer uptime minutes %}
According to the most common SNMP standard, the uptime of a device is accessible under OID `1.3.6.1.2.1.1.3.0`. The value represented using a format called `TimeTicks`, in units of hundredths of a second.
To create a sensor that displays the uptime for your printer in minutes, you can use this configuration:
{% raw %}
```yaml
# Example configuration.yaml entry
sensor:
- platform: snmp
name: 'Printer uptime'
host: 192.168.2.21
baseoid: 1.3.6.1.2.1.1.3.0
accept_errors: true
unit_of_measurement: 'minutes'
value_template: '{{((value | int) / 6000) | int}}'
```
{% endraw %}
The `accept_errors` option will allow the sensor to work even if the printer is not on when Home Assistant is first started: the sensor will just display a `-` instead of a minute count.
The `value_template` option converts the original value to minutes.
## {% linkable_title Switch %}
The `snmp` switch platform allows you to control SNMP-enabled equipment.
Currently, only SNMP OIDs that accept integer values are supported. SNMP v1, v2c and v3 are supported.

View File

@ -15,7 +15,7 @@ ha_iot_class: Local Push
ha_qa_scale: internal
---
The `stream` component provides a way to proxy live streams through Home Assistant. The component currently only supports the HLS format.
The `stream` component provides a way to proxy live streams through Home Assistant. The component currently only supports proxying H.264 source streams to the HLS format.
## {% linkable_title Configuration %}

View File

@ -1,60 +0,0 @@
---
layout: page
title: "Arduino Switch"
description: "Instructions on how to integrate Arduino boards pins as switches within Home Assistant."
date: 2015-09-14 18:28
sidebar: true
comments: false
sharing: true
footer: true
logo: arduino.png
ha_category: DIY
ha_release: pre 0.7
ha_iot_class: Local Polling
---
The `arduino` switch platform allows you to control the digital pins of your [Arduino](https://www.arduino.cc/) board. Support for switching pins is limited to high/on and low/off of the digital pins. PWM (pin 3, 5, 6, 9, 10, and 11 on an Arduino Uno) is not supported yet.
To enable the Arduino pins with Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
switch:
platform: arduino
pins:
11:
name: Fan Office
12:
name: Light Desk
initial: true
negate: true
```
{% configuration %}
pins:
description: List of of pins to use.
required: true
type: map
keys:
pin_number:
description: The pin number that corresponds with the pin numbering schema of your board.
required: true
type: map
keys:
name:
default: Name that will be used in the frontend for the pin.
type: string
required: false
initial:
default: The initial value for this port.
type: boolean
required: false
default: false
negate:
default: If this pin should be inverted.
type: boolean
required: false
default: false
{% endconfiguration %}
The digital pins are numbered from 0 to 13 on a Arduino UNO. The available pins are 2 till 13. For testing purposes you can use pin 13 because with that pin you can control the internal LED.

View File

@ -1,17 +0,0 @@
---
layout: page
title: "Yahoo Weather"
description: "Instructions on how to integrate Yahoo Weather within Home Assistant."
date: 2016-07-06 9:06
sidebar: true
comments: false
sharing: true
footer: true
logo: yahooweather.png
ha_category: Weather
ha_release: 0.47
---
<p class='note warning'>
The Yahoo Weather API **has been** [retired](https://developer.yahoo.com/weather/?guccounter=1). A replacement is the [`darksky` weather](/components/weather.darksky/).
</p>

View File

@ -1,53 +0,0 @@
---
layout: page
title: "ZAMG Weather"
description: "Instructions on how to integrate ZAMG sensors within Home Assistant."
date: 2016-12-06 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: zamg.png
ha_category: Weather
ha_release: 0.39
ha_iot_class: Cloud Polling
---
The `zamg` platform uses meteorological details published by the Austrian weather service [Zentralanstalt für Meteorologie und Geodynamik (ZAMG)](https://www.zamg.ac.at).
Only observations for capital cities are publicly available. You can check the list of stations in [CSV format](http://www.zamg.ac.at/ogd).
## {% linkable_title Configuration %}
To add ZAMG to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
weather:
- platform: zamg
```
{% configuration %}
station_id:
description: The ID number for a supported ZAMG station.
required: false
type: string
name:
description: A name for the weather platform.
required: false
type: string
latitude:
description: "Latitude coordinate to monitor weather of (required if **longitude** is specified)."
required: false
type: float
default: "Defaults to coordinates defined in your `configuration.yaml` file."
longitude:
description: "Longitude coordinate to monitor weather of (required if **latitude** is specified)."
required: false
type: float
default: "Defaults to coordinates defined in your `configuration.yaml` file."
{% endconfiguration %}
<p class='note'>
This platform is an alternative to the [`zamg`](/components/sensor.zamg/) sensor. The `weather` platform is easier to configure but less customizable and doesn't have support for conditions which is a key feature of the `weather` platforms.
</p>

View File

@ -8,33 +8,34 @@ comments: false
sharing: true
footer: true
logo: webos.png
ha_category: Media Player
ha_category:
- Media Player
- Notifications
ha_iot_class: Local Polling
ha_release: 0.18
redirect_from:
- /components/media_player.webostv/
- /components/notify.webostv/
---
The `webostv` platform allows you to control a [LG](http://www.lg.com/) webOS
Smart TV.
The `webostv` platform allows you to control a [LG](http://www.lg.com/) webOS Smart TV.
### {% linkable_title Setup %}
There is currently support for the following device types within Home Assistant:
To begin with enable *LG Connect Apps* feature in *Network* settings of the TV
[instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others).
- [Media Player](#media-player)
- [Notifications](#notifications)
Once basic configuration is added to your `configuration.yaml` *Configuration*
card should prompt on your Home Assistants's states.
Follow the instructions and accept pairing request on your TV.
## {% linkable_title Media Player %}
Pairing information will be saved to the `filename:` provided in configuration;
this process is IP sensitive,
in case the IP address of your TV would change in future.
To begin with enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others).
Once basic configuration is added to your `configuration.yaml` *Configuration* card should prompt on your Home Assistants's states. Follow the instructions and accept pairing request on your TV.
Pairing information will be saved to the `filename:` provided in configuration. This process is IP sensitive, in case the IP address of your TV would change in future.
### {% linkable_title Configuration %}
To add a TV to your installation,
add the following to your `configuration.yaml` file:
To add a TV to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@ -75,8 +76,7 @@ customize:
type: list
{% endconfiguration %}
If you do not specify `host:`, all LG webOS Smart TVs within your network will
be auto-discovered.
If you do not specify `host:`, all LG webOS Smart TVs within your network will be auto-discovered.
### {% linkable_title Example %}
@ -106,18 +106,11 @@ Avoid using `[ ]` in the `name:` of your device.
### {% linkable_title Turn on action %}
Home Assistant is able to turn on a LG webOS Smart TV if you specify an action,
like HDMI-CEC or WakeOnLan.
Home Assistant is able to turn on a LG webOS Smart TV if you specify an action, like HDMI-CEC or WakeOnLan.
Common for webOS 3.0 and higher would be to use WakeOnLan feature.
To use this feature your TV should be connected to your network via Ethernet rather than
Wireless and you should enable *LG Connect Apps* feature in *Network* settings of the TV
[instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others)
(or *Mobile App* in *General* settings for older models) (*may vary by version).
Common for webOS 3.0 and higher would be to use WakeOnLan feature. To use this feature your TV should be connected to your network via Ethernet rather than Wireless and you should enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others) (or *Mobile App* in *General* settings for older models) (*may vary by version).
On newer models (2017+), WakeOnLan may need to be enabled in the TV settings
by going to Settings > General > Mobile TV On > Turn On Via WiFi
[instructions](https://support.quanticapps.com/hc/en-us/articles/115005985729-How-to-turn-on-my-LG-Smart-TV-using-the-App-WebOS-).
On newer models (2017+), WakeOnLan may need to be enabled in the TV settings by going to Settings > General > Mobile TV On > Turn On Via WiFi [instructions](https://support.quanticapps.com/hc/en-us/articles/115005985729-How-to-turn-on-my-LG-Smart-TV-using-the-App-WebOS-).
```yaml
# Example configuration.yaml entry
@ -133,22 +126,15 @@ media_player:
mac: "B4:E6:2A:1E:11:0F"
```
Any other [actions](/docs/automation/action/) to power on the device can be
configured.
Any other [actions](/docs/automation/action/) to power on the device can be configured.
### {% linkable_title Sources %}
To obtain complete list of available sources currently configured on the TV,
once the webOS TV is configured and linked, while its powered on head to the
**Developer Tools** > **States**,
find your `media_player.<name>` and use the sources listed in `source_list:`
remembering to split them per line into your `sources:` configuration.
To obtain complete list of available sources currently configured on the TV, once the webOS TV is configured and linked, while its powered on head to the **Developer Tools** > **States**, find your `media_player.<name>` and use the sources listed in `source_list:` remembering to split them per line into your `sources:` configuration.
### {% linkable_title 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 best matching channel according to the `media_content_id`
parameter:
The `play_media` service can be used in a script to switch to the specified tv channel. It selects the best matching channel according to the `media_content_id` parameter:
1. Channel number *(i.e. '1' or '6')*
2. Exact channel name *(i.e. 'France 2' or 'CNN')*
@ -172,8 +158,77 @@ data:
### {% linkable_title Next/Previous buttons %}
The behaviour of the next and previsous buttons is different depending on the
active source:
The behaviour of the next and previsous buttons is different depending on the active source:
- if the source is 'LiveTV' (television): next/previous buttons act as channel up/down
- otherwise: next/previous buttons act as next/previous track
## {% linkable_title Notifications %}
The `webostv` notify platform allows you to send notifications to a LG webOS Smart TV.
When the TV is first connected, you will need to accept Home Assistant on the TV to allow communication.
To add a TV to your installation, add the following to your `configuration.yaml` file and follow the configurator instructions:
```yaml
# Example configuration.yaml entry
notify:
- platform: webostv
host: 192.168.0.112
name: livingroom_tv
filename: webostv.conf
```
{% configuration %}
host:
description: The IP of the LG webOS Smart TV, e.g., 192.168.0.10
required: true
type: string
name:
description: The name you would like to give to the LG webOS Smart TV.
required: true
type: string
filename:
description: "The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. **NOTE**: When using multiple TVs each TV will need its own unique file."
required: false
type: string
default: webostv.conf
icon:
description: The path to an image file to use as the icon in notifications.
required: false
type: [string, icon]
{% endconfiguration %}
A possible automation could be:
```yaml
# Example configuration.yaml entry
automation:
- alias: Open a window
trigger:
platform: numeric_state
entity_id: sensor.netatmo_livingroom_co2
above: 999
action:
service: notify.livingroom_tv
data:
message: "You should open a window! (Livingroom Co2: {{ states.sensor.netatmo_livingroom_co2.state }}ppm)"
```
The icon can be overridden for individual notifications by providing a path to an alternative icon image to use:
```yaml
automation:
- alias: Front door motion
trigger:
platform: state
entity_id: binary_sensor.front_door_motion
to: 'on'
action:
service: notify.livingroom_tv
data:
message: "Movement detected: Front Door"
data:
icon: "/home/homeassistant/images/doorbell.png"
```

View File

@ -20,7 +20,7 @@ The `yeelight` component allows you to control your Yeelight Wifi bulbs with Hom
There is currently support for the following device types within Home Assistant:
- **Light** - The yeelight platform for supporting lights.
- **Sensor** - The yeelight platform for supporting sensors. Currenctly only nightlight mode sensor, for ceiling lights.
- **Sensor** - The yeelight platform for supporting sensors. Currently only nightlight mode sensor, for ceiling lights.
### {% linkable_title Example configuration (Automatic) %}
After the lights are connected to the WiFi network and have been detected in Home Assistant, the discovered names will be shown in the `Light` section of the `Overview` view. Add the following lines to your `customize.yaml` file:

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Yahoo Weather Sensor"
title: "Yahoo Weather"
description: "Instructions on how to integrate Yahoo Weather within Home Assistant."
date: 2016-07-06 9:06
sidebar: true
@ -8,11 +8,14 @@ comments: false
sharing: true
footer: true
logo: yahooweather.png
ha_category: Weather
ha_category:
- Weather
- Sensor
ha_release: 0.24
ha_iot_class: Cloud Polling
redirect_from:
- /components/sensor.yweather/
- /components/weather.yweather/
---
<p class='note warning'>

View File

@ -1,25 +1,66 @@
---
layout: page
title: "ZAMG Sensor"
description: "Instructions on how to integrate ZAMG sensors within Home Assistant."
title: "ZAMG"
description: "Instructions on how to integrate ZAMG within Home Assistant."
date: 2016-12-06 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: zamg.png
ha_category: Weather
ha_category:
- Weather
- Sensor
ha_release: 0.35
ha_iot_class: Cloud Polling
redirect_from:
- /components/sensor.zamg/
- /components/weather.zamg/
---
The `zamg` platform uses meteorological details published by the Austrian weather service [Zentralanstalt für Meteorologie und Geodynamik (ZAMG)](https://www.zamg.ac.at).
Only observations for capital cities are publicly available. You can check the list of stations in [CSV format](http://www.zamg.ac.at/ogd).
To add ZAMG to your installation, add the following to your `configuration.yaml` file:
There is currently support for the following device types within Home Assistant:
- **[Weather](#weather)** - Easier to configure but less customizable and doesn't have support for conditions which is a key feature of the `weather` platforms.
- **[Sensor](#sensor)**
## {% linkable_title Weather %}
To add ZAMG weather platform to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
weather:
- platform: zamg
```
{% configuration %}
station_id:
description: The ID number for a supported ZAMG station.
required: false
type: string
name:
description: A name for the weather platform.
required: false
type: string
latitude:
description: "Latitude coordinate to monitor weather of (required if **longitude** is specified)."
required: false
type: float
default: "Defaults to coordinates defined in your `configuration.yaml` file."
longitude:
description: "Longitude coordinate to monitor weather of (required if **latitude** is specified)."
required: false
type: float
default: "Defaults to coordinates defined in your `configuration.yaml` file."
{% endconfiguration %}
## {% linkable_title Sensor %}
To add ZAMG sensor platform to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@ -89,7 +130,3 @@ sensor:
- temperature
- humidity
```
<p class='note'>
This sensor is an alternative to the [`zamg`](/components/weather.zamg/) weather platform. The `zamg` weather platform is easier to configure but less customizable.
</p>

View File

@ -32,8 +32,8 @@ Authentication providers are configured in your `configuration.yaml` under the `
```yaml
homeassistant:
auth_providers:
- type: homeassistant
- type: legacy_api_password
- type: homeassistant
- type: legacy_api_password
```
## {% linkable_title Available auth providers %}
@ -51,7 +51,7 @@ This is the entry in `configuration.yaml` for Home Assistant auth:
```yaml
homeassistant:
auth_providers:
- type: homeassistant
- type: homeassistant
```
If you don't specify any `auth_providers` section in the `configuration.yaml` file then this provider will be set up automatically.
@ -108,13 +108,15 @@ homeassistant:
192.168.0.0/24:
- user1_id
- user2_id
fd00::/8:
"fd00::/8":
- user1_id
- group: system-users
```
First note, `trusted_users` configuration need you use `user id`, you can find it through Configuration -> Users -> View User Detail. The `trusted_users` configuration will not validate the existing of the user, so please make sure you have put in correct user id by yourself.
Second note, a trusted user with an IPv6 address must put the IPv6 address in quotes as shown.
In above example, if user try to access Home Assistant from 192.168.0.1, they will have only one user available to choose. They will have two users available if access from 192.168.0.38 (from 192.168.0.0/24 network). If they access from 192.168.10.0/24 network, they can choose from all available users (non-system and active users).
Specially, you can use `group: GROUP_ID` to assign all users in certain `user group` to be available to choose. Group and users can be mix and match.

View File

@ -10,19 +10,8 @@
</div>
{%- assign file_parts = page.url | split: '/' | last | split: '.' -%}
{%- if file_parts.size == 2 -%}
{%- assign is_platform = true -%}
{%- assign imp_name = file_parts[1] -%}
{%- assign imp_url = imp_name | prepend: '/components/' | append: '/' -%}
{%- assign parent_name = file_parts[0] -%}
{%- assign parent_url = parent_name | prepend: '/components/' | append: '/' -%}
{%- assign parent_component = components | where: 'url', imp_url | first -%}
{%- else -%}
{%- assign is_platform = false -%}
{%- assign imp_name = file_parts | first -%}
{%- assign imp_url = imp_name | prepend: '/components/' | append: '/' -%}
{%- endif -%}
{%- assign imp_name = file_parts | first -%}
{%- assign imp_url = imp_name | prepend: '/components/' | append: '/' -%}
{%- if page.ha_iot_class -%}
<div class='section'>
@ -62,66 +51,6 @@
Source: <a href='{{github_main_repo}}{{imp_url}}'>{{imp_url}}</a>
</div>
{%- if is_platform and parent_name != 'sensor' -%}
<div class='section'>
This is a platform for
<a href='{{parent_component.url}}'>the {{parent_component.title}} component</a>.
</div>
{%- elsif is_platform == false and imp_name != 'ifttt' -%}
{%- assign platforms_found = false -%}
{%- for component in components -%}
{%- if component.url != page.url -%}
{%- assign comp_imp_name = component.url | split: '/' | last | split: '.' | first -%}
{%- if comp_imp_name == imp_name %}
{%- unless platforms_found -%}
{%- assign platforms_found = true -%}
<h1 class='title delta'>Platforms</h1>
<ul class='divided'>
{%- endunless -%}
<li><a href='{{component.url}}'>
{{component.title}}
</a></li>
{% endif -%}
{%- endif -%}
{%- endfor -%}
{%- if platforms_found -%}
</ul>
{%- endif -%}
{%- endif -%}
{%- assign related_found = false -%}
{%- for component in components -%}
{%- if component.url != page.url -%}
{%- assign comp_file_parts = component.url | split: '/' | last | split: '.' -%}
{%- if comp_file_parts.size == 2 -%}
{%- assign comp_imp_name = comp_file_parts | last -%}
{%- else -%}
{%- assign comp_imp_name = comp_file_parts | first -%}
{%- endif -%}
{%- if comp_imp_name == imp_name -%}
{%- unless related_found -%}
{%- assign related_found = true -%}
<div class='section'>
<h1 class='title delta'>Related components</h1>
<ul class='divided'>
{%- endunless -%}
<li><a href='{{component.url}}'>
{{component.title}}
</a></li>
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{%- if related_found -%}
</ul>
</div>
{%- endif -%}
{%- if page.ha_category.first -%}
<div class='section'>
<h1 class="title delta">Categories</h1>

View File

@ -19,6 +19,9 @@ It's time for release 0.91 and this release is all about streaming cameras. Home
Thanks to [@hunterjm] for all this work on this! ❤️ Check the latest release of the [Home Assistant podcast](https://hasspodcast.io/home-assistant-podcast-47-0-91-and-streaming-cameras-everywhere-with-jason/) for an interview with [@hunterjm] about streams in Home Assistant.
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Love the new streaming service in <a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw">@home_assistant</a> 0.91!<br>Five vastly different techs in collab! &lt;3 <a href="https://t.co/Qk9rC3Uooi">pic.twitter.com/Qk9rC3Uooi</a></p>&mdash; Torbjörn Söderberg (@tubstr) <a href="https://twitter.com/tubstr/status/1113845749492662274?ref_src=twsrc%5Etfw">April 4, 2019</a>
</blockquote>
We're still in the process of updating more cameras to support the stream component. If you want to try it today, the easiest approach is to configure a [generic camera][generic docs] with a `stream_source` or buy a camera that supports the standard ONVIF protocol.
A BIG shout to [@awarecan], who has migrated our CI infrastructure to [CircleCI](https://www.circleci.com) and [Codecov](https://codecov.io/). CircleCI's advanced caching and code splitting controls has speed up tests significantly. Codecov tracks our code coverage and generates detailed reports for each contribution to see how well it is tested.
@ -66,6 +69,40 @@ If you run hass.io on an Intel NUC and haven't seen it yet, check out the VS Cod
- Add support for Tfiac Climate component ([@fredrike] - [#21823]) ([tfiac docs]) (new-platform)
- Add switches to control Daikin Airbase zones ([@fredrike] - [#22417]) ([daikin docs]) (new-platform)
## {% linkable_title Release 0.91.1 - April 4 %}
- Change URL handling ([@pvizeli] - [#22713]) ([hassio docs])
- fix device class lookup for binary sensors ([@dmulcahey] - [#22724]) ([zha docs])
- Fix ingress routing with / ([@pvizeli] - [#22728]) ([hassio docs])
- Fix chunk streaming ([@pvizeli] - [#22730]) ([hassio docs])
- Fix incorrect "Unavailable" Ambient sensors ([@bachya] - [#22734]) ([ambient_station docs])
- Bump aioambient to 0.2.0 ([@bachya] - [#22736]) ([ambient_station docs])
- Update Foscam stream for newer models ([@cwhits] - [#22744]) ([foscam docs])
- use the input stream codec as the template for the output streams ([@hunterjm] - [#22747]) ([stream docs])
- fixes configuration flow #22706 ([@fredrike] - [#22754]) ([daikin docs])
[#22713]: https://github.com/home-assistant/home-assistant/pull/22713
[#22724]: https://github.com/home-assistant/home-assistant/pull/22724
[#22728]: https://github.com/home-assistant/home-assistant/pull/22728
[#22730]: https://github.com/home-assistant/home-assistant/pull/22730
[#22734]: https://github.com/home-assistant/home-assistant/pull/22734
[#22736]: https://github.com/home-assistant/home-assistant/pull/22736
[#22744]: https://github.com/home-assistant/home-assistant/pull/22744
[#22747]: https://github.com/home-assistant/home-assistant/pull/22747
[#22754]: https://github.com/home-assistant/home-assistant/pull/22754
[@bachya]: https://github.com/bachya
[@cwhits]: https://github.com/cwhits
[@dmulcahey]: https://github.com/dmulcahey
[@fredrike]: https://github.com/fredrike
[@hunterjm]: https://github.com/hunterjm
[@pvizeli]: https://github.com/pvizeli
[ambient_station docs]: /components/ambient_station/
[daikin docs]: /components/daikin/
[foscam docs]: /components/foscam/
[hassio docs]: /components/hassio/
[stream docs]: /components/stream/
[zha docs]: /components/zha/
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.

View File

@ -68,15 +68,6 @@ Support for these components is provided by the Home Assistant community.
</div>
</div>
{% comment %}
## Pages without categories
{%- for component in components -%}
{% unless component.ha_category %}
<p>{{ component.title }}</p>
{% endunless %}
{%- endfor -%}
{% endcomment %}
<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mustache.js/2.3.0/mustache.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vanilla-lazyload/10.17.0/lazyload.min.js"></script>