diff --git a/_config.yml b/_config.yml index 0b78bb55b67..362cde0c422 100644 --- a/_config.yml +++ b/_config.yml @@ -141,9 +141,9 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 83 -current_patch_version: 3 -date_released: 2018-12-03 +current_minor_version: 84 +current_patch_version: 0 +date_released: 2018-12-12 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/source/_components/binary_sensor.ihc.markdown b/source/_components/binary_sensor.ihc.markdown index b05f2e3e8e1..b822dcfb1a1 100644 --- a/source/_components/binary_sensor.ihc.markdown +++ b/source/_components/binary_sensor.ihc.markdown @@ -29,19 +29,22 @@ be found in the IHC project and setup as binary sensors: ## {% linkable_title Manual configuration %} -To manually configure IHC Binary Sensors -insert this section in your configuration: +To manually configure IHC Binary Sensors insert the "binary_sensors" section in your IHC configuration: ```yaml -binary_sensor: - - platform: ihc +# Example configuration.yaml entry +ihc: + - url: 'http://192.168.1.3' + username: YOUR_USERNAME + password: YOUR_PASSWORD + info: true binary_sensors: - id: 12345 - name: mysensor - type: opening - inverting: True - - id: 12346 - ... + name: switch_front_door + inverting: false + note: Magnet contact + position: Switch in door + type: door ``` {% configuration %} @@ -60,7 +63,7 @@ binary_sensors: type: boolean default: false name: - description: The name of the component + description: The name of the sensor. required: false type: string type: @@ -70,6 +73,14 @@ binary_sensors: for available types. required: false type: string + note: + description: Descriptive note + required: false + type: string + position: + description: Where is it placed + required: false + type: string {% endconfiguration %} The resource id should be an id of a boolean IHC resource. For more information diff --git a/source/_components/camera.proxy.markdown b/source/_components/camera.proxy.markdown index d1c92138edf..7f5f8773360 100644 --- a/source/_components/camera.proxy.markdown +++ b/source/_components/camera.proxy.markdown @@ -13,7 +13,7 @@ ha_release: 0.65 The `proxy` camera platform allows you to pass another camera's output through post-processing routines and generate a new camera with the post-processed output. -The current post-processing supports resizing the image/MJPEG as well as limiting the maximum refresh rate. +The current post-processing supports resizing and/or cropping the image/MJPEG as well as limiting the maximum refresh rate. The current proxy capabilities are intended to reduce the camera bandwidth for slower internet connections. @@ -39,14 +39,37 @@ name: description: This parameter allows you to override the name of your camera. required: false type: string +mode: + description: The operating mode, either `resize` or `crop`. + required: false + type: string + default: resize max_image_width: - description: The maximum width of single images taken from the camera (aspect ratio will be maintained). + description: The maximum width of single images taken from the camera (aspect ratio will be maintained on resize processing). + required: false + type: integer +max_image_height: + description: The maximum height of single images taken from the camera, only used for crop operations. If not provided, the original height is assumed by default. required: false type: integer max_stream_width: - description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained). + description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained on resize processing). required: false type: integer +max_stream_height: + description: The maximum height of the MJPEG stream from the camera, only used for crop operations. If not provided, the original height is assumed by default. + required: false + type: integer +image_top: + description: The top (y) coordinate to be used as a starting point for crop operations. + required: false + type: integer + default: 0 +image_left: + description: The left (x) coordinate to be used as a starting point for crop operations. + required: false + type: integer + default: 0 image_quality: description: The quality level used for resulting JPEG for snapshots. required: false @@ -73,7 +96,7 @@ cache_images: ## {% linkable_title Examples %} -Example of using a Camera proxy along with a Foscam camera: +Example of using two Camera proxies along with a Foscam camera: ```yaml camera: @@ -87,4 +110,11 @@ camera: max_stream_width: 360 max_image_width: 480 image_refresh_rate: 5.0 + - platform: proxy + entity_id: camera.mycamera + name: My cropped camera + mode: crop + max_image_width: 480 + max_image_height: 320 + image_left: 100 ``` diff --git a/source/_components/camera.push.markdown b/source/_components/camera.push.markdown index 9794c37fbc7..d6053682dbb 100644 --- a/source/_components/camera.push.markdown +++ b/source/_components/camera.push.markdown @@ -25,7 +25,7 @@ The `push` camera can as an example be used with [motionEye](https://github.com/ In motionEye, under **File Storage -> Run A Command** type in: ```bash -curl -X POST -F "image=@%f" http://my.hass.server.com:8123/api/camera_push/camera.push_camera?token=12345678 +curl -X POST -F "image=@%f" http://my.hass.server.com:8123/api/webhook/my_custom_webhook_id ``` Optionally configure motionEye to save only motion triggered images by going into **Still Images -> Capture Mode** and setting **Motion Triggered**. Tune your preferences under **Motion Detection**. @@ -38,7 +38,7 @@ camera: name: MotionEye Outdoor buffer: 3 timeout: 5 - token: 12345678 + webhook_id: my_custom_webhook_id ``` ## {% linkable_title Configuration %} @@ -50,7 +50,7 @@ To enable this camera in your installation, add the following to your `configura camera: - platform: push name: My Push Camera - token: 12345678 + webhook_id: my_custom_webhook_id ``` {% configuration %} @@ -69,9 +69,9 @@ timeout: required: false type: time default: 5 seconds -token: - description: User provided token acting as access control, should be a large string (more then 8 chars). Required if you can't use HA new auth system (0.77). - required: false +webhook_id: + description: User provided string acting as camera identifier and access control, should be a large string (more then 8 chars). + required: true type: string field: description: HTTP POST field containing the image file diff --git a/source/_components/camera.uvc.markdown b/source/_components/camera.uvc.markdown index cd86a1214cf..ae1d9c9a1ec 100644 --- a/source/_components/camera.uvc.markdown +++ b/source/_components/camera.uvc.markdown @@ -34,6 +34,7 @@ camera: - platform: uvc nvr: IP_ADDRESS key: API_KEY + ssl: USE_SSL ``` {% configuration %} @@ -55,4 +56,9 @@ password: required: false type: string default: ubnt +ssl: + description: Should use SSL/TLS to connect to the NVR. + required: false + type: boolean + default: false {% endconfiguration %} diff --git a/source/_components/climate.evohome.markdown b/source/_components/climate.evohome.markdown index a6c2444f2d6..bd1b562302e 100644 --- a/source/_components/climate.evohome.markdown +++ b/source/_components/climate.evohome.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "Honeywell evohome CH/DHW Controller" -description: "Instructions on how to integrate a Honeywell evohome controller with Home Assistant." +title: "Honeywell evohome/TCC Climate devices" +description: "Instructions on how to utilize a Honeywell evohome/TCC system within Home Assistant." date: 2018-09-25 12:00 sidebar: true comments: false @@ -13,15 +13,36 @@ ha_release: 0.80 ha_iot_class: "Cloud Polling" --- -The `evohome` climate platform integrates your _EU-based_ [Honeywell Connect Comfort](https://international.mytotalconnectcomfort.com/Account/Login) CH/DHW controller into Home Assistant, enabling control of its operating mode. +The `evohome` climate platform integrates your _non-US_ [Honeywell Total Connect Comfort (TCC)](https://international.mytotalconnectcomfort.com/Account/Login) system into Home Assistant. It has been tested with the Honeywell evohome multi-zone CH/DHW system, but other systems may also work. -It is related to the honeywell climate component](/components/climate.honeywell/), which allows limited integration with evohome Heating zones. These two components should be usuable side-by-side, but YMMV. +It is distinct from - but related to - the [`honeywell`](/components/climate.honeywell/) climate platform, which also allows (limited) integration with Honeywell Connected thermostats; these two components may well be usable side-by-side, but YMMV. -The evohome evotouch controller supports seven distict modes: Auto, AutoWithEco, Away, DayOff, HeatingOff, and Custom; AutoWithReset is a 7th, hidden, mode. +The evohome evotouch Controller supports seven distict operating modes: Auto, AutoWithEco, Away, DayOff, HeatingOff, and Custom; AutoWithReset is a 7th, hidden, mode. -Currently, only the standard HA operating modes are supported: 'Eco' (AutoWithEco), and 'Off' (HeatingOff), and 'Auto' (all other evohome modes). 'Away' (Away) mode is supported separately. +Currently, only the standard HA operating modes are supported; the evohome modes are mapped thus: 'Eco' (AutoWithEco), 'Off' (HeatingOff), and 'Auto' (all other evohome modes). 'Away' mode is supported separately, in the HA fashion. -The actual operating modes are tracked/reported via `device_state_attributes`. +The evohome Heating zones support only three operating modes: FollowSchedule, TemporaryOverride, and PermanentOverride. If the zone is in FollowSchedule mode, it inherits its `operating_mode` from the controller; the other modes are mapped to 'Manual' or 'Off'. + +A device's actual operating mode can be tracked via its `device_state_attributes`, which includes a JSON data structure for current state called `status`. For example: +``` +{ + 'zoneId': '999999', + 'temperatureStatus': { + 'temperature': 21.5, + 'isAvailable': True + }, + 'activeFaults': [], + 'setpointStatus': { + 'targetHeatTemperature': 17.5, + 'setpointMode': 'FollowSchedule' + }, + 'name': 'Main Room' +} +``` +This data can be accessed in automations, etc., via a value template: +``` +value_template: "{{ state_attr('climate.main_room', 'status').setpointStatus.setpointMode }}" +```
Full configuration details can be found on the main [evohome component](/components/evohome/) page. diff --git a/source/_components/climate.honeywell.markdown b/source/_components/climate.honeywell.markdown index bb174d8f5c8..a517334566a 100644 --- a/source/_components/climate.honeywell.markdown +++ b/source/_components/climate.honeywell.markdown @@ -14,13 +14,15 @@ ha_iot_class: "Cloud Polling" --- -The `honeywell` climate platform let you control [Honeywell Connected](http://getconnected.honeywell.com/en/) thermostats from Home Assistant. +The `honeywell` climate platform let you control Honeywell Connected thermostats from Home Assistant.
-This platform does NOT connect to MyTotalConnectComfort.com. If you have a Honeywell WIFI thermostat that is connected through MyTotalConnectComfort.com, you may might to take a look at the IFTTT component which can bridge the gap between Home Assistant and MyTotalConnectComfort.com WIFI thermostats on a limited basis. +This platform is actually a hybrid combination of two distinct climate systems based upon either [somecomfort](https://github.com/kk7ds/somecomfort) (for US-based systems), or [evohome-client](https://github.com/watchforstock/evohome-client) (for international/EU systems) - see the `region` parameter, below. Before you proceed, please be clear which client library is appropriate to your system.
-To set it up, add the following information to your `configuration.yaml` file: +Although both regions remain supported here, the `evohome-client`-based systems have a new [component](/components/evohome/) available that may suit your needs better. + +To set up this climate platform, add the following information to your `configuration.yaml` file: ```yaml climate: @@ -30,7 +32,7 @@ climate: scan_interval: 600 ```-Scan interval is expressed in seconds. Omitting scan_interval may result in too-frequent polling and cause you to rate-limited by Honeywell. +Scan interval is expressed in seconds. Omitting or mis-configuring `scan_interval` may result in too-frequent polling and cause you to be rate-limited by Honeywell.
{% configuration %} @@ -43,7 +45,7 @@ password: required: true type: string region: - description: Region identifier (either 'eu' or 'us'). + description: Region identifier (either 'eu' or 'us'). Use the `somecomfort` client library for `us`, and evohome-client for `eu`. required: false default: eu type: string diff --git a/source/_components/counter.markdown b/source/_components/counter.markdown index 8beaea252ad..89638656559 100644 --- a/source/_components/counter.markdown +++ b/source/_components/counter.markdown @@ -61,7 +61,7 @@ Pick an icon that you can find on [materialdesignicons.com](https://materialdesi ### {% linkable_title Restore State %} -This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity has `restore` set to `True` which is the default. To disable this feature, set `restore` to `False`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. +This component will automatically restore the state it had prior to Home Assistant stopping as long as you your entity has `restore` set to `True` which is the default. To disable this feature, set `restore` to `False`. If `restore` is set to `False`, the `initial` value will only be used when no previous state is found or when the counter is reset. diff --git a/source/_components/cover.tellduslive.markdown b/source/_components/cover.tellduslive.markdown new file mode 100644 index 00000000000..a988bb1761b --- /dev/null +++ b/source/_components/cover.tellduslive.markdown @@ -0,0 +1,16 @@ +--- +layout: page +title: "Telldus Live Cover" +description: "Instructions on how to integrate Telldus Live Covers into Home Assistant." +date: 2016-01-17 15:49 +sidebar: true +comments: false +sharing: true +footer: true +logo: telldus.png +ha_category: Cover +featured: false +--- + +Integrates Telldus Live Covers into Home Assistant. See the [main component](/components/tellduslive/) for configuration instructions. + diff --git a/source/_components/device_tracker.volvooncall.markdown b/source/_components/device_tracker.volvooncall.markdown deleted file mode 100644 index 26ad808ce08..00000000000 --- a/source/_components/device_tracker.volvooncall.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "Volvo On Call Device Tracker" -description: "Instructions for how to integrate Volvo On Call into Home Assistant." -date: 2016-10-02 17:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: volvo.png -ha_category: Car -ha_release: "0.30" ---- - - -Integrates Volvo on Call device tracker into Home Assistant. See the [main component](/components/volvooncall/) for configuration instructions. diff --git a/source/_components/evohome.markdown b/source/_components/evohome.markdown index 446ebd3334b..c789e2bda5d 100644 --- a/source/_components/evohome.markdown +++ b/source/_components/evohome.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "Honeywell evohome" -description: "Instructions on how to integrate Honeywell evohome devices with Home Assistant." +title: "Honeywell evohome/TCC systems" +description: "Instructions on how to integrate a Honeywell evohome/TCC system with Home Assistant." date: 2018-09-25 12:00 sidebar: true comments: false @@ -13,11 +13,11 @@ ha_release: 0.80 ha_iot_class: "Cloud Polling" --- -The `evohome` platform is the main component to set up and integrate all supported evohome Climate devices. +The `evohome` component is the main component to set up and integrate all _non-US_ [Honeywell Total Connect Comfort (TCC)](https://international.mytotalconnectcomfort.com/Account/Login) CH/DHW systems, primarily the Honeywell evohome multi-zone CH/DHW system. It does not support the home security functionality of TCC. -It uses the [evohomeclient](https://pypi.org/project/evohomeclient/) client library and so will let you control (only) _EU-based_ [Honeywell Connect Comfort](https://international.mytotalconnectcomfort.com/Account/Login) systems. +It uses v2 of the [evohome-client](https://github.com/watchforstock/evohome-client) client library and so will let you control (only) EU/international systems. It _does not_ leverage the [somecomfort](https://github.com/kk7ds/somecomfort) client library as used by US-based systems; for those, you may find what you need at the [honeywell climate platform](/components/climate.honeywell/). -Currently, only Controllers and Zones are supported; support for DHW controllers will be added at a later time. More information is available [evohome climate component](/components/climate.honeywell/) page. +Currently, only Controllers and Heating zones are supported; support for DHW controllers will be added at a later time. More information is available on the [evohome climate platform](/components/climate.evohome/) page. ## {% linkable_title Configuration %} @@ -30,11 +30,9 @@ evohome: password: YOUR_PASSWORD ``` -This is an IoT cloud-polling device, and the `scan_interval` is currently fixed at 5 minutes. Testing has indicated that this is a safe interval that - by itself - shouldn't cause you to be rate-limited by Honeywell. - {% configuration %} username: - description: The username (email address) that has access to [Honeywell Connect Comfort](https://international.mytotalconnectcomfort.com/Account/Login) web site. + description: The username (email address) that has access to [Honeywell TCC](https://international.mytotalconnectcomfort.com/Account/Login) web site. required: true type: string password: @@ -42,8 +40,16 @@ password: required: true type: string location_idx: - description: Used to select which location to use, if your login has access to more than one location. Multiple locations are not supported. + description: Used to select which location to use, if your login has access to more than one location. Multiple locations at one time are not supported. required: false type: int default: 0 +scan_interval: + description: How often updates are retreived from Honeywell's web servers. The minimum value is 180 seconds, rounded up to the nearest minute. + required: false + type: int + default: 300 {% endconfiguration %} + +This is an IoT cloud-polling device, and the recommended minimum `scan_interval` is 300 seconds. Testing has indicated that this is a safe interval that - by itself - shouldn't cause you to be rate-limited by Honeywell. + diff --git a/source/_components/fan.xiaomi_miio.markdown b/source/_components/fan.xiaomi_miio.markdown index de4a07316da..56b29b2e085 100644 --- a/source/_components/fan.xiaomi_miio.markdown +++ b/source/_components/fan.xiaomi_miio.markdown @@ -122,7 +122,7 @@ The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and ### Air Humidifier (zhimi.humidifier.v1) - On, Off -- Operation modes (silent, medium, high) +- Operation modes (silent, medium, high, strong) - Buzzer (on, off) - Child lock (on, off) - LED brightness (bright, dim, off) diff --git a/source/_components/fibaro.markdown b/source/_components/fibaro.markdown index d7a69c04e73..b6b570c2108 100644 --- a/source/_components/fibaro.markdown +++ b/source/_components/fibaro.markdown @@ -11,6 +11,8 @@ logo: fibaro.png ha_category: Hub ha_release: 0.83 ha_iot_class: "Local Push" +redirect_from: + - /components/scene.fibaro/ --- The [Fibaro](http://fibaro.com) hub is a controller mainly connecting to Z-Wave devices. diff --git a/source/_components/geo_location.geo_json_events.markdown b/source/_components/geo_location.geo_json_events.markdown index 3be0ccc2fb2..2144a0c6bcd 100644 --- a/source/_components/geo_location.geo_json_events.markdown +++ b/source/_components/geo_location.geo_json_events.markdown @@ -41,6 +41,16 @@ radius: required: false type: string default: 20km +latitude: + description: Latitude of the coordinates around which events are considered. + required: false + type: string + default: Latitude defined in your `configuration.yaml` +longitude: + description: Longitude of the coordinates around which events are considered. + required: false + type: string + default: Longitude defined in your `configuration.yaml` {% endconfiguration %} ## {% linkable_title Advanced Configuration Example %} diff --git a/source/_components/geo_location.markdown b/source/_components/geo_location.markdown index 1feb026c9c9..6540d5d2000 100644 --- a/source/_components/geo_location.markdown +++ b/source/_components/geo_location.markdown @@ -19,10 +19,11 @@ Entities can have associated geo location coordinates (latitude and longitude) s The [Geo Location trigger](/docs/automation/trigger/#geo-location-trigger) can be used in automations triggered by Geo Location entities appearing in or disappearing from zones. The following value must be used as `source` of the trigger depending on which platform is managing the entities: -| Platform | Source | -|----------------------------------|-------------------------------| -| GeoJSON Events | `geo_json_events` | -| NSW Rural Fire Service Incidents | `nsw_rural_fire_service_feed` | +| Platform | Source | +|---------------------------------------------------|-------------------------------| +| GeoJSON Events | `geo_json_events` | +| NSW Rural Fire Service Incidents | `nsw_rural_fire_service_feed` | +| U.S. Geological Survey Earthquake Hazards Program | `usgs_earthquakes_feed` | Conditions can be used to further filter entities, for example by inspecting their state attributes. diff --git a/source/_components/geo_location.nsw_rural_fire_service_feed.markdown b/source/_components/geo_location.nsw_rural_fire_service_feed.markdown index 4bae0d66a2a..5879a583c04 100644 --- a/source/_components/geo_location.nsw_rural_fire_service_feed.markdown +++ b/source/_components/geo_location.nsw_rural_fire_service_feed.markdown @@ -50,6 +50,16 @@ categories: required: false type: list default: None. Any incident regardless of its category will be included. +latitude: + description: Latitude of the coordinates around which events are considered. + required: false + type: string + default: Latitude defined in your `configuration.yaml` +longitude: + description: Longitude of the coordinates around which events are considered. + required: false + type: string + default: Longitude defined in your `configuration.yaml` {% endconfiguration %} ## {% linkable_title State Attributes %} diff --git a/source/_components/geo_location.usgs_earthquakes_feed.markdown b/source/_components/geo_location.usgs_earthquakes_feed.markdown new file mode 100644 index 00000000000..398ad19649c --- /dev/null +++ b/source/_components/geo_location.usgs_earthquakes_feed.markdown @@ -0,0 +1,109 @@ +--- +layout: page +title: "USGS Earthquakes" +description: "Instructions on how to integrate the U.S. Geological Survey Earthquake Hazards Program Feed feed into Home Assistant." +date: 2018-11-05 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: us-geological-survey.png +ha_category: Geo Location +ha_iot_class: "Cloud Polling" +ha_release: 0.84 +--- + +The `usgs_earthquakes_feed` platform lets you integrate a GeoJSON feed provided by the [U.S. Geological Survey](https://earthquake.usgs.gov/) with information about seismic events like earthquakes. It retrieves incidents from a feed and shows information of those incidents filtered by distance to Home Assistant's location. + +
+
+
+
+
If after symlinking and adding `hdmi_cec:` to your configuration you are getting the following error in your logs, +
If after symlinking and adding `hdmi_cec:` to your configuration you are getting the following error in your logs,
`* failed to open vchiq instance` you will also need to add the user account Home Assistant runs under, to the `video` group. To add the Home Assistant user account to the `video` group, run the following command. `$ usermod -a -G video
+Configuration details for the Lightwave platform can be found on the main [Lightwave component](/components/lightwave/) page. +
\ No newline at end of file diff --git a/source/_components/light.mqtt.markdown b/source/_components/light.mqtt.markdown index 10604217165..2f2521e6c7d 100644 --- a/source/_components/light.mqtt.markdown +++ b/source/_components/light.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "MQTT Light" -description: "Instructions on how to setup MQTT lights within Home Assistant." +title: "MQTT Light - Default schema" +description: "Instructions on how to setup MQTT lights using default schema within Home Assistant." date: 2015-11-13 08:30 sidebar: true comments: false @@ -10,11 +10,33 @@ footer: true logo: mqtt.png ha_category: Light ha_iot_class: depends +redirect_from: + - /components/light.mqtt_json/ + - /components/light.mqtt_template/ --- -The `mqtt` light platform lets you control your MQTT enabled lights. It supports setting brightness, color temperature, effects, flashing, on/off, RGB colors, transitions, XY colors and white values. +The `mqtt` light platform with lets you control your MQTT enabled lights through one of the supported message schemas. -## {% linkable_title Configuration %} +## {% linkable_title Comparison of light MQTT schemas %} + +| Function | [`default`](#default-schema) | [`json`](#json-schema) | [`template`](#template-schema) | +|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------| +| Brightness | ✔ | ✔ | ✔ | +| Color temperature | ✔ | ✔ | ✔ | +| Effects | ✔ | ✔ | ✔ | +| Flashing | ✘ | ✔ | ✔ | +| RGB Color | ✔ | ✔ | ✔ | +| Transitions | ✘ | ✔ | ✔ | +| XY Color | ✔ | ✔ | ✘ | +| HS Color | ✔ | ✔ | ✘ | +| White Value | ✔ | ✔ | ✔ | + + +## {% linkable_title Default schema %} + +The `mqtt` light platform with default schema lets you control your MQTT enabled lights. It supports setting brightness, color temperature, effects, flashing, on/off, RGB colors, transitions, XY colors and white values. + +## {% linkable_title Default schema - Configuration %} In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with a `RETAIN` flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the switch will be `false` / `off`. @@ -204,21 +226,7 @@ payload_not_available: XY and RGB can not be used at the same time. If both are provided, XY overrides RGB. -## {% linkable_title Comparison of light MQTT platforms %} - -| Function | [`mqtt`](/components/light.mqtt/) | [`mqtt_json`](/components/light.mqtt_json/) | [`mqtt_template`](/components/light.mqtt_template/) | -|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------| -| Brightness | ✔ | ✔ | ✔ | -| Color temperature | ✔ | ✔ | ✔ | -| Effects | ✔ | ✔ | ✔ | -| Flashing | ✘ | ✔ | ✔ | -| RGB Color | ✔ | ✔ | ✔ | -| Transitions | ✘ | ✔ | ✔ | -| XY Color | ✔ | ✔ | ✘ | -| HS Color | ✔ | ✔ | ✘ | -| White Value | ✔ | ✔ | ✔ | - -## {% linkable_title Examples %} +## {% linkable_title Default schema - Examples %} In this section you will find some real-life examples of how to use this sensor. @@ -284,8 +292,454 @@ light: on_command_type: 'brightness' ``` -### {% linkable_title Implementations %} +## {% linkable_title Default schema - Implementations %} - A [basic example](https://github.com/mertenats/open-home-automation/tree/master/ha_mqtt_light) using a nodeMCU board (ESP8266) to control its built-in LED (on/off). - Another [example](https://github.com/mertenats/open-home-automation/tree/master/ha_mqtt_rgb_light) to control a RGB LED (on/off, brightness, and colors). - [Integration guide](https://github.com/xoseperez/espurna/wiki/HomeAssistant) for the ESPUrna firmware (ESP8285/ESP8266). + +## {% linkable_title JSON schema %} + +The `mqtt` light platform with JSON schema lets you control a MQTT-enabled light that can receive [JSON](https://en.wikipedia.org/wiki/JSON) messages. + +This schema supports on/off, brightness, RGB colors, XY colors, color temperature, transitions, short/long flashing and white values. The messages sent to/from the lights look similar to this, omitting fields when they aren't needed: + +```json +{ + "brightness": 255, + "color_temp": 155, + "color": { + "r": 255, + "g": 180, + "b": 200, + "x": 0.406, + "y": 0.301, + "h": 344.0, + "s": 29.412 + }, + "effect": "colorloop", + "state": "ON", + "transition": 2, + "white_value": 150 +} +``` + +## {% linkable_title JSON schema - Configuration %} + +In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with the RETAIN flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the light will be off. + +When a state topic is not available, the light will work in optimistic mode. In this mode, the light will immediately change state after every command. Otherwise, the light will wait for state confirmation from the device (message from `state_topic`). + +Optimistic mode can be forced, even if state topic is available. Try enabling it if the light is operating incorrectly. + +```yaml +# Example configuration.yaml entry +light: + - platform: json + schema: json + command_topic: "home/rgb1/set" +``` + +{% configuration %} +name: + description: The name of the light. + required: false + type: string + default: MQTT JSON Light +unique_id: + description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception. + required: false + type: string +command_topic: + description: The MQTT topic to publish commands to change the light’s state. + required: true + type: string +brightness: + description: Flag that defines if the light supports brightness. + required: false + type: boolean + default: false +brightness_scale: + description: "Defines the maximum brightness value (i.e. 100%) of the MQTT device." + required: false + type: integer + default: 255 +color_temp: + description: Flag that defines if the light supports color temperature. + required: false + type: boolean + default: false +effect: + description: Flag that defines if the light supports effects. + required: false + type: boolean + default: false +effect_list: + description: The list of effects the light supports. + required: false + type: string list +flash_time_long: + description: The duration, in seconds, of a “long” flash. + required: false + type: integer + default: 10 +flash_time_short: + description: The duration, in seconds, of a “short” flash. + required: false + type: integer + default: 2 +optimistic: + description: Flag that defines if the light works in optimistic mode. + required: false + type: boolean + default: "`true` if no state topic defined, else `false`." +qos: + description: The maximum QoS level of the state topic. + required: false + type: integer + default: 0 +retain: + description: If the published message should have the retain flag on or not. + required: false + type: boolean + default: false +rgb: + description: Flag that defines if the light supports RGB colors. + required: false + type: boolean + default: false +state_topic: + description: The MQTT topic subscribed to receive state updates. + required: false + type: string +white_value: + description: Flag that defines if the light supports white values. + required: false + type: boolean + default: false +xy: + description: Flag that defines if the light supports XY colors. + required: false + type: boolean + default: false +hs: + description: Flag that defines if the light supports HS colors. + required: false + type: boolean + default: false +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. + required: false + type: string +payload_available: + description: The payload that represents the available state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the unavailable state. + required: false + type: string + default: offline +{% endconfiguration %} + ++ Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics. +
+ ++ RGB, XY and HSV can not be used at the same time in `state_topic` messages. Make sure that only one of the color models is in the "color" section of the state MQTT payload. +
+ +## {% linkable_title JSON schema - Examples %} + +In this section you find some real-life examples of how to use this sensor. + +### {% linkable_title Brightness and RGB support %} + +To enable a light with brightness and RGB support in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +light: + - platform: mqtt + schema: json + name: mqtt_json_light_1 + state_topic: "home/rgb1" + command_topic: "home/rgb1/set" + brightness: true + rgb: true +``` + +### {% linkable_title Brightness and no RGB support %} + +To enable a light with brightness (but no color support) in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +light: + - platform: mqtt + schema: json + name: mqtt_json_light_1 + state_topic: "home/rgb1" + command_topic: "home/rgb1/set" + brightness: true +``` + +### {% linkable_title Brightness Scaled %} + +To enable a light using a brightness scale other than 8bit the `brightness_scale` option may be added to denote the "fully on" value: +```yaml +# Example configuration.yaml entry +light: + - platform: mqtt + schema: json + name: mqtt_json_light_1 + state_topic: "home/light" + command_topic: "home/light/set" + brightness: true + brightness_scale: 4095 +``` + +Home Assistant will then convert its 8bit value in the message to and from the device: + +```json +{ + "brightness": 4095, + "state": "ON" +} +``` + +### {% linkable_title HS Color %} + +To use a light with hue+saturation as the color model, set `hs` to `true` in the platform configuration: + +```yaml +light: + - platform: mqtt + schema: json + name: mqtt_json_hs_light + state_topic: "home/light" + command_topic: "home/light/set" + hs: True +``` + +Home Assistant expects the hue values to be in the range 0 to 360 and the saturation values to be scaled from 0 to 100. For example, the following is a blue color shade: + +```json +{ + "state": "ON", + "color": { + "h": 24.0, + "s": 100.0 + } +} +``` + +### {% linkable_title Brightness and RGBW support %} + +To enable a light with brightness, RGB support and a separate white channel (RGBW) in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +light: + - platform: mqtt + schema: json + name: mqtt_json_light_1 + state_topic: "home/rgbw1" + command_topic: "home/rgbw1/set" + brightness: true + rgb: true + white_value: true +``` + + +## {% linkable_title Implementations %} + +- A full example of custom lighting using this platform and an ESP8266 microcontroller can be found [here](https://github.com/corbanmailloux/esp-mqtt-rgb-led). It supports on/off, brightness, transitions, RGB colors, and flashing. + +- There is also another implementation forked from the above repo, it supports all the same features but is made for addressable LED strips using FastLED on a NodeMCU V3 it can be found [here](https://github.com/JammyDodger231/nodemcu-mqtt-rgb-led). + +- [McLighting](https://github.com/toblum/McLighting) is another ESP8266 firmware for WS2812 addressable LEDs. + +- [MQTT JSON Light](https://github.com/mertenats/Open-Home-Automation/tree/master/ha_mqtt_rgbw_light_with_discovery) is another implementation for ESP8266 including [MQTT discovery](/docs/mqtt/discovery/). + +- [esphomelib](https://github.com/OttoWinter/esphomelib) is a library for ESP8266 and ESP32 boards that has many of Home Assistant's MQTT features (like [discovery](/docs/mqtt/discovery/)) pre-implemented and provides high-level abstractions for components such as lights or sensors. + +- [AiLight](https://github.com/stelgenhof/AiLight) is a custom firmware for the Ai-Thinker (and equivalent) RGBW WiFi light bulbs that has an ESP8266 onboard and controlled by the MY9291 LED driver. It implements the [MQTT JSON light](/components/light.mqtt_json/) platform and supports ON/OFF, RGBW colours, brightness, colour temperature, flashing and transitions. Also it includes [MQTT Auto Discovery](/docs/mqtt/discovery/)) and the MQTT Last Will and Testament is enabled as well. + +## {% linkable_title Template schema %} + +The `mqtt` light platform with template schema lets you control a MQTT-enabled light that receive commands on a command topic and optionally sends status update on a state topic. +It is format-agnostic so you can use any data format you want (i.e. string, JSON), just configure it with templating. + +This schema supports on/off, brightness, RGB colors, XY colors, color temperature, transitions, short/long flashing, effects and white values. + +## {% linkable_title Template schema - Configuration %} + +In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with the RETAIN flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the light will be off. + +When a state topic is not available, the light will work in optimistic mode. In this mode, the light will immediately change state after every command. Otherwise, the light will wait for state confirmation from the device (message from `state_topic`). + +Optimistic mode can be forced, even if state topic is available. Try enabling it if the light is operating incorrectly. + +```yaml +# Example configuration.yaml entry +light: + - platform: mqtt + schema: template + command_topic: "home/rgb1/set" + command_on_template: "on" + command_off_template: "off" +``` + +{% configuration %} +name: + description: The name of the light. + required: false + type: string + default: MQTT Template Light +effect_list: + description: List of possible effects. + required: false + type: string list +command_topic: + description: The MQTT topic to publish commands to change the light’s state. + required: true + type: string +state_topic: + description: The MQTT topic subscribed to receive state updates. + required: false + type: string +command_on_template: + description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *on* state changes. Available variables: `state`, `brightness`, `red`, `green`, `blue`, `white_value`, `flash`, `transition` and `effect`." + required: true + type: string +command_off_template: + description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *off* state changes. Available variables: `state` and `transition`." + required: true + type: string +state_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract state from the state payload value." + required: false + type: string +brightness_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract brightness from the state payload value." + required: false + type: string +red_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract red color from the state payload value." + required: false + type: string +green_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract green color from the state payload value." + required: false + type: string +blue_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract blue color from the state payload value." + required: false + type: string +color_temp_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract color temperature from the state payload value." + required: false + type: string +effect_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract effect from the state payload value." + required: false + type: string +white_value_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract white value from the state payload value." + required: false + type: string +optimistic: + description: Flag that defines if the light works in optimistic mode. + required: false + type: string + default: "`true` if no state topic or state template is defined, else `false`." +qos: + description: The maximum QoS level of the state topic. + required: false + type: integer + default: 0 +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. + required: false + type: string +payload_available: + description: The payload that represents the available state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the unavailable state. + required: false + type: string + default: offline +{% endconfiguration %} + ++ Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics. +
+ +## {% linkable_title Template schema - Examples %} + +In this section you find some real-life examples of how to use this light. + +### {% linkable_title Simple string payload %} + +For a simple string payload with the format `state,brightness,r-g-b` (e.g., `on,255,255-255-255`), add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +light: + - platform: mqtt + schema: template + command_topic: "home/rgb1/set" + state_topic: "home/rgb1/status" + command_on_template: "{% raw %}on,{{ brightness|d }},{{ red|d }}-{{ green|d }}-{{ blue|d }}{% endraw %}" + command_off_template: "off" + state_template: "{% raw %}{{ value.split(',')[0] }}{% endraw %}" # must return `on` or `off` + brightness_template: "{% raw %}{{ value.split(',')[1] }}{% endraw %}" + red_template: "{% raw %}{{ value.split(',')[2].split('-')[0] }}{% endraw %}" + green_template: "{% raw %}{{ value.split(',')[2].split('-')[1] }}{% endraw %}" + blue_template: "{% raw %}{{ value.split(',')[2].split('-')[2] }}{% endraw %}" +``` + +### {% linkable_title JSON payload %} + +For a JSON payload with the format `{"state": "on", "brightness": 255, "color": [255, 255, 255], "effect": "rainbow"}`, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +light: + - platform: mqtt_template + schema: template + effect_list: + - rainbow + - colorloop + command_topic: "home/rgb1/set" + state_topic: "home/rgb1/status" + command_on_template: >{% raw %} + {"state": "on" + {%- if brightness is defined -%} + , "brightness": {{ brightness }} + {%- endif -%} + {%- if red is defined and green is defined and blue is defined -%} + , "color": [{{ red }}, {{ green }}, {{ blue }}] + {%- endif -%} + {%- if effect is defined -%} + , "effect": "{{ effect }}" + {%- endif -%} + }{% endraw %} + command_off_template: '{"state": "off"}' + state_template: '{% raw %}{{ value_json.state }}{% endraw %}' + brightness_template: '{% raw %}{{ value_json.brightness }}{% endraw %}' + red_template: '{% raw %}{{ value_json.color[0] }}{% endraw %}' + green_template: '{% raw %}{{ value_json.color[1] }}{% endraw %}' + blue_template: '{% raw %}{{ value_json.color[2] }}{% endraw %}' + effect_template: '{% raw %}{{ value_json.effect }}{% endraw %}' +``` + +### {% linkable_title Template schema - No brightness or color support %} + +If you don't want brightness, color or effect support, just omit the corresponding configuration sections. \ No newline at end of file diff --git a/source/_components/light.mqtt_json.markdown b/source/_components/light.mqtt_json.markdown deleted file mode 100644 index b5b4099a276..00000000000 --- a/source/_components/light.mqtt_json.markdown +++ /dev/null @@ -1,288 +0,0 @@ ---- -layout: page -title: "MQTT JSON Light" -description: "Instructions for how to setup MQTT JSON lights within Home Assistant." -date: 2016-08-09 08:30 -sidebar: true -comments: false -sharing: true -footer: true -logo: mqtt.png -ha_category: Light -ha_iot_class: depends -ha_release: 0.26 ---- - -The `mqtt_json` light platform lets you control a MQTT-enabled light that can receive [JSON](https://en.wikipedia.org/wiki/JSON) messages. - -This platform supports on/off, brightness, RGB colors, XY colors, color temperature, transitions, short/long flashing and white values. The messages sent to/from the lights look similar to this, omitting fields when they aren't needed: - -```json -{ - "brightness": 255, - "color_temp": 155, - "color": { - "r": 255, - "g": 180, - "b": 200, - "x": 0.406, - "y": 0.301, - "h": 344.0, - "s": 29.412 - }, - "effect": "colorloop", - "state": "ON", - "transition": 2, - "white_value": 150 -} -``` - -In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with the RETAIN flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the light will be off. - -When a state topic is not available, the light will work in optimistic mode. In this mode, the light will immediately change state after every command. Otherwise, the light will wait for state confirmation from the device (message from `state_topic`). - -Optimistic mode can be forced, even if state topic is available. Try enabling it if the light is operating incorrectly. - -```yaml -# Example configuration.yaml entry -light: - - platform: mqtt_json - command_topic: "home/rgb1/set" -``` - -{% configuration %} -name: - description: The name of the light. - required: false - type: string - default: MQTT JSON Light -unique_id: - description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception. - required: false - type: string -command_topic: - description: The MQTT topic to publish commands to change the light’s state. - required: true - type: string -brightness: - description: Flag that defines if the light supports brightness. - required: false - type: boolean - default: false -brightness_scale: - description: "Defines the maximum brightness value (i.e. 100%) of the MQTT device." - required: false - type: integer - default: 255 -color_temp: - description: Flag that defines if the light supports color temperature. - required: false - type: boolean - default: false -effect: - description: Flag that defines if the light supports effects. - required: false - type: boolean - default: false -effect_list: - description: The list of effects the light supports. - required: false - type: string list -flash_time_long: - description: The duration, in seconds, of a “long” flash. - required: false - type: integer - default: 10 -flash_time_short: - description: The duration, in seconds, of a “short” flash. - required: false - type: integer - default: 2 -optimistic: - description: Flag that defines if the light works in optimistic mode. - required: false - type: boolean - default: "`true` if no state topic defined, else `false`." -qos: - description: The maximum QoS level of the state topic. - required: false - type: integer - default: 0 -retain: - description: If the published message should have the retain flag on or not. - required: false - type: boolean - default: false -rgb: - description: Flag that defines if the light supports RGB colors. - required: false - type: boolean - default: false -state_topic: - description: The MQTT topic subscribed to receive state updates. - required: false - type: string -white_value: - description: Flag that defines if the light supports white values. - required: false - type: boolean - default: false -xy: - description: Flag that defines if the light supports XY colors. - required: false - type: boolean - default: false -hs: - description: Flag that defines if the light supports HS colors. - required: false - type: boolean - default: false -availability_topic: - description: The MQTT topic subscribed to receive availability (online/offline) updates. - required: false - type: string -payload_available: - description: The payload that represents the available state. - required: false - type: string - default: online -payload_not_available: - description: The payload that represents the unavailable state. - required: false - type: string - default: offline -{% endconfiguration %} - -- Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics. -
- -- RGB, XY and HSV can not be used at the same time in `state_topic` messages. Make sure that only one of the color models is in the "color" section of the state MQTT payload. -
- -## {% linkable_title Comparison of light MQTT platforms %} - -| Function | [`mqtt`](/components/light.mqtt/) | [`mqtt_json`](/components/light.mqtt_json/) | [`mqtt_template`](/components/light.mqtt_template/) | -|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------| -| Brightness | ✔ | ✔ | ✔ | -| Color temperature | ✔ | ✔ | ✔ | -| Effects | ✔ | ✔ | ✔ | -| Flashing | ✘ | ✔ | ✔ | -| RGB Color | ✔ | ✔ | ✔ | -| Transitions | ✘ | ✔ | ✔ | -| XY Color | ✔ | ✔ | ✘ | -| HS Color | ✘ | ✔ | ✘ | -| White Value | ✔ | ✔ | ✔ | - -## {% linkable_title Examples %} - -In this section you find some real-life examples of how to use this sensor. - -### {% linkable_title Brightness and RGB support %} - -To enable a light with brightness and RGB support in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -light: - - platform: mqtt_json - name: mqtt_json_light_1 - state_topic: "home/rgb1" - command_topic: "home/rgb1/set" - brightness: true - rgb: true -``` - -### {% linkable_title Brightness and no RGB support %} - -To enable a light with brightness (but no color support) in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -light: - - platform: mqtt_json - name: mqtt_json_light_1 - state_topic: "home/rgb1" - command_topic: "home/rgb1/set" - brightness: true -``` - -### {% linkable_title Brightness Scaled %} - -To enable a light using a brightness scale other than 8bit the `brightness_scale` option may be added to denote the "fully on" value: -```yaml -# Example configuration.yaml entry -light: - - platform: mqtt_json - name: mqtt_json_light_1 - state_topic: "home/light" - command_topic: "home/light/set" - brightness: true - brightness_scale: 4095 -``` - -Home Assistant will then convert its 8bit value in the message to and from the device: - -```json -{ - "brightness": 4095, - "state": "ON" -} -``` - -### {% linkable_title HS Color %} - -To use a light with hue+saturation as the color model, set `hs` to `true` in the platform configuration: - -```yaml -light: - - platform: mqtt_json - name: mqtt_json_hs_light - state_topic: "home/light" - command_topic: "home/light/set" - hs: True -``` - -Home Assistant expects the hue values to be in the range 0 to 360 and the saturation values to be scaled from 0 to 100. For example, the following is a blue color shade: - -```json -{ - "state": "ON", - "color": { - "h": 24.0, - "s": 100.0 - } -} -``` - -### {% linkable_title Brightness and RGBW support %} - -To enable a light with brightness, RGB support and a separate white channel (RGBW) in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -light: - - platform: mqtt_json - name: mqtt_json_light_1 - state_topic: "home/rgbw1" - command_topic: "home/rgbw1/set" - brightness: true - rgb: true - white_value: true -``` - - -### {% linkable_title Implementations %} - -- A full example of custom lighting using this platform and an ESP8266 microcontroller can be found [here](https://github.com/corbanmailloux/esp-mqtt-rgb-led). It supports on/off, brightness, transitions, RGB colors, and flashing. - -- There is also another implementation forked from the above repo, it supports all the same features but is made for addressable LED strips using FastLED on a NodeMCU V3 it can be found [here](https://github.com/JammyDodger231/nodemcu-mqtt-rgb-led). - -- [McLighting](https://github.com/toblum/McLighting) is another ESP8266 firmware for WS2812 addressable LEDs. - -- [MQTT JSON Light](https://github.com/mertenats/Open-Home-Automation/tree/master/ha_mqtt_rgbw_light_with_discovery) is another implementation for ESP8266 including [MQTT discovery](/docs/mqtt/discovery/). - -- [esphomelib](https://github.com/OttoWinter/esphomelib) is a library for ESP8266 and ESP32 boards that has many of Home Assistant's MQTT features (like [discovery](/docs/mqtt/discovery/)) pre-implemented and provides high-level abstractions for components such as lights or sensors. - -- [AiLight](https://github.com/stelgenhof/AiLight) is a custom firmware for the Ai-Thinker (and equivalent) RGBW WiFi light bulbs that has an ESP8266 onboard and controlled by the MY9291 LED driver. It implements the [MQTT JSON light](/components/light.mqtt_json/) platform and supports ON/OFF, RGBW colours, brightness, colour temperature, flashing and transitions. Also it includes [MQTT Auto Discovery](/docs/mqtt/discovery/)) and the MQTT Last Will and Testament is enabled as well. diff --git a/source/_components/light.mqtt_template.markdown b/source/_components/light.mqtt_template.markdown deleted file mode 100644 index adf44a2a92e..00000000000 --- a/source/_components/light.mqtt_template.markdown +++ /dev/null @@ -1,198 +0,0 @@ ---- -layout: page -title: "MQTT Template Light" -description: "Instructions for how to setup MQTT Template lights within Home Assistant." -date: 2016-11-06 21:16 -sidebar: true -comments: false -sharing: true -footer: true -logo: mqtt.png -ha_category: Light -ha_iot_class: depends -ha_release: 0.33 ---- - -The `mqtt_template` light platform lets you control a MQTT-enabled light that receive commands on a command topic and optionally sends status update on a state topic. -It is format-agnostic so you can use any data format you want (i.e. string, JSON), just configure it with templating. - -This platform supports on/off, brightness, RGB colors, XY colors, color temperature, transitions, short/long flashing, effects and white values. - -In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with the RETAIN flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the light will be off. - -When a state topic is not available, the light will work in optimistic mode. In this mode, the light will immediately change state after every command. Otherwise, the light will wait for state confirmation from the device (message from `state_topic`). - -Optimistic mode can be forced, even if state topic is available. Try enabling it if the light is operating incorrectly. - -```yaml -# Example configuration.yaml entry -light: - - platform: mqtt_template - command_topic: "home/rgb1/set" - command_on_template: "on" - command_off_template: "off" -``` - -{% configuration %} -name: - description: The name of the light. - required: false - type: string - default: MQTT Template Light -effect_list: - description: List of possible effects. - required: false - type: string list -command_topic: - description: The MQTT topic to publish commands to change the light’s state. - required: true - type: string -state_topic: - description: The MQTT topic subscribed to receive state updates. - required: false - type: string -command_on_template: - description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *on* state changes. Available variables: `state`, `brightness`, `red`, `green`, `blue`, `white_value`, `flash`, `transition` and `effect`." - required: true - type: string -command_off_template: - description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *off* state changes. Available variables: `state` and `transition`." - required: true - type: string -state_template: - description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract state from the state payload value." - required: false - type: string -brightness_template: - description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract brightness from the state payload value." - required: false - type: string -red_template: - description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract red color from the state payload value." - required: false - type: string -green_template: - description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract green color from the state payload value." - required: false - type: string -blue_template: - description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract blue color from the state payload value." - required: false - type: string -color_temp_template: - description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract color temperature from the state payload value." - required: false - type: string -effect_template: - description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract effect from the state payload value." - required: false - type: string -white_value_template: - description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract white value from the state payload value." - required: false - type: string -optimistic: - description: Flag that defines if the light works in optimistic mode. - required: false - type: string - default: "`true` if no state topic or state template is defined, else `false`." -qos: - description: The maximum QoS level of the state topic. - required: false - type: integer - default: 0 -availability_topic: - description: The MQTT topic subscribed to receive availability (online/offline) updates. - required: false - type: string -payload_available: - description: The payload that represents the available state. - required: false - type: string - default: online -payload_not_available: - description: The payload that represents the unavailable state. - required: false - type: string - default: offline -{% endconfiguration %} - -- Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics. -
- -## {% linkable_title Comparison of light MQTT platforms %} - -| Function | [`mqtt`](/components/light.mqtt/) | [`mqtt_json`](/components/light.mqtt_json/) | [`mqtt_template`](/components/light.mqtt_template/) | -|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------| -| Brightness | ✔ | ✔ | ✔ | -| Color temperature | ✔ | ✔ | ✔ | -| Effects | ✔ | ✔ | ✔ | -| Flashing | ✘ | ✔ | ✔ | -| RGB Color | ✔ | ✔ | ✔ | -| Transitions | ✘ | ✔ | ✔ | -| XY Color | ✔ | ✔ | ✘ | -| HS Color | ✘ | ✔ | ✘ | -| White Value | ✔ | ✔ | ✔ | - -## {% linkable_title Examples %} - -In this section you find some real-life examples of how to use this light. - -### {% linkable_title Simple string payload %} - -For a simple string payload with the format `state,brightness,r-g-b` (e.g., `on,255,255-255-255`), add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -light: - - platform: mqtt_template - command_topic: "home/rgb1/set" - state_topic: "home/rgb1/status" - command_on_template: "{% raw %}on,{{ brightness|d }},{{ red|d }}-{{ green|d }}-{{ blue|d }}{% endraw %}" - command_off_template: "off" - state_template: "{% raw %}{{ value.split(',')[0] }}{% endraw %}" # must return `on` or `off` - brightness_template: "{% raw %}{{ value.split(',')[1] }}{% endraw %}" - red_template: "{% raw %}{{ value.split(',')[2].split('-')[0] }}{% endraw %}" - green_template: "{% raw %}{{ value.split(',')[2].split('-')[1] }}{% endraw %}" - blue_template: "{% raw %}{{ value.split(',')[2].split('-')[2] }}{% endraw %}" -``` - -### {% linkable_title JSON payload %} - -For a JSON payload with the format `{"state": "on", "brightness": 255, "color": [255, 255, 255], "effect": "rainbow"}`, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -light: - - platform: mqtt_template - effect_list: - - rainbow - - colorloop - command_topic: "home/rgb1/set" - state_topic: "home/rgb1/status" - command_on_template: >{% raw %} - {"state": "on" - {%- if brightness is defined -%} - , "brightness": {{ brightness }} - {%- endif -%} - {%- if red is defined and green is defined and blue is defined -%} - , "color": [{{ red }}, {{ green }}, {{ blue }}] - {%- endif -%} - {%- if effect is defined -%} - , "effect": "{{ effect }}" - {%- endif -%} - }{% endraw %} - command_off_template: '{"state": "off"}' - state_template: '{% raw %}{{ value_json.state }}{% endraw %}' - brightness_template: '{% raw %}{{ value_json.brightness }}{% endraw %}' - red_template: '{% raw %}{{ value_json.color[0] }}{% endraw %}' - green_template: '{% raw %}{{ value_json.color[1] }}{% endraw %}' - blue_template: '{% raw %}{{ value_json.color[2] }}{% endraw %}' - effect_template: '{% raw %}{{ value_json.effect }}{% endraw %}' -``` - -### {% linkable_title No brightness or color support %} - -If you don't want brightness, color or effect support, just omit the corresponding configuration sections. - diff --git a/source/_components/light.tellduslive.markdown b/source/_components/light.tellduslive.markdown new file mode 100644 index 00000000000..5a923d1566a --- /dev/null +++ b/source/_components/light.tellduslive.markdown @@ -0,0 +1,16 @@ +--- +layout: page +title: "Telldus Live Light" +description: "Instructions on how to integrate Telldus Live Lights into Home Assistant." +date: 2016-01-17 15:49 +sidebar: true +comments: false +sharing: true +footer: true +logo: telldus.png +ha_category: Light +featured: false +--- + +Integrates Telldus Live Lights into Home Assistant. See the [main component](/components/tellduslive/) for configuration instructions. + diff --git a/source/_components/lightwave.markdown b/source/_components/lightwave.markdown new file mode 100644 index 00000000000..84c10c35a41 --- /dev/null +++ b/source/_components/lightwave.markdown @@ -0,0 +1,49 @@ +--- +layout: page +title: "Lightwave" +description: "Instructions on how to integrate Lightwave devices with Home Assistant." +date: 2018-12-03 18:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: lightwave.png +ha_category: Hub +ha_release: 0.84 +ha_iot_class: "Assumed State" +--- +The `lightwave` component links Home Assistant with your Lightwave WiFi link for controlling Lightwave lights and switches. +This component uses the official API published by Lightwave on their website [https://api.lightwaverf.com/](https://api.lightwaverf.com/). +To add your Lightwave devices into your Home Assistant installation, add the following to your `configuration.yaml` file: +```yaml +# Example configuration.yaml entry +lightwave: + host: 192.168.1.2 + lights: + R1D3: + name: Wall lights + R1D4: + name: Ceiling lights + switches: + R1D2: + name: Tree socket + R2D1: + name: Radio socket + R2D2: + name: Light socket + R2D3: + name: Phone socket + R2D4: + name: Torch socket +``` + +Where `192.168.1.2` is the ip address of your Lightwave hub. +Each `switch` or `light` requires an `id` and a `name`. The `id` takes the form `R#D#` where `R#` is the room number and `D#` is the device number. + +`lights` and `switches` are optional but one of these must be present. + +The first use of a light or switch will try to register with your Lightwave WiFi Link hub. If the hub has not been registered a message on your hub will be displayed asking you to pair the device. You have 12 seconds to push the button on your hub to accept this. Once done, you should be able to control your lights and switches via Home Assistant. This only needs to be done if the hub has not been registered. + +The Lightwave Home Assistant component currently supports the following Lightwave devices: +- Lightwave lights +- Lightwave switches \ No newline at end of file diff --git a/source/_components/recorder.markdown b/source/_components/recorder.markdown index afda7241aad..c9ba56e1b97 100644 --- a/source/_components/recorder.markdown +++ b/source/_components/recorder.markdown @@ -131,17 +131,6 @@ Call the service `recorder.purge` to start a purge task which deletes events and | `keep_days` | yes | The number of history days to keep in recorder database (defaults to the component `purge_keep_days` configuration) | `repack` | yes | Rewrite the entire database, possibly saving some disk space. Only supported for SQLite and requires at least as much disk space free as the database currently uses. -### {% linkable_title Restore State %} - -If the `recorder` component is activated then some components support `restore_state`, which will restore the state of the entity after Home Assistant is started to the state before Home Assistant was stopped. Please make sure that you do not exclude the entities for which you want the state to be restored from your recordings. An incomplete list of components that currently support `restore_state`: - -* [`input_boolean`](/components/input_boolean/#restore-state) -* [`input_number`](/components/input_number/#restore-state) -* [`input_select`](/components/input_select/#restore-state) -* [`input_datetime`](/components/input_datetime/#restore-state) -* [`input_text`](/components/input_text/#restore-state) - - ## {% linkable_title Custom database engines %} | Database engine | `db_url` | diff --git a/source/_components/sensor.awair.markdown b/source/_components/sensor.awair.markdown new file mode 100644 index 00000000000..7b7e358f7d3 --- /dev/null +++ b/source/_components/sensor.awair.markdown @@ -0,0 +1,68 @@ +--- +layout: page +title: "Awair Air Quality Monitor" +description: "Instructions on how to setup Awair devices in Home Assistant." +date: 2018-11-18 20:41 +sidebar: true +comments: false +sharing: true +footer: true +logo: awair.jpg +ha_category: Health +ha_release: 0.84 +ha_iot_class: "Cloud Polling" +--- + +The `awair` sensor platform will fetch data from your [Awair device(s)](https://getawair.com). + +You will need to request access to the Awair API and obtain an access token from the Awair [Developer Console](https://developer.getawair.com/). + +## {% linkable_title Configuring the Platform %} + +To enable these sensors, add the following lines to your `configuration.yaml` file: + +```yaml +sensor: + - platform: awair + access_token: ACCESS_TOKEN +``` + +The Awair API has stringent usage quotas. The API method to discover devices in your account is +limited to only 6 calls per 24 hours. If you find that you've exceeded this quota, you may optionally +append device information to your configuration to bypass this call: + +```yaml +sensor: + - platform: awair + access_token: ACCESS_TOKEN + devices: + - uuid: UUID +``` + +{% configuration %} +access_token: + description: The access token for the Awair API. + required: true + type: string +devices: + description: An optional list to manually configure devices rather than relying upon API discovery. + required: false + type: list + keys: + uuid: + description: UUID of the Awair sensor to monitor. + required: true + type: string +{% endconfiguration %} + +## {% linkable_title Available Sensors %} + +The platform will fetch all available sensors from each Awair device linked to your account. Supported sensors: + + * Temperature + * Humidity + * CO2 + * VOC + * Dust, PM2.5, PM10: varies according to Awair model + +This platform refreshes at an interval based on a 300 API call per-day quota, and the number of devices you have configured. diff --git a/source/_components/sensor.entur_public_transport.markdown b/source/_components/sensor.entur_public_transport.markdown new file mode 100644 index 00000000000..b42557d29d3 --- /dev/null +++ b/source/_components/sensor.entur_public_transport.markdown @@ -0,0 +1,81 @@ +--- +layout: page +title: "Entur public transport" +description: "Instructions for how to set up monitoring of public transport departures in Norway." +date: 2018-10-09 17:15 +sidebar: true +comments: false +sharing: true +footer: true +logo: entur.svg +ha_category: Transport +ha_release: 0.84 +ha_iot_class: "Cloud Polling" +--- + +The `entur_public_transport` sensor gives real-time departure information for the next two departures from any bus stop, car ferry quay, train station, airport and person ferries quay in Norway. + +For each stop place given in the configuration, a sensor will be mounted for that stop place. It will give remaining minutes until the nearest departure in the state, but also next departure in the attributes. Information about if the departure is monitored in real-time or is from scheduled times, and how many minutes there is in delays, are included as well. + +Real-time data is fetched from [Entur](https://www.entur.org). Entur is a service which collects and delivers information about all public transport available in Norway under an [open source license](https://data.norge.no/nlod/no). + +## {% linkable_title Configuration %} + +```yaml +# Example configuration.yaml entry +sensor: + - platform: entur_public_transport + stop_ids: + - 'STOP_ID_1' + - 'STOP_ID_2' +``` + +{% configuration %} +stop_ids: + description: List of stop places or platforms to monitor departure times from. + required: true + type: list +name: + description: Override parts of the sensor name. + required: false + type: string + default: Entur +expand_platforms: + description: If additional sensors should be created for each platform under a stop place. + required: false + type: boolean + default: true +show_on_map: + description: If platform locations should be added to the sensor, and the map. + required: false + type: boolean + default: false +{% endconfiguration %} + +## {% linkable_title Example usage %} + +```yaml +# Example configuration.yaml entry +sensor: + - platform: entur_public_transport + name: Transport + expand_platforms: true + show_on_map: true + stop_ids: + - 'NSR:StopPlace:548' # Bergen train station + - 'NSR:StopPlace:737' # Trondheim airport + - 'NSR:StopPlace:5850' # Grorud T bus stop + - 'NSR:StopPlace:58652' # Mortavika ferry + - 'NSR:StopPlace:27639' # Sør-Hidle quay + - 'NSR:Quay:48550' # Fiskepiren bus stop platform 1 +``` + +## {% linkable_title Obtaining a stop id %} + +[Entur's travel planer](https://en-tur.no) has a map of all stops used in Norway. Use the map to find the stops you're interested in. When you have found one of your stops, click on it. + +Now the web browser should contain an URL with the id in it. Such as this: + +`https://en-tur.no/nearby-stop-place-detail?id=NSR:StopPlace:32376` + +The stop id is the content after `id=` parameter in the url. Copy paste this into the configuration. diff --git a/source/_components/sensor.ihc.markdown b/source/_components/sensor.ihc.markdown index 6e2c2885fb4..9127ac13b35 100644 --- a/source/_components/sensor.ihc.markdown +++ b/source/_components/sensor.ihc.markdown @@ -23,22 +23,28 @@ project and setup as sensors: - Dataline Humidity - Will insert 1 humidity and 2 temperature sensors (calculated dewpoint) - Dataline Lux - will insert 1 light and 1 temperature sensor -To manually configure IHC sensors insert this section: +To manually configure IHC sensors insert the "sensors" +section in your IHC configuration: ```yaml -sensor: - - platform: ihc +ihc: + - url: 'http://192.168.1.3' + username: YOUR_USERNAME2 + password: YOUR_PASSWORD2 + info: true sensors: - id: 12345 - name: 'mysensor' + name: Temperatur_living_room unit_of_measurement: '°C' - - id: 12346 + note: Floor and wall temp. + position: On wall between windows + - id: 23456 ... ``` {% configuration %} sensors: - description: List of sensors to setup manually + description: List of sensors to setup manually. required: false type: map keys: @@ -47,13 +53,21 @@ sensors: required: true type: integer name: - description: The name of the component + description: The name of the sensor. required: false type: string unit_of_measurement: description: Defines the unit of measurement of the sensor, if any. required: false type: string + note: + description: Descriptive note. + required: false + type: string + position: + description: Where it is placed. + required: false + type: string {% endconfiguration %} The resource id should be a IHC float resource. For more information about IHC diff --git a/source/_components/sensor.netatmo.markdown b/source/_components/sensor.netatmo.markdown index cf38ea961d9..8ac2d587cd4 100644 --- a/source/_components/sensor.netatmo.markdown +++ b/source/_components/sensor.netatmo.markdown @@ -14,7 +14,8 @@ ha_iot_class: "Cloud Polling" ### {% linkable_title Basic Configuration %} -The `netatmo` sensor platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) device. +The `netatmo` sensor platform is consuming the information provided by a [Netatmo Weather Station](https://www.netatmo.com/en-us/weather/weatherstation) or a +[Netatmo Home Coach](https://www.netatmo.com/en-us/aircare/homecoach) [Netatmo](https://www.netatmo.com) devices. To enable the Netatmo sensor, you have to set up [netatmo](/components/netatmo/), this will use discovery to add your sensor. diff --git a/source/_components/sensor.qbittorrent.markdown b/source/_components/sensor.qbittorrent.markdown new file mode 100644 index 00000000000..1dfdd2d9cf9 --- /dev/null +++ b/source/_components/sensor.qbittorrent.markdown @@ -0,0 +1,52 @@ +--- +layout: page +title: "qBittorrent Sensor" +description: "Instructions on how to integrate qBittorrent sensors within Home Assistant." +date: 2018-11-21 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: qbittorrent.png +ha_category: Downloading +ha_release: 0.84 +ha_iot_class: "Local Polling" +--- + +The `qbittorrent` platform allows you to monitor your downloads with [qBittorrent](https://www.qbittorrent.org/) from within Home Assistant and setup automations based on the information. + +## {% linkable_title Setup %} + +This sensor requires the qBittorrent Web UI enabled. The [official reference](https://github.com/qbittorrent/qBittorrent/wiki#webui-related) describes how to set up the Web UI. + +## {% linkable_title Configuration %} + +To enable this sensor, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: qbittorrent + url: 'http://+Configuration details for the Lightwave platform can be found on the main [Lightwave component](/components/lightwave/) page. +
\ No newline at end of file diff --git a/source/_components/switch.volvooncall.markdown b/source/_components/switch.volvooncall.markdown deleted file mode 100644 index 993f777a9f6..00000000000 --- a/source/_components/switch.volvooncall.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "Volvo On Call Switch" -description: "Instructions for how to integrate Volvo On Call into Home Assistant." -date: 2016-10-02 17:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: volvo.png -ha_category: Car -ha_release: "0.30" ---- - - -Integrates Volvo on Call heater switch into Home Assistant. See the [main component](/components/volvooncall/) for configuration instructions. diff --git a/source/_components/verisure.markdown b/source/_components/verisure.markdown index 5e14d2236d2..68064ebe242 100644 --- a/source/_components/verisure.markdown +++ b/source/_components/verisure.markdown @@ -64,6 +64,10 @@ locks: required: false type: boolean default: true +default_lock_code: + description: Code that will be used to lock or unlock, if none is supplied. + required: false + type: string thermometers: description: Set to `true` to show thermometers, `false` to disable. required: false diff --git a/source/_components/volvooncall.markdown b/source/_components/volvooncall.markdown index 3ed8aa1e092..fe00e91f204 100644 --- a/source/_components/volvooncall.markdown +++ b/source/_components/volvooncall.markdown @@ -11,6 +11,12 @@ logo: volvo.png ha_category: Car ha_release: 0.39 ha_iot_class: "Cloud Polling" +redirect_from: + - /components/binary_sensor.volvooncall/ + - /components/lock.volvooncall/ + - /components/sensor.volvooncall/ + - /components/switch.volvooncall/ + - /components/device_tracker.volvooncall/ --- The `volvooncall` component offers integration with the [Volvo On Call](http://www.volvocars.com/intl/own/connectivity/volvo-on-call) cloud service and offers presence detection as well as sensors such as odometer and fuel level. @@ -56,11 +62,49 @@ volvooncall: name: abc123: 'Batmobile' resources: - - doors + - odometer - lock - heater ``` +Currently available resources: +- `position` +- `lock` +- `heater` +- `odometer` +- `trip_meter1` +- `trip_meter2` +- `fuel_amount` +- `fuel_amount_level` +- `average_fuel_consumption` +- `distance_to_empty` +- `washer_fluid_level` +- `brake_fluid` +- `service_warning_status` +- `bulb_failures` +- `battery_range` +- `battery_level` +- `time_to_fully_charged` +- `battery_charge_status` +- `engine_start` +- `last_trip` +- `is_engine_running` +- `doors.hood_open` +- `doors.front_left_door_open` +- `doors.front_right_door_open` +- `doors.rear_left_door_open` +- `doors.rear_right_door_open` +- `windows.front_left_window_open` +- `windows.front_right_window_open` +- `windows.rear_left_window_open` +- `windows.rear_right_window_open` +- `tyre_pressure.front_left_tyre_pressure` +- `tyre_pressure.front_right_tyre_pressure` +- `tyre_pressure.rear_left_tyre_pressure` +- `tyre_pressure.rear_right_tyre_pressure` +- `any_door_open` +- `any_window_open` + {% configuration %} username: description: The username associated with your Volvo On Call account. @@ -78,6 +122,11 @@ service_url: description: The service URL to use for Volvo On Call. Normally not necessary to specify. required: false type: string +mutable: + description: If set to true, include components that can make changes to the vehicle (unlock, start engine, start heater etc). + required: false + default: true + type: boolean name: description: Make it possible to provide a name for the vehicles. required: false diff --git a/source/_components/waterfurnace.markdown b/source/_components/waterfurnace.markdown index d42a6aecbac..e9288edfb95 100644 --- a/source/_components/waterfurnace.markdown +++ b/source/_components/waterfurnace.markdown @@ -25,6 +25,13 @@ The sensors provided include: - Current Humidity Setpoint - Total system power (in Watts) - Furnace Mode + - Compressor Power + - Fan Power + - Aux Power + - Loop Pump Power + - Compressor Speed + - Fan Speed + ## {% linkable_title Configuration %} diff --git a/source/_components/wunderlist.markdown b/source/_components/wunderlist.markdown new file mode 100644 index 00000000000..beaa633da56 --- /dev/null +++ b/source/_components/wunderlist.markdown @@ -0,0 +1,65 @@ +--- +layout: page +title: "Wunderlist" +description: "Instructions on how to use Wunderlist with Home Assistant." +date: 2018-10-09 10:10 +sidebar: true +comments: false +sharing: true +footer: true +logo: wunderlist.png +ha_category: Calendar +ha_release: 0.84 +--- + +The `wunderlist` component allows you to create tasks in [Wunderlist](https://www.wunderlist.com) from Home Assistant. You can use this if you want Home Assistant to send you a task that +you should not forget, e.g., Congratulate Dani. + +## {% linkable_title Setup %} + +Wunderlist API uses OAuth2, so you need to obtain a `client_id` and an `access_token`. +There are two ways: + + +1. Go to the [Wunderlist IOT app page](https://wunderlist-iot.herokuapp.com), login with your Wunderlist account and accept the application permissions. + It will print for you the `client_id` and the `access_token`. +2. Or you can create your own application and `access_token` following the instructions at the [Wunderlist developer page](https://developer.wunderlist.com/). + +Store the parameters in your Home Assistant configuration: + +```yaml +# Example configuration.yaml entry + +wunderlist: + client_id: YOUR_CLIENT_ID + access_token: YOUR_ACCESS_TOKEN + +``` + + +{% configuration %} +client_id: + description: The ID of your Wunderlist application (OAuth2). + required: true + type: string + +access_token: + description: A token for your Wunderlist personal account (For the ``client_id`` application). + required: true + type: string +{% endconfiguration %} + +## {% linkable_title Creating tasks with service `create_task`%} + +This component offers a new service domain `wunderlist` with the service `create_task`. +You can call this service with the argument `list_name` the argument `name` and the optional parameter `starred` to create a new task. + + +|Service data attribute | Optional | Description | Example | +|-----------------------|----------|-------------|---------| +| list_name | no | Name of the list | "Shopping list" +| name | no | Name of the new task | "Spanish Jam" | +| starred | yes | Create the task starred or not | false | + +## {% linkable_title Disclaimer %} +This product uses the Wunderlist API but is not endorsed or certified by Wunderlist. diff --git a/source/_components/xiaomi_aqara.markdown b/source/_components/xiaomi_aqara.markdown index 926b2110b85..e4843b644c5 100644 --- a/source/_components/xiaomi_aqara.markdown +++ b/source/_components/xiaomi_aqara.markdown @@ -18,7 +18,7 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/ #### {% linkable_title Supported Devices %} -- Xiaomi Aqara Gateway (lumi.gateway.v2, lumi.gateway.v3) +- Xiaomi Mijia Gateway (lumi.gateway.v2, lumi.gateway.v3) - Aqara Air Conditioning Companion (lumi.acpartner.v3) - Aqara Intelligent Door Lock (lock.aq1) - Temperature and Humidity Sensor (1st and 2nd generation) @@ -45,13 +45,13 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/ #### {% linkable_title Unsupported Devices %} +- Xiaomi Aqara Gateway (lumi.gateway.aqhm01), as it is not possible to activate dev mode in the Mi Home App. - Gateway Radio - Gateway Button - Xiaomi Mi Air Conditioning Companion (lumi.acpartner.v2) - Aqara Intelligent Air Conditioner Controller Hub (lumi.acpartner.v1) - Decoupled mode of the Aqara Wall Switches (Single & Double) - Additional alarm events of the Gas and Smoke Detector: Analog alarm, battery fault alarm (smoke detector only), sensitivity fault alarm, I2C communication failure -- Aqara HomeKit Gateway version(v3), as it is not supported by the Mi Home App, only the Aqara Home App. ## {% linkable_title Setup %} diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 7e11dae2ec0..a4887fa8ebf 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -94,6 +94,9 @@ Home Assistant adds extensions to allow templates to access all of the current s - Filter `regex_findall_index(string, find='', index=0, ignorecase=False)` will find all regex matches of find in string and return the match at index (findall returns an array of matches). - Filter `bitwise_and(value_one, value_two)` perform a bitwise and(&) operation with two values. - Filter `bitwise_or(value_one, value_two)` perform a bitwise or(\|) operation with two values. +- Filter `base64_encode` convert given value to a Base64 encoded string. +- Filter `base64_decode` convert given Base64 value to a regulary string. +- Filter `ordinal` convert a number into a speakable ordinal text. [strp-format]: https://docs.python.org/3.6/library/datetime.html#strftime-and-strptime-behavior diff --git a/source/_includes/asides/lovelace_navigation.html b/source/_includes/asides/lovelace_navigation.html index 589f838ee21..fd5b58c70ab 100644 --- a/source/_includes/asides/lovelace_navigation.html +++ b/source/_includes/asides/lovelace_navigation.html @@ -7,11 +7,20 @@ +