mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-22 16:56:50 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
152c7a5f54
@ -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.
|
||||
|
@ -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` %}
|
||||
|
@ -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.
|
||||
|
@ -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"}'
|
||||
```
|
@ -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 -.
|
||||
|
@ -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:
|
||||
|
@ -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.
|
@ -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)
|
||||
|
@ -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.
|
@ -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
|
||||
```
|
@ -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:
|
||||
|
||||
|
@ -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>
|
@ -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"
|
||||
```
|
@ -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).
|
||||
|
@ -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>
|
@ -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 |
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
```
|
@ -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 %}
|
@ -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.
|
@ -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
|
||||
```
|
@ -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 %}
|
@ -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).
|
@ -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.
|
@ -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.
|
||||
|
@ -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 %}
|
||||
|
||||
|
@ -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.
|
@ -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>
|
@ -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>
|
@ -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"
|
||||
```
|
@ -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:
|
||||
|
@ -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'>
|
||||
|
@ -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>
|
||||
|
@ -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.
|
||||
|
@ -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 -%}
|
||||
|
||||
{%- 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>
|
||||
|
@ -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! <3 <a href="https://t.co/Qk9rC3Uooi">pic.twitter.com/Qk9rC3Uooi</a></p>— 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.
|
||||
|
@ -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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user