diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index bad54a1da87..65bf1fed0a8 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -160,7 +160,7 @@ p.note { box-shadow: rgba(0,0,0,0.06) 0 0 10px; &::before { - font-family: "FontAwesome"; + font-family: "FontAwesome", sans-serif; content: "\f05a" " Note " attr(data-title); background-color: #6ab0de; color: white; diff --git a/source/_components/automation.markdown b/source/_components/automation.markdown index 78e4154b6ae..50ddd5f4baf 100644 --- a/source/_components/automation.markdown +++ b/source/_components/automation.markdown @@ -161,22 +161,30 @@ automation: #### {% linkable_title Time trigger %} -Time can be triggered in many ways. The most common is to specify `after` and trigger at a specific point in time each day. Alternatively, you can also match if the hour, minute or second of the current time has a specific value. For example, by only setting minutes in the config to 5 it will trigger every hour when it is 5 minutes past whole. You cannot use `after` together with hour, minute or second. +Time can be triggered in many ways. The most common is to specify `after` and trigger at a specific point in time each day. Alternatively, you can also match if the hour, minute or second of the current time has a specific value. You can prefix the value with a `/` to match whenever the value is divisible by that number. You cannot use `after` together with hour, minute or second. ```yaml automation: trigger: platform: time - # All following are optional. - # When 'after' is used, you cannot also match on hour, minute, seconds. - # Military time format. - # after: '15:32:00' - hours: 0 + # Matches every hour at 5 minutes past whole minutes: 5 seconds: 0 -``` -The above example will trigger every hour on the 5 (2:05, 3:05, 4:05, etc). +automation 2: + trigger: + platform: time + # When 'after' is used, you cannot also match on hour, minute, seconds. + # Military time format. + after: '15:32:00' + +automation 3: + trigger: + platform: time + # You can also match on interval. This will match every 5 minutes + minutes: '/5' + seconds: 0 +``` #### {% linkable_title Zone trigger %} diff --git a/source/_components/binary_sensor.command.markdown b/source/_components/binary_sensor.command.markdown index b4fbf185aa2..74147e8a3a9 100644 --- a/source/_components/binary_sensor.command.markdown +++ b/source/_components/binary_sensor.command.markdown @@ -1,6 +1,6 @@ --- layout: component -title: "Command binary sensor" +title: "Command line binary sensor" description: "Instructions how to integrate Command binary sensors within Home Assistant." date: 2016-01-13 12:15 sidebar: true diff --git a/source/_components/binary_sensor.nest.markdown b/source/_components/binary_sensor.nest.markdown new file mode 100644 index 00000000000..ce43d3f95a8 --- /dev/null +++ b/source/_components/binary_sensor.nest.markdown @@ -0,0 +1,38 @@ +--- +layout: component +title: "Nest binary sensor" +description: "Instructions how to integrate Nest binary sensors within Home Assistant." +date: 2016-01-26 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: nest_thermostat.png +ha_category: Binary Sensor +--- + + +The Nest binary sensor platform let you monitor various states of a thermostat from [Nest](https://nest.com). + +To set it up, add the following information to your `configuration.yaml` file: + +```yaml +sensor: + platform: nest + monitored_conditions: + - 'fan' + - 'hvac_ac_state', + - 'hvac_aux_heater_state', + - 'hvac_heat_x2_state', + - 'hvac_heat_x3_state', + - 'hvac_alt_heat_state', + - 'hvac_alt_heat_x2_state', + - 'hvac_emer_heat_state', + - 'online' +``` + +Configuration variables: + +- **monitored_conditions** array (*Required*): States to monitor. + +

You must have the [Nest component](https://home-assistant.io/components/nest/) configured to use this sensor.

diff --git a/source/_components/binary_sensor.zigbee.markdown b/source/_components/binary_sensor.zigbee.markdown new file mode 100644 index 00000000000..7d270316e27 --- /dev/null +++ b/source/_components/binary_sensor.zigbee.markdown @@ -0,0 +1,33 @@ +--- +layout: component +title: ZigBee Binary Sensor +description: "Instructions on how to set up ZigBee binary sensors within Home Assistant." +date: 2016-01-28 12:38 +sidebar: true +comments: false +sharing: true +footer: true +logo: zigbee.png +ha_category: Binary Sensor +--- + +A ZigBee binary sensor in this context is a device connected to one of the digital input pins on a ZigBee module. The states reported by such a device are limited to 'on' or 'off'. By default, a binary sensor is considered 'on' when the ZigBee device's digital input pin is held 'high' and considered 'off' when it is held 'low'. This behaviour can be inverted by setting the `on_state` configuration variable to `low`. + +To configure a digital input as a binary sensor, use the following variables: + +- **name** (*Required*): The name you'd like to give the binary sensor in Home Assistant. +- **platform** (*Required*): Set to `zigbee`. +- **pin** (*Required*): The number identifying which pin to use. +- **address**: The long 64bit address of the remote ZigBee device whose digital input pin you'd like to sample. Do not include this variable if you want to sample the local ZigBee device's pins. +- **on_state**: Either `high` (default) or `low`, depicting whether the binary sensor is considered 'on' when the pin is 'high' or 'low'. + +#### Example + +```yaml +binary_sensor: + - name: Hallway PIR Sensor + platform: zigbee + pin: 0 + address: 0013A20040892FA2 + on_state: low +``` diff --git a/source/_components/device_tracker.asuswrt.markdown b/source/_components/device_tracker.asuswrt.markdown index 9b518a28719..4ca50a9ef3b 100644 --- a/source/_components/device_tracker.asuswrt.markdown +++ b/source/_components/device_tracker.asuswrt.markdown @@ -12,7 +12,7 @@ ha_category: Presence Detection --- -This platform offers presence detection by looking at connected devices to a [ASUSWRT](http://event.asus.com/2013/nw/ASUSWRT/) based router. +The `asuswrt` platform offers presence detection by looking at connected devices to a [ASUSWRT](http://event.asus.com/2013/nw/ASUSWRT/) based router.

This device tracker needs telnet to be enabled on the router. diff --git a/source/_components/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown index 4661b0f11a3..2160821844f 100644 --- a/source/_components/device_tracker.owntracks.markdown +++ b/source/_components/device_tracker.owntracks.markdown @@ -27,4 +27,36 @@ device_tracker: There is no further configuration needed for tracking Owntracks devices. +### {% 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. + +### {% linkable_title Using Owntracks regions %} +Owntracks can track regions, and send region entry and exit information to Home Assistant(HA). You set up a region in the Owntracks app which you should name the same as your HA Zone, and then make sure to turn on the `share` option for the region in the owntracks app. Please see the [owntracks documentation](http://owntracks.org/booklet/guide/waypoints/) + +Home Assistant will use the enter and leave messages to set your zone location. Your location will be set to the center of zone when you enter. Location updates from OwnTracks will be ignored while you are inside a zone. + +When you exit a zone, Home Assistant will start using location updates to track you again. To make sure that Home Assistant correctly exits a zone (which it calculates based on your GPS co-ordinates), you may want to set your Zone radius in HA to be slightly smaller that the Owntracks region radius. + +### {% linkable_title Using Owntracks regions - forcing Owntracks to update using %}iBeacons +When run in the usual `significant changes mode` (which is kind to your phone battery), Owntracks sometimes doesn't update your location as quickly as you'd like when you arrive at a zone. This can be annoying if you want to trigger an automation when you get home. You can improve the situation using iBeacons. + +iBeacons are simple bluetooth devices that send out an "I'm here" message. They are supported by IOS and some Android devices. Owntracks explain more [here](http://owntracks.org/booklet/guide/beacons/) + +When you enter an iBeacon region, Owntracks will send a `region enter` message to HA as described above. So if you want to have an event triggered when you arrive home, you can put an iBeacon outside your front door. If you set up an OwnTracks iBeacon region called `home` then getting close to the beacon will trigger an update to HA that will set your zone to be `home`. + +When you exit an iBeacon region HA will switch back to using GPS to determine your location. Depending on the size of your zone, and the accuracy of your GPS location this may change your HA zone. + +Sometimes Owntracks will lose connection with an iBeacon for a few seconds. If you name your beacon starting with `-` Owntracks will wait longer before deciding it has exited the beacon zone. HA will ignore the `-` when it matches the Owntracks region with Zones. So if you call your Owntracks region `-home` then HA will recognise it as `home`, but you will have a more stable iBeacon connection. + +### {% linkable_title Using Owntracks iBeacons to track devices %} +iBeacons don't need to be stationary. You could put one on your key ring, or in your car. + +When your phone sees a mobile iBeacon that it knows about, it will tell HA the location of that iBeacon. If your phone moves while you are connected to the iBeacon, HA will update the location of the iBeacon. But when your phone loses the connection, HA will stop updating the iBeacon location. + +To use mobile iBeacons with HA, you just set up a region that doesn't match your Zone names. If HA sees an entry event for a iBeacon region that doesn't match a Zone name (say `keys`) - it will start tracking it, calling the device `device_tracker.beacon_keys`). + +This allows you to write zone automations for devices that can't track themselves (for example `alert me if I leave the house and my keys are still at home`). Another example would be `open the gates if my car arrives home`. + +### {% linkable_title Using mobile and fixed iBeacons together %} +You can use iBeacons of both types together, so if you have a Zone `drive` with an iBeacon region called `-drive` and you arrive home with a mobile iBeacon called `-car`, then `device_tracker.beacon_car` will be set to a state of `drive`. + diff --git a/source/_components/group.markdown b/source/_components/group.markdown index 57105769f34..e28ac57bbd6 100644 --- a/source/_components/group.markdown +++ b/source/_components/group.markdown @@ -11,24 +11,40 @@ logo: home-assistant.png ha_category: Organization --- -Groups allow the user to combine multiple entities into one. +Groups allow the user to combine multiple entities into one. A group can be promoted to a **view** by setting the `view` option to `yes`. This will make the group available as a new tab in the frontend. Check the **Set State** page from the **Developer Tools** and browse the **Current entities:** listing for all available entities. - ```yaml # Example configuration.yaml entry group: - information: - - sensor.time - living_room: - - binary_sensor.tv - - sensor.living_room_temperature kitchen: - - switch.kitchen_pin_3 - - sensor.oven_temperature + name: Kitchen + entities: + - switch.kitchen_pin_3 + upstairs: + name: Kids + icon: mdi:account-multiple + view: yes + entities: + - input_boolean.notify_home + - camera.demo_camera + - device_tracker.demo_paulus + - group.garden ``` +Configuration variables: + +- **name** (*Optional*): Name of the group. +- **icon** (*Optional*): An optional icon to show in the Frontend. +- **view** (*Optional*): If yes then the entry will be shown as a view. +- **entities** array or comma delimited string (*Required*): List of entites to group. + +

+ +Example of groups shown as views in the frontend. +

+ If all entities are switches or lights they can be controlled as one with a switch at the top of the card. Grouped states should share the same type of states (ON/OFF or HOME/NOT_HOME). ```yaml @@ -38,8 +54,5 @@ group: - light.bowl - light.ceiling - light.tv_back_light - children: - - device_tracker.child_1 - - device_tracker.child_2 + children: device_tracker.child_1, device_tracker.child_2 ``` - diff --git a/source/_components/insteon_hub.markdown b/source/_components/insteon_hub.markdown new file mode 100644 index 00000000000..1681372681f --- /dev/null +++ b/source/_components/insteon_hub.markdown @@ -0,0 +1,28 @@ +--- +layout: component +title: "Insteon" +description: "Instructions how to setup the Insteon Hub within Home Assistant." +date: 2016-01-27 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: insteon.png +ha_category: Hub +--- + +The `insteon` component let you use your [Insteon](http://www.insteon.com/) Hub with Home Assistant. + +To integrate your Insteon hub with Home Assistant, add the following section to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +insteon: + username: YOUR_USERNAME + password: YOUR_PASSWORD +``` + +Configuration variables: + +- **username** (*Required*): The username that used to access the Insteon interface. +- **password** (*Required*): The password that used to access the Insteon interface. diff --git a/source/_components/light.lifx.markdown b/source/_components/light.lifx.markdown new file mode 100644 index 00000000000..f6456c04566 --- /dev/null +++ b/source/_components/light.lifx.markdown @@ -0,0 +1,27 @@ +--- +layout: component +title: "LIFX" +description: "Instructions how to integrate LIFX into Home Assistant." +date: 2016-01-27 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: lifx.png +ha_category: Light +--- + +The `lifx` platform allows you to integrate your [LIFX](http://www.lifx.com) into Home Assistant. + +```yaml +# Example configuration.yaml entry +light: + platform: lifx + server: 192.168.1.98 + broadcast: 192.168.1.255 +``` +Configuration variables: + +- **server** (*Optional*): Your server address. Only needed if using more than one network interface. Omit if you are unsure. +- **consumer_secret** (*Optional*): The broadcast address, set to reach all LIFX bulbs. + diff --git a/source/_components/light.zigbee.markdown b/source/_components/light.zigbee.markdown new file mode 100644 index 00000000000..0c71f8e4bfc --- /dev/null +++ b/source/_components/light.zigbee.markdown @@ -0,0 +1,33 @@ +--- +layout: component +title: ZigBee Light +description: "Instructions on how to set up ZigBee lights within Home Assistant." +date: 2016-01-28 12:38 +sidebar: true +comments: false +sharing: true +footer: true +logo: zigbee.png +ha_category: Light +--- + +A ZigBee light in this context is a light connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a light is considered 'on' when the ZigBee device's digital output is held 'high' and considered 'off' when it is held 'low'. This behaviour can be inverted by setting the `on_state` configuration variable to `low`. + +To configure a digital output pin as a light, use the following variables: + +- **name** (*Required*): The name you'd like to give the light in Home Assistant. +- **platform** (*Required*): Set to `zigbee`. +- **pin** (*Required*): The number identifying which pin to use. +- **address**: The long 64bit address of the remote ZigBee device whose digital output pin you'd like to switch. Do not include this variable if you want to switch the local ZigBee device's pins. +- **on_state**: Either `high` (default) or `low`, depicting whether the digital output pin is pulled high or low when the light is turned on. + +#### Example + +```yaml +light: + - name: Desk Lamp + platform: zigbee + pin: 0 + address: 0013A20040791FA2 + on_state: low +``` diff --git a/source/_components/mqtt_eventstream.markdown b/source/_components/mqtt_eventstream.markdown index 59a49a64505..a208bdae3e7 100644 --- a/source/_components/mqtt_eventstream.markdown +++ b/source/_components/mqtt_eventstream.markdown @@ -1,7 +1,7 @@ --- layout: component title: "MQTT Eventstream" -description: "Instructions how to setup MQTT within Home Assistant." +description: "Instructions how to setup MQTT eventstream within Home Assistant." date: 2016-01-13 08:00 sidebar: true comments: false diff --git a/source/_components/mysensors.markdown b/source/_components/mysensors.markdown index 83482b97904..26214db8b51 100644 --- a/source/_components/mysensors.markdown +++ b/source/_components/mysensors.markdown @@ -14,6 +14,8 @@ featured: true The [MySensors](https://www.mysensors.org) project combines Arduino boards with NRF24L01 radio boards to build sensor networks. The component will automatically add all available switches and sensors to Home Assistant. +### Configuration + Integrate your Serial MySensors Gateway by adding the following to your `configuration.yaml` file: ```yaml @@ -32,13 +34,32 @@ mysensors: Configuration variables: - **port** (*Required*): The port where your board is connected to your Home Assistant host. -- **debug** (*Optional*): Enable or disable verbose debug logging. -- **persistence** (*Optional*): Enable or disable local persistence of sensor information. If this is disabled, then each sensor will need to send presentation messages after Home Assistant starts. +- **debug** (*Optional*): Enable or disable verbose debug logging. Default is false. +- **persistence** (*Optional*): Enable or disable local persistence of sensor information. If this is disabled, then each sensor will need to send presentation messages after Home Assistant starts. Default is true. - **persistence_file** (*Optional*): Path to a file to save sensor information. The file extension determines the file type. Currently supported file types are 'pickle' and 'json'. -- **version** (*Optional*): Specifies the MySensors protocol version to use (ex. 1.4, 1.5). +- **version** (*Optional*): Specifies the MySensors protocol version to use. Supports 1.4 and 1.5. Default is 1.4. If you are using an original Arduino the port will be named `ttyACM*`. The exact number can be determined with the command shown below. ```bash $ ls /dev/ttyACM* ``` + +### Presentation + +Present a MySensors sensor or actuator, by following these steps: + +1. Connect your gateway to your computer. +2. Configure the MySensors component in configuration.yaml. +3. Start hass. +4. Wait for "gateway started" in the log output. +5. Write and upload your MySensors sketch to the sensor. Make sure you: + - Either use a manual node id, or AUTO for requesting a node id from the controller, in gw.begin(). + - Send sketch name. + - Present the sensor's S_TYPE. + - Send at least one initial value per V_TYPE. +6. Start the sensor. + +Visit the [library api] of MySensors for more information. + +[library api]: https://www.mysensors.org/download/sensor_api_15 diff --git a/source/_components/nest.markdown b/source/_components/nest.markdown new file mode 100644 index 00000000000..b04bfb93c26 --- /dev/null +++ b/source/_components/nest.markdown @@ -0,0 +1,30 @@ +--- +layout: component +title: "Nest" +description: "Instructions how to integrate Nest into Home Assistant." +date: 2016-01-29 21:57 +sidebar: true +comments: false +sharing: true +footer: true +logo: nest_thermostat.png +ha_category: Hub +featured: true +--- + +The Nest component is the main component to integrate all Nest related platforms. Besides this component you will have to setup your thermostat and any connected sensors separately. + +```yaml +# Example configurayion.yaml entry +nest: + username: USERNAME + password: PASSWORD + +thermostat: + platform: nest +``` + +Configuration variables: + +- **username** (*Required*): Your Nest username. +- **password** (*Required*): Your Nest password. diff --git a/source/_components/notify.google_voice.markdown b/source/_components/notify.google_voice.markdown new file mode 100644 index 00000000000..677f8749d98 --- /dev/null +++ b/source/_components/notify.google_voice.markdown @@ -0,0 +1,36 @@ +--- +layout: component +title: "Google Voice SMS" +description: "Instructions how to add user notifications to Home Assistant." +date: 2016-01-29 +sidebar: true +comments: false +sharing: true +footer: true +logo: google_voice.png +ha_category: Notifications +--- + +[Google Voice](https://www.google.com/voice) is a free service, that allows sending of SMS messages to mobile phones. + +### Configuration + +```yaml +# Example configuration.yaml entry +notify: + platform: googlevoice + username: YOUR_GOOGLE_EMAIL + password: YOUR_GOOGLE_PASSWORD + # Optional + name: NOTIFIER_NAME +``` + +Configuration variables: + +- **username** (*Required*): Enter your the Google email address you have signed up for Google Voice with. Go to https://www.google.com/voice to setup your Google Voice account. +- **password** (*Required*): Enter the password associated with the above email. Go to https://www.pushbullet.com/ to retrieve your API key. +- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. + +### Usage + +Google Voice is a notify platform and thus can be controlled by calling the notify service [as described here](/components/notify/). It will send a notification to all devices listed in the notification **target**. diff --git a/source/_components/notify.pushbullet.markdown b/source/_components/notify.pushbullet.markdown index c6e4abb1d3e..c8877437343 100644 --- a/source/_components/notify.pushbullet.markdown +++ b/source/_components/notify.pushbullet.markdown @@ -12,16 +12,15 @@ ha_category: Notifications featured: true --- -[PushBullet](https://www.pushbullet.com/) is a free service to send information between your phones, browsers and friends. +The `pushbullet` notification platform sends messages to [PushBullet](https://www.pushbullet.com/), a free service to send information between your phones, browsers, and friends. -### Configuration +To enable PushBullet notifications in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry notify: platform: pushbullet api_key: YOUR_API_KEY - # Optional name: NOTIFIER_NAME ``` @@ -30,9 +29,9 @@ Configuration variables: - **api_key** (*Required*): Enter the API key for PushBullet. Go to https://www.pushbullet.com/ to retrieve your API key. - **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. -### Usage +### {% linkable_title Usage %} -PushBullet is a notify platform and thus can be controlled by calling the notify service [as described here](/components/notify/). It will send a notification to all devices registered in the PushBullet account. An optional **target** parameter can be given to PushBullet to specify specific account's devices, contacts or channels. +PushBullet is a notify platform and thus can be controlled by calling the notify service [as described here](/components/notify/). It will send a notification to all devices registered in the PushBullet account. An optional **target** parameter can be given to PushBullet to specify specific account's devices, contacts or channels. Type | Prefix | Suffix | Example ---- | ------ | ------ | ------- @@ -42,7 +41,7 @@ Email | `email/` | Contact's email address | `email/email@example.com` If using targets, your own account's email address functions as 'send to all devices'. All targets are verified (if exists) before sending, except email. -#### Example service payload +#### {% linkable_title Example service payload %} ```json { diff --git a/source/_components/notify.smtp.markdown b/source/_components/notify.smtp.markdown index f90671994fc..d56dcc00c0d 100644 --- a/source/_components/notify.smtp.markdown +++ b/source/_components/notify.smtp.markdown @@ -12,7 +12,7 @@ ha_category: Notifications --- -The smtp platform allows you to deliver notifications from Home Assistant to an e-mail recipient. +The `smtp` platform allows you to deliver notifications from Home Assistant to an e-mail recipient. To enable notification by e-mail in your installation, add the following to your `configuration.yaml` file: @@ -33,14 +33,13 @@ notify: Configuration variables: - **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. -- **server** (*Required*): SMTP server which is used to end the notifications. For Google Mail, eg. smtp.gmail.com. Keep in mind that Google has some extra layers of protection which need special attention (Hint: 'Less secure apps'). -- **port** (*Required*): The port that the SMTP server is using, eg. 587 for Google Mail and STARTTLS or 465/993 depending on your SMTP servers. -- **sender** (*Required*): E-Mail address of the sender. -- **username** (*Required*): Username for the SMTP account. -- **password** (*Required*):Password for the SMTP server that belongs to the given username. If the password contains a colon it need to be wrapped in apostrophes. +- **server** (*Optional*): SMTP server which is used to end the notifications. For Google Mail, eg. smtp.gmail.com. Keep in mind that Google has some extra layers of protection which need special attention (Hint: 'Less secure apps'). Defaults to `localhost`. +- **port** (*Optional*): The port that the SMTP server is using, eg. 587 for Google Mail and STARTTLS or 465/993 depending on your SMTP servers. Defaults to 25. +- **sender** (*Optional*): E-mail address of the sender. +- **username** (*Optional*): Username for the SMTP account. +- **password** (*Optional*):Password for the SMTP server that belongs to the given username. If the password contains a colon it need to be wrapped in apostrophes. - **recipient** (*Required*): Recipient of the notification. -- **starttls** (*Optional*): Enables STARTTLS, eg. 1 or 0. - +- **starttls** (*Optional*): Enables STARTTLS, eg. 1 or 0. Defaults to 0. This platform is fragile and not able to catch all exceptions in a smart way because of the large number of possible configuration combinations. diff --git a/source/_components/notify.telegram.markdown b/source/_components/notify.telegram.markdown index 83b8bfd6b27..b804aa5bff7 100644 --- a/source/_components/notify.telegram.markdown +++ b/source/_components/notify.telegram.markdown @@ -12,9 +12,9 @@ ha_category: Notifications --- -The telegram platform uses [Telegram](https://web.telegram.org) to delivery notifications from Home Assistant to your Android device, your Windows phone, or your iOS device. +The `telegram` platform uses [Telegram](https://web.telegram.org) to delivery notifications from Home Assistant to your Android device, your Windows phone, or your iOS device. -The requirement are: +The requirements are: - You need a [Telegram bot](https://core.telegram.org/bots). Please follow those [instructions](https://core.telegram.org/bots#botfather) to create one and get the token for your bot. Keep in mind that bots are not allowed to contact users. You need to make the first contact with your user. Meaning that you need to send a message to the bot from your user. - The `chat_id` of an user. diff --git a/source/_components/notify.twitter.markdown b/source/_components/notify.twitter.markdown new file mode 100644 index 00000000000..97ea742ce19 --- /dev/null +++ b/source/_components/notify.twitter.markdown @@ -0,0 +1,38 @@ +--- +layout: component +title: "Twitter" +description: "Instructions how to add Twitter notifications to Home Assistant." +date: 2016-01-27 07:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: twitter.png +ha_category: Notifications +--- + + +The `twitter` platform uses [Twitter](https://twitter.com) to delivery notifications from Home Assistant. + +Go to [Twitter Apps](https://apps.twitter.com/app/new) and create an application. Visit "Keys and Access Tokens" of the application to get the details ("Consumer Key", "Consumer Secret", and "Access Token Secret" which needs to be generated). + +To add Twitter to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +notify: + name: NOTIFIER_NAME + platform: twitter + consumer_key: ABCDEFGHJKLMNOPQRSTUVXYZ + consumer_secret: ABCDEFGHJKLMNOPQRSTUVXYZ + access_token_secret: ABCDEFGHJKLMNOPQRSTUVXYZ +``` + +Configuration variables: + +- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. +- **consumer_key** (*Required*): Your "Consumer Key" (API Key) for the application. +- **consumer_secret** (*Required*): Your "Consumer Secret" (API Secret) for the application. +- **access_token_secret** (*Required*): Your "Access Token Secret" for the application. + +To use notifications, please see the [getting started with automation page]({{site_root}}/components/automation/). diff --git a/source/_components/script.markdown b/source/_components/script.markdown index 033c51e70de..5a9f6d285f9 100644 --- a/source/_components/script.markdown +++ b/source/_components/script.markdown @@ -29,13 +29,14 @@ script: domain: light - alias: Bedroom lights on service: light.turn_on - service_data: + data: entity_id: group.bedroom + brightness: 100 - delay: # supports seconds, milliseconds, minutes, hours, etc. minutes: 1 - alias: Living room lights on service: light.turn_on - service_data: + data: entity_id: group.living_room ``` diff --git a/source/_components/sensor.mysensors.markdown b/source/_components/sensor.mysensors.markdown index 26538464526..bc58715d98b 100644 --- a/source/_components/sensor.mysensors.markdown +++ b/source/_components/sensor.mysensors.markdown @@ -14,4 +14,48 @@ featured: false Integrates MySensors sensors into Home Assistant. See the [main component] for configuration instructions. +The following sensor types are supported: + +##### MySensors version 1.4 and higher + +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 +S_WIND | V_WIND, V_GUST +S_RAIN | V_RAIN, V_RAINRATE +S_UV | V_UV +S_WEIGHT | V_WEIGHT, V_IMPEDANCE +S_POWER | V_WATT, V_KWH +S_DISTANCE | V_DISTANCE +S_LIGHT_LEVEL | V_LIGHT_LEVEL +S_IR | V_IR_SEND, V_IR_RECEIVE +S_WATER | V_FLOW, V_VOLUME +S_AIR_QUALITY | V_DUST_LEVEL +S_CUSTOM | V_VAR1, V_VAR2, V_VAR3, V_VAR4, V_VAR5 +S_DUST | V_DUST_LEVEL +S_SCENE_CONTROLLER | V_SCENE_ON, V_SCENE_OFF + +##### MySensors version 1.5 and higher + +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_LIGHT_LEVEL | V_LEVEL +S_AIR_QUALITY | V_LEVEL (replaces V_DUST_LEVEL) +S_DUST | V_LEVEL (replaces V_DUST_LEVEL) + +For more information, visit the [serial api] of MySensors. + [main component]: /components/mysensors/ +[serial api]: https://www.mysensors.org/download/serial_api_15 diff --git a/source/_components/sensor.nest.markdown b/source/_components/sensor.nest.markdown index ef22e305d07..f723d806ff7 100644 --- a/source/_components/sensor.nest.markdown +++ b/source/_components/sensor.nest.markdown @@ -1,9 +1,8 @@ --- layout: component -title: "Nest thermostat" -description: "Instructions how to integrate Nest thermostats sensors within Home Assistant." -# Year set to 2017 to unpublish till 0.12 release -date: 2017-01-13 19:59 +title: "Nest sensor" +description: "Instructions how to integrate Nest sensors within Home Assistant." +date: 2016-01-13 19:59 sidebar: true comments: false sharing: true @@ -13,23 +12,14 @@ ha_category: Sensor --- -The `nest` thermostat platform let you control a thermostat from [Nest](https://nest.com). It also includes the ability to monitor things like the state of our HVAC system and the current humidity and temperature. +The Nest sensor platform let you monitor sensors connected to your [Nest](https://nest.com) thermostat. To set it up, add the following information to your `configuration.yaml` file: ```yaml -sensor 3: +sensor: platform: nest monitored_conditions: - - 'fan' - - 'hvac_ac_state', - - 'hvac_aux_heater_state', - - 'hvac_heat_x2_state', - - 'hvac_heat_x3_state', - - 'hvac_alt_heat_state', - - 'hvac_alt_heat_x2_state', - - 'hvac_emer_heat_state', - - 'online' - 'temperature', - 'target', - 'away_temperature[0]', @@ -42,8 +32,8 @@ sensor 3: - 'battery_level' ``` -You must have the [Nest Thermostat](https://home-assistant.io/components/thermostat.nest/) entity configured to use this sensor. +Configuration variables: -

- -

+- **monitored_conditions** array (*Required*): States to monitor. + +

You must have the [Nest component](https://home-assistant.io/components/nest/) configured to use this sensor.

diff --git a/source/_components/sensor.onewire.markdown b/source/_components/sensor.onewire.markdown new file mode 100644 index 00000000000..44cb32bea84 --- /dev/null +++ b/source/_components/sensor.onewire.markdown @@ -0,0 +1,32 @@ +--- +layout: component +title: "One wire sensor" +description: "Instructions how to integrate One wire (1-wire) sensors into Home Assistant." +date: 2016-01-17 07:15 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Sensor +--- + +The `onewire` platform supports sensors which are using the One wire (1-wire) bus for communication. + +Supported devices: + +- [DS18B20](https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf) + +To enable One wire sensors in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + platform: onewire + names: + some_id: your name +``` + +Configuration variables: + +- **names** array (*Optional*): ID and friendly name of your sensors. + diff --git a/source/_components/sensor.template.markdown b/source/_components/sensor.template.markdown new file mode 100644 index 00000000000..c45e33577a9 --- /dev/null +++ b/source/_components/sensor.template.markdown @@ -0,0 +1,57 @@ +--- +layout: component +title: "Template sensor" +description: "Instructions how to integrate Template sensors into Home Assistant." +date: 2016-01-27 07:00 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Sensor +--- + +The `template` platform supports sensors which breaks out `state_attributes` from other entities. + +To enable Template sensors in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + platform: template + sensors: + solar_angle: + value_template: '{{ states.sun.sun.attributes.elevation }}' + friendly_name: 'Sun angle' + unit_of_measurement: 'degrees' + sunrise: + value_template: '{{ states.sun.sun.attributes.next_rising }}' +``` + +Configuration variables: + +- **sensors** array (*Required*): List of your sensors. + - **friendly_name** (*Optional*): Name to use in the Frontend. + - **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. + - **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract a value from the payload. + + +## {% linkable_title Examples %} + +In this section you find some real life examples of how to use this sensor. + +### {% linkable_title Sun angle %} + +This example shows the sun angle in the frontend. + +```yaml +sensor: + platform: template + sensors: + solar_angle: + value_template: '{{ "%+.1f"|format(states.sun.sun.attributes.elevation) }}' + friendly_name: 'Sun Angle' + unit_of_measurement: '°' +``` + + + diff --git a/source/_components/sensor.zigbee.markdown b/source/_components/sensor.zigbee.markdown new file mode 100644 index 00000000000..db03ea55bcf --- /dev/null +++ b/source/_components/sensor.zigbee.markdown @@ -0,0 +1,62 @@ +--- +layout: component +title: ZigBee Sensor +description: "Instructions on how to set up ZigBee sensors within Home Assistant." +date: 2016-01-28 10:08 +sidebar: true +comments: false +sharing: true +footer: true +logo: zigbee.png +ha_category: Sensor +--- + +There are two types of ZigBee sensor available to Home Assistant: + +- [Analog input pin](#analog-input-pin) +- [Temperature sensor](#temperature-sensor) (XBee Pro) + +## {% linkable_title Analog Input Pin %} + +The analog input pins on an XBee (non-Pro) will read 0V to 1.2V. This is translated by the [xbee-helper](https://github.com/flyte/xbee-helper) library into a percentage. The maximum voltage your ZigBee device will read is configurable using the `max_volts` configuration variable. + +To configure an analog input pin sensor, use the following variables: + +- **name** (*Required*): The name you'd like to give the sensor in Home Assistant. +- **platform** (*Required*): Set to `zigbee`. +- **type** (*Required*): Set to `analog`. +- **pin** (*Required*): The number identifying which pin to sample. +- **address**: The long 64bit address of the remote ZigBee device whose analog input pin you'd like to sample. Do not include this variable if you want to sample the local ZigBee device's pins. +- **max_volts**: The maximum voltage which the analog input pin is able to read. Default: `1.2` + +#### Example + +```yaml +sensor: + - name: My Analog Input + platform: zigbee + type: analog + pin: 0 + address: 0013A2004233D138 +``` + +See the [Digi knowledge base](http://knowledge.digi.com/articles/Knowledge_Base_Article/Digital-and-analog-sampling-using-XBee-radios) for more XBee sampling details. + +## {% linkable_title Temperature Sensor %} + +The XBee Pro (and perhaps other third party modules) contains a thermometer device which can be read by using the `TP` AT command. To set this up as a temperature sensor device in Home Assistant use the following config variables: + +- **name** (*Required*): The name you'd like to give the temperature sensor in Home Assistant +- **platform** (*Required*): Set to `zigbee` +- **type** (*Required*): Set to `temperature` +- **address**: The long 64bit address of the remote ZigBee device whose temperature sensor you'd like to sample. Do not include this variable if you want to sample the local ZigBee device's temperature. + +#### Example + +```yaml +sensor: + - name: Living Room Temperature + platform: zigbee + type: temperature + address: 0013A20050E752C5 +``` \ No newline at end of file diff --git a/source/_components/statsd.markdown b/source/_components/statsd.markdown new file mode 100644 index 00000000000..fbaa914b3ef --- /dev/null +++ b/source/_components/statsd.markdown @@ -0,0 +1,34 @@ +--- +layout: component +title: "StatsD" +description: "Record events in StatsD." +date: 2016-01-25 08:00 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: "History" +--- + +The `statsd` component makes it possible to transfer all state changes to an external [StatsD](https://github.com/etsy/statsd) instance. + +To use the `statsd` component in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +statsd: + host: DB_HOST_IP_ADDRESS + port: 20000 + prefix: DB_TO_STORE_EVENTS + rate: 1 +``` + +Configuration variables: + +- **host** (*Optional*): IP address of your StatsD host, eg. 192.168.1.10. Defaults to `localhost`. +- **port** (*Optional*): Port to use. Defaults to 8125. +- **prefix** (*Optional*): Prefix to use. Defaults to `hass`. +- **rate** (*Optional*): The sample rate. Defaults to 1. + +StatsD supports various [backends](https://github.com/etsy/statsd/blob/master/docs/backend.md). + diff --git a/source/_components/switch.mysensors.markdown b/source/_components/switch.mysensors.markdown index 00b90022d5b..43de6457344 100644 --- a/source/_components/switch.mysensors.markdown +++ b/source/_components/switch.mysensors.markdown @@ -14,4 +14,31 @@ featured: false Integrates MySensors switches into Home Assistant. See the [main component] for configuration instructions. +The following actuator types are supported: + +##### MySensors version 1.4 and higher + +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_LIGHT | V_STATUS +S_BINARY | V_STATUS, V_LIGHT +S_SPRINKLER | V_STATUS +S_WATER_LEAK | V_ARMED +S_SOUND | V_ARMED +S_VIBRATION | V_ARMED +S_MOISTURE | V_ARMED + +For more information, visit the [serial api] of MySensors. + [main component]: /components/mysensors/ +[serial api]: https://www.mysensors.org/download/serial_api_15 diff --git a/source/_components/switch.zigbee.markdown b/source/_components/switch.zigbee.markdown new file mode 100644 index 00000000000..e75435b0184 --- /dev/null +++ b/source/_components/switch.zigbee.markdown @@ -0,0 +1,33 @@ +--- +layout: component +title: ZigBee Switch +description: "Instructions on how to set up ZigBee switches within Home Assistant." +date: 2016-01-28 11:52 +sidebar: true +comments: false +sharing: true +footer: true +logo: zigbee.png +ha_category: Switch +--- + +A ZigBee switch in this context is a device connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a switch is considered 'on' when the ZigBee device's digital output is held 'high' and considered 'off' when it is held 'low'. This behaviour can be inverted by setting the `on_state` configuration variable to `low`. + +To configure a digital output pin as a switch, use the following variables: + +- **name** (*Required*): The name you'd like to give the switch in Home Assistant. +- **platform** (*Required*): Set to `zigbee`. +- **pin** (*Required*): The number identifying which pin to use. +- **address**: The long 64bit address of the remote ZigBee device whose digital output pin you'd like to switch. Do not include this variable if you want to switch the local ZigBee device's pins. +- **on_state**: Either `high` (default) or `low`, depicting whether the digital output pin is pulled high or low when the switch is turned on. + +#### Example + +```yaml +switch: + - name: Pond Fountain + platform: zigbee + pin: 0 + address: 0013A20040791FA2 + on_state: low +``` diff --git a/source/_components/tellduslive.markdown b/source/_components/tellduslive.markdown index 9effddbb502..bf571f33590 100644 --- a/source/_components/tellduslive.markdown +++ b/source/_components/tellduslive.markdown @@ -12,19 +12,33 @@ ha_category: Hub featured: false --- -[Telldus Live] is a cloud platform that connects to your Tellstick connected gear at home. +The `tellduslive` component let you connect to [Telldus Live](https://live.telldus.com). It's cloud platform that connects to your Tellstick connected gear at home. -[Telldus Live]: https://live.telldus.com +To get started using Telldus Live, you will have to obtain developer keys from (https://api.telldus.com/keys/index)[developer-keys]. -To get started using Telldus Live, you will have to obtain developer keys from [here][developer-keys]. - -[developer-keys]: https://api.telldus.com/keys/index +To integrate your Telldus Live with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry tellduslive: - public_key: XX - private_key: XX - token: XX - token_secret: XX + public_key: ABCDEFGHJKLMNOPQRSTUVXYZ + private_key: ABCDEFGHJKLMNOPQRSTUVXYZ + token: ABCDEFGHJKLMNOPQRSTUVXYZ + token_secret: ABCDEFGHJKLMNOPQRSTUVXYZ ``` + +Configuration variables: + +- **public_key** (*Required*): The public key for the Telldus Live service. +- **private_key** (*Required*): The private key for the Telldus Live service. +- **token** (*Required*): The token for the Telldus Live service. +- **token_secret** (*Required*): The token secret for the Telldus Live service. + +Tellstick Net devices can be auto discovered using [this method](https://developer.telldus.com/doxygen/html/TellStickNet.html). + +It might be possible to communicate with the Tellstick Net device directly, bypassing the Tellstick Live service. This however is [poorly documented](http://developer.telldus.se/ticket/114) and yet not [fully supported](https://developer.telldus.com/doxygen/html/TellStickNet.html). + +

+API requests to certain methods are limited to one request every 10 minutes. +

+ diff --git a/source/_components/thermostat.nest.markdown b/source/_components/thermostat.nest.markdown index fc44ac1e08b..3164fb8c633 100644 --- a/source/_components/thermostat.nest.markdown +++ b/source/_components/thermostat.nest.markdown @@ -9,26 +9,20 @@ sharing: true footer: true logo: nest_thermostat.png ha_category: Thermostat -featured: true --- -The nest thermostat platform let you control a thermostat from [Nest](https://nest.com). +The Nest thermostat platform let you control a thermostat from [Nest](https://nest.com). To set it up, add the following information to your `configuration.yaml` file: ```yaml thermostat: platform: nest - username: USERNAME - password: PASSWORD ``` -Configuration variables: - -- **username** (*Required*): Your Nest username. -- **password** (*Required*): Your Nest password. -

+ +

You must have the [Nest component](https://home-assistant.io/components/nest/) configured to use this sensor.

diff --git a/source/_components/zigbee.markdown b/source/_components/zigbee.markdown new file mode 100644 index 00000000000..51ae3f4fae0 --- /dev/null +++ b/source/_components/zigbee.markdown @@ -0,0 +1,55 @@ +--- +layout: component +title: "ZigBee" +description: "Instructions on how to integrate a ZigBee network with Home Assistant." +date: 2016-01-27 17:10 +sidebar: true +comments: false +sharing: true +footer: true +logo: zigbee.png +ha_category: DIY +--- + +[ZigBee](http://www.zigbee.org/what-is-zigbee/) integration for Home Assistant allows you to utilise modules such as the [XBee](http://www.digi.com/lp/xbee) as wireless General Purpose Input/Output (GPIO) devices. The component requires a local ZigBee device to be connected over a serial port. Through this it will send and receive commands to and from other devices on the ZigBee mesh network. + +There is currently support for the following device types within Home Assistant: + +- [Binary Sensor](../binary_sensor.zigbee) (digital input pins) +- [Sensor](../sensor.zigbee) (analog input pins and temperature sensor) +- [Light](../light.zigbee) (digital output pins) +- [Switch](../switch.zigbee) (digital output pins) + +The local ZigBee device (assuming XBee) must have an up to date Router or Coordinator API firmware installed. + +## Configuration + +A `zigbee` section must be present in the `configuration.yaml` file and contain the following options as required: + +- **device**: The serial port to which the local ZigBee device is connected. Default: `/dev/ttyUSB0` + +- **baud**: The baud rate at which to communicate with the local ZigBee device. Default: `9600` + +#### Example + +```yaml +zigbee: + device: /dev/ttyUSB0 + baud: 115200 +``` + +Or to simply use the defaults: + +```yaml +zigbee: +``` + +To find the possible serial port names of your device, run: + +```bash +$ ls /dev/ttyUSB* +``` + +

+The port may also appear as /dev/ttyACM* if you're communicating with the ZigBee device through an Arduino. +

diff --git a/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown b/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown new file mode 100644 index 00000000000..41a6b1b1643 --- /dev/null +++ b/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown @@ -0,0 +1,97 @@ +--- +layout: page +title: "Restart Home Assistant if Wemo Switch is not detected" +description: "Restart Home Assistant if Wemo Switch is not detected." +date: 2016-01-29 08:00 +sidebar: false +comments: false +sharing: true +footer: true +--- + +### {% linkable_title Restart Home Assistant %} + +This configuration example is restarting Home Assistant if a [WeMo](/components/switch.wemo/) switch is not detected. An additional MQTT switch is present for stopping Home Assistant and can be triggered by [IFTTT](/components/ifttt/). The running batch script will automatically restart Home Assistant if the process isn't found anymore. + +```yaml +mqtt: + broker: 127.0.0.1 + port: 1883 + client_id: home-assistant-1 + keepalive: 60 + +device_tracker: + - platform: nmap_tracker + hosts: 192.168.0.1-255 + home_interval: 1 + interval_seconds: 30 + consider_home: 900 + +ifttt: + key: *** + +notify: + - platform: pushbullet + api_key: *** + name: pushbullet + +switch: + - platform: wemo + - platform: mqtt + state_topic: "home/killhass" + command_topic: "home/killhass" + name: "KillHass" + qos: 0 + payload_on: "ON" + payload_of: "OFF" + optimistic: false + +script: + restarthawemo: + alias: "Restart HA if WeMo isn't found after 15 minutes" + sequence: + - delay: + minutes: 15 + - execute_service: notify.pushbullet + service_data: + message: 'WeMo not found, restarting HA' + - execute_service: switch.turn_on + service_data: + entity_id: switch.killhass + +automation: + - alias: "Restart HA if WeMo switch isn't found after 15 minutes" + trigger: + platform: state + entity_id: device_tracker.wemo + from: 'not_home' + to: 'home' + condition: + - platform: template + value_template: {% raw %}'{% if states.switch.wemo %}false{% else %}true{% endif %}'{% endraw %} + - platform: state + entity_id: script.restarthawemo + state: 'off' + action: + service: homeassistant.turn_on + entity_id: script.restarthawemo + - alias: 'Stop HA' + trigger: + - platform: state + entity_id: switch.KillHass + state: 'on' + action: + service: homeassistant.stop + - alias: 'Stop restarting HA is WeMo is found' + trigger: + platform: template + value_template: {% raw %}'{% if states.switch.wemo %}true{% else %}false{% endif %}'{% endraw %} + condition: + platform: state + entity_id: script.restarthawemo + state: 'on' + action: + service: homeassistant.turn_off + entity_id: script.restarthawemo +``` + diff --git a/source/_cookbook/track_battery_level.markdown b/source/_cookbook/track_battery_level.markdown new file mode 100644 index 00000000000..e60d54c5980 --- /dev/null +++ b/source/_cookbook/track_battery_level.markdown @@ -0,0 +1,40 @@ +--- +layout: page +title: "Track your battery level" +description: "Basic example how to track the battery level of your mobile devices." +date: 2016-01-29 09:00 +sidebar: false +comments: false +sharing: true +footer: true +--- + +### {% linkable_title Battery level %} + +The [iCloud](/components/device_tracker.icloud/) is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). + +```yaml + - platform: template + sensors: + battery_iphone: + unit_of_measurement: '%' + value_template: >- + {% raw %}{%- if states.device_tracker.iphone.attributes.battery %} + {{ states.device_tracker.iphone.attributes.battery }} + {% else %} + {{ states.sensor.battery_iphone.state }} + {%- endif %}{% endraw %} +``` + +The `else` part is used to have the sensor keep it's last state if the newest [iCloud](/components/device_tracker.icloud/) update doesn't have any battery state in it (which happens sometimes). Otherwise the sensor will be blank. + +While running the [Owntracks](/components/device_tracker.owntracks/) device tracker you can retrieve the battery level with a MQTT sensor. + +```yaml + - platform: mqtt + state_topic: "owntracks/tablet/tablet" + name: "Battery Tablet" + unit_of_measurement: "%" + value_template: {% raw %}'{{ value_json.batt }}'{% endraw %} +``` + diff --git a/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown b/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown index f679c6f7068..dac769a4eb3 100644 --- a/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown +++ b/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown @@ -63,7 +63,7 @@ First release of 2016 and we are on 🔥! The [main repository][github-ha] has p [MySensors sensor platform]: /components/sensor.mysensors/ [Amazon Echo]: /components/alexa/ -### Deprecations +### Backwards incompatible changes - The [RPi.GPIO sensor platform][rpi-bs] has been moved to the `binary_sensor` component. - [MySensors sensor platform] now requires the [MySensors] component to be configured. - Geofancy platform has been renamed to [Locative]. diff --git a/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown b/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown new file mode 100644 index 00000000000..81c3c63ef8d --- /dev/null +++ b/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown @@ -0,0 +1,91 @@ +--- +layout: post +title: "0.12: Insteon, LIFX, Twitter and ZigBee" +description: "Home Assistant 0.12 brings improved organizational tools and makes writing automation in Python easier." +date: 2016-01-30 00:22:00 -0800 +date_formatted: "January 30, 2016" +author: Paulus Schoutsen +author_twitter: balloob +comments: true +categories: Release-Notes +og_image: /images/blog/2016-01-release-12/social.png +--- + +Another sprint has come to an end and it seems that we have not slowed down a single bit 🚀. 0.12 is full of new components, platforms and organizational additions. + +I would like to give a shout out to [Greg Dowling (@pavoni)][@pavoni] as every release includes new work from him. He is constantly adding support for new platforms or improving the reliablity of existing components and platforms. Keep up the good work! + +This release includes a very frequent requested feature: the ability to organize entities in different tabs in the frontend. See [the demo] to see this in action and read more in the [group documentation][group] how to get started. + +

+ +Example of the new views in the frontend. Learn more. +

+ + + + - Binary sensor: [command sensor] added ([@Bart274]) + - [Nest] support extended to include sensors and binary sensors ([@joshughes]) + - Light: [LIFX] platform added ([@TangoAlpha]) + - Notify: [Twitter] platform added ([@HydrelioxGitHub]) + - Sensor: [Template] platform added ([@pavoni]) + - Switch: [Wink] platform now supports sirens ([@w1ll1am23]) + - [Insteon hub] support added ([@FreekingDean]) + - [Statsd] component added ([@michaelkuty]) + - Light: [Rfxtrx] platform now supports dimming ([@turbokongen]) + - Time scheduling (including [time automation]) now works with intervals (ie. `/5`) ([@kennedyshead]) + - Sensor: [onewire] support added ([@deisi]) + - [Zigbee] support added ([@flyte]) + - Device Tracker: [OwnTracks] can now track iBeacons ([@pavoni]) + - Notify: [Google Voice SMS] platform added ([@w1ll1am23]) + - Toggle service added to `homeassistant`, `switch`, `light` and `media_player` ([@rmkraus]) + - [Thermostat] services added to control fans ([@auchter]) + - Improved Python automation: Event helpers are now also available as decorators for custom components ([@rmkraus]) + - Frontend: support added for tabs to show [different views][group] of your house ([@balloob]) + - Bugfixes by [@molobrakos], [@MartinHjelmare], [@pavoni], [@trollkarlen], [@zmrow], [@maddox], [@persandstrom], [@happyleavesaoc], [@balloob], [@fabaff], [@stefan-jonasson], [@haraldnagel]. + +[the demo]: /demo/ +[command sensor]: /components/binary_sensor.command/ +[Google Voice SMS]: /components/notify.google_voice/ +[Insteon hub]: /components/insteon_hub/ +[LIFX]: /components/light.lifx/ +[Nest]: /components/nest/ +[onewire]: /components/sensor.onewire/ +[OwnTracks]: /components/device_tracker.owntracks/ +[Rfxtrx]: /components/light.rfxtrx/ +[Statsd]: /components/statsd/ +[Template]: /components/sensor.template/ +[Thermostat]: /components/thermostat/ +[time automation]: /components/automation/#time-trigger +[Twitter]: /components/notify.twitter/ +[Wink]: /components/wink/ +[Zigbee]: /components/zigbee/ +[group]: /components/group/ +[@auchter]: https://github.com/auchter +[@balloob]: https://github.com/balloob +[@Bart274]: https://github.com/Bart274 +[@deisi]: https://github.com/deisi +[@fabaff]: https://github.com/fabaff +[@flyte]: https://github.com/flyte +[@FreekingDean]: https://github.com/FreekingDean +[@happyleavesaoc]: https://github.com/happyleavesaoc +[@haraldnagel]: https://github.com/haraldnagel +[@HydrelioxGitHub]: https://github.com/HydrelioxGitHub +[@joshughes]: https://github.com/joshughes +[@kennedyshead]: https://github.com/kennedyshead +[@maddox]: https://github.com/maddox +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@michaelkuty]: https://github.com/michaelkuty +[@molobrakos]: https://github.com/molobrakos +[@pavoni]: https://github.com/pavoni +[@persandstrom]: https://github.com/persandstrom +[@rmkraus]: https://github.com/rmkraus +[@stefan-jonasson]: https://github.com/stefan-jonasson +[@TangoAlpha]: https://github.com/TangoAlpha +[@trollkarlen]: https://github.com/trollkarlen +[@turbokongen]: https://github.com/turbokongen +[@w1ll1am23]: https://github.com/w1ll1am23 +[@zmrow]: https://github.com/zmrow + +### Backwards incompatible changes + - Nest config has moved from thermostat to the [Nest component][Nest]. \ No newline at end of file diff --git a/source/demo/frontend.html b/source/demo/frontend.html index 26e5d1e824f..27034d2843c 100644 --- a/source/demo/frontend.html +++ b/source/demo/frontend.html @@ -1,4 +1,4 @@ -