diff --git a/source/_components/alarm_control_panel.mqtt.markdown b/source/_components/alarm_control_panel.mqtt.markdown index 1606d89b85a..36c9230b87e 100644 --- a/source/_components/alarm_control_panel.mqtt.markdown +++ b/source/_components/alarm_control_panel.mqtt.markdown @@ -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): -- 'armed' +- 'disarmed' - 'armed_home' - 'armed_away' - 'pending' diff --git a/source/_components/automation.markdown b/source/_components/automation.markdown index 4061b5800be..1153e146c0e 100644 --- a/source/_components/automation.markdown +++ b/source/_components/automation.markdown @@ -193,7 +193,7 @@ automation 3: #### {% 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 automation: @@ -310,7 +310,7 @@ Valid values for `weekday` are (`sun`, `mon`, `tue`, `wed`, `thu`, `fri` & `sat` #### {% 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 automation: @@ -363,4 +363,4 @@ The Logbook component will show a line entry when an automation is triggered. Y ![Logbook example](/images/components/automation/logbook.png) -[template]: /getting-started/templating/ \ No newline at end of file +[template]: /getting-started/templating/ diff --git a/source/_components/binary_sensor.arest.markdown b/source/_components/binary_sensor.arest.markdown index da0684b5088..0ded7c3f247 100644 --- a/source/_components/binary_sensor.arest.markdown +++ b/source/_components/binary_sensor.arest.markdown @@ -37,7 +37,6 @@ Accessing the URL http://IP_ADDRESS/digital/PIN_NUMBER should give you the state ```bash $ curl -X GET http://10.100.0.157/digital/9 {"return_value": 0, "id": "office1", "name": "Office", "connected": true} - ```

diff --git a/source/_components/binary_sensor.bloomsky.markdown b/source/_components/binary_sensor.bloomsky.markdown index dbe39559e8e..305dbe86c9b 100644 --- a/source/_components/binary_sensor.bloomsky.markdown +++ b/source/_components/binary_sensor.bloomsky.markdown @@ -11,7 +11,7 @@ logo: bloomsky.png ha_category: Binary Sensor --- -The `bloomsky` binary sensor platform allows you to get data from your BoomSky device. +The `bloomsky` binary sensor platform allows you to get data from your BloomSky device. To get your BloomSky binary sensors working with Home Assistant, follow the instructions for the [BloomSky component](/components/bloomsky/) first. diff --git a/source/_components/binary_sensor.command_line.markdown b/source/_components/binary_sensor.command_line.markdown index 7a6bfc73c83..c34be637491 100644 --- a/source/_components/binary_sensor.command_line.markdown +++ b/source/_components/binary_sensor.command_line.markdown @@ -60,9 +60,19 @@ Check if [RasPlex](http://www.rasplex.com/) is `online`. ```yaml binary_sensor: 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' payload_on: 1 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" +``` diff --git a/source/_components/binary_sensor.markdown b/source/_components/binary_sensor.markdown index f3bbd430190..48c8dd29afd 100644 --- a/source/_components/binary_sensor.markdown +++ b/source/_components/binary_sensor.markdown @@ -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. +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). diff --git a/source/_components/binary_sensor.mysensors.markdown b/source/_components/binary_sensor.mysensors.markdown index 098956f33a1..ef7d2f5cfac 100644 --- a/source/_components/binary_sensor.mysensors.markdown +++ b/source/_components/binary_sensor.mysensors.markdown @@ -2,7 +2,11 @@ layout: page title: "MySensors Binary Sensor" description: "Instructions how to integrate MySensors binary sensors into Home Assistant." +<<<<<<< HEAD date: 2016-02-27 20:13 +0100 +======= +date: 2016-02-28 01:20 +0100 +>>>>>>> master sidebar: true comments: false sharing: true @@ -30,9 +34,9 @@ S_TYPE | V_TYPE ---------------|---------------------------------- S_SPRINKLER | V_TRIPPED S_WATER_LEAK | V_TRIPPED -S_SOUND | V_TRIPPED, V_LEVEL -S_VIBRATION | V_TRIPPED, V_LEVEL -S_MOISTURE | V_TRIPPED, V_LEVEL +S_SOUND | V_TRIPPED +S_VIBRATION | V_TRIPPED +S_MOISTURE | V_TRIPPED For more information, visit the [serial api] of MySensors. diff --git a/source/_components/device_tracker.tomato.markdown b/source/_components/device_tracker.tomato.markdown index db77f188633..e9bb3582dcf 100644 --- a/source/_components/device_tracker.tomato.markdown +++ b/source/_components/device_tracker.tomato.markdown @@ -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. 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. + diff --git a/source/_components/light.limitlessled.markdown b/source/_components/light.limitlessled.markdown index 46647eabe1a..62b5c66f4d5 100644 --- a/source/_components/light.limitlessled.markdown +++ b/source/_components/light.limitlessled.markdown @@ -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. -### 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: ```yaml -light: - 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 +# Example configuration.yaml entry light: platform: limitlessled bridges: @@ -52,30 +45,31 @@ light: 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` - - **version**: Bridge version (default is `5`). Don't use if you aren't sure. - - **port**: Bridge port (default is `8899`). Normally not necessary to specify. - - **groups** (*Required*): (list) + - **version** (*Optional*): Bridge version (default is `5`). Don't use if you aren't sure. + - **port** (*Optional*): Bridge port. Defaults to 8899. + - **groups** array (*Required*): The list of available groups. - **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. - - **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 -Refer to the [light]({{site_root}}/components/light) documentation for general property usage, but keep in mind the following notes specific to LimitlessLED. +### {% 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. - **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. - **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. - *Brightness*: There are 10 brightness steps. - **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. diff --git a/source/_components/light.mqtt.markdown b/source/_components/light.mqtt.markdown index f0d4680a8a7..4dace8936f7 100644 --- a/source/_components/light.mqtt.markdown +++ b/source/_components/light.mqtt.markdown @@ -69,6 +69,7 @@ Configuration variables: - **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. +- **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. - **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON". - **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF". diff --git a/source/_components/light.mysensors.markdown b/source/_components/light.mysensors.markdown index 620e8dc3593..f6a74f40f8b 100644 --- a/source/_components/light.mysensors.markdown +++ b/source/_components/light.mysensors.markdown @@ -2,7 +2,7 @@ layout: page title: "MySensors Light" 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 comments: false sharing: true @@ -16,20 +16,20 @@ Integrates MySensors lights into Home Assistant. See the [main component] for co The following actuator types are supported: -##### MySensors version 1.4 and higher +##### MySensors version 1.4 S_TYPE | V_TYPE ---------|-------------- -S_LIGHT | V_LIGHT -S_DIMMER | V_DIMMER +S_DIMMER | V_DIMMER\*, V_LIGHT\* ##### MySensors version 1.5 and higher S_TYPE | V_TYPE ------------|------------- -S_LIGHT | V_STATUS -S_DIMMER | V_PERCENTAGE -S_RGB_LIGHT | V_RGB +S_DIMMER | [V_DIMMER\* or V_PERCENTAGE\*], [V_LIGHT\* or V_STATUS\*] +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. diff --git a/source/_components/light.tellstick.markdown b/source/_components/light.tellstick.markdown index 1e5b40e34df..8daa1e4918b 100644 --- a/source/_components/light.tellstick.markdown +++ b/source/_components/light.tellstick.markdown @@ -9,6 +9,7 @@ sharing: true footer: true logo: telldus_tellstick.png ha_category: Light +ha_iot_class: "Assumed State" --- diff --git a/source/_components/media_player.firetv.markdown b/source/_components/media_player.firetv.markdown index 7561b7bbe8d..98f6afe2021 100644 --- a/source/_components/media_player.firetv.markdown +++ b/source/_components/media_player.firetv.markdown @@ -26,6 +26,7 @@ Steps to configure your Amazon Fire TV stick with Home Assistant: - From the main (Launcher) screen, select Settings. - Select System > About > Network. - `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 :5555`, background the process - Configure Home Assistant as follows: diff --git a/source/_components/rollershutter.command_line.markdown b/source/_components/rollershutter.command_line.markdown index a338b901a02..789dc642075 100644 --- a/source/_components/rollershutter.command_line.markdown +++ b/source/_components/rollershutter.command_line.markdown @@ -17,7 +17,7 @@ To enable command_rollershutter in your installation, add the following to your ```yaml # Example configuration.yaml entry rollershutter: -- platform: command_rollershutter +- platform: command_line rollershutters: Kitchen Rollershutter: upcmd: move_command up kitchen diff --git a/source/_components/sensor.deutsche_bahn.markdown b/source/_components/sensor.deutsche_bahn.markdown new file mode 100644 index 00000000000..3dd20003274 --- /dev/null +++ b/source/_components/sensor.deutsche_bahn.markdown @@ -0,0 +1,32 @@ +--- +layout: page +title: "Deutsche Bahn" +description: "Instructions how to integrate timetable data for travelling in Germany within Home Assistant." +date: 2015-06-02 21:45 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Sensor +ha_iot_class: "Local Polling" +--- + + +The `deutsche_bahn` sensor will give you the departure time of the next train for the given connection. In case of a delay, the delay is also shown. Additional `ATTRIBUTES` are used to inform about eg. the type of the train, price and if it is ontime. The data are coming from the [bahn.de](http://www.bahn.de/p/view/index.shtml) website. + + +To enable this sensor, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + platform: deutsche_bahn + from: NAME_OF_START_STATION + to: NAME_OF_FINAL_STATION +``` + +Configuration variables: + +- **from** (*Required*): The name of the start station. +- **to** (*Required*): The name of the end station. + diff --git a/source/_components/sensor.mysensors.markdown b/source/_components/sensor.mysensors.markdown index ed405f6044c..2b1c709c59f 100644 --- a/source/_components/sensor.mysensors.markdown +++ b/source/_components/sensor.mysensors.markdown @@ -2,7 +2,7 @@ layout: page title: "MySensors Sensor" description: "Instructions how to integrate MySensors sensors into Home Assistant." -date: 2016-02-18 20:13 +0100 +date: 2016-02-28 01:20 +0100 sidebar: true comments: false sharing: true @@ -20,9 +20,6 @@ The following sensor types are supported: S_TYPE | V_TYPE -------------------|--------------------------------------- -S_DOOR | V_TRIPPED -S_MOTION | V_TRIPPED -S_SMOKE | V_TRIPPED S_TEMP | V_TEMP S_HUM | V_HUM S_BARO | V_PRESSURE, V_FORECAST @@ -46,11 +43,9 @@ S_TYPE | V_TYPE ---------------|---------------------------------- S_COLOR_SENSOR | V_RGB S_MULTIMETER | V_VOLTAGE, V_CURRENT, V_IMPEDANCE -S_SPRINKLER | V_TRIPPED -S_WATER_LEAK | V_TRIPPED -S_SOUND | V_TRIPPED, V_LEVEL -S_VIBRATION | V_TRIPPED, V_LEVEL -S_MOISTURE | V_TRIPPED, V_LEVEL +S_SOUND | V_LEVEL +S_VIBRATION | V_LEVEL +S_MOISTURE | V_LEVEL S_LIGHT_LEVEL | V_LEVEL S_AIR_QUALITY | V_LEVEL (replaces V_DUST_LEVEL) S_DUST | V_LEVEL (replaces V_DUST_LEVEL) diff --git a/source/_components/sensor.netatmo.markdown b/source/_components/sensor.netatmo.markdown index 6033bbf214e..0ed0740d4fc 100644 --- a/source/_components/sensor.netatmo.markdown +++ b/source/_components/sensor.netatmo.markdown @@ -36,6 +36,10 @@ sensor: - sum_rain_24 module_name2: - temperature + rainmeter_name3: + - rain + - sum_rain_1 + - sum_rain_24 ``` Configuration variables: @@ -85,5 +89,5 @@ You have to provide these name in your Home Assistant configuration file.

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

diff --git a/source/_components/sensor.neurio_energy.markdown b/source/_components/sensor.neurio_energy.markdown index 742fdca9749..502b2b0835a 100644 --- a/source/_components/sensor.neurio_energy.markdown +++ b/source/_components/sensor.neurio_energy.markdown @@ -13,7 +13,7 @@ ha_iot_class: "Cloud Polling" --- -Integrate your [Neurio](http://neur.io/) meter information into Home Assistant. To get an API key and secret, login to your Neurio account at https://my.neur.io/#settings/applications/register and register an application. Note the Homepage URL and Callback URL are optional. +Integrate your [Neurio](http://neur.io/) meter information into Home Assistant. To get an API key and secret, login to your [Neurio account](https://my.neur.io/#settings/applications/register) and register an application. Note the Homepage URL and Callback URL are optional. To enable this sensor in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/sensor.rfxtrx.markdown b/source/_components/sensor.rfxtrx.markdown index 1f9ce224c85..3efb14a9919 100644 --- a/source/_components/sensor.rfxtrx.markdown +++ b/source/_components/sensor.rfxtrx.markdown @@ -16,6 +16,25 @@ To enable RFXtrx sensors in your installation, add the following to your `config ```yaml # Example configuration.yaml entry -sensor: - platform: rfxtrx +sensor: + 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 diff --git a/source/_components/sensor.tcp.markdown b/source/_components/sensor.tcp.markdown index f702902703c..b796c5e3b65 100644 --- a/source/_components/sensor.tcp.markdown +++ b/source/_components/sensor.tcp.markdown @@ -62,7 +62,40 @@ sensor: port: 8888 timeout: 5 payload: "r WaterPressure\n" - value_template: "{{ value.split(';')[0] }}" + value_template: "{% raw %}{{ value.split(';')[0] }}{% endraw %}" unit: Bar ``` +### {% linkable_title hddtemp %} + +The tool `hddtemp` collects the temperatur of your harddisks. + +```bash +$ hddtemp +/dev/sda: SAMSUNG MZMTE256HMHP-000L1: 39°C +``` + +With `hddtemp -d` you can run the tool in TCP/IP daemon mode on port 7634 which enables you to get the data across the network. + +```bash +$ telnet localhost 7634 +Trying 127.0.0.1... +Connected to localhost. +Escape character is '^]'. +|/dev/sda|SAMSUNG MZMTE256HMHP-000L1|38|C|Connection closed by foreign host. +``` + +The entry for the `configuration.yaml` file for a `hddtemp` sensor could look like the example below. + +```yaml +sensor: +# Example configuration.yaml entry + - platform: tcp + name: HDD temperature + host: 127.0.0.1 + port: 7634 + timeout: 5 + payload: "\n" + value_template: "{% raw %}{{ value.split('|')[3] }}{% endraw %}" + unit: "°C" +``` diff --git a/source/_components/switch.mqtt.markdown b/source/_components/switch.mqtt.markdown index 0d471b54a07..cdd0b023c2a 100644 --- a/source/_components/switch.mqtt.markdown +++ b/source/_components/switch.mqtt.markdown @@ -19,7 +19,7 @@ When a state topic is not available, the switch will work in optimistic mode. In Optimistic mode can be forced, even if state topic is available. Try to enable it, if experiencing incorrect switch operation. -To enable this s in your installation, add the following to your `configuration.yaml` file: +To enable this switch in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yml entry @@ -28,10 +28,10 @@ switch: name: "Bedroom Switch" state_topic: "home/bedroom/switch1" command_topic: "home/bedroom/switch1/set" - qos: 0 payload_on: "ON" payload_off: "OFF" optimistic: false + qos: 0 retain: true value_template: '{% raw %}{{ value.x }}{% endraw %}' ``` @@ -41,13 +41,13 @@ Configuration variables: - **name** (*Optional*): The name of the switch. Default is 'MQTT Switch'. - **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates. - **command_topic** (*Required*): The MQTT topic to publish commands to change the switch state. -- **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". - **optimistic** (*Optional*): Flag that defines if switch 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.

- Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics. +Make sure that your topic match exact. `some-topic/` and `some-topic` are different topics.

diff --git a/source/_components/switch.mysensors.markdown b/source/_components/switch.mysensors.markdown index f98e23e7fbd..f79cd8b8f29 100644 --- a/source/_components/switch.mysensors.markdown +++ b/source/_components/switch.mysensors.markdown @@ -2,7 +2,7 @@ layout: page title: "MySensors Switch" description: "Instructions how to integrate MySensors switches into Home Assistant." -date: 2016-02-15 20:49 +0100 +date: 2016-03-02 18:20 +0100 sidebar: true comments: false sharing: true @@ -23,13 +23,15 @@ S_TYPE | V_TYPE S_DOOR | V_ARMED S_MOTION | V_ARMED S_SMOKE | V_ARMED +S_LIGHT | V_LIGHT S_LOCK | V_LOCK_STATUS ##### MySensors version 1.5 and higher S_TYPE | V_TYPE -------------|------------------ -S_BINARY | V_STATUS, V_LIGHT +S_LIGHT | V_STATUS +S_BINARY | [V_STATUS or V_LIGHT] S_SPRINKLER | V_STATUS S_WATER_LEAK | V_ARMED S_SOUND | V_ARMED diff --git a/source/_components/switch.tellstick.markdown b/source/_components/switch.tellstick.markdown index e9f3baf21e4..055d445f07b 100644 --- a/source/_components/switch.tellstick.markdown +++ b/source/_components/switch.tellstick.markdown @@ -9,6 +9,7 @@ sharing: true footer: true logo: telldus_tellstick.png ha_category: Switch +ha_iot_class: "Assumed State" --- diff --git a/source/_components/thermostat.heatmiser.markdown b/source/_components/thermostat.heatmiser.markdown index 49529fb0eb2..f528f579b0e 100644 --- a/source/_components/thermostat.heatmiser.markdown +++ b/source/_components/thermostat.heatmiser.markdown @@ -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. +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: ```yaml diff --git a/source/_cookbook/automation_for_rainy_days.markdown b/source/_cookbook/automation_for_rainy_days.markdown index 1a264c7bfaa..566a3001102 100644 --- a/source/_cookbook/automation_for_rainy_days.markdown +++ b/source/_cookbook/automation_for_rainy_days.markdown @@ -10,7 +10,7 @@ footer: true ha_category: Automation Examples --- -This requires a [forecast.io](components/sensor.forecast/) sensor with the condition `weather_precip` that tells if it's raining or not. +This requires a [forecast.io](/components/sensor.forecast/) sensor with the condition `weather_precip` that tells if it's raining or not. Turn on a light in the living room when it starts raining, someone is home, and it's afternoon or later. diff --git a/source/_cookbook/foscam_away_mode_PTZ.markdown b/source/_cookbook/foscam_away_mode_PTZ.markdown new file mode 100644 index 00000000000..3ac9578ccce --- /dev/null +++ b/source/_cookbook/foscam_away_mode_PTZ.markdown @@ -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>).*?(?=)"' + 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 +``` + diff --git a/source/_cookbook/perform_actions_based_on_input_select.markdown b/source/_cookbook/perform_actions_based_on_input_select.markdown new file mode 100644 index 00000000000..63372ff3325 --- /dev/null +++ b/source/_cookbook/perform_actions_based_on_input_select.markdown @@ -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 +``` diff --git a/source/_posts/2015-12-13-setup-encryption-using-lets-encrypt.markdown b/source/_posts/2015-12-13-setup-encryption-using-lets-encrypt.markdown index 19ba680da44..6a12fddecce 100644 --- a/source/_posts/2015-12-13-setup-encryption-using-lets-encrypt.markdown +++ b/source/_posts/2015-12-13-setup-encryption-using-lets-encrypt.markdown @@ -54,7 +54,7 @@ Now you're ready to run Let's Encrypt: $ git clone https://github.com/letsencrypt/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....... Running with virtualenv: sudo /path/letsencrypt/bin/letsencrypt certonly --email your@e-mail.address -d hass-example.duckdns.org diff --git a/source/_posts/2016-02-28-steam-d-link-smart-plugs-and-neurio-energy-sensors.markdown b/source/_posts/2016-02-28-steam-d-link-smart-plugs-and-neurio-energy-sensors.markdown index 4a213045a99..076bb8f48a3 100644 --- a/source/_posts/2016-02-28-steam-d-link-smart-plugs-and-neurio-energy-sensors.markdown +++ b/source/_posts/2016-02-28-steam-d-link-smart-plugs-and-neurio-energy-sensors.markdown @@ -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. - 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`. + - 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/ [Verisure]: /components/sensor.verisure/ [binary_sensor.tcp]: /components/binary_sensor.tcp/ diff --git a/source/components/index.html b/source/components/index.html index d4df448da67..87b08f3085b 100644 --- a/source/components/index.html +++ b/source/components/index.html @@ -36,7 +36,9 @@ Support for these components is provided by the Home Assistant community.
{% for component in components %} {% if component.ha_category %} - +
{% if component.logo %} @@ -60,8 +62,19 @@ Support for these components is provided by the Home Assistant community. {% endcomment %} - - + +-
\ No newline at end of file + } \ No newline at end of file diff --git a/source/developers/add_new_platform.markdown b/source/developers/add_new_platform.markdown index 91f5b6b49aa..197b172f76a 100644 --- a/source/developers/add_new_platform.markdown +++ b/source/developers/add_new_platform.markdown @@ -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. -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. diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index b6410e3789f..8b8b6413fb6 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -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) - [Jeffrey Tang](https://github.com/Qrtn) - [Jeff Schroeder](https://github.com/SEJeff) +- [Joe McMonagle](https://github.com/joemcmonagle) - [John Arild Berentsen](https://github.com/turbokongen) - [John McLaughlin](https://github.com/loghound) - [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) - [MakeMeASandwich](https://github.com/MakeMeASandwich) - [Markus Stenberg](https://github.com/fingon) +- [Martin Hjelmare](https://github.com/MartinHjelmare) - [Matteo Lampugnani](https://github.com/t30) - [Michael Arnauts](https://github.com/michaelarnauts) - [Michael Auchter](https://github.com/auchter) diff --git a/source/developers/index.markdown b/source/developers/index.markdown index f7d376c7473..1b1e571000f 100644 --- a/source/developers/index.markdown +++ b/source/developers/index.markdown @@ -9,7 +9,7 @@ sharing: 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: @@ -19,7 +19,7 @@ Home Assistant is open-source and MIT licensed. The source can be found here: ### {% linkable_title Starting development %} -You will need to setup a development environment if you want to start developing a new feature or component for Home Assistant. Please follow these steps to perform it. Visit the [the Home Assistant repository](https://github.com/balloob/home-assistant) first and click fork in the top right. +You will need to set up a development environment if you want to start developing a new feature or component for Home Assistant. Please follow these steps to perform it. Visit the [the Home Assistant repository](https://github.com/balloob/home-assistant) first and click fork in the top right. ```bash $ git clone https://github.com/YOUR_GIT_USERNAME/home-assistant.git diff --git a/source/developers/website.markdown b/source/developers/website.markdown index 72e1b873729..cc0a3f6c756 100644 --- a/source/developers/website.markdown +++ b/source/developers/website.markdown @@ -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). - 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. -- 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. diff --git a/source/getting-started/automation.markdown b/source/getting-started/automation.markdown index 807c7f3479e..4c790f9f275 100644 --- a/source/getting-started/automation.markdown +++ b/source/getting-started/automation.markdown @@ -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. -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 %} diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index a750a6e98ec..5cea89b7460 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -33,7 +33,7 @@ Running these commands will: - 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) - [Mac OS X](https://www.youtube.com/watch?v=hej6ipN86ls) @@ -75,6 +75,9 @@ Running these commands will: - Install Home Assistant - 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). + +
diff --git a/source/images/supported_brands/db.png b/source/images/supported_brands/db.png new file mode 100644 index 00000000000..58f5d1a9f29 Binary files /dev/null and b/source/images/supported_brands/db.png differ diff --git a/source/static/mdi-demo.html b/source/static/mdi-demo.html index 42212a3a301..95a96f76758 100644 --- a/source/static/mdi-demo.html +++ b/source/static/mdi-demo.html @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file