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. + +

+ +

+ +Entities are generated, updated and removed automatically with each update from the feed. Each entity defines latitude and longitude and will be shown on the map automatically. The distance in kilometers is available as the state of each entity. + +

+ +

+ +The data is updated every 5 minutes. + +## {% linkable_title Configuration %} + +To integrate the U.S. Geological Survey Earthquake Hazards Program feed, add the following lines to your `configuration.yaml`. + +```yaml +# Example configuration.yaml entry +geo_location: + - platform: usgs_earthquakes_feed + feed_type: 'past_day_all_earthquakes' +``` + +{% configuration %} +feed_type: + description: The U.S. Geological Survey Earthquake Hazards Program provides 20 feeds covering different timeframes and magnitudes. You must select one of the feed types listed below. + type: string + required: true +minimum_magnitude: + description: The minimum magnitude of an earthquake to be included. + required: false + type: float + default: 0.0 +radius: + description: The distance in kilometers around Home Assistant's coordinates in which seismic events are included. + required: false + type: float + default: 50km +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 %} + +### Supported Feed Types + +| Description | Feed Type | +|----------------------------------------|--------------------------------------| +| Past Hour - Significant Earthquakes | `past_hour_significant_earthquakes` | +| Past Hour - M4.5+ Earthquakes | `past_hour_m45_earthquakes` | +| Past Hour - M2.5+ Earthquakes | `past_hour_m25_earthquakes` | +| Past Hour - M1.0+ Earthquakes | `past_hour_m10_earthquakes` | +| Past Hour - All Earthquakes | `past_hour_all_earthquakes` | +| Past Day - Significant Earthquakes | `past_day_significant_earthquakes` | +| Past Day - M4.5+ Earthquakes | `past_day_m45_earthquakes` | +| Past Day - M2.5+ Earthquakes | `past_day_m25_earthquakes` | +| Past Day - M1.0+ Earthquakes | `past_day_m10_earthquakes` | +| Past Day - All Earthquakes | `past_day_all_earthquakes` | +| Past 7 Days - Significant Earthquakes | `past_week_significant_earthquakes` | +| Past 7 Days - M4.5+ Earthquakes | `past_week_m45_earthquakes` | +| Past 7 Days - M2.5+ Earthquakes | `past_week_m25_earthquakes` | +| Past 7 Days - M1.0+ Earthquakes | `past_week_m10_earthquakes` | +| Past 7 Days - All Earthquakes | `past_week_all_earthquakes` | +| Past 30 Days - Significant Earthquakes | `past_month_significant_earthquakes` | +| Past 30 Days - M4.5+ Earthquakes | `past_month_m45_earthquakes` | +| Past 30 Days - M2.5+ Earthquakes | `past_month_m25_earthquakes` | +| Past 30 Days - M1.0+ Earthquakes | `past_month_m10_earthquakes` | +| Past 30 Days - All Earthquakes | `past_month_all_earthquakes` | + + +## {% linkable_title State Attributes %} + +The following state attributes are available for each entity in addition to the standard ones: + +| Attribute | Description | +|--------------------|-------------| +| latitude | Latitude of the earthquake. | +| longitude | Longitude of the earthquake. | +| source | `usgs_earthquakes_feed` to be used in conjunction with `geo_location` automation trigger. | +| external_id | The external ID used in the feed to identify the earthquake in the feed. | +| place | Textual description of named geographic region near to the event. | +| magnitude | Reported magnitude of the earthquake. | +| time | Date and time when this event occurred. | +| updated | Date and time when this event was most recently updated. | +| status | Indicates whether the event has been reviewed by a human: "automatic", "reviewed", "deleted" | +| type | Type of seismic event: "earthquake" or "quarry". | diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index 641575ae8e9..cb6e53b4dfd 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -185,10 +185,19 @@ Currently, the following domains are available to be used with Google Assistant, - light (on/off/brightness/rgb color/color temp) - lock (lock/unlock (to allow assistant to unlock, set the `allow_unlock` key in configuration)) - cover (on/off/set position (via set brightness)) -- media_player (on/off/set volume (via set brightness)) +- media_player (on/off/set volume (via set brightness)/source (via set input source)) - climate (temperature setting) - vacuum (dock/start/stop/pause) +### {% linkable_title Media Player Sources %} + +Media Player sources are sent via the Modes trait in Google Assistant. +There is currently a limitation with this feature that requires a hard-coded set of settings. Because of this, the only sources that will be usable by this feature are listed here: +https://developers.google.com/actions/reference/smarthome/traits/modes + +#### Example Command: +"Hey Google, change input source to TV on Living Room Receiver" + ### {% linkable_title Troubleshooting the request_sync service %} The request_sync service requires that the initial sync from Google includes the agent_user_id. If not, the service will log an error that reads something like "Request contains an invalid argument". If this happens, then [unlink the account](https://support.google.com/googlehome/answer/7506443) from Home Control and relink. diff --git a/source/_components/hdmi_cec.markdown b/source/_components/hdmi_cec.markdown index 198d89b01bc..1ebe1831e67 100644 --- a/source/_components/hdmi_cec.markdown +++ b/source/_components/hdmi_cec.markdown @@ -11,6 +11,9 @@ ha_category: Automation logo: hdmi.png ha_release: 0.23 ha_iot_class: "Local Push" +redirect_from: + - /components/media_player.hdmi_cec/ + - /components/switch.hdmi_cec/ --- The `hdmi_cec` component provides services that allow selecting the active device, powering on all devices, setting all devices to standby and creates switch entities for HDMI devices. Devices are defined in the configuration file by associating HDMI port number and a device name. Connected devices that provide further HDMI ports, such as sound-bars and AVRs are also supported. Devices are listed from the perspective of the CEC-enabled Home Assistant device. Any connected device can be listed, regardless of whether it supports CEC. Ideally the HDMI port number on your device will map correctly the CEC physical address. If it does not, use `cec-client` (part of the `libcec` package) to listen to traffic on the CEC bus and discover the correct numbers. @@ -32,7 +35,7 @@ If you are using [Hass.io](/hassio/) then just move forward to the configuration #### {% linkable_title Symlinking into virtual environment %} Create a symlink to the `cec` installation including the _cec.so file. Keep in mind different installation methods will result in different locations of cec. - + ```bash $ ln -s /path/to/your/installation/of/cec /path/to/your/venv/lib/python*/site-packages $ ln -s /path/to/your/installation/of/_cec.so /path/to/your/venv/lib/python*/site-packages @@ -49,19 +52,19 @@ $ ln -s /usr/local/lib/python*/dist-packages/_cec.so /srv/homeassistant/lib/pyth ``` -

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 `

## {% linkable_title Testing your installation %} -* Login to Raspberry Pi +* Login to Raspberry Pi ```bash ssh pi@your_raspberry_pi_ip ``` -* at the command line type: +* at the command line type: ```bash echo scan | cec-client -s -d 1 @@ -169,7 +172,7 @@ action: data: device: Chromecast ``` - + ### {% linkable_title Power On %} Call the `hdmi_cec.power_on` service (no arguments) to power on any devices that support this function. diff --git a/source/_components/hlk_sw16.markdown b/source/_components/hlk_sw16.markdown new file mode 100644 index 00000000000..112cd59704e --- /dev/null +++ b/source/_components/hlk_sw16.markdown @@ -0,0 +1,90 @@ +--- +layout: page +title: "HLK-SW16 Relay Module" +description: "Instructions on how to integrate HLK-SW16 relay into Home Assistant." +date: 2018-10-29 20:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: hlktech.jpg +ha_category: DIY +ha_release: 0.84 +ha_iot_class: "Local Push" +--- + +The [HLK-SW16](http://www.hlktech.net/product_detail.php?ProId=48) by [Hi-Link](http://www.hlktech.net/) is a simple networkable 16 port relay device. + +To enable it, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +hlk_sw16: + relay1: + host: 10.225.225.53 + switches: + 0: + name: relay1-0 + 1: + name: relay1-1 + 2: + name: relay1-2 + 3: + name: relay1-3 + 4: + name: relay1-4 + 5: + name: relay1-5 + 6: + name: relay1-6 + 7: + name: relay1-7 + 8: + name: relay1-8 + 9: + name: relay1-9 + a: + name: relay1-a + b: + name: relay1-b + c: + name: relay1-c + d: + name: relay1-d + e: + name: relay1-e + f: + name: relay1-f +``` + +{% configuration %} +deviceid: + description: The array that contains the HLK-SW16 devices. + required: true + type: map + keys: + host: + description: The IP address or hostname of the HLK-SW16. + required: true + type: string + port: + description: The control port for the relays. + required: false + type: integer + default: 8080 + switches: + description: The array that contains the relays. + required: true + type: map + keys: + relayid: + description: The array that contains the HLK-SW16 relays, each must be a number between 0 and 9 or letter between a and f which each corresponds to a labled relay switch on the HLK-SW16. + required: false + type: map + keys: + name: + description: The name used to display the switch in the frontend. + required: false + type: string + default: relayid +{% endconfiguration %} diff --git a/source/_components/homematic.markdown b/source/_components/homematic.markdown index 86ff3df552e..dede62718a4 100644 --- a/source/_components/homematic.markdown +++ b/source/_components/homematic.markdown @@ -16,12 +16,12 @@ featured: false The [Homematic](http://www.homematic.com/) component provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit. If you are using Homegear with paired [Intertechno](http://intertechno.at/) devices, uni-directional communication is possible as well. -Device support is available for most of the wired and wireless devices, as well as a few IP devices. If you have a setup with mixed protocols, you have to configure additional hosts with the appropriate ports. The default is using port 2001, which are wireless devices. Wired devices usually are available through port 2000 and IP devices through port 2010. The virtual thermostatgroups the CCU provides use port 9292 **and** require you to set the `path` setting to `/groups`. +Device support is available for most of the wired and wireless devices, as well as a lot of IP devices. If you have a setup with mixed protocols, you have to configure additional [interfaces](https://www.home-assistant.io/components/homematic#interfaces) with the appropriate ports. The default is using port 2001, which are wireless devices. Wired devices usually are available through port 2000 and IP devices through port 2010. The virtual thermostatgroups the CCU provides use port 9292 **and** require you to set the `path` setting to `/groups`. When using SSL on a CCU3, by default the same ports as usual with a prepended 4 are available. So 2001 becomes 42001, 2010 becomes 42010 etc.. If you want to see if a specific device you have is supported, head over to the [pyhomematic](https://github.com/danielperna84/pyhomematic/tree/master/pyhomematic/devicetypes) repository and browse through the source code. A dictionary with the device identifiers (e.g., HM-Sec-SC-2) can be found within the relevant modules near the bottom. If your device is not supported, feel free to contribute. We automatically detect all devices we currently support and try to generate useful names. If you enable name-resolving, we try to fetch names from Metadata (Homegear), via JSON-RPC or the XML-API you may have installed on your CCU. Since this may fail this is disabled by default. -You can manually rename the created entities by using Home Assistant's [Customizing](/docs/configuration/customizing-devices/) feature. With it you are also able to hide entities you don't want to see in the UI. +You can manually rename the created entities by using Home Assistant's [Customizing](/docs/configuration/customizing-devices/) feature. With it you are also able to hide entities you don't want to see in the UI. The HomeMatic component is also supported by the [Entity Registry](https://developers.home-assistant.io/docs/en/entity_registry_index.html), which allows you to change the friendly name and the entity ID directly in the Home Assistant UI. To set up the component, add the following information to your `configuration.yaml` file: @@ -61,9 +61,19 @@ host: required: true type: string port: - description: "Port of CCU/Homegear XML-RPC Server. Wireless: 2001, wired: 2000, IP: 2010, thermostatgroups: 9292." + description: "Port of CCU/Homegear XML-RPC Server. Wireless: 2001, wired: 2000, IP: 2010, thermostatgroups: 9292. With enabled SSL on the CCU3 usually a 4 is prepended to the Port. e.g., 2001 becomes 42001 with enabled SSL." required: false type: integer +ssl: + default: false + description: Set to `true` if SSL support is enabled on the CCU3. + required: false + type: boolean +verify_ssl: + default: false + description: Set to `true` if a valid certificate is being used. The default is `false` as usually a self-signed certificate is configured. + required: false + type: boolean callback_ip: description: Set this, if Home Assistant is reachable under a different IP from the CCU (NAT, Docker etc.). required: false @@ -78,7 +88,7 @@ resolvenames: type: string default: false jsonport: - description: Port of CCU JSON-RPC Server. The default is 80, but it may be different when running CCU virtually via Docker. + description: Port of CCU JSON-RPC Server. The default is 80, but it may be different when running CCU virtually via Docker or with enabled SSL. required: false type: integer username: diff --git a/source/_components/ifttt.markdown b/source/_components/ifttt.markdown index f2b83c028d8..32f848d63b8 100644 --- a/source/_components/ifttt.markdown +++ b/source/_components/ifttt.markdown @@ -29,7 +29,7 @@ For example, set the body of the IFTTT webhook to: { "action": "call_service", "service": "light.turn_on", "entity_id": "light.living_room" } ``` -You can then consume that information with the following automation: +You then need to consume that incoming information with the following automation: ```yaml automation: diff --git a/source/_components/ihc.markdown b/source/_components/ihc.markdown index 5fca84708fe..2ec4eaaabbb 100644 --- a/source/_components/ihc.markdown +++ b/source/_components/ihc.markdown @@ -21,12 +21,16 @@ An `ihc` section must be present in the `configuration.yaml` file and contain the following options: ```yaml -# Example configuration.yaml entry +# Example configuration.yaml entry for two IHC controllers ihc: - url: http://192.168.1.3 - username: YOUR_USERNAME - password: YOUR_PASSWORD - info: true + - url: 'http://192.168.1.3' + username: YOUR_USERNAME + password: YOUR_PASSWORD + info: true + - url: 'http://192.168.1.4' + username: YOUR_USERNAME2 + password: YOUR_PASSWORD2 + info: true ``` {% configuration %} diff --git a/source/_components/input_boolean.markdown b/source/_components/input_boolean.markdown index f3ada16039b..8093371b037 100644 --- a/source/_components/input_boolean.markdown +++ b/source/_components/input_boolean.markdown @@ -48,7 +48,7 @@ input_boolean: ### {% 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 does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. +This component will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. ## {% linkable_title Automation Examples %} diff --git a/source/_components/input_datetime.markdown b/source/_components/input_datetime.markdown index b7a45611eff..ae403e12759 100644 --- a/source/_components/input_datetime.markdown +++ b/source/_components/input_datetime.markdown @@ -81,11 +81,8 @@ automations and templates. ### {% 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 does **not** have a set value for `initial`. To disable this feature, set -a valid value for `initial`. Additional information can be found in the -[Restore state](/components/recorder/#restore-state) section of the -[`recorder`](/components/recorder/) component documentation. +Assistant stopping as long as your entity does **not** have a set value for +`initial`. To disable this feature, set a valid value for `initial`. ### {% linkable_title Services %} diff --git a/source/_components/input_number.markdown b/source/_components/input_number.markdown index 21028b5b904..840803033f3 100644 --- a/source/_components/input_number.markdown +++ b/source/_components/input_number.markdown @@ -85,7 +85,7 @@ input_number: ### {% 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 does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. +This component will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. ## {% linkable_title Automation Examples %} diff --git a/source/_components/input_select.markdown b/source/_components/input_select.markdown index 3327a961bb8..826ddb9f7c7 100644 --- a/source/_components/input_select.markdown +++ b/source/_components/input_select.markdown @@ -65,7 +65,7 @@ Because YAML defines [booleans](http://yaml.org/type/bool.html) as equivalent, a ### {% 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 does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. +This component will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. ### {% linkable_title Services %} diff --git a/source/_components/input_text.markdown b/source/_components/input_text.markdown index fc1247988ba..cfa3ec4cdf7 100644 --- a/source/_components/input_text.markdown +++ b/source/_components/input_text.markdown @@ -72,4 +72,4 @@ input_text: ### {% 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 does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. +This component will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. diff --git a/source/_components/light.ihc.markdown b/source/_components/light.ihc.markdown index 22a7b2cf60b..9d2d724b86e 100644 --- a/source/_components/light.ihc.markdown +++ b/source/_components/light.ihc.markdown @@ -27,18 +27,19 @@ project and setup as light devices: - Wireless mobile dimmer - Dataline lamp outlet -To manually configure IHC lights insert this section in your configuration: +To manually configure IHC lights insert the "lights" section in +your IHC configuration: ```yaml -light: - - platform: ihc +ihc: + - url: 'http://192.168.1.3' + username: YOUR_USERNAME2 + password: YOUR_PASSWORD2 + info: true lights: - id: 12345 name: tablelight - dimmable: True - - id: 12346 - name: anotherlight - ... + - id: 23432 ``` {% configuration %} @@ -48,7 +49,7 @@ lights: type: map keys: dimmable: - description: Set to True if the IHC resource is a light level + description: Set to True if the IHC resource is a light level. required: false type: boolean default: false @@ -60,6 +61,14 @@ lights: description: The name of the component required: false type: string + note: + description: Descriptive note. + required: false + type: string + position: + description: Where it is placed. + required: false + type: string {% endconfiguration %} In the example above 12345 is ihc resource id and "tablelight" is the name. diff --git a/source/_components/light.lightwave.markdown b/source/_components/light.lightwave.markdown new file mode 100644 index 00000000000..234a04d8273 --- /dev/null +++ b/source/_components/light.lightwave.markdown @@ -0,0 +1,18 @@ +--- +layout: page +title: "Lightwave Light" +description: "Instructions on how to integrate Lightwave lights with Home Assistant." +date: 2018-12-05 18:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: lightwave.png +ha_category: Light +ha_release: 0.84 +ha_iot_class: "Assumed State" +--- +The `lightwave` light platform integrates your Lightwave lights into Home Assistant. +

+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://:' + username: YOUR_USERNAME + password: YOUR_PASSWORD +``` + +{% configuration %} +url: + description: The URL of the Web UI of qBittorrent. + required: true + type: string +name: + description: The name to use when displaying this qBittorrent instance. + required: false + type: string +username: + description: The username of the Web UI of qBittorrent. + required: true + type: string +password: + description: The password of the Web UI of qBittorrent. + required: true + type: string +{% endconfiguration %} diff --git a/source/_components/sensor.systemmonitor.markdown b/source/_components/sensor.systemmonitor.markdown index 10da7021396..48e8f885880 100644 --- a/source/_components/sensor.systemmonitor.markdown +++ b/source/_components/sensor.systemmonitor.markdown @@ -70,7 +70,6 @@ file. | processor_use | | | process | Binary, e.g., `octave-cli` | | last_boot | | -| since_last_boot | | ## {% linkable_title Linux specific %} diff --git a/source/_components/sensor.waterfurnace.markdown b/source/_components/sensor.waterfurnace.markdown new file mode 100644 index 00000000000..12545ff5a61 --- /dev/null +++ b/source/_components/sensor.waterfurnace.markdown @@ -0,0 +1,17 @@ +--- +layout: page +title: "WaterFurnace Sensors" +description: "Instructions on how to integrate WaterFurnace Geothermal System sensors into Home Assistant." +date: 2018-01-19 17:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: waterfurnace.png +ha_category: Sensor +ha_release: 0.62 +ha_iot_class: "Cloud Polling" +--- + +Integrates WaterFurnace sensors into Home Assistant. See the [main component](/components/waterfurnace/) for configuration instructions. + diff --git a/source/_components/switch.hlk_sw16.markdown b/source/_components/switch.hlk_sw16.markdown new file mode 100644 index 00000000000..8095622e0a5 --- /dev/null +++ b/source/_components/switch.hlk_sw16.markdown @@ -0,0 +1,18 @@ +--- +layout: page +title: "HLK-SW16 Relay Module" +description: "Instructions on how to integrate HLK-SW16 relay switches into Home Assistant." +date: 2018-10-29 20:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: hlktech.jpg +ha_category: Switch +ha_release: 0.84 +ha_iot_class: "Local Push" +--- + +See the [HLK-SW16 main component](/components/hlk_sw16/) for configuration instructions. + +The HLK-SW16 is a simple 16 port relay switch. diff --git a/source/_components/switch.ihc.markdown b/source/_components/switch.ihc.markdown index 5f70b909cf7..4d0125807d6 100644 --- a/source/_components/switch.ihc.markdown +++ b/source/_components/switch.ihc.markdown @@ -24,17 +24,18 @@ project and setup as switch devices: - Mobile wireless relay - Dataline plug outlet -To manually configure IHC switches insert this section in your configuration: +To manually configure IHC switches insert the "switches" section in your +IHC configuration: ```yaml -switch: - - platform: ihc - auto_setup: True +ihc: + - url: 'http://192.168.1.3' + username: YOUR_USERNAME + password: YOUR_PASSWORD + info: true switches: - - id: 12345 - name: myswitch - - id: 12346 - .... + - id: 12345 + - id: 12346 ``` {% configuration %} @@ -51,6 +52,14 @@ switches: description: The name of the component 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 boolean resource (On/Off). diff --git a/source/_components/switch.lightwave.markdown b/source/_components/switch.lightwave.markdown new file mode 100644 index 00000000000..0734a9a8370 --- /dev/null +++ b/source/_components/switch.lightwave.markdown @@ -0,0 +1,18 @@ +--- +layout: page +title: "Lightwave Switch" +description: "Instructions on how to integrate Lightwave Switches with Home Assistant." +date: 2018-12-05 18:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: lightwave.png +ha_category: Switch +ha_release: 0.84 +ha_iot_class: "Assumed State" +--- +The `lightwave` switch platform integrates your Lightwave switches into Home Assistant. +

+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 @@ +
+

Advanced

+ +
+

Cards