mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-28 11:47:00 +00:00
Merge remote-tracking branch 'balloob/next' into zwave-unfork
This commit is contained in:
commit
1a27052cdf
@ -15,7 +15,7 @@ The `mqtt` alarm panel platform enables the possibility to control MQTT capable
|
|||||||
|
|
||||||
The component will accept the following states from your Alarm Panel (in lower case):
|
The component will accept the following states from your Alarm Panel (in lower case):
|
||||||
|
|
||||||
- 'armed'
|
- 'disarmed'
|
||||||
- 'armed_home'
|
- 'armed_home'
|
||||||
- 'armed_away'
|
- 'armed_away'
|
||||||
- 'pending'
|
- 'pending'
|
||||||
|
@ -193,7 +193,7 @@ automation 3:
|
|||||||
|
|
||||||
#### {% linkable_title Zone trigger %}
|
#### {% linkable_title Zone trigger %}
|
||||||
|
|
||||||
Zone triggers can trigger when an entity is entering or leaving the zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/components/device_tracker.owntracks/).
|
Zone triggers can trigger when an entity is entering or leaving the zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/components/device_tracker.owntracks/) as well as the [iCloud platform](/components/device_tracker.icloud/).
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
automation:
|
automation:
|
||||||
@ -310,7 +310,7 @@ Valid values for `weekday` are (`sun`, `mon`, `tue`, `wed`, `thu`, `fri` & `sat`
|
|||||||
|
|
||||||
#### {% linkable_title Zone condition %}
|
#### {% linkable_title Zone condition %}
|
||||||
|
|
||||||
Zone conditions test if an entity is in a certain zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/components/device_tracker.owntracks/).
|
Zone conditions test if an entity is in a certain zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/components/device_tracker.owntracks/) as well as the [iCloud platform](/components/device_tracker.icloud/).
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
automation:
|
automation:
|
||||||
|
@ -37,7 +37,6 @@ Accessing the URL http://IP_ADDRESS/digital/PIN_NUMBER should give you the state
|
|||||||
```bash
|
```bash
|
||||||
$ curl -X GET http://10.100.0.157/digital/9
|
$ curl -X GET http://10.100.0.157/digital/9
|
||||||
{"return_value": 0, "id": "office1", "name": "Office", "connected": true}
|
{"return_value": 0, "id": "office1", "name": "Office", "connected": true}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
<p class='note'>
|
<p class='note'>
|
||||||
|
@ -60,9 +60,19 @@ Check if [RasPlex](http://www.rasplex.com/) is `online`.
|
|||||||
```yaml
|
```yaml
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
platform: command_line
|
platform: command_line
|
||||||
command: 'ping rasplex.local -c 1 | grep "1 received" | wc -l'
|
command: 'ping -c 1 rasplex.local | grep "1 received" | wc -l'
|
||||||
name: 'is_rasplex_online'
|
name: 'is_rasplex_online'
|
||||||
payload_on: 1
|
payload_on: 1
|
||||||
payload_off: 0
|
payload_off: 0
|
||||||
```
|
```
|
||||||
|
|
||||||
|
An alternative solution could look like this:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
binary_sensor:
|
||||||
|
platform: command_line
|
||||||
|
name: Printer
|
||||||
|
command: ping -c 1 192.168.1.10 &> /dev/null && echo success || echo fail
|
||||||
|
payload_on: "success"
|
||||||
|
payload_off: "fail"
|
||||||
|
```
|
||||||
|
@ -13,4 +13,21 @@ Binary sensors are gathering information about state of switches, contacts, pins
|
|||||||
|
|
||||||
Knowing that there are only two states allows Home Assistant to represent the sensor better in the frontend.
|
Knowing that there are only two states allows Home Assistant to represent the sensor better in the frontend.
|
||||||
|
|
||||||
|
Most binary sensors support the `SENSOR_CLASSES` which let you specify the type of your sensor. The following types are supported:
|
||||||
|
|
||||||
|
- **None**: Generic on/off
|
||||||
|
- **opening**: Door, window, etc
|
||||||
|
- **motion**: Motion sensor
|
||||||
|
- **gas'**: CO, CO2, etc
|
||||||
|
- **smoke'**: Smoke detector
|
||||||
|
- **moisture**: Specifically a wetness sensor
|
||||||
|
- **light**: Lightness threshold
|
||||||
|
- **power**: Power, over-current, etc
|
||||||
|
- **safety**: Generic on=unsafe, off=safe
|
||||||
|
- **heat**: On means hot (or too hot)
|
||||||
|
- **cold**: On means cold (or too cold)
|
||||||
|
- **moving**: On means moving, Off means stopped
|
||||||
|
- **sound**: On means sound detected, Off means no sound
|
||||||
|
- **vibration**: On means vibration detected, Off means no vibration
|
||||||
|
|
||||||
For analog sensors please check the [component overview](https://home-assistant.io/components/#sensor).
|
For analog sensors please check the [component overview](https://home-assistant.io/components/#sensor).
|
||||||
|
@ -34,4 +34,7 @@ Configuration variables:
|
|||||||
- **name** *Optional*: This parameter allows you to override the name of your camera.
|
- **name** *Optional*: This parameter allows you to override the name of your camera.
|
||||||
- **username** *Required*: The username for accessing your camera.
|
- **username** *Required*: The username for accessing your camera.
|
||||||
- **password** *Required*: The password for accessing your camera.
|
- **password** *Required*: The password for accessing your camera.
|
||||||
|
- **Note**: There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.
|
||||||
|
|
||||||
|
### {% linkable_title Control Foscam PTZ (Pan/Tilt/Zoom) - Home/Away %}
|
||||||
|
Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry.
|
||||||
|
@ -23,9 +23,12 @@ To integrate Owntracks in Home Assistant, add the following section to your `con
|
|||||||
# Example configuration.yaml entry
|
# Example configuration.yaml entry
|
||||||
device_tracker:
|
device_tracker:
|
||||||
platform: owntracks
|
platform: owntracks
|
||||||
|
max_gps_accuracy: 200
|
||||||
```
|
```
|
||||||
|
|
||||||
There is no further configuration needed for tracking Owntracks devices.
|
Configuration variables:
|
||||||
|
|
||||||
|
- **max_gps_accuracy** (*Optional*): Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account.
|
||||||
|
|
||||||
### {% linkable_title Using Owntracks with other device trackers %}
|
### {% linkable_title Using Owntracks with other device trackers %}
|
||||||
Owntracks can also be used with other device trackers, such as [Nmap](/components/device_tracker.nmap_scanner/) or [Netgear](/components/device_tracker.netgear/). To do this, fill in the `mac` field to the Owntracks entry in `known_devices.yaml` with the MAC address of the device you want to track. This way the state of the device will be determined by the source that reported last.
|
Owntracks can also be used with other device trackers, such as [Nmap](/components/device_tracker.nmap_scanner/) or [Netgear](/components/device_tracker.netgear/). To do this, fill in the `mac` field to the Owntracks entry in `known_devices.yaml` with the MAC address of the device you want to track. This way the state of the device will be determined by the source that reported last.
|
||||||
|
@ -19,7 +19,8 @@ This device tracker needs SNMP to be enabled on the router.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
OID examples:
|
OID examples:
|
||||||
- Microtik: 1.3.6.1.4.1.14988.1.1.1.2.1.1 (confirmed)
|
- Mikrotik: 1.3.6.1.4.1.14988.1.1.1.2.1.1 (confirmed, unknown RouterOS version/model)
|
||||||
|
- Mikrotik: 1.3.6.1.2.1.4.22.1.2 (confirmed, RouterOS 6.x on RB2011)
|
||||||
- Aruba: 1.3.6.1.4.1.14823.2.3.3.1.2.4.1.2 (untested)
|
- Aruba: 1.3.6.1.4.1.14823.2.3.3.1.2.4.1.2 (untested)
|
||||||
- BiPAC 7800DXL: 1.3.6.1.2.1.17.7.1.2.2.1.1 (confirmed on firmware 2.32e)
|
- BiPAC 7800DXL: 1.3.6.1.2.1.17.7.1.2.2.1.1 (confirmed on firmware 2.32e)
|
||||||
|
|
||||||
|
@ -33,3 +33,6 @@ Configuration variables:
|
|||||||
- **http_id** (*Required*): The value can be obtained by logging in to the Tomato admin interface and search for `http_id` in the page source code.
|
- **http_id** (*Required*): The value can be obtained by logging in to the Tomato admin interface and search for `http_id` in the page source code.
|
||||||
|
|
||||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
||||||
|
|
||||||
|
A description of the API s available in this [Tomato API](http://paulusschoutsen.nl/blog/2013/10/tomato-api-documentation/) blog post.
|
||||||
|
|
||||||
|
35
source/_components/discoverable.markdown
Normal file
35
source/_components/discoverable.markdown
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: "Discoverable"
|
||||||
|
description: "Instructions how to setup the discoverable component with Home Assistant."
|
||||||
|
date: 2016-03-01 07:00
|
||||||
|
sidebar: true
|
||||||
|
comments: false
|
||||||
|
sharing: true
|
||||||
|
footer: true
|
||||||
|
---
|
||||||
|
|
||||||
|
The Home Assistant discovery protocol is a lightweight feature that introduces support for Home Assistant servers to be discoverable. This will allow [Home Assistant instances](https://github.com/balloob/micropython-home-assistant) running with [MicroPython](https://micropython.org/) to get started without any required configuration (Example from the [MicroPython Home Assistant](https://github.com/balloob/micropython-home-assistant) documentation):
|
||||||
|
|
||||||
|
```python
|
||||||
|
from homeassistant.discovery import get_instance()
|
||||||
|
|
||||||
|
hass = get_instance()
|
||||||
|
|
||||||
|
for state in hass.states():
|
||||||
|
print(state)
|
||||||
|
```
|
||||||
|
|
||||||
|
To enable `discovery` in your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yml entry
|
||||||
|
discoverable:
|
||||||
|
expose_password: yes
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Configuration variables:
|
||||||
|
|
||||||
|
- **expose_password** (*Optional*): It is up to the user to expose the password in the discovery response (Default: off). If password not exposed, uHA instances will have to provide it (`get_instance('my password')`).
|
||||||
|
|
@ -14,21 +14,14 @@ ha_iot_class: "Assumed State"
|
|||||||
|
|
||||||
`limitlessled` can control your [LimitlessLED](http://www.limitlessled.com/) lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, MiLight, LEDme, dekolight or iLight.
|
`limitlessled` can control your [LimitlessLED](http://www.limitlessled.com/) lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, MiLight, LEDme, dekolight or iLight.
|
||||||
|
|
||||||
### Setup
|
### {% linkable_title Setup %}
|
||||||
|
|
||||||
Before configuring Home Assistant, make sure you can control your bulbs with the Milight mobile application. Discover your bridge(s) IP. You can do this via your router, or a mobile application like Fing ([android](https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=en), [itunes](https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8)). Keep in mind that LimitlessLED bulbs are controlled via groups. You cannot control an individual bulb via the bridge, unless it is in a group by itself. Note that you can assign an `rgbw` and `white` group to the same group number, effectively allowing 8 groups (4 `rgbw` and 4 `white`) per bridge.
|
Before configuring Home Assistant, make sure you can control your bulbs or LEDs with the MiLight mobile application. Discover your bridge(s) IP address. You can do this via your router or a mobile application like Fing ([android](https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=en) or [itunes](https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8)). Keep in mind that LimitlessLED bulbs are controlled via groups. You can not control an individual bulb via the bridge, unless it is in a group by itself. Note that you can assign an `rgbw` and `white` group to the same group number, effectively allowing 8 groups (4 `rgbw` and 4 `white`) per bridge.
|
||||||
|
|
||||||
To add `limitlessled` to your installation, add the following to your `configuration.yaml` file:
|
To add `limitlessled` to your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
light:
|
# Example configuration.yaml entry
|
||||||
platform: limitlessled
|
|
||||||
bridges:
|
|
||||||
```
|
|
||||||
|
|
||||||
Next, list your bridges and groups. Here's an example. See the next section for a full explanaton of each configuration variable.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
light:
|
light:
|
||||||
platform: limitlessled
|
platform: limitlessled
|
||||||
bridges:
|
bridges:
|
||||||
@ -52,30 +45,31 @@ light:
|
|||||||
name: Living Room & Hall
|
name: Living Room & Hall
|
||||||
```
|
```
|
||||||
|
|
||||||
### Configuration variables
|
Configuration variables:
|
||||||
|
|
||||||
- **bridges** (*Required*): (list)
|
- **bridges** array (*Required*):
|
||||||
- **host** (*Required*): IP address of the device, eg. `192.168.1.32`
|
- **host** (*Required*): IP address of the device, eg. `192.168.1.32`
|
||||||
- **version**: Bridge version (default is `5`). Don't use if you aren't sure.
|
- **version** (*Optional*): Bridge version (default is `5`). Don't use if you aren't sure.
|
||||||
- **port**: Bridge port (default is `8899`). Normally not necessary to specify.
|
- **port** (*Optional*): Bridge port. Defaults to 8899.
|
||||||
- **groups** (*Required*): (list)
|
- **groups** array (*Required*): The list of available groups.
|
||||||
- **number** (*Required*): Group number (`1`-`4`). Corresponds to the group number on the remote.
|
- **number** (*Required*): Group number (`1`-`4`). Corresponds to the group number on the remote.
|
||||||
- **name** (*Required*): Any name you'd like. Must be unique among all configured groups.
|
- **name** (*Required*): Any name you'd like. Must be unique among all configured groups.
|
||||||
- **type**: Type of group. Choose either `rgbw` or `white`. `rgbw` is the default if you don't specify.
|
- **type** (*Optional*): Type of group. Choose either `rgbw` or `white`. `rgbw` is the default if you don't specify this entry.
|
||||||
|
|
||||||
### Properties
|
### {% linkable_title Properties %}
|
||||||
Refer to the [light]({{site_root}}/components/light) documentation for general property usage, but keep in mind the following notes specific to LimitlessLED.
|
|
||||||
|
Refer to the [light]({{site_root}}/components/light/) documentation for general property usage, but keep in mind the following notes specific to LimitlessLED.
|
||||||
|
|
||||||
- **RGBW**
|
- **RGBW**
|
||||||
- *Color*: There are 256 color possibilities along the LimitlessLED color spectrum. Color properties like saturation and lightness can't be used - only hue. The only exception is white (which may be warm or cold depending on the type of RGBW bulb). If you select a color with saturation or lightness, Home Assistant will calculate the nearest valid LimitlessLED color.
|
- *Color*: There are 256 color possibilities along the LimitlessLED color spectrum. Color properties like saturation and lightness can not be used - only Hue can. The only exception is white (which may be warm or cold depending on the type of RGBW bulb). If you select a color with saturation or lightness, Home Assistant will calculate the nearest valid LimitlessLED color.
|
||||||
- *Brightness*: There are 25 brightness steps.
|
- *Brightness*: There are 25 brightness steps.
|
||||||
- **White**
|
- **White**
|
||||||
- As you can observe on the Milight mobile application, you cannot select a specific brightness or temperature - you can only step each property up or down. There is no indication of which step you are on. This restriction, combined with the unreliable nature of LimitlessLED transmissions, means that setting white bulb properties is done on a best-effort basis. The only very reliable settings are the minimum and maximum of each property.
|
- As you can observe on the MiLight mobile application, you can not select a specific brightness or temperature - you can only step each property up or down. There is no indication of which step you are on. This restriction, combined with the unreliable nature of LimitlessLED transmissions, means that setting white bulb properties is done on a best-effort basis. The only very reliable settings are the minimum and maximum of each property.
|
||||||
- *Temperature*: There are 10 temperature steps.
|
- *Temperature*: There are 10 temperature steps.
|
||||||
- *Brightness*: There are 10 brightness steps.
|
- *Brightness*: There are 10 brightness steps.
|
||||||
- **Transitions**
|
- **Transitions**
|
||||||
- If a transition time is set, the group will transition between the current settings and the target settings for the duration specified. Transitions from or to white are not possible - the color will change immediately.
|
- If a transition time is set, the group will transition between the current settings and the target settings for the duration specified. Transitions from or to white are not possible - the color will change immediately.
|
||||||
|
|
||||||
### Initialization & Synchronization
|
### {% linkable_title Initialization & Synchronization %}
|
||||||
|
|
||||||
When starting Home Assistant, your LimitlessLED bulbs will be set to known default values. This ensures a consistent user interface and uninterrupted turning on/off. If you control your LimitlessLED lights via the Milight mobile application or other means while Home Assistant is running, Home Assistant can not track those changes and you may observe unexpected behavior. This is due to a LimitlessLED limitation.
|
When starting Home Assistant, your LimitlessLED bulbs will be set to known default values. This ensures a consistent user interface and uninterrupted turning on/off. If you control your LimitlessLED lights via the MiLight mobile application or other means while Home Assistant is running, Home Assistant can not track those changes and you may observe unexpected behavior. This is due to a LimitlessLED limitation.
|
||||||
|
@ -50,3 +50,13 @@ Turns one or multiple lights off.
|
|||||||
| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. Else targets all.
|
| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. Else targets all.
|
||||||
| `transition` | no | Integer that represents the time the light should take to transition to the new state.
|
| `transition` | no | Integer that represents the time the light should take to transition to the new state.
|
||||||
|
|
||||||
|
### {% linkable_title Service `light.toggle` %}
|
||||||
|
|
||||||
|
Toggles the state of one or multiple lights using [groups]({{site_root}}/components/group/).
|
||||||
|
|
||||||
|
*Note*: If `light.toggle` is used for a group of lights, it will toggle the individual state of each light.
|
||||||
|
|
||||||
|
| Service data attribute | Optional | Description |
|
||||||
|
| ---------------------- | -------- | ----------- |
|
||||||
|
| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. Else targets all.
|
||||||
|
| `transition` | no | Integer that represents the time the light should take to transition to the new state.
|
||||||
|
@ -69,6 +69,7 @@ Configuration variables:
|
|||||||
- **state_value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract the state 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.
|
- **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.
|
- **rgb_value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract the RGB value.
|
||||||
|
- **brightness_scale** (*Optional*): Defines the maximum brightness value (i.e. 100%) of the MQTT device (defaults to 255).
|
||||||
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
|
- **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_on** (*Optional*): The payload that represents enabled state. Default is "ON".
|
||||||
- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF".
|
- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF".
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
layout: page
|
layout: page
|
||||||
title: "MySensors Light"
|
title: "MySensors Light"
|
||||||
description: "Instructions how to integrate MySensors lights into Home Assistant."
|
description: "Instructions how to integrate MySensors lights into Home Assistant."
|
||||||
date: 2016-02-15 17:37 +0100
|
date: 2016-03-02 18:20 +0100
|
||||||
sidebar: true
|
sidebar: true
|
||||||
comments: false
|
comments: false
|
||||||
sharing: true
|
sharing: true
|
||||||
@ -16,18 +16,20 @@ Integrates MySensors lights into Home Assistant. See the [main component] for co
|
|||||||
|
|
||||||
The following actuator types are supported:
|
The following actuator types are supported:
|
||||||
|
|
||||||
##### MySensors version 1.4 and higher
|
##### MySensors version 1.4
|
||||||
|
|
||||||
S_TYPE | V_TYPE
|
S_TYPE | V_TYPE
|
||||||
---------|--------------
|
---------|--------------
|
||||||
S_DIMMER | V_DIMMER
|
S_DIMMER | V_DIMMER\*, V_LIGHT\*
|
||||||
|
|
||||||
##### MySensors version 1.5 and higher
|
##### MySensors version 1.5 and higher
|
||||||
|
|
||||||
S_TYPE | V_TYPE
|
S_TYPE | V_TYPE
|
||||||
------------|-------------
|
------------|-------------
|
||||||
S_DIMMER | V_PERCENTAGE
|
S_DIMMER | [V_DIMMER\* or V_PERCENTAGE\*], [V_LIGHT\* or V_STATUS\*]
|
||||||
S_RGB_LIGHT | V_RGB
|
S_RGB_LIGHT | V_RGB*, [V_LIGHT\* or V_STATUS\*], [V_DIMMER or V_PERCENTAGE]
|
||||||
|
|
||||||
|
V_TYPES with a star (\*) denotes required V_TYPES. Use either V_LIGHT or V_STATUS and either V_DIMMER or V_PERCENTAGE for an applicable actuator.
|
||||||
|
|
||||||
For more information, visit the [serial api] of MySensors.
|
For more information, visit the [serial api] of MySensors.
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ sharing: true
|
|||||||
footer: true
|
footer: true
|
||||||
logo: telldus_tellstick.png
|
logo: telldus_tellstick.png
|
||||||
ha_category: Light
|
ha_category: Light
|
||||||
|
ha_iot_class: "Assumed State"
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
53
source/_components/lock.mqtt.markdown
Normal file
53
source/_components/lock.mqtt.markdown
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: "MQTT Lock"
|
||||||
|
description: "Instructions how to integrate MQTT locks into Home Assistant."
|
||||||
|
date: 2016-02-28 15:00
|
||||||
|
sidebar: true
|
||||||
|
comments: false
|
||||||
|
sharing: true
|
||||||
|
footer: true
|
||||||
|
logo: mqtt.png
|
||||||
|
ha_category: Lock
|
||||||
|
---
|
||||||
|
|
||||||
|
The `mqtt` lock platform let you control your MQTT enabled locks.
|
||||||
|
|
||||||
|
In an ideal scenario, the MQTT device will have a `state_topic` to publish state changes. If these messages are published with RETAIN flag, the MQTT lock will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state of the switch will be false/unlocked.
|
||||||
|
|
||||||
|
When a `state_topic` is not available, the lock will work in optimistic mode. In this mode, the lock will immediately change state after every command. Otherwise, the lock will wait for state confirmation from device (message from `state_topic`).
|
||||||
|
|
||||||
|
Optimistic mode can be forced, even if state topic is available. Try to enable it, if experiencing incorrect lock operation.
|
||||||
|
|
||||||
|
To enable MQTT locks in your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yml entry
|
||||||
|
lock:
|
||||||
|
platform: mqtt
|
||||||
|
name: Frontdoor
|
||||||
|
state_topic: "home/frontdoor/"
|
||||||
|
command_topic: "home/frontdoor/set"
|
||||||
|
payload_lock: "LOCK"
|
||||||
|
payload_unlock: "UNLOCK"
|
||||||
|
optimistic: false
|
||||||
|
qos: 0
|
||||||
|
retain: true
|
||||||
|
value_template: '{% raw %}{{ value.x }}{% endraw %}'
|
||||||
|
```
|
||||||
|
|
||||||
|
Configuration variables:
|
||||||
|
|
||||||
|
- **name** (*Optional*): The name of the lock. Default is 'MQTT Lock'.
|
||||||
|
- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates.
|
||||||
|
- **command_topic** (*Required*): The MQTT topic to publish commands to change the lock state.
|
||||||
|
- **payload_lock** (*Optional*): The payload that represents enabled/locked state. Default is "LOCK".
|
||||||
|
- **payload_unlock** (*Optional*): The payload that represents disabled/unlocked state. Default is "UNLOCK".
|
||||||
|
- **optimistic** (*Optional*): Flag that defines if lock works in optimistic mode. Default is true if no state topic defined, else false.
|
||||||
|
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
|
||||||
|
- **retain** (*Optional*): If the published message should have the retain flag on or not.
|
||||||
|
- **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract a value from the payload.
|
||||||
|
|
||||||
|
<p class='note warning'>
|
||||||
|
Make sure that your topic match exact. `some-topic/` and `some-topic` are different topics.
|
||||||
|
</p>
|
@ -26,6 +26,7 @@ Steps to configure your Amazon Fire TV stick with Home Assistant:
|
|||||||
- From the main (Launcher) screen, select Settings.
|
- From the main (Launcher) screen, select Settings.
|
||||||
- Select System > About > Network.
|
- Select System > About > Network.
|
||||||
- `pip install firetv[firetv-server]` into a Python 2.x environment
|
- `pip install firetv[firetv-server]` into a Python 2.x environment
|
||||||
|
- If installed on Debian Jessie then the libssl-dev package is needed. Install it with `apt-get install libssl-dev`
|
||||||
- `firetv-server -d <fire tv device IP>:5555`, background the process
|
- `firetv-server -d <fire tv device IP>:5555`, background the process
|
||||||
- Configure Home Assistant as follows:
|
- Configure Home Assistant as follows:
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ To enable command_rollershutter in your installation, add the following to your
|
|||||||
```yaml
|
```yaml
|
||||||
# Example configuration.yaml entry
|
# Example configuration.yaml entry
|
||||||
rollershutter:
|
rollershutter:
|
||||||
- platform: command_rollershutter
|
- platform: command_line
|
||||||
rollershutters:
|
rollershutters:
|
||||||
Kitchen Rollershutter:
|
Kitchen Rollershutter:
|
||||||
upcmd: move_command up kitchen
|
upcmd: move_command up kitchen
|
||||||
|
27
source/_components/scene.hunterdouglas_powerview.markdown
Normal file
27
source/_components/scene.hunterdouglas_powerview.markdown
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: "PowerView Scenes"
|
||||||
|
description: "Instructions how to setup Hunter Douglas PowerView scenes within Home Assistant."
|
||||||
|
date: 2016-03-11 16:00
|
||||||
|
sidebar: true
|
||||||
|
comments: false
|
||||||
|
sharing: true
|
||||||
|
footer: true
|
||||||
|
logo: hunter-douglas-powerview.png
|
||||||
|
ha_category: Organization
|
||||||
|
---
|
||||||
|
|
||||||
|
Implements the [Hunter Douglas PowerView](http://www.hunterdouglas.com/operating-systems/powerview-motorization/support) platform scene control. It queries the PowerView Hub and Home Assistant displays them as scenes.
|
||||||
|
|
||||||
|
Scenes can be activated using the service `scene.turn_on`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
scene:
|
||||||
|
platform: hunterdouglas_powerview
|
||||||
|
address: IP_ADDRESS
|
||||||
|
```
|
||||||
|
|
||||||
|
Configuration variables:
|
||||||
|
|
||||||
|
- **address** (*Required*): IP address of the PowerView Hub, eg. http://192.168.1.10.
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: "Swiss Public Transport"
|
title: "Deutsche Bahn"
|
||||||
description: "Instructions how to integrate timetable data for travelling in Switzerland within Home Assistant."
|
description: "Instructions how to integrate timetable data for travelling in Germany within Home Assistant."
|
||||||
date: 2015-06-02 21:45
|
date: 2015-06-02 21:45
|
||||||
sidebar: true
|
sidebar: true
|
||||||
comments: false
|
comments: false
|
||||||
|
@ -24,12 +24,16 @@ sensor:
|
|||||||
port: PORT
|
port: PORT
|
||||||
username: USERNAME
|
username: USERNAME
|
||||||
password: PASSWORD
|
password: PASSWORD
|
||||||
|
use_tls: true
|
||||||
|
verify_tls: true
|
||||||
```
|
```
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
|
|
||||||
- **host** (*Required*): The IP address or hostname of your mFi controller.
|
- **host** (*Required*): The IP address or hostname of your mFi controller.
|
||||||
- **port** (*Optional*): The port of your mFi controller. Defaults to 6443.
|
- **port** (*Optional*): The port of your mFi controller. Defaults to 6443 for TLS, otherwise 6080.
|
||||||
- **username** (*Required*): The mFi admin username.
|
- **username** (*Required*): The mFi admin username.
|
||||||
- **password** (*Required*): The mFi admin user's password.
|
- **password** (*Required*): The mFi admin user's password.
|
||||||
|
- **use_tls** (*Optional*): If true, use TLS to contact the mFi controller. Defaults to true.
|
||||||
|
- **verify_tls** (*Optional*): Set this to false if your mFi controller has a self-signed certificate. Defaults to true.
|
||||||
|
|
||||||
|
@ -36,6 +36,10 @@ sensor:
|
|||||||
- sum_rain_24
|
- sum_rain_24
|
||||||
module_name2:
|
module_name2:
|
||||||
- temperature
|
- temperature
|
||||||
|
rainmeter_name3:
|
||||||
|
- rain
|
||||||
|
- sum_rain_1
|
||||||
|
- sum_rain_24
|
||||||
```
|
```
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
@ -85,5 +89,5 @@ You have to provide these name in your Home Assistant configuration file.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class='note'>
|
<p class='note'>
|
||||||
The Home Assistant NetAtmo platform has only be tested with the classic indoor and outdoor module. There is no support for the rainmeter and windmeter module at this time because developers does not own these modules.
|
The Home Assistant NetAtmo platform has only be tested with the classic indoor, outdoor module and rainmeter. There is no support for the windmeter module at this time because developers does not own these modules.
|
||||||
</p>
|
</p>
|
||||||
|
@ -18,4 +18,23 @@ To enable RFXtrx sensors in your installation, add the following to your `config
|
|||||||
# Example configuration.yaml entry
|
# Example configuration.yaml entry
|
||||||
sensor:
|
sensor:
|
||||||
platform: rfxtrx
|
platform: rfxtrx
|
||||||
|
automatic_add: True
|
||||||
|
devices:
|
||||||
|
sensor_0502:
|
||||||
|
name: Lving
|
||||||
|
packetid: 0a52080705020095220269
|
||||||
|
data_type: Temperature
|
||||||
|
sensor_0601:
|
||||||
|
name: Bath_Humidity
|
||||||
|
packetid: 0a520802060100ff0e0269
|
||||||
|
data_type: Humidity
|
||||||
|
sensor_0601 2:
|
||||||
|
name: Bath
|
||||||
|
packetid: 0a520802060100ff0e0269
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Configuration variables:
|
||||||
|
|
||||||
|
- **devices** (*Optional*): A list of devices with their name to use in the frontend.
|
||||||
|
- **automatic_add** (*Optional*): To enable the automatic addition of new lights.
|
||||||
|
- **data_type** (*Optional*): Which data type the sensor should show
|
||||||
|
@ -87,3 +87,19 @@ switch:
|
|||||||
oncmd: "cvlc 1.mp3 vlc://quit &"
|
oncmd: "cvlc 1.mp3 vlc://quit &"
|
||||||
offcmd: "pkill vlc"
|
offcmd: "pkill vlc"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### {% linkable_title Control Foscam Motion Sensor %}
|
||||||
|
|
||||||
|
This switch will control the motion sensor of Foscam Webcams which Support CGI Commands ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). This switch supports statecmd, which checks the current state of motion detection.
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
# Replace admin and password with an "Admin" priviledged Foscam user
|
||||||
|
# Replace ipaddress with the local IP address of your Foscam
|
||||||
|
switch:
|
||||||
|
platform: command_line
|
||||||
|
switches:
|
||||||
|
foscam_motion:
|
||||||
|
oncmd: 'curl -k "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=1&usr=admin&pwd=password"'
|
||||||
|
offcmd: 'curl -k "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=0&usr=admin&pwd=password"'
|
||||||
|
statecmd: 'curl -k --silent "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=getMotionDetectConfig&usr=admin&pwd=password" | grep -oP "(?<=isEnable>).*?(?=</isEnable>)"'
|
||||||
|
value_template: '{{ value == "1" }}'
|
||||||
|
@ -12,7 +12,7 @@ footer: true
|
|||||||
Keeps track which switches are in your environment, their state and allows you to control them.
|
Keeps track which switches are in your environment, their state and allows you to control them.
|
||||||
|
|
||||||
* Maintains a state per switch and a combined state `all_switches`.
|
* Maintains a state per switch and a combined state `all_switches`.
|
||||||
* Registers services `switch/turn_on` and `switch/turn_off` to control switches.
|
* Registers services `switch/turn_on`, `switch/turn_off`, and `switch/toggle` to control switches.
|
||||||
|
|
||||||
### {% linkable_title Use the services %}
|
### {% linkable_title Use the services %}
|
||||||
|
|
||||||
|
@ -24,6 +24,8 @@ sensor:
|
|||||||
port: PORT
|
port: PORT
|
||||||
username: USERNAME
|
username: USERNAME
|
||||||
password: PASSWORD
|
password: PASSWORD
|
||||||
|
use_tls: true
|
||||||
|
verify_tls: true
|
||||||
```
|
```
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
@ -32,4 +34,5 @@ Configuration variables:
|
|||||||
- **port** (*Optional*): The port of your mFi controller. Defaults to 6443.
|
- **port** (*Optional*): The port of your mFi controller. Defaults to 6443.
|
||||||
- **username** (*Required*): The mFi admin username.
|
- **username** (*Required*): The mFi admin username.
|
||||||
- **password** (*Required*): The mFi admin user's password.
|
- **password** (*Required*): The mFi admin user's password.
|
||||||
|
- **use_tls** (*Optional*): If true, use TLS to contact the mFi controller. Defaults to true.
|
||||||
|
- **verify_tls** (*Optional*): Set this to false if your mFi controller has a self-signed certificate. Defaults to true.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
layout: page
|
layout: page
|
||||||
title: "MySensors Switch"
|
title: "MySensors Switch"
|
||||||
description: "Instructions how to integrate MySensors switches into Home Assistant."
|
description: "Instructions how to integrate MySensors switches into Home Assistant."
|
||||||
date: 2016-02-28 01:20 +0100
|
date: 2016-03-02 18:20 +0100
|
||||||
sidebar: true
|
sidebar: true
|
||||||
comments: false
|
comments: false
|
||||||
sharing: true
|
sharing: true
|
||||||
@ -31,7 +31,7 @@ S_LOCK | V_LOCK_STATUS
|
|||||||
S_TYPE | V_TYPE
|
S_TYPE | V_TYPE
|
||||||
-------------|------------------
|
-------------|------------------
|
||||||
S_LIGHT | V_STATUS
|
S_LIGHT | V_STATUS
|
||||||
S_BINARY | V_STATUS, V_LIGHT
|
S_BINARY | [V_STATUS or V_LIGHT]
|
||||||
S_SPRINKLER | V_STATUS
|
S_SPRINKLER | V_STATUS
|
||||||
S_WATER_LEAK | V_ARMED
|
S_WATER_LEAK | V_ARMED
|
||||||
S_SOUND | V_ARMED
|
S_SOUND | V_ARMED
|
||||||
|
@ -9,6 +9,7 @@ sharing: true
|
|||||||
footer: true
|
footer: true
|
||||||
logo: telldus_tellstick.png
|
logo: telldus_tellstick.png
|
||||||
ha_category: Switch
|
ha_category: Switch
|
||||||
|
ha_iot_class: "Assumed State"
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,6 +14,8 @@ ha_category: Thermostat
|
|||||||
|
|
||||||
The `heatmiser` thermostat platform let you control [Heatmiser DT/DT-E/PRT/PRT-E](http://www.heatmisershop.co.uk/heatmiser-slimline-programmable-room-thermostat/) thermostats from Heatmiser. The module itself is currently setup to work over a RS232 -> RS485 converter, therefore it connects over IP.
|
The `heatmiser` thermostat platform let you control [Heatmiser DT/DT-E/PRT/PRT-E](http://www.heatmisershop.co.uk/heatmiser-slimline-programmable-room-thermostat/) thermostats from Heatmiser. The module itself is currently setup to work over a RS232 -> RS485 converter, therefore it connects over IP.
|
||||||
|
|
||||||
|
Further work would be required to get this setup to connect over Wifi, but the HeatmiserV3 python module being used is a full implementation of the V3 protocol. If you would like to contribute to making this work over wifi, please contact @andylockran on github.
|
||||||
|
|
||||||
To set it up, add the following information to your `configuration.yaml` file:
|
To set it up, add the following information to your `configuration.yaml` file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
84
source/_cookbook/foscam_away_mode_PTZ.markdown
Normal file
84
source/_cookbook/foscam_away_mode_PTZ.markdown
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: "Foscam Recording during Away Mode Only using Pan/Tilt/Zoom Control and Motion Detection"
|
||||||
|
description: "Example of how to set Foscam to only have Motion Detection Recording while no one is home. When users are home the Foscam will indicate it is not recording by pointing down and away from users"
|
||||||
|
date: 2016-03-10 13:05
|
||||||
|
sidebar: true
|
||||||
|
comments: false
|
||||||
|
sharing: true
|
||||||
|
footer: true
|
||||||
|
ha_category: Automation Examples
|
||||||
|
---
|
||||||
|
|
||||||
|
This requires a [Foscam IP Camera](/components/camera.foscam/) camera with PTZ (Pan, Tilt, Zoom) and CGI functionality ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf))
|
||||||
|
|
||||||
|
Foscam Cameras can be controlled by Home Assistant through a number of CGI commands.
|
||||||
|
The following outlines examples of the switch, services, and scripts required to move between 2 preset destinations while controlling motion detection, but many other options of movement are provided in the Foscam CGI User Guide linked above.
|
||||||
|
|
||||||
|
The `switch.foscam_motion` will control whether the motion detection is on or off. This switch supports `statecmd`, which checks the current state of motion detection.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Replace admin and password with an "Admin" priviledged Foscam user
|
||||||
|
# Replace ipaddress with the local IP address of your Foscam
|
||||||
|
switch:
|
||||||
|
platform: command_line
|
||||||
|
switches:
|
||||||
|
#Switch for Foscam Motion Detection
|
||||||
|
foscam_motion:
|
||||||
|
oncmd: 'curl -k "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=1&usr=admin&pwd=password"'
|
||||||
|
offcmd: 'curl -k "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=0&usr=admin&pwd=password"'
|
||||||
|
statecmd: 'curl -k --silent "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=getMotionDetectConfig&usr=admin&pwd=password" | grep -oP "(?<=isEnable>).*?(?=</isEnable>)"'
|
||||||
|
value_template: '{{ value == "1" }}'
|
||||||
|
```
|
||||||
|
|
||||||
|
The service `shell_command.foscam_turn_off` sets the camera to point down and away to indicate it is not recording, and `shell_command.foscam_turn_on` sets the camera to point where I'd like to record. h of these services require preset points to be added to your camera. See source above for additional information.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
shell_command:
|
||||||
|
#Created a preset point in Foscam Web Interface named Off which essentially points the camera down and away
|
||||||
|
foscam_turn_off: 'curl -k "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=ptzGotoPresetPoint&name=Off&usr=admin&pwd=password"'
|
||||||
|
#Created a preset point in Foscam Web Interface named Main which points in the direction I would like to record
|
||||||
|
foscam_turn_on: 'curl -k "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=ptzGotoPresetPoint&name=Main&usr=admin&pwd=password"'
|
||||||
|
```
|
||||||
|
|
||||||
|
The `script.foscam_off` and `script.foscam_on` can be used to set the motion detection appropriately, and then move the camera. These scripts can be called as part of an automation with `device_tracker` triggers to set `home` and `not_home` modes for your Foscam and disable motion detection recording while `home`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
script:
|
||||||
|
foscam_off:
|
||||||
|
sequence:
|
||||||
|
- execute_service: switch.turn_off
|
||||||
|
service_data:
|
||||||
|
entity_id: switch.foscam_motion
|
||||||
|
- service: shell_command.foscam_turn_off
|
||||||
|
foscam_on:
|
||||||
|
sequence:
|
||||||
|
- execute_service: switch.turn_off
|
||||||
|
service_data:
|
||||||
|
entity_id: switch.foscam_motion
|
||||||
|
- service: shell_command.foscam_turn_on
|
||||||
|
- execute_service: switch.turn_on
|
||||||
|
service_data:
|
||||||
|
entity_id: switch.foscam_motion
|
||||||
|
```
|
||||||
|
|
||||||
|
To automate Foscam being set to "on" (facing the correct way with motion sensor on), I used the following simple automation:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
automation:
|
||||||
|
- alias: Set Foscam to Away Mode when I leave home
|
||||||
|
trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: group.family
|
||||||
|
from: 'home'
|
||||||
|
action:
|
||||||
|
service: script.foscam_on
|
||||||
|
- alias: Set Foscam to Home Mode when I arrive Home
|
||||||
|
trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: group.family
|
||||||
|
to: 'home'
|
||||||
|
action:
|
||||||
|
service: script.foscam_off
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,77 @@
|
|||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: "Perform actions based on input select"
|
||||||
|
description: "Example playing media to chromecast based on input select element"
|
||||||
|
date: 2016-03-07 12:05
|
||||||
|
sidebar: true
|
||||||
|
comments: false
|
||||||
|
sharing: true
|
||||||
|
footer: true
|
||||||
|
ha_category: Automation Examples
|
||||||
|
---
|
||||||
|
|
||||||
|
This example uses an [`input_select`](/components/input_select/) element to pick which mp3 file to play on a [Chromecast](components/media_player.cast/).
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Define our dropdown list
|
||||||
|
input_select:
|
||||||
|
lullaby:
|
||||||
|
name: Lullaby
|
||||||
|
options:
|
||||||
|
- Rain
|
||||||
|
- Babbling Brook
|
||||||
|
- None
|
||||||
|
initial: None
|
||||||
|
icon: mdi:weather-rainy
|
||||||
|
|
||||||
|
# Define our media player
|
||||||
|
media_player:
|
||||||
|
- platform: cast
|
||||||
|
host: chromecast-nursery
|
||||||
|
name: Nursery
|
||||||
|
|
||||||
|
automation:
|
||||||
|
# If you select "Rain", play the "rain.mp3" file
|
||||||
|
- alias: Play Rain Lullaby
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: input_select.lullaby
|
||||||
|
to: "Rain"
|
||||||
|
|
||||||
|
action:
|
||||||
|
service: media_player.play_media
|
||||||
|
data:
|
||||||
|
entity_id: media_player.nursery
|
||||||
|
media_id: http://fileserver/rain.mp3
|
||||||
|
media_type: audio/mp4
|
||||||
|
|
||||||
|
|
||||||
|
# If you select "Babbling Brook", play the "babbling_brook.mp3" file
|
||||||
|
- alias: Play Babbling Brook Lullaby
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: input_select.lullaby
|
||||||
|
to: "Babbling Brook"
|
||||||
|
|
||||||
|
action:
|
||||||
|
service: media_player.play_media
|
||||||
|
data:
|
||||||
|
entity_id: media_player.nursery
|
||||||
|
media_id: http://fileserver/babbling_brook.mp3
|
||||||
|
media_type: audio/mp4
|
||||||
|
|
||||||
|
# If you select "None, turn the Chromecast off
|
||||||
|
- alias: Stop the Lullaby
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: input_select.lullaby
|
||||||
|
to: "None"
|
||||||
|
|
||||||
|
action:
|
||||||
|
service: media_player.turn_off
|
||||||
|
data:
|
||||||
|
entity_id: media_player.nursery
|
||||||
|
```
|
@ -54,7 +54,7 @@ Now you're ready to run Let's Encrypt:
|
|||||||
$ git clone https://github.com/letsencrypt/letsencrypt
|
$ git clone https://github.com/letsencrypt/letsencrypt
|
||||||
[…]
|
[…]
|
||||||
$ cd letsencrypt
|
$ cd letsencrypt
|
||||||
$ ./letsencrypt-auto certonly --email $ ./letsencrypt-auto certonly --email your@email.address -d hass-example.duckdns.org
|
$ ./letsencrypt-auto certonly --email your@email.address -d hass-example.duckdns.org
|
||||||
|
|
||||||
Updating letsencrypt and virtual environment dependencies.......
|
Updating letsencrypt and virtual environment dependencies.......
|
||||||
Running with virtualenv: sudo /path/letsencrypt/bin/letsencrypt certonly --email your@e-mail.address -d hass-example.duckdns.org
|
Running with virtualenv: sudo /path/letsencrypt/bin/letsencrypt certonly --email your@e-mail.address -d hass-example.duckdns.org
|
||||||
|
@ -48,7 +48,9 @@ It's been another two weeks which means it's time for release: 0.14!
|
|||||||
- Script: Turning on a [script] that is already on is now a no-op instead of skipping current delay.
|
- Script: Turning on a [script] that is already on is now a no-op instead of skipping current delay.
|
||||||
- Wemo switches now have to be set up via the main [Wemo component]
|
- Wemo switches now have to be set up via the main [Wemo component]
|
||||||
- Command line platforms for [switch][switch.cmd], [sensor][sensor.cmd] and [binary_sensor][binary_sensor.cmd] have been renamed to `command_line`.
|
- Command line platforms for [switch][switch.cmd], [sensor][sensor.cmd] and [binary_sensor][binary_sensor.cmd] have been renamed to `command_line`.
|
||||||
|
- The rfxtrx sensors entity ids will incur a one time change to move to a stable format. See [the docs][sensor.rfxtrx] for more details.
|
||||||
|
|
||||||
|
[sensor.rfxtrx]: /components/sensor.rfxtrx/
|
||||||
[notify.command_line]: /components/notify.command_line/
|
[notify.command_line]: /components/notify.command_line/
|
||||||
[Verisure]: /components/sensor.verisure/
|
[Verisure]: /components/sensor.verisure/
|
||||||
[binary_sensor.tcp]: /components/binary_sensor.tcp/
|
[binary_sensor.tcp]: /components/binary_sensor.tcp/
|
||||||
|
@ -0,0 +1,64 @@
|
|||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: "0.15: Unforked Open Z-Wave, templated service calls, extended scene support and PEP257 compliance."
|
||||||
|
description: "Home Assistant 0.15 has arrived."
|
||||||
|
date: 2016-03-12 10:55:00 -0800
|
||||||
|
date_formatted: "March 12, 2016"
|
||||||
|
author: Paulus Schoutsen
|
||||||
|
author_twitter: balloob
|
||||||
|
comments: true
|
||||||
|
categories: Release-Notes
|
||||||
|
---
|
||||||
|
|
||||||
|
Two weeks has past so here is 0.15! We have been focussing a lot on quality. Making sure the system is more stable and reliable. I usually try to highlight one cool thing in the release notes but this release has 4 exciting announcements!
|
||||||
|
|
||||||
|
- [@fabaff] has upgraded the codebase to follow the PEP257 documentation standard.
|
||||||
|
- [@partofthething] has migrated us to use the main Python Open Z-Wave library instead of our forked version.
|
||||||
|
- To make our automations more powerful, [@persandstrom] added the option to use templates to dynamically create service calls. This works for automation, script, Alexa, universal media player, template switch.
|
||||||
|
- [@MartinHjelmare] has upgraded our scene support to now support all built-in services and components.
|
||||||
|
|
||||||
|
Besides bug fixes, this release also brings:
|
||||||
|
|
||||||
|
<img src='/images/supported_brands/hunter-douglas-powerview.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='150' />
|
||||||
|
|
||||||
|
- Scene: Converted to a platform based component ([@sander76])
|
||||||
|
- Scene: [Hunter Douglas Powerview] now supported ([@sander76])
|
||||||
|
- Lock: [MQTT] platform added ([@fabaff])
|
||||||
|
- Device Tracker: [OwnTracks] will allow filtering inaccurate GPS locations ([@HydrelioxGitHub])
|
||||||
|
- Binary Sensor: Wemo Motion now supported ([@pavoni], [@ryanlaux])
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example using templates for service and data in service call.
|
||||||
|
# Works for automation, script, Alexa, universal media player, template switch.
|
||||||
|
automation:
|
||||||
|
- trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id: switch.bathroom
|
||||||
|
action:
|
||||||
|
service_template: >
|
||||||
|
{% raw %}{% if is_state('switch.bathroom', 'on') %}
|
||||||
|
switch.turn_on
|
||||||
|
{% else %}
|
||||||
|
switch.turn_off
|
||||||
|
{% endif %}{% endraw %}
|
||||||
|
data_template:
|
||||||
|
entity_id: switch.{% raw %}{{ states('input_select.is') }}{% endraw %}
|
||||||
|
```
|
||||||
|
|
||||||
|
[Hunter Douglas Powerview]: /components/scene.hunterdouglas_powerview/
|
||||||
|
[MQTT]: /components/lock.mqtt/
|
||||||
|
[OwnTracks]: /components/device_tracker.owntracks/
|
||||||
|
[Wemo Motion]: /components/binary_sensor.wemo/
|
||||||
|
[@fabaff]: https://github.com/fabaff
|
||||||
|
[@partofthething]: https://github.com/partofthething
|
||||||
|
[@persandstrom]: https://github.com/persandstrom
|
||||||
|
[@fabaff]: https://github.com/fabaff
|
||||||
|
[@persandstrom]: https://github.com/persandstrom
|
||||||
|
[@PartOfTheThing]: https://github.com/PartOfTheThing
|
||||||
|
[@sander76]: https://github.com/sander76
|
||||||
|
[@sander76]: https://github.com/sander76
|
||||||
|
[@fabaff]: https://github.com/fabaff
|
||||||
|
[@HydrelioxGitHub]: https://github.com/HydrelioxGitHub
|
||||||
|
[@MartinHjelmare]: https://github.com/MartinHjelmare
|
||||||
|
[@pavoni]: https://github.com/pavoni
|
||||||
|
[@ryanlaux]: https://github.com/ryanlaux
|
@ -36,7 +36,9 @@ Support for these components is provided by the Home Assistant community.
|
|||||||
<div id="componentContainer">
|
<div id="componentContainer">
|
||||||
{% for component in components %}
|
{% for component in components %}
|
||||||
{% if component.ha_category %}
|
{% if component.ha_category %}
|
||||||
<a href='{{ component.url }}' class='{{ component.ha_category | slugify }}{% if component.featured %} featured{% endif %}'>
|
<a href='{{ component.url }}'
|
||||||
|
class='{{ component.ha_category | slugify }}{% if component.featured %} featured{% endif %}'
|
||||||
|
{% unless component.featured %}style='display: none'{% endunless %}>
|
||||||
<div class='img-container'>
|
<div class='img-container'>
|
||||||
{% if component.logo %}
|
{% if component.logo %}
|
||||||
<img src='/images/supported_brands/{{ component.logo }}'>
|
<img src='/images/supported_brands/{{ component.logo }}'>
|
||||||
@ -60,8 +62,19 @@ Support for these components is provided by the Home Assistant community.
|
|||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
|
|
||||||
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
|
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/2.2.2/isotope.pkgd.js"></script>
|
<script>
|
||||||
<script type="text/javascript">
|
// undo initial hiding of non-featured cards
|
||||||
|
if (location.hash !== '') {
|
||||||
|
if (location.hash === '#all') {
|
||||||
|
jQuery('#componentContainer a').show();
|
||||||
|
} else {
|
||||||
|
jQuery('#componentContainer .featured').hide();
|
||||||
|
jQuery('#componentContainer .' + location.hash.substr(1)).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/2.2.2/isotope.pkgd.min.js"></script>
|
||||||
|
<script>
|
||||||
$(window).load(function(){
|
$(window).load(function(){
|
||||||
var $container = $('#componentContainer');
|
var $container = $('#componentContainer');
|
||||||
|
|
||||||
|
@ -11,7 +11,13 @@ regenerate: true
|
|||||||
hide_github_edit: true
|
hide_github_edit: true
|
||||||
---
|
---
|
||||||
|
|
||||||
This is a community currated list of different ways to use Home Assistant. New recipes can be added via the [home-assistant.io repository](https://github.com/balloob/home-assistant.io/tree/master/source/_cookbook).
|
This is a community curated list of different ways to use Home Assistant. Most of these examples are using the [automation] component and other built-in [automation related][sec-automation] and [organization] components available.
|
||||||
|
|
||||||
|
[automation]: /components/automation/
|
||||||
|
[sec-automation]: /components/#automation
|
||||||
|
[organization]: /components/#organization
|
||||||
|
|
||||||
|
New recipes can be added via the [home-assistant.io repository](https://github.com/balloob/home-assistant.io/tree/master/source/_cookbook).
|
||||||
|
|
||||||
{% assign cookbook = site.cookbook | sort: 'title' %}
|
{% assign cookbook = site.cookbook | sort: 'title' %}
|
||||||
{% assign categories = cookbook | map: 'ha_category' | uniq | sort %}
|
{% assign categories = cookbook | map: 'ha_category' | uniq | sort %}
|
||||||
|
@ -11,7 +11,7 @@ footer: true
|
|||||||
|
|
||||||
Components that interact with devices are structured in core- and platform logic. This allows the same logic to be used for different platforms.
|
Components that interact with devices are structured in core- and platform logic. This allows the same logic to be used for different platforms.
|
||||||
|
|
||||||
For example, the built-in `switch` component consists of various platform in [`homeassistant/components/switch/`](https://github.com/balloob/home-assistant/tree/master/homeassistant/components/switch). The file `\_\_init\_\_.py` contains the core logic of all platform and the `vendor_name.py` files only the relevant platform code.
|
For example, the built-in `switch` component consists of various platform in [`homeassistant/components/switch/`](https://github.com/balloob/home-assistant/tree/master/homeassistant/components/switch). The file `__init__.py` contains the core logic of all platform and the `vendor_name.py` files only the relevant platform code.
|
||||||
|
|
||||||
If you are planning to add support for a new type of device to an existing component, you can get away with only writing platform logic. Have a look at how the component works with other platforms and create a similar file for the platform that you would like to add.
|
If you are planning to add support for a new type of device to an existing component, you can get away with only writing platform logic. Have a look at how the component works with other platforms and create a similar file for the platform that you would like to add.
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ This page contains a list of people who have contributed in one way or another t
|
|||||||
- [Jan Harkes](https://github.com/jaharkes)
|
- [Jan Harkes](https://github.com/jaharkes)
|
||||||
- [Jeffrey Tang](https://github.com/Qrtn)
|
- [Jeffrey Tang](https://github.com/Qrtn)
|
||||||
- [Jeff Schroeder](https://github.com/SEJeff)
|
- [Jeff Schroeder](https://github.com/SEJeff)
|
||||||
|
- [Joe McMonagle](https://github.com/joemcmonagle)
|
||||||
- [John Arild Berentsen](https://github.com/turbokongen)
|
- [John Arild Berentsen](https://github.com/turbokongen)
|
||||||
- [John McLaughlin](https://github.com/loghound)
|
- [John McLaughlin](https://github.com/loghound)
|
||||||
- [John Williams](https://github.com/Jaidan)
|
- [John Williams](https://github.com/Jaidan)
|
||||||
@ -73,6 +74,7 @@ This page contains a list of people who have contributed in one way or another t
|
|||||||
- [Magnus Knutas](https://github.com/MagnusKnutas)
|
- [Magnus Knutas](https://github.com/MagnusKnutas)
|
||||||
- [MakeMeASandwich](https://github.com/MakeMeASandwich)
|
- [MakeMeASandwich](https://github.com/MakeMeASandwich)
|
||||||
- [Markus Stenberg](https://github.com/fingon)
|
- [Markus Stenberg](https://github.com/fingon)
|
||||||
|
- [Martin Hjelmare](https://github.com/MartinHjelmare)
|
||||||
- [Matteo Lampugnani](https://github.com/t30)
|
- [Matteo Lampugnani](https://github.com/t30)
|
||||||
- [Michael Arnauts](https://github.com/michaelarnauts)
|
- [Michael Arnauts](https://github.com/michaelarnauts)
|
||||||
- [Michael Auchter](https://github.com/auchter)
|
- [Michael Auchter](https://github.com/auchter)
|
||||||
|
@ -9,7 +9,7 @@ sharing: true
|
|||||||
footer: true
|
footer: true
|
||||||
---
|
---
|
||||||
|
|
||||||
Home Assistant is build from the ground-up to be easily extensible by other developers using components. It uses [Python 3](https://www.python.org/) for the backend and [Polymer (Webcomponents)](https://www.polymer-project.org/) for the frontend.
|
Home Assistant is built from the ground up to be easily-extensible by other developers using components. It uses [Python 3](https://www.python.org/) for the backend and [Polymer (Webcomponents)](https://www.polymer-project.org/) for the frontend.
|
||||||
|
|
||||||
Home Assistant is open-source and MIT licensed. The source can be found here:
|
Home Assistant is open-source and MIT licensed. The source can be found here:
|
||||||
|
|
||||||
|
@ -18,7 +18,8 @@ To work on the website the process is no different to working on Home Assistant
|
|||||||
- Fork the home-assistant.io [git repository](https://github.com/balloob/home-assistant.io).
|
- Fork the home-assistant.io [git repository](https://github.com/balloob/home-assistant.io).
|
||||||
- Create/edit/update a page in the directory `source/_components/` for your platform/component.
|
- Create/edit/update a page in the directory `source/_components/` for your platform/component.
|
||||||
- To test changes to home-assistant.io locally, run ``rake preview`` and navigate to http://127.0.0.1:4000.
|
- To test changes to home-assistant.io locally, run ``rake preview`` and navigate to http://127.0.0.1:4000.
|
||||||
- Create a Pull Request (PR) against the **next** branch of home-assistant.io.
|
- Create a Pull Request (PR) against the **next** branch of home-assistant.io if your documentation is for a new feature, platform, or component.
|
||||||
|
- Create a Pull Request (PR) against the **master** branch of home-assistant.io if you fix stuff, create Cookbook entries, or expand existing documentation.
|
||||||
|
|
||||||
For a platform page it would be the fastest way to make a copy of an existing page and edit it. The [component overview](/components/) is generated automatically, so there is no need to add a link to that your page.
|
For a platform page it would be the fastest way to make a copy of an existing page and edit it. The [component overview](/components/) is generated automatically, so there is no need to add a link to that your page.
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ Actions will call services within Home Assistant. For example, turn a light on,
|
|||||||
|
|
||||||
Conditions are used to prevent actions from firing unless certain conditions are met. For example, it is possible to only turn on the light if someone comes home and it is after a certain point in time.
|
Conditions are used to prevent actions from firing unless certain conditions are met. For example, it is possible to only turn on the light if someone comes home and it is after a certain point in time.
|
||||||
|
|
||||||
The difference between a condition and a trigger can be confusing. The difference is that the trigger looks at the event that is happening, i.e. a car engine turning on. Conditions looks at the current state of the system, i.e. is the car engine on.
|
The difference between a condition and a trigger can be confusing. The difference is that the trigger looks at the event that is happening, e.g., a car engine turning on. Conditions looks at the current state of the system, e.g., is the car engine on.
|
||||||
|
|
||||||
### {% linkable_title Exploring the internal state %}
|
### {% linkable_title Exploring the internal state %}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ Running these commands will:
|
|||||||
- Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123)
|
- Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123)
|
||||||
|
|
||||||
|
|
||||||
If would prefer to watch a video tutorial however, [tktino](https://github.com/tktino) has made some great ones.
|
If you prefer to watch a video tutorial, [tktino](https://github.com/tktino) has made some great ones.
|
||||||
|
|
||||||
- [Windows 10](https://www.youtube.com/watch?v=X27eVvuqwnY)
|
- [Windows 10](https://www.youtube.com/watch?v=X27eVvuqwnY)
|
||||||
- [Mac OS X](https://www.youtube.com/watch?v=hej6ipN86ls)
|
- [Mac OS X](https://www.youtube.com/watch?v=hej6ipN86ls)
|
||||||
@ -75,6 +75,9 @@ Running these commands will:
|
|||||||
- Install Home Assistant
|
- Install Home Assistant
|
||||||
- Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123)
|
- Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123)
|
||||||
|
|
||||||
|
There is also a [video tutorial](https://www.youtube.com/watch?v=GjzOXkPb7XE) created by [brusc](https://github.com/brusc).
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- INSTALL-INSTRUCTIONS RASPBERRY -->
|
</div> <!-- INSTALL-INSTRUCTIONS RASPBERRY -->
|
||||||
|
|
||||||
<div class='install-instructions synology' markdown='1'>
|
<div class='install-instructions synology' markdown='1'>
|
||||||
|
BIN
source/images/supported_brands/hunter-douglas-powerview.png
Normal file
BIN
source/images/supported_brands/hunter-douglas-powerview.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
Loading…
x
Reference in New Issue
Block a user