diff --git a/.gitignore b/.gitignore index 6713e9e11c0..f02128325f5 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ source/.jekyll-metadata /.vs/config/applicationhost.config /.vs/slnx.sqlite-journal /.vs/VSWorkspaceState.json +.vscode diff --git a/_config.yml b/_config.yml index f62f416f312..7a63002486a 100644 --- a/_config.yml +++ b/_config.yml @@ -139,14 +139,14 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 71 -current_patch_version: 0 -date_released: 2018-06-08 +current_minor_version: 72 +current_patch_version: 1 +date_released: 2018-06-25 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. # Major release: -patch_version_notes: "#" +patch_version_notes: "#release-0721---june-25" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/credits_generator/package.json b/credits_generator/package.json index 42c6687b158..a7d7b76fe53 100644 --- a/credits_generator/package.json +++ b/credits_generator/package.json @@ -1,13 +1,14 @@ { "name": "credits_generator", "version": "1.0.0", + "private": true, "description": "A tool to generate the Home Assistant credits page", "main": "update_credits.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "Home Assistant Community", - "license": "Apache 2.0", + "license": "Apache-2.0", "dependencies": { "async": "^2.1.4", "github": "^8.1.0", diff --git a/source/_components/alert.markdown b/source/_components/alert.markdown index 4c59259cde3..e1af527f5f2 100644 --- a/source/_components/alert.markdown +++ b/source/_components/alert.markdown @@ -16,7 +16,9 @@ The `alert` component is designed to notify you when problematic issues arise. F Alerts will add an entity to the front end only when they are firing. This entity allows you to silence an alert until it is resolved. +
When using the `alert` component, it is important that the time zone used for Home Assistant and the underlying operating system match. Failing to do so may result in multiple alerts being sent at the same time (such as when Home Assistant is set to the `America/Detroit` time zone but the operating system uses `UTC`). +
### {% linkable_title Basic Example %} diff --git a/source/_components/binary_sensor.mychevy.markdown b/source/_components/binary_sensor.mychevy.markdown index 8da9bb52d47..b04312b2ae5 100644 --- a/source/_components/binary_sensor.mychevy.markdown +++ b/source/_components/binary_sensor.mychevy.markdown @@ -13,4 +13,4 @@ ha_release: 0.62 ha_iot_class: "Cloud Polling" --- -For configuration instructions, see [main component config](/components/mychecvy/). +For configuration instructions, see [main component config](/components/mychevy/). diff --git a/source/_components/binary_sensor.trend.markdown b/source/_components/binary_sensor.trend.markdown index ed17e8a232e..dae3d1c9ed7 100644 --- a/source/_components/binary_sensor.trend.markdown +++ b/source/_components/binary_sensor.trend.markdown @@ -33,9 +33,9 @@ Configuration variables: - **attribute** (*Optional*): The attribute of the entity that this sensor tracks. If no attribute is specified then the sensor will track the state. - **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. - **friendly_name** (*Optional*): Name to use in the Frontend. - - **invert** (*Optional*): Invert the result (so `true` means descending rather than ascending). Defaults to `False` + - **invert** (*Optional*): Invert the result. A `true` value would mean descending rather than ascending. Defaults to `False` - **max_samples** (*Optional*): Limit the maximum number of stored samples. Defaults to `2`. - - **min_gradient** (*Optional*): The minimum rate at which the observed value must be changing for this sensor to switch on. Defaults to `0.0` + - **min_gradient** (*Optional*): The minimum rate at which the observed value must be changing for this sensor to switch on. The gradient is measured in sensor units per second. Defaults to `0.0` - **sample_duration** (*Optional*): The duration **in seconds** to store samples for. Samples older than this value will be discarded. Defaults to `0` ## {% linkable_title Using Multiple Samples %} @@ -63,6 +63,7 @@ binary_sensor: attribute: elevation ``` + This example creates two sensors to indicate whether the temperature is rising or falling at a rate of at least 3 degrees an hour, and collects samples over a two hour period: ```yaml diff --git a/source/_components/camera.uvc.markdown b/source/_components/camera.uvc.markdown index 16c024e1c47..6c924446cc2 100644 --- a/source/_components/camera.uvc.markdown +++ b/source/_components/camera.uvc.markdown @@ -13,7 +13,6 @@ ha_release: 0.13 ha_iot_class: "Local Polling" --- - The `uvc` camera platform allows you to integrate [UniFi Video Camera (UVC)](https://www.ubnt.com/products/#unifivideo) into Home Assistant. The platform connects to the Unifi NVR software and automatically discovers/adds any camera connected to the NVR. @@ -42,16 +41,16 @@ nvr: description: The IP or hostname of the NVR (Network Video Recorder) server. required: true type: string -key: - description: The API key available from the NVR web interface. - required: true - type: string port: description: The port number to use for accessing the NVR. required: false type: int default: 7080 -name: +key: + description: The API key available from the NVR web interface. + required: true + type: string +password: description: The camera password. required: false type: string diff --git a/source/_components/camera.xiaomi.markdown b/source/_components/camera.xiaomi.markdown new file mode 100644 index 00000000000..2285e405a41 --- /dev/null +++ b/source/_components/camera.xiaomi.markdown @@ -0,0 +1,86 @@ +--- +layout: page +title: "Xiaomi Cameras" +description: "Instructions on how to integrate a video feed (via FFmpeg) as a camera within Home Assistant." +date: 2018-06-20 13:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: xiaomi.png +ha_category: Camera +ha_release: 0.72 +ha_iot_class: "Local Polling" +--- + +The `Xiaomi` camera platform allows you to utilize Xiaomi Cameras within Home Assistant. + +To successfully implement this platform, the Home Assistant host should be capable of multiple simultaneous reads. For every concurrent Home Assistant user, a connection will be made to the camera every 10 seconds. This should normally not be a problem. + +## {% linkable_title Preparing the Device %} + +### {% linkable_title Installing Alternative Firmware %} + +In order to integrate the camera with Home Assistant, it is necessary to install a custom firmware on the device. Instructions for doing so can be found for each models. + +* [Yi 720p](https://github.com/fritz-smh/yi-hack) +* [Yi Home 17CN / 27US / 47US / 1080p Home / Dome / 1080p Dome](https://github.com/shadow-1/yi-hack-v3) +* [Xiaofang 1080p Camera](https://github.com/samtap/fang-hacks) + +Once installed, please ensure that you have enabled FTP. + ++Currently, version 0.1.4-beta2 of the custom firmware is the highest supported. Firmwares higher than this version use [Pure-FTPd](https://www.pureftpd.org/project/pure-ftpd), which has a bug that prevents FFmpeg from correctly rendering video files. +
+ ++Hassbian users: don't forget to install ffmpeg support on your platform, otherwise, you'll not see video. +
+ ++The live stream writing by the camera is not an supported format when the hass reads through FTP for Yi 720p and Xiaofang Cameras, so this component retrives the video which was saved 1 minute earlier. +
+ ++If you enabled RTSP server, you can connect to your camera via other Home Assistant camera platforms. However, this RTSP server disables the ability to use the supremely-useful Mi Home app. In order to maintain both Home Assistant compatibility _and_ the native app, this platform retrieves videos via FTP. +
+ +## {% linkable_title Configuring the Platform %} + +To enable the platform, add the following lines to your`configuration.yaml` file: + +```yaml +camera: + - platform: xiaomi + name: Camera + host: '192.168.1.100' + model: 'yi' + password: my_password_123 +``` + +Configuration variables: + +- **name** (*Required*): A human-friendly name for the camera. +- **host** (*Required*): The IP address or hostname of the camera. +- **model** (*Required*): The model of Xiaomi Camera, currently supporting yi and xiaofang. +- **password** (*Required*): The password to the FTP server on the camera (from above), can be any string as the current firmware doesn't allow setting ftp passwords. +- **path** (*Optional*): The path to the raw MP4 files. Defaults to `/tmp/sd/record`. +- **username** (*Optional*): The user that can access the FTP server. Defaults to `root`. +- **ffmpeg_arguments** (*Optional*): Extra options to pass to `ffmpeg` (e.g., image quality or video filter options). + +## {% linkable_title Image quality %} + +Any option supported by [`ffmpeg` camera](/components/camera.ffmpeg/) can be utilized via the `ffmpeg_arguments` configuration parameter. + +One particularly useful adjustment deals with video size. Since Yi videos are fairly large (especially on the 1080p cameras), the following configuration will bring them down to a manageable size: + +```yaml +camera: + - platform: xiaomi + name: My Camera + host: '192.168.1.100' + model: 'xiaofang' + password: my_password_123 + path: /home/camera/feed + ffmpeg_arguments: '-vf scale=800:450' +``` diff --git a/source/_components/media_player.cast.markdown b/source/_components/cast.markdown similarity index 55% rename from source/_components/media_player.cast.markdown rename to source/_components/cast.markdown index 13d18534ba4..7243ad78a09 100644 --- a/source/_components/media_player.cast.markdown +++ b/source/_components/cast.markdown @@ -12,31 +12,27 @@ ha_category: Media Player featured: true ha_release: pre 0.7 ha_iot_class: "Local Polling" +redirect_from: /components/media_player.cast/ --- -Google Cast devices like Android TVs and Chromecasts will be automatically discovered if you enable [the discovery component]({{site_root}}/components/discovery/). There is an issue where Chromecasts can only be discovered if your device is connected to the same subnet as your Chromecast. +Google Cast devices like Android TVs and Chromecasts will be automatically discovered if you enable [the discovery component]({{site_root}}/components/discovery/). If you don't have the discovery component enabled, you can enable the Cast component by going to the Integrations page inside the config panel. + +## {% linkable_title Advanced use %} + +The Cast component has some extra configuration options available for advanced users. You will still need to create a config entry to initialize the Cast component. + +For example, Cast devices can only be discovered if they are on the same subnet as Home Assistant. If this is not the case, you want to configure the IP address of the Cast device directly: -The Chromecast platform can also be forced to load by adding the following lines to your `configuration.yaml`: ```yaml # Example configuration.yaml entry -media_player: - - platform: cast +cast: + media_player: + - host: 192.168.1.10 ``` Configuration variables: - **host** (*Optional*): Use only if you don't want to scan for devices. - **ignore_cec** (*Optional*) A list of Chromecasts that should ignore CEC data for determining the active input. [See the upstream documentation for more information.](https://github.com/balloob/pychromecast#ignoring-cec-data) - -## {% linkable_title Example %} - -By setting `host:` you can specify the Chromecast to use. - -```yaml -# Example configuration.yaml entry -media_player: - - platform: cast - host: 192.168.1.10 -``` diff --git a/source/_components/egardia.markdown b/source/_components/egardia.markdown index a19c76738b1..50efce55a66 100644 --- a/source/_components/egardia.markdown +++ b/source/_components/egardia.markdown @@ -90,6 +90,10 @@ report_server_codes: Note that this basic configuration will only enable you to read the armed/armed away/disarmed status of your alarm and will **not** update the status if the alarm is triggered. This is because of how Egardia built their system. The alarm triggers normally go through their servers. You can change this, however, using the following procedure. This is a more advanced (and more useful) configuration. ++There seem to be multiple versions of software running on GATE-02 devices; we have received reports from GATE-02 users who successfully run this package in GATE-02 mode. Others have reported they needed to specify GATE-03 as their version to integrate their GATE-02. +
+ ## {% linkable_title Advanced configuration %} 1. Log in to your alarm system's control panel. You will need to access http://[IP of your control panel]. You know this already since you need it in the basic configuration from above. Log in to the control panel with your Egardia/Woonveilig username and password. diff --git a/source/_components/homekit.markdown b/source/_components/homekit.markdown index 4d7fc95f2f7..b2cea8deeda 100644 --- a/source/_components/homekit.markdown +++ b/source/_components/homekit.markdown @@ -34,6 +34,10 @@ homekit: entity_config: alarm_control_panel.home: code: 1234 + light.kitchen_table: + name: Kitchen Table Light + lock.front_door: + code: 1234 media_player.living_room: feature_list: - feature: on_off @@ -114,10 +118,10 @@ homekit: required: true type: string type: - description: Only for `switch` entities. Type of accessory to be created within HomeKit. Valid types are `switch` and `outlet`. + description: Only for `switch` entities. Type of accessory to be created within HomeKit. Valid types are `switch` and `outlet`. HomeKit will cache the type on the first run so a device must be removed and then re-added for any change to take effect. required: false type: string - default: switch + default: '`switch`' {% endconfiguration %}@@ -151,6 +155,10 @@ After the setup is completed you should be able to control your Home Assistant c Currently this component uses the `entity_id` to generate a unique `accessory id (aid)` for `HomeKit`. The `aid` is used to identify a device and save all configurations made for it. This however means that if you decide to change an `entity_id` all configurations for this accessory made in the `Home` app will be lost. +### {% linkable_title Device Limit %} + +The HomeKit guidelines only allow a maximum of 100 unique accessories (`aid`) per bridge. Be mindful of this when configuring the filter(s). + ### {% linkable_title Persistence Storage %} Unfortunately `HomeKit` doesn't support any kind of persistent storage - only the configuration for accessories that are added to the `Home Assistant Bridge` are kept. To avoid problems it is recommended to use an automation to always start `HomeKit` with at least the same entities setup. If for some reason some entities are not setup, their config will be deleted. (State unknown or similar will not cause any issues.) @@ -283,3 +291,17 @@ logger: - The configuration entries for `homekit` and the `component` that is causing the issue. - The log / traceback you have generated before. - Screenshots of the failing entity in the `states` panel. + +## {% linkable_title Troubleshooting PIN not appearing %} + +In some instances, the PIN will not appear as a persistent status or in the log files despite deleting `.homekit.state`, enabling logging, and reboot. The log files will include the error ```Duplicate AID found when attempting to add accessory```. + +In such cases, modifying your configuration.yaml to add a filter limiting the included entities similar to the following: + +```yaml +filter: + include_domains: + - light +``` + +Restart Home-Assistant and re-attempt pairing - a persistent status should now correctly appear. diff --git a/source/_components/http.markdown b/source/_components/http.markdown index 4afa9506168..91b600b2c31 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -54,12 +54,12 @@ http: cors_allowed_origins: - https://google.com - https://www.home-assistant.io - use_x_forwarded_for: True + use_x_forwarded_for: False trusted_networks: - 127.0.0.1 - ::1 - 192.168.0.0/24 - - 2001:DB8:ABCD::/48 + - fd00::/8 ip_ban_enabled: True login_attempts_threshold: 5 ``` diff --git a/source/_components/input_boolean.markdown b/source/_components/input_boolean.markdown index b2b23aeeff0..68f75566ba4 100644 --- a/source/_components/input_boolean.markdown +++ b/source/_components/input_boolean.markdown @@ -47,7 +47,7 @@ input_boolean: ### {% linkable_title Restore State %} -This component supports the `restore_state` function which restores the state after Home Assistant has started to the value it has been before Home Assistant stopped. To use this feature please make sure that the [`recorder`](/components/recorder/) component is enabled and your entity does not have a value set for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. +This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. ## {% linkable_title Automation Examples %} diff --git a/source/_components/input_datetime.markdown b/source/_components/input_datetime.markdown index 462b309e7e7..e8a793ae6a3 100644 --- a/source/_components/input_datetime.markdown +++ b/source/_components/input_datetime.markdown @@ -74,7 +74,7 @@ A datetime input entity's state exports several attributes that can be useful in ### {% linkable_title Restore State %} -This component supports the `restore_state` function which restores the state after Home Assistant has started to the value it has been before Home Assistant stopped. To use this feature please make sure that the [`recorder`](/components/recorder/) component is enabled and your entity does not have a value set for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. +This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. ### {% linkable_title Services %} diff --git a/source/_components/input_number.markdown b/source/_components/input_number.markdown index 44d819c39c5..aadbd391509 100644 --- a/source/_components/input_number.markdown +++ b/source/_components/input_number.markdown @@ -84,7 +84,7 @@ input_number: ### {% linkable_title Restore State %} -This component supports the `restore_state` function which restores the state after Home Assistant has started to the value it has been before Home Assistant stopped. To use this feature please make sure that the [`recorder`](/components/recorder/) component is enabled and your entity does not have a value set for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. +This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. ## {% linkable_title Automation Examples %} diff --git a/source/_components/input_select.markdown b/source/_components/input_select.markdown index 8e59002ccfb..dec70767fd1 100644 --- a/source/_components/input_select.markdown +++ b/source/_components/input_select.markdown @@ -64,7 +64,7 @@ Because YAML defines [booleans](http://yaml.org/type/bool.html) as equivalent, a ### {% linkable_title Restore State %} -This component supports the `restore_state` function which restores the state after Home Assistant has started to the value it has been before Home Assistant stopped. To use this feature please make sure that the [`recorder`](/components/recorder/) component is enabled and your entity does not have a value set for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. +This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. ### {% linkable_title Services %} diff --git a/source/_components/input_text.markdown b/source/_components/input_text.markdown index 284ab5ea361..187f08a0e46 100644 --- a/source/_components/input_text.markdown +++ b/source/_components/input_text.markdown @@ -71,4 +71,4 @@ input_text: ### {% linkable_title Restore State %} -This component supports the `restore_state` function which restores the state after Home Assistant has started to the value it has been before Home Assistant stopped. To use this feature please make sure that the [`recorder`](/components/recorder/) component is enabled and your entity does not have a value set for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. +This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. diff --git a/source/_components/light.deconz.markdown b/source/_components/light.deconz.markdown index 7ee2d591950..918f0733665 100644 --- a/source/_components/light.deconz.markdown +++ b/source/_components/light.deconz.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "deCONZ lights" +title: "deCONZ Lights" description: "Instructions on how to integrate Zigbee lights from deCONZ into Home Assistant." date: 2017-11-12 16:30 sidebar: true @@ -15,9 +15,9 @@ ha_iot_class: "Local Push" See the [deCONZ main component](/components/deconz/) for configuration instructions. -Entity Ids names will be light.device_name, where device_name is defined in deCONZ. Light groups created in deCONZ will be created in Home Assistant as lights named light.group_name_in_deconz, allowing the user to control groups of lights with only a single API call to deCONZ. +The `Entity Id` names will be `light.device_name`, where `device_name` is defined in deCONZ. Light groups created in deCONZ will be created in Home Assistant as lights named `light.group_name_in_deconz`, allowing the user to control groups of lights with only a single API call to deCONZ. -#### {% linkable_title Verified to be supported sensors %} +#### {% linkable_title Verified supported lights %} - IKEA Trådfri bulb E14 WS opal 400lm - IKEA Trådfri Bulb E27 WS Opal 980lm diff --git a/source/_components/light.limitlessled.markdown b/source/_components/light.limitlessled.markdown index 2dcf4d9c7a8..5b606c13ec4 100644 --- a/source/_components/light.limitlessled.markdown +++ b/source/_components/light.limitlessled.markdown @@ -14,11 +14,17 @@ ha_iot_class: "Assumed State" ha_release: pre 0.7 --- -`limitlessled` can control your [LimitlessLED](http://www.limitlessled.com/) lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, MiLight, LEDme, dekolight, or iLight. +`limitlessled` can control your LimitlessLED lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, [MiLight](http://www.milight.com/), LEDme, dekolight, or iLight. + +LimitlessLED bulbs are controlled via groups, so you can only control an individual bulb via the bridge if it is in a group by itself. + +Note: you can assign an `rgbw`, `rgbww`, `white` and `dimmer` group to the same group number, effectively allowing up to 16 groups (4 `rgbww`, 4 `rgbw`, 4 `white` and 4 `dimmer`) per bridge. + +An archive of the extensive API can be found [here](https://github.com/Fantasmos/LimitlessLED-DevAPI). ### {% linkable_title Setup %} -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`, `rgbww`, `white` and `dimmer` group to the same group number, effectively allowing 16 groups (4 `rgbww`, 4 `rgbw`, 4 `white` and 4 `dimmer`) per bridge. +Before configuring Home Assistant, make sure you can control your bulbs or LEDs with the MiLight mobile application. Next, 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)). To add `limitlessled` to your installation, add the following to your `configuration.yaml` file: @@ -60,18 +66,36 @@ Configuration variables: - **number** (*Required*): Group number (`1`-`4`). Corresponds to the group number on the remote. These numbers may overlap only if the type is different. - **name** (*Required*): Any name you'd like. Must be unique among all configured groups. - **type** (*Optional*): Type of group. Choose either `rgbww`, `rgbw`, `white`, `bridge-led` or `dimmer`. `rgbw` is the default if you don't specify this entry. Use `bridge-led` to control the built-in LED of newer WiFi bridges. - - **fade** (*Optional*): Fade behavior. Defaults to `off`. If turned on, the group is faded out before being turned off. This makes for a more pleasing transition at the expense of wall switch usability, since the light will turn back on at the lowest brightness if it is power cycled. + - **fade** (*Optional*): Fade behavior. Defaults to `off`. If turned on, the group is faded out before being turned off. This makes for a more pleasing transition at the expense of wall switch usability since the light will turn back on at the lowest brightness if it is power cycled. + +### {% linkable_title Night Effect %} + +LimitlessLED has a `night` effect that can be used to dim the lights below `brightness: 1`. This night mode is meant to temporarily turn the lights into a nightlight. This mode can be especially helpful when wall switches are also being used. For example, when a light is using the `night` effect one way to return it to its previous brightness level (other than using Home Assistant) is to switch the lights off and then back on from the wall switch. + +Note that the `brightness`, `color` and `temperature` attributes cannot be used when using the `night` effect. You can turn on `night` effect by using the `effect` attribute of the normal `light.turn_on` service. Here is an example: + +```yaml +automation: + - alias: ... + trigger: + # ... + action: + - service: light.turn_on + data: + entity_id: light.office, light.kitchen + effect: night +``` ### {% 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. - **RGBWW** (Only supported on v6 bridges) - - *Color*: There are 25,856 color possibilities along the LimitlessLED color spectrum. For colors, hue and saturation can be used, but not lightness. If you select a color with lightness, Home Assistant will calculate the nearest valid LimitlessLED color. In white mode the temperature can be set. + - *Color*: There are 25,856 color possibilities along the LimitlessLED color spectrum. For colors, hue and saturation can be used, but not lightness. If you select a color with lightness, Home Assistant will calculate the nearest valid LimitlessLED color. In white mode, the temperature can be set. - *Temperature*: There are 101 temperature steps. - *Brightness*: There are 101 brightness steps. - **RGBW** - - *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. + - *Color*: There are 256 color possibilities along the LimitlessLED color spectrum. Color properties like saturation and lightness cannot 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*: Wifi bridge v6 supports 101 brightness steps; older versions only 25. - **White** - When using a legacy WiFi bridge (before v6), 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. @@ -87,7 +111,7 @@ Refer to the [light]({{site_root}}/components/light/) documentation for general When starting Home Assistant, the last recorded state will be shown. This might no longer match the actual state of the bulbs. -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 obsolete information. +If you control your LimitlessLED lights via the MiLight mobile application or other means while Home Assistant is running, Home Assistant cannot track those changes and you may observe obsolete information. This lack of synchronization is due to a LimitlessLED limitation. diff --git a/source/_components/matrix.markdown b/source/_components/matrix.markdown index e98604403d7..b6e9e9814b9 100644 --- a/source/_components/matrix.markdown +++ b/source/_components/matrix.markdown @@ -31,7 +31,7 @@ Configuration variables: {% configuration %} username: - description: "The matrix username that home assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g. '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes." + description: "The matrix username that Home Assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g. '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes." required: true type: string password: @@ -79,7 +79,7 @@ commands: ### {% linkable_title Event Data %} -If a command is triggered, a `matrix_command` event is fired. The event contains the name of the command in the `name` field. If the command is a word command that has no name set, the `name` field contains the word instead. +If a command is triggered, a `matrix_command` event is fired. The event contains the name of the command in the `name` field. If the command is a word command, the `data` field contains a list of the command's arguments, i.e., everything that stood behind the word, split at spaces. If the command is an expression command, the `data` field contains the [group dictionary](https://docs.python.org/3.6/library/re.html?highlight=re#re.match.groupdict) of the regular expression that matched the message. diff --git a/source/_components/media_player.denonavr.markdown b/source/_components/media_player.denonavr.markdown index ee1c434ff4b..5e9a122cc5d 100644 --- a/source/_components/media_player.denonavr.markdown +++ b/source/_components/media_player.denonavr.markdown @@ -30,6 +30,7 @@ Supported devices: - Marantz M-RC610 - Marantz SR5008 - Marantz SR6007 - SR6010 +- Marantz NR1506 - Marantz NR1604 - Other Denon AVR receivers (untested) - Marantz receivers (experimental) diff --git a/source/_components/media_player.philips_js.markdown b/source/_components/media_player.philips_js.markdown index 3b9cac6a98a..78f87af83a6 100644 --- a/source/_components/media_player.philips_js.markdown +++ b/source/_components/media_player.philips_js.markdown @@ -35,3 +35,15 @@ Configuration variables:
When using api_version: 5 changing sources switches tv channels. Additionally this allows setting the volume level.
+ + +```yaml +# Example configuration.yaml with turn_on_action +media_player: + - platform: philips_js + host: 192.168.1.99 + turn_on_action: + service: wake_on_lan.send_magic_packet + data: + mac: aa:bb:cc:dd:ee:ff +``` diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index 42cde99e19c..49bda958e0a 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -57,6 +57,7 @@ Currently known supported models: - U6300 (port must be set to 8001, and `pip3 install websocket-client` must be executed) - K5579 (port must be set to 8001, On/Off, Forward/Backward, Volume control, but no Play button) - K6500AF (port must be set to 8001) +- KS8000 (port must be set to 8001, and `pip3 install websocket-client` must be executed) - KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed) - KU6020 (port must be set to 8001, and `pip3 install websocket-client` must be executed) - KU6290 (port must be set to 8001) diff --git a/source/_components/media_player.webostv.markdown b/source/_components/media_player.webostv.markdown index 1d634dcebc0..8a18623775c 100644 --- a/source/_components/media_player.webostv.markdown +++ b/source/_components/media_player.webostv.markdown @@ -90,7 +90,7 @@ media_player: turn_on_action: service: wake_on_lan.send_magic_packet data: - mac: B4:E6:2A:1E:11:0F + mac: "B4-E6-2A-1E-11-0F" ``` Any other [actions](/docs/automation/action/) to power on the device can be configured. @@ -128,4 +128,4 @@ data: The behaviour of the next and previsous buttons is different depending on the active source: - if the source is 'LiveTV' (television): next/previous buttons act as channel up/down - - otherwise: next/previsous buttons act as next/previous track + - otherwise: next/previous buttons act as next/previous track diff --git a/source/_components/rainmachine.markdown b/source/_components/rainmachine.markdown index 4b461fe2ec3..42027fe9182 100644 --- a/source/_components/rainmachine.markdown +++ b/source/_components/rainmachine.markdown @@ -62,6 +62,11 @@ ssl: required: false type: boolean default: true +scan_interval: + description: the frequency (in seconds) between data updates + required: false + type: int + default: 60 binary_sensors: description: binary sensor-related configuration options required: false diff --git a/source/_components/sensor.airvisual.markdown b/source/_components/sensor.airvisual.markdown index bedf30c7d17..896c09234c3 100644 --- a/source/_components/sensor.airvisual.markdown +++ b/source/_components/sensor.airvisual.markdown @@ -13,21 +13,24 @@ ha_release: 0.53 ha_iot_class: "Cloud Polling" --- -The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality -data. Data can be collected via latitude/longitude or by city/state/country. -The resulting information creates sensors for the Air Quality Index (AQI), the -human-friendly air quality level, and the main pollutant of that area. Sensors -that conform to either/both the [U.S. and Chinese air quality standards](http://www.clm.com/publication.cfm?ID=366) can be -created. +The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) +API for air quality data. Data can be collected via latitude/longitude or by +city/state/country. The resulting information creates sensors for the Air +Quality Index (AQI), the human-friendly air quality level, and the main +pollutant of that area. Sensors that conform to either/both the +[U.S. and Chinese air quality standards](http://www.clm.com/publication.cfm?ID=366) +can be created. -This platform requires an AirVisual API key, which can be obtained [here](https://airvisual.com/api). Note -that the platform was designed using the "Community" package; the "Startup" -and "Enterprise" package keys should continue to function, but actual results -may vary (or not work at all). +This platform requires an AirVisual API key, which can be obtained +[here](https://airvisual.com/api). Note that the platform was designed using +the "Community" package; the "Startup" and "Enterprise" package keys should +continue to function, but actual results may vary (or not work at all).The "Community" API key is limited to 10,000 calls per month. In order to leave -a buffer, the `airvisual` platform queries the API every 10 minutes. +a buffer, the `airvisual` platform queries the API every 10 minutes by default. +Modification of this (via the `scan_interval` key) to a too-low value may +result in your API key being deactivated.
## {% linkable_title Configuring the Platform via Latitude/Longitude %} @@ -42,59 +45,67 @@ sensor: monitored_conditions: - us - cn + show_on_map: false + scan_interval: 30 + # Configure by latitude/longitude: latitude: 42.81212 longitude: 108.12422 - radius: 500 - show_on_map: false + # Or configure by location: + city: Los Angeles + state: California + country: USA ``` -Configuration variables: +{% configuration %} +api_key: + description: your AirVisual API key + required: required + type: string +monitored_conditions: + description: the air quality standard(s) to use (`us` for U.S., `cn` for Chinese) + required: required + type: list + default: ['us', 'cn'] +show_on_map: + description: whether to show a marker on the map at the specified location + required: optional + type: boolean + default: true +scan_interval: + description: the rate at which AirVisual should be polled for new data + required: optional + type: int + default: 600 +latitude: + description: the latitude of the location to monitor + required: optional + type: str + default: the latitude defined under the `homeassistant` key in `configuration.yaml` +longitude: + description: the longitude of the location to monitor + required: optional + type: str + default: the longitude defined under the `homeassistant` key in `configuration.yaml` +city: + description: the city to monitor + required: optional + type: str +state: + description: the state the city belongs to + required: optional + type: str +country: + description: the country the state belongs to + required: optional + type: str +{% endconfiguration %} -- **api_key** (*Required*): your AirVisual API key -- **monitored_conditions** (*Required*): the air quality standard(s) to use -(`us` for U.S., `cn` for Chinese) -- **latitude** (*Optional*): the latitude to monitor; if excluded, the latitude -defined under the `homeassistant` key in `configuration.yaml` will be used -- **longitude** (*Optional*): the longitude to monitor; if excluded, the longitude -defined under the `homeassistant` key in `configuration.yaml` will be used -- **radius** (*Optional*): the radius (in meters) around the latitude/longitude to -search for the nearest city; defaults to `1000` -- **show_on_map** (*Optional*): whether to show a marker on the map at the specified -location; defaults to `true` - -## {% linkable_title Configuring the Platform via City/State/Country %} - -To enable the platform and gather data via city/state/country, add the -following lines to your `configuration.yaml` file: - -```yaml -sensor: - - platform: airvisual - api_key: abc123 - monitored_conditions: - - us - - cn - city: southend-on-sea - state: essex - country: uk - show_on_map: false -``` - -Configuration variables: - -- **api_key** (*Required*): your AirVisual API key -- **monitored_conditions** (*Required*): the air quality standard(s) to use -(`us` for U.S., `cn` for Chinese) -- **city** (*Optional*): the city to monitor -- **state** (*Optional*): the state/region to monitor -- **country** (*Optional*): the country to monitor -- **show_on_map** (*Optional*): whether to show a marker on the map at the specified -location; defaults to `true` +## {% linkable_title Determining the City/State/Country %} To easily determine the proper values for a particular location, use the -[AirVisual region directory](https://airvisual.com/world). Once you browse to the particular city you want, -take note of the breadcrumb title, which is of the form -`country > state/region > city`. Use this information to fill out +[AirVisual region directory](https://airvisual.com/world). Once you browse to +the particular city you want, take note of the breadcrumb title, which is of +the form `country > state/region > city`. Use this information to fill out `configuration.yaml`. For example, Sao Paulo, Brazil shows a breadcrumb title of @@ -120,8 +131,8 @@ air quality standard: ### Air Quality Index -**Description:** This sensor displays a numeric air quality index (AQI), a metric -for the overall "health" of the air. +**Description:** This sensor displays a numeric air quality index (AQI), a +metric for the overall "health" of the air. **Example Sensor Name:** `sensor.chinese_air_quality_index` diff --git a/source/_components/sensor.loop_energy.markdown b/source/_components/sensor.loopenergy.markdown similarity index 98% rename from source/_components/sensor.loop_energy.markdown rename to source/_components/sensor.loopenergy.markdown index fc38aed98e7..a2709b48797 100644 --- a/source/_components/sensor.loop_energy.markdown +++ b/source/_components/sensor.loopenergy.markdown @@ -11,6 +11,7 @@ logo: loop.png ha_category: Energy ha_release: 0.17 ha_iot_class: "Cloud Push" +redirect_from: /components/sensor.loop_energy/ --- diff --git a/source/_components/sensor.miflora.markdown b/source/_components/sensor.miflora.markdown index 17f9f843fec..5149ba21191 100644 --- a/source/_components/sensor.miflora.markdown +++ b/source/_components/sensor.miflora.markdown @@ -13,20 +13,20 @@ ha_release: 0.29 ha_iot_class: "Local Polling" --- -The `miflora` sensor platform allows one to monitor plants. The [Mi Flora plant sensor](https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/) is a small Bluetooth Low Energy device that monitors not only the moisture but also light, temperature, and conductivity. As only a single BLE device can be polled at the same time, the library implements locking to make sure this is the case. +The `miflora` sensor platform allows one to monitor plant soil and air conditions. The [Mi Flora plant sensor](https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/) is a small Bluetooth Low Energy device that monitors the moisture and conductivity of the soil as well as ambient light and temperature. Since only one BLE device can be polled at a time, the library implements locking to prevent polling more than one device at a time. -# Installation -Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system: +# Install Bluetooth Backend +Before configuring Home Assistant you need a Bluetooth backend and the MAC address of your sensor. Depending on your operating system, you may have to configure the proper Bluetooth backend for your system: - On [Hass.io](/hassio/installation/): Miflora will work out of the box. - On a [generic Docker installation](/docs/installation/docker/): Works out of the box with `--net=host` and properly configured Bluetooth on the host. - On other Linux systems: - Preferred solution: Install the `bluepy` library (via pip). When using a virtual environment, make sure to use install the library in the right one. - Fallback solution: Install `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated` -- Windows and MacOS are currently not supported by the [miflora library](https://github.com/open-homeautomation/miflora/). +- On Windows and MacOS there is currently no support for the [miflora library](https://github.com/open-homeautomation/miflora/). -# Configuration -Start a scan to determine the MAC addresses of the sensor: +# Scan for MAC address +Start a scan to determine the MAC addresses of the sensor (you can identify your sensor by looking for `Flower care` or `Flower mate` entries) using this command: ```bash $ sudo hcitool lescan @@ -36,7 +36,7 @@ C4:D3:8C:12:4C:57 Flower mate [...] ``` -Or if your distribution is using bluetoothctl: +Or, if your distribution is using bluetoothctl use the following commands: ```bash $ bluetoothctl @@ -46,9 +46,7 @@ $ bluetoothctl [NEW] C4:D3:8C:12:4C:57 Flower mate ``` - -Check for `Flower care` or `Flower mate` entries, those are your sensor. - +# Configure To use your Mi Flora plant sensor in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -57,7 +55,7 @@ sensor: - platform: miflora mac: 'xx:xx:xx:xx:xx:xx' monitored_conditions: - - temperature + - moisture ``` - **mac** (*Required*): The MAC address of your sensor. @@ -75,8 +73,9 @@ sensor: - **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 1200 if not defined) - **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters. -Note that by default the sensor is only polled once every 20 minutes. This means with the `median: 3` setting will take as least 40 minutes before the sensor will report a value after a Home Assistant restart. As the values usually change very slowly, this isn't a big problem. -Reducing polling intervals will have a negative effect on the battery life. ++By default the sensor is only polled once every 20 minutes. So, if you set `median: 3` it will take _at least_ 40 minutes before the sensor will report a value after a Home Assistant restart. Since the values usually change very slowly, this usually isn't a big problem. Keep in mind though that reducing polling intervals will have a negative effect on the battery life. +
A full configuration example could look like the one below: diff --git a/source/_components/sensor.mychevy.markdown b/source/_components/sensor.mychevy.markdown index c31e7927c89..03b3146f5f9 100644 --- a/source/_components/sensor.mychevy.markdown +++ b/source/_components/sensor.mychevy.markdown @@ -13,4 +13,4 @@ ha_release: 0.62 ha_iot_class: "Cloud Polling" --- -For configuration instructions, see [main component config](/components/mychecvy/). +For configuration instructions, see [main component config](/components/mychevy/). diff --git a/source/_components/sensor.opensky.markdown b/source/_components/sensor.opensky.markdown index baa285ce247..552de4c420a 100644 --- a/source/_components/sensor.opensky.markdown +++ b/source/_components/sensor.opensky.markdown @@ -42,3 +42,19 @@ Both events have two attributes: - **sensor**: Name of `opensky` sensor that fired the event - **callsign**: Callsign of the flight + +To receive notifications of the entering flights, add the following lines to your `configuration.yaml`. + +{% raw %} +```yaml +automation: + - alias: 'Flight entry notification' + trigger: + platform: event + event_type: opensky_entry + action: + service: notify.ios_YOURIPHONENAME + data_template: + message : 'Flight entry of {{ trigger.event.data.callsign }} ' +``` +{% endraw %} diff --git a/source/_components/sensor.postnl.markdown b/source/_components/sensor.postnl.markdown index 991aba720c5..29a193a3416 100644 --- a/source/_components/sensor.postnl.markdown +++ b/source/_components/sensor.postnl.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling" The `postnl` platform allows one to track deliveries by [PostNL](https://www.postnl.nl) (Dutch Postal Services). To use this sensor, you need a [PostNL Account](https://jouw.postnl.nl). It is possible to add multiple accounts to your Home Assistant configuration. +The sensor value shows the number of packages to be delivered. Each of the packages is available as an attribute. + ## {% linkable_title Configuration %} To enable this sensor, add the following lines to your `configuration.yaml`: diff --git a/source/_components/sensor.rest.markdown b/source/_components/sensor.rest.markdown index 0c0cc9a7ab4..d9594344e8b 100644 --- a/source/_components/sensor.rest.markdown +++ b/source/_components/sensor.rest.markdown @@ -237,7 +237,7 @@ sensor: sensors: owm_weather: value_template: '{{ states.sensor.owm_report.attributes.weather[0]["description"].title() }}' - icon_template: '{{ "http://openweathermap.org/img/w/"+states.sensor.owm_report.attributes.weather[0]["icon"]+".png" }}' + entity_picture_template: '{{ "http://openweathermap.org/img/w/"+states.sensor.owm_report.attributes.weather[0]["icon"].lower()+".png" }}' entity_id: sensor.owm_report owm_temp: friendly_name: 'Outside temp' diff --git a/source/_components/sensor.wunderground.markdown b/source/_components/sensor.wunderground.markdown index bf99f2b9340..f86735c69b7 100644 --- a/source/_components/sensor.wunderground.markdown +++ b/source/_components/sensor.wunderground.markdown @@ -195,4 +195,8 @@ group: Note: While the platform is called “wunderground” the sensors will show up in Home Assistant as “PWS” (eg: sensor.pws_weather). +Note that the Weather Underground sensor is added to the entity_registry, so second and subsequent Personal Weather Station ID (pws_id) will have their monitored conditions suffixed with an index number e.g. + + - sensor.pws_weather_1d_metric_2 + Additional details about the API are available [here](https://www.wunderground.com/weather/api/d/docs). diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown index 16acc2b3de6..fd125970615 100644 --- a/source/_components/snips.markdown +++ b/source/_components/snips.markdown @@ -46,10 +46,6 @@ sudo apt-key adv --keyserver pgp.surfnet.nl --recv-keys D4F50CDCA10A2849 ### {% linkable_title Creating an assistant %} --Currently this module can only monitor a single Asterisk PBX mailbox. Multiple mailbox support is planned for the future +Currently this module can only monitor a single Asterisk PBX mailbox.
### {% linkable_title Prerequisites %} Before beginning make sure that you have the following: -- A functional Asterisk PBX setup which is using the default `voicemail` application -- Both Home Assistant and Asterisk PBX running on the same LAN (or the same server) -- The Asterisk PBX server has python 3.4 or newer installed -- Administrator access on the Asterisk PBX (for python module installation) -- Account Access to the `asterisk` user that runs the Asterisk PBX software + +- A functional Asterisk PBX setup which is using the default `voicemail` application. +- Both Home Assistant and Asterisk PBX running on the same LAN (or the same server). +- The Asterisk PBX server has Python 3.5 or newer installed. +- Administrator access on the Asterisk PBX (for python module installation). +- Account access to the `asterisk` user that runs the Asterisk PBX software. ### {% linkable_title Installation %} @@ -44,7 +46,7 @@ Before beginning make sure that you have the following: 3. Create a configuration file for the server - As the `asterisk` user create an `asterisk_mbox.ini` file (You can place this in any directory you choose, but the rommended location is `/etc/asterisk/asterisk_mbox.ini`) + As the `asterisk` user create an `asterisk_mbox.ini` file. You can place this in any directory you choose, but the recommended location is `/etc/asterisk/asterisk_mbox.ini`. ```ini [default] @@ -56,14 +58,14 @@ Before beginning make sure that you have the following: google_key = GOOGLE_API_KEY ``` - - **host** (*Optional*): The IP address to listen on for client requests. This defaults to all IP addresses on the server. To listen only locally, choose `127.0.0.1` - - **port** (*Optional*): The port to listen on for client requests. (default: 12345) - - **password** (*Required*): A password shared between client and server. Use only alpha-numeric characters and spaces - - **mbox\_path** (*Required*): The path to the storage location of mailbox files. This is typically `/var/spool/asterisk/voicemail/default/-This assumes that your Asterisk PBX server is using `systemd` for init handling. If not, you will need to create the appropriate configuration files yourself. +This assumes that your Asterisk PBX server is using `systemd` for init handling. If not, you will need to create the appropriate configuration files yourself.
diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown index a76c1ed2aa8..a3dc6cc91a3 100644 --- a/source/_docs/configuration/customizing-devices.markdown +++ b/source/_docs/configuration/customizing-devices.markdown @@ -61,7 +61,7 @@ homeassistant: | `homebridge_name` | Name of the entity in `HomeBridge`. | `hidden` | Set to `true` to hide the entity. | `homebridge_hidden` | Set to `true` to hide the entity from `HomeBridge`. -| `emulated_hue_hidden` | Set to `true` to hide the entity from `emulated_hue`. +| `emulated_hue_hidden` | Set to `true` to hide the entity from `emulated_hue` (this will be deprecated in the near future and should be configured in [`emulated_hue`](/components/emulated_hue)). | `entity_picture` | Url to use as picture for entity. | `icon` | Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com) ([Cheatsheet](https://materialdesignicons.com/cheatsheet)). Prefix name with `mdi:`, ie `mdi:home`. | `assumed_state` | For switches with an assumed state two buttons are shown (turn off, turn on) instead of a switch. By setting `assumed_state` to `false` you will get the default switch icon. diff --git a/source/_docs/configuration/entity-registry.markdown b/source/_docs/configuration/entity-registry.markdown index 1b63be4a710..b6183f7b76b 100644 --- a/source/_docs/configuration/entity-registry.markdown +++ b/source/_docs/configuration/entity-registry.markdown @@ -55,4 +55,5 @@ value to each entry. {% linkable_title Supported Components %} -At the moment, only the following components are supported: Z-Wave, Hue, Nest, LIFX, Sonos, Apple TV +At the moment, only the following components are supported: Z-Wave, Hue, Nest, LIFX, Sonos, Apple TV, Weather Underground +Note that for Weather Underground, second and subsequent Personal Weather Station ID (pws_id) will have their monitored conditions suffixed with an index number. diff --git a/source/_docs/configuration/group_visibility.markdown b/source/_docs/configuration/group_visibility.markdown index 0ea062deb9b..c5458e4bf2b 100644 --- a/source/_docs/configuration/group_visibility.markdown +++ b/source/_docs/configuration/group_visibility.markdown @@ -104,7 +104,7 @@ sensor: command: "python3 occasion.py" ```-If you are using docker to run Home Assistant then the occasion.py script will be placed under /config. Your command should instead be: command: "python3 /command/occasion.py" +If you are using docker to run Home Assistant then the occasion.py script will be placed under /config. Your command should instead be: command: "python3 /config/occasion.py"
diff --git a/source/_docs/installation/hassbian.markdown b/source/_docs/installation/hassbian.markdown index e038cbb9ab8..7ae3954bce1 100644 --- a/source/_docs/installation/hassbian.markdown +++ b/source/_docs/installation/hassbian.markdown @@ -17,3 +17,10 @@ Hassbian is our customized operating system for the Raspberry Pi Zero, 2,3 and 3 - [Pi specific integrations](/docs/hassbian/common-tasks/) - [Learn how to perform common tasks](/docs/hassbian/integrations/) +### {% linkable_title Activating the virtual environment %} + +When instructions tell you to activate the virtual environment to install a Python library, or perform some tasks, the following commands will do this: + +```bash +$ sudo -u homeassistant -H -s +$ source /srv/homeassistant/bin/activate``` diff --git a/source/_docs/installation/hassbian/installation.markdown b/source/_docs/installation/hassbian/installation.markdown index 770884dc262..be9a4e500a9 100644 --- a/source/_docs/installation/hassbian/installation.markdown +++ b/source/_docs/installation/hassbian/installation.markdown @@ -64,7 +64,7 @@ Soft blocked: yes Hard blocked: no ``` -To unblock it, exceute `$ sudo rfkill unblock wifi`. +To unblock it, execute `$ sudo rfkill unblock wifi`. ### {% linkable_title Technical Details %} diff --git a/source/_docs/installation/raspberry-pi.markdown b/source/_docs/installation/raspberry-pi.markdown index 6ac50456d5c..d021e7041a0 100644 --- a/source/_docs/installation/raspberry-pi.markdown +++ b/source/_docs/installation/raspberry-pi.markdown @@ -26,7 +26,7 @@ Connect to the Raspberry Pi over SSH. Default password is `raspberry`. You will need to enable SSH access. The Raspberry Pi website has instructions [here](https://www.raspberrypi.org/documentation/remote-access/ssh/). ```bash -$ ssh pi@ipadress +$ ssh pi@ipaddress ``` Changing the default password is encouraged. @@ -107,3 +107,11 @@ $ pip3 install --upgrade homeassistant ``` Once the last command executes restart the Home Assistant service to apply the latest updates. Please keep in mind that some updates may take longer to boot up than others. If Home Assistant fails to start make sure you check the **Breaking Changes** from the [Release Notes](https://github.com/home-assistant/home-assistant/releases). + +### {% linkable_title Activating the virtual environment %} + +When instructions tell you to activate the virtual environment, the following commands will do this: + +```bash +$ sudo -u homeassistant -H -s +$ source /srv/homeassistant/bin/activate``` diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown index 33dddf01e14..8f03fe654ae 100644 --- a/source/_docs/z-wave/device-specific.markdown +++ b/source/_docs/z-wave/device-specific.markdown @@ -144,17 +144,43 @@ Some models of the Zooz Toggle switches ship with an instruction manual with inc To provide Central Scene support you need to shut Home Assistant down and modify your `zwcfg_*.xml` file according to the following guides. +### {% linkable_title Inovelli Scene Capable On/Off and Dimmer Wall Switches %} + +For Inovelli switches, you'll need to update (or possibly add) the `COMMAND_CLASS_CENTRAL_SCENE` for each node in your `zwcfg` file with the following: + +```xml +-This is a work in progress, based upon reports in the forum, the author's own devices, and reading of various documentation. It will be incomplete, so if you have a device that isn't reported here, or have a device that reports a different value, please provide a report in the [Z-Wave section](https://community.home-assistant.io/c/configuration/zwave) of the forum or the #zwave channel on [Discord](https://discord.gg/RkajcgS). +This is a work in progress, based upon reports in the forum, the author's own devices and reading of various documentation. It will be incomplete, so if you have a device that isn't reported here or have a device that reports a different value, please provide a report in the [Z-Wave section](https://community.home-assistant.io/c/configuration/zwave) of the forum or the #zwave channel on [Discord](https://discord.gg/RkajcgS).
## {% linkable_title Binary Sensor %} @@ -54,7 +54,7 @@ Devices (usually sensors) that support the Alarm command class will create entit ### {% linkable_title Alarm Level Entity %} -The meaning of the `alarm_level` entity depends on the nature of the alarm sensor +The meaning of the `alarm_level` entity depends on the nature of the alarm sensor. #### {% linkable_title Smoke, CO, and CO2 %} @@ -135,21 +135,19 @@ The meaning of the `alarm_level` entity depends on the nature of the alarm senso - **254**: Deep sleep - **255**: Case open -If your device has an `access_control` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/components/binary_sensor.template/) to create one: +If your device has an `access_control` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/components/binary_sensor.template/) to create one (here we've defined it as a door, but you can use [any relevant device class](/components/binary_sensor/#device-class): -``` +{% raw %} +```yaml binary_sensor: - platform: template sensors: YOUR_SENSOR: friendly_name: "Friendly name here" - value_template: >- - {% raw %}{%- if is_state('sensor.YOUR_ORIGINAL_SENSOR_access_control', '22') -%} - true - {%- else -%} - false - {%- endif -%}{% endraw %} + device_class: door + value_template: {{ is_state('sensor.YOUR_ORIGINAL_SENSOR_access_control', '22') }} ``` +{% endraw %} ### {% linkable_title Burglar Entity %} @@ -163,21 +161,19 @@ binary_sensor: - **254**: Deep sleep - **255**: Case open -If your device has a `burglar` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/components/binary_sensor.template/) to create one: +If your device has a `burglar` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/components/binary_sensor.template/) to create one (here we've defined it as a motion sensor, but you can use [any relevant device class](/components/binary_sensor/#device-class: -``` +{% raw %} +```yaml binary_sensor: - platform: template sensors: YOUR_SENSOR: friendly_name: "Friendly name here" - value_template: >- - {% raw %}{%- if is_state('sensor.YOUR_SENSOR_burglar', '8') -%} - true - {%- else -%} - false - {%- endif -%}{% endraw %} + device_class: motion + value_template: {{ is_state('sensor.YOUR_SENSOR_burglar', '8') }} ``` +{% endraw %} ### {% linkable_title Source Node ID Entity %} diff --git a/source/_posts/2018-06-22-release-72.markdown b/source/_posts/2018-06-22-release-72.markdown new file mode 100644 index 00000000000..1d91b763433 --- /dev/null +++ b/source/_posts/2018-06-22-release-72.markdown @@ -0,0 +1,522 @@ +--- +layout: post +title: "0.72: Lovelace UI, KIWI Doorlocks, Wireless Tags, Insteon X10." +description: "This release will blow you away. Click with caution." +date: 2018-06-22 00:01:00 +date_formatted: "June 22, 2018" +author: Paulus Schoutsen +author_twitter: balloob +comments: true +categories: Release-Notes +og_image: /images/blog/2018-06-release-0.72/lovelace.png +--- + +I am super excited about this release as it brings some great examples of how we are refining the system to become more customizable and, at the same time, user friendly. The first thing that I am really excited about is a new experimental user interface that we call Lovelace. Check [this awesome rundown](https://gist.github.com/ciotlosm/9508388876edf92c4c1f3579e740fbd5) of all the features by [@ciotlosm]. The TL;DR: a faster, more customizable and more extensible UI with the same look and feel as the old one. + +Be aware, this _is_ experimental, so things will change. However, we felt like we didn't want to keep this away from you any longer. Check the [Lovelace UI docs](https://developers.home-assistant.io/docs/en/lovelace_index.html) on how to get started. Make sure to share your creations! + +Thanks to all the people that have been hanging out in the #beta channel on [Discord](https://discord.gg/c5DvZ4e) helping development, finding and squashing bugs and making suggestions. Especially thanks to [@c727] for all his development work and [@arsaboo] for being the first guinea pig. + +
+
+Example user interface created using Lovelace ([source](https://gist.github.com/ciotlosm/9508388876edf92c4c1f3579e740fbd5#file-ui-lovelace-yaml))
+
+
+Screenshot of the Nest config entry.
+
+After setting up the cloud, if you make any device changes such as changing the name or adding a new device simply say "Ok Google, sync my devices" to get the changes to show up. +
diff --git a/source/components/switch.linode.markdown b/source/components/switch.linode.markdown new file mode 100644 index 00000000000..f0afd3dd84b --- /dev/null +++ b/source/components/switch.linode.markdown @@ -0,0 +1,34 @@ +--- +layout: page +title: "Linode Switch" +description: "Instructions on how to set up Linode switch within Home Assistant." +date: 2017-10-20 08:00 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: System Monitor +logo: linode.png +ha_release: 0.57 +ha_iot_class: "Cloud Polling" +--- + +The `linode` switch platform allows you to turn your Linode nodes on and off. + +Add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +switch: + - platform: linode + nodes: + - 'myvpsname' +``` + +{% configuration linode %} + nodes: + description: List of VPSs you want to control. + required: true + type: string +{% endconfiguration %} + diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown index ef9b53df954..5eacd498829 100644 --- a/source/getting-started/configuration.markdown +++ b/source/getting-started/configuration.markdown @@ -66,7 +66,7 @@ Go to the add-on store (see previous step), click on Configurator and click on " - Click on "SAVE" to save your new password - "START" the add-on - You will be able to click the "OPEN WEB UI" link to open the Web UI on a new window - - Type your username and password that you recently save + - Type your username and password that you recently saved Time for the first practice with the configurator. Add the following to `configuration.yaml` file to add a link to the Configurator in the sidebar: diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index 7cf8c2ec580..5dd5fefd566 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -26,7 +26,7 @@ We will need a few things to get started with installing Home Assistant. Links b - SD Card reader. Part of most laptops, and also available as [standalone USB sticks](http://a.co/5FCyb0N) (the brand doesn't matter, just pick the cheapest) - Ethernet cable (optional, Hass.io can work with WiFi too) -+
Support for the Raspberry Pi 3 model B+ is available in the alternative installation method [Hassbian](/docs/hassbian/installation/). The recently released Raspberry Pi 3 model B+ is not yet supported by Hass.io. @@ -54,7 +54,7 @@ We will need a few things to get started with installing Home Assistant. Links b [local]: http://hassio.local:8123 -
+
When you're done, remember to set up regular backups of your configuration. This will protect you from hardware failure and mistakes. On Hass.io you have snapshots, but you can back up to [GitHub](/docs/ecosystem/backup/backup_github/), [DropBox](/docs/ecosystem/backup/backup_usb/) and many other ways. All that matters is that you set them up and test them regularly.
diff --git a/source/images/blog/2018-06-release-0.72/config_entry.png b/source/images/blog/2018-06-release-0.72/config_entry.png new file mode 100644 index 00000000000..fba0cb2931a Binary files /dev/null and b/source/images/blog/2018-06-release-0.72/config_entry.png differ diff --git a/source/images/blog/2018-06-release-0.72/lovelace.png b/source/images/blog/2018-06-release-0.72/lovelace.png new file mode 100644 index 00000000000..21e870e347c Binary files /dev/null and b/source/images/blog/2018-06-release-0.72/lovelace.png differ diff --git a/source/images/supported_brands/epson.png b/source/images/supported_brands/epson.png index 22539dee6ef..5bf85496eb2 100644 Binary files a/source/images/supported_brands/epson.png and b/source/images/supported_brands/epson.png differ diff --git a/source/images/supported_brands/hydrawise_logo.png b/source/images/supported_brands/hydrawise_logo.png index 0cfde4bbe61..fffd11f8ebe 100644 Binary files a/source/images/supported_brands/hydrawise_logo.png and b/source/images/supported_brands/hydrawise_logo.png differ diff --git a/source/images/supported_brands/rss.gif b/source/images/supported_brands/rss.gif index f392663d1be..b1fc025785f 100644 Binary files a/source/images/supported_brands/rss.gif and b/source/images/supported_brands/rss.gif differ diff --git a/source/index.html b/source/index.html index 234bf17108b..263f991553a 100644 --- a/source/index.html +++ b/source/index.html @@ -11,8 +11,6 @@ hide_github_edit: true description: Open-source home automation platform running on Python 3. Track and control all devices at home and automate control. Installation in less than a minute. --- -{% assign recent_release_post = site.categories['Release-Notes'].first %} -