diff --git a/_config.yml b/_config.yml index 42fa468642f..ba99209d8e8 100644 --- a/_config.yml +++ b/_config.yml @@ -139,14 +139,14 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 63 -current_patch_version: 3 -date_released: 2018-02-17 +current_minor_version: 64 +current_patch_version: 0 +date_released: 2018-02-26 # 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: "#release-0633---february-17" +patch_version_notes: "#" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/source/_components/august.markdown b/source/_components/august.markdown new file mode 100644 index 00000000000..cbac63c9357 --- /dev/null +++ b/source/_components/august.markdown @@ -0,0 +1,50 @@ +--- +layout: page +title: "August" +description: "Instructions on how to integrate your August devices into Home Assistant." +date: 2018-02-17 22:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: august.png +ha_category: Hub +ha_release: "0.64" +ha_iot_class: "Cloud Polling" +--- + +The `august` component allows you to integrate your [August](http://august.com) devices in Home Assistant. Currently this component supports August Lock and Doorbell. + +You will need your August login information (username (either phone# or email), and password) to use this module. + +To set it up, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +august: + login_method: phone + username: "+16041234567" + password: secret +``` + +{% configuration %} + login_method: + description: Method to login to your August account, either "email" or "phone". A verification code will be sent to your email or phone during setup. + required: true + type: string + username: + description: The username for accessing your August account. This depends on your login_method, if login_method is email, this will be your email of the account. Otherwise, this will be your phone number. + required: true + type: string + password: + description: The password for accessing your August account. + required: true + type: string + timeout: + description: Timeout to wait for connections. + required: false + type: int + default: 10 +{% endconfiguration %} + +Once Home Assistant is started, a configurator will pop up asking you to enter verification code that is sent to your phone number or email. diff --git a/source/_components/binary_sensor.august.markdown b/source/_components/binary_sensor.august.markdown new file mode 100644 index 00000000000..be793af19b8 --- /dev/null +++ b/source/_components/binary_sensor.august.markdown @@ -0,0 +1,22 @@ +--- +layout: page +title: "August Binary Sensor" +description: "Instructions on how to integrate your August devices into Home Assistant." +date: 2018-02-17 22:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: august.png +ha_category: Binary Sensor +ha_release: "0.64" +ha_iot_class: "Cloud Polling" +--- + +To get your [August](http://august.com) doorbell binary sensors working within Home Assistant, please follow the instructions for the general [August component](/components/august/). + +If you have August Doorbell, once you have enabled the [August component](/components/august/), you should see following sensors: + +* Doorbell ding sensor +* Doorbell motion sensor +* Doorbell online sensor diff --git a/source/_components/binary_sensor.deconz.markdown b/source/_components/binary_sensor.deconz.markdown index f06c89241bd..f0499482838 100644 --- a/source/_components/binary_sensor.deconz.markdown +++ b/source/_components/binary_sensor.deconz.markdown @@ -17,8 +17,10 @@ See the [deCONZ main component](/components/deconz/) for configuration instructi The following sensor types are supported: + * Fire/Smoke detection * Open/Close detection * Presence detection + * Water leakage detection Entity ids will be binary_sensor.device_name, where device_name is defined in deCONZ. diff --git a/source/_components/bmw_connected_drive.markdown b/source/_components/bmw_connected_drive.markdown new file mode 100644 index 00000000000..92bd4723cdf --- /dev/null +++ b/source/_components/bmw_connected_drive.markdown @@ -0,0 +1,58 @@ +--- +layout: page +title: "BMW connected drive" +description: "Instructions on how to setup your BMW connected drive account with Home Assistant." +date: 2018-01-10 23:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: bmw.png +ha_category: Hub +ha_release: 0.64 +--- + +This component lets you retrieve data on your BMW vehicle from the BMW Connected Drive portal. You need to have a working BMW Connected Drive account and a Connected Drive enabled vehicle for this to work. + +For compatibility with your BMW vehicle check the (bimmer_connected page)[https://github.com/ChristianKuehnel/bimmer_connected] on github. + +To enable this component in your installation, add the following to your +`configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +bmw_connected_drive: + mycar: + name: Car 1 + username: USERNAME_BMW_CONNECTED_DRIVE + password: PASSWORD_BMW_CONNECTED_DRIVE + country: COUNTRY_BMW_CONNECTED_DRIVE +``` + +{% configuration %} +bmw_connected_drive: + description: configuration + required: true + type: map + keys: + name: + description: Name of your account in Home Assistant. + required: true + type: string + username: + description: Your BMW Connected Drive username. + required: true + type: string + password: + description: Your BMW Connected Drive password. + required: true + type: string + country: + description: "The country of your Connected Drive account. Please use the exact names for the country as listed on the [Connected Drive website](https://www.bmw-connecteddrive.com/)." + required: true + type: string +{% endconfiguration %} + +## {% linkable_title Disclaimer %} + +This software is not affiliated with or endorsed by BMW Group. diff --git a/source/_components/camera.august.markdown b/source/_components/camera.august.markdown new file mode 100644 index 00000000000..660a9504c5e --- /dev/null +++ b/source/_components/camera.august.markdown @@ -0,0 +1,18 @@ +--- +layout: page +title: "August Camera" +description: "Instructions on how to integrate your August devices into Home Assistant." +date: 2018-02-17 22:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: august.png +ha_category: Camera +ha_release: "0.64" +ha_iot_class: "Cloud Polling" +--- + +The `august` camera platform allows you to view the latest camera image (triggered by motion) by your [August](http://august.com) device in Home Assistant. + +To add `august` camera to your installation, follow instructions in [August component](/components/august/). diff --git a/source/_components/camera.onvif.markdown b/source/_components/camera.onvif.markdown index 0cfa7cf4534..f4281405bc8 100644 --- a/source/_components/camera.onvif.markdown +++ b/source/_components/camera.onvif.markdown @@ -33,4 +33,15 @@ Configuration variables: - **port** (*Optional*): The port for the camera. This defaults to 5000 - **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g. image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg). +### {% linkable_title Service `camera.onvif_ptz` %} + +If your ONVIF camera supports PTZ, you will be able to pan, tilt or zoom your camera. + +| Service data attribute | Description | +| -----------------------| ----------- | +| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Else targets all. +| `tilt` | Tilt direction. Allowed values: `UP`, `DOWN` +| `pan` | Pan direction. Allowed values: `RIGHT`, `LEFT` +| `zoom` | Zoom. Allowed values: `ZOOM_IN`, `ZOOM_OUT` + If you are running into trouble with this sensor, please refer to the [Troubleshooting section](/components/ffmpeg/#troubleshooting). diff --git a/source/_components/deconz.markdown b/source/_components/deconz.markdown index 6b65b086649..8f9c85f58e2 100644 --- a/source/_components/deconz.markdown +++ b/source/_components/deconz.markdown @@ -75,10 +75,15 @@ Set attribute of device in Deconz using [Rest API](http://dresden-elektronik.git | Service data attribute | Optional | Description | |-----------|----------|-------------| | `field` | No | String representing a specific device in deCONZ. | +| `entity` | No | String representing a specific HASS entity of a device in deCONZ. | | `data` | No | Data is a JSON object with what data you want to alter. | +Field and entity are exclusive, i.e you can only use one in a request. + { "field": "/lights/1", "data": {"name": "light2"} } +{ "entity": "light.light1", "data": {"name": "light2"} } + { "field": "/config", "data": {"permitjoin": 60} } ## {% linkable_title Remote control devices%} diff --git a/source/_components/device_tracker.bmw_connected_drive.markdown b/source/_components/device_tracker.bmw_connected_drive.markdown new file mode 100644 index 00000000000..d00d588b355 --- /dev/null +++ b/source/_components/device_tracker.bmw_connected_drive.markdown @@ -0,0 +1,20 @@ +--- +layout: page +title: "BMW connected drive" +description: "Instructions on how to setup your BMW connected drive account with Home Assistant." +date: 2018-01-10 23:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: bmw.png +ha_category: Presence Detection +ha_release: 0.64 +--- + + +The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant. + +The device tracker platform will be automatically configured if the `bmw_connected_drive` component is configured. + +For more configuration information see the [`bmw_connected_drive` component](/components/bmw_connected_drive/) documentation. diff --git a/source/_components/device_tracker.unifi.markdown b/source/_components/device_tracker.unifi.markdown index a71db056556..bac8fe43be4 100644 --- a/source/_components/device_tracker.unifi.markdown +++ b/source/_components/device_tracker.unifi.markdown @@ -20,8 +20,12 @@ To use this device tracker in your installation, add the following to your `conf # Example configuration.yaml entry device_tracker: - platform: unifi - username: USERNAME - password: PASSWORD + host: unifi + username: username + password: password + ssid_filter: + - 'HomeSSID' + - 'IoTSSID' ``` {% configuration %} @@ -56,8 +60,14 @@ verify_ssl: detection_time: description: How long since the last seen time before the device is marked away, specified in seconds. type: int - required: optional + required: false default: 300 +ssid_filter: + description: Filter the SSIDs that tracking will occur on. + type: list of strings + required: false + default: None + {% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index 02d57817cdc..50c311a624e 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -44,6 +44,7 @@ google_assistant: type: light light.living_room: expose: false + room: living room ``` Configuration variables: @@ -105,6 +106,10 @@ entity_config: description: Override how Google Assistant interprets the domain of the entity. For example, set to `light` for a switch entity to have it be handled as a light. required: false type: string + room: + description: Allows for associating this device to a Room in Google Assistant. This is currently non-functional, but will be enabled in the near future. + required: false + type: string {% endconfiguration %} ### {% linkable_title Available domains %} diff --git a/source/_components/homekit.markdown b/source/_components/homekit.markdown new file mode 100644 index 00000000000..98d75d971c0 --- /dev/null +++ b/source/_components/homekit.markdown @@ -0,0 +1,63 @@ +--- +layout: page +title: "HomeKit" +description: "Instructions how to setup the HomeKit component in Home Assistant." +date: 2018-02-20 17:30 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Voice +ha_release: 0.64 +logo: apple-homekit.png +--- + +The `HomeKit` component allows you to forward entities from Home Assistant to Apple `HomeKit`, so they could be controlled from Apple `Home` app and `Siri`. + +{% configuration %} + homekit: + description: HomeKit configuration. + required: true + type: map + keys: + pincode: + description: Pin code required during setup of HomeKit Home Assistant accessory. The format needs to be 'XXX-XX-XXX' where X is a number between 1 and 9. + required: false + type: string + default: '"123-45-678"' + port: + description: Port for the HomeKit extension. + required: false + type: int + default: 51826 +{% endconfiguration %} + +## {% linkable_title Setup %} + +To enable the `HomeKit` component in Home Assistant, add the following to your configuration file: + +```yaml +# Example for HomeKit setup +homekit: + pincode: '123-45-678' +``` + +

It is not recommended to choose '123-45-678' as your pin code!

+ +After Home Assistant has started, all supported entities (see the [list](#supported-components) below which components are already integrated) will be exposed to `HomeKit`. To add them: +1. Open the `Home` App. +2. Choose `Add Accessory` and then `Don't Have a Code or Can't Scan?`. +3. The `Home Assistant` Bridge should be listed there. Select it and follow the instructions to complete setup. + +After the setup is completed you should be able to control your Home Assistant components through `Home` and `Siri`. + +## {% linkable_title Supported Components %} + +The following components are currently supported: + +| Component | Type Name | Description | +| --------- | --------- | ----------- | +| cover | Window | All covers that support `set_cover_position`. | +| sensor | TemperatureSensor | All sensors that have `Celsius` as their `unit_of_measurement`. | + +

Currently only devices that are setup when Home Assistant is starting can be exposed to `HomeKit`. This means that especially `Z-Wave` components are currently not supported, since they will be setup afterwards. We are working on a solution for this problem.

diff --git a/source/_components/homematic.markdown b/source/_components/homematic.markdown index 73287f74209..84a19504b02 100644 --- a/source/_components/homematic.markdown +++ b/source/_components/homematic.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Local Push" featured: false --- - The [Homematic](http://www.homematic.com/) component provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit. If you are using Homegear with paired [Intertechno](http://intertechno.at/) devices, uni-directional communication is possible as well. @@ -22,7 +21,7 @@ Device support is available for most of the wired and wireless devices, as well If you want to see if a specific device you have is supported, head over to the [pyhomematic](https://github.com/danielperna84/pyhomematic/tree/master/pyhomematic/devicetypes) repository and browse through the source code. A dictionary with the device identifiers (e.g. HM-Sec-SC-2) can be found within the relevant modules near the bottom. If your device is not supported, feel free to contribute. We automatically detect all devices we currently support and try to generate useful names. If you enable name-resolving, we try to fetch names from Metadata (Homegear), via JSON-RPC or the XML-API you may have installed on your CCU. Since this may fail this is disabled by default. -You can manually rename the created entities by using Home Assistants [Customizing](https://home-assistant.io/getting-started/customizing-devices/) feature. With it you are also able to hide entities you don't want to see in the UI. +You can manually rename the created entities by using Home Assistant's [Customizing](/docs/configuration/customizing-devices/) feature. With it you are also able to hide entities you don't want to see in the UI. To set up the component, add the following information to your `configuration.yaml` file: @@ -161,6 +160,16 @@ automation: The channel parameter is equal to the channel of the button you are configuring the automation for. You can view the available channels in the UI you use to pair your devices. The name depends on if you chose to resolve names or not. If not, it will be the device ID (e.g. LEQ1234657). If you chose to resolve names (and that is successful), it will be the name you have set in your CCU or in the metadata (e.g. "Kitchen Switch"). +You can test whether your button works within Home Assistant if you look at the terminal output. When pressing a button, lines similar to those should appear: + +```bash +2018-01-27 11:51:32 INFO (Thread-12) [pyhomematic.devicetypes.generic] HMGeneric.event: address=MEQ1234567:6, interface_id=homeassistant-CCU2, key=PRESS_SHORT, value=True +2018-01-27 11:51:32 INFO (MainThread) [homeassistant.core] Bus:Handling +2018-01-27 11:51:32 INFO (Thread-12) [pyhomematic.devicetypes.generic] HMGeneric.event: address=MEQ1234567:6, interface_id=homeassistant-CCU2, key=INSTALL_TEST, value=True +``` + +It may happen that "your_nice_name" is not resolved correctly; the according message (#2 in the above example) will be missing. This might be due to secure communication between your HM interface and the HM device. You can change the communication from "secure" to "standard" within your HM-interface to solve that issue (in "Einstellungen" - "Geräte" find your device and change "Übertragungsmodus" from secure to standard) - not recommended for devices that should have secure communication. + ### {% linkable_title Services %} * *homematic.virtualkey*: Simulate a keypress (or other valid action) on CCU/Homegear with device or virtual keys. diff --git a/source/_components/light.limitlessled.markdown b/source/_components/light.limitlessled.markdown index bc0849cbcaf..5373e34b878 100644 --- a/source/_components/light.limitlessled.markdown +++ b/source/_components/light.limitlessled.markdown @@ -18,7 +18,7 @@ ha_release: pre 0.7 ### {% 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` and `white` group to the same group number, effectively allowing 12 groups (4 `rgbww`, 4 `rgbw` and 4 `white`) per bridge. +Before configuring Home Assistant, make sure you can control your bulbs or LEDs with the MiLight mobile application. Discover your bridge(s) IP address. You can do this via your router or a mobile application like Fing ([android](https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=en) or [iTunes](https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8)). Keep in mind that LimitlessLED bulbs are controlled via groups. You can not control an individual bulb via the bridge, unless it is in a group by itself. Note that you can assign an `rgbw`, `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. To add `limitlessled` to your installation, add the following to your `configuration.yaml` file: @@ -38,6 +38,9 @@ light: type: rgbw name: Kitchen fade: on + - number: 4 + type: dimmer + name: Livingroom - host: 192.168.1.11 groups: - number: 1 @@ -56,7 +59,7 @@ Configuration variables: - **groups** array (*Required*): The list of available groups. - **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`, or `bridge-led`. `rgbw` is the default if you don't specify this entry. Use `bridge-led` to control the built-in LED of newer WiFi bridges. + - **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. ### {% linkable_title Properties %} @@ -74,9 +77,16 @@ Refer to the [light]({{site_root}}/components/light/) documentation for general - 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. - *Temperature*: Wifi bridge v6 supports 101 temperature steps; older versions only 10. - *Brightness*: Wifi bridge v6 supports 101 brightness steps; older versions only 10. +- **Dimmer** (Only supported on v6 bridges) + - This type is for a single color LED dimmer like the 1CH MiLight dimmer module or similar. This type is only supported by the version 6 Wifi bridges. + - *Brightness*: Wifi bridge v6 supports 101 brightness steps. - **Transitions** - If a transition time is set, the group will transition between the current settings and the target settings for the duration specified. Transitions from or to white are not possible - the color will change immediately. ### {% linkable_title Initialization & Synchronization %} -When starting Home Assistant, your LimitlessLED bulbs will be set to known default values. This ensures a consistent user interface and uninterrupted turning on/off. If you control your LimitlessLED lights via the MiLight mobile application or other means while Home Assistant is running, Home Assistant can not track those changes and you may observe unexpected behavior. This is due to a LimitlessLED limitation. +When starting Home Assistant, 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. + +This lack of synchronization is due to a LimitlessLED limitation. diff --git a/source/_components/light.mqtt.markdown b/source/_components/light.mqtt.markdown index 898356c8532..ec582bfb0fc 100644 --- a/source/_components/light.mqtt.markdown +++ b/source/_components/light.mqtt.markdown @@ -120,7 +120,7 @@ rgb_command_topic: required: false type: string rgb_state_topic: - description: The MQTT topic subscribed to receive RGB state updates. + description: The MQTT topic subscribed to receive RGB state updates. The expected payload is the RGB values separated by commas, for example `255,0,127`. required: false type: string rgb_value_template: @@ -233,10 +233,10 @@ To enable a light with brightness (no RGB version) in your installation, add the light: - platform: mqtt name: "Office light" - state_topic: "office/rgb1/light/status" - command_topic: "office/rgb1/light/switch" - brightness_state_topic: 'office/rgb1/light/brightness' - brightness_command_topic: 'office/rgb1/light/brightness/set' + state_topic: "office/light/status" + command_topic: "office/light/switch" + brightness_state_topic: 'office/light/brightness' + brightness_command_topic: 'office/light/brightness/set' qos: 0 payload_on: "ON" payload_off: "OFF" @@ -255,8 +255,8 @@ light: state_topic: "office/light/status" command_topic: "office/light/switch" payload_off: "OFF" - brightness_state_topic: 'office/rgb1/light/brightness' - brightness_command_topic: 'office/rgb1/light/brightness/set' + brightness_state_topic: 'office/light/brightness' + brightness_command_topic: 'office/light/brightness/set' on_command_type: 'brightness' ``` diff --git a/source/_components/lock.august.markdown b/source/_components/lock.august.markdown new file mode 100644 index 00000000000..eda4f37d06e --- /dev/null +++ b/source/_components/lock.august.markdown @@ -0,0 +1,18 @@ +--- +layout: page +title: "August Lock" +description: "Instructions on how to integrate your August devices into Home Assistant." +date: 2018-02-17 22:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: august.png +ha_category: Lock +ha_release: "0.64" +ha_iot_class: "Cloud Polling" +--- + +The `august` lock platform allows you to control your [August](http://august.com) lock from within Home Assistant. + +To add `august` lock to your installation, follow instructions in [August component](/components/august/). diff --git a/source/_components/logbook.markdown b/source/_components/logbook.markdown index adabef99d19..d1a76f39739 100644 --- a/source/_components/logbook.markdown +++ b/source/_components/logbook.markdown @@ -26,8 +26,8 @@ Configuration variables: - **entities** (*Optional*): The list of entity ids to be excluded from creating logbook entries. - **domains** (*Optional*): The list of domains to be excluded from creating logbook entries. - **include** (*Optional*): Configure which components should create logbook entries. - - **entities** (*Optional*): The list of entity ids to be included from creating logbook entries. - - **domains** (*Optional*): The list of domains to be included from creating logbook entries. + - **entities** (*Optional*): The list of entity ids to be included in creating logbook entries. + - **domains** (*Optional*): The list of domains to be included in creating logbook entries. If you want to exclude messages of some entities or domains from the logbook just add the `exclude` parameter like: diff --git a/source/_components/media_player.bluesound.markdown b/source/_components/media_player.bluesound.markdown index f711cbe8971..999d2cd9298 100644 --- a/source/_components/media_player.bluesound.markdown +++ b/source/_components/media_player.bluesound.markdown @@ -46,3 +46,37 @@ media_player: port: 11000 - host: 192.168.1.131 ``` + +### {% linkable_title Service `bluesound_join` %} + +Group players together under a single master speaker. That will make a new group or join to exists group. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `master` | no | A single `entity_id` that will become/hold the master speaker. +| `entity_id` | no | String or list of a single `entity_id` that will group to master speaker. + +### {% linkable_title Service `bluesound_unjoin` %} + +Remove one or more speakers from a group of speakers. If no `entity_id` is provided, all speakers are unjoined. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of `entity_id`s that will be separated from their master speaker. + +### {% linkable_title Service `bluesound_set_sleep_timer` %} + +Sets a timer that will turn off the speaker. For each time you call this it will increase the time by one step. The steps are (in minutes): 15, 30, 45, 60, 90, 0. +If you increase an ongoing timer of for example 13 minutes, it will increase it to 15. If the timer is set to 90, it will remove the time (hence the 0). + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | no | String or list of `entity_id`s that will have their timers set. + +### {% linkable_title Service `bluesound_clear_sleep_timer` %} + +Clear the sleep timer on a speaker, if one is set. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | no | String or list of `entity_id`s that will have their timers cleared. diff --git a/source/_components/media_player.mediaroom.markdown b/source/_components/media_player.mediaroom.markdown index 828656b7e9f..a2eece639d9 100644 --- a/source/_components/media_player.mediaroom.markdown +++ b/source/_components/media_player.mediaroom.markdown @@ -51,6 +51,23 @@ In most cases (single STB) you just need to setup the *platform* and discovery w If the STB is on the same network segment as Home Assistant, it can determine whether the device is turned on or off. Without this, the component will fail to determine the Set-top box status, and you are required to add the *optimistic* configuration variable. +## {% linkable_title Examples %} + +### {% linkable_title Example `press_button` script %} + +The `play_media` function can be used in scripts to change channels. + +```yaml +# Example play_media script +# +press_button: + sequence: + service: media_player.play_media + data_template: + entity_id: media_player.mediaroom_stb + media_content_id: "{{ value }}" + media_content_type: "channel" + ### {% linkable_title Example configuration with 2 STB %} ```yaml diff --git a/source/_components/media_player.xiaomi_tv.markdown b/source/_components/media_player.xiaomi_tv.markdown new file mode 100644 index 00000000000..ffc2f1efc7d --- /dev/null +++ b/source/_components/media_player.xiaomi_tv.markdown @@ -0,0 +1,51 @@ +--- +layout: page +title: "Xiaomi TV" +description: "Instructions on how to integrate a Xiaomi TV into Home Assistant." +date: 2018-02-12 19:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: xiaomi.png +ha_category: Media Player +ha_release: 0.64 +ha_iot_class: "Assumed State" +--- + +The `xiaomi_tv` platform allows you to control a [Xiaomi TV](http://www.mi.com/en/mitv3s/65flat/). + +You need to make sure the TV is connected to the internet, and that your Home Assistant instance is on the same network. + +To add a TV to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +media_player: + - platform: xiaomi_tv +``` + +

+When starting or restarting Home Assistant make sure your TV is off. This is a flaw in the TV itself. +

+ +Configuration variables: + +- **host** (*Optional*): The IP of the Xiaomi TV, eg. 192.168.0.10 +- **name** (*Optional*): The name to use on the frontend. Default is 'Xiaomi TV'. + +If you do not set a host in the configuration file, local TVs will automatically be discovered. + +To manually add a TV you can use the following configuration: + +```yaml +# Example configuration.yaml entry +media_player: + - platform: xiaomi_tv + host: YOUR_TV_IP + name: YOUR_TV_NAME +``` + +

+The platform will never turn your TV off. Instead, it will be put to sleep and woken up. This can be useful, because the selected source of the TV will remain the same. It will essentially turn your TV into a dumb TV. +

diff --git a/source/_components/mqtt_eventstream.markdown b/source/_components/mqtt_eventstream.markdown index 7dd471e5cbf..da0f6fe3c3f 100644 --- a/source/_components/mqtt_eventstream.markdown +++ b/source/_components/mqtt_eventstream.markdown @@ -33,6 +33,10 @@ subscribe_topic: description: Topic to receive events from the remote server. required: false type: string +ignore_event: + description: Ignore sending these [events](/docs/configuration/events/) over mqtt. + required: false + type: list {% endconfiguration %} ## {% linkable_title Multiple Instances %} @@ -44,6 +48,9 @@ Events from multiple instances can be aggregated to a single master instance by mqtt_eventstream: publish_topic: master/topic subscribe_topic: slaves/# + ignore_event: + - call_service + - state_changed ``` For a multiple instance setup, each slave would publish to their own topic. diff --git a/source/_components/recorder.markdown b/source/_components/recorder.markdown index 38b9239ba59..039d94ceb2d 100644 --- a/source/_components/recorder.markdown +++ b/source/_components/recorder.markdown @@ -38,9 +38,10 @@ recorder: purge_keep_days: description: Specify the number of history days to keep in recorder database after a purge. required: false + default: 10 type: int purge_interval: - description: How often (in days) the purge task runs. If a scheduled purge is missed (e.g., if Home Assistant was not running), the schedule will resume soon after Home Assistant restarts. You can use the [service](#service-purge) call `purge` when required without impacting the purge schedule. + description: How often (in days) the purge task runs. If a scheduled purge is missed (e.g., if Home Assistant was not running), the schedule will resume soon after Home Assistant restarts. You can use the [service](#service-purge) call `purge` when required without impacting the purge schedule. If this is set to `0` (zero), automatic purging is disabled. required: false default: 1 type: int @@ -122,16 +123,12 @@ If you only want to hide events from e.g. your history, take a look at the [`his ### {% linkable_title Service `purge` %} -Call the service `recorder.purge` to start purge task, which deletes events and states older than x days, according to `keep_days` service data (*Required*) +Call the service `recorder.purge` to start a purge task which deletes events and states older than x days, according to `keep_days` service data. -Automation [action](https://home-assistant.io/getting-started/automation-action/) example: - -```yaml -action: - service: recorder.purge - data: - keep_days: 5 -``` +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `keep_days` | yes | The number of history days to keep in recorder database (defaults to the component `purge_keep_days` configuration) +| `repack` | yes | Rewrite the entire database, possibly saving some disk space (only supported for SQLite) ### {% linkable_title Restore State %} diff --git a/source/_components/scene.tahoma.markdown b/source/_components/scene.tahoma.markdown new file mode 100644 index 00000000000..1cb708486c3 --- /dev/null +++ b/source/_components/scene.tahoma.markdown @@ -0,0 +1,17 @@ +--- +layout: page +title: "Tahoma Scene" +description: "Instructions how to integrate Tahoma scenes into Home Assistant." +date: 2018-02-18 12:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: tahoma.png +ha_category: Scene +ha_release: 0.64 +--- + +The `tahoma` scene platform lets you trigger scenes added to your Tahoma Box in Home Assistant. + +Scenes will be added automatically. Please refer to the [component](/components/tahoma/) configuration on how to setup Tahoma. diff --git a/source/_components/sensor.alpha_vantage.markdown b/source/_components/sensor.alpha_vantage.markdown index 29712a8d0c9..f984e743546 100644 --- a/source/_components/sensor.alpha_vantage.markdown +++ b/source/_components/sensor.alpha_vantage.markdown @@ -14,7 +14,7 @@ featured: false ha_release: "0.60" --- -The `alpha_vantage` sensor platform uses [Alpha Vantage](https://www.alphavantage.co) to monitor the stock market. +The `alpha_vantage` sensor platform uses [Alpha Vantage](https://www.alphavantage.co) to monitor the stock market. This platform also provides detail about exchange rates. To enable the `alpha_vantage` platform, add the following lines to your `configuration.yaml` file: @@ -23,8 +23,17 @@ To enable the `alpha_vantage` platform, add the following lines to your `configu sensor: - platform: alpha_vantage api_key: YOUR_API_KEY + symbols: + - symbol: GOOGL + name: Google + foreign_exchange: + - name: USD_EUR + from: USD + to: EUR ``` +Either a symbol or a foreign exchange must be configured, otherwise you will not get any data. + {% configuration %} api_key: description: "The API Key from [Alpha Vantage](https://www.alphavantage.co)." @@ -33,7 +42,6 @@ api_key: symbols: description: List of stock market symbols for given companies. required: false - default: GOOGL type: map keys: name: diff --git a/source/_components/sensor.bmw_connected_drive.markdown b/source/_components/sensor.bmw_connected_drive.markdown new file mode 100644 index 00000000000..394fd2c31e0 --- /dev/null +++ b/source/_components/sensor.bmw_connected_drive.markdown @@ -0,0 +1,20 @@ +--- +layout: page +title: "BMW connected drive" +description: "Instructions on how to setup your BMW connected drive account with Home Assistant." +date: 2018-01-10 23:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: bmw.png +ha_category: Sensor +ha_release: 0.64 +--- + + +The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant. + +The sensors will be automatically configured if the `bmw_connected_drive` component is configured. + +For more configuration information see the [`bmw_connected_drive` component](/components/bmw_connected_drive/) documentation. diff --git a/source/_components/sensor.filesize.markdown b/source/_components/sensor.filesize.markdown new file mode 100644 index 00000000000..91eb16037ce --- /dev/null +++ b/source/_components/sensor.filesize.markdown @@ -0,0 +1,31 @@ +--- +layout: page +title: "File size sensor" +description: "Component for monitoring the size of a file." +date: 2018-02-06 14:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: file.png +ha_category: Sensor +ha_iot_class: "Local Polling" +ha_release: 0.64 +--- + +Component for displaying the size of a file. Note that paths must be added to [whitelist_external_dirs](https://home-assistant.io/docs/configuration/basic/). +Add to your config: + +```yaml +sensor: + - platform: filesize + file_paths: + - /config/home-assistant_v2.db + ``` + +{% configuration %} +file_paths: + description: The absolute path to the file. + required: true + type: list of strings +{% endconfiguration %} diff --git a/source/_components/sensor.folder.markdown b/source/_components/sensor.folder.markdown new file mode 100644 index 00000000000..c2b7ae330f0 --- /dev/null +++ b/source/_components/sensor.folder.markdown @@ -0,0 +1,36 @@ +--- +layout: page +title: "Folder sensor" +description: "Sensor for monitoring the contents of a folder." +date: 2018-02-21 14:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: file.png +ha_category: Sensor +ha_iot_class: "Local Polling" +ha_release: 0.64 +--- + +Sensor for monitoring the contents of a folder. Note that folder paths must be added to [whitelist_external_dirs](https://home-assistant.io/docs/configuration/basic/). Optionally a [wildcard filter]((http://tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htm)) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria. The number of filtered files in the folder and total size in bytes of those files are exposed as attributes. + +To enable the `folder` sensor in your installation, add the following to your `configuration.yaml` file: + +```yaml +sensor: + - platform: folder + folder: /config +``` + +{% configuration %} +folder: + description: The folder path + required: true + type: string +filter: + description: Filter to apply + required: false + default: "`*`" + type: string +{% endconfiguration %} diff --git a/source/_components/sensor.smappee.markdown b/source/_components/sensor.smappee.markdown new file mode 100644 index 00000000000..f9a3dcf4565 --- /dev/null +++ b/source/_components/sensor.smappee.markdown @@ -0,0 +1,19 @@ +--- +layout: page +title: "Smappee Sensor" +description: "Instructions how to integrate Smappee energy monitor into Home Assistant." +date: 2018-01-06 16:15 +sidebar: true +comments: false +sharing: true +footer: true +logo: smappee.png +ha_release: "0.62" +ha_category: Sensor +--- + +[Smappee](https://www.smappee.com/) controller for energy monitoring and Comport plug switches. + +Energy monitor measurements will be automatically added when you connect to the Smappee controller. + +For more configuration information see the [Smappee component](/components/smappee/) documentation. diff --git a/source/_components/sensor.spotcrime.markdown b/source/_components/sensor.spotcrime.markdown new file mode 100644 index 00000000000..892a077a6e4 --- /dev/null +++ b/source/_components/sensor.spotcrime.markdown @@ -0,0 +1,60 @@ +--- +layout: page +title: "Spot Crime" +description: "Instructions on how to integrate spotcrime.com into Home Assistant." +date: 2018-02-16 9:30 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Sensor +ha_release: 0.64 +ha_iot_class: "Cloud Polling" +--- + +The `spotcrime` sensor allows one to track reported incidents occurring in a given area. Incidents include anything reported to [Spot Crime](http://spotcrime.com). Your regional emergency services may or may not report data. The sensor defaults to counting incidents within one day, but can be customized via configuration.yaml. + +## Configuration + +To enable this sensor, add the following lines to your `configuration.yaml`. Your `radius` should be of sufficient size to capture incidents in your area. 0.01 = 1 mile. + +```yaml +sensor: + - platform: spotcrime + name: + radius: + days: +``` + +Configuration options for the Crime Reports Sensor: + +- **name** (*Required*): Name the sensor whatever you want. +- **radius** (*Required*): Radius in meters. +- **days** (*Optional*): Defaults to 1 day. +- **latitude** (*Optional*): Defaults to your home zone latitude. +- **longitude** (*Optional*): Defaults to your home zone longitude. +- **include** (*Optional*): List of incident types to include. +- **exclude** (*Optional*): List of incident types to exclude. + + +## Notes + +### Incident Types + +You can explicitly include or exclude incident types. Specifying `include`s restricts the incidents to those types. Specifying `exclude`s will return all incident types except those specified. + +These incident types are available: + +- Arrest +- Arson +- Assault +- Burglary +- Robbery +- Shooting +- Theft +- Vandalism +- Other + +### Events + +The `crimealerts` sensor fires a `crimealerts_incident` event when a new incident is detected, including the type, time, and location of the incident. diff --git a/source/_components/sensor.startca.markdown b/source/_components/sensor.startca.markdown new file mode 100644 index 00000000000..cd92fe272ce --- /dev/null +++ b/source/_components/sensor.startca.markdown @@ -0,0 +1,84 @@ +--- +layout: page +title: "Start.ca" +description: "Instructions on how to integrate Start.ca data usage within Home Assistant." +date: 2018-02-12 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: startca.png +ha_category: Sensor +ha_release: 0.64 +ha_iot_class: "Cloud Polling" +--- + +Integrate your [Start.ca](https://www.start.ca/) account information into Home Assistant. + +You can get your API key from: + +[Start.ca Usage API](https://www.start.ca/support/usage/api) + +To use your Start.ca sensor in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: startca + api_key: API_KEY + total_bandwidth: 400 + monitored_variables: + - usage + - usage_gb + - limit + - used_download + - used_upload + - used_total + - grace_download + - grace_upload + - grace_total + - total_download + - total_upload + - used_remaining +``` + +{% configuration %} +api_key: + description: The Start.ca API key to access the service. + required: true + type: string +total_bandwidth: + description: Your bandwidth limit in gigabytes. Set to `0` for unlimited plans without a cap. + required: true + type: string +monitored_conditions: + description: Conditions to display in the frontend. + required: true + type: list + keys: + usage: + description: Bandwidth usage (percentage). + usage_gb: + description: Bandwidth usage (gigabytes). + limit: + description: Monthly bandwidth limit (gigabytes). + used_download: + description: Bandwidth used by download outside the grace period (gigabytes). + used_upload: + description: Bandwidth used by upload outside the grace period (gigabytes). + used_total: + description: Total bandwidth (download and upload sum calculation) used outside the grace period (gigabytes). + grace_download: + description: Bandwidth used by download during the grace period (gigabytes). + grace_upload: + description: Bandwidth used by upload during the grace period (gigabytes). + grace_total: + description: Total bandwidth (download and upload sum calculation) used during the unlimited period (gigabytes). + total_download: + description: Total bandwidth download (Grace + Used) (gigabytes). + total_download: + description: Total bandwidth upload (Grace + Used) (gigabytes). + used_remaining: + description: Remaining bandwidth calucated from used and supplied total bandwidth (gigabytes). +{% endconfiguration %} + diff --git a/source/_components/sensor.teksavvy.markdown b/source/_components/sensor.teksavvy.markdown index 2181e4273de..9f7a8e70faa 100644 --- a/source/_components/sensor.teksavvy.markdown +++ b/source/_components/sensor.teksavvy.markdown @@ -15,8 +15,7 @@ ha_iot_class: "Cloud Polling" Integrate your [TekSavvy](https://myaccount.teksavvy.com/) account information into Home Assistant. -You can get your API key from -https://myaccount.teksavvy.com/ApiKey/ApiKeyManagement +You can get your API key from [TekSavvy My Account](https://myaccount.teksavvy.com/ApiKey/ApiKeyManagement). To use your TekSavvy sensor in your installation, add the following to your `configuration.yaml` file: @@ -45,7 +44,7 @@ api_key: required: true type: string total_bandwidth: - description: Your bandwidth limit in gigabytes. + description: Your bandwidth limit in gigabytes. Set to `0` for unlimited plans without a cap. required: true type: string monitored_conditions: @@ -72,6 +71,6 @@ monitored_conditions: offpeak_total: description: Total bandwidth used during the unlimited period (gigabytes). onpeak_remaining: - description: Remaining bandwidth (gigabytes). + description: Remaining bandwidth (gigabytes). {% endconfiguration %} diff --git a/source/_components/sensor.template.markdown b/source/_components/sensor.template.markdown index c8d8e2cd0a0..534fe54e9f7 100644 --- a/source/_components/sensor.template.markdown +++ b/source/_components/sensor.template.markdown @@ -45,6 +45,10 @@ sensor: description: Name to use in the frontend. required: false type: string + friendly_name_template: + description: Defines a template for the name to be used in the frontend (this overrides friendly_name). + required: false + type: template entity_id: description: A list of entity IDs so the sensor only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities. required: false @@ -244,3 +248,45 @@ sensor: {% endif %} ``` {% endraw %} + +### {% linkable_title Change the Friendly Name Used in the Frontend %} + +This example shows how to change the `friendly_name` based on a date. +Explanation: we add a multiple of 86400 seconds (= 1 day) to the current unix timestamp to get a future date. + +{% raw %} +```yaml +sensor: + - platform: template + sensors: + forecast_1_day_ahead: + friendly_name_template: >- + {%- set date = as_timestamp(now()) + (1 * 86400 ) -%} + {{ date|timestamp_custom("Tomorrow (%-m/%-d)") }} + value_template: "{{ sensor.darksky_weather_forecast_1 }}" + forecast_2_days_ahead: + friendly_name_template: >- + {%- set date = as_timestamp(now()) + (2 * 86400 ) -%} + {{ date|timestamp_custom("%A (%-m/%-d)") }} + value_template: "{{ sensor.darksky_weather_forecast_2 }}" +``` +{% endraw %} + +This example shows how to change the `friendly_name` based on a state. + +{% raw %} +```yaml +sensor: + - platform: template + sensors: + net_power: + friendly_name_template: >- + {% if states('sensor.power_consumption')|float < 0 %} + Power Consumption + {% else %} + Power Production + {% end %} + value_template: "{{ states('sensor.power_consumption') }}" + unit_of_measurement: 'kW' +``` +{% endraw %} diff --git a/source/_components/smappee.markdown b/source/_components/smappee.markdown new file mode 100644 index 00000000000..db3bd1ac659 --- /dev/null +++ b/source/_components/smappee.markdown @@ -0,0 +1,59 @@ +--- +layout: page +title: "Smappee" +description: "Instructions how to setup Smappee within Home Assistant." +date: 2018-01-06 16:15 +sidebar: true +comments: false +sharing: true +footer: true +logo: smappee.png +ha_release: "0.62" +ha_category: Hub +--- + +[Smappee](https://www.smappee.com/) controller for energy monitoring and Comport plug switches. + +Switches and Sensors are supported - and will be automatically added when you connect to the Smappee controller. + +The smappee component gets information from [Smappee API](https://smappee.atlassian.net/wiki/display/DEVAPI/API+Methods) using the [smappy](https://github.com/EnergieID/smappy) pypy module + +

+Info on how to get api access is described in the [smappy wiki](https://github.com/EnergieID/smappy/wiki) +

+ +# Configuration + +```yaml +# Example configuration.yaml entry +smappee: + host: 10.0.0.5 + client_id: YOUR_CLIENT_ID + client_secret: YOUR_CLIENT_SECRET + username: YOUR_MYSMAPPEE_USERNAME + password: YOUR_MYSMAPPEE_PASSWORD +``` + +```yaml +# Minimal example configuration.yaml entry +smappee: + host: 10.0.0.5 +``` + +```yaml +# Cloud only example configuration.yaml entry +smappee: + client_id: YOUR_CLIENT_ID + client_secret: YOUR_CLIENT_SECRET + username: YOUR_MYSMAPPEE_USERNAME + password: YOUR_MYSMAPPEE_PASSWORD +``` + +Configuration variables: + +- **host** (*Optional*): Your Local Smappee unit IP. +- **host_password** (*Optional*): Your Local Smappee password. +- **client_id** (*Optional*): Your Smappee API client_id. +- **client_secret** (*Optional*): Your Smappee API client_secret. +- **username** (*Optional*): Your My Smappee username. +- **password** (*Optional*): Your My Smappee password. diff --git a/source/_components/switch.flux.markdown b/source/_components/switch.flux.markdown index 7ebd649bb4a..cfe74efd204 100644 --- a/source/_components/switch.flux.markdown +++ b/source/_components/switch.flux.markdown @@ -16,7 +16,9 @@ The `flux` switch platform will change the temperature of your lights similar to The component will update your lights based on the time of day. It will only affect lights that are turned on and listed in the flux configuration. -During the day (in between `start time` and `sunset time`), it will fade the lights from the `start_colortemp` to the `sunset_colortemp`. After sunset (between `sunset_time` and `stop_time`), the lights will fade from the `sunset_colortemp` to the `stop_colortemp`. If the lights are still on after the `stop_time` it will continue to change the light to the `stop_colortemp` until the light is turned off. The fade effect is created by updating the lights every periodically. +During the day (in between `start time` and `sunset time`), it will fade the lights from the `start_colortemp` to the `sunset_colortemp`. After sunset (between `sunset_time` and `stop_time`), the lights will fade from the `sunset_colortemp` to the `stop_colortemp`. If the lights are still on after the `stop_time` it will continue to change the light to the `stop_colortemp` until the light is turned off. The fade effect is created by updating the lights periodically. + +The color temperature is specified kelvin, and accepted values are between 1000 and 40000 kelvin. Lower values will seem more red, while higher will look more white. If you want to update at variable intervals, you can leave the switch turned off and use automation rules that call the service `switch._update` whenever you want the lights updated, where `` equals the `name:` property in the switch configuration. diff --git a/source/_components/switch.smappee.markdown b/source/_components/switch.smappee.markdown new file mode 100644 index 00000000000..a28cd69319b --- /dev/null +++ b/source/_components/switch.smappee.markdown @@ -0,0 +1,20 @@ +--- +layout: page +title: "Smappee Switch" +description: "Instructions how to integrate Smappee Comfort Plug into Home Assistant." +date: 2018-01-06 16:15 +sidebar: true +comments: false +sharing: true +footer: true +logo: smappee.png +ha_release: "0.62" +ha_category: Switch +ha_iot_class: "Local Push" +--- + +[Smappee](https://www.smappee.com/) controller for energy monitoring and Comport plug switches. + +Comport Plugs will be automatically added when you connect to the Smappee controller. + +For more configuration information see the [Smappee component](/components/smappee/) documentation. diff --git a/source/_components/tahoma.markdown b/source/_components/tahoma.markdown index 3d092af3fbc..f41f3936cce 100644 --- a/source/_components/tahoma.markdown +++ b/source/_components/tahoma.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Cloud Polling" --- -The `Tahoma` component platform is used as an interface to the [tahomalink.com](https://www.tahomalink.com) website. It adds actually covers and the sun sensor from tahoma platform. +The `Tahoma` component platform is used as an interface to the [tahomalink.com](https://www.tahomalink.com) website. It adds covers, scenes and a sun sensor from the Tahoma platform. To use your Tahoma devices in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/usps.markdown b/source/_components/usps.markdown index 6f92cc8e779..3971db4ec66 100644 --- a/source/_components/usps.markdown +++ b/source/_components/usps.markdown @@ -16,6 +16,35 @@ ha_iot_class: "Cloud Polling" The `usps` platform allows one to track deliveries and inbound mail from the [US Postal Service (USPS)](https://www.usps.com/). In addition to having a USPS account, you will need to complete the "Opt-In" process for packages by clicking "Get Started Now" on [this page](https://my.usps.com/mobileWeb/pages/intro/start.action). You must also "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see inbound mail. +## Prerequisites + +This component requires that a headless-capable web browser is installed on your system - either PhantomJS or Google Chrome. Preferably use Chrome if your operating system supports it, since PhantomJS is deprecated. + +

+ If you are using a Raspberry Pi, you must use PhantomJS. +

+ +### PhantomJS + +Install the latest version of [PhantomJS]( http://phantomjs.org/download.html). Ensure the executable is on your `PATH`. `phantomjs --version` should work and report the correct version. This is the default option and requires no further configuration. + +

+ Don't use apt-get to install PhantomJS. This version is not compatible. +

+ + +### Chrome + +Install Chrome 59 or greater (preferably the most recent). Install the latest [Chromedriver](https://sites.google.com/a/chromium.org/chromedriver/downloads). Ensure both executables are on your `PATH`. `google-chrome --version` and `chromedriver --version` should work and report the correct version. + +OS-specific instructions: +- [Ubuntu 16](https://gist.github.com/ziadoz/3e8ab7e944d02fe872c3454d17af31a5) (Selenium server portion *not* necessary) +- [RHEL/Centos 7](https://stackoverflow.com/a/46686621) + +If you use the Chrome option, specify `driver: chrome` in your `usps` configuration. + +## Configuration + To enable this component, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index 140fd421aed..b6a9a283a0e 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -33,7 +33,7 @@ automation: ### {% linkable_title Home Assistant trigger %} -Use this platform to trigger when Home Assistant starts up and shuts down. +Triggers when Home Assistant starts up or shuts down. ```yaml automation: @@ -56,7 +56,7 @@ automation: ``` ### {% linkable_title Numeric state trigger %} -On state change of a specified entity, attempts to parse the state as a number and triggers once if value is changing from above to below a threshold, or from below to above the given threshold. +Triggers when numeric value of an entity's state crosses a given threshold. On state change of a specified entity, attempts to parse the state as a number and triggers once if value is changing from above to below or from below to above the given threshold. ```yaml automation: @@ -83,7 +83,7 @@ In the example above, a numeric_state that is 17.1-24.9 would fire this trigger. ### {% linkable_title State trigger %} -Triggers when the state of tracked entities change. If only entity_id given will match all state changes, even if only state attributes change. +Triggers when the state of a given entity changes. If only entity_id is given trigger will activate for all state changes, even if only state attributes change. ```yaml automation: @@ -107,7 +107,7 @@ automation:

### {% linkable_title Sun trigger %} -Trigger when the sun is setting or rising. An optional time offset can be given to have it trigger for example 45 minutes before sunset, when dusk is setting in. +Triggers when the sun is setting or rising. An optional time offset can be given to have it trigger a set time before or after the sun event (i.e. 45 minutes before sunset, when dusk is setting in). ```yaml automation: diff --git a/source/_docs/ecosystem/ios.markdown b/source/_docs/ecosystem/ios.markdown index 6959ade8f13..82ba667eec6 100644 --- a/source/_docs/ecosystem/ios.markdown +++ b/source/_docs/ecosystem/ios.markdown @@ -8,6 +8,7 @@ comments: false sharing: true footer: true redirect_from: /ecosystem/ios/ +redirect_from: /components/ios/ --- The Home Assistant for iOS app offers a companion app for iOS which is deeply integrated into both Home Assistant and iOS. Its basic features include: diff --git a/source/_faq/pip3.markdown b/source/_faq/pip3.markdown index cb957a7cf43..9b4fe56e029 100644 --- a/source/_faq/pip3.markdown +++ b/source/_faq/pip3.markdown @@ -10,7 +10,7 @@ ha_category: Installation --- -This utility should have been installed as part of the Python 3.4 installation. Check if Python 3.4 is installed by running `python3 --version`. If it is not installed, [download it here](https://www.python.org/getit/). +This utility should have been installed as part of the Python 3 installation. Check if Python 3 is installed by running `python3 --version`. If it is not installed, [download it here](https://www.python.org/getit/). If you are able to successfully run `python3 --version` but not `pip3`, install Home Assistant by running the following command instead: diff --git a/source/_posts/2018-02-26-release-64.markdown b/source/_posts/2018-02-26-release-64.markdown new file mode 100644 index 00000000000..8742bd19fbd --- /dev/null +++ b/source/_posts/2018-02-26-release-64.markdown @@ -0,0 +1,548 @@ +--- +layout: post +title: "0.64: Over 1000 integrations! New: HomeKit, BMW, August." +description: "Some great new integrations, some great new fixes, oooooh yeah." +date: 2018-02-26 00:01:00 +date_formatted: "February 26, 2018" +author: Paulus Schoutsen +author_twitter: balloob +comments: true +categories: Release-Notes +og_image: /images/blog/2018-02-0.64/components.png +--- + + + +🎉 1000 integrations, 1000 integrations, 1000 integrations! 🎉 + +That's right, Home Assistant 0.64 is here! In case you have missed our latest [Cloud update](https://home-assistant.io/blog/2018/02/19/cloud-update/), the Home Assistant Alexa skill is now live in all regions and we're working with Google in getting the Smart Home skill for Google Assistant approved. Exciting times! + +In the meanwhile, some great new integrations have landed, including yet another car 🚗 This time it's BMW. + +This is going to be the last release that supports Python 3.4. Starting with the next release, the minimum version required will be Python 3.5.3. [Learn more here.](https://home-assistant.io/blog/2017/10/06/deprecating-python-3.4-support/) + +## {% linkable_title HomeKit %} + +Native HomeKit support has arrived! Thanks to @cdce8p It is now possible to expose some devices over HomeKit to allow control via Siri and other things speaking the HomeKit protocol. Initial support has been added for temperature sensors and cover devices. Expect more devices to be added soon. + +[Check the HomeKit docs][HomeKit docs] + +## {% linkable_title Hass.io UI update %} + +Some of you already noticed that your Hass.io panel looks a bit different since this morning: @pvizeli pressed the ~~red~~ green button and the new UI got live. The Hass.io team ([@frenck] [@pvizeli] [@ryanm101]) is doing a great job in adding new features (like partial or encrypted snapshots) to the Hass.io backend and fixing bugs. However, those features where only added to the command line tools but not to the frontend. + +That's where [@c727] and [@ciotlosm] jumped in. They made new features accessible via the frontend and improved the overall navigation. + +We know that some features are still missing or broken, we are fixing this right now! Check this [issue](https://github.com/home-assistant/home-assistant-polymer/issues/912) first before you report any issues related to the Hass.io panel, please. + +## {% linkable_title Chart.js %} + +The frontend is now rendering the graphs and charts using Chart.js thanks to the hard work by [@fanthos]. This means that you can now render all the charts without being connected to the internet! + +## {% linkable_title August integration %} + +Major new integration by [@snjoetw]: August locks and door bells! Lock and unlock from Home Assistant and detect when your doorbell is rung or senses motion. Awesome! + +## {% linkable_title Cast bug fixes %} + +[@OttoWinter] has crushed a bunch of bugs for our ChromeCast integration. Including that nasy Cast group discovery issue! He is working on some more improvements that should arrive soon, stay tuned. Awesome work Otto! + +## {% linkable_title New Platforms %} + +- Support for August doorbell ([@snjoetw] - [#11124]) ([august docs]) ([binary_sensor.august docs]) ([camera.august docs]) ([lock.august docs]) (new-platform) +- Add new component: BMW connected drive ([@ChristianKuehnel] - [#12277]) ([bmw_connected_drive docs]) ([device_tracker.bmw_connected_drive docs]) ([sensor.bmw_connected_drive docs]) (new-platform) +- Add New Sensor for ISP Start.ca ([@mikeodr] - [#12356]) ([sensor.startca docs]) (new-platform) +- Add the Xiaomi TV platform. ([@fattdev] - [#12359]) ([media_player.xiaomi_tv docs]) (new-platform) +- added smappee component ([@hmn] - [#11491]) ([smappee docs]) ([sensor.smappee docs]) ([switch.smappee docs]) (new-platform) +- Add support for HomeKit ([@cdce8p] - [#12488]) ([homekit docs]) (new-platform) +- Adds filesize component ([@robmarkcole] - [#12211]) ([sensor.filesize docs]) (new-platform) +- Adds folder sensor ([@robmarkcole] - [#12208]) ([sensor.folder docs]) (new-platform) +- Spotcrime ([@jcconnell] - [#12460]) ([sensor.spotcrime docs]) (new-platform) +- Add Tahoma scenes ([@bakedraccoon] - [#12498]) ([scene docs]) ([tahoma docs]) (new-platform) + +## {% linkable_title If you need help... %} + +...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. + +## {% linkable_title Reporting Issues %} + +Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template. + + + +## {% linkable_title Breaking Changes %} + +- Home Assistant now defaults to purge recorded history that is older than 10 days. If you want to keep your recorded data for longer than that, you must configure the number of days to retain _before starting 0.64 for the first time_, for example: + ```yaml + recorder: + purge_keep_days: 30 + ``` + + If you want to keep the previous default of never deleting history, use this configuration: + ```yaml + recorder: + purge_interval: 0 + ``` + ([@amelchio] - [#12271]) (breaking change) +- Show a persistent_notification if no symbols and no currencies are configured ([@ChristianKuehnel] - [#12252]) ([sensor.alpha_vantage docs]) (breaking change) +- Updated RainMachine unique IDs to play better with the entity registry. If RainMachine had been configured previously, new entries will be placed into the entity registry, causing there to be two of each program/zone defined. To address, simply alter the `entity_registry.yaml` as desired. ([@bachya] - [#12315]) ([switch.rainmachine docs]) (breaking change) +- Updated AirVisual unique IDs to play better with the entity registry. If AirVisual had been configured previously, new entries will be placed into the entity registry, causing there to be two of each sensor type defined. To address, simply alter the `entity_registry.yaml` as desired. ([@bachya] - [#12319]) ([sensor.airvisual docs]) (breaking change) +- Custom component devs only: voluptuous now requires default values for config keys to be valid values. ([@balloob] - [#12463]) (breaking change) +- Fixes `usps` platform. Dependency `myusps` now leverages Selenium webdriver to overcome login issues. This is a breaking change since the user must now have additional dependencies installed - either `google-chrome` and `chromedriver`, or `phantomjs`. There is a new config option `driver` that allows the user to specify their preference, though `phantomjs` is the default. Doc PR forthcoming that will outline choices and make suggestions based on user's OS. + ([@happyleavesaoc] - [#12465]) ([usps docs]) (breaking change) +- LimitlessLED has been converted to assumed state. Will no longer turn the lights off when restarting Home Assistant. Will no longer revert changes made by other controllers. ([@amelchio] - [#12475]) ([light.limitlessled docs]) (breaking change) + +## {% linkable_title All changes %} + +- device_tracker.asuswrt: Clean up unused connection param ([@trisk] - [#12262]) ([device_tracker.asuswrt docs]) +- Fix some rfxtrx devices with multiple sensors ([@neffs] - [#12264]) ([sensor.rfxtrx docs]) +- have climate fallback to state if no ATTR_OPERATION_MODE (#12271) ([@ttroy50] - [#12279]) ([google_assistant docs]) +- check_config check bootstrap errors ([@kellerza] - [#12291]) +- Attempt fixing flakiness of check config test ([@balloob] - [#12283]) +- Fix MQTT retained message not being re-dispatched ([@OttoWinter] - [#12004]) ([mqtt docs]) +- Fix config error for FTP links, add test ([@ReneNulschDE] - [#12294]) ([weblink docs]) +- Fix Panel_IFrame - FTP URL not allowed in 0.63 ([@ReneNulschDE] - [#12295]) ([panel_iframe docs]) +- Upgrade pylint to 1.8.2 ([@OttoWinter] - [#12274]) +- Move HassIntent handler code into helpers/intent ([@tschmidty69] - [#12181]) ([conversation docs]) +- Migrated SABnzbd sensor to asyncio and switched to pypi library ([@jeradM] - [#12290]) ([sensor.sabnzbd docs]) +- 📝 Fix fixture encoding ([@OttoWinter] - [#12296]) +- Clarify tahoma errrors ([@bakedraccoon] - [#12307]) ([tahoma docs]) +- add friendly_name_template to template sensor ([@NovapaX] - [#12268]) ([sensor.template docs]) +- Purge recorder data by default ([@amelchio] - [#12271]) (breaking change) +- Protect bloomsky platform setup ([@balloob] - [#12316]) ([binary_sensor.bloomsky docs]) ([camera.bloomsky docs]) ([sensor.bloomsky docs]) +- Removed default sensor configuration ([@ChristianKuehnel] - [#12252]) ([sensor.alpha_vantage docs]) (breaking change) +- Force LF line endings for Windows ([@kellerza] - [#12266]) +- Updated RainMachine to play better with the entity registry ([@bachya] - [#12315]) ([switch.rainmachine docs]) (breaking change) +- Revert #12316 ([@balloob] - [#12329]) ([binary_sensor.bloomsky docs]) ([camera.bloomsky docs]) ([sensor.bloomsky docs]) +- zha: Add remove service ([@rcloran] - [#11683]) ([zha docs]) +- Fix line endings [skipci] ([@balloob] - [#12333]) +- Unifi tracking filter by SSID ([@mikeodr] - [#12281]) ([device_tracker.unifi docs]) +- device_tracker.asuswrt: Ignore unreachable ip neigh entries ([@trisk] - [#12201]) ([device_tracker.asuswrt docs]) +- nmap_tracker: don't scan on setup ([@abmantis] - [#12322]) ([device_tracker.nmap_tracker docs]) +- Upgrade Sphinx to 1.7.0 ([@fabaff] - [#12335]) +- Mock Module + Platform default to async ([@balloob] - [#12347]) +- Change Unifi SSID filtering to list comprehension ([@mikeodr] - [#12344]) ([device_tracker.unifi docs]) +- Use the speedometer icon in the fastdotcom sensor ([@d0ugal] - [#12348]) ([sensor.fastdotcom docs]) +- Communication reduced. Setting brightness and/or color temperature will turn on the device. ([@syssi] - [#12343]) ([light.xiaomi_miio docs]) +- Add New Sensor for ISP Start.ca ([@mikeodr] - [#12356]) ([sensor.startca docs]) (new-platform) +- bump fedex version ([@happyleavesaoc] - [#12362]) ([sensor.fedex docs]) +- Upgrade alpha_vantage to 1.9.0 ([@fabaff] - [#12352]) ([sensor.alpha_vantage docs]) +- Eq3btsmart more reliable ([@karlkar] - [#11555]) ([climate.eq3btsmart docs]) +- Allow disabling entities in the registry ([@balloob] - [#12360]) +- Upgrade panasonic_viera to 0.3.1 ([@dgomes] - [#12370]) ([media_player.panasonic_viera docs]) +- SMA sensor add SSL and upgrade to pysma 0.2 ([@kellerza] - [#12354]) ([sensor.sma docs]) +- Specify algorithms for webpush jwt verification ([@balloob] - [#12378]) ([notify.html5 docs]) +- Upgrade youtube_dl to 2018.02.11 ([@fabaff] - [#12383]) ([media_extractor docs]) +- Remove usage of deprecated assert method ([@balloob] - [#12379]) +- Add attributes (fixes #12332) ([@fabaff] - [#12377]) ([sensor.speedtest docs]) +- Improve service by allowing to reference entity id instead of deconz id ([@Kane610] - [#11862]) ([deconz docs]) ([scene docs]) ([binary_sensor.deconz docs]) ([light.deconz docs]) ([sensor.deconz docs]) +- Pollen.com: Entity Registry updates and cleanup ([@bachya] - [#12361]) ([sensor.pollen docs]) +- Changed pyvera version to 0.2.41 ([@patrik3k] - [#12391]) ([vera docs]) +- File Path fixes for RPi Camera ([@FrederikBolding] - [#12338]) ([camera.rpi_camera docs]) +- Code cleanup of velux scene ([@Julius2342] - [#12390]) ([scene docs]) +- Upgrade sphinx-autodoc-typehints to 1.2.5 ([@fabaff] - [#12404]) +- Extract data validator to own file and add tests ([@balloob] - [#12401]) ([cloud docs]) ([conversation docs]) ([http docs]) ([shopping_list docs]) (new-platform) +- Fix MQTT payload decode returning prematurely ([@OttoWinter] - [#12420]) ([mqtt docs]) +- Print every changed file on new line ([@cdce8p] - [#12412]) +- Added support for colored KNX lights ([@Julius2342] - [#12411]) ([knx docs]) ([light.knx docs]) +- Small code cleanup: ([@Julius2342] - [#12409]) ([scene docs]) +- Cleanup of knx component ([@Julius2342] - [#12408]) ([knx docs]) ([binary_sensor.knx docs]) ([climate.knx docs]) ([cover.knx docs]) ([light.knx docs]) ([notify.knx docs]) ([sensor.knx docs]) ([switch.knx docs]) +- Update the Tibber sensor at startup ([@danielhiversen] - [#12428]) ([sensor.tibber docs]) +- zha: Add unique_id to entities ([@rcloran] - [#12331]) ([zha docs]) +- Cleanup http ([@balloob] - [#12424]) ([frontend docs]) ([http docs]) +- Update CODEOWNERS ([@dgomes] - [#12440]) +- Fix: timeout data attribute now is parsed to float ([@sjvc] - [#12432]) ([telegram_bot docs]) +- Stop mapping zigbee switches to lights & switches. ([@igorbernstein2] - [#12280]) ([zha docs]) +- AirVisual: Entity Registry updates and cleanup ([@bachya] - [#12319]) ([sensor.airvisual docs]) (breaking change) +- Vagrant - sendfile python3.5 debian-stretch ([@tabakhase] - [#12454]) +- Add effects to iGlo Lights ([@jesserockz] - [#12365]) ([light.iglo docs]) +- Fake the state for a short period and skip the next update. ([@syssi] - [#12446]) ([fan.xiaomi_miio docs]) +- Initial support for Config Entries ([@balloob] - [#12079]) +- Make WUnderground async ([@OttoWinter] - [#12385]) ([sensor.wunderground docs]) +- Add the Xiaomi TV platform. ([@fattdev] - [#12359]) ([media_player.xiaomi_tv docs]) (new-platform) +- Update voluputous ([@balloob] - [#12463]) (breaking change) +- Map Alexa StepVolume responses to volume_up/down ([@lucasweb78] - [#12467]) ([alexa docs]) +- ONVIF Camera added Error handling and rtsp authentication. ([@matt2005] - [#11129]) ([camera.onvif docs]) +- Bump aioautomatic to 0.6.5 for voluptuous 0.11 ([@armills] - [#12480]) ([device_tracker.automatic docs]) +- Add example in test how to create list or object in template ([@balloob] - [#12469]) +- KNX/Climate: Fixed platform schema min/max values. ([@Julius2342] - [#12477]) ([climate.knx docs]) +- Prevent error when no internet or DNS is available ([@mjj4791] - [#12486]) ([sensor.buienradar docs]) ([weather.buienradar docs]) +- Added doorbird_last_motion to DoorBird camera platform ([@sjvc] - [#12457]) ([camera.doorbird docs]) +- Fail gracefully with unreachable LaMetric ([@PhilRW] - [#12451]) ([notify.lametric docs]) +- Enable compression when sending json to client ([@elupus] - [#11165]) ([http docs]) +- bump usps version ([@happyleavesaoc] - [#12465]) ([usps docs]) (breaking change) +- Try deflaking recorder tests ([@balloob] - [#12492]) +- Support for August doorbell ([@snjoetw] - [#11124]) ([august docs]) ([binary_sensor.august docs]) ([camera.august docs]) ([lock.august docs]) (new-platform) +- Avoid warnings when purging an empty database ([@amelchio] - [#12494]) +- Support for PTZ in Onvif cameras ([@karlkar] - [#11630]) ([camera.onvif docs]) +- Rework Sonos media player platform ([@amelchio] - [#12126]) ([media_player.sonos docs]) +- Converted shopping list to use json util and added default override for json util ([@FrederikBolding] - [#12478]) ([shopping_list docs]) +- added smappee component ([@hmn] - [#11491]) ([smappee docs]) ([sensor.smappee docs]) ([switch.smappee docs]) (new-platform) +- More features for the Bluesound component ([@thrawnarn] - [#11450]) ([media_player.bluesound docs]) +- zha: Simplify unique ID ([@rcloran] - [#12495]) ([zha docs]) +- zha: Add support for humidity sensors ([@rcloran] - [#12496]) ([zha docs]) ([sensor.zha docs]) +- bump python-eq3bt version, fixes #12499 ([@rytilahti] - [#12510]) ([climate.eq3btsmart docs]) +- new version of xiaomi lib ([@danielhiversen] - [#12513]) ([xiaomi_aqara docs]) +- python-miio version bumped. (Closes: #12471) ([@syssi] - [#12481]) ([fan.xiaomi_miio docs]) ([light.xiaomi_miio docs]) ([remote.xiaomi_miio docs]) ([switch.xiaomi_miio docs]) ([vacuum.xiaomi_miio docs]) +- LimitlessLED assumed state ([@amelchio] - [#12475]) ([light.limitlessled docs]) (breaking change) +- Add support for HomeKit ([@cdce8p] - [#12488]) ([homekit docs]) (new-platform) +- Add password support ([@pvizeli] - [#12525]) ([hassio docs]) +- Changed to async_schedule_update_ha_state ([@thrawnarn] - [#12518]) ([media_player.bluesound docs]) +- Fix Sphinx build ([@balloob] - [#12535]) +- Update voluptuous serialize ([@balloob] - [#12538]) ([config docs]) +- Clarify a comment regarding python versions ([@aprasanna] - [#12537]) +- Adds filesize component ([@robmarkcole] - [#12211]) ([sensor.filesize docs]) (new-platform) +- Clarify cloud error ([@balloob] - [#12540]) ([cloud docs]) +- Build JSON in executor ([@amelchio] - [#12536]) ([history docs]) ([logbook docs]) +- Bugfix: Input Datetime config schema ([@cdce8p] - [#12552]) ([input_datetime docs]) +- Fix numeric_state condition spamming on unavailable ([@OttoWinter] - [#12550]) +- Frontier silicon async ([@zhelev] - [#12503]) ([media_player.frontier_silicon docs]) +- Fix WUnderground spamming logs ([@OttoWinter] - [#12548]) ([sensor.wunderground docs]) +- Added support for milight single channel dimmer ([@rubenverhoef] - [#12558]) ([light.limitlessled docs]) +- Add new component: BMW connected drive ([@ChristianKuehnel] - [#12277]) ([bmw_connected_drive docs]) ([device_tracker.bmw_connected_drive docs]) ([sensor.bmw_connected_drive docs]) (new-platform) +- Cleanup hass.io component ([@pvizeli] - [#12556]) ([hassio docs]) +- Add support for smoke detector in deconz ([@Kane610] - [#12561]) ([deconz docs]) +- Fix caldav component handling missing dtend ([@bottomquark] - [#12562]) ([calendar.caldav docs]) +- Add limitlessled night effect ([@amelchio] - [#12567]) ([light.limitlessled docs]) +- Basic support of post 2016 AVR-X receivers ([@scarface-4711] - [#12569]) ([media_player.denonavr docs]) +- Fix config 404 ([@balloob] - [#12571]) ([config docs]) +- Logbook speedup ([@amelchio] - [#12566]) ([logbook docs]) +- Fix sonos default errorcodes ([@amelchio] - [#12582]) ([media_player.sonos docs]) +- Update pychromecast to 2.0.0 ([@balloob] - [#12587]) ([media_player.cast docs]) +- Set event_id foreign key in recorded states ([@amelchio] - [#12580]) +- Deconz support water sensor ([@Kane610] - [#12581]) ([deconz docs]) +- Cloud reconnect tweaks ([@balloob] - [#12586]) ([cloud docs]) +- Hassio cleanup part2 ([@pvizeli] - [#12588]) ([hassio docs]) +- Add Bluetooth and NFC card/tag Alarm types ([@matthewcky2k] - [#12151]) ([lock.zwave docs]) +- Fix fix isy994 fan detection ([@OverloadUT] - [#12595]) ([isy994 docs]) +- Adds folder sensor ([@robmarkcole] - [#12208]) ([sensor.folder docs]) (new-platform) +- Add unique_id to Xiaomi Aqara ([@tinloaf] - [#12372]) ([xiaomi_aqara docs]) +- Make groups entities again ([@balloob] - [#12574]) ([alexa docs]) +- Python spotcrime ([@jcconnell] - [#12460]) ([sensor.spotcrime docs]) (new-platform) +- Allow ignoring call service events in mqtt_eventstream ([@cmsimike] - [#12519]) ([mqtt_eventstream docs]) +- Set speed service fixed. ([@syssi] - [#12602]) ([fan.xiaomi_miio docs]) +- Updated script/lint ([@cdce8p] - [#12600]) +- Adding RoomHinting to GoogleAssistant to allow for room annotations. ([@jeremydk] - [#12598]) ([google_assistant docs]) +- Fix mclimate accounts with not only melissa components ([@kennedyshead] - [#12427]) ([melissa docs]) ([climate.melissa docs]) +- Cast unique_id and async discovery ([@OttoWinter] - [#12474]) ([media_player.cast docs]) +- Add Tahoma scenes ([@bakedraccoon] - [#12498]) ([scene docs]) ([tahoma docs]) (new-platform) +- Optimize logbook SQL query ([@amelchio] - [#12608]) ([logbook docs]) +- Fix voluptuous breaking change things ([@balloob] - [#12611]) ([xiaomi_aqara docs]) ([binary_sensor.knx docs]) +- OpenGarage - correctly handle offline status (#12612) ([@swbradshaw] - [#12613]) ([cover.opengarage docs]) +- Move recorder query out of event loop ([@amelchio] - [#12615]) +- Hassio update timeout filter list ([@pvizeli] - [#12617]) ([hassio docs]) +- The name of the enum must be used here because of the speed_list. ([@syssi] - [#12625]) ([fan.xiaomi_miio docs]) +- Fix cast doing I/O in event loop ([@OttoWinter] - [#12632]) ([media_player.cast docs]) + +[#11124]: https://github.com/home-assistant/home-assistant/pull/11124 +[#11129]: https://github.com/home-assistant/home-assistant/pull/11129 +[#11165]: https://github.com/home-assistant/home-assistant/pull/11165 +[#11450]: https://github.com/home-assistant/home-assistant/pull/11450 +[#11491]: https://github.com/home-assistant/home-assistant/pull/11491 +[#11555]: https://github.com/home-assistant/home-assistant/pull/11555 +[#11630]: https://github.com/home-assistant/home-assistant/pull/11630 +[#11683]: https://github.com/home-assistant/home-assistant/pull/11683 +[#11862]: https://github.com/home-assistant/home-assistant/pull/11862 +[#12004]: https://github.com/home-assistant/home-assistant/pull/12004 +[#12079]: https://github.com/home-assistant/home-assistant/pull/12079 +[#12126]: https://github.com/home-assistant/home-assistant/pull/12126 +[#12151]: https://github.com/home-assistant/home-assistant/pull/12151 +[#12181]: https://github.com/home-assistant/home-assistant/pull/12181 +[#12201]: https://github.com/home-assistant/home-assistant/pull/12201 +[#12208]: https://github.com/home-assistant/home-assistant/pull/12208 +[#12211]: https://github.com/home-assistant/home-assistant/pull/12211 +[#12252]: https://github.com/home-assistant/home-assistant/pull/12252 +[#12262]: https://github.com/home-assistant/home-assistant/pull/12262 +[#12264]: https://github.com/home-assistant/home-assistant/pull/12264 +[#12266]: https://github.com/home-assistant/home-assistant/pull/12266 +[#12268]: https://github.com/home-assistant/home-assistant/pull/12268 +[#12271]: https://github.com/home-assistant/home-assistant/pull/12271 +[#12274]: https://github.com/home-assistant/home-assistant/pull/12274 +[#12277]: https://github.com/home-assistant/home-assistant/pull/12277 +[#12279]: https://github.com/home-assistant/home-assistant/pull/12279 +[#12280]: https://github.com/home-assistant/home-assistant/pull/12280 +[#12281]: https://github.com/home-assistant/home-assistant/pull/12281 +[#12283]: https://github.com/home-assistant/home-assistant/pull/12283 +[#12290]: https://github.com/home-assistant/home-assistant/pull/12290 +[#12291]: https://github.com/home-assistant/home-assistant/pull/12291 +[#12294]: https://github.com/home-assistant/home-assistant/pull/12294 +[#12295]: https://github.com/home-assistant/home-assistant/pull/12295 +[#12296]: https://github.com/home-assistant/home-assistant/pull/12296 +[#12307]: https://github.com/home-assistant/home-assistant/pull/12307 +[#12315]: https://github.com/home-assistant/home-assistant/pull/12315 +[#12316]: https://github.com/home-assistant/home-assistant/pull/12316 +[#12319]: https://github.com/home-assistant/home-assistant/pull/12319 +[#12322]: https://github.com/home-assistant/home-assistant/pull/12322 +[#12329]: https://github.com/home-assistant/home-assistant/pull/12329 +[#12331]: https://github.com/home-assistant/home-assistant/pull/12331 +[#12333]: https://github.com/home-assistant/home-assistant/pull/12333 +[#12335]: https://github.com/home-assistant/home-assistant/pull/12335 +[#12338]: https://github.com/home-assistant/home-assistant/pull/12338 +[#12343]: https://github.com/home-assistant/home-assistant/pull/12343 +[#12344]: https://github.com/home-assistant/home-assistant/pull/12344 +[#12347]: https://github.com/home-assistant/home-assistant/pull/12347 +[#12348]: https://github.com/home-assistant/home-assistant/pull/12348 +[#12352]: https://github.com/home-assistant/home-assistant/pull/12352 +[#12354]: https://github.com/home-assistant/home-assistant/pull/12354 +[#12356]: https://github.com/home-assistant/home-assistant/pull/12356 +[#12359]: https://github.com/home-assistant/home-assistant/pull/12359 +[#12360]: https://github.com/home-assistant/home-assistant/pull/12360 +[#12361]: https://github.com/home-assistant/home-assistant/pull/12361 +[#12362]: https://github.com/home-assistant/home-assistant/pull/12362 +[#12365]: https://github.com/home-assistant/home-assistant/pull/12365 +[#12370]: https://github.com/home-assistant/home-assistant/pull/12370 +[#12372]: https://github.com/home-assistant/home-assistant/pull/12372 +[#12377]: https://github.com/home-assistant/home-assistant/pull/12377 +[#12378]: https://github.com/home-assistant/home-assistant/pull/12378 +[#12379]: https://github.com/home-assistant/home-assistant/pull/12379 +[#12383]: https://github.com/home-assistant/home-assistant/pull/12383 +[#12385]: https://github.com/home-assistant/home-assistant/pull/12385 +[#12390]: https://github.com/home-assistant/home-assistant/pull/12390 +[#12391]: https://github.com/home-assistant/home-assistant/pull/12391 +[#12401]: https://github.com/home-assistant/home-assistant/pull/12401 +[#12404]: https://github.com/home-assistant/home-assistant/pull/12404 +[#12408]: https://github.com/home-assistant/home-assistant/pull/12408 +[#12409]: https://github.com/home-assistant/home-assistant/pull/12409 +[#12411]: https://github.com/home-assistant/home-assistant/pull/12411 +[#12412]: https://github.com/home-assistant/home-assistant/pull/12412 +[#12420]: https://github.com/home-assistant/home-assistant/pull/12420 +[#12424]: https://github.com/home-assistant/home-assistant/pull/12424 +[#12427]: https://github.com/home-assistant/home-assistant/pull/12427 +[#12428]: https://github.com/home-assistant/home-assistant/pull/12428 +[#12432]: https://github.com/home-assistant/home-assistant/pull/12432 +[#12440]: https://github.com/home-assistant/home-assistant/pull/12440 +[#12446]: https://github.com/home-assistant/home-assistant/pull/12446 +[#12451]: https://github.com/home-assistant/home-assistant/pull/12451 +[#12454]: https://github.com/home-assistant/home-assistant/pull/12454 +[#12457]: https://github.com/home-assistant/home-assistant/pull/12457 +[#12460]: https://github.com/home-assistant/home-assistant/pull/12460 +[#12463]: https://github.com/home-assistant/home-assistant/pull/12463 +[#12464]: https://github.com/home-assistant/home-assistant/pull/12464 +[#12465]: https://github.com/home-assistant/home-assistant/pull/12465 +[#12467]: https://github.com/home-assistant/home-assistant/pull/12467 +[#12469]: https://github.com/home-assistant/home-assistant/pull/12469 +[#12474]: https://github.com/home-assistant/home-assistant/pull/12474 +[#12475]: https://github.com/home-assistant/home-assistant/pull/12475 +[#12477]: https://github.com/home-assistant/home-assistant/pull/12477 +[#12478]: https://github.com/home-assistant/home-assistant/pull/12478 +[#12480]: https://github.com/home-assistant/home-assistant/pull/12480 +[#12481]: https://github.com/home-assistant/home-assistant/pull/12481 +[#12486]: https://github.com/home-assistant/home-assistant/pull/12486 +[#12488]: https://github.com/home-assistant/home-assistant/pull/12488 +[#12492]: https://github.com/home-assistant/home-assistant/pull/12492 +[#12494]: https://github.com/home-assistant/home-assistant/pull/12494 +[#12495]: https://github.com/home-assistant/home-assistant/pull/12495 +[#12496]: https://github.com/home-assistant/home-assistant/pull/12496 +[#12498]: https://github.com/home-assistant/home-assistant/pull/12498 +[#12503]: https://github.com/home-assistant/home-assistant/pull/12503 +[#12510]: https://github.com/home-assistant/home-assistant/pull/12510 +[#12513]: https://github.com/home-assistant/home-assistant/pull/12513 +[#12518]: https://github.com/home-assistant/home-assistant/pull/12518 +[#12519]: https://github.com/home-assistant/home-assistant/pull/12519 +[#12525]: https://github.com/home-assistant/home-assistant/pull/12525 +[#12535]: https://github.com/home-assistant/home-assistant/pull/12535 +[#12536]: https://github.com/home-assistant/home-assistant/pull/12536 +[#12537]: https://github.com/home-assistant/home-assistant/pull/12537 +[#12538]: https://github.com/home-assistant/home-assistant/pull/12538 +[#12540]: https://github.com/home-assistant/home-assistant/pull/12540 +[#12548]: https://github.com/home-assistant/home-assistant/pull/12548 +[#12550]: https://github.com/home-assistant/home-assistant/pull/12550 +[#12552]: https://github.com/home-assistant/home-assistant/pull/12552 +[#12556]: https://github.com/home-assistant/home-assistant/pull/12556 +[#12558]: https://github.com/home-assistant/home-assistant/pull/12558 +[#12561]: https://github.com/home-assistant/home-assistant/pull/12561 +[#12562]: https://github.com/home-assistant/home-assistant/pull/12562 +[#12566]: https://github.com/home-assistant/home-assistant/pull/12566 +[#12567]: https://github.com/home-assistant/home-assistant/pull/12567 +[#12569]: https://github.com/home-assistant/home-assistant/pull/12569 +[#12571]: https://github.com/home-assistant/home-assistant/pull/12571 +[#12574]: https://github.com/home-assistant/home-assistant/pull/12574 +[#12580]: https://github.com/home-assistant/home-assistant/pull/12580 +[#12581]: https://github.com/home-assistant/home-assistant/pull/12581 +[#12582]: https://github.com/home-assistant/home-assistant/pull/12582 +[#12586]: https://github.com/home-assistant/home-assistant/pull/12586 +[#12587]: https://github.com/home-assistant/home-assistant/pull/12587 +[#12588]: https://github.com/home-assistant/home-assistant/pull/12588 +[#12595]: https://github.com/home-assistant/home-assistant/pull/12595 +[#12598]: https://github.com/home-assistant/home-assistant/pull/12598 +[#12600]: https://github.com/home-assistant/home-assistant/pull/12600 +[#12602]: https://github.com/home-assistant/home-assistant/pull/12602 +[#12608]: https://github.com/home-assistant/home-assistant/pull/12608 +[#12611]: https://github.com/home-assistant/home-assistant/pull/12611 +[#12613]: https://github.com/home-assistant/home-assistant/pull/12613 +[#12615]: https://github.com/home-assistant/home-assistant/pull/12615 +[#12617]: https://github.com/home-assistant/home-assistant/pull/12617 +[#12625]: https://github.com/home-assistant/home-assistant/pull/12625 +[#12632]: https://github.com/home-assistant/home-assistant/pull/12632 +[#12669]: https://github.com/home-assistant/home-assistant/pull/12669 +[@ChristianKuehnel]: https://github.com/ChristianKuehnel +[@FrederikBolding]: https://github.com/FrederikBolding +[@Julius2342]: https://github.com/Julius2342 +[@Kane610]: https://github.com/Kane610 +[@NovapaX]: https://github.com/NovapaX +[@OttoWinter]: https://github.com/OttoWinter +[@OverloadUT]: https://github.com/OverloadUT +[@PhilRW]: https://github.com/PhilRW +[@ReneNulschDE]: https://github.com/ReneNulschDE +[@abmantis]: https://github.com/abmantis +[@amelchio]: https://github.com/amelchio +[@aprasanna]: https://github.com/aprasanna +[@armills]: https://github.com/armills +[@bachya]: https://github.com/bachya +[@bakedraccoon]: https://github.com/bakedraccoon +[@balloob]: https://github.com/balloob +[@bottomquark]: https://github.com/bottomquark +[@cdce8p]: https://github.com/cdce8p +[@cmsimike]: https://github.com/cmsimike +[@d0ugal]: https://github.com/d0ugal +[@danielhiversen]: https://github.com/danielhiversen +[@dgomes]: https://github.com/dgomes +[@elupus]: https://github.com/elupus +[@fabaff]: https://github.com/fabaff +[@fattdev]: https://github.com/fattdev +[@gerard33]: https://github.com/gerard33 +[@happyleavesaoc]: https://github.com/happyleavesaoc +[@hmn]: https://github.com/hmn +[@igorbernstein2]: https://github.com/igorbernstein2 +[@jcconnell]: https://github.com/jcconnell +[@jeradM]: https://github.com/jeradM +[@jeremydk]: https://github.com/jeremydk +[@jesserockz]: https://github.com/jesserockz +[@karlkar]: https://github.com/karlkar +[@kellerza]: https://github.com/kellerza +[@kennedyshead]: https://github.com/kennedyshead +[@lucasweb78]: https://github.com/lucasweb78 +[@matt2005]: https://github.com/matt2005 +[@matthewcky2k]: https://github.com/matthewcky2k +[@mikeodr]: https://github.com/mikeodr +[@mjj4791]: https://github.com/mjj4791 +[@neffs]: https://github.com/neffs +[@patrik3k]: https://github.com/patrik3k +[@pvizeli]: https://github.com/pvizeli +[@rcloran]: https://github.com/rcloran +[@robmarkcole]: https://github.com/robmarkcole +[@rubenverhoef]: https://github.com/rubenverhoef +[@rytilahti]: https://github.com/rytilahti +[@scarface-4711]: https://github.com/scarface-4711 +[@sjvc]: https://github.com/sjvc +[@snjoetw]: https://github.com/snjoetw +[@swbradshaw]: https://github.com/swbradshaw +[@syssi]: https://github.com/syssi +[@tabakhase]: https://github.com/tabakhase +[@thrawnarn]: https://github.com/thrawnarn +[@tinloaf]: https://github.com/tinloaf +[@trisk]: https://github.com/trisk +[@tschmidty69]: https://github.com/tschmidty69 +[@ttroy50]: https://github.com/ttroy50 +[@zhelev]: https://github.com/zhelev +[@fanthos]: https://github.com/fanthos +[@c727]: https://github.com/c727 +[@ciotlosm]: https://github.com/ciotlosm +[@frenck]: https://github.com/frenck +[@pvizeli]: https://github.com/pvizeli +[@ryanm101]: https://github.com/ryanm101 +[alexa docs]: https://home-assistant.io/components/alexa/ +[august docs]: https://home-assistant.io/components/august/ +[binary_sensor.august docs]: https://home-assistant.io/components/binary_sensor.august/ +[binary_sensor.bloomsky docs]: https://home-assistant.io/components/binary_sensor.bloomsky/ +[binary_sensor.deconz docs]: https://home-assistant.io/components/binary_sensor.deconz/ +[binary_sensor.knx docs]: https://home-assistant.io/components/binary_sensor.knx/ +[bmw_connected_drive docs]: https://home-assistant.io/components/bmw_connected_drive/ +[calendar.caldav docs]: https://home-assistant.io/components/calendar.caldav/ +[camera.august docs]: https://home-assistant.io/components/camera.august/ +[camera.bloomsky docs]: https://home-assistant.io/components/camera.bloomsky/ +[camera.doorbird docs]: https://home-assistant.io/components/camera.doorbird/ +[camera.onvif docs]: https://home-assistant.io/components/camera.onvif/ +[camera.rpi_camera docs]: https://home-assistant.io/components/camera.rpi_camera/ +[climate.eq3btsmart docs]: https://home-assistant.io/components/climate.eq3btsmart/ +[climate.knx docs]: https://home-assistant.io/components/climate.knx/ +[climate.melissa docs]: https://home-assistant.io/components/climate.melissa/ +[cloud docs]: https://home-assistant.io/components/cloud/ +[config docs]: https://home-assistant.io/components/config/ +[conversation docs]: https://home-assistant.io/components/conversation/ +[cover.knx docs]: https://home-assistant.io/components/cover.knx/ +[cover.opengarage docs]: https://home-assistant.io/components/cover.opengarage/ +[deconz docs]: https://home-assistant.io/components/deconz/ +[device_tracker.asuswrt docs]: https://home-assistant.io/components/device_tracker.asuswrt/ +[device_tracker.automatic docs]: https://home-assistant.io/components/device_tracker.automatic/ +[device_tracker.bmw_connected_drive docs]: https://home-assistant.io/components/device_tracker.bmw_connected_drive/ +[device_tracker.nmap_tracker docs]: https://home-assistant.io/components/device_tracker.nmap_tracker/ +[device_tracker.unifi docs]: https://home-assistant.io/components/device_tracker.unifi/ +[fan.xiaomi_miio docs]: https://home-assistant.io/components/fan.xiaomi_miio/ +[frontend docs]: https://home-assistant.io/components/frontend/ +[google_assistant docs]: https://home-assistant.io/components/google_assistant/ +[hassio docs]: https://home-assistant.io/components/hassio/ +[history docs]: https://home-assistant.io/components/history/ +[homekit docs]: https://home-assistant.io/components/homekit/ +[homekit.accessories docs]: https://home-assistant.io/components/homekit.accessories/ +[homekit.const docs]: https://home-assistant.io/components/homekit.const/ +[homekit.covers docs]: https://home-assistant.io/components/homekit.covers/ +[homekit.sensors docs]: https://home-assistant.io/components/homekit.sensors/ +[http docs]: https://home-assistant.io/components/http/ +[input_datetime docs]: https://home-assistant.io/components/input_datetime/ +[isy994 docs]: https://home-assistant.io/components/isy994/ +[knx docs]: https://home-assistant.io/components/knx/ +[light.deconz docs]: https://home-assistant.io/components/light.deconz/ +[light.iglo docs]: https://home-assistant.io/components/light.iglo/ +[light.knx docs]: https://home-assistant.io/components/light.knx/ +[light.limitlessled docs]: https://home-assistant.io/components/light.limitlessled/ +[light.xiaomi_miio docs]: https://home-assistant.io/components/light.xiaomi_miio/ +[lock.august docs]: https://home-assistant.io/components/lock.august/ +[lock.zwave docs]: https://home-assistant.io/components/lock.zwave/ +[logbook docs]: https://home-assistant.io/components/logbook/ +[media_extractor docs]: https://home-assistant.io/components/media_extractor/ +[media_player.bluesound docs]: https://home-assistant.io/components/media_player.bluesound/ +[media_player.braviatv_psk docs]: https://home-assistant.io/components/media_player.braviatv_psk/ +[media_player.cast docs]: https://home-assistant.io/components/media_player.cast/ +[media_player.denonavr docs]: https://home-assistant.io/components/media_player.denonavr/ +[media_player.frontier_silicon docs]: https://home-assistant.io/components/media_player.frontier_silicon/ +[media_player.panasonic_viera docs]: https://home-assistant.io/components/media_player.panasonic_viera/ +[media_player.sonos docs]: https://home-assistant.io/components/media_player.sonos/ +[media_player.xiaomi_tv docs]: https://home-assistant.io/components/media_player.xiaomi_tv/ +[melissa docs]: https://home-assistant.io/components/melissa/ +[mqtt docs]: https://home-assistant.io/components/mqtt/ +[mqtt_eventstream docs]: https://home-assistant.io/components/mqtt_eventstream/ +[notify.html5 docs]: https://home-assistant.io/components/notify.html5/ +[notify.knx docs]: https://home-assistant.io/components/notify.knx/ +[notify.lametric docs]: https://home-assistant.io/components/notify.lametric/ +[panel_iframe docs]: https://home-assistant.io/components/panel_iframe/ +[remote.xiaomi_miio docs]: https://home-assistant.io/components/remote.xiaomi_miio/ +[scene docs]: https://home-assistant.io/components/scene/ +[sensor.airvisual docs]: https://home-assistant.io/components/sensor.airvisual/ +[sensor.alpha_vantage docs]: https://home-assistant.io/components/sensor.alpha_vantage/ +[sensor.bloomsky docs]: https://home-assistant.io/components/sensor.bloomsky/ +[sensor.bmw_connected_drive docs]: https://home-assistant.io/components/sensor.bmw_connected_drive/ +[sensor.buienradar docs]: https://home-assistant.io/components/sensor.buienradar/ +[sensor.deconz docs]: https://home-assistant.io/components/sensor.deconz/ +[sensor.fastdotcom docs]: https://home-assistant.io/components/sensor.fastdotcom/ +[sensor.fedex docs]: https://home-assistant.io/components/sensor.fedex/ +[sensor.filesize docs]: https://home-assistant.io/components/sensor.filesize/ +[sensor.folder docs]: https://home-assistant.io/components/sensor.folder/ +[sensor.knx docs]: https://home-assistant.io/components/sensor.knx/ +[sensor.pollen docs]: https://home-assistant.io/components/sensor.pollen/ +[sensor.rfxtrx docs]: https://home-assistant.io/components/sensor.rfxtrx/ +[sensor.sabnzbd docs]: https://home-assistant.io/components/sensor.sabnzbd/ +[sensor.sma docs]: https://home-assistant.io/components/sensor.sma/ +[sensor.smappee docs]: https://home-assistant.io/components/sensor.smappee/ +[sensor.speedtest docs]: https://home-assistant.io/components/sensor.speedtest/ +[sensor.spotcrime docs]: https://home-assistant.io/components/sensor.spotcrime/ +[sensor.startca docs]: https://home-assistant.io/components/sensor.startca/ +[sensor.template docs]: https://home-assistant.io/components/sensor.template/ +[sensor.tibber docs]: https://home-assistant.io/components/sensor.tibber/ +[sensor.wunderground docs]: https://home-assistant.io/components/sensor.wunderground/ +[sensor.zha docs]: https://home-assistant.io/components/sensor.zha/ +[shopping_list docs]: https://home-assistant.io/components/shopping_list/ +[smappee docs]: https://home-assistant.io/components/smappee/ +[switch.knx docs]: https://home-assistant.io/components/switch.knx/ +[switch.rainmachine docs]: https://home-assistant.io/components/switch.rainmachine/ +[switch.smappee docs]: https://home-assistant.io/components/switch.smappee/ +[switch.xiaomi_miio docs]: https://home-assistant.io/components/switch.xiaomi_miio/ +[tahoma docs]: https://home-assistant.io/components/tahoma/ +[telegram_bot docs]: https://home-assistant.io/components/telegram_bot/ +[usps docs]: https://home-assistant.io/components/usps/ +[vacuum.xiaomi_miio docs]: https://home-assistant.io/components/vacuum.xiaomi_miio/ +[vera docs]: https://home-assistant.io/components/vera/ +[weather.buienradar docs]: https://home-assistant.io/components/weather.buienradar/ +[weblink docs]: https://home-assistant.io/components/weblink/ +[xiaomi_aqara docs]: https://home-assistant.io/components/xiaomi_aqara/ +[zha docs]: https://home-assistant.io/components/zha/ diff --git a/source/developers/hassio/addon_publishing.markdown b/source/developers/hassio/addon_publishing.markdown index 4d77c53bc8c..26020a66165 100644 --- a/source/developers/hassio/addon_publishing.markdown +++ b/source/developers/hassio/addon_publishing.markdown @@ -58,4 +58,8 @@ For a local repository: $ docker run --rm --privileged -v ~/.docker:/root/.docker -v /my_addon:/data homeassistant/amd64-builder --all -t /data ``` +

+If you are developing on macOS and using Docker for Mac, you may encounter an error message similar to the following: error creating aufs mount to /var/lib/docker/aufs/mnt/-init: invalid argument. A proposed workaround is to add the following to the Advanced Daemon JSON configuration via Docker > Preferences > Daemon > Advanced: "storage-driver" : "aufs". +

+ [builder]: https://github.com/home-assistant/hassio-build/tree/master/builder diff --git a/source/images/blog/2018-02-0.64/components.png b/source/images/blog/2018-02-0.64/components.png new file mode 100644 index 00000000000..3d3e8855759 Binary files /dev/null and b/source/images/blog/2018-02-0.64/components.png differ diff --git a/source/images/supported_brands/apple-homekit.png b/source/images/supported_brands/apple-homekit.png new file mode 100644 index 00000000000..f429493e53a Binary files /dev/null and b/source/images/supported_brands/apple-homekit.png differ diff --git a/source/images/supported_brands/august.png b/source/images/supported_brands/august.png new file mode 100644 index 00000000000..4b68f592e29 Binary files /dev/null and b/source/images/supported_brands/august.png differ diff --git a/source/images/supported_brands/bmw.png b/source/images/supported_brands/bmw.png new file mode 100644 index 00000000000..4ef3aab81c9 Binary files /dev/null and b/source/images/supported_brands/bmw.png differ diff --git a/source/images/supported_brands/smappee.png b/source/images/supported_brands/smappee.png new file mode 100644 index 00000000000..f69c19d34f1 Binary files /dev/null and b/source/images/supported_brands/smappee.png differ diff --git a/source/images/supported_brands/startca.png b/source/images/supported_brands/startca.png new file mode 100644 index 00000000000..8b64a25c402 Binary files /dev/null and b/source/images/supported_brands/startca.png differ