diff --git a/_config.yml b/_config.yml index c6dbb537997f..d0cf0b4ca15e 100644 --- a/_config.yml +++ b/_config.yml @@ -140,13 +140,13 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 46 -current_patch_version: 1 -date_released: 2017-06-09 +current_minor_version: 47 +current_patch_version: 0 +date_released: 2017-06-17 # 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-0461---june-9" +patch_version_notes: "#" # Minor release (Example #release-0431---april-25): diff --git a/source/_addons/bluetooth_bcm43xx.markdonw b/source/_addons/bluetooth_bcm43xx.markdown similarity index 100% rename from source/_addons/bluetooth_bcm43xx.markdonw rename to source/_addons/bluetooth_bcm43xx.markdown diff --git a/source/_addons/dnsmasq.markdonw b/source/_addons/dnsmasq.markdown similarity index 100% rename from source/_addons/dnsmasq.markdonw rename to source/_addons/dnsmasq.markdown diff --git a/source/_components/alarm_control_panel.spc.markdown b/source/_components/alarm_control_panel.spc.markdown new file mode 100644 index 000000000000..673e687fa3b9 --- /dev/null +++ b/source/_components/alarm_control_panel.spc.markdown @@ -0,0 +1,20 @@ +--- +layout: page +title: "Vanderbilt SPC Alarm" +description: "Instructions how to setup the Vanderbilt SPC Alarm control panel within Home Assistant." +date: 2017-05-18 22:01 +sidebar: true +comments: false +sharing: true +footer: true +logo: vanderbilt_spc.png +ha_category: Alarm +ha_release: 0.47 +ha_iot_class: "Local Push" +--- + + +The `spc` alarm control panel platform allows you to control your [Vanderbilt SPC](http://www.spc-intruder-detection.com/ssp-spc/) alarms. + +The requirement is that you have setup your [SPC hub](/components/spc/). + diff --git a/source/_components/binary_sensor.spc.markdown b/source/_components/binary_sensor.spc.markdown new file mode 100644 index 000000000000..507f568dd929 --- /dev/null +++ b/source/_components/binary_sensor.spc.markdown @@ -0,0 +1,20 @@ +--- +layout: page +title: "SPC Binary Sensor" +description: "Instructions how to integrate Vanderbilt SPC binary sensors into Home Assistant." +date: 2017-05-18 22:05 +sidebar: true +comments: false +sharing: true +footer: true +logo: vanderbilt_spc.png +ha_release: 0.47 +ha_category: Binary Sensor +ha_iot_class: "Local Push" +--- + +The `spc` platform allows you to get data from your [Vanderbilt SPC](http://www.spc-intruder-detection.com/ssp-spc/) binary sensors from within Home Assistant. + +Check the [type/class](/components/binary_sensor/) list for a possible visualization of your zone. Currently motion, smoke and door sensors are supported. + +The requirement is that you have setup your [SPC hub](/components/spc/). diff --git a/source/_components/binary_sensor.tapsaff.markdown b/source/_components/binary_sensor.tapsaff.markdown new file mode 100644 index 000000000000..b8e8636af66a --- /dev/null +++ b/source/_components/binary_sensor.tapsaff.markdown @@ -0,0 +1,32 @@ +--- +layout: page +title: "Taps Aff" +description: "Instructions how to use the Taps Aff binary sensor in Home Assistant." +date: 2017-05-28 18:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: tapsaff.png +ha_category: Weather +featured: false +ha_release: 0.47 +ha_iot_class: "Local Polling" +--- + + +The `tapsaff` binary sensor provides the 'Taps Aff' status for a given location within the UK using [Taps Aff](http://www.taps-aff.co.uk). + +To enable this sensor, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +binary_sensor: + - platform: tapsaff + location: glasgow +``` + +Configuration variables: + +- **location** (*Required*): The location for the Taps Aff. It must be configured with a UK postcode or city to work. +- **name** (*Optional*): The name to use when displaying this sensor. diff --git a/source/_components/camera.onvif.markdown b/source/_components/camera.onvif.markdown new file mode 100644 index 000000000000..fe8561afa32d --- /dev/null +++ b/source/_components/camera.onvif.markdown @@ -0,0 +1,36 @@ +--- +layout: page +title: "ONVIF Camera" +description: "Instructions on how to integrate a ONVIF camera within Home Assistant." +date: 2017-06-09 21:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: onvif.png +ha_category: Camera +ha_release: 0.47 +--- + + +The `ONVIF` platform allows you to use an ONVIF camera in Home Assistant. This requires FFmpeg component to be already configured. + +To enable your ONVIF in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +camera: + - platform: onvif + host: 192.168.1.111 +``` + +Configuration variables: + +- **host** (*Required*): An IP or hostname of the camera. +- **name** (*Optional*): Override the name of your camera. +- **username** (*Optional*): The username for the camera. +- **password** (*Optional*): The password for the camera. +- **port** (*Optional*): The port for the camera. This defaults to 5000 + + +If you are running into trouble with this sensor, please refer to the [Troubleshooting section](/components/ffmpeg/#troubleshooting). diff --git a/source/_components/climate.flexit.markdown b/source/_components/climate.flexit.markdown new file mode 100644 index 000000000000..078b840985d0 --- /dev/null +++ b/source/_components/climate.flexit.markdown @@ -0,0 +1,58 @@ +--- +layout: page +title: "Flexit A/C controller" +description: "Instructions how to integrate Flexit A/C unit into Home Assistant." +date: 2017-06-02 16:30 +0200 +sidebar: true +comments: false +sharing: true +footer: true +logo: flexit.png +ha_category: Climate +ha_release: 0.47 +ha_iot_class: "Local Polling" +--- + +Integrates [Flexit](https://www.flexit.no/en/) Air Conditioning unit into Home Assistant. + +Requires an CI66 Modbus Adapter [CI66](https://www.flexit.no/en/products/air_handling_unit/accessories_ahu/modul/modbusadapter_ci66/modbus_adapter_ci66_k2-c2-uni/) + +To enable this platform, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +climate: + - platform: flexit + slave: 21 +``` + +Configuration variables: + +- **slave** (*Required*): The slave ID of the modbus adapter, set using DIP-switches. +- **name** (*Optional*): Displayed name of the A/C unit + +
+This component requires the [Modbus](/components/modbus/) component to be set up to work +
+ +Full configuration example including modbus setup shown below: + +DIP-switch settings on the CI66: +1=ON, 2=ON, 3=OFF, 4=ON, 5=OFF, 6=ON, 7=ON, 8=ON + +```yaml +# Full example configuration.yaml entry +modbus: + type: serial + method: rtu + port: /dev/ttyUSB0 + baudrate: 56000 + stopbits: 1 + bytesize: 8 + parity: E + +climate: + - platform: flexit + name: Main A/C + slave: 21 +``` \ No newline at end of file diff --git a/source/_components/cover.garadget.markdown b/source/_components/cover.garadget.markdown index 50ed65b791f5..565aacccd105 100644 --- a/source/_components/cover.garadget.markdown +++ b/source/_components/cover.garadget.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -logo: garadget_logo.jpg +logo: garadget.png ha_category: Cover ha_release: 0.32 ha_iot_class: "Cloud Polling" diff --git a/source/_components/cover.mqtt.markdown b/source/_components/cover.mqtt.markdown index d8d3180d8740..a19fafb64590 100755 --- a/source/_components/cover.mqtt.markdown +++ b/source/_components/cover.mqtt.markdown @@ -47,6 +47,8 @@ Configuration variables: - **qos** (*Optional*): The maximum QoS level of the state topic. Default is `0`. Will also be used when publishing messages. - **retain** (*Optional*): If the published message should have the retain flag on or not. Default is `false`. - **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. +- **set_position_topic** (*Optional*): The MQTT topic to publish position commands to. +- **set_position_template** (*Optional*): Defines a [template](/topics/templating/) to define the position to be sent to the `set_position_topic` topic. Incoming position value is available for use in the template `{{position}}`. If no template is defined, the numeric position (0-100) will be written directly to the topic. - **tilt_command_topic** (*Optional*): The MQTT topic to publish commands to control the cover tilt. - **tilt_status_topic** (*Optional*): The MQTT topic subscribed to receive tilt status update values. - **tilt_min** (*Optional*): The minimum tilt value. Default is `0` diff --git a/source/_components/dyson.markdown b/source/_components/dyson.markdown new file mode 100644 index 000000000000..ef77841c8473 --- /dev/null +++ b/source/_components/dyson.markdown @@ -0,0 +1,60 @@ +--- +layout: page +title: "Dyson" +description: "Instructions how to integrate Dyson into Home Assistant." +date: 2017-05-27 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: dyson.png +ha_category: Hub +ha_iot_class: "Cloud Polling" +ha_release: 0.47 +--- + +The `dyson` component is the main component to integrate all [Dyson](https://dyson.com) related platforms. + +Currently limited to Cool Link Purifier. + +To enable this component, add the following lines to your `configuration.yaml`: + +```yaml +dyson: + username:-It is recommended to assign a static IP address to your Main Repeater. This ensures that it won't change IP addresses, so you won't have to change the `lutron_ip` if it reboots and comes up with a different IP address. +It is recommended to assign a static IP address to your main repeater. This ensures that it won't change IP addresses, so you won't have to change the `host` if it reboots and comes up with a different IP address.
diff --git a/source/_components/mailgun.markdown b/source/_components/mailgun.markdown new file mode 100644 index 000000000000..835464dfd06c --- /dev/null +++ b/source/_components/mailgun.markdown @@ -0,0 +1,35 @@ +--- +layout: page +title: "Mailgun" +description: "Instructions how to add Mailgun mail notifications to Home Assistant." +date: 2017-02-06 16:52 +sidebar: true +comments: false +sharing: true +footer: true +logo: mailgun.png +ha_category: Notifications +ha_release: 0.38 +--- + +The component supports push messages and generates events based on inbound data. To use, add a Route set to Store and Notify with a URL of the following form: `https://@@ -60,12 +68,21 @@ A few notes for platform: denon media_player: - platform: denonavr host: IP_ADDRESS + name: NAME + show_all_sources: True / False + zones: + - zone: Zone2 / Zone3 + name: NAME ``` Configuration variables: - **host** (*Optional*): IP address of the device. Example: 192.168.1.32. If not set, auto discovery is used. - **name** (*Optional*): Name of the device. If not set, friendlyName of receiver is used. +- **show_all_sources** (*Optional*): If True all sources are displayed in sources list even if they are marked as deleted in the receiver. If False deleted sources are not displayed (default). Some receivers have a bug that marks all sources as deleted in the interface. In this case this option could help. +- **zones** (*Optional*): List of additional zones to be activated. They are displayed as additional media players with the same functionality Main Zone of the device supports + - **zone**: Zone which should be activated. Valid options are Zone2 and Zone3 + - **name** (*Optional*): Name of the zone. If not set the name of the main device + zone as suffix is taken. A few notes for platform: denonavr - Additional option the control Denon AVR receivers with a builtin web server is using the HTTP interface with denonavr platform. diff --git a/source/_components/media_player.nadtcp.markdown b/source/_components/media_player.nadtcp.markdown new file mode 100644 index 000000000000..98a160f76b99 --- /dev/null +++ b/source/_components/media_player.nadtcp.markdown @@ -0,0 +1,38 @@ +--- +layout: page +title: "NAD tcp" +description: "Instructions how to integrate the NAD D 7050 or C338 digital amplifiers into Home Assistant." +date: 2017-06-07 20:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: nad.png +ha_category: Media Player +ha_release: 0.47 +ha_iot_class: "Local Polling" +--- + + +The `nadtcp` platform allows you to control the D7050 and C338 from Home Assistant via WiFi. Note that it has only been tested with the D 7050. + +To add a NAD amplifier to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +media_player: + platform: nadtcp + host: 192.168.0.112 +``` + +Configuration variables: + +- **host** (*Required*): The IP address of your amplifier. +- **name** (*Optional*): Name of the device. Default is NAD amplifier. +- **min_volume** (*optional*): Minimum volume in dB to use with the slider. Default is `-60` +- **max_volume** (*optional*): Maximum volume in dB to use with the slider. Default is `-10` +- **volume_step** (*Optional*): The amount in dB you want to increase the volume with when pressing volume up/down. Default is 4 dB. + +The maximum volume level of the D 7050 amplifier is +10 db, minimum is -90. + + diff --git a/source/_components/media_player.soundtouch.markdown b/source/_components/media_player.soundtouch.markdown index 0c3f3bdf50a5..897fa228399a 100644 --- a/source/_components/media_player.soundtouch.markdown +++ b/source/_components/media_player.soundtouch.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -logo: soundtouch.jpg +logo: soundtouch.png ha_category: Media Player ha_release: 0.34.0 ha_iot_class: "Local Polling" diff --git a/source/_components/media_player.spotify.markdown b/source/_components/media_player.spotify.markdown index 8646bed05ce4..f6b1cfe51e48 100644 --- a/source/_components/media_player.spotify.markdown +++ b/source/_components/media_player.spotify.markdown @@ -18,10 +18,15 @@ The `spotify` media player platform allows you to control [Spotify](https://www. ## {% linkable_title Prerequisites %} -- Spotify Premium account. -- Spotify Application, properly configured. +- Spotify account. +- Spotify Application, properly configured + ++Controlling the Spotify component (pause, play, next, etc) requires a Premium account. If you do not have a Premium account, the component in the frontend will not show the controls. +
To create the required Spotify Application: + - Login to [Spotify Developer](https://developer.spotify.com) - Visit the [My Applications](https://developer.spotify.com/my-applications/#!/applications) page - Select **Create An App**. Enter any name and description. Once your application is created, view it and copy your **Client ID** and **Client Secret**, which are used in the Home Assistant configuration file. @@ -46,6 +51,9 @@ media_player: - platform: spotify client_id:client_secret: + aliases: + abc123def456: 'Living Room' + 9183abas000: 'Bed Room' ``` Configuration variables: @@ -53,6 +61,7 @@ Configuration variables: - **client_id** (*Required*): Client ID from your Spotify Application. - **client_secret** (*Required*): Client Secret from your Spotify Application. - **cache_path** (*Optional*): Path to cache authentication token (defaults to configuration directory). +- **aliases** (*Optional*): Dictionary of device ids to be aliased, handy for devices that Spotify cannot properly determine the device name of. New devices will be logged to the `info` channel for ease of aliasing. ## {% linkable_title Setup %} diff --git a/source/_components/notify.mailgun.markdown b/source/_components/notify.mailgun.markdown index 52f69b5251e9..be571eb2c14d 100644 --- a/source/_components/notify.mailgun.markdown +++ b/source/_components/notify.mailgun.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Mailgun" +title: "Mailgun Notify" description: "Instructions how to add Mailgun mail notifications to Home Assistant." date: 2017-02-06 16:52 sidebar: true @@ -12,18 +12,23 @@ ha_category: Notifications ha_release: 0.38 --- -The Mailgun notification service allows you to send emails via Mailgun's REST API. +The Mailgun notification service allows you to send emails via Mailgun's REST API. It requires the [Mailgun component] to be set up. + +[Mailgun component]: /components/mailgun/ ## {% linkable_title Sample configuration %} ```yaml # Example configuration.yaml entry +mailgun: + domain: mg.example.com + api_key: token-XXXXXXXXX + sandbox: False + notify: - - name: NOTIFIER_NAME + - name: mailgun platform: mailgun - domain: YOUR_MAILGUN_DOMAIN - token: TOKEN - recipient: RECIPIENT_EMAIL + recipient: me@example.com ``` Configuration variables: @@ -34,21 +39,6 @@ Configuration variables: - **recipient** (*Required*): The email address of the recipient. - **sender** (*Optional*): The sender's email address. Defaults to `hass@DOMAIN`, where `DOMAIN` is outgoint mail domain, as defined by the `domain` and `sanbox` configuration entries. -## {% linkable_title Full configuration %} - -A full configuration example for the Mailgun notifier system can look like this: - -```yaml -# Example configuration.yaml entry -notify: - - name: mailgun - platform: mailgun - domain: mg.example.com - sanbox: False - token: 'token-XXXXXXXXX' - recipient: me@example.com -``` - ## {% linkable_title Example automation %} The following automation reacts to an event by sending out an email with two attachments. diff --git a/source/_components/notify.telegram.markdown b/source/_components/notify.telegram.markdown index aa49ca3d9559..e82e8485d4dd 100644 --- a/source/_components/notify.telegram.markdown +++ b/source/_components/notify.telegram.markdown @@ -23,7 +23,7 @@ The requirements are: To retrieve your `chat_id`, contact any of the Telegram bots created for this purpose (@myidbot, @get_id_bot) -The quickest way to retrieve your `chat_id` is visiting [https://api.telegram.org/botYOUR_API_TOKEN/getUpdates](https://api.telegram.org/botYOUR_API_TOKEN/getUpdates) or to use `$ curl -X GET https:/api.telegram.org/botYOUR_API_TOKEN/getUpdates`. Replace `YOUR_API_TOKEN` with your actual token. +The quickest way to retrieve your `chat_id` is visiting [https://api.telegram.org/botYOUR_API_TOKEN/getUpdates](https://api.telegram.org/botYOUR_API_TOKEN/getUpdates) or to use `$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates`. Replace `YOUR_API_TOKEN` with your actual token. The result set will include your chat ID as `id` in the `from` section: diff --git a/source/_components/opencv.markdown b/source/_components/opencv.markdown deleted file mode 100644 index 0ea2dcc9f813..000000000000 --- a/source/_components/opencv.markdown +++ /dev/null @@ -1,75 +0,0 @@ ---- -layout: page -title: "OpenCV" -description: "Instructions how to setup OpenCV within Home Assistant." -date: 2017-04-01 22:36 -sidebar: true -comments: false -sharing: true -footer: true -logo: opencv.png -ha_category: Hub -ha_release: 0.44 -ha_iot_class: "Local Push" ---- - -[OpenCV](http://www.opencv.org) is an open source computer vision image and video processing library. - -Some pre-defined classifiers can be found here: https://github.com/opencv/opencv/tree/master/data - -### {% linkable_title Configuration %} - -To setup OpenCV with Home Assistant, add the following section to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -opencv: - classifier_group: - - name: Family - add_camera: True - entity_id: - - camera.front_door - - camera.living_room - classifier: - - file_path: /path/to/classifier/face.xml - name: Bob - - file_path: /path/to/classifier/face_profile.xml - name: Jill - min_size: (20, 20) - color: (255, 0, 0) - scale: 1.6 - neighbors: 5 - - file_path: /path/to/classifier/kid_face.xml - name: Little Jimmy -``` - -Configuration variables: - -- **name** (*Required*): The name of the OpenCV image processor. -- **entity_id** (*Required*): The camera entity or list of camera entities that this classification group will be applied to. -- **classifier** (*Required*): The classification configuration for to be applied: - - **file_path** (*Required*): The path to the HAARS or LBP classification file (xml). - - **name** (*Optional*): The classification name, the default is `Face`. - - **min_size** (*Optional*): The minimum size for detection as a tuple `(width, height)`, the default is `(30, 30)`. - - **color** (*Optional*): The color, as a tuple `(Blue, Green, Red)` to draw the rectangle when linked to a dispatcher camera, the default is `(255, 255, 0)`. - - **scale** (*Optional*): The scale to perform when processing, this is a `float` value that must be greater than or equal to `1.0`, default is `1.1`. - - **neighbors** (*Optional*): The minimum number of neighbors required for a match, default is `4`. The higher this number, the more picky the matching will be; lower the number, the more false positives you may experience. - -Once OpenCV is configured, it will create an `image_processing` entity for each classification group/camera entity combination as well as a camera so you can see what Home Assistant sees. - -The attributes on the `image_processing` entity will be: - -```json -'matches': { - 'Bob': [ - (x, y, w, h) - ], - 'Jill': [ - (x, y, w, h) - ], - 'Little Jimmy': [ - (x, y, w, h) - ] -} -``` - diff --git a/source/_components/python_script.markdown b/source/_components/python_script.markdown new file mode 100644 index 000000000000..ddb26a0e7e87 --- /dev/null +++ b/source/_components/python_script.markdown @@ -0,0 +1,45 @@ +--- +layout: page +title: "Python Scripts" +description: "Instructions how to setup Python scripts within Home Assistant." +date: 2017-06-15 19:59 +sidebar: true +comments: false +sharing: true +footer: true +logo: home-assistant.png +ha_category: Automation +ha_release: 0.47 +--- + +This component allows you to write Python scripts that are exposed as services in Home Assistant. Each Python file created in the ` /python_scripts/` folder will be exposed as a service. The content is not cached so you can easily develop: edit file, save changes, call service. The scripts are run in a sandboxed environment. The following variables are available in the sandbox: + +| Name | Description | +| ---- | ----------- | +| `hass` | The Home Assistant object. Access is only allowed to call services, set/remove states and fire events. [API reference][hass-api] +| `data` | The data passed to the Python Script service call. +| `logger` | A logger to allow you to log messages: `logger.info()`, `logger.warning()`, `logger.error()`. [API reference][logger-api] + +[hass-api]: https://home-assistant.io/developers/development_hass_object/ +[logger-api]: https://docs.python.org/3.4/library/logging.html#logger-objects + +## {% linkable_title Writing your first script %} + + - Add to `configuration.yaml`: `python_script:` + - Create folder ` /python_scripts` + - Create a file `hello_world.py` in the folder and give it this content: + +```python +name = data.get('name', 'world') +logger.info("Hello {}".format(name)) +hass.bus.fire(name, { "wow": "from a Python script!" }) +``` + + - Start Home Assistant + - Call service `python_script/hello_world` with parameters + +```json +{ + "name": "you" +} +``` diff --git a/source/_components/rest_command.markdown b/source/_components/rest_command.markdown index e1242238d4b2..fc447a08581c 100644 --- a/source/_components/rest_command.markdown +++ b/source/_components/rest_command.markdown @@ -31,7 +31,7 @@ Configuration variables: - **[service_name]** (*Required*): The name used to expose the service. E.g. in the above example would it be ` rest_command.example_request`. - **url** (*Required*): The URL (support template) for sending request. - - **method** (*Optional*): HTTP method (get, post, put, delete). Default is get. + - **method** (*Optional*): HTTP method to use (`get`, `post`, `put`, or `delete`). Defaults to `get`. - **payload** (*Optional*): A string/template to send with request. - **username** (*Optional*): The username for HTTP authentication. - **password** (*Optional*): The password for HTTP authentication. diff --git a/source/_components/sensor.blockchain.markdown b/source/_components/sensor.blockchain.markdown new file mode 100644 index 000000000000..26e5b590eda2 --- /dev/null +++ b/source/_components/sensor.blockchain.markdown @@ -0,0 +1,33 @@ +--- +layout: page +title: "Blockchain.info" +description: "Instructions how to integrate Blockchain.info data within Home Assistant." +date: 2017-06-01 16:20 +sidebar: true +comments: false +sharing: true +footer: true +logo: blockchain.png +ha_category: Finance +ha_release: 0.47 +ha_iot_class: "Cloud Polling" +--- + + +The `Blockchain` sensor platform displays Bitcoin wallet balances from [blockchain.info](https://blockchain.info). + +To add the Blockchain sensor to your installation, specify a list of bitcoin addresses to watch in the `configuration.yaml` file. The sensor state will be the sum of the balances of all addresses listed. + +```yaml +# Example configuration.yaml entry +sensor: + - platform: blockchain + addresses: + - '1BMsHFczb2vY1BMDvFGWgGU8mkWVm5fupp' + - '183J5pXWqYYsxZ7inTVw9tEpejDXyMFroe' +``` + +Configuration variables: + +- **addresses** (*Required*): List of bitcoin wallet addresses to watch. + diff --git a/source/_components/sensor.buienradar.markdown b/source/_components/sensor.buienradar.markdown new file mode 100644 index 000000000000..f1d6ffaf5319 --- /dev/null +++ b/source/_components/sensor.buienradar.markdown @@ -0,0 +1,78 @@ +--- +layout: page +title: "Buienradar" +description: "Instructions how to integrate buienradar.nl sensor within Home Assistant." +date: 2017-05-15 14:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: +ha_category: Weather +ha_release: 0.44 +--- + + +The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as an source for current meteorological data for your location. The +weather forecast is delivered by Buienradar, who provides a webservice that provides detailed weather information for users in The Netherlands. +The relevant weatherstation used will be automatically selected based on the location specified in the Home Assistant configuration (or in the buienradar weather/sensor component). + +To integrate `buienradar` with Home Assistant, add the following section to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: buienradar + monitored_conditions: + - symbol + - humidity + - temperature + - windspeed + - pressure +``` + +Configuration variables: + +- **platform** (*Required*): buienradar. +- **latitude** (*Optional*): latitude to use for selection of data source location. Longitude & latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar. +- **longitude** (*Optional*): longitude to use for selection of data source location. Longitude & latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar. +- **monitored_conditions** array (*Required*): one or more conditions to display in the frontend. + - **stationname**: the name of the selected meteo-station. + - **symbol**: A symbol for the current weather. + - **humidity**: The relative humidity (%). + - **temperature**: The current temperature (in C). + - **groundtemperature**: The current ground temperature (in C). + - **windspeed**: The wind speed in m/s. + - **windforce**: The wind speed/force in Bft. + - **winddirection**: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise. + - **windazimuth**: Where the wind is coming from: N (North),Z (south), NO (Noth-East), etc.. + - **pressure**: The sea-level air pressure in hPa. + - **visibility**: Visibility in meters (m). + - **windgust**: The windspeed of wind gusts (m/s). + - **precipitation**: the amount of precipitation/rain in mm/h. + - **irradiance**: Sun intensity in Watt per square meter (W/m2). + +Full configuration example where location is manually specified: + +```yaml +# Example configuration.yaml entry +- platform: buienradar + latitude: 51.65 + longitude: 5.70 + monitored_conditions: + - stationname + - symbol + - humidity + - temperature + - groundtemperature + - windspeed + - windforce + - winddirection + - windazimuth + - pressure + - visibility + - windgust + - precipitation + - irradiance +``` + diff --git a/source/_components/sensor.comed_hourly_pricing.markdown b/source/_components/sensor.comed_hourly_pricing.markdown index 05bef4626972..d278c8a71372 100644 --- a/source/_components/sensor.comed_hourly_pricing.markdown +++ b/source/_components/sensor.comed_hourly_pricing.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -logo: comed.jpg +logo: comed.png ha_category: Energy ha_release: "0.40" ha_iot_class: "Cloud Polling" diff --git a/source/_components/sensor.dyson.markdown b/source/_components/sensor.dyson.markdown new file mode 100644 index 000000000000..39ac3c5510c7 --- /dev/null +++ b/source/_components/sensor.dyson.markdown @@ -0,0 +1,24 @@ +--- +layout: page +title: "Dyson Purifier Sensor" +description: "Instructions how to setup the Dyson Purifier fans within Home Assistant." +date: 2017-05-27 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: dyson.png +ha_category: Sensor +ha_iot_class: "Cloud Polling" +ha_release: 0.47 +--- + + +The `dyson` sensor platform allows you to control your Dyson Purifier's filter life time. + +You have first to setup the [Dyson component](/components/dyson/) + +### {% linkable_title Supported fan devices %} + +- Pure Cool link (desk and tower) +- Pure Hot+cool link (but heating is not yet supported) diff --git a/source/_components/sensor.ebox.markdown b/source/_components/sensor.ebox.markdown index 606b605ca30e..a76f9feacc77 100644 --- a/source/_components/sensor.ebox.markdown +++ b/source/_components/sensor.ebox.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -logo: ebox.jpg +logo: ebox.png ha_category: Sensor ha_release: 0.39 ha_iot_class: "Cloud Polling" diff --git a/source/_components/sensor.ecobee.markdown b/source/_components/sensor.ecobee.markdown new file mode 100644 index 000000000000..0ae2be049bc3 --- /dev/null +++ b/source/_components/sensor.ecobee.markdown @@ -0,0 +1,16 @@ +--- +layout: page +title: "Ecobee Sensor" +description: "Instructions how to setup the Ecobee sensors within Home Assistant." +date: 2015-11-30 18:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: ecobee.png +ha_category: Binary Sensor +ha_release: 0.9 +ha_iot_class: "Local Push" +--- + +To get your Ecobee sensors working with Home Assistant, follow the instructions for the general [Ecobee component](/components/ecobee/). diff --git a/source/_components/sensor.etherscan.markdown b/source/_components/sensor.etherscan.markdown new file mode 100644 index 000000000000..8200f5317799 --- /dev/null +++ b/source/_components/sensor.etherscan.markdown @@ -0,0 +1,31 @@ +--- +layout: page +title: "Etherscan" +description: "Instructions how to integrate Etherscan.io data within Home Assistant." +date: 2017-06-01 16:20 +sidebar: true +comments: false +sharing: true +footer: true +logo: etherscan.png +ha_category: Finance +ha_release: 0.47 +ha_iot_class: "Cloud Polling" +--- + + +The `Etherscan` sensor platform displays Ethereum wallet balances from [Etherscan.io](https://etherscan.io). + +To add the Etherscan sensor to your installation, specify an ethereum address to watch in the `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: etherscan + address: '0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359' +``` + +Configuration variables: + +- **address** (*Required*): Ethereum wallet address to watch. +- **name** (*Optional*): The name of the sensor used in the frontend. diff --git a/source/_components/sensor.gitter.markdown b/source/_components/sensor.gitter.markdown new file mode 100644 index 000000000000..2ed03c0e8563 --- /dev/null +++ b/source/_components/sensor.gitter.markdown @@ -0,0 +1,31 @@ +--- +layout: page +title: "Gitter Sensor" +description: "Instructions how to integrate a Gitter room sensor with Home Assistant" +date: 2017-06-11 09:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: gitter.png +ha_category: Sensor +ha_release: 0.47 +--- + + +This `gitter` sensor allows one to monitor a [Gitter.im](https://gitter.im) chatroom for unread messages. + +To use a Gitter sensor in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yml entry +sensor: + - platform: gitter + api_key: YOUR_API_TOKEN +``` + +Configuration variables: + +- **api_key** (*Required*): Your Gitter.im API token. +- **room** (*Optional*): Gitter room to monitor. Defaults to `home-assistant/home-assistant` + diff --git a/source/_components/sensor.history_stats.markdown b/source/_components/sensor.history_stats.markdown index b277e950406e..d1fa2cfa1dc3 100644 --- a/source/_components/sensor.history_stats.markdown +++ b/source/_components/sensor.history_stats.markdown @@ -147,6 +147,5 @@ Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekd ``` - The `/dev-template` page of your home-assistant UI can help you check if the values for `start`, `end` or `duration` are correct. - If you want to check if your period is right, just click on your component, the `from` and `to` attributes will show the start and end of the period, nicely formatted. + The `/dev-template` page of your home-assistant UI can help you check if the values for `start`, `end` or `duration` are correct. If you want to check if your period is right, just click on your component, the `from` and `to` attributes will show the start and end of the period, nicely formatted.
diff --git a/source/_components/sensor.juicenet.markdown b/source/_components/sensor.juicenet.markdown new file mode 100644 index 000000000000..b65740d15e40 --- /dev/null +++ b/source/_components/sensor.juicenet.markdown @@ -0,0 +1,30 @@ +--- +layout: page +title: "Juicenet Sensor" +description: "Instructions how to setup WiFi-equipped Juicenet charging stations with Home Assistant." +date: 2015-01-20 22:36 +sidebar: true +comments: false +sharing: true +footer: true +logo: juicenet.png +ha_category: Sensor +ha_release: 0.47 +--- + + +The `juicenet` sensor platform allows you to get data from your [JuiceNet](https://emotorwerks.com/products/juicenet/) sensors. + +The requirement is that you have setup [Juicenet](/components/juicenet/). + +### {% linkable_title Added sensors %} + +These sensors will be added for each juicenet device in your account: + +- Status +- Temperature (inside the device) +- Voltage +- Amps +- Watts +- Charge time of session +- Energy added this session diff --git a/source/_components/sensor.moldindicator.markdown b/source/_components/sensor.mold_indicator.markdown similarity index 100% rename from source/_components/sensor.moldindicator.markdown rename to source/_components/sensor.mold_indicator.markdown diff --git a/source/_components/sensor.radarr.markdown b/source/_components/sensor.radarr.markdown new file mode 100644 index 000000000000..c31402ea4287 --- /dev/null +++ b/source/_components/sensor.radarr.markdown @@ -0,0 +1,123 @@ +--- +layout: page +title: "Radarr Sensor" +description: "Instructions how to integrate Radarr sensors with Home Assistant" +date: 2017-05-04 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: radarr.png +ha_category: Sensor +ha_release: 0.47 +--- + + +This `radarr` sensor platform pulls data from a given Radarr instance. + +To use your [Radarr](https://radarr.tv/) sensor in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yml entry +sensor: + - platform: radarr + api_key: YOUR_API_KEY + host: IP_ADDRESS + port: PORT +``` + +Configuration variables: + +- **api_key** (*Required*): Your Radarr API key, found in Settings > General in the Radarr Web UI. +- **monitored_conditions** array (*Required*): Conditions to display on the frontend. + - **movies**: The number of movies in Radarr. + - **upcoming**: The number of upcoming movie releases (physical and in cinemas). + - **commands**: The number of commands being run. + - **diskspace**: Available disk space. + - **status**: System status information +- **host** (*Optional*): The host Radarr is running on (Default: localhost). +- **port** (*Optional*): The port Radarr is running on (Default: 7878). +- **urlbase** (*Optional*): The base URL Radarr is running under (Default: /). +- **days** (*Optional*): How many days to look ahead for the upcoming sensor, 1 means today only (Default: 1). +- **include_paths** (*Optional*): Array of filepaths to include when calculating diskspace. Leave blank to include all. +- **unit**: (*Optional*): The unit to display disk space in (Default: GB). +- **ssl**: boolean (*Optional*): Whether or not to use SSL for Radarr. + +## {% linkable_title Examples %} + +In this section you find some real life examples of how to use this sensor. + +### {% linkable_title Get Episodes airing in next 2 days %} + +```yaml +# Example configuration.yml entry +sensor: + - platform: radarr + api_key: YOUR_API_KEY + host: 192.168.1.8 + monitored_conditions: + - upcoming + days: 2 +``` + +### {% linkable_title Enable SSL %} + +SSL may run on a different port than the default (7878). The SSL port can be bound to any port in Radarr, so it should be set in the config here (unless it is changed to 7878). + +```yaml +# Example configuration.yml entry +sensor: + - platform: radarr + api_key: YOUR_API_KEY + host: 192.168.1.8 + port: 9898 + monitored_conditions: + - upcoming + days: 2 + ssl: true +``` + +### {% linkable_title Get disk space for all storage locations %} + +```yaml +# Example configuration.yml entry +sensor: + - platform: radarr + api_key: YOUR_API_KEY + host: 192.168.1.8 + monitored_conditions: + - diskspace +``` + +### {% linkable_title Get disk space for listed storage locations %} + +The storage locations Radarr returns are in the system page and in some cases this can list duplicates if sub paths are mounted separately. By listing paths to include, you can choose what data is reported by the sensor. + +```yaml +# Example configuration.yml entry +sensor: + - platform: radarr + api_key: YOUR_API_KEY + host: 192.168.1.8 + monitored_conditions: + - diskspace + include_paths: + - /tank/plex +``` + +### {% linkable_title Get disk space in different unit %} + +The Radarr API returns available space in bytes, but this sensor will default to reporting it in GB to make the number more manageable. This can be overridden if your storage needs require a different unit. All units from bytes (B) to yottabytes (YB) are supported. + +*This calculation is done using base 2 math, and may differ from systems calculating using base 10 math.* + +```yaml +# Example configuration.yml entry +sensor: + - platform: radarr + api_key: YOUR_API_KEY + host: 192.168.1.8 + monitored_conditions: + - diskspace + unit: TB +``` diff --git a/source/_components/sensor.ripple.markdown b/source/_components/sensor.ripple.markdown new file mode 100644 index 000000000000..1db3abc09797 --- /dev/null +++ b/source/_components/sensor.ripple.markdown @@ -0,0 +1,31 @@ +--- +layout: page +title: "Ripple" +description: "Instructions how to integrate ripple.com data within Home Assistant." +date: 2017-06-06 16:20 +sidebar: true +comments: false +sharing: true +footer: true +logo: ripple.png +ha_category: Finance +ha_release: 0.47 +ha_iot_class: "Cloud Polling" +--- + + +The `ripple` sensor platform displays Ripple wallet balances from [Ripple.com](https://ripple.com). + +To add the Ripple sensor to your installation, specify a ripple address to watch in the `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: ripple + address: 'r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV' +``` + +Configuration variables: + +- **address** (*Required*): Ripple wallet address to watch +- **name** (*Optional*): Name for the sensor to use in the frontend. diff --git a/source/_components/sensor.yweather.markdown b/source/_components/sensor.yweather.markdown index 77a7c94f0aa4..7ac041c1cb1e 100644 --- a/source/_components/sensor.yweather.markdown +++ b/source/_components/sensor.yweather.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Yahoo Weather" +title: "Yahoo Weather Sensor" description: "Instructions how to integrate Yahoo Weather within Home Assistant." date: 2016-07-06 9:06 sidebar: true @@ -17,10 +17,10 @@ ha_iot_class: "Cloud Polling" The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/) as an source for current meteorological data. The `forecast` will show you the condition for 5 days, 0 is the current day. You can use only `weather`, `temp_min`, and `temp_max` with forecast. It's important to note that a yweather sensor will only show ONE days forecast at a time so to show multiple days forecasts, you will need to use the 'name:' option and give each sensor a unique name.-Use of the Yahoo Weather API should not exceed reasonable request volume. Access is limited to 2,000 signed calls per day. +Use of the Yahoo Weather API should not exceed reasonable request volume. Access is limited to 2000 signed calls per day.
-The `woeid` (Where On Earth ID) for your location, as shown in the example below. You can find your woeid by copying the numeric digits at the end of the URL for your location at [Yahoo Weather](https://www.yahoo.com/news/weather/). If you don't add a woeid it generate it from Home Assistant's latitude and longitude. +The `woeid` (Where On Earth ID) for your location, as shown in the example below. You can find your WOEID by copying the numeric digits at the end of the URL for your location at [Yahoo Weather](https://www.yahoo.com/news/weather/). If you don't add a WOEID it generate it from Home Assistant's latitude and longitude. To add Yahoo Weather to your installation, add the following to your `configuration.yaml` file: @@ -68,7 +68,6 @@ sensor: - weather - temp_min - temp_max - - platform: yweather forecast: 2 name: yw_day2 @@ -76,7 +75,6 @@ sensor: - weather - temp_min - temp_max - - platform: yweather forecast: 3 name: yw_day3 @@ -84,9 +82,7 @@ sensor: - weather - temp_min - temp_max - ``` - Details about the API are available in the [Yahoo! Developer Network](https://developer.yahoo.com/weather/). diff --git a/source/_components/spc.markdown b/source/_components/spc.markdown new file mode 100644 index 000000000000..15731743299a --- /dev/null +++ b/source/_components/spc.markdown @@ -0,0 +1,34 @@ +--- +layout: page +title: "SPC" +description: "Instructions how to setup Vanderbilt SPC devices within Home Assistant." +date: 2017-05-18 08:00 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Hub +ha_release: 0.47 +logo: vanderbilt_spc.png +--- + +Home Assistant has support to integrate your [Vanderbilt SPC](http://www.spc-intruder-detection.com/ssp-spc/) alarm panel and any connected motion, door and smoke sensors. + +Integration with SPC is done through a third-party API gateway called [SPC Web Gateway](http://www.lundix.se/smarta-losningar/) which must be installed and configured somewhere on your network. + +Home Assistant needs to know where to find the SPC Web Gateway API endpoints, to configure this add the following section to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +spc: + api_url: API_URL + ws_url: WS_URL +``` + +Configuration variables: + +- **api_url** (*Required*): URL of the SPC Web Gateway command REST API, e.g. `http://:8088`. +- **ws_url** (*Required*): URL of the SPC Web Gateway websocket, e.g. `ws:// :8088`. + +Supported sensors will be automatically discovered and added, however they will be hidden by default. + diff --git a/source/_components/splunk.markdown b/source/_components/splunk.markdown index a472ec8c7c9d..274bbbad7584 100644 --- a/source/_components/splunk.markdown +++ b/source/_components/splunk.markdown @@ -12,7 +12,7 @@ ha_category: "History" ha_release: 0.13 --- -The `splunk` component makes it possible to log all state changes to an external [Splunk](http://splunk.com/) database using Splunk's HTTP Event Collector feature. You can either use this alone, or with the Home Assistant for Splunk [app](https://github.com/miniconfig/splunk-homeassistant). Since the HEC feature is new to Splunk, you will need to use at least version 6.3. +The `splunk` component makes it possible to log all state changes to an external [Splunk](http://splunk.com/) database using Splunk's HTTP Event Collector (HEC) feature. You can either use this alone, or with the Home Assistant for Splunk [app](https://github.com/miniconfig/splunk-homeassistant). Since the HEC feature is new to Splunk, you will need to use at least version 6.3. To use the `splunk` component in your installation, add the following to your `configuration.yaml` file: @@ -28,3 +28,4 @@ Configuration variables: - **host** (*Optional*): IP address or host name of your Splunk host, eg. 192.168.1.10. Will default to `localhost` if not supplied. - **port** (*Optional*): Port to use. Defaults to 8088. - **ssl** (*Optional*): Use https instead of http to connect. Defaults to False. +- **name** (*Optional*): This parameter allows you to specify a friendly to send to Splunk as the host, instead of using the name of the HEC. Defaults to HASS diff --git a/source/_components/switch.rest.markdown b/source/_components/switch.rest.markdown index deefd1b69cbe..6cc7d23bdd5c 100644 --- a/source/_components/switch.rest.markdown +++ b/source/_components/switch.rest.markdown @@ -29,6 +29,7 @@ Configuration variables: - **resource** (*Required*): The resource or endpoint that contains the value. - **name** (*Optional*): Name of the REST switch. + - **method** (*Optional*): HTTP method to use (`post` or `put`). Defaults to `post`. - **body_on** (*Optional*): The body of the POST request that commands the switch to become enabled. Default is "ON". This value can be a [template](/topics/templating/). - **body_off** (*Optional*): The body of the POST request that commands the switch to become disabled. Default is "OFF". This value can also be a [template](/topics/templating/). - **is_on_template** (*Optional*): A [template](/docs/configuration/templating/#processing-incoming-data) that determines the state of the switch from the value returned by the GET request on the resource URL. This template should compute to a boolean (True or False). If the value is valid JSON, it will be available in the template as the variable `value_json`. Default is equivalent to `'{% raw %}{{ value_json == body_on }}{% endraw %}'`. This means that by default, the state of the switch is on if and only if the response to the GET request matches . diff --git a/source/_components/switch.template.markdown b/source/_components/switch.template.markdown index 542362f757e8..d53b6881316a 100644 --- a/source/_components/switch.template.markdown +++ b/source/_components/switch.template.markdown @@ -115,13 +115,17 @@ switch: This example shows how to change the icon based on the day/night cycle. ```yaml -sensor: +switch: - platform: template - sensors: - day_night: - friendly_name: 'Day/Night' - value_template: {% raw %}'{% if is_state("sun.sun", "above_horizon") %}Day{% else %}Night{% endif %}'{% endraw %} - icon_template: {% raw %}'{% if is_state("sun.sun", "above_horizon") %}mdi:weather-sunny{% else %}mdi:weather-night{% endif %}'{% endraw %} - + switches: + garage: + value_template: {% raw %}"{{ is_state(cover.garage_door', 'on') }}"{% endraw %} + turn_on: + service: cover.open_cover + entity_id: cover.garage_door + turn_off: + service: cover.close_cover + entity_id: cover.garage_door + icon_template: {% raw %}"{% if is_state('cover.garage_door', 'open') %}mdi:garage-open{% else %}mdi:garage{% endif %}"{% endraw %} ``` diff --git a/source/_components/updater.markdown b/source/_components/updater.markdown index eda5bd95f416..89970ce5e1d7 100644 --- a/source/_components/updater.markdown +++ b/source/_components/updater.markdown @@ -23,6 +23,23 @@ updater: If you choose not to share any information when checking for updates, you can add `reporting: False`. +It is possible to report the components that you are using to the Home Assistant developers. This will help them focus on improving the popular ones. To enable this option, you have to add `include_used_components: True`. + +```json +"components": [ + "apcupsd", + "api", + "automation", + "binary_sensor", + "binary_sensor.zwave", + "camera", + "camera.uvc", + "config", + "config.core", + ... +] +``` + ### {% linkable_title Notification %} For an added bonus, an automation component can be created to send a message with a notifier when that state of this component's entity changes. diff --git a/source/_components/volvooncall.markdown b/source/_components/volvooncall.markdown index b2ea329b8448..7a73922f01f6 100644 --- a/source/_components/volvooncall.markdown +++ b/source/_components/volvooncall.markdown @@ -25,6 +25,23 @@ volvooncall: password: password ``` +Users registered with Volvo in North America or China will need to specify a service url: + +```yaml +# North America +volvooncall: + username: username + password: password + service_url: 'https://vocapi-na.wirelesscar.net/customerapi/rest/v3.0/' +``` +```yaml +# China +volvooncall: + username: username + password: password + service_url: 'https://vocapi-cn.wirelesscar.net/customerapi/rest/v3.0/' +``` + A more advanced example for setting the vehicle name and selecting what resources to display: ```yaml @@ -44,6 +61,7 @@ Configuration variables: - **username** (*Required*): The username associated with your Volvo On Call account. - **password** (*Required*): The password for your given Volvo On Call account. +- **service_url** (*Optional*): The service URL to use for Volvo On Call (defaults to https://vocapi.wirelesscar.net/customerapi/rest/v3.0/). - **name** (*Optional*): Make it possible to provide a name for the vehicles. - **resources** (*Optional*): A list of resources to display (defaults to all available). diff --git a/source/_components/weather.buienradar.markdown b/source/_components/weather.buienradar.markdown new file mode 100644 index 000000000000..8ba147619da2 --- /dev/null +++ b/source/_components/weather.buienradar.markdown @@ -0,0 +1,48 @@ +--- +layout: page +title: "Buienradar Weather" +description: "Instructions how to integrate buienradar.nl weather within Home Assistant." +date: 2017-05-15 14:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: +ha_category: Weather +ha_release: 0.44 +--- + +The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as an source for current meteorological data for your location. The +weather forecast is delivered by Buienradar, who provides a webservice that provides detailed weather information for users in The Netherlands. +The relevant weatherstation used will be automatically selected based on the location specified in the Home Assistant configuration (or in the buienradar weather/sensor component). + +To add the buienradar weather to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +weather: + - platform: buienradar +``` + +Configuration variables: +- **platform** (*Required*): buienradar +- **latitude** (*Optional*): latitude to use for selection of data source location. Longitude & latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar. +- **longitude** (*Optional*): longitude to use for selection of data source location. Longitude & latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar. +- **forecast** (*Optional*): 'True' to add a temperature forecast, 'False' to suppress it + + +A full configuration example: + +```yaml +weather: + - platform: buienradar + name: buienradar + latitude: 51.65 + longitude: 5.70 + forecast: True +``` + + +This platform is an alternative to the [`buienradar`](/components/sensor.buienradar/) sensor. +The weather platform is easier to configure but less customisable. +
diff --git a/source/_components/weather.yweather.markdown b/source/_components/weather.yweather.markdown new file mode 100644 index 000000000000..3d38b2fbe89d --- /dev/null +++ b/source/_components/weather.yweather.markdown @@ -0,0 +1,44 @@ +--- +layout: page +title: "Yahoo Weather" +description: "Instructions how to integrate Yahoo Weather within Home Assistant." +date: 2016-07-06 9:06 +sidebar: true +comments: false +sharing: true +footer: true +logo: yahooweather.png +ha_category: Weather +ha_release: 0.47 +--- + + +The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/) as an source for current meteorological data. The `forecast` will show you the condition for 5 days, 0 is the current day. + ++Use of the Yahoo Weather API should not exceed reasonable request volume. Access is limited to 2000 signed calls per day. +
+ +The `woeid` (Where On Earth ID) for your location, as shown in the example below. You can find your WOEID by copying the numeric digits at the end of the URL for your location at [Yahoo Weather](https://www.yahoo.com/news/weather/). If you don't add a WOEID it generate it from Home Assistant's latitude and longitude. + +To add Yahoo Weather to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +weather: + - platform: yweather +``` + +Configuration variables: + +- **woeid** (*Optional*): See above. +- **forecast** (*Optional*): Day of forecast. The default is the current day to display conditions. +- **name** (*Optional*): The name of the sensor. To easily recognize each sensor when adding more than one Yahoo weather sensor, it is recommended to use the name option. Defaults to `Yweather`. + + ++This platform is an alternative to the [`yweather`](/components/sensor.yweather/) sensor. +
+ +Details about the API are available in the [Yahoo! Developer Network](https://developer.yahoo.com/weather/). + diff --git a/source/_docs/backend/updater.markdown b/source/_docs/backend/updater.markdown index dcdb3cb54331..8551fff955e5 100644 --- a/source/_docs/backend/updater.markdown +++ b/source/_docs/backend/updater.markdown @@ -12,6 +12,13 @@ redirect_from: /details/updater/ Starting with 0.31 the [updater component](/components/updater/) sends an optional report about Home Assistant instance. +If you want to opt-in to include component information, add `include_used_components` to your config. This will allow the Home Assistant developers to focus development efforts on the most popular components. + +```yaml +updater: + include_used_components: true +``` + We are only collecting this information to better understand our user base to provide better long term support and feature development. | Name | Description | Example | Data Source | @@ -49,4 +56,4 @@ The server also adds two timestamps to the data: - the original date your instance UUID was first seen - the timestamp of the last time we have seen your instance -There are currently no plans to publicly expose any of this information. If we did do such a thing in the future we would of course notify you in advance. It must also be stated that we will never sell or allow the use of this information for non-Home Assistant purposes. +We will never publicly expose individual gathered data. We might however publish aggregated stats about our user base (example: 70% of all users use Linux). We will never sell or allow the use of this information for non-Home Assistant development purposes. diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index 9188337f0c9d..f3351b1d62fb 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -179,7 +179,7 @@Topics
{% active_link /docs/ecosystem/notebooks/installation/ Installation %} {% active_link /docs/ecosystem/notebooks/graph/ Graph %} {% active_link /docs/ecosystem/notebooks/api/ Home Assistant API %} -{% active_link /docs/ecosystem/notebooks/database/ Databsase %} +{% active_link /docs/ecosystem/notebooks/database/ Database %} {% active_link /docs/ecosystem/notebooks/stats/ Statistics %} diff --git a/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown b/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown index 2f4d7538de2b..2276443b8ae6 100644 --- a/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown +++ b/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown @@ -11,7 +11,7 @@ categories: Release-Notes og_image: /images/blog/2017-05-0.44/components.png --- -+
This release brings some great new integrations. The biggest one is the [native ZigBee integration][zha docs] by [Russell Cloran][@rcloran]. This will allow Home Assistant to natively control Philips Hue lights without the need for a hub! (IKEA Tradfri lights not yet due to implementing a different profile) diff --git a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown index 8102a4451dd2..6416d9d9cc1a 100644 --- a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown +++ b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown @@ -11,7 +11,7 @@ categories: Release-Notes og_image: /images/blog/2017-05-0.45/components.png --- -
+
Welcome to another great release of Home Assistant! While some of contributors and users are gathering at PyCon US 2017, we still managed to get a great release together! diff --git a/source/_posts/2017-06-04-release-46.markdown b/source/_posts/2017-06-04-release-46.markdown index f35433957d34..d800401404de 100644 --- a/source/_posts/2017-06-04-release-46.markdown +++ b/source/_posts/2017-06-04-release-46.markdown @@ -11,7 +11,7 @@ categories: Release-Notes og_image: /images/blog/2017-06-0.46/components.png --- -
+
It's time for 0.46! This release does not have too many new integrations, instead it focussed on bug fixes. diff --git a/source/_posts/2017-06-17-release-47.markdown b/source/_posts/2017-06-17-release-47.markdown new file mode 100644 index 000000000000..8253e92ea8b8 --- /dev/null +++ b/source/_posts/2017-06-17-release-47.markdown @@ -0,0 +1,522 @@ +--- +layout: post +title: "0.47: Python Scripts, Sesame Smart Lock, Gitter, Onvif cameras" +description: "Use Python to script Hass and enjoy a ton of new integrations. We now passed the 700 integrations!" +date: 2017-06-17 01:04:05 +0000 +date_formatted: "June 17, 2017" +author: Paulus Schoutsen +author_twitter: balloob +comments: true +categories: Release-Notes +og_image: /images/blog/2017-06-0.47/components.png +--- + +
+ +In this release a ton of new stuff! And who doesn't like new stuff? This release we're passing the 700 integrations for Home Assistant. As of today [we're 1369 days old][first-commit], which means that roughly every two days a new integration gets added! + +## {% linkable_title Python Scripts %} + +The biggest change is a new type of script component: [Python scripts][python_script docs]. This new component will allow you to write scripts to manipulate Home Assistant: call services, set states and fire events. Each Python script is made available as a service. Head over to [the docs][python_script docs] to see how to get started. + +## {% linkable_title Updater %} + +The updater has received a new opt-in option to let us know which components you use. This will allow us to focus development efforts on the components that are popular. + +```yaml +updater: + include_used_components: true +``` + +And as a reminder. We will never share gathered data in a manner that can be used to identify anyone. We do plan on making aggregate data public soon. This will include total number of users and which hardware/software platform people use to run Home Assistant. + +## {% linkable_title Z-Wave %} + +Z-Wave is also getting a big update in this release. The confusing entity_ids will be on their way out. There is a [zwave blog post] that gives more detail, but the upgrade steps will be as follows: + +1. Run Home Assistant as normal and the old IDs will still be used. +2. The new entity IDs will be shown in the more-info dialog for each entity. Check to make sure none of them will have conflicts once the new names are applied. +3. Rename entities using the ui card as described in the blog post to avoid conflicts. Restart Home Assistant to observe the changes. +4. Update all places mentioning IDs (groups, automation, customization, etc.) in configuration.yaml. +5. Add `new_entity_ids: true` to your zwave config. +6. Restart Home Assistant to run with new IDs. +7. The old entity IDs will be available in the more info dialog to trace down any remaining errors. + +## {% linkable_title New platforms %} + +- Added a Taps Aff binary sensor ([@bazwilliams] - [#7880]) ([binary_sensor.tapsaff docs]) (new-platform) +- lock.sesame: New lock platform for Sesame smart locks ([@trisk] - [#7873]) ([lock.sesame docs]) (new-platform) +- Etherscan.io sensor ([@nkgilley] - [#7855]) ([sensor.etherscan docs]) (new-platform) +- blockchain.info sensor ([@nkgilley] - [#7856]) ([sensor.blockchain docs]) (new-platform) +- Add Radarr sensor ([@tboyce021] - [#7318]) ([sensor.radarr docs]) (new-platform) +- Added buienradar sensor and weather ([@mjj4791] - [#7592]) ([sensor.buienradar docs]) ([weather.buienradar docs]) (new-platform) +- Add support for Vanderbilt SPC alarm panels and attached sensors ([@mbrrg] - [#7663]) ([spc docs]) ([alarm_control_panel.spc docs]) ([binary_sensor.spc docs]) (new-platform) +- Add raspihats switch ([@florincosta] - [#7665]) ([switch.raspihats docs]) (new-platform) +- Add juicenet platform ([@jesserockz] - [#7668]) ([juicenet docs]) ([sensor.juicenet docs]) (new-platform) +- add ripple sensor ([@nkgilley] - [#7935]) ([sensor.ripple docs]) (new-platform) +- New component: Python Script ([@balloob] - [#7950]) ([python_script docs]) (new-platform) +- Nadtcp component ([@mwsluis] - [#7955]) ([media_player.nadtcp docs]) (new-platform) +- Add Gitter.im sensor ([@fabaff] - [#7998]) ([sensor.gitter docs]) (new-platform) +- Update mailgun ([@happyleavesaoc] - [#7984]) ([mailgun docs]) ([notify.mailgun docs]) (breaking change) (new-platform) +- Add Flexit AC climate platform ([@Sabesto] - [#7871]) ([climate.flexit docs]) (new-platform) + +## {% linkable_title If you need help... %} +...don't hesitate to use our very active [forums][forum] or join us for a little [chat][gitter]. 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][issue]. Make sure to fill in all fields of the issue template. + + +## {% linkable_title Breaking changes %} + +- Update opencv config to match other image processors ([@Teagan42] - [#7864]) ([image_processing.opencv docs]) (breaking change) + +```yaml +image_processing: + - platform: opencv + name: OpenCV + source: + - entity_id: camera.front_door + classifier: + faces: + file: /path/to/classifier + name: Husband + neighbors: 4 + min_size: (40, 40) + scale: 1.1 +``` + +- Lutron: Add configuration check and use default var names ([@fabaff] - [#7963]) ([lutron docs]) ([light.lutron docs]) (breaking change) + +```yaml +lutron: + host: IP_ADDRESS + username: lutron + password: integration +``` + +- Convert mailgun to component ([@happyleavesaoc] - [#7984]) ([mailgun docs]) ([notify.mailgun docs]) (breaking change) (new-platform) + +```yaml +mailgun: + domain: !secret mailgun_domain + api_key: !secret mailgun_api_key + sandbox: False + +notify: + - name: mailgun + platform: mailgun + recipient: !secret mailgun_recipient +``` + +- LIFX: add multiple modes to pulse effect. The `lifx_effect_breathe` call has been deprecated. Use `lifx_effect_pulse` with the new `mode: breathe` attribute instead. ([@amelchio] - [#8016]) ([light.lifx docs]) (breaking change) +- Use standard entity_ids for zwave entities. This also introduces a small API breakage, where `EVENT_SCENE_ACTIVATED` and `EVENT_NODE_EVENT` will no longer supply an `object_id`. They will now be tied to the node entity_id. ([@armills] - [#7786]) ([zwave docs]) ([light.zwave docs]) (breaking change) +- Fix attribute entities. Home Assistant will no longer filter out entities that are 'falsey'. So you might see more entity attributes show up. ([@pvizeli] - [#8066]) (breaking change) + +## {% linkable_title All changes %} + +- Update squeezebox.py ([@molobrakos] - [#7617]) ([media_player.squeezebox docs]) +- Fix html5 unsub ([@balloob] - [#7874]) ([notify.html5 docs]) +- Added effects to Yeelight bulbs ([@Mister-Espria] - [#7152]) ([light.yeelight docs]) +- Enocean Binary Sensor: Handle click of both rockers ([@twendt] - [#7770]) ([binary_sensor.enocean docs]) +- Support for renaming ZWave values ([@armills] - [#7780]) ([zwave docs]) +- Fix telegram_bot ([@balloob] - [#7877]) ([telegram_bot.polling docs]) ([telegram_bot.webhooks docs]) +- [light.lifx] Update aiolifx ([@amelchio] - [#7882]) ([light.lifx docs]) +- Change nad_receiver to pypi ([@joopert] - [#7852]) ([media_player.nad docs]) +- Switch pymyq to pypi ([@andrey-git] - [#7884]) ([cover.myq docs]) +- Use constants ([@fabaff] - [#7888]) ([notify.xmpp docs]) +- Upgrade pyasn1-modules to 0.0.9 ([@fabaff] - [#7887]) ([notify.xmpp docs]) +- Upgrade sendgrid to 4.2.0 ([@fabaff] - [#7886]) ([notify.sendgrid docs]) +- Upgrade python-telegram-bot to 6.0.3 ([@fabaff] - [#7885]) +- Fix MQTT camera test ([@balloob] - [#7878]) +- Added a Taps Aff binary sensor ([@bazwilliams] - [#7880]) ([binary_sensor.tapsaff docs]) (new-platform) +- lock.sesame: New lock platform for Sesame smart locks ([@trisk] - [#7873]) ([lock.sesame docs]) (new-platform) +- Dsmr5 revert ([@aequitas] - [#7900]) ([sensor.dsmr docs]) +- Fix typos in Wunderground component (Percipitation -> Precipitation) ([@mje-nz] - [#7901]) ([sensor.wunderground docs]) +- Add support for the expirationTime parameter. ([@perosb] - [#7895]) ([notify.html5 docs]) +- Etherscan.io sensor ([@nkgilley] - [#7855]) ([sensor.etherscan docs]) (new-platform) +- blockchain.info sensor ([@nkgilley] - [#7856]) ([sensor.blockchain docs]) (new-platform) +- Mqtt cover modifications ([@cribbstechnologies] - [#7841]) ([cover.mqtt docs]) +- Add Radarr sensor ([@tboyce021] - [#7318]) ([sensor.radarr docs]) (new-platform) +- Add service to set nest away/home modes ([@mattsch] - [#7619]) ([nest docs]) +- Added buienradar sensor and weather ([@mjj4791] - [#7592]) ([sensor.buienradar docs]) ([weather.buienradar docs]) (new-platform) +- Add support for Vanderbilt SPC alarm panels and attached sensors ([@mbrrg] - [#7663]) ([spc docs]) ([alarm_control_panel.spc docs]) ([binary_sensor.spc docs]) (new-platform) +- Add raspihats switch ([@florincosta] - [#7665]) ([switch.raspihats docs]) (new-platform) +- Add 'icon_template' to switch templates (similar to sensor template) ([@PhracturedBlue] - [#7862]) ([switch.template docs]) +- Fix docstring ([@fabaff] - [#7907]) +- Sync crypto-currency platforms ([@fabaff] - [#7906]) ([sensor.bitcoin docs]) ([sensor.blockchain docs]) ([sensor.coinmarketcap docs]) ([sensor.etherscan docs]) +- Move consts to 'const.py' ([@fabaff] - [#7909]) ([media_player.sonos docs]) ([sensor.imap_email_content docs]) ([sensor.pvoutput docs]) ([sensor.waqi docs]) +- Minor cleanup - Define 'CONF_ICON_TEMPLATE' constant centrally ([@PhracturedBlue] - [#7910]) ([sensor.template docs]) ([switch.template docs]) +- Do not call update() in constructor ([@fabaff] - [#7912]) ([sensor.cpuspeed docs]) ([sensor.cups docs]) ([sensor.currencylayer docs]) ([sensor.fixer docs]) +- Add juicenet platform ([@jesserockz] - [#7668]) ([juicenet docs]) ([sensor.juicenet docs]) (new-platform) +- Bump pyEight version to fix 0hr session errors ([@mezz64] - [#7916]) ([eight_sleep docs]) +- update to pywebpush 1.0.4 which allows install on system with openssl-1.1.0 (cryptography dep) ([@perosb] - [#7915]) ([notify.html5 docs]) +- Do not call update() in constructor ([@fabaff] - [#7917]) ([sensor.dte_energy_bridge docs]) ([sensor.dublin_bus_transport docs]) ([sensor.dweet docs]) ([sensor.ebox docs]) ([sensor.ecobee docs]) ([sensor.hddtemp docs]) ([sensor.mold_indicator docs]) ([sensor.pi_hole docs]) ([sensor.yahoo_finance docs]) +- Fix changes introduced with #7917 ([@fabaff] - [#7930]) ([sensor.waqi docs]) +- Do not call update() in constructor ([@fabaff] - [#7931]) ([sensor.yweather docs]) +- Add service_url config option to volvooncall ([@palp] - [#7919]) ([volvooncall docs]) +- Added 'change' field to statistics sensor ([@jminn] - [#7820]) ([sensor.statistics docs]) +- add ripple sensor ([@nkgilley] - [#7935]) ([sensor.ripple docs]) (new-platform) +- Add Yahoo! weather platform ([@fabaff] - [#7939]) +- [media_player.sonos] Send media_stop on turn_off ([@Juggels] - [#7940]) ([media_player.sonos docs]) +- update to 006 ([@joopert] - [#7945]) ([media_player.nad docs]) +- Update ping.py ([@vrs01] - [#7944]) ([device_tracker.ping docs]) +- Add option to display all input sources / Add support for favourite channels / Treat Marantz SR5008 as Denon AVR-X device ([@scarface-4711] - [#7949]) ([media_player.denonavr docs]) +- [WIP] Fix opencv ([@Teagan42] - [#7864]) ([image_processing.opencv docs]) (breaking change) +- Upgrade coinmarketcap to 3.0.1 ([@fabaff] - [#7951]) ([sensor.coinmarketcap docs]) +- test connection without needing admin rights ([@heinemml] - [#7947]) +- Fix the negative values bug in history_stats ([@bokub] - [#7934]) +- Vera colored light support ([@alanfischer] - [#7942]) ([vera docs]) ([light.vera docs]) +- Fix typos ([@fabaff] - [#7957]) ([http docs]) ([fan.zwave docs]) +- Osram lightify, removed double set to the lightify bridge in case of brightness changes ([@commento] - [#7662]) ([light.osramlightify docs]) +- Add configuration check and use default var names ([@fabaff] - [#7963]) ([lutron docs]) ([light.lutron docs]) (breaking change) +- lock.sesame: Update pysesame, add state attributes ([@trisk] - [#7953]) ([lock.sesame docs]) +- Fixed metadata issue ([@bazwilliams] - [#7932]) ([media_player.openhome docs]) +- Create metoffice.py ([@cyberjacob] - [#7965]) ([sensor.metoffice docs]) +- Prevent Roku doing I/O in event loop ([@balloob] - [#7969]) ([media_player.roku docs]) +- Fix platforms being able to block startup ([@balloob] - [#7970]) +- New component: Python Script ([@balloob] - [#7950]) ([python_script docs]) (new-platform) +- Nadtcp component ([@mwsluis] - [#7955]) ([media_player.nadtcp docs]) (new-platform) +- HomeMatic optimizations and code cleanup ([@danielperna84] - [#7986]) ([homematic docs]) ([binary_sensor.homematic docs]) ([cover.homematic docs]) ([sensor.homematic docs]) ([switch.homematic docs]) +- Update eliqonline.py ([@molobrakos] - [#7977]) ([sensor.eliqonline docs]) +- test that all lights turn off when no entity id is given ([@chilicheech] - [#7981]) +- make `last_name` field optional ([@azogue] - [#7988]) +- Bugfixing with version 0.4.4 of denonavr ([@scarface-4711] - [#7995]) ([media_player.denonavr docs]) +- Upgrade py-cpuinfo to 3.3.0 ([@fabaff] - [#7992]) ([sensor.cpuspeed docs]) +- LIFX: clean up internal color conversions ([@amelchio] - [#7964]) ([light.lifx docs]) +- LIFX: add support for setting infrared level ([@amelchio] - [#8000]) ([light.lifx docs]) +- dismiss service for persistent notifications ([@tedstriker] - [#7996]) ([persistent_notification docs]) +- Add Gitter.im sensor ([@fabaff] - [#7998]) ([sensor.gitter docs]) (new-platform) +- Fixing Client connection error ([@sander76] - [#7991]) ([telegram_bot.polling docs]) +- Additional demo fan with only speed support ([@armills] - [#7985]) +- Update mailgun ([@happyleavesaoc] - [#7984]) ([mailgun docs]) ([notify.mailgun docs]) (breaking change) (new-platform) +- Fixed bug in spotify component. ([@soldag] - [#7976]) ([media_player.spotify docs]) +- fixing potential null issue with optional param being parsed as a script ([@cribbstechnologies] - [#7928]) ([light.template docs]) +- Make it more flexible (fixes #7954) ([@fabaff] - [#8001]) ([image_processing.seven_segments docs]) +- Add Flexit AC climate platform ([@Sabesto] - [#7871]) ([climate.flexit docs]) (new-platform) +- update pyripple ([@nkgilley] - [#8015]) ([sensor.ripple docs]) +- Allow put as method ([@fabaff] - [#8004]) ([switch.rest docs]) +- Configure conversation for custom actions with keywords ([@mjsir911] - [#7734]) ([conversation docs]) +- Remove globally disabled pylint issues ([@fabaff] - [#8005]) ([vera docs]) ([calendar.google docs]) ([climate.wink docs]) ([device_tracker.owntracks docs]) ([media_player.aquostv docs]) ([media_player.plex docs]) ([sensor.openevse docs]) +- entity_id for service fan.turn_off is optional ([@chilicheech] - [#7982]) +- Make percentage string values as floats/ints in InfluxDB ([@philhawthorne] - [#7879]) ([influxdb docs]) +- Take in account Spotify account permissions ([@Tommatheussen] - [#8012]) ([media_player.spotify docs]) +- Add Dyson Pure Cool Link support ([@CharlesBlonde] - [#7795]) +- Allow device_tracker platforms to specify picture and icon upon discovery ([@andrey-git] - [#8018]) +- Discover Z-Wave values by index ([@armills] - [#7853]) ([zwave docs]) +- LIFX: add multiple modes to pulse effect ([@amelchio] - [#8016]) ([light.lifx docs]) (breaking change) +- Do not call update() in constructor ([@fabaff] - [#8048]) ([sensor.snmp docs]) +- Upgrade pysnmp to 4.3.8 ([@fabaff] - [#8044]) ([device_tracker.snmp docs]) ([sensor.snmp docs]) +- Upgrade zeroconf to 0.19.1 ([@fabaff] - [#8043]) ([zeroconf docs]) +- Vera fix for dimmable vs rgb lights ([@alanfischer] - [#8007]) ([vera docs]) ([light.vera docs]) +- Group service / dynamic handling ([@pvizeli] - [#7971]) ([group docs]) +- Adding ssocr to docker to support Seven Segments Display ([@MartyTremblay] - [#8028]) +- Added host variable to Splunk.py and updated tox tests ([@boojew] - [#8052]) ([splunk docs]) +- Restrict Python Script ([@balloob] - [#8053]) ([python_script docs]) +- Fixed the Wind sensor following new release of netatmo-api-python ([@glpatcern] - [#8030]) ([netatmo docs]) ([sensor.netatmo docs]) +- media_player.firetv - Adding support for https. ([@coolcow] - [#8022]) ([media_player.firetv docs]) +- Added ONVIF camera component ([@matt2005] - [#7979]) +- Provide entity_id to avoid sensor mixup (fixes #7636). Use async_dispatcher. Provide icon. ([@molobrakos] - [#7946]) ([volvooncall docs]) +- Updater improvements to send option component information ([@infamy] - [#7720]) ([updater docs]) +- Use standard entity_ids for zwave entities ([@armills] - [#7786]) ([zwave docs]) ([light.zwave docs]) (breaking change) +- Update numpy 1.13.0 ([@pvizeli] - [#8059]) ([image_processing.opencv docs]) +- No update in MQTT Binary Sensor #7478 ([@pezinek] - [#8057]) +- Always enable monkey patch ([@balloob] - [#8054]) +- Add to zwave services descriptions ([@andrey-git] - [#8072]) +- Fix attribute entity ([@pvizeli] - [#8066]) (breaking change) +- Added 'all_plants' group and support for plant groups state. ([@aronsky] - [#8063]) ([group docs]) ([plant docs]) +- Fix EntityComponent handle entities without a name ([@balloob] - [#8065]) +- Update pyunifi component to use APIError passed from pyunifi 2.13. Better accommodate login failures with wrapper in pyunifi 2.13. ([@finish06] - [#7899]) ([device_tracker.unifi docs]) +- bump usps version ([@happyleavesaoc] - [#8074]) ([sensor.usps docs]) +- bump ups ([@happyleavesaoc] - [#8075]) ([sensor.ups docs]) + +[#7152]: https://github.com/home-assistant/home-assistant/pull/7152 +[#7318]: https://github.com/home-assistant/home-assistant/pull/7318 +[#7592]: https://github.com/home-assistant/home-assistant/pull/7592 +[#7617]: https://github.com/home-assistant/home-assistant/pull/7617 +[#7619]: https://github.com/home-assistant/home-assistant/pull/7619 +[#7662]: https://github.com/home-assistant/home-assistant/pull/7662 +[#7663]: https://github.com/home-assistant/home-assistant/pull/7663 +[#7665]: https://github.com/home-assistant/home-assistant/pull/7665 +[#7668]: https://github.com/home-assistant/home-assistant/pull/7668 +[#7720]: https://github.com/home-assistant/home-assistant/pull/7720 +[#7734]: https://github.com/home-assistant/home-assistant/pull/7734 +[#7770]: https://github.com/home-assistant/home-assistant/pull/7770 +[#7780]: https://github.com/home-assistant/home-assistant/pull/7780 +[#7786]: https://github.com/home-assistant/home-assistant/pull/7786 +[#7795]: https://github.com/home-assistant/home-assistant/pull/7795 +[#7820]: https://github.com/home-assistant/home-assistant/pull/7820 +[#7841]: https://github.com/home-assistant/home-assistant/pull/7841 +[#7852]: https://github.com/home-assistant/home-assistant/pull/7852 +[#7853]: https://github.com/home-assistant/home-assistant/pull/7853 +[#7855]: https://github.com/home-assistant/home-assistant/pull/7855 +[#7856]: https://github.com/home-assistant/home-assistant/pull/7856 +[#7862]: https://github.com/home-assistant/home-assistant/pull/7862 +[#7864]: https://github.com/home-assistant/home-assistant/pull/7864 +[#7871]: https://github.com/home-assistant/home-assistant/pull/7871 +[#7873]: https://github.com/home-assistant/home-assistant/pull/7873 +[#7874]: https://github.com/home-assistant/home-assistant/pull/7874 +[#7877]: https://github.com/home-assistant/home-assistant/pull/7877 +[#7878]: https://github.com/home-assistant/home-assistant/pull/7878 +[#7879]: https://github.com/home-assistant/home-assistant/pull/7879 +[#7880]: https://github.com/home-assistant/home-assistant/pull/7880 +[#7882]: https://github.com/home-assistant/home-assistant/pull/7882 +[#7884]: https://github.com/home-assistant/home-assistant/pull/7884 +[#7885]: https://github.com/home-assistant/home-assistant/pull/7885 +[#7886]: https://github.com/home-assistant/home-assistant/pull/7886 +[#7887]: https://github.com/home-assistant/home-assistant/pull/7887 +[#7888]: https://github.com/home-assistant/home-assistant/pull/7888 +[#7895]: https://github.com/home-assistant/home-assistant/pull/7895 +[#7899]: https://github.com/home-assistant/home-assistant/pull/7899 +[#7900]: https://github.com/home-assistant/home-assistant/pull/7900 +[#7901]: https://github.com/home-assistant/home-assistant/pull/7901 +[#7906]: https://github.com/home-assistant/home-assistant/pull/7906 +[#7907]: https://github.com/home-assistant/home-assistant/pull/7907 +[#7909]: https://github.com/home-assistant/home-assistant/pull/7909 +[#7910]: https://github.com/home-assistant/home-assistant/pull/7910 +[#7912]: https://github.com/home-assistant/home-assistant/pull/7912 +[#7915]: https://github.com/home-assistant/home-assistant/pull/7915 +[#7916]: https://github.com/home-assistant/home-assistant/pull/7916 +[#7917]: https://github.com/home-assistant/home-assistant/pull/7917 +[#7919]: https://github.com/home-assistant/home-assistant/pull/7919 +[#7928]: https://github.com/home-assistant/home-assistant/pull/7928 +[#7930]: https://github.com/home-assistant/home-assistant/pull/7930 +[#7931]: https://github.com/home-assistant/home-assistant/pull/7931 +[#7932]: https://github.com/home-assistant/home-assistant/pull/7932 +[#7934]: https://github.com/home-assistant/home-assistant/pull/7934 +[#7935]: https://github.com/home-assistant/home-assistant/pull/7935 +[#7939]: https://github.com/home-assistant/home-assistant/pull/7939 +[#7940]: https://github.com/home-assistant/home-assistant/pull/7940 +[#7942]: https://github.com/home-assistant/home-assistant/pull/7942 +[#7944]: https://github.com/home-assistant/home-assistant/pull/7944 +[#7945]: https://github.com/home-assistant/home-assistant/pull/7945 +[#7946]: https://github.com/home-assistant/home-assistant/pull/7946 +[#7947]: https://github.com/home-assistant/home-assistant/pull/7947 +[#7949]: https://github.com/home-assistant/home-assistant/pull/7949 +[#7950]: https://github.com/home-assistant/home-assistant/pull/7950 +[#7951]: https://github.com/home-assistant/home-assistant/pull/7951 +[#7953]: https://github.com/home-assistant/home-assistant/pull/7953 +[#7955]: https://github.com/home-assistant/home-assistant/pull/7955 +[#7957]: https://github.com/home-assistant/home-assistant/pull/7957 +[#7963]: https://github.com/home-assistant/home-assistant/pull/7963 +[#7964]: https://github.com/home-assistant/home-assistant/pull/7964 +[#7965]: https://github.com/home-assistant/home-assistant/pull/7965 +[#7969]: https://github.com/home-assistant/home-assistant/pull/7969 +[#7970]: https://github.com/home-assistant/home-assistant/pull/7970 +[#7971]: https://github.com/home-assistant/home-assistant/pull/7971 +[#7976]: https://github.com/home-assistant/home-assistant/pull/7976 +[#7977]: https://github.com/home-assistant/home-assistant/pull/7977 +[#7979]: https://github.com/home-assistant/home-assistant/pull/7979 +[#7981]: https://github.com/home-assistant/home-assistant/pull/7981 +[#7982]: https://github.com/home-assistant/home-assistant/pull/7982 +[#7984]: https://github.com/home-assistant/home-assistant/pull/7984 +[#7985]: https://github.com/home-assistant/home-assistant/pull/7985 +[#7986]: https://github.com/home-assistant/home-assistant/pull/7986 +[#7988]: https://github.com/home-assistant/home-assistant/pull/7988 +[#7991]: https://github.com/home-assistant/home-assistant/pull/7991 +[#7992]: https://github.com/home-assistant/home-assistant/pull/7992 +[#7995]: https://github.com/home-assistant/home-assistant/pull/7995 +[#7996]: https://github.com/home-assistant/home-assistant/pull/7996 +[#7998]: https://github.com/home-assistant/home-assistant/pull/7998 +[#8000]: https://github.com/home-assistant/home-assistant/pull/8000 +[#8001]: https://github.com/home-assistant/home-assistant/pull/8001 +[#8004]: https://github.com/home-assistant/home-assistant/pull/8004 +[#8005]: https://github.com/home-assistant/home-assistant/pull/8005 +[#8007]: https://github.com/home-assistant/home-assistant/pull/8007 +[#8012]: https://github.com/home-assistant/home-assistant/pull/8012 +[#8015]: https://github.com/home-assistant/home-assistant/pull/8015 +[#8016]: https://github.com/home-assistant/home-assistant/pull/8016 +[#8018]: https://github.com/home-assistant/home-assistant/pull/8018 +[#8022]: https://github.com/home-assistant/home-assistant/pull/8022 +[#8028]: https://github.com/home-assistant/home-assistant/pull/8028 +[#8030]: https://github.com/home-assistant/home-assistant/pull/8030 +[#8043]: https://github.com/home-assistant/home-assistant/pull/8043 +[#8044]: https://github.com/home-assistant/home-assistant/pull/8044 +[#8048]: https://github.com/home-assistant/home-assistant/pull/8048 +[#8052]: https://github.com/home-assistant/home-assistant/pull/8052 +[#8053]: https://github.com/home-assistant/home-assistant/pull/8053 +[#8054]: https://github.com/home-assistant/home-assistant/pull/8054 +[#8057]: https://github.com/home-assistant/home-assistant/pull/8057 +[#8059]: https://github.com/home-assistant/home-assistant/pull/8059 +[#8063]: https://github.com/home-assistant/home-assistant/pull/8063 +[#8065]: https://github.com/home-assistant/home-assistant/pull/8065 +[#8066]: https://github.com/home-assistant/home-assistant/pull/8066 +[#8072]: https://github.com/home-assistant/home-assistant/pull/8072 +[#8074]: https://github.com/home-assistant/home-assistant/pull/8074 +[#8075]: https://github.com/home-assistant/home-assistant/pull/8075 +[@CharlesBlonde]: https://github.com/CharlesBlonde +[@Juggels]: https://github.com/Juggels +[@MartyTremblay]: https://github.com/MartyTremblay +[@Mister-Espria]: https://github.com/Mister-Espria +[@PhracturedBlue]: https://github.com/PhracturedBlue +[@Sabesto]: https://github.com/Sabesto +[@Teagan42]: https://github.com/Teagan42 +[@Tommatheussen]: https://github.com/Tommatheussen +[@aequitas]: https://github.com/aequitas +[@alanfischer]: https://github.com/alanfischer +[@amelchio]: https://github.com/amelchio +[@andrey-git]: https://github.com/andrey-git +[@armills]: https://github.com/armills +[@aronsky]: https://github.com/aronsky +[@azogue]: https://github.com/azogue +[@balloob]: https://github.com/balloob +[@bazwilliams]: https://github.com/bazwilliams +[@bokub]: https://github.com/bokub +[@boojew]: https://github.com/boojew +[@chilicheech]: https://github.com/chilicheech +[@commento]: https://github.com/commento +[@coolcow]: https://github.com/coolcow +[@cribbstechnologies]: https://github.com/cribbstechnologies +[@cyberjacob]: https://github.com/cyberjacob +[@danielperna84]: https://github.com/danielperna84 +[@fabaff]: https://github.com/fabaff +[@finish06]: https://github.com/finish06 +[@florincosta]: https://github.com/florincosta +[@glpatcern]: https://github.com/glpatcern +[@happyleavesaoc]: https://github.com/happyleavesaoc +[@heinemml]: https://github.com/heinemml +[@infamy]: https://github.com/infamy +[@jesserockz]: https://github.com/jesserockz +[@jminn]: https://github.com/jminn +[@joopert]: https://github.com/joopert +[@matt2005]: https://github.com/matt2005 +[@mattsch]: https://github.com/mattsch +[@mbrrg]: https://github.com/mbrrg +[@mezz64]: https://github.com/mezz64 +[@mje-nz]: https://github.com/mje-nz +[@mjj4791]: https://github.com/mjj4791 +[@mjsir911]: https://github.com/mjsir911 +[@molobrakos]: https://github.com/molobrakos +[@mwsluis]: https://github.com/mwsluis +[@nkgilley]: https://github.com/nkgilley +[@palp]: https://github.com/palp +[@perosb]: https://github.com/perosb +[@pezinek]: https://github.com/pezinek +[@philhawthorne]: https://github.com/philhawthorne +[@pvizeli]: https://github.com/pvizeli +[@sander76]: https://github.com/sander76 +[@scarface-4711]: https://github.com/scarface-4711 +[@soldag]: https://github.com/soldag +[@tboyce021]: https://github.com/tboyce021 +[@tedstriker]: https://github.com/tedstriker +[@trisk]: https://github.com/trisk +[@twendt]: https://github.com/twendt +[@vrs01]: https://github.com/vrs01 +[alarm_control_panel.spc docs]: https://home-assistant.io/components/alarm_control_panel.spc/ +[binary_sensor.enocean docs]: https://home-assistant.io/components/binary_sensor.enocean/ +[binary_sensor.homematic docs]: https://home-assistant.io/components/binary_sensor.homematic/ +[binary_sensor.spc docs]: https://home-assistant.io/components/binary_sensor.spc/ +[binary_sensor.tapsaff docs]: https://home-assistant.io/components/binary_sensor.tapsaff/ +[calendar.google docs]: https://home-assistant.io/components/calendar.google/ +[climate.flexit docs]: https://home-assistant.io/components/climate.flexit/ +[climate.wink docs]: https://home-assistant.io/components/climate.wink/ +[conversation docs]: https://home-assistant.io/components/conversation/ +[cover.homematic docs]: https://home-assistant.io/components/cover.homematic/ +[cover.mqtt docs]: https://home-assistant.io/components/cover.mqtt/ +[cover.myq docs]: https://home-assistant.io/components/cover.myq/ +[device_tracker.__init__ docs]: https://home-assistant.io/components/device_tracker.__init__/ +[device_tracker.owntracks docs]: https://home-assistant.io/components/device_tracker.owntracks/ +[device_tracker.ping docs]: https://home-assistant.io/components/device_tracker.ping/ +[device_tracker.snmp docs]: https://home-assistant.io/components/device_tracker.snmp/ +[device_tracker.unifi docs]: https://home-assistant.io/components/device_tracker.unifi/ +[eight_sleep docs]: https://home-assistant.io/components/eight_sleep/ +[fan.__init__ docs]: https://home-assistant.io/components/fan.__init__/ +[fan.demo docs]: https://home-assistant.io/components/fan.demo/ +[fan.zwave docs]: https://home-assistant.io/components/fan.zwave/ +[group docs]: https://home-assistant.io/components/group/ +[homematic docs]: https://home-assistant.io/components/homematic/ +[http docs]: https://home-assistant.io/components/http/ +[image_processing.opencv docs]: https://home-assistant.io/components/image_processing.opencv/ +[image_processing.seven_segments docs]: https://home-assistant.io/components/image_processing.seven_segments/ +[influxdb docs]: https://home-assistant.io/components/influxdb/ +[juicenet docs]: https://home-assistant.io/components/juicenet/ +[light.lifx docs]: https://home-assistant.io/components/light.lifx/ +[light.lutron docs]: https://home-assistant.io/components/light.lutron/ +[light.osramlightify docs]: https://home-assistant.io/components/light.osramlightify/ +[light.template docs]: https://home-assistant.io/components/light.template/ +[light.vera docs]: https://home-assistant.io/components/light.vera/ +[light.yeelight docs]: https://home-assistant.io/components/light.yeelight/ +[light.zwave docs]: https://home-assistant.io/components/light.zwave/ +[lock.sesame docs]: https://home-assistant.io/components/lock.sesame/ +[lutron docs]: https://home-assistant.io/components/lutron/ +[mailgun docs]: https://home-assistant.io/components/mailgun/ +[media_player.aquostv docs]: https://home-assistant.io/components/media_player.aquostv/ +[media_player.denonavr docs]: https://home-assistant.io/components/media_player.denonavr/ +[media_player.firetv docs]: https://home-assistant.io/components/media_player.firetv/ +[media_player.nad docs]: https://home-assistant.io/components/media_player.nad/ +[media_player.nadtcp docs]: https://home-assistant.io/components/media_player.nadtcp/ +[media_player.openhome docs]: https://home-assistant.io/components/media_player.openhome/ +[media_player.plex docs]: https://home-assistant.io/components/media_player.plex/ +[media_player.roku docs]: https://home-assistant.io/components/media_player.roku/ +[media_player.sonos docs]: https://home-assistant.io/components/media_player.sonos/ +[media_player.spotify docs]: https://home-assistant.io/components/media_player.spotify/ +[media_player.squeezebox docs]: https://home-assistant.io/components/media_player.squeezebox/ +[mqtt.__init__ docs]: https://home-assistant.io/components/mqtt.__init__/ +[nest docs]: https://home-assistant.io/components/nest/ +[netatmo docs]: https://home-assistant.io/components/netatmo/ +[notify.html5 docs]: https://home-assistant.io/components/notify.html5/ +[notify.mailgun docs]: https://home-assistant.io/components/notify.mailgun/ +[notify.sendgrid docs]: https://home-assistant.io/components/notify.sendgrid/ +[notify.xmpp docs]: https://home-assistant.io/components/notify.xmpp/ +[opencv docs]: https://home-assistant.io/components/opencv/ +[persistent_notification docs]: https://home-assistant.io/components/persistent_notification/ +[plant docs]: https://home-assistant.io/components/plant/ +[python_script docs]: https://home-assistant.io/components/python_script/ +[sensor.bitcoin docs]: https://home-assistant.io/components/sensor.bitcoin/ +[sensor.blockchain docs]: https://home-assistant.io/components/sensor.blockchain/ +[sensor.buienradar docs]: https://home-assistant.io/components/sensor.buienradar/ +[sensor.coinmarketcap docs]: https://home-assistant.io/components/sensor.coinmarketcap/ +[sensor.cpuspeed docs]: https://home-assistant.io/components/sensor.cpuspeed/ +[sensor.cups docs]: https://home-assistant.io/components/sensor.cups/ +[sensor.currencylayer docs]: https://home-assistant.io/components/sensor.currencylayer/ +[sensor.dsmr docs]: https://home-assistant.io/components/sensor.dsmr/ +[sensor.dte_energy_bridge docs]: https://home-assistant.io/components/sensor.dte_energy_bridge/ +[sensor.dublin_bus_transport docs]: https://home-assistant.io/components/sensor.dublin_bus_transport/ +[sensor.dweet docs]: https://home-assistant.io/components/sensor.dweet/ +[sensor.ebox docs]: https://home-assistant.io/components/sensor.ebox/ +[sensor.ecobee docs]: https://home-assistant.io/components/sensor.ecobee/ +[sensor.eliqonline docs]: https://home-assistant.io/components/sensor.eliqonline/ +[sensor.etherscan docs]: https://home-assistant.io/components/sensor.etherscan/ +[sensor.fixer docs]: https://home-assistant.io/components/sensor.fixer/ +[sensor.gitter docs]: https://home-assistant.io/components/sensor.gitter/ +[sensor.hddtemp docs]: https://home-assistant.io/components/sensor.hddtemp/ +[sensor.homematic docs]: https://home-assistant.io/components/sensor.homematic/ +[sensor.imap_email_content docs]: https://home-assistant.io/components/sensor.imap_email_content/ +[sensor.juicenet docs]: https://home-assistant.io/components/sensor.juicenet/ +[sensor.metoffice docs]: https://home-assistant.io/components/sensor.metoffice/ +[sensor.mold_indicator docs]: https://home-assistant.io/components/sensor.mold_indicator/ +[sensor.netatmo docs]: https://home-assistant.io/components/sensor.netatmo/ +[sensor.openevse docs]: https://home-assistant.io/components/sensor.openevse/ +[sensor.pi_hole docs]: https://home-assistant.io/components/sensor.pi_hole/ +[sensor.pvoutput docs]: https://home-assistant.io/components/sensor.pvoutput/ +[sensor.radarr docs]: https://home-assistant.io/components/sensor.radarr/ +[sensor.ripple docs]: https://home-assistant.io/components/sensor.ripple/ +[sensor.snmp docs]: https://home-assistant.io/components/sensor.snmp/ +[sensor.statistics docs]: https://home-assistant.io/components/sensor.statistics/ +[sensor.template docs]: https://home-assistant.io/components/sensor.template/ +[sensor.ups docs]: https://home-assistant.io/components/sensor.ups/ +[sensor.usps docs]: https://home-assistant.io/components/sensor.usps/ +[sensor.waqi docs]: https://home-assistant.io/components/sensor.waqi/ +[sensor.wunderground docs]: https://home-assistant.io/components/sensor.wunderground/ +[sensor.yahoo_finance docs]: https://home-assistant.io/components/sensor.yahoo_finance/ +[sensor.yweather docs]: https://home-assistant.io/components/sensor.yweather/ +[spc docs]: https://home-assistant.io/components/spc/ +[splunk docs]: https://home-assistant.io/components/splunk/ +[switch.homematic docs]: https://home-assistant.io/components/switch.homematic/ +[switch.raspihats docs]: https://home-assistant.io/components/switch.raspihats/ +[switch.rest docs]: https://home-assistant.io/components/switch.rest/ +[switch.template docs]: https://home-assistant.io/components/switch.template/ +[telegram_bot.__init__ docs]: https://home-assistant.io/components/telegram_bot.__init__/ +[telegram_bot.polling docs]: https://home-assistant.io/components/telegram_bot.polling/ +[telegram_bot.webhooks docs]: https://home-assistant.io/components/telegram_bot.webhooks/ +[updater docs]: https://home-assistant.io/components/updater/ +[vera docs]: https://home-assistant.io/components/vera/ +[volvooncall docs]: https://home-assistant.io/components/volvooncall/ +[weather.buienradar docs]: https://home-assistant.io/components/weather.buienradar/ +[zeroconf docs]: https://home-assistant.io/components/zeroconf/ +[zwave docs]: https://home-assistant.io/components/zwave/ +[zwave blog post]: https://home-assistant.io/blog/2017/06/15/zwave-entity-ids/ +[forum]: https://community.home-assistant.io/ +[gitter]: https://gitter.im/home-assistant/home-assistant +[issue]: https://github.com/home-assistant/home-assistant/issues +[first-commit]: https://home-assistant.io/help/trivia/#first-commit diff --git a/source/images/blog/2017-06-0.47/components.png b/source/images/blog/2017-06-0.47/components.png new file mode 100644 index 000000000000..779ab195340d Binary files /dev/null and b/source/images/blog/2017-06-0.47/components.png differ diff --git a/source/images/onvif.png b/source/images/onvif.png new file mode 100644 index 000000000000..29284fafe7ff Binary files /dev/null and b/source/images/onvif.png differ diff --git a/source/images/supported_brands/arlo.png b/source/images/supported_brands/arlo.png index 1dbcc4ffe855..370ce7b5a3ae 100644 Binary files a/source/images/supported_brands/arlo.png and b/source/images/supported_brands/arlo.png differ diff --git a/source/images/supported_brands/blockchain.png b/source/images/supported_brands/blockchain.png new file mode 100755 index 000000000000..d631c430991f Binary files /dev/null and b/source/images/supported_brands/blockchain.png differ diff --git a/source/images/supported_brands/coinmarketcap.png b/source/images/supported_brands/coinmarketcap.png index 8f0210843654..c16dca5670c5 100644 Binary files a/source/images/supported_brands/coinmarketcap.png and b/source/images/supported_brands/coinmarketcap.png differ diff --git a/source/images/supported_brands/comed.jpg b/source/images/supported_brands/comed.jpg deleted file mode 100644 index faf26eca780b..000000000000 Binary files a/source/images/supported_brands/comed.jpg and /dev/null differ diff --git a/source/images/supported_brands/comed.png b/source/images/supported_brands/comed.png new file mode 100644 index 000000000000..f5000d5b4e71 Binary files /dev/null and b/source/images/supported_brands/comed.png differ diff --git a/source/images/supported_brands/datadog.png b/source/images/supported_brands/datadog.png index 8eb2ceed4b64..891e9a75e54e 100644 Binary files a/source/images/supported_brands/datadog.png and b/source/images/supported_brands/datadog.png differ diff --git a/source/images/supported_brands/dyson.png b/source/images/supported_brands/dyson.png new file mode 100644 index 000000000000..f15322fb9e14 Binary files /dev/null and b/source/images/supported_brands/dyson.png differ diff --git a/source/images/supported_brands/ebox.jpg b/source/images/supported_brands/ebox.jpg deleted file mode 100644 index 7100742ce66d..000000000000 Binary files a/source/images/supported_brands/ebox.jpg and /dev/null differ diff --git a/source/images/supported_brands/ebox.png b/source/images/supported_brands/ebox.png new file mode 100644 index 000000000000..03a2e9e0bd7c Binary files /dev/null and b/source/images/supported_brands/ebox.png differ diff --git a/source/images/supported_brands/edimax.png b/source/images/supported_brands/edimax.png index 7a4d88f06a67..055e33893e91 100644 Binary files a/source/images/supported_brands/edimax.png and b/source/images/supported_brands/edimax.png differ diff --git a/source/images/supported_brands/eight_sleep.png b/source/images/supported_brands/eight_sleep.png index 92c7d91d3ebe..7d34cabf1858 100644 Binary files a/source/images/supported_brands/eight_sleep.png and b/source/images/supported_brands/eight_sleep.png differ diff --git a/source/images/supported_brands/etherscan.png b/source/images/supported_brands/etherscan.png new file mode 100755 index 000000000000..3d7aaa29512e Binary files /dev/null and b/source/images/supported_brands/etherscan.png differ diff --git a/source/images/supported_brands/flexit.png b/source/images/supported_brands/flexit.png new file mode 100644 index 000000000000..8a0dc0c6f84e Binary files /dev/null and b/source/images/supported_brands/flexit.png differ diff --git a/source/images/supported_brands/garadget.png b/source/images/supported_brands/garadget.png new file mode 100644 index 000000000000..ac84a979a50e Binary files /dev/null and b/source/images/supported_brands/garadget.png differ diff --git a/source/images/supported_brands/garadget_logo.jpg b/source/images/supported_brands/garadget_logo.jpg deleted file mode 100644 index 6465496d031d..000000000000 Binary files a/source/images/supported_brands/garadget_logo.jpg and /dev/null differ diff --git a/source/images/supported_brands/gitter.png b/source/images/supported_brands/gitter.png new file mode 100644 index 000000000000..79378e1ef3c5 Binary files /dev/null and b/source/images/supported_brands/gitter.png differ diff --git a/source/images/supported_brands/gstreamer.png b/source/images/supported_brands/gstreamer.png index b25cdccde141..b9308006950e 100644 Binary files a/source/images/supported_brands/gstreamer.png and b/source/images/supported_brands/gstreamer.png differ diff --git a/source/images/supported_brands/hook.png b/source/images/supported_brands/hook.png index b9c76cf836bf..58bdc0ede150 100644 Binary files a/source/images/supported_brands/hook.png and b/source/images/supported_brands/hook.png differ diff --git a/source/images/supported_brands/juicenet.png b/source/images/supported_brands/juicenet.png new file mode 100644 index 000000000000..688ae6d1b496 Binary files /dev/null and b/source/images/supported_brands/juicenet.png differ diff --git a/source/images/supported_brands/keene.png b/source/images/supported_brands/keene.png index fec35efcf862..f75dde784853 100644 Binary files a/source/images/supported_brands/keene.png and b/source/images/supported_brands/keene.png differ diff --git a/source/images/supported_brands/maxcube.png b/source/images/supported_brands/maxcube.png index 2c3883b68e68..b1a0afbb8c43 100644 Binary files a/source/images/supported_brands/maxcube.png and b/source/images/supported_brands/maxcube.png differ diff --git a/source/images/supported_brands/miflora.png b/source/images/supported_brands/miflora.png index 320df5a68536..01c6f24a4d20 100644 Binary files a/source/images/supported_brands/miflora.png and b/source/images/supported_brands/miflora.png differ diff --git a/source/images/supported_brands/nad.png b/source/images/supported_brands/nad.png index 241f5135764a..d25ee1606d01 100644 Binary files a/source/images/supported_brands/nad.png and b/source/images/supported_brands/nad.png differ diff --git a/source/images/supported_brands/neato.png b/source/images/supported_brands/neato.png index 33272d0b0f40..0a69a6fb002d 100644 Binary files a/source/images/supported_brands/neato.png and b/source/images/supported_brands/neato.png differ diff --git a/source/images/supported_brands/netbeheernederland.jpg b/source/images/supported_brands/netbeheernederland.jpg index 2d89d6645b16..d897f67c19bd 100644 Binary files a/source/images/supported_brands/netbeheernederland.jpg and b/source/images/supported_brands/netbeheernederland.jpg differ diff --git a/source/images/supported_brands/nuki.png b/source/images/supported_brands/nuki.png index c916b469bf43..3008fb1dc565 100644 Binary files a/source/images/supported_brands/nuki.png and b/source/images/supported_brands/nuki.png differ diff --git a/source/images/supported_brands/onvif.png b/source/images/supported_brands/onvif.png new file mode 100644 index 000000000000..4030b2fe2731 Binary files /dev/null and b/source/images/supported_brands/onvif.png differ diff --git a/source/images/supported_brands/opengarage.png b/source/images/supported_brands/opengarage.png index 71a8b0724925..d07bd6b85ce6 100644 Binary files a/source/images/supported_brands/opengarage.png and b/source/images/supported_brands/opengarage.png differ diff --git a/source/images/supported_brands/pvoutput.png b/source/images/supported_brands/pvoutput.png index 32e063a7d70b..281f369b6327 100644 Binary files a/source/images/supported_brands/pvoutput.png and b/source/images/supported_brands/pvoutput.png differ diff --git a/source/images/supported_brands/radarr.png b/source/images/supported_brands/radarr.png new file mode 100644 index 000000000000..c053975a41f9 Binary files /dev/null and b/source/images/supported_brands/radarr.png differ diff --git a/source/images/supported_brands/ripple.png b/source/images/supported_brands/ripple.png new file mode 100644 index 000000000000..806eff8cca1a Binary files /dev/null and b/source/images/supported_brands/ripple.png differ diff --git a/source/images/supported_brands/sensibo.png b/source/images/supported_brands/sensibo.png index a90037d38342..11ad1fef6c6d 100644 Binary files a/source/images/supported_brands/sensibo.png and b/source/images/supported_brands/sensibo.png differ diff --git a/source/images/supported_brands/sesame.png b/source/images/supported_brands/sesame.png new file mode 100644 index 000000000000..0c60a2737aeb Binary files /dev/null and b/source/images/supported_brands/sesame.png differ diff --git a/source/images/supported_brands/sharp_aquos.jpg b/source/images/supported_brands/sharp_aquos.jpg deleted file mode 100644 index 8edaae2e4ed8..000000000000 Binary files a/source/images/supported_brands/sharp_aquos.jpg and /dev/null differ diff --git a/source/images/supported_brands/sharp_aquos.png b/source/images/supported_brands/sharp_aquos.png new file mode 100644 index 000000000000..da18b1bfb815 Binary files /dev/null and b/source/images/supported_brands/sharp_aquos.png differ diff --git a/source/images/supported_brands/sma.png b/source/images/supported_brands/sma.png index ddc2c4e6e84c..65eaa03dbba1 100644 Binary files a/source/images/supported_brands/sma.png and b/source/images/supported_brands/sma.png differ diff --git a/source/images/supported_brands/soundtouch.jpg b/source/images/supported_brands/soundtouch.jpg deleted file mode 100644 index 58e3f0e83082..000000000000 Binary files a/source/images/supported_brands/soundtouch.jpg and /dev/null differ diff --git a/source/images/supported_brands/soundtouch.png b/source/images/supported_brands/soundtouch.png new file mode 100644 index 000000000000..0833b16a175e Binary files /dev/null and b/source/images/supported_brands/soundtouch.png differ diff --git a/source/images/supported_brands/statsd.png b/source/images/supported_brands/statsd.png index bb58353d887a..e20ef5e2ecd9 100644 Binary files a/source/images/supported_brands/statsd.png and b/source/images/supported_brands/statsd.png differ diff --git a/source/images/supported_brands/tapsaff.png b/source/images/supported_brands/tapsaff.png new file mode 100644 index 000000000000..54af8883f85e Binary files /dev/null and b/source/images/supported_brands/tapsaff.png differ diff --git a/source/images/supported_brands/trackr.png b/source/images/supported_brands/trackr.png index fe036dd651fb..659944b3db98 100644 Binary files a/source/images/supported_brands/trackr.png and b/source/images/supported_brands/trackr.png differ diff --git a/source/images/supported_brands/vanderbilt_spc.png b/source/images/supported_brands/vanderbilt_spc.png new file mode 100644 index 000000000000..f3409d0c9f29 Binary files /dev/null and b/source/images/supported_brands/vanderbilt_spc.png differ diff --git a/source/images/supported_brands/voicerss.png b/source/images/supported_brands/voicerss.png index 09908ee79ddc..1c3a7ae6920d 100644 Binary files a/source/images/supported_brands/voicerss.png and b/source/images/supported_brands/voicerss.png differ