Merge branch 'master' into next

Conflicts:
	source/getting-started/troubleshooting-configuration.markdown
This commit is contained in:
Paulus Schoutsen 2016-01-29 22:51:56 -08:00
commit a4a1edf5bd
34 changed files with 241 additions and 90 deletions

View file

@ -1,7 +1,7 @@
---
layout: component
title: "MQTT Alarm Control Panel"
description: "Instructions how to integrate MQTT alarms into Home Assistant."
description: "Instructions how to integrate MQTT capable Alarm Panels into Home Assistant."
date: 2015-09-14 19:10
sidebar: true
comments: false
@ -11,8 +11,19 @@ logo: mqtt.png
ha_category: Alarm
---
The `mqtt` alarm panel platform enables the possibility to control MQTT capable alarm panels. The Alarm icon will change state after receiving a new state from `state_topic`. If these messages are published with *RETAIN* flag, the MQTT alarm panel will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state will be `unknown`.
This platform enables the possibility to control an MQTT alarm. The alarm will only change state after receiving the a new state from `state_topic`. If these messages are published with RETAIN flag, the MQTT alarm will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state will be `unknown`.
The component will accept the following states from your Alarm Panel (in lower case):
- 'armed'
- 'armed_home'
- 'armed_away'
- 'pending'
- 'triggered'
The component is able to control your Alarm Panel by publishing to the `command_topic` when a user interacts with the Home Assistant frontend.
To enable this platform, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
@ -32,11 +43,10 @@ Configuration variables:
- **state_topic** (*Required*): The MQTT topic subscribed to receive state updates.
- **command_topic** (*Required*): The MQTT topic to publish commands to change the alarm state.
- **name** (*Optional*): The name of the alarm. Default is 'MQTT Alarm'.
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0. This QoS will also be used to publishing messages.
- **payload_disarm** (*Optional*): The payload do disarm alarm. Default is "DISARM".
- **payload_arm_home** (*Optional*): The payload to set armed-home mode. Default is "ARM_HOME".
- **payload_arm_away** (*Optional*): The payload to set armed-away mode. Default is "ARM_AWAY".
- **payload_disarm** (*Optional*): The payload do disarm your Alarm Panel. Default is "DISARM".
- **payload_arm_home** (*Optional*): The payload to set armed-home mode on your Alarm Panel. Default is "ARM_HOME".
- **payload_arm_away** (*Optional*): The payload to set armed-away mode on your Alarm Panel. Default is "ARM_AWAY".
- **code** (*Optional*): If defined, specifies a code to enable or disable the alarm in the frontend.

View file

@ -22,7 +22,7 @@ binary_sensor:
command: cat /proc/sys/net/ipv4/ip_forward
name: 'IP4 forwarding'
payload_on: "1"
payload_of: "0"
payload_off: "0"
value_template: '{% raw %}{{ value.x }}{% endraw %}'
```
@ -46,10 +46,10 @@ Check the state of an [SickRage](https://github.com/sickragetv/sickrage) instanc
# Example configuration.yaml entry
binary_sensor:
platform: command_sensor
command: netstat -na | find "33322" | find /c "LISTENING" > nul && (Echo 1 ) || (Echo 0)
command: netstat -na | find "33322" | find /c "LISTENING" > nul && (echo "Running") || (echo "Not running")
name: 'sickragerunning'
payload_on: "1"
payload_of: "0"
payload_on: "Running"
payload_off: "Not running"
```
### {% linkable_title Check RasPlex %}

View file

@ -12,7 +12,7 @@ ha_category: Binary Sensor
---
This `mqtt` binary sensor implementation uses the MQTT message payload as the sensor value. If messages in this state_topic are published with *RETAIN* flag, the sensor will receive an instant update with the last known value. Otherwise, the initial state will be off.
The `mqtt` binary sensor platform uses the MQTT message payload as the sensor value. If messages in this `state_topic` are published with *RETAIN* flag, the sensor will receive an instant update with the last known value. Otherwise, the initial state will be off.
To use your MQTT binary sensor in your installation, add the following to your `configuration.yaml` file:
@ -24,7 +24,7 @@ binary_sensor:
name: "MQTT Sensor"
qos: 0
payload_on: "ON"
payload_of: "OFF"
payload_off: "OFF"
value_template: '{% raw %}{{ value.x }}{% endraw %}'
```

View file

@ -11,16 +11,23 @@ logo: http.png
ha_category: "Other"
---
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.
```yaml
# Example configuration.yaml entry
http:
# Optional, protect Home Assistant with a password
api_password: XXX
# Optional, disable caching and load unvulcanized assets
api_password: YOUR_PASSWORD
server_port: 12345
development: 1
# Optional, serve Home Assistant over a secure connection
ssl_certificate: /etc/letsencrypt/live/hass.example.com/fullchain.pem
ssl_key: /etc/letsencrypt/live/hass.example.com/privkey.pem
```
Configuration variables:
- **api_password** (*Optional*): Protect Home Assistant with a password
- **server_port** (*Optional*): Let you set a port to use. Defaults to 8123.
- **development** (*Optional*): Disable caching and load unvulcanized assets. Useful for Frontend development.
- **ssl_certificate** (*Optional*): Path to your TLS/SSL certificate to serve Home Assistant over a secure connection.
- **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection.

View file

@ -11,16 +11,23 @@ logo: home-assistant.png
ha_category: Automation
---
The input boolean component allows the user to define boolean values that can be controlled via the frontend and can be used within conditions of automation. This can for example be used to disable or enable certain automations.
The `input_boolean` component allows the user to define boolean values that can be controlled via the frontend and can be used within conditions of automation. This can for example be used to disable or enable certain automations.
```yaml
# Example configuration.yaml entry
input_boolean:
notify_home:
# Optional, friendly name of entry
name: Notify when someome arrives home
# Optional, value when Home Assistant starts
initial: off
# Optional, icon for entry
icon: mdi:car
```
Configuration variables:
- **[alias]** (*Required*): Alias for the input.
- **name** (*Optional*): Friendly name of the input.
- **initial** (*Optional*): Initial value when Home Assistant starts.
- **icon** (*Optional*): Icon for entry.
Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`.

View file

@ -33,9 +33,9 @@ light:
brightness_command_topic: "office/rgb1/brightness/set"
rgb_state_topic: "office/rgb1/rgb/status"
rgb_command_topic: "office/rgb1/rgb/set"
state_value_format: "{% raw %}{{ value_json.state }}{% endraw %}"
brightness_value_format: "{% raw %}{{ value_json.brightness }}{% endraw %}"
rgb_value_format: "{% raw %}{{ value_json.rgb | join(',') }}{% endraw %}"
state_value_template: "{% raw %}{{ value_json.state }}{% endraw %}"
brightness_value_template: "{% raw %}{{ value_json.brightness }}{% endraw %}"
rgb_value_template: "{% raw %}{{ value_json.rgb | join(',') }}{% endraw %}"
qos: 0
payload_on: "ON"
payload_off: "OFF"
@ -66,9 +66,9 @@ Configuration variables:
- **brightness_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's brightness.
- **rgb_state_topic** (*Optional*): The MQTT topic subscribed to receive RGB state updates.
- **rgb_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's RGB state.
- **state_value_format** (*Optional*): Defines a [template](/getting-started/templating/) to extract the state value.
- **brightness_value_format** (*Optional*): Defines a [template](/getting-started/templating/) to extract the brightness value.
- **rgb_value_format** (*Optional*): Defines a [template](/getting-started/templating/) to extract the RGB value.
- **state_value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract the state value.
- **brightness_value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract the brightness value.
- **rgb_value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract the RGB value.
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".
- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF".

View file

@ -25,7 +25,7 @@ media_player:
platform: plex
```
You may also need to create the file `plex.conf`.
In case discovery does not work (GDM disabled or non-local plex server), you can create `~/.homeassistant/plex.conf` manually.
```json
{"IP_ADDRESS:PORT": {"token": "TOKEN"}}
@ -33,6 +33,6 @@ You may also need to create the file `plex.conf`.
- **IP_ADDRESS** (*Required*): IP address of the Plex Media Server
- **PORT** (*Required*): Port where Plex is listening. Default is 32400
- **TOKEN** (*Optional*): Only if authentication is required. Set to `None` (without quotes) otherwise.
- **TOKEN** (*Optional*): Only if authentication is required. Set to `null` (without quotes) otherwise.
At this moment, the Plex platform only supports one Plex Media Server.

View file

@ -26,6 +26,7 @@ mqtt:
username: USERNAME
password: PASSWORD
certificate: /home/paulus/dev/addtrustexternalcaroot.crt
protocol: 3.1
```
Configuration variables:
@ -37,6 +38,7 @@ Configuration variables:
- **username** (*Optional*): The username to use with your MQTT broker.
- **password** (*Optional*): The corresponding password for the username to use with your MQTT broker.
- **certificate** (*Optional*): Certificate to use to encrypt communication with the broker.
- **protocol** (*Optional*): Protocol to use: 3.1 or 3.1.1. By default it connects with 3.1.1 and falls back to 3.1 if server does not support 3.1.
## {% linkable_title Picking a broker %}
@ -57,6 +59,10 @@ mqtt:
password: PASSWORD
```
<p class='note warning'>
There is an issue with the Mosquitto package included in Ubuntu 14.04 LTS. Specify `protocol: 3.1` in your MQTT configuration to work around this issue.
</p>
#### {% linkable_title Public MQTT %}
The Mosquitto project runs a [public broker](http://test.mosquitto.org). Easiest to setup but there is 0 privacy as all messages are public. Use this only for testing purposes and not for real tracking of your devices.
@ -66,7 +72,7 @@ mqtt:
broker: test.mosquitto.org
port: 1883
# Optional, if you want encryption
# Optional, replace port 1883 with following if you want encryption
# (doesn't really matter because broker is public)
port: 8883
# Download certificate from http://test.mosquitto.org/ssl/mosquitto.org.crt

View file

@ -48,7 +48,7 @@ If using targets, your own account's email address functions as 'send to all dev
"message": "A message for many people",
"target": [
"device/telephone",
"contact/hello@example.com",
"email/hello@example.com",
"channel/my_home"
]
}

View file

@ -47,7 +47,7 @@ Configuration variables:
### {% linkable_title Get API and Secret Key %}
To get your API credentials, you have to declare a new application in the [NetAtmo Developer Page](https://dev.netatmo.com/) Sign in using your username and password from your regular NetAtmo account.
To get your API credentials, you have to declare a new application in the [NetAtmo Developer Page](https://dev.netatmo.com/). Sign in using your username and password from your regular NetAtmo account.
Click on 'Create an App' at the top of the page.
<p class='img'>
@ -67,7 +67,7 @@ That's it. You can copy and paste your new API and secret keys in your Home Assi
### {% linkable_title Find your modules name %}
You can find your modules name in your [online NetAtmo account] (https://my.netatmo.com/app/station) . These names can be found and changed in parameters (See screenshot)
You can find your modules name in your [online NetAtmo account](https://my.netatmo.com/app/station). These names can be found and changed in parameters (See screenshot)
You have to provide these name in your Home Assistant configuration file.
<p class='img'>

View file

@ -23,6 +23,8 @@ switch:
kitchen_light:
oncmd: switch_command on kitchen
offcmd: switch_command off kitchen
statecmd: query_command kitchen
value_template: '{% raw %}{{ value == "online" }}{% endraw %}'
```
Configuration variables:
@ -31,6 +33,8 @@ Configuration variables:
- **entry** (*Required*): Name of the command switch. Multiple entries are possible.
- **oncmd** (*Required*): The action to take for on.
- **offcmd** (*Required*): The action to take for off.
- **statecmd** (*Optional*): If given, this command will be run. Returning a result code `0` will indicate that the switch is on.
- **value_template** (*Optional*): If specified, statecmd will ignore the result code of the command but the template evaluating to `true` will indicate the switch is on.
## {% linkable_title Examples %}

View file

@ -21,9 +21,7 @@ zone:
name: School
latitude: 32.8773367
longitude: -117.2494053
# Optional radius in meters (default: 100)
radius: 250
# Optional icon to show instead of name
icon: mdi:school
zone 2:
@ -40,10 +38,19 @@ zone 3:
icon: mdi:account-multiple
```
Configuration variables:
- **name** (*Optional*): Friendly name of entry.
- **latitude** (*Required*): Latitude of the center point of the zone.
- **longitude** (*Required*): Longitude of the center point of the zone.
- **radius** (*Optional*): Optional radius in meters. Defaults to 100 meters.
- **icon** (*Optional*): Optional icon to show instead of name.
#### {% linkable_title Home zone %}
If no configuration is given, the zone component will create a zone for home. This zone will use location given in the `configuration.yaml` file and have a radius of 100 meters. To override this, create a zone configuration and name it 'Home'.
If no configuration is given, the `zone` component will create a zone for home. This zone will use location given in the `configuration.yaml` file and have a radius of 100 meters. To override this, create a zone configuration and name it **'Home'**.
#### {% linkable_title Icons %}
It is preferred to pick an icon to use for your zone. Pick any zone that you can find on [materialdesignicons.com](https://materialdesignicons.com/) and prefix the name with `mdi:`. For example `mdi:school`, `mdi:worker`, `mdi:home`, `mdi:cart`, `mdi:castle`.
It is preferred to pick an icon to use for your zone. Pick any zone that you can find on [materialdesignicons.com](https://materialdesignicons.com/) and prefix the name with `mdi:`. For example `mdi:school`, `mdi:worker`, `mdi:home`, `mdi:cart`, or `mdi:castle`.