From 696ddfbb10d85a55cb6b4fb4dfbdc4d1280a6112 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Fri, 5 Oct 2018 18:01:47 +0200 Subject: [PATCH 001/217] Update Velux component configuration variable (#6532) Update style of velux component documentation to follow new configuration variables description. Related to #6385. --- source/_components/velux.markdown | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/source/_components/velux.markdown b/source/_components/velux.markdown index f73ddfab26b..171b0f5c422 100644 --- a/source/_components/velux.markdown +++ b/source/_components/velux.markdown @@ -13,7 +13,7 @@ ha_release: 0.49 ha_iot_class: "Local Polling" --- -[Velux](http://www.velux.com) integration for Home Assistant allows you to connect to a Velux KLF 200 interface, to control [io-homecontrol](http://www.io-homecontrol.com) devices like windows and blinds. The module allows you to start scenes configured within KLF 200. +[Velux](http://www.velux.com) integration for Home Assistant allows you to connect to a Velux KLF 200 interface, to control [io-homecontrol](http://www.io-homecontrol.com) devices like windows and blinds. The module allows you to start scenes configured within KLF 200. A `velux` section must be present in the `configuration.yaml` file and contain the following options as required: @@ -24,7 +24,13 @@ velux: password: "velux123" ``` -Configuration variables: - -- **host** (*Required*): The IP address or hostname of the KLF 200 to use. -- **password** (*Required*): The password of the KLF 200 interface. +{% configuration %} +host: + description: The IP address or hostname of the KLF 200 to use. + required: true + type: string +password: + description: The password of the KLF 200 interface. + required: true + type: string +{% endconfiguration %} From f351e5f4dcf4405e11edb4e3e022a13c87f15529 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Fri, 5 Oct 2018 18:08:35 +0200 Subject: [PATCH 002/217] Update Velux component configuration variable (#6533) Update style of tesla component documentation to follow new configuration variables description. Related to #6385. --- source/_components/tesla.markdown | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/source/_components/tesla.markdown b/source/_components/tesla.markdown index f912af94f82..c004585e369 100644 --- a/source/_components/tesla.markdown +++ b/source/_components/tesla.markdown @@ -33,8 +33,18 @@ tesla: password: YOUR_PASSWORD ``` -Configuration variables: - -- **username** (*Required*): The email address associated with your Tesla account. -- **password** (*Required*): The password for your given Tesla account. -- **scan_interval** (*Optional*): API polling interval. Minimal value can't be less then 300. (Defaults 300) +{% configuration %} +username: + description: The email address associated with your Tesla account. + required: true + type: string +password: + description: The password associated with your Tesla account. + required: true + type: string +scan_interval: + description: API polling interval. Minimal value can't be less then 300. + required: false + default: 300 + type: integer +{% endconfiguration %} From 80a6251609b01f65eaa334037a8a7fa5819e22e2 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 5 Oct 2018 19:41:57 +0200 Subject: [PATCH 003/217] Add RC release blog post stub --- _config.yml | 8 +- source/_posts/2018-10-12-release-80.markdown | 557 +++++++++++++++++++ 2 files changed, 561 insertions(+), 4 deletions(-) create mode 100644 source/_posts/2018-10-12-release-80.markdown diff --git a/_config.yml b/_config.yml index 901bd01abf4..7896bba2547 100644 --- a/_config.yml +++ b/_config.yml @@ -141,14 +141,14 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 79 -current_patch_version: 3 -date_released: 2018-10-02 +current_minor_version: 80 +current_patch_version: 0 +date_released: 2018-10-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. # Major release: -patch_version_notes: "#release-0793---october-2" +patch_version_notes: "#" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/source/_posts/2018-10-12-release-80.markdown b/source/_posts/2018-10-12-release-80.markdown new file mode 100644 index 00000000000..ed5ab413b8b --- /dev/null +++ b/source/_posts/2018-10-12-release-80.markdown @@ -0,0 +1,557 @@ +--- +layout: post +title: "0.80: TO DO - UPDATE DATE +description: "TBD" +date: 2018-10-05 00:01:00 +date_formatted: "October 12, 2018" +author: Paulus Schoutsen +author_twitter: balloob +comments: true +categories: Release-Notes +og_image: /images/blog/2018-10-release-0.80/components.png +--- + +## {% linkable_title New Platforms %} + +- Extract lovelace to it's own component ([@balloob] - [#16816]) ([frontend docs]) ([lovelace docs]) (new-platform) +- GitLab-CI sensor integration addition. ([@DanielWinks] - [#16561]) ([sensor.gitlab_ci docs]) (new-platform) +- Add support for Opple light ([@jedmeng] - [#16765]) ([light.opple docs]) (new-platform) +- Add (EU-based) Honeywell evohome CH/DHW controller ([@zxdavb] - [#16427]) ([evohome docs]) ([climate.evohome docs]) ([climate.honeywell docs]) (new-platform) +- Add webhook + IFTTT example ([@balloob] - [#16817]) ([ifttt docs]) ([webhook docs]) (new-platform) +- Add basic support for Tradfri switches ([@ggravlingen] - [#17007]) ([tradfri docs]) ([switch.tradfri docs]) (new-platform) +- Break up websocket component ([@balloob] - [#17003]) ([camera docs]) ([config docs]) ([media_player docs]) ([websocket_api docs]) (new-platform) +- Add AquaLogic component ([@swilson] - [#16763]) ([aqualogic docs]) ([sensor.aqualogic docs]) ([switch.aqualogic docs]) (new-platform) +- Overhaul of Blink platform ([@fronzbot] - [#16942]) ([blink docs]) ([alarm_control_panel.blink docs]) ([binary_sensor.blink docs]) ([camera.blink docs]) ([sensor.blink docs]) (breaking change) (new-platform) +- Add support for Hass.io discovery feature for Add-ons ([@pvizeli] - [#17035]) ([hassio docs]) (new-platform) +- Tibber component and notify ([@Danielhiversen] - [#17062]) ([notify docs]) ([tibber docs]) ([sensor.tibber docs]) (breaking change) (new-platform) +- Add new component fritzbox binary_sensor ([@hthiery] - [#17057]) ([fritzbox docs]) ([binary_sensor.fritzbox docs]) (new-platform) + +## {% linkable_title New Features %} + +- Add faucet, shower, sprinkler, valve to HomeKit ([@cdce8p] - [#17145]) ([homekit docs]) (new-feature) + +## {% linkable_title If you need help... %} + +...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. + +## {% linkable_title Reporting Issues %} + +Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template. + + + +## {% linkable_title Breaking Changes %} + +- Add additional Netatmo public data sensors ([@GP8x] - [#16671]) ([netatmo docs]) ([sensor.netatmo_public docs]) (breaking change) +- Update cover tests ([@cdce8p] - [#16832]) ([cover docs]) (breaking change) +- Remove service helper (3) ([@cdce8p] - [#16879]) ([duckdns docs]) ([google_assistant docs]) ([group docs]) ([homematic docs]) ([image_processing docs]) ([input_boolean docs]) ([input_number docs]) ([input_select docs]) ([input_text docs]) (breaking change) +- Use HA native OAuth2 flow for google assistant components ([@awarecan] - [#16848]) ([google_assistant docs]) (breaking change) +- Remove service helper (2) ([@cdce8p] - [#16863]) ([alarm_control_panel docs]) ([automation docs]) ([camera docs]) ([climate docs]) ([counter docs]) ([fan docs]) (breaking change) +- Remove service helper (4) ([@cdce8p] - [#16892]) ([lock docs]) ([media_player docs]) ([notify docs]) ([remote docs]) ([scene docs]) ([timer docs]) ([vacuum docs]) (breaking change) +- Remove service helper (5) ([@cdce8p] - [#16917]) ([config docs]) ([device_sun_light_trigger docs]) ([light docs]) ([script docs]) ([switch docs]) ([switch.flux docs]) (breaking change) +- Remove service helper (6) ([@cdce8p] - [#16920]) ([automation docs]) ([config docs]) ([device_tracker docs]) ([group docs]) (breaking change) +- Rachio component modernization ([@OverloadUT] - [#16911]) ([rachio docs]) ([binary_sensor.rachio docs]) ([switch.rachio docs]) (breaking change) +- Remove alert service helper ([@cdce8p] - [#17038]) ([alert docs]) (breaking change) +- Remove service helper (8) ([@cdce8p] - [#17055]) ([config docs]) ([ffmpeg docs]) ([keyboard docs]) ([logger docs]) ([microsoft_face docs]) (breaking change) +- Overhaul of Blink platform ([@fronzbot] - [#16942]) ([blink docs]) ([alarm_control_panel.blink docs]) ([binary_sensor.blink docs]) ([camera.blink docs]) ([sensor.blink docs]) (breaking change) (new-platform) +- Tibber component and notify ([@Danielhiversen] - [#17062]) ([notify docs]) ([tibber docs]) ([sensor.tibber docs]) (breaking change) (new-platform) +- Remove discovery ([@balloob] - [#17070]) ([hue docs]) (breaking change) + +## {% linkable_title All changes %} + +- Add mode (daily/hourly) to darksky ([@randellhodges] - [#16719]) ([weather docs]) ([weather.darksky docs]) ([weather.openweathermap docs]) +- Extract lovelace to it's own component ([@balloob] - [#16816]) ([frontend docs]) ([lovelace docs]) (new-platform) +- Remove discovered MQTT alarm_control_panel device when discovery topic is cleared ([@emontnemery] - [#16825]) ([alarm_control_panel.mqtt docs]) +- Remove discovered MQTT light device when discovery topic is cleared ([@emontnemery] - [#16824]) ([light.mqtt docs]) +- Add unique_id to homematic_cloud ([@sander76] - [#16828]) ([homematicip_cloud docs]) +- Don't create entity registry in tests ([@balloob] - [#16838]) +- Add additional Netatmo public data sensors ([@GP8x] - [#16671]) ([netatmo docs]) ([sensor.netatmo_public docs]) (breaking change) +- GitLab-CI sensor integration addition. ([@DanielWinks] - [#16561]) ([sensor.gitlab_ci docs]) (new-platform) +- Config entry update data ([@balloob] - [#16843]) +- Fix MQTT leaving files behind ([@balloob] - [#16840]) +- change unknown to None in Netatmo public ([@Danielhiversen] - [#16845]) ([sensor.netatmo_public docs]) +- Remove discovered MQTT binary_sensor device when discovery topic is cleared ([@emontnemery] - [#16826]) ([binary_sensor.mqtt docs]) +- On removal, only unload config entry if loaded ([@balloob] - [#16844]) +- Add image support to hangouts notifications ([@quazzie] - [#16560]) ([hangouts docs]) +- Remove discovered MQTT climate device when discovery topic is cleared ([@emontnemery] - [#16856]) ([climate.mqtt docs]) +- Fix files left behind ([@balloob] - [#16855]) +- Move MQTT discovery removal tests to platform test files ([@emontnemery] - [#16861]) +- Remove discovered MQTT sensor device when discovery topic is cleared ([@emontnemery] - [#16860]) ([sensor.mqtt docs]) +- Remove discovered MQTT lock device when discovery topic is cleared ([@emontnemery] - [#16859]) ([lock.mqtt docs]) +- Remove discovered MQTT fan device when discovery topic is cleared ([@emontnemery] - [#16858]) ([fan.mqtt docs]) +- Remove discovered MQTT cover device when discovery topic is cleared ([@emontnemery] - [#16857]) ([cover.mqtt docs]) +- Add executor job ([@balloob] - [#16853]) ([lovelace docs]) +- Fail if dirty ([@balloob] - [#16839]) +- Add support for Opple light ([@jedmeng] - [#16765]) ([light.opple docs]) (new-platform) +- Update cover tests ([@cdce8p] - [#16832]) ([cover docs]) (breaking change) +- Add missing __init__ test files ([@cdce8p] - [#16871]) +- Tibber realtime consumption, Tibber pulse ([@Danielhiversen] - [#16870]) ([sensor.tibber docs]) +- Upgrade to bimmer_connected 0.5.3 ([@gerard33] - [#16877]) ([bmw_connected_drive docs]) ([binary_sensor.bmw_connected_drive docs]) +- aiohttp.ClientSession gets proxy information from HTTP_PROXY/HTTPS_PROXY ([@siom79] - [#16874]) +- Remove service helper (3) ([@cdce8p] - [#16879]) ([duckdns docs]) ([google_assistant docs]) ([group docs]) ([homematic docs]) ([image_processing docs]) ([input_boolean docs]) ([input_number docs]) ([input_select docs]) ([input_text docs]) (breaking change) +- Fix fan_init test ([@cdce8p] - [#16865]) +- Use HA native OAuth2 flow for google assistant components ([@awarecan] - [#16848]) ([google_assistant docs]) (breaking change) +- Remove service helper (2) ([@cdce8p] - [#16863]) ([alarm_control_panel docs]) ([automation docs]) ([camera docs]) ([climate docs]) ([counter docs]) ([fan docs]) (breaking change) +- Revert incorrect check ([@balloob] - [#16883]) ([media_player.soundtouch docs]) +- Added support for private storage. ([@nickovs] - [#16878]) ([onboarding docs]) +- Fix example for long-lived access token WS API ([@awarecan] - [#16882]) ([auth docs]) +- Add bitwise operations as template helpers ([@blakeblackshear] - [#16833]) +- Telegram_bot polling support proxy_url and proxy_params (Fix #15746) ([@Anonym-tsk] - [#16740]) ([telegram_bot docs]) +- Update language strings ([@cgtobi] - [#16884]) ([auth docs]) +- Don't pass use_env=True ([@balloob] - [#16896]) +- Revert file mode write_json ([@balloob] - [#16897]) +- Remove service helper (4) ([@cdce8p] - [#16892]) ([lock docs]) ([media_player docs]) ([notify docs]) ([remote docs]) ([scene docs]) ([timer docs]) ([vacuum docs]) (breaking change) +- Remove unused legacy test helper methods ([@cdce8p] - [#16893]) +- Remove unused import ([@amelchio] - [#16909]) +- Upgrade aiolifx_effects to 0.2.0 ([@amelchio] - [#16900]) ([light.lifx docs]) +- Upgrade pysonos to 0.0.3 ([@amelchio] - [#16901]) ([sonos docs]) ([media_player.sonos docs]) +- Ignore Xiaomi hub callbacks during setup ([@amelchio] - [#16910]) ([xiaomi_aqara docs]) +- Update new values coming in for dev registry ([@balloob] - [#16852]) +- MQTT Light - Do not throw if property is missing from templated MQTT message ([@emontnemery] - [#16720]) ([light.mqtt docs]) +- Add new services for set/refresh Z-Wave device values ([@blakeblackshear] - [#16638]) ([zwave docs]) +- Add (EU-based) Honeywell evohome CH/DHW controller ([@zxdavb] - [#16427]) ([evohome docs]) ([climate.evohome docs]) ([climate.honeywell docs]) (new-platform) +- Make MQTT platforms config entries ([@OttoWinter] - [#16904]) ([mqtt docs]) ([sensor.mqtt docs]) +- Fix auth redirect ([@balloob] - [#16914]) ([frontend docs]) +- Fix MQTT Config Entry Discovery ([@OttoWinter] - [#16919]) ([mqtt docs]) +- Remove service helper (5) ([@cdce8p] - [#16917]) ([config docs]) ([device_sun_light_trigger docs]) ([light docs]) ([script docs]) ([switch docs]) ([switch.flux docs]) (breaking change) +- Remove service helper (6) ([@cdce8p] - [#16920]) ([automation docs]) ([config docs]) ([device_tracker docs]) ([group docs]) (breaking change) +- Rachio component modernization ([@OverloadUT] - [#16911]) ([rachio docs]) ([binary_sensor.rachio docs]) ([switch.rachio docs]) (breaking change) +- Remove discovered mqtt_json light entity when discovery is cleared ([@OttoWinter] - [#16906]) ([light.mqtt_json docs]) +- Fix race between script delay and turn_off ([@amelchio] - [#16923]) +- Move more MQTT platforms to config entries ([@OttoWinter] - [#16918]) ([mqtt docs]) ([alarm_control_panel.mqtt docs]) ([binary_sensor.mqtt docs]) ([camera.mqtt docs]) ([climate.mqtt docs]) ([cover.mqtt docs]) ([light.mqtt docs]) ([switch.mqtt docs]) +- Add zwave.network_complete_some_dead event ([@janvanhelvoort] - [#16894]) ([zwave docs]) +- Convert fan component to config entry ([@OttoWinter] - [#16951]) ([fan docs]) +- Add unique_id to MQTT cover ([@OttoWinter] - [#16950]) ([cover.mqtt docs]) +- Add unique_id to MQTT fan ([@OttoWinter] - [#16949]) ([fan.mqtt docs]) +- Add pressure sensor device class ([@OttoWinter] - [#16965]) ([sensor docs]) ([sensor.xiaomi_aqara docs]) +- Upgrade pytest to 3.8.1 ([@scop] - [#16980]) +- Add webhook + IFTTT example ([@balloob] - [#16817]) ([ifttt docs]) ([webhook docs]) (new-platform) +- Google Maps supports battery level and charging. ([@htotoo] - [#16969]) ([device_tracker docs]) +- Add basic support for Tradfri switches ([@ggravlingen] - [#17007]) ([tradfri docs]) ([switch.tradfri docs]) (new-platform) +- Homematic cloud device update fix ([@sander76] - [#17001]) ([homematicip_cloud docs]) +- Async syntax 1, alarm_control_panel & automation & binary_sensor ([@cdce8p] - [#17015]) +- Async syntax 2, camera & climate & config ([@cdce8p] - [#17016]) +- Update Z-Wave service descriptions to point to proper log file ([@cgarwood] - [#17024]) +- Async syntax 8/8 ([@cdce8p] - [#17022]) +- Async syntax 7, switch & tts & vacuum ([@cdce8p] - [#17021]) +- Async syntax 6, sensor ([@cdce8p] - [#17020]) +- Async syntax 5, light & lock & remote & scene & telegram & helpers ([@cdce8p] - [#17019]) +- Async syntax 4/8 ([@cdce8p] - [#17018]) +- Async syntax 3/8 ([@cdce8p] - [#17017]) +- Fix MQTT discovery ([@OttoWinter] - [#17004]) ([mqtt docs]) +- Upgrade huawei-lte-api to 1.0.16 ([@scop] - [#16972]) ([huawei_lte docs]) +- Upgrade locationsharinglib to 3.0.3 ([@fabaff] - [#17010]) ([device_tracker docs]) +- Break up websocket component ([@balloob] - [#17003]) ([camera docs]) ([config docs]) ([media_player docs]) ([websocket_api docs]) (new-platform) +- :hammer: update errors ([@timmo001] - [#17029]) ([switch.rest docs]) +- Add new device attributes to fritzbox climate ([@hthiery] - [#17027]) ([fritzbox docs]) ([climate.fritzbox docs]) +- Bump Enphase_Envoy dependency for older models ([@DavidDeSloovere] - [#17032]) ([sensor.enphase_envoy docs]) +- Add Hass.io discovery to MQTT ([@balloob] - [#16962]) ([mqtt docs]) +- Update coverage to exclude not tested file ([@cdce8p] - [#17039]) +- Send headers with REST switch GET request ([@andersonshatch] - [#17036]) ([switch.rest docs]) +- Async syntax ([@cdce8p] - [#17033]) ([alert docs]) ([binary_sensor.ffmpeg_motion docs]) ([binary_sensor.ffmpeg_noise docs]) ([sensor.mqtt_room docs]) +- Break up websocket 2 ([@balloob] - [#17028]) +- Logbook context ([@balloob] - [#16937]) ([logbook docs]) +- Remove error logging when Sonos shuffle_set is not available ([@amelchio] - [#16921]) ([media_player.sonos docs]) +- Fix long update 'load_power' and 'in_use' for Xiaomi Zegbee Plug ([@Anonym-tsk] - [#16915]) ([switch.xiaomi_aqara docs]) +- Mind the unit system (fixes #16819) ([@fabaff] - [#16823]) ([weather.openweathermap docs]) +- Suppress urllib3 header parsing error ([@cgarwood] - [#17042]) ([camera.mjpeg docs]) +- Support code 7 ([@SNoof85] - [#17047]) ([vacuum.xiaomi_miio docs]) +- Update pyhomematic to 0.1.50 ([@danielperna84] - [#17048]) ([homematic docs]) +- Remove alert service helper ([@cdce8p] - [#17038]) ([alert docs]) (breaking change) +- Add AquaLogic component ([@swilson] - [#16763]) ([aqualogic docs]) ([sensor.aqualogic docs]) ([switch.aqualogic docs]) (new-platform) +- Update pynetgear to 0.4.2 (fix #14752) ([@MatMaul] - [#17064]) ([device_tracker docs]) +- Added working support for private storage ([@nickovs] - [#16903]) +- GeoRSS events sensor refactored ([@exxamalte] - [#16939]) ([sensor.geo_rss_events docs]) +- Remove service helper (8) ([@cdce8p] - [#17055]) ([config docs]) ([ffmpeg docs]) ([keyboard docs]) ([logger docs]) ([microsoft_face docs]) (breaking change) +- MJPEG Camera Log Filter Fixes ([@cgarwood] - [#17050]) ([camera.mjpeg docs]) +- OpenUV: Fixed issue with missing protection window data ([@bachya] - [#17051]) ([openuv docs]) ([binary_sensor.openuv docs]) +- async_create_task ([@cdce8p] - [#17059]) +- De-syncing binary_sensor.ping ([@thomasloven] - [#17056]) ([binary_sensor.ping docs]) +- Add logging to light updates ([@balloob] - [#17069]) ([light.hue docs]) +- Catch possible errors from tradfri ([@balloob] - [#17068]) ([tradfri docs]) +- Allow no movement in vamera.onvif_ptz service ([@thomasloven] - [#17065]) ([camera.onvif docs]) +- Upgrade youtube_dl to 2018.09.26 ([@fabaff] - [#17079]) ([media_extractor docs]) +- Overhaul of Blink platform ([@fronzbot] - [#16942]) ([blink docs]) ([alarm_control_panel.blink docs]) ([binary_sensor.blink docs]) ([camera.blink docs]) ([sensor.blink docs]) (breaking change) (new-platform) +- Bump pyenvisalink ([@Cinntax] - [#17086]) ([envisalink docs]) +- Async response all the things ([@balloob] - [#17073]) ([config docs]) ([websocket_api docs]) +- Add optional headers configuration for scrape ([@dippysan] - [#17085]) ([sensor.scrape docs]) +- Add support for Hass.io discovery feature for Add-ons ([@pvizeli] - [#17035]) ([hassio docs]) (new-platform) +- Keep the repeat mode when setting Sonos shuffle mode ([@amelchio] - [#17083]) ([media_player.sonos docs]) +- Smaller steps for Sonos volume up/down ([@amelchio] - [#17080]) ([media_player.sonos docs]) +- Add weather condition code to OpenWeatherMap sensor ([@dbilay] - [#17093]) ([sensor.openweathermap docs]) +- Adding myself as blink codeowner ([@fronzbot] - [#17096]) +- Change Tile icon to view-grid ([@no2chem] - [#17098]) ([device_tracker docs]) +- Fix jewish calendar sensor with language set to english ([@tsvi] - [#17104]) ([sensor.jewish_calendar docs]) +- Fix counter restore. ([@mvn23] - [#17101]) ([counter docs]) +- Support multiple accounts in Tile, use device identifiers ([@no2chem] - [#17108]) ([device_tracker.tile docs]) +- Bumps simplisafe-python to 3.1.2 ([@bachya] - [#16931]) ([alarm_control_panel.simplisafe docs]) +- Upgrade pytest to 3.8.2 ([@scop] - [#17125]) +- Fix sonos async use ([@MartinHjelmare] - [#17099]) ([media_player.sonos docs]) +- Homekit controller reconnect ([@armills] - [#17060]) ([homekit_controller docs]) +- Tibber component and notify ([@Danielhiversen] - [#17062]) ([notify docs]) ([tibber docs]) ([sensor.tibber docs]) (breaking change) (new-platform) +- Add time created to persistent notifications. ([@jeradM] - [#17121]) ([persistent_notification docs]) +- Make it easier for auth to consume newer formats ([@balloob] - [#17127]) +- Add new component fritzbox binary_sensor ([@hthiery] - [#17057]) ([fritzbox docs]) ([binary_sensor.fritzbox docs]) (new-platform) +- Update xiaomi lib ([@Danielhiversen] - [#17129]) ([xiaomi_aqara docs]) +- Add update service to Google Travel Sensor ([@arsaboo] - [#17092]) ([sensor.google_travel_time docs]) +- Fix upnp component l10n error ([@awarecan] - [#17132]) ([upnp docs]) +- Take timezone into consideration when calulating Zmanim. Partial fix for #16946 ([@tsvi] - [#17131]) ([sensor.jewish_calendar docs]) +- Allow config entry setup to raise not ready ([@balloob] - [#17135]) +- Webhook component - pass headers to webhook handler ([@kirichkov] - [#17091]) ([webhook docs]) +- Add timeout and fix oscillations on Samsung TV component ([@anapaulagomes] - [#17102]) ([media_player.samsungtv docs]) +- Remove discovery ([@balloob] - [#17070]) ([hue docs]) (breaking change) +- Bugfix invalid entity_config parameter HomeKit ([@cdce8p] - [#17143]) ([homekit docs]) +- verisure configurable polling ([@persandstrom] - [#17144]) ([verisure docs]) +- YesssSMS handling more errors, upgrade to version 0.2.3 ([@flowolf] - [#17052]) ([notify docs]) +- Added OpenUV CODEOWNERS info ([@bachya] - [#17149]) ([openuv docs]) +- Fix a typo ([@gerard33] - [#17147]) ([switch.volvooncall docs]) +- Cleanly stop tradfri on shutdown ([@lwis] - [#17114]) ([auth docs]) ([tradfri docs]) +- Fix zoneminder zms_url construction ([@rohankapoorcom] - [#17150]) ([zoneminder docs]) +- Added warning to HomeKit component ([@Julius2342] - [#16807]) ([homekit docs]) +- Add faucet, shower, sprinkler, valve to HomeKit ([@cdce8p] - [#17145]) ([homekit docs]) (new-feature) +- Fix miflora connection errors during platform setup ([@PaulAnnekov] - [#16798]) ([sensor.miflora docs]) +- Discover Danfoss/devolo RS Room Sensor thermostat ([@prophit987] - [#17153]) ([zwave docs]) +- @danielhiversen as codeowner for Tibber ([@prophit987] - [#17154]) + +[#16427]: https://github.com/home-assistant/home-assistant/pull/16427 +[#16560]: https://github.com/home-assistant/home-assistant/pull/16560 +[#16561]: https://github.com/home-assistant/home-assistant/pull/16561 +[#16638]: https://github.com/home-assistant/home-assistant/pull/16638 +[#16671]: https://github.com/home-assistant/home-assistant/pull/16671 +[#16719]: https://github.com/home-assistant/home-assistant/pull/16719 +[#16720]: https://github.com/home-assistant/home-assistant/pull/16720 +[#16740]: https://github.com/home-assistant/home-assistant/pull/16740 +[#16763]: https://github.com/home-assistant/home-assistant/pull/16763 +[#16765]: https://github.com/home-assistant/home-assistant/pull/16765 +[#16798]: https://github.com/home-assistant/home-assistant/pull/16798 +[#16807]: https://github.com/home-assistant/home-assistant/pull/16807 +[#16816]: https://github.com/home-assistant/home-assistant/pull/16816 +[#16817]: https://github.com/home-assistant/home-assistant/pull/16817 +[#16823]: https://github.com/home-assistant/home-assistant/pull/16823 +[#16824]: https://github.com/home-assistant/home-assistant/pull/16824 +[#16825]: https://github.com/home-assistant/home-assistant/pull/16825 +[#16826]: https://github.com/home-assistant/home-assistant/pull/16826 +[#16828]: https://github.com/home-assistant/home-assistant/pull/16828 +[#16832]: https://github.com/home-assistant/home-assistant/pull/16832 +[#16833]: https://github.com/home-assistant/home-assistant/pull/16833 +[#16838]: https://github.com/home-assistant/home-assistant/pull/16838 +[#16839]: https://github.com/home-assistant/home-assistant/pull/16839 +[#16840]: https://github.com/home-assistant/home-assistant/pull/16840 +[#16843]: https://github.com/home-assistant/home-assistant/pull/16843 +[#16844]: https://github.com/home-assistant/home-assistant/pull/16844 +[#16845]: https://github.com/home-assistant/home-assistant/pull/16845 +[#16848]: https://github.com/home-assistant/home-assistant/pull/16848 +[#16852]: https://github.com/home-assistant/home-assistant/pull/16852 +[#16853]: https://github.com/home-assistant/home-assistant/pull/16853 +[#16855]: https://github.com/home-assistant/home-assistant/pull/16855 +[#16856]: https://github.com/home-assistant/home-assistant/pull/16856 +[#16857]: https://github.com/home-assistant/home-assistant/pull/16857 +[#16858]: https://github.com/home-assistant/home-assistant/pull/16858 +[#16859]: https://github.com/home-assistant/home-assistant/pull/16859 +[#16860]: https://github.com/home-assistant/home-assistant/pull/16860 +[#16861]: https://github.com/home-assistant/home-assistant/pull/16861 +[#16863]: https://github.com/home-assistant/home-assistant/pull/16863 +[#16865]: https://github.com/home-assistant/home-assistant/pull/16865 +[#16870]: https://github.com/home-assistant/home-assistant/pull/16870 +[#16871]: https://github.com/home-assistant/home-assistant/pull/16871 +[#16874]: https://github.com/home-assistant/home-assistant/pull/16874 +[#16877]: https://github.com/home-assistant/home-assistant/pull/16877 +[#16878]: https://github.com/home-assistant/home-assistant/pull/16878 +[#16879]: https://github.com/home-assistant/home-assistant/pull/16879 +[#16882]: https://github.com/home-assistant/home-assistant/pull/16882 +[#16883]: https://github.com/home-assistant/home-assistant/pull/16883 +[#16884]: https://github.com/home-assistant/home-assistant/pull/16884 +[#16892]: https://github.com/home-assistant/home-assistant/pull/16892 +[#16893]: https://github.com/home-assistant/home-assistant/pull/16893 +[#16894]: https://github.com/home-assistant/home-assistant/pull/16894 +[#16896]: https://github.com/home-assistant/home-assistant/pull/16896 +[#16897]: https://github.com/home-assistant/home-assistant/pull/16897 +[#16900]: https://github.com/home-assistant/home-assistant/pull/16900 +[#16901]: https://github.com/home-assistant/home-assistant/pull/16901 +[#16903]: https://github.com/home-assistant/home-assistant/pull/16903 +[#16904]: https://github.com/home-assistant/home-assistant/pull/16904 +[#16906]: https://github.com/home-assistant/home-assistant/pull/16906 +[#16909]: https://github.com/home-assistant/home-assistant/pull/16909 +[#16910]: https://github.com/home-assistant/home-assistant/pull/16910 +[#16911]: https://github.com/home-assistant/home-assistant/pull/16911 +[#16914]: https://github.com/home-assistant/home-assistant/pull/16914 +[#16915]: https://github.com/home-assistant/home-assistant/pull/16915 +[#16917]: https://github.com/home-assistant/home-assistant/pull/16917 +[#16918]: https://github.com/home-assistant/home-assistant/pull/16918 +[#16919]: https://github.com/home-assistant/home-assistant/pull/16919 +[#16920]: https://github.com/home-assistant/home-assistant/pull/16920 +[#16921]: https://github.com/home-assistant/home-assistant/pull/16921 +[#16923]: https://github.com/home-assistant/home-assistant/pull/16923 +[#16931]: https://github.com/home-assistant/home-assistant/pull/16931 +[#16937]: https://github.com/home-assistant/home-assistant/pull/16937 +[#16939]: https://github.com/home-assistant/home-assistant/pull/16939 +[#16942]: https://github.com/home-assistant/home-assistant/pull/16942 +[#16949]: https://github.com/home-assistant/home-assistant/pull/16949 +[#16950]: https://github.com/home-assistant/home-assistant/pull/16950 +[#16951]: https://github.com/home-assistant/home-assistant/pull/16951 +[#16962]: https://github.com/home-assistant/home-assistant/pull/16962 +[#16965]: https://github.com/home-assistant/home-assistant/pull/16965 +[#16969]: https://github.com/home-assistant/home-assistant/pull/16969 +[#16972]: https://github.com/home-assistant/home-assistant/pull/16972 +[#16980]: https://github.com/home-assistant/home-assistant/pull/16980 +[#17001]: https://github.com/home-assistant/home-assistant/pull/17001 +[#17003]: https://github.com/home-assistant/home-assistant/pull/17003 +[#17004]: https://github.com/home-assistant/home-assistant/pull/17004 +[#17007]: https://github.com/home-assistant/home-assistant/pull/17007 +[#17010]: https://github.com/home-assistant/home-assistant/pull/17010 +[#17015]: https://github.com/home-assistant/home-assistant/pull/17015 +[#17016]: https://github.com/home-assistant/home-assistant/pull/17016 +[#17017]: https://github.com/home-assistant/home-assistant/pull/17017 +[#17018]: https://github.com/home-assistant/home-assistant/pull/17018 +[#17019]: https://github.com/home-assistant/home-assistant/pull/17019 +[#17020]: https://github.com/home-assistant/home-assistant/pull/17020 +[#17021]: https://github.com/home-assistant/home-assistant/pull/17021 +[#17022]: https://github.com/home-assistant/home-assistant/pull/17022 +[#17024]: https://github.com/home-assistant/home-assistant/pull/17024 +[#17027]: https://github.com/home-assistant/home-assistant/pull/17027 +[#17028]: https://github.com/home-assistant/home-assistant/pull/17028 +[#17029]: https://github.com/home-assistant/home-assistant/pull/17029 +[#17032]: https://github.com/home-assistant/home-assistant/pull/17032 +[#17033]: https://github.com/home-assistant/home-assistant/pull/17033 +[#17035]: https://github.com/home-assistant/home-assistant/pull/17035 +[#17036]: https://github.com/home-assistant/home-assistant/pull/17036 +[#17038]: https://github.com/home-assistant/home-assistant/pull/17038 +[#17039]: https://github.com/home-assistant/home-assistant/pull/17039 +[#17042]: https://github.com/home-assistant/home-assistant/pull/17042 +[#17047]: https://github.com/home-assistant/home-assistant/pull/17047 +[#17048]: https://github.com/home-assistant/home-assistant/pull/17048 +[#17050]: https://github.com/home-assistant/home-assistant/pull/17050 +[#17051]: https://github.com/home-assistant/home-assistant/pull/17051 +[#17052]: https://github.com/home-assistant/home-assistant/pull/17052 +[#17055]: https://github.com/home-assistant/home-assistant/pull/17055 +[#17056]: https://github.com/home-assistant/home-assistant/pull/17056 +[#17057]: https://github.com/home-assistant/home-assistant/pull/17057 +[#17059]: https://github.com/home-assistant/home-assistant/pull/17059 +[#17060]: https://github.com/home-assistant/home-assistant/pull/17060 +[#17062]: https://github.com/home-assistant/home-assistant/pull/17062 +[#17064]: https://github.com/home-assistant/home-assistant/pull/17064 +[#17065]: https://github.com/home-assistant/home-assistant/pull/17065 +[#17068]: https://github.com/home-assistant/home-assistant/pull/17068 +[#17069]: https://github.com/home-assistant/home-assistant/pull/17069 +[#17070]: https://github.com/home-assistant/home-assistant/pull/17070 +[#17073]: https://github.com/home-assistant/home-assistant/pull/17073 +[#17079]: https://github.com/home-assistant/home-assistant/pull/17079 +[#17080]: https://github.com/home-assistant/home-assistant/pull/17080 +[#17083]: https://github.com/home-assistant/home-assistant/pull/17083 +[#17085]: https://github.com/home-assistant/home-assistant/pull/17085 +[#17086]: https://github.com/home-assistant/home-assistant/pull/17086 +[#17091]: https://github.com/home-assistant/home-assistant/pull/17091 +[#17092]: https://github.com/home-assistant/home-assistant/pull/17092 +[#17093]: https://github.com/home-assistant/home-assistant/pull/17093 +[#17096]: https://github.com/home-assistant/home-assistant/pull/17096 +[#17098]: https://github.com/home-assistant/home-assistant/pull/17098 +[#17099]: https://github.com/home-assistant/home-assistant/pull/17099 +[#17101]: https://github.com/home-assistant/home-assistant/pull/17101 +[#17102]: https://github.com/home-assistant/home-assistant/pull/17102 +[#17104]: https://github.com/home-assistant/home-assistant/pull/17104 +[#17108]: https://github.com/home-assistant/home-assistant/pull/17108 +[#17114]: https://github.com/home-assistant/home-assistant/pull/17114 +[#17121]: https://github.com/home-assistant/home-assistant/pull/17121 +[#17125]: https://github.com/home-assistant/home-assistant/pull/17125 +[#17127]: https://github.com/home-assistant/home-assistant/pull/17127 +[#17129]: https://github.com/home-assistant/home-assistant/pull/17129 +[#17131]: https://github.com/home-assistant/home-assistant/pull/17131 +[#17132]: https://github.com/home-assistant/home-assistant/pull/17132 +[#17135]: https://github.com/home-assistant/home-assistant/pull/17135 +[#17143]: https://github.com/home-assistant/home-assistant/pull/17143 +[#17144]: https://github.com/home-assistant/home-assistant/pull/17144 +[#17145]: https://github.com/home-assistant/home-assistant/pull/17145 +[#17147]: https://github.com/home-assistant/home-assistant/pull/17147 +[#17149]: https://github.com/home-assistant/home-assistant/pull/17149 +[#17150]: https://github.com/home-assistant/home-assistant/pull/17150 +[#17153]: https://github.com/home-assistant/home-assistant/pull/17153 +[#17154]: https://github.com/home-assistant/home-assistant/pull/17154 +[@Anonym-tsk]: https://github.com/Anonym-tsk +[@Cinntax]: https://github.com/Cinntax +[@DanielWinks]: https://github.com/DanielWinks +[@Danielhiversen]: https://github.com/Danielhiversen +[@DavidDeSloovere]: https://github.com/DavidDeSloovere +[@GP8x]: https://github.com/GP8x +[@Julius2342]: https://github.com/Julius2342 +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@MatMaul]: https://github.com/MatMaul +[@OttoWinter]: https://github.com/OttoWinter +[@OverloadUT]: https://github.com/OverloadUT +[@PaulAnnekov]: https://github.com/PaulAnnekov +[@SNoof85]: https://github.com/SNoof85 +[@amelchio]: https://github.com/amelchio +[@anapaulagomes]: https://github.com/anapaulagomes +[@andersonshatch]: https://github.com/andersonshatch +[@armills]: https://github.com/armills +[@arsaboo]: https://github.com/arsaboo +[@awarecan]: https://github.com/awarecan +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@blakeblackshear]: https://github.com/blakeblackshear +[@cdce8p]: https://github.com/cdce8p +[@cgarwood]: https://github.com/cgarwood +[@cgtobi]: https://github.com/cgtobi +[@danielperna84]: https://github.com/danielperna84 +[@dbilay]: https://github.com/dbilay +[@dippysan]: https://github.com/dippysan +[@emontnemery]: https://github.com/emontnemery +[@exxamalte]: https://github.com/exxamalte +[@fabaff]: https://github.com/fabaff +[@flowolf]: https://github.com/flowolf +[@fronzbot]: https://github.com/fronzbot +[@gerard33]: https://github.com/gerard33 +[@ggravlingen]: https://github.com/ggravlingen +[@hthiery]: https://github.com/hthiery +[@htotoo]: https://github.com/htotoo +[@janvanhelvoort]: https://github.com/janvanhelvoort +[@jedmeng]: https://github.com/jedmeng +[@jeradM]: https://github.com/jeradM +[@kirichkov]: https://github.com/kirichkov +[@lwis]: https://github.com/lwis +[@mvn23]: https://github.com/mvn23 +[@nickovs]: https://github.com/nickovs +[@no2chem]: https://github.com/no2chem +[@persandstrom]: https://github.com/persandstrom +[@prophit987]: https://github.com/prophit987 +[@pvizeli]: https://github.com/pvizeli +[@quazzie]: https://github.com/quazzie +[@randellhodges]: https://github.com/randellhodges +[@rohankapoorcom]: https://github.com/rohankapoorcom +[@sander76]: https://github.com/sander76 +[@scop]: https://github.com/scop +[@siom79]: https://github.com/siom79 +[@swilson]: https://github.com/swilson +[@thomasloven]: https://github.com/thomasloven +[@timmo001]: https://github.com/timmo001 +[@tsvi]: https://github.com/tsvi +[@zxdavb]: https://github.com/zxdavb +[alarm_control_panel docs]: /components/alarm_control_panel/ +[alarm_control_panel.blink docs]: /components/alarm_control_panel.blink/ +[alarm_control_panel.mqtt docs]: /components/alarm_control_panel.mqtt/ +[alarm_control_panel.simplisafe docs]: /components/alarm_control_panel.simplisafe/ +[alert docs]: /components/alert/ +[aqualogic docs]: /components/aqualogic/ +[auth docs]: /components/auth/ +[automation docs]: /components/automation/ +[binary_sensor.blink docs]: /components/binary_sensor.blink/ +[binary_sensor.bmw_connected_drive docs]: /components/binary_sensor.bmw_connected_drive/ +[binary_sensor.ffmpeg_motion docs]: /components/binary_sensor.ffmpeg_motion/ +[binary_sensor.ffmpeg_noise docs]: /components/binary_sensor.ffmpeg_noise/ +[binary_sensor.fritzbox docs]: /components/binary_sensor.fritzbox/ +[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/ +[binary_sensor.openuv docs]: /components/binary_sensor.openuv/ +[binary_sensor.ping docs]: /components/binary_sensor.ping/ +[binary_sensor.rachio docs]: /components/binary_sensor.rachio/ +[blink docs]: /components/blink/ +[bmw_connected_drive docs]: /components/bmw_connected_drive/ +[camera docs]: /components/camera/ +[camera.blink docs]: /components/camera.blink/ +[camera.mjpeg docs]: /components/camera.mjpeg/ +[camera.mqtt docs]: /components/camera.mqtt/ +[camera.onvif docs]: /components/camera.onvif/ +[climate docs]: /components/climate/ +[climate.evohome docs]: /components/climate.evohome/ +[climate.fritzbox docs]: /components/climate.fritzbox/ +[climate.honeywell docs]: /components/climate.honeywell/ +[climate.mqtt docs]: /components/climate.mqtt/ +[config docs]: /components/config/ +[counter docs]: /components/counter/ +[cover docs]: /components/cover/ +[cover.mqtt docs]: /components/cover.mqtt/ +[device_sun_light_trigger docs]: /components/device_sun_light_trigger/ +[device_tracker docs]: /components/device_tracker/ +[device_tracker.tile docs]: /components/device_tracker.tile/ +[duckdns docs]: /components/duckdns/ +[envisalink docs]: /components/envisalink/ +[evohome docs]: /components/evohome/ +[fan docs]: /components/fan/ +[fan.mqtt docs]: /components/fan.mqtt/ +[ffmpeg docs]: /components/ffmpeg/ +[fritzbox docs]: /components/fritzbox/ +[frontend docs]: /components/frontend/ +[google_assistant docs]: /components/google_assistant/ +[group docs]: /components/group/ +[hangouts docs]: /components/hangouts/ +[hassio docs]: /components/hassio/ +[homekit docs]: /components/homekit/ +[homekit_controller docs]: /components/homekit_controller/ +[homematic docs]: /components/homematic/ +[homematicip_cloud docs]: /components/homematicip_cloud/ +[huawei_lte docs]: /components/huawei_lte/ +[hue docs]: /components/hue/ +[ifttt docs]: /components/ifttt/ +[image_processing docs]: /components/image_processing/ +[input_boolean docs]: /components/input_boolean/ +[input_number docs]: /components/input_number/ +[input_select docs]: /components/input_select/ +[input_text docs]: /components/input_text/ +[keyboard docs]: /components/keyboard/ +[light docs]: /components/light/ +[light.hue docs]: /components/light.hue/ +[light.lifx docs]: /components/light.lifx/ +[light.mqtt docs]: /components/light.mqtt/ +[light.mqtt_json docs]: /components/light.mqtt_json/ +[light.opple docs]: /components/light.opple/ +[lock docs]: /components/lock/ +[lock.mqtt docs]: /components/lock.mqtt/ +[logbook docs]: /components/logbook/ +[logger docs]: /components/logger/ +[lovelace docs]: /components/lovelace/ +[media_extractor docs]: /components/media_extractor/ +[media_player docs]: /components/media_player/ +[media_player.samsungtv docs]: /components/media_player.samsungtv/ +[media_player.sonos docs]: /components/media_player.sonos/ +[media_player.soundtouch docs]: /components/media_player.soundtouch/ +[microsoft_face docs]: /components/microsoft_face/ +[mqtt docs]: /components/mqtt/ +[netatmo docs]: /components/netatmo/ +[notify docs]: /components/notify/ +[onboarding docs]: /components/onboarding/ +[openuv docs]: /components/openuv/ +[persistent_notification docs]: /components/persistent_notification/ +[rachio docs]: /components/rachio/ +[remote docs]: /components/remote/ +[scene docs]: /components/scene/ +[script docs]: /components/script/ +[sensor docs]: /components/sensor/ +[sensor.aqualogic docs]: /components/sensor.aqualogic/ +[sensor.blink docs]: /components/sensor.blink/ +[sensor.enphase_envoy docs]: /components/sensor.enphase_envoy/ +[sensor.geo_rss_events docs]: /components/sensor.geo_rss_events/ +[sensor.gitlab_ci docs]: /components/sensor.gitlab_ci/ +[sensor.google_travel_time docs]: /components/sensor.google_travel_time/ +[sensor.jewish_calendar docs]: /components/sensor.jewish_calendar/ +[sensor.miflora docs]: /components/sensor.miflora/ +[sensor.mqtt docs]: /components/sensor.mqtt/ +[sensor.mqtt_room docs]: /components/sensor.mqtt_room/ +[sensor.netatmo_public docs]: /components/sensor.netatmo_public/ +[sensor.openweathermap docs]: /components/sensor.openweathermap/ +[sensor.scrape docs]: /components/sensor.scrape/ +[sensor.tibber docs]: /components/sensor.tibber/ +[sensor.xiaomi_aqara docs]: /components/sensor.xiaomi_aqara/ +[sonos docs]: /components/sonos/ +[switch docs]: /components/switch/ +[switch.aqualogic docs]: /components/switch.aqualogic/ +[switch.flux docs]: /components/switch.flux/ +[switch.mqtt docs]: /components/switch.mqtt/ +[switch.rachio docs]: /components/switch.rachio/ +[switch.rest docs]: /components/switch.rest/ +[switch.tradfri docs]: /components/switch.tradfri/ +[switch.volvooncall docs]: /components/switch.volvooncall/ +[switch.xiaomi_aqara docs]: /components/switch.xiaomi_aqara/ +[telegram_bot docs]: /components/telegram_bot/ +[tibber docs]: /components/tibber/ +[timer docs]: /components/timer/ +[tradfri docs]: /components/tradfri/ +[upnp docs]: /components/upnp/ +[vacuum docs]: /components/vacuum/ +[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/ +[verisure docs]: /components/verisure/ +[weather docs]: /components/weather/ +[weather.darksky docs]: /components/weather.darksky/ +[weather.openweathermap docs]: /components/weather.openweathermap/ +[webhook docs]: /components/webhook/ +[websocket_api docs]: /components/websocket_api/ +[xiaomi_aqara docs]: /components/xiaomi_aqara/ +[zoneminder docs]: /components/zoneminder/ +[zwave docs]: /components/zwave/ From 6142ddd9bad289b5322e73bfae982079dfb10e7a Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 5 Oct 2018 20:02:30 +0200 Subject: [PATCH 004/217] Update quote --- source/_posts/2018-10-12-release-80.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2018-10-12-release-80.markdown b/source/_posts/2018-10-12-release-80.markdown index ed5ab413b8b..fddb6e938b6 100644 --- a/source/_posts/2018-10-12-release-80.markdown +++ b/source/_posts/2018-10-12-release-80.markdown @@ -1,6 +1,6 @@ --- layout: post -title: "0.80: TO DO - UPDATE DATE +title: "0.80: TO DO - UPDATE DATE" description: "TBD" date: 2018-10-05 00:01:00 date_formatted: "October 12, 2018" From 1f30b0f3f4c32c4e81281582291382b7604832c4 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Fri, 5 Oct 2018 20:47:59 +0200 Subject: [PATCH 005/217] Made true/false lowercase --- source/_components/zoneminder.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_components/zoneminder.markdown b/source/_components/zoneminder.markdown index ac8297eaee8..06e206f12db 100644 --- a/source/_components/zoneminder.markdown +++ b/source/_components/zoneminder.markdown @@ -26,8 +26,8 @@ Configuration variables: - **host** (*Required*): Your ZoneMinder server's host (and optional port), not including the scheme. - **path** (*Optional*): Path to your ZoneMinder install. Defaults to `/zm/`. - **path_zms** (*Optional*): Path to the CGI script for streaming. This should match `PATH_ZMS` in ZM's "Paths" settings. Defaults to `/zm/cgi-bin/nph-zms`. -- **ssl** (*Optional*): Set to `True` if your ZoneMinder installation is using SSL. Default to `False`. -- **verify_ssl** (*Optional*): Verify the certification of the endpoint. Default to `True`. +- **ssl** (*Optional*): Set to `true` if your ZoneMinder installation is using SSL. Default to `false`. +- **verify_ssl** (*Optional*): Verify the certification of the endpoint. Default to `true`. - **username** (*Optional*): Your ZoneMinder username. - **password** (*Optional*): Your ZoneMinder password. Required if `OPT_USE_AUTH` is enabled in ZM. @@ -39,8 +39,8 @@ zoneminder: host: ZM_HOST path: ZM_PATH path_zms: ZM_PATH_ZMS - ssl: True - verify_ssl: True + ssl: true + verify_ssl: true username: YOUR_USERNAME password: YOUR_PASSWORD ``` From 43b49d2862766cdb52539dfe7017f44e3dbcf3c7 Mon Sep 17 00:00:00 2001 From: vMeph Date: Fri, 5 Oct 2018 20:43:41 +0100 Subject: [PATCH 006/217] change diaspora: Truecapital letter to lower case true (#6538) --- source/_components/sensor.jewish_calendar.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.jewish_calendar.markdown b/source/_components/sensor.jewish_calendar.markdown index 53002877895..49eccc7da36 100644 --- a/source/_components/sensor.jewish_calendar.markdown +++ b/source/_components/sensor.jewish_calendar.markdown @@ -89,7 +89,7 @@ sensors: sensor: - platform: jewish_calendar language: english - diaspora: True + diaspora: true sensors: - date - weekly_portion From 07983145fe2fd127778d144149c18763cefd0157 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 6 Oct 2018 13:42:11 +0200 Subject: [PATCH 007/217] Update Tado component configuration variable (#6545) Update style of Tado component documentation to follow new configuration variables description. Related to #6385. --- .../_components/device_tracker.tado.markdown | 19 ++++++++++++++----- source/_components/tado.markdown | 14 ++++++++++---- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/source/_components/device_tracker.tado.markdown b/source/_components/device_tracker.tado.markdown index 70f130c7e01..db808501a58 100644 --- a/source/_components/device_tracker.tado.markdown +++ b/source/_components/device_tracker.tado.markdown @@ -27,11 +27,20 @@ device_tracker: home_id: YOUR_HOME_ID ``` -Configuration variables: - -- **username** (*Required*): The username for your Tado account. -- **password** (*Required*): The password for your Tado account. -- **home_id** (*Optional*): The id of your home of which you want to track devices. If provided, the Tado device tracker will tack *all* devices known to Tado associated with this home. See below how to find it. +{% configuration %} +username: + description: The username for your Tado account. + required: true + type: string +password: + description: The password for your Tado account. + required: true + type: string +home_id: + description: The id of your home of which you want to track devices. If provided, the Tado device tracker will tack *all* devices known to Tado associated with this home. See below how to find it. + required: false + type: integer +{% endconfiguration %} After configuration, your device has to be at home at least once before showing up as *home* or *away*. Polling Tado API for presence information will happen at most once every 30 seconds. diff --git a/source/_components/tado.markdown b/source/_components/tado.markdown index 386db0de0d1..cfb7294289c 100644 --- a/source/_components/tado.markdown +++ b/source/_components/tado.markdown @@ -24,10 +24,16 @@ tado: password: YOUR_PASSWORD ``` -Configuration variables: - -- **username** (*Required*): Username for my.tado.com. -- **password** (*Required*): Password for my.tado.com. +{% configuration %} +username: + description: Username for my.tado.com. + required: true + type: string +password: + description: Password for my.tado.com. + required: true + type: string +{% endconfiguration %} The tado thermostats are internet connected thermostats. There exists an unofficial API at [my.tado.com](https://my.tado.com/webapp/#/account/sign-in), which is used by their website and now by this component. From 5030fc0f1c1f466a015ffd197a22269c55a174bc Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 6 Oct 2018 13:43:36 +0200 Subject: [PATCH 008/217] Update Smappee component configuration variable (#6547) Update style of Smappee component documentation to follow new configuration variables description. Related to #6385. --- source/_components/smappee.markdown | 34 ++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/source/_components/smappee.markdown b/source/_components/smappee.markdown index c91c9d0f59c..846fd2e33ef 100644 --- a/source/_components/smappee.markdown +++ b/source/_components/smappee.markdown @@ -49,11 +49,29 @@ smappee: password: YOUR_MYSMAPPEE_PASSWORD ``` -Configuration variables: - -- **host** (*Optional*): Your Local Smappee unit IP. -- **host_password** (*Optional*): Your Local Smappee password. -- **client_id** (*Optional*): Your Smappee API client_id. -- **client_secret** (*Optional*): Your Smappee API client_secret. -- **username** (*Optional*): Your My Smappee username. -- **password** (*Optional*): Your My Smappee password. +{% configuration %} +host: + description: Your Local Smappee unit IP. + required: false + type: string +host_password: + description: Your Local Smappee password. + required: false + type: string +client_id: + description: Your Smappee API client_id. + required: false + type: string +client_secret: + description: Your Smappee API client_secret. + required: false + type: string +username: + description: Your My Smappee username. + required: false + type: string +password: + description: Your My Smappee password. + required: false + type: string +{% endconfiguration %} From 863fe93c256b7b011205a042e222758b26104ca0 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 6 Oct 2018 13:44:50 +0200 Subject: [PATCH 009/217] Update Datadog component configuration variable (#6546) Update style of Datadog component documentation to follow new configuration variables description. Related to #6385. --- source/_components/datadog.markdown | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/source/_components/datadog.markdown b/source/_components/datadog.markdown index 7a3ec052c74..c78a0c8bd46 100644 --- a/source/_components/datadog.markdown +++ b/source/_components/datadog.markdown @@ -33,9 +33,25 @@ To use the `datadog` component in your installation, add the following to your ` datadog: ``` -Configuration variables: - -- **host** (*Optional*): The IP address or hostname of your Datadog host, e.g., 192.168.1.23. Defaults to `localhost`. -- **port** (*Optional*): Port to use. Defaults to 8125. -- **prefix** (*Optional*): Prefix to use. Defaults to `hass`. -- **rate** (*Optional*): The sample rate of UDP packets sent to Datadog. Defaults to 1. +{% configuration %} +host: + description: The IP address or hostname of your Datadog host, e.g., 192.168.1.23. + required: false + default: localhost + type: string +port: + description: Port to use. + required: false + default: 8125 + type: integer +prefix: + description: Prefix to use. + required: false + default: hass + type: string +rate: + description: The sample rate of UDP packets sent to Datadog. + required: false + default: 1 + type: integer +{% endconfiguration %} From be7d1d7ae8f5d54c23367599b7a8d4b3f415794d Mon Sep 17 00:00:00 2001 From: vMeph Date: Sat, 6 Oct 2018 12:45:45 +0100 Subject: [PATCH 010/217] Change True/False Capital letters to lower case true/false (#6542) --- source/_components/media_player.plex.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown index bc45310c352..45db859c70e 100644 --- a/source/_components/media_player.plex.markdown +++ b/source/_components/media_player.plex.markdown @@ -52,8 +52,8 @@ In case [discovery](/components/discovery/) does not work (GDM disabled or non-l - **IP_ADDRESS** (*Required*): IP address of the Plex Media Server. - **PORT** (*Required*): Port where Plex is listening. Default is 32400. - **TOKEN** (*Optional*): Only if authentication is required. Set to `null` (without quotes) otherwise. -- **ssl** (*Optional*): Whether to use SSL/TLS or not. Defaults to `False` if not present. -- **verify** (*Optional*): Perform a verification of the certificate. To allow invalid or self-signed SSL certificates set it to `False`. Defaults to `True` if not present. +- **ssl** (*Optional*): Whether to use SSL/TLS or not. Defaults to `false` if not present. +- **verify** (*Optional*): Perform a verification of the certificate. To allow invalid or self-signed SSL certificates set it to `false`. Defaults to `true` if not present. ## {% linkable_title Customization %} From c2d67283b56964f4114d169d9184f33ef6e7ad42 Mon Sep 17 00:00:00 2001 From: vMeph Date: Sat, 6 Oct 2018 12:46:45 +0100 Subject: [PATCH 011/217] Change True/False Capital letters to lower case true/false (#6541) --- source/_components/device_tracker.owntracks.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown index a3de574f912..059bde3d15d 100644 --- a/source/_components/device_tracker.owntracks.markdown +++ b/source/_components/device_tracker.owntracks.markdown @@ -28,7 +28,7 @@ device_tracker: Configuration variables: - **max_gps_accuracy** (*Optional*): Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account. -- **waypoints** (*Optional*): Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `True`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions. Defaults to `True`. +- **waypoints** (*Optional*): Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `true`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions. Defaults to `true`. - **waypoint_whitelist** (*Optional*): A list of user names (as defined for [Owntracks](/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g., owntracks/**username**/iPhone). Defaults to all users who are connected to Home Assistant via Owntracks. - **secret** (*Optional*): [Payload encryption key](http://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present. - **mqtt_topic** (*Optional*): The topic to subscribe for Owntracks updates on your MQTT instance (defaults to `owntracks/#`). @@ -107,5 +107,5 @@ You can use iBeacons of both types together, so if you have a Zone `drive` with By default, any Owntracks user connected to Home Assistant can export their waypoint definitions (from the *Export - Export to Endpoint* menu item) which will then be translated to zone definitions in Home Assistant. The zones will be named `- - `. This functionality can be controlled in 2 ways: -1. The configuration variable `waypoints` can be set to `False` which will disable importing waypoints for all users. +1. The configuration variable `waypoints` can be set to `false` which will disable importing waypoints for all users. 2. The configuration variable `waypoint_whitelist` can contain a list of users who are allowed to import waypoints. From 86b111269f256e38bba0a9f5ace60c777826cd81 Mon Sep 17 00:00:00 2001 From: vMeph Date: Sat, 6 Oct 2018 12:47:46 +0100 Subject: [PATCH 012/217] Change True/False Capital letters to lower case true/false (#6540) --- source/_components/calendar.google.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/calendar.google.markdown b/source/_components/calendar.google.markdown index 1c074f5ed81..ffa9233da25 100644 --- a/source/_components/calendar.google.markdown +++ b/source/_components/calendar.google.markdown @@ -157,7 +157,7 @@ Otherwise everything following the hash sign would be considered a YAML comment. ### {% linkable_title Sensor attributes %} - **offset_reached**: If set in the event title and parsed out will be `on`/`off` once the offset in the title in minutes is reached. So the title `Very important meeting #Important !!-10` would trigger this attribute to be `on` 10 minutes before the event starts. - - **all_day**: `True`/`False` if this is an all day event. Will be `False` if there is no event found. + - **all_day**: `true`/`false` if this is an all day event. Will be `false` if there is no event found. - **message**: The event title with the `search` and `offset` values extracted. So in the above example for **offset_reached** the **message** would be set to `Very important meeting` - **description**: The event description. - **location**: The event Location. From 9d432d5f115041528673fcae2a930948b553cb3e Mon Sep 17 00:00:00 2001 From: vMeph Date: Sat, 6 Oct 2018 12:48:41 +0100 Subject: [PATCH 013/217] change Captial letters True to lower case true (#6539) --- source/_components/climate.opentherm_gw.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/climate.opentherm_gw.markdown b/source/_components/climate.opentherm_gw.markdown index 4b67af4667b..41444ff8ae2 100644 --- a/source/_components/climate.opentherm_gw.markdown +++ b/source/_components/climate.opentherm_gw.markdown @@ -41,7 +41,7 @@ precision: type: float default: "`0.5` for Celsius and `1.0` for Fahrenheit." floor_temperature: - description: Some thermostats round all temperatures down to the lower value according to their precision. Default behaviour for Home Assistant is to round temperatures to the nearest value. Set this to `True` to override Home Assistant and round to the lower value according to the configured `precision`. + description: Some thermostats round all temperatures down to the lower value according to their precision. Default behaviour for Home Assistant is to round temperatures to the nearest value. Set this to `true` to override Home Assistant and round to the lower value according to the configured `precision`. required: false type: boolean {% endconfiguration %} @@ -61,5 +61,5 @@ climate: device: socket://otgw.example.org:2345 name: Thermostat precision: 0.5 - floor_temperature: True + floor_temperature: true ``` From 0378f2ddceb007a144dbf2acc853b79b97406c16 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 6 Oct 2018 13:09:37 +0100 Subject: [PATCH 014/217] Improving the Securing docs (#5458) * FOR DISCUSSION - improving the Securing docs This probably needs some back and fore to work out what the projects want here, but I thought I'd give it a first pass through to turn this from a "wall of things" that seem equally important into something hopefully more digestible. Particularly as some of the things look like you should do all of them, but they're actually mutually exclusive, or functionally identical. I've tried to break it into things that people must do (here's the basic minimum) and things they should consider if they want to make it more secure. I've also tried to steer people towards `cloud` where it'll work for them, and if they just want remote access to the UI to use a VPN or Tor (I moved the SSH tunnel option last because it's the most complicated to set up of the three). * Update based upon feedback * Added link to fail2ban guide * Updates * Update * :pencil2: Tweaks --- source/_docs/configuration/securing.markdown | 53 ++++++++++++++------ 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/source/_docs/configuration/securing.markdown b/source/_docs/configuration/securing.markdown index 664acbe217b..85117013ff5 100644 --- a/source/_docs/configuration/securing.markdown +++ b/source/_docs/configuration/securing.markdown @@ -12,24 +12,47 @@ redirect_from: /getting-started/securing/ One major advantage of Home Assistant is that it's not dependent on cloud services. Even if you're only using Home Assistant on a local network, you should take steps to secure your instance. -### {% linkable_title Checklist %} +## {% linkable_title Checklist %} -- [Choose a strong password](/docs/authentication/). -- Secure your host. Sources could be [Red Hat Enterprise Linux 7 Security Guide](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/pdf/Security_Guide/Red_Hat_Enterprise_Linux-7-Security_Guide-en-US.pdf), [CIS Red Hat Enterprise Linux 7 Benchmark](https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.0.0.pdf), or the [Securing Debian Manual](https://www.debian.org/doc/manuals/securing-debian-howto/index.en.html). -- Restrict network access to your devices. Set `PermitRootLogin no` in your sshd config (usually `/etc/ssh/sshd_config`) and to use SSH keys for authentication instead of passwords. -- Don't run Home Assistant as root – consider the Principle of Least Privilege. -- Keep your [secrets](/topics/secrets/) safe. +Here's the summary of what you *must* do to secure your Home Assistant system: -If you want to allow remote access, consider these additional points: +☐ Configure [secrets](/topics/secrets/) (but do remember to back them up) +☐ Regularly keep the system up to date -- Protect your communication with [TLS/SSL](/docs/ecosystem/certificates/lets_encrypt/). -- Enable IP Filtering and configure a low [Login Attempts Threshold](/components/http/) -- Protect your communication with [Tor](/cookbook/tor_configuration/). -- Protect your communication with a [self-signed certificate](/cookbook/tls_self_signed_certificate/). -- Use a [proxy](/cookbook/apache_configuration/). -- Set up a VPN -- Use a [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/) to connect to your frontend. +If you only want to use components supported by [Home Assistant cloud](/cloud/) then you don't need to enable remote access. This is obviously the most secure option, but does mean that you're relying on a cloud service for that functionality. + +☐ For remote access to the UI, use a [VPN](http://www.pivpn.io/), [Tor](/docs/ecosystem/tor/), or an [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/) +☐ For remote access for components, use a [TLS/SSL](/docs/ecosystem/certificates/lets_encrypt/) certificate + +### {% linkable_title You should %} + +As well as the above we advise that you consider the following to improve security: + +- For systems that use SSH set `PermitRootLogin no` in your sshd config (usually `/etc/ssh/sshd_config`) and to use SSH keys for authentication instead of passwords. This is particularly important if you enable remote access to your SSH services. +- Lock down the host following good practice guidance, for example: + * [Securing Debian Manual](https://www.debian.org/doc/manuals/securing-debian-howto/index.en.html) (this also applies to Raspbian) + * [Red Hat Enterprise Linux 7 Security Guide](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/pdf/Security_Guide/Red_Hat_Enterprise_Linux-7-Security_Guide-en-US.pdf), [CIS Red Hat Enterprise Linux 7 Benchmark](https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.0.0.pdf)

- If you've forwarded any ports to your Home Assistant system from the Internet then it *will* be found by others. Whether through services like Shodan, or direct port scanning, all systems on the Internet are routinely probed for accessible services. If you fail to set a password then it is simply a matter of time before somebody finds your system - potentially as little as a few hours. + If you've forwarded *any* ports to your Home Assistant system from the Internet, then it *will* be found by others. Whether through services like Shodan, or direct port scanning, all systems on the Internet are routinely probed for accessible services. If you fail to set a password then it is simply a matter of time before somebody finds your system and starts abusing it - potentially as little as a few hours.

+ +### {% linkable_title Remote access for just the UI %} + +If you only want remote access for access to the web UI then we advise that you follow the **All installs** section, then set up one of: + +- A VPN such as [PiVPN](http://www.pivpn.io/) or [ZeroTier](https://www.zerotier.com/), which will give you access to your whole home network +- [Tor](/docs/ecosystem/tor/), which also avoids the need for port forwarding +- An [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/) to connect to your frontend + +### {% linkable_title Remote access for components %} + +For remote access for a component, for example, a device tracker, you have to enable access to the API by: + +1. Following the steps in **All installs**, then +2. Forwarding a port and protect your communication with one of: + * A [TLS/SSL](/docs/ecosystem/certificates/lets_encrypt/) certificate (you can use one from Let's Encrypt, or any commercial SSL certificate vendor) + * A [self-signed certificate](/cookbook/tls_self_signed_certificate/) - be warned though, some services will refuse to work with self-signed certificates +3. Optionally use a proxy like [NGINX](/docs/ecosystem/nginx/), [Apache](/cookbook/apache_configuration/), or another. These allow you to provide finer-grained access. You could use this to limit access to specific parts of the API (for example, only `/api/owntracks/`) +4. Enable IP Filtering and configure a low [Login Attempts Threshold](/components/http/) +5. If you use a proxy then install [fail2ban](https://www.fail2ban.org/wiki/index.php/Main_Page) to [monitor your proxy logs](https://www.home-assistant.io/cookbook/fail2ban/) (or Home Assistant logs) for failed authentication From 654b0b888ae9e2c5baebaad3cf70b295920c4ff7 Mon Sep 17 00:00:00 2001 From: Oncleben31 Date: Sat, 6 Oct 2018 14:45:04 +0200 Subject: [PATCH 015/217] command_line sensor with new style for configuration variables (#6534) * command_line sensor with new style for configuration variables descritpion Implement the new style for configuration variables description as requested by #6385 * :pencil2: Tweak --- .../_components/sensor.command_line.markdown | 41 +++++++++++++++---- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/source/_components/sensor.command_line.markdown b/source/_components/sensor.command_line.markdown index 04f31df2ae6..9e03ee8eae0 100644 --- a/source/_components/sensor.command_line.markdown +++ b/source/_components/sensor.command_line.markdown @@ -27,15 +27,38 @@ sensor: command: SENSOR_COMMAND ``` -Configuration variables: - -- **command** (*Required*): The action to take to get the value. -- **name** (*Optional*): Name of the command sensor. -- **unit_of_measurement** (*Optional*): Defines the unit of measurement of the sensor, if any. -- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. -- **scan_interval** (*Optional*): Defines number of seconds for polling interval (defaults to 60 seconds). -- **command_timeout** (*Optional*): Defines number of seconds for command timeout (defaults to 15 seconds). -- **json_attributes** (*Optional*): Defines a list of keys to extract values from a JSON dictionary result and then set as sensor attributes. +{% configuration %} +command: + description: The action to take to get the value. + required: true + type: string +name: + description: Name of the command sensor. + required: false + type: string +unit_of_measurement: + description: Defines the unit of measurement of the sensor, if any. + required: false + type: string +value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload." + required: false + type: string +scan_interval: + description: Defines number of seconds for polling interval. + required: false + type: integer + default: 60 +command_timeout: + description: Defines number of seconds for command timeout + required: false + type: integer + default: 15 +json_attributes: + description: Defines a list of keys to extract values from a JSON dictionary result and then set as sensor attributes. + required: false + type: string, list +{% endconfiguration %} ## {% linkable_title Examples %} From 49e6d5c889d2be82a270ec35ac9223486b294dae Mon Sep 17 00:00:00 2001 From: Mryck Date: Sat, 6 Oct 2018 14:49:06 +0200 Subject: [PATCH 016/217] Update sensors.mitemp_bt configuration variables (#6531) * Update mitemp config * Add keys for monitored_conditions --- source/_components/sensor.mitemp_bt.markdown | 63 ++++++++++++++++---- 1 file changed, 50 insertions(+), 13 deletions(-) diff --git a/source/_components/sensor.mitemp_bt.markdown b/source/_components/sensor.mitemp_bt.markdown index b20d72a4bf5..bf54f976824 100644 --- a/source/_components/sensor.mitemp_bt.markdown +++ b/source/_components/sensor.mitemp_bt.markdown @@ -60,18 +60,56 @@ sensor: - temperature ``` -- **mac** (*Required*): The MAC address of your sensor. -- **monitored_conditions** array (*Optional*): The parameters that should be monitored (defaults to monitoring all parameters). - - **temperature**: Temperature in C at the sensor's location. - - **humidity**: Humidity level in % at the sensor's location. - - **battery**: Battery details (in %). -- **name** (*Optional*): The name displayed in the frontend. -- **force_update** (*Optional*): Sends update events even if the value hasn't changed. -- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine. -- **timeout** (*Optional*): Define the timeout value in seconds when polling (defaults to 10 if not defined) -- **retries** (*Optional*): Define the number of retries when polling (defaults to 2 if not defined) -- **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 300 if not defined) -- **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters. +{% configuration %} +mac: + description: The MAC address of your sensor. + required: true + type: string +monitored_conditions: + description: The parameters that should be monitored. + required: false + default: [temperature, humidity, battery] + type: list + keys: + temperature: + description: Temperature in C at the sensor's location. + humidity: + description: Humidity level in % at the sensor's location. + battery: + description: Battery details (in %). +name: + description: The name displayed in the frontend. + required: false + type: string +force_update: + description: Sends update events even if the value hasn't changed. + required: false + type: boolean +median: + description: "Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine." + required: false + type: integer +timeout: + description: Define the timeout value in seconds when polling. + required: false + default: 10 + type: integer +retries: + description: Define the number of retries when polling. + required: false + default: 2 + type: integer +cache_value: + description: Define cache expiration value in seconds. + required: false + default: 300 + type: integer +adapter: + description: "Define the Bluetooth adapter to use. Run `hciconfig` to get a list of available adapters." + required: false + default: hci0 + type: string +{% endconfiguration %} Note that by default the sensor is only polled once every 5 minutes. This means with the `median: 3` setting will take as least 15 minutes before the sensor will report a value after a Home Assistant restart. Even though the hardware is able to provide new values every second, room temperatures don't change that quickly. Reducing polling intervals will have a negative effect on the battery life. @@ -91,4 +129,3 @@ sensor: - humidity - battery ``` - From 6e0790d7d0bebb0cd95a22363dee07d4c0713a6e Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 6 Oct 2018 13:58:26 +0100 Subject: [PATCH 017/217] Install guide tweaks (#6536) * Install guide tweaks - Moved the guide to a numbered list so it's more clearly step by step - Moved the power supply warning out, so it doesn't break the list - Highlighted and broken out the parts that only apply to the image based installs - Standardised some of the links so none are inline - HIghlighted that `hassio.local` requires working mDNS - A few minor wording tweaks * Update installation.markdown * Update installation.markdown * Update installation.markdown --- source/hassio/installation.markdown | 62 +++++++++++++++++++---------- 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index a337fc900f3..c06fac4ef3d 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -9,38 +9,53 @@ sharing: true footer: true --- -Hass.io images are available for: +The following will take you through the steps required to install Hass.io. -- Download the appropriate image for your device: - - [Raspberry Pi Zero][pi1] - - [Raspberry Pi Zero W][pi0-w] - - [Raspberry Pi 1 Model B][pi1] - - [Raspberry Pi 2 Model B][pi2] - - [Raspberry Pi 3 Model B and B+ 32bit][pi3-32] (recommended) - - [Raspberry Pi 3 Model B and B+ 64bit][pi3-64] - - [Tinkerboard (Beta)][tinker] - - [Odroid-C2 (Beta)][odroid-c2] -- As [Virtual Appliance]: - - [VMDK][vmdk] +1. Download the appropriate install option: -

-Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/help/faqs/#powerReqs) with your Pi. Mobile chargers may not be suitable since some were only designed to provide just enough power to the device it was designed for by the manufacturer. **Do not** try to power the Pi from the USB port on a TV, computer, or similar. -

+ - As an image for your device: + + - [Raspberry Pi Zero][pi1] + - [Raspberry Pi Zero W][pi0-w] + - [Raspberry Pi 1 Model B][pi1] + - [Raspberry Pi 2 Model B][pi2] + - [Raspberry Pi 3 Model B and B+ 32bit][pi3-32] + - [Raspberry Pi 3 Model B and B+ 64bit][pi3-64] (beta) + - [Tinkerboard (Beta)][tinker] + - [Odroid-C2 (Beta)][odroid-c2] + + - As a virtual appliance: + + - [OVA][Virtual Appliance] + - [VMDK][vmdk] + +2. Install Hass.io: -- Flash the downloaded image to an SD card using [Etcher][etcher]. We recommend at least a 32 GB SD card to avoid running out of space. + - Flash the downloaded image to an SD card using [Etcher][etcher]. We recommend at least a 32 GB SD card to avoid running out of space. + - Load the appliance image into your virtual machine software. -- Optional - Setup the WiFi or static IP: On a USB stick, create the `network/my-network` file and follow the [HassOS howto][hassos-network]. -- Insert the SD card (and optional USB stick) into the Raspberry Pi and turn it on. On first boot, it downloads the latest version of Home Assistant which takes ~20 minutes (slower/faster depending on the platform). +3. Optional - set up the WiFi or static IP: On a USB stick, create the `network/my-network` file and follow the [HassOS howto][hassos-network]. - +4. For image based installs insert the SD card (and optional USB stick) into the device. -- You will be able to reach your installation at [http://hassio.local:8123][local]. -- Enable either the [Samba add-on][samba] or the [SSH add-on][ssh] to manage your configuration in `/config/` (From the UI choose **Hass.io** which is located in the sidebar). +5. Turn on your device or virtual appliance. On first boot, it downloads the latest version of Home Assistant which takes around 20 minutes (slower/faster depending on the platform and your Internet connection). + + + +6. You will be able to reach your installation at [http://hassio.local:8123][local] (if your router supports mDNS, otherwise see below). + +7. Enable either the [Samba add-on][samba] or the [SSH add-on][ssh] to manage your configuration in `/config/` (From the UI choose **Hass.io** which is located in the sidebar).

If your router doesn't support mDNS, then you'll have to use the IP address of your Pi instead of `hassio.local`. For example, `http://192.168.0.9:8123`. You should be able to find the IP address of your Pi from the admin interface of your router.

+

+If you are using a Raspberry Pi please remember to ensure you're using an [appropriate power supply][pi-power] with your Pi. Mobile chargers may not be suitable since some were only designed to provide just enough power to the device it was designed for by the manufacturer. **Do not** try to power the Pi from the USB port on a TV, computer, or similar. +

+ +Now you can [configure][configure] your install. + ### {% linkable_title Migrating from a non-Hass.io install %} If you copy over your existing Home Assistant configuration, make sure to enable the Hass.io panel by adding either `discovery:` or `hassio:` to your configuration. @@ -72,7 +87,7 @@ $ curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/ When you use this installation method, the core SSH add-on may not function correctly. If that happens, use the community SSH add-on. Some of the documentation might not work for your installation either.

-A detailed guide about running Hass.io as a virtual machine is available in the [blog](/blog/2017/11/29/hassio-virtual-machine/). +A detailed guide about running Hass.io as a virtual machine is available in the [blog][hassio-vm]. [etcher]: https://etcher.io/ [Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md @@ -89,3 +104,6 @@ A detailed guide about running Hass.io as a virtual machine is available in the [local]: http://hassio.local:8123 [samba]: /addons/samba/ [ssh]: /addons/ssh/ +[pi-power]: https://www.raspberrypi.org/help/faqs/#powerReqs +[hassio-vm]: /blog/2017/11/29/hassio-virtual-machine/ +[configure]: /getting-started/configuration/ From 8b35584d571e98cd37b99ab95da06153564e8d9c Mon Sep 17 00:00:00 2001 From: Jean-Paul van Ravensberg Date: Sat, 6 Oct 2018 15:00:45 +0200 Subject: [PATCH 018/217] Added the Microsoft Bluetooth LE Explorer app as scanner (#6551) The Microsoft Bluetooth LE Explorer app from the Windows Store works fine for me to find the MAC address of the Mi Flora Plant Sensor --- source/_components/sensor.miflora.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.miflora.markdown b/source/_components/sensor.miflora.markdown index 0e82f9a6e32..405da87721a 100644 --- a/source/_components/sensor.miflora.markdown +++ b/source/_components/sensor.miflora.markdown @@ -46,7 +46,7 @@ $ bluetoothctl [NEW] C4:D3:8C:12:4C:57 Flower mate ``` -If you can't use `hcitool` or `bluetoothctl` but have access to an Android phone you can try `BLE Scanner` or similar scanner applications from the Play Store to easily find your sensor MAC address. +If you can't use `hcitool` or `bluetoothctl` but have access to an Android phone you can try `BLE Scanner` or similar scanner applications from the Play Store to easily find your sensor MAC address. If you are using Windows 10, try the `Microsoft Bluetooth LE Explorer` app from the Windows Store. # Configure To use your Mi Flora plant sensor in your installation, add the following to your `configuration.yaml` file: From 1750f1e31d9fb4acb70da6029ea8120d8340ba80 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 6 Oct 2018 14:13:57 +0100 Subject: [PATCH 019/217] Minor tweaks (#6552) 1. Moved the securing note to the last step 2. Added point about copying snapshots off the Pi 3. Moved the advanced users link into the note --- source/getting-started/index.markdown | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index 9850f162ac0..47a8414807c 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -11,10 +11,10 @@ footer: true The goal of this getting started guide is to install [Hass.io](/hassio/) on a Raspberry Pi. Hass.io is our own all in one solution that turns your Raspberry Pi or another device into the ultimate home automation hub. -Follow this guide if you want to get started with Home Assistant easily, or if you have no or little Linux experience. For advanced users or if you have no Raspberry Pi at hand, check our [alternative installation methods](/docs/installation/). The [FAQ](/faq/#home-assistant-vs-hassio) explains more about the differences. +Follow this guide if you want to get started with Home Assistant easily, or if you have no or little Linux experience. -

- Please remember to [secure your installation](/docs/configuration/securing/) once you've finished with the installation process. +

+For advanced users or if you have no Raspberry Pi at hand, check our [alternative installation methods](/docs/installation/). The [FAQ](/faq/#home-assistant-vs-hassio) explains more about the differences.

### {% linkable_title Suggested hardware%} @@ -45,12 +45,14 @@ We will need a few things to get started with installing Home Assistant. For bes 1. Connect your Raspberry Pi to the power supply, so it turns on. 1. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant, which will take about 20 minutes. 1. Home Assistant will be available at [http://hassio.local:8123][local]. Shortly after the download has started, a simple preparation status page will be available at this URL. Point your browser there. The page refreshes automatically, and Home Assistant will be shown when the download is complete. +1. Please remember to [secure your installation][secure] once you've finished with the installation process. [local]: http://hassio.local:8123 [the examples]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md +[secure]: /docs/configuration/securing/

-When you're done, remember to set up regular backups of your configuration. These backups will protect you from hardware failure and mistakes. On Hass.io you have snapshots, but you can back up to [GitHub](/docs/ecosystem/backup/backup_github/), [DropBox](/docs/ecosystem/backup/backup_dropbox/) and many other ways. All that matters is that you set them up and test them regularly. +When you're done, remember to set up regular backups of your configuration. These backups will protect you from hardware failure and mistakes. On Hass.io you have snapshots (which you should copy off to another system), but you can back up to [GitHub](/docs/ecosystem/backup/backup_github/), [DropBox](/docs/ecosystem/backup/backup_dropbox/) and many other ways. All that matters is that you set them up and test them regularly.

### [Next step: Configuring Home Assistant »](/getting-started/configuration/) From 1edbbfeb1f36cc63a46cf6c5ef2a50aa598e37bc Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 6 Oct 2018 14:18:41 +0100 Subject: [PATCH 020/217] Install guide tweak (#6553) Trying to split this into "first class" and "here be dragons". The aim being to make less experienced folks less likely to dive directly into things like Armbian, or Mac, or ... --- source/_docs/installation.markdown | 48 ++++++++++++++++++------------ 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/source/_docs/installation.markdown b/source/_docs/installation.markdown index e5e8cb6026a..0d1af7257e1 100644 --- a/source/_docs/installation.markdown +++ b/source/_docs/installation.markdown @@ -20,6 +20,8 @@ Home Assistant provides multiple ways to be installed. A requirement is that you Please remember to [secure your installation](/docs/configuration/securing/) once you've finished with the installation process.

+## {% linkable_title Recommended options %} + + +## {% linkable_title Alternative installs %} + +The following installs are only recommended for experienced users of those platforms. + +
-
Raspbian
+
Raspbian (but applies to any Debian based Linux)
- +
- +
-
ArchLinux
+
On top of an existing Python 3.5.3+ installation
@@ -57,6 +66,12 @@ Home Assistant provides multiple ways to be installed. A requirement is that you
armbian
+ +
+ +
+
ArchLinux
+
@@ -87,12 +102,6 @@ Home Assistant provides multiple ways to be installed. A requirement is that you
Synology
- -
- -
-
Docker
-
+## {% linkable_title After installation %} + Once Home Assistant is installed, execute the following code in a console/terminal to check if the setup was successful: ```bash $ hass ``` -The first start may take a minute or two because the needed packages will be downloaded and installed. The web interface will be served on [http://localhost:8123](http://localhost:8123). +The first start may take up to 20 minutes because the needed packages will be downloaded and installed. The web interface will be served on [http://localhost:8123](http://localhost:8123). For more details about `hass`, please refer to the [tools section](/docs/tools/hass/). If you're running a Linux-based platform, we suggest you follow the [VirtualEnv instructions](/docs/installation/virtualenv/) to avoid using `root`. You may need to install additional libraries depending on the platforms/components you want to use. - From dfda4b3324e4e6dbbc82a300b0f295d8c0b0a0d0 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 6 Oct 2018 14:18:50 +0100 Subject: [PATCH 021/217] Added info about templates (#6554) As somebody pointed out in the forum, you can use templates in the alerts. --- source/_components/alert.markdown | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/_components/alert.markdown b/source/_components/alert.markdown index bbb2e6b7289..033cd918873 100644 --- a/source/_components/alert.markdown +++ b/source/_components/alert.markdown @@ -51,13 +51,13 @@ alert: {% configuration %} name: - description: The friendly name of the alert. + description: The friendly name of the alert. This can include a [template][template]. required: true type: string done_message: description: > A message sent after an alert transitions from `on` to `off`. Is only sent - if an alert notification was sent for transitioning from `off` to `on`. + if an alert notification was sent for transitioning from `off` to `on`. This can include a [template][template]. required: false type: string entity_id: @@ -191,3 +191,5 @@ sent 30 minutes after that, and a 60 minute delay will fall between every following notification. For example, if the garage door opens at 2:00, a notification will be sent at 2:15, 2:45, 3:45, 4:45, etc., continuing every 60 minutes. + +[template]: /docs/configuration/templating/ From 0e3fa5d2502d56d1a556fb775717a3c18996a6e2 Mon Sep 17 00:00:00 2001 From: Jeppe Ladefoged <26121019+ladefoged81@users.noreply.github.com> Date: Sat, 6 Oct 2018 21:23:48 +0200 Subject: [PATCH 022/217] Removed api_password (#6556) Removed api_password from example configuration. api_password is being discontinued and replaced with users/password. --- .../ecosystem/certificates/tls_self_signed_certificate.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown index 2aab9deb6d9..757e0b28672 100644 --- a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown +++ b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown @@ -38,7 +38,6 @@ Update the `http:` entry in your `configuration.yaml` file and let it point to y ```yaml http: - api_password: YOUR_SECRET_PASSWORD ssl_certificate: /home/your_user/.homeassistant/certificate.pem ssl_key: /home/your_user/.homeassistant/privkey.pem ``` From 028422c5809807b12ca71c2cdbd8c379b576e61c Mon Sep 17 00:00:00 2001 From: Mryck Date: Sat, 6 Oct 2018 21:25:50 +0200 Subject: [PATCH 023/217] Update sensor.miflora configuration variables (#6559) --- source/_components/sensor.miflora.markdown | 50 +++++++++++++++++----- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/source/_components/sensor.miflora.markdown b/source/_components/sensor.miflora.markdown index 405da87721a..db6452c2c5e 100644 --- a/source/_components/sensor.miflora.markdown +++ b/source/_components/sensor.miflora.markdown @@ -60,17 +60,45 @@ sensor: - moisture ``` -- **mac** (*Required*): The MAC address of your sensor. -- **monitored_conditions** array (*Optional*): The parameters that should be monitored (defaults to monitoring all parameters). - - **moisture**: Moisture in the soil. - - **light**: Brightness at the sensor's location. - - **temperature**: Temperature at the sensor's location. - - **conductivity**: Conductivity in the soil. - - **battery**: Battery details. -- **name** (*Optional*): The name displayed in the frontend. -- **force_update** (*Optional*): Sends update events even if the value hasn't changed. -- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine. -- **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters. +{% configuration %} +mac: + description: The MAC address of your sensor. + required: true + type: string +monitored_conditions: + description: The parameters that should be monitored. + required: false + default: [moisture, light, temperature, conductivity, battery] + type: list + keys: + moisture: + description: Moisture in the soil. + light: + description: Brightness at the sensor's location. + temperature: + description: Temperature at the sensor's location. + conductivity: + description: Conductivity in the soil. + battery: + description: Battery details. +name: + description: The name displayed in the frontend. + required: false + type: string +force_update: + description: Sends update events even if the value hasn't changed. + required: false + type: boolean +median: + description: "Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine." + required: false + type: integer +adapter: + description: "Define the Bluetooth adapter to use. Run `hciconfig` to get a list of available adapters." + required: false + default: hci0 + type: string +{% endconfiguration %}

By default the sensor is only polled once every 20 minutes (`scan_interval` is 1200 seconds by default). On a Home Assistant restart sensor will report initial value. If you set `median: 3`, it will take _at least_ 40 minutes before the sensor will report an average value. Keep in mind though that reducing polling intervals will have a negative effect on the battery life. From 9e5bacd9e91c0d64b2851b7c040f3453d14ab98d Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 7 Oct 2018 09:02:22 +0200 Subject: [PATCH 024/217] Update Yweather component configuration variable (#6567) Update style of Yweather component documentation to follow new configuration variables description. Related to #6385. --- source/_components/weather.yweather.markdown | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/source/_components/weather.yweather.markdown b/source/_components/weather.yweather.markdown index 27bbda8214d..055f9daa0ec 100644 --- a/source/_components/weather.yweather.markdown +++ b/source/_components/weather.yweather.markdown @@ -31,15 +31,20 @@ weather: - platform: yweather ``` -Configuration variables: - -- **woeid** (*Optional*): See above. -- **name** (*Optional*): The name of the sensor. To easily recognize each sensor when adding more than one Yahoo weather sensor, it is recommended to use the name option. Defaults to `Yweather`. - +{% configuration %} +woeid: + description: Your Where On Earth ID, see above for all the info. + required: false + type: integer +name: + description: The name of the sensor. To easily recognize each sensor when adding more than one Yahoo weather sensor, it is recommended to use the name option. + required: false + default: yweather + type: string +{% endconfiguration %}

-This platform is an alternative to the [`yweather`](/components/sensor.yweather/) sensor. +This platform is an alternative to the [`yweather`](/components/sensor.yweather/) sensor.

Details about the API are available in the [Yahoo! Developer Network](https://developer.yahoo.com/weather/). - From a66e28c441d5519a67e5d11cbc8a46cc737e0a1e Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 7 Oct 2018 09:06:16 +0200 Subject: [PATCH 025/217] Update Spc component configuration variable (#6570) Update style of Spc component documentation to follow new configuration variables description. Related to #6385. --- source/_components/spc.markdown | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/source/_components/spc.markdown b/source/_components/spc.markdown index 0e8819fb854..1e5d707c860 100644 --- a/source/_components/spc.markdown +++ b/source/_components/spc.markdown @@ -25,10 +25,15 @@ spc: ws_url: WS_URL ``` -Configuration variables: - -- **api_url** (*Required*): URL of the SPC Web Gateway command REST API, e.g., `http://:8088`. -- **ws_url** (*Required*): URL of the SPC Web Gateway websocket, e.g., `ws://:8088`. +{% configuration %} +api_url: + description: URL of the SPC Web Gateway command REST API, e.g., `http://:8088`. + required: true + type: string +ws_url: + description: URL of the SPC Web Gateway websocket, e.g., `ws://:8088`. + required: true + type: string +{% endconfiguration %} Supported sensors will be automatically discovered and added, however they will be hidden by default. - From 33627109b1cff2445ec204ae92b92dc60d8c4c5f Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 7 Oct 2018 09:07:05 +0200 Subject: [PATCH 026/217] Update Tellduslive component configuration variable (#6569) Update style of Tellduslive component documentation to follow new configuration variables description. Related to #6385. --- source/_components/tellduslive.markdown | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/source/_components/tellduslive.markdown b/source/_components/tellduslive.markdown index 584761f2db8..1b441341db4 100644 --- a/source/_components/tellduslive.markdown +++ b/source/_components/tellduslive.markdown @@ -28,9 +28,16 @@ To manually integrate your Telldus Live with Home Assistant, e.g., if your devic tellduslive: ``` -Configuration variables: - -- **host** (*Optional*): Host address to Tellstick Net or Tellstick ZNet for Local API, only useful when automatic discovery is not enabled. -- **update_interval** (*Optional*): Interval (in seconds) for polling the Telldus Live server (or the local server). Defaults to 60 seconds. +{% configuration %} +host: + description: Host address to Tellstick Net or Tellstick ZNet for Local API, only useful when automatic discovery is not enabled. + required: false + type: string +update_interval: + description: Interval (in seconds) for polling the Telldus Live server (or the local server). + required: false + default: 60 + type: integer +{% endconfiguration %} The component will offer configuration through the Home Assistant user interface where it will let you associate it with your Telldus Live account. From bae361992cbc063ac0770232b4ad7fa3e4ebddd0 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 7 Oct 2018 09:07:48 +0200 Subject: [PATCH 027/217] Update Thingspeak component configuration variable (#6568) Update style of Thingspeak component documentation to follow new configuration variables description. Related to #6385. --- source/_components/thingspeak.markdown | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/source/_components/thingspeak.markdown b/source/_components/thingspeak.markdown index 2336a597473..b18969ca64e 100644 --- a/source/_components/thingspeak.markdown +++ b/source/_components/thingspeak.markdown @@ -27,9 +27,17 @@ thingspeak: whitelist: sensor.yr_temperature ``` -Configuration variables: - -- **api_key** (*Required*): Your ThingSpeak Channel Write API key. -- **id** (*Required*): The ID of your desired ThingSpeak channel. -- **whitelist** (*Required*): The name of the entity whose states should be sent to the channel. - +{% configuration %} +api_key: + description: Your ThingSpeak Channel Write API key. + required: true + type: string +id: + description: The ID of your desired ThingSpeak channel. + required: true + type: integer +whitelist: + description: The name of the entity whose states should be sent to the channel. + required: true + type: string +{% endconfiguration %} From 7c4c16fc6fc3034141fb7cf9c6e744823771a413 Mon Sep 17 00:00:00 2001 From: fortepc Date: Sun, 7 Oct 2018 03:26:22 -0400 Subject: [PATCH 028/217] Added a troubleshooting section (#6571) * Added a troubleshooting section This issue plagued me for weeks not realizing what was going on, adding it as a troubleshooting section to help other users. Making it it's own section to be expandable by other users with similar issues that may be common enough to add to this list. * Fix typo --- source/_components/nest.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/nest.markdown b/source/_components/nest.markdown index a6e021b94fa..9a22aeba843 100644 --- a/source/_components/nest.markdown +++ b/source/_components/nest.markdown @@ -107,3 +107,7 @@ set_nest_eta: eta: 00:10:30 eta_window: 00:05 ``` + +{% linkable_title Troubleshooting %} + +- If you're getting [rickrolled](https://www.youtube.com/watch?v=dQw4w9WgXcQ) instead of being able to see your Nest cameras, you may not have set up your developer account's permissions correctly. Go back through and make sure you've selected read/write under every category that it's an option. From 8020ba4c0305fe8178d5004a99a4fca643d0e0fa Mon Sep 17 00:00:00 2001 From: spacemanspiff2007 Date: Sun, 7 Oct 2018 09:26:44 +0200 Subject: [PATCH 029/217] Added info about customizing entities (#6572) * Added info about customizing entities * Minor change --- source/_docs/configuration/packages.markdown | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/_docs/configuration/packages.markdown b/source/_docs/configuration/packages.markdown index 9bcd0e2822c..5cb76f6b4f2 100644 --- a/source/_docs/configuration/packages.markdown +++ b/source/_docs/configuration/packages.markdown @@ -89,3 +89,12 @@ homeassistant: This uses the concept splitting the configuration and will include all files in a directory with the keys representing the filenames. See the documentation about [splitting the configuration](/docs/configuration/splitting_configuration/) for more information about `!include_dir_named` and other include statements that might be helpful. + +### {% linkable_title Customizing entities with packages %} + +It is possible to [customize entities](docs/configuration/customizing-devices/) within packages. Just create your customization entries under: + +```yaml +homeassistant: + customize: +``` From d4db78e21c12caeb7df44983b55baa6a5a0f0ea9 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 7 Oct 2018 09:42:27 +0200 Subject: [PATCH 030/217] Update Zone component configuration variable (#6566) * Update Zone component configuration variable Update style of Zone component documentation to follow new configuration variables description. Related to #6385. * Update zone.markdown change name required from true to false * Minor changes --- source/_components/zone.markdown | 36 +++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/source/_components/zone.markdown b/source/_components/zone.markdown index fd6280eccfc..1e5125b71c1 100644 --- a/source/_components/zone.markdown +++ b/source/_components/zone.markdown @@ -37,14 +37,34 @@ zone: icon: mdi:account-multiple ``` -Configuration variables: - -- **name** (*Optional*): Friendly name of the zone. -- **latitude** (*Required*): Latitude of the center point of the zone. -- **longitude** (*Required*): Longitude of the center point of the zone. -- **radius** (*Optional*): Optional radius in meters. Defaults to 100 meters. -- **icon** (*Optional*): Optional icon to show instead of name. -- **passive** (*Optional*): Optional boolean to only use the zone for automation and hide it from the UI and not use the zone for device tracker name. Defaults to false. +{% configuration %} +name: + description: The friendly name of the zone. + required: false + type: string +latitude: + description: The latitude of the center point of the zone. + required: true + type: float +longitude: + description: The longitude of the center point of the zone. + required: true + type: float +radius: + description: The radius of the zone in meters. + required: false + default: 100 + type: integer +icon: + description: The icon to show instead of name. + required: false + type: string +passive: + description: To only use the zone for automation and hide it from the frontend and not use the zone for device tracker name. + required: false + default: false + type: boolean +{% endconfiguration %} To find the latitude/longitude of a certain place you can use [Google Maps](https://www.google.com/maps/) or [Bing Maps](https://www.bing.com/maps). Just right click and copy the coordinates from there (Bing) or click on the "What is here?" (Google) From 15db244e12f96fd7b161b6f53d439e1546193dfb Mon Sep 17 00:00:00 2001 From: Amir Hanan Date: Sun, 7 Oct 2018 12:29:20 +0300 Subject: [PATCH 031/217] 2 for 1: configuration markdown & usage sample (#6573) * 2 for 1: configuration markdown & usage sample Fixing configuration markdown #6385 also, added a simple switch example for AC management. * Fix configuration section Hope I got it right this time :) --- source/_components/climate.sensibo.markdown | 39 +++++++++++++++++---- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/source/_components/climate.sensibo.markdown b/source/_components/climate.sensibo.markdown index 02003d4aa6a..85577dcdf81 100644 --- a/source/_components/climate.sensibo.markdown +++ b/source/_components/climate.sensibo.markdown @@ -24,12 +24,16 @@ climate: api_key: ``` -Configuration variables: - -- **api_key** (*Required*): Your API key. -- **id** (*Optional*): A unit ID or a list of IDs. If none specified then all units accessible by the `api_key` will be used. - -To get your API key visit +{% configuration %} +api_key: + description: Your Sensibo API key (To get your API key visit ). + required: true + type: string +id: + description: A unit ID or a list of IDs. If none specified then all units accessible by the `api_key` will be used. + required: false + type: string +{% endconfiguration %}

If you create the API key using a dedicated user (and not your main user), @@ -46,3 +50,26 @@ climate: - id1 - id2 ``` + +### {% linkable_title Adding a quick switch example %} + +If you want a "Quick Switch" to turn your AC On / Off, you can do that using the following `Switch Template`: + +{% raw %} +```yaml +switch: + - platform: template + switches: + ac: + friendly_name: "AC" + value_template: "{{ is_state('climate.ac', 'cool') or is_state('climate.ac', 'heat') or is_state('climate.ac', 'dry') or is_state('climate.ac', 'heat')}}" + turn_on: + service: climate.turn_on + data: + entity_id: climate.ac + turn_off: + service: climate.turn_off + data: + entity_id: climate.ac +``` +{% endraw %} From b6356768bcdcfd2100d53d0267921cda926a942f Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 7 Oct 2018 10:37:51 +0100 Subject: [PATCH 032/217] Replaced examples (#6577) The examples were only for the services menu, which is unhelpful for users. Replaced with equivalent automation versions. --- source/_components/notify.pushsafer.markdown | 107 +++++++++---------- 1 file changed, 52 insertions(+), 55 deletions(-) diff --git a/source/_components/notify.pushsafer.markdown b/source/_components/notify.pushsafer.markdown index 6060016e1c5..886be8aa0ae 100644 --- a/source/_components/notify.pushsafer.markdown +++ b/source/_components/notify.pushsafer.markdown @@ -35,69 +35,66 @@ notify: Message to two devices with formatted text. -```json -{ - "title": "Test to 2 devices", - "message": "Attention [b]bold[/b] text[br][url=https://www.pushsafer.com]Link to Pushsafer[/url]", - "target": ["1111", "2222"], - "data": { - "icon": "2", - "iconcolor": "#FF0000", - "sound": "2", - "vibration": "1", - "url": "https://www.home-assistant.io/", - "urltitle": "Open Home Assistant", - "time2live": "0" - } -} + +```yaml +action: + service: notify.notify + data: + title: "Test to 2 devices" + message: "Attention [b]bold[/b] text[br][url=https://www.pushsafer.com]Link to Pushsafer[/url]" + data: + icon: "2" + iconcolor: "#FF0000" + sound: "2" + vibration: "1" + url: "https://www.home-assistant.io/" + urltitle: "Open Home Assistant" + time2live: "0" ``` Message to one device with formatted text and image from an external URL. -```json -{ - "title": "Test to 1 device with image from an url", - "message": "Attention [i]italic[/i] Text[br][url=https://www.home-assistant.io/]Testlink[/url]", - "target": ["1111"], - "data": { - "icon": "14", - "iconcolor": "#FFFF00", - "sound": "22", - "vibration": "3", - "url": "https://www.home-assistant.io/", - "urltitle": "Open Home Assistant", - "time2live": "60", - "picture1": { - "url":"https://www.home-assistant.io/images/components/alexa/alexa-512x512.png" - } - } -} +```yaml +action: + service: notify.notify + data: + title: "Test to 1 device with image from an url" + message: "Attention [i]italic[/i] Text[br][url=https://www.home-assistant.io/]Testlink[/url]" + data: + icon: "14" + iconcolor: "#FFFF00" + sound: "22" + vibration: "31" + url: "https://www.home-assistant.io/" + urltitle: "Open Home Assistant" + time2live: "60" + picture1: + url: "https://www.home-assistant.io/images/components/alexa/alexa-512x512.png" ``` Message to two devices and one device group with formatted text and local image. -```json -{ - "title": "Test to 3 devices with local image", - "message": "Attention [i]italic[/i] Text[br][url=https://www.home-assistant.io/]Testlink[/url]", - "target": ["1111","2222","gs3333"], - "data": { - "icon": "20", - "iconcolor": "#FF00FF", - "sound": "33", - "vibration": "0", - "url": "https://www.home-assistant.io/", - "urltitle": "Open Home Assistant", - "time2live": "10", - "priority": "2", - "retry": "60", - "expire": "600", - "answer": "1", - "picture1": { - "path":"C:\\Users\\Kevin\\AppData\\Roaming\\.homeassistant\\image-760-testimage.jpg" - } - } -} +```yaml +action: + service: notify.notify + data: + title: "Test to 3 devices with local image" + message: "Attention [i]italic[/i] Text[br][url=https://www.home-assistant.io/]Testlink[/url]" + target: ["1111","2222","gs3333"], + data: + icon: "20" + iconcolor: "#FF00FF" + sound: "33" + vibration: "0" + url: "https://www.home-assistant.io/" + urltitle: "Open Home Assistant" + time2live: "10" + priority: "2" + retry: "60" + expire: "600" + answer: "1" + picture1: { + path: "C:\\Users\\Kevin\\AppData\\Roaming\\.homeassistant\\image-760-testimage.jpg" ``` To customize your push-notification you can take a look at the [Pushsafer API description](https://www.pushsafer.com/en/pushapi). From a1cdeaf43a9c65399351853e166a6edc1372591a Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 7 Oct 2018 10:42:06 +0100 Subject: [PATCH 033/217] Updating examples (#6576) * Updating examples It's not very helpful that our examples are all for the services menu. Providing automation examples. * Update notify.markdown --- source/_components/notify.markdown | 35 ++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/source/_components/notify.markdown b/source/_components/notify.markdown index 7f3225bd73c..63cf49b985d 100644 --- a/source/_components/notify.markdown +++ b/source/_components/notify.markdown @@ -55,6 +55,16 @@ A simple way to test if you have set up your notify platform correctly, is to us "message": "The sun is {% raw %}{% if is_state('sun.sun', 'above_horizon') %}up{% else %}down{% endif %}{% endraw %}!" } ``` + +The automation equivalent would be: + +```yaml +action: + service: notify.notify + data: + message: "The sun is {% raw %}{% if is_state('sun.sun', 'above_horizon') %}up{% else %}down{% endif %}{% endraw %}!" +``` + For services which have support for sending images. ```json @@ -67,6 +77,19 @@ For services which have support for sending images. } ``` +The automation equivalent would be: + +```yaml +action: + service: notify.notify + data: + message: "Test plugin" + data: + photo: + url: "http://www.gbsun.de/gbpics/berge/berge106.jpg" +``` + + If the service support sending the location, the data from this sample can be used. ```json @@ -80,3 +103,15 @@ If the service support sending the location, the data from this sample can be us } ``` +The automation equivalent would be: + +```yaml +action: + service: notify.notify + data: + message: "Test plugin" + data: + location: + latitude: 7.3284 + longitude: 46.38234 +``` From 348c952f850b3184c0d512ca844291449fc74f54 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 7 Oct 2018 10:43:54 +0100 Subject: [PATCH 034/217] Little note that triggers are or (#6575) We don't really call out that triggers are `or`, so adding a little about that here. --- source/_docs/automation/trigger.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index e682a20c389..9c65538ee4b 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /getting-started/automation-trigger/ --- -Triggers are what starts the processing of an automation rule. It is possible to specify multiple triggers for the same rule. Once a trigger starts, Home Assistant will validate the conditions, if any, and call the action. +Triggers are what starts the processing of an automation rule. It is possible to specify multiple triggers for the same rule - when _any_ of the triggers becomes true then the automation will start. Once a trigger starts, Home Assistant will validate the conditions, if any, and call the action. ### {% linkable_title Event trigger %} From 2a7ff828a0af853c10e265b002be584bc7ed4353 Mon Sep 17 00:00:00 2001 From: Pierre-Jean Leger Date: Sun, 7 Oct 2018 12:01:09 +0200 Subject: [PATCH 035/217] Add KU6100K Samsung TV to supported models list (#6574) --- source/_components/media_player.samsungtv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index 9a80e3ad393..fba12092442 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -81,6 +81,7 @@ Currently known supported models: - KS8000 (port must be set to 8001, and `pip3 install websocket-client` must be executed) - KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed) - KU6020 (port must be set to 8001, and `pip3 install websocket-client` must be executed) +- KU6100 (port must be set to 8001, and `pip3 install websocket-client` must be executed) - KU6290 (port must be set to 8001) - KU7000 (port must be set to 8001) - MU6170UXZG (port must be set to 8001, and `pip3 install websocket-client` must be executed) From 59c1717020f7ba6292200de77dd0736509796702 Mon Sep 17 00:00:00 2001 From: Amir Hanan Date: Sun, 7 Oct 2018 14:45:32 +0300 Subject: [PATCH 036/217] Configuration ezfix (#6579) #6385 related --- .../device_tracker.actiontec.markdown | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/source/_components/device_tracker.actiontec.markdown b/source/_components/device_tracker.actiontec.markdown index fbf21196500..f33d631b8f3 100644 --- a/source/_components/device_tracker.actiontec.markdown +++ b/source/_components/device_tracker.actiontec.markdown @@ -33,11 +33,20 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, eg. `192.168.1.1`. -- **username** (*Required*: The username of an user with administrative privileges, usually `admin`. -- **password** (*Required*): The password for your given admin account. +{% configuration %} +host: + description: The IP address of your router, eg. `192.168.1.1`. + required: true + type: string +username: + description: The username of an user with administrative privileges, usually `admin`. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. From d3589d95185a75d8faa1bde41989f78f26b9e30b Mon Sep 17 00:00:00 2001 From: Florian Klien Date: Sun, 7 Oct 2018 16:58:35 +0200 Subject: [PATCH 037/217] typos fixed (#6582) --- source/_addons/lets_encrypt.markdown | 4 ++-- source/_addons/samba.markdown | 2 +- source/_addons/snips.markdown | 4 ++-- source/_addons/ssh.markdown | 2 +- source/_cookbook/fail2ban.markdown | 2 +- source/_cookbook/google_maps_card.markdown | 2 +- .../owntracks_two_mqtt_broker.markdown | 4 ++-- ...form_actions_based_on_input_select.markdown | 2 +- source/_docs/asterisk_mbox.markdown | 4 ++-- source/_docs/configuration/events.markdown | 2 +- .../configuration/group_visibility.markdown | 2 +- .../splitting_configuration.markdown | 2 +- source/_docs/configuration/yaml.markdown | 2 +- source/_docs/ecosystem/appdaemon/api.markdown | 18 +++++++++--------- .../_docs/ecosystem/appdaemon/running.markdown | 2 +- .../ecosystem/appdaemon/tutorial.markdown | 8 ++++---- .../ecosystem/appdaemon/updating.markdown | 2 +- .../ecosystem/backup/backup_github.markdown | 4 ++-- .../certificates/lets_encrypt.markdown | 10 +++++----- .../tls_domain_certificate.markdown | 4 ++-- .../tls_self_signed_certificate.markdown | 2 +- source/_docs/ecosystem/scenegen.markdown | 4 ++-- source/_docs/frontend/browsers.markdown | 2 +- source/_docs/installation/docker.markdown | 4 ++-- source/_docs/installation/freenas.markdown | 2 +- .../hassbian/installation.markdown | 4 ++-- source/_docs/installation/virtualenv.markdown | 2 +- source/_docs/mqtt/broker.markdown | 4 ++-- source/_docs/z-wave/adding.markdown | 2 +- source/_docs/z-wave/control-panel.markdown | 8 ++++---- source/_docs/z-wave/device-specific.markdown | 2 +- source/_docs/z-wave/installation.markdown | 2 +- source/_docs/z-wave/services.markdown | 2 +- source/ios/beta.markdown | 2 +- source/lovelace/views.markdown | 2 +- 35 files changed, 63 insertions(+), 63 deletions(-) diff --git a/source/_addons/lets_encrypt.markdown b/source/_addons/lets_encrypt.markdown index 0ac8d019945..755d039a2f7 100644 --- a/source/_addons/lets_encrypt.markdown +++ b/source/_addons/lets_encrypt.markdown @@ -14,7 +14,7 @@ featured: false You should not use this if you are also using the [DuckDNS add-on]. The DuckDNS add-on has integrated Let's Encrypt support.

-Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This addon will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration. This add-on uses port 80 to verify the certificate request. You will need to stop all other add-ons that also use this port. +Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This add-on will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration. This add-on uses port 80 to verify the certificate request. You will need to stop all other add-ons that also use this port. ```json { @@ -43,7 +43,7 @@ If you use another port such as `8123` or an SSL proxy, change the port number. ## {% linkable_title Enabling auto-renewals %} -Out of the box, the add-on will not automatically renew your certificate. In fact, it only starts, tries to get/renew your certificte, and then stops. It's up to you to manually start it again whenever your certificate comes close to expiry. +Out of the box, the add-on will not automatically renew your certificate. In fact, it only starts, tries to get/renew your certificate, and then stops. It's up to you to manually start it again whenever your certificate comes close to expiry. However, you can automate this process using Home Assistant. diff --git a/source/_addons/samba.markdown b/source/_addons/samba.markdown index aa7d509c18b..42519d3cfed 100644 --- a/source/_addons/samba.markdown +++ b/source/_addons/samba.markdown @@ -10,7 +10,7 @@ footer: true featured: true --- -This addon allows you to set up a [Samba](https://samba.org/) server to access Hass.io folders using Windows network shares. +This add-on allows you to set up a [Samba](https://samba.org/) server to access Hass.io folders using Windows network shares. ```json { diff --git a/source/_addons/snips.markdown b/source/_addons/snips.markdown index e8377a1b5a7..b002ff1a4a1 100644 --- a/source/_addons/snips.markdown +++ b/source/_addons/snips.markdown @@ -15,7 +15,7 @@ The Snips add-on depends on the Mosquitto add on to bridge to Home Assistant, so Home Assistant comes with certain Intents builtin to handle common tasks. A complete list of Intents can be found in this wiki [Hass Snips Bundle](https://github.com/tschmidty69/hass-snips-bundle-intents/wiki). -The Snips addon by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a shopping list if that component is enabled. +The Snips add-on by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a shopping list if that component is enabled. If using a USB microphone and speakers plugged into the Raspberry Pi output, Snips will work without any change to the configuration. Trying saying things like: @@ -71,7 +71,7 @@ There is an active [discord](https://discordapp.com/invite/3939Kqx) channel for ### {% linkable_title Examples %} -So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your HassIO installation using the Samba addon. +So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your HassIO installation using the Samba add-on. Next create a weather sensor, e.g., one for (Dark Sky)[/components/sensor.darksky/] and put the `api_key` in your `secrets.yaml` file. diff --git a/source/_addons/ssh.markdown b/source/_addons/ssh.markdown index 479b05c98f6..0fa91e88684 100644 --- a/source/_addons/ssh.markdown +++ b/source/_addons/ssh.markdown @@ -35,7 +35,7 @@ To start this add-on for the first time, you either need to include a key (enclo The username for login over SSH is `root`. The complete login command is `ssh root@hassio.local`. -After logging in, you will find yourself in this add-ons container. The Home Assistant configuration directory is mounted on the path `/config`. +After logging in, you will find yourself in this add-on's container. The Home Assistant configuration directory is mounted on the path `/config`. Configuration variables: diff --git a/source/_cookbook/fail2ban.markdown b/source/_cookbook/fail2ban.markdown index d5c5275a1c7..a9f7e045612 100644 --- a/source/_cookbook/fail2ban.markdown +++ b/source/_cookbook/fail2ban.markdown @@ -163,7 +163,7 @@ eg: $ sudo fail2ban-client set ha unbanip xxx.xxx.xxx.xxx ``` -Fail2ban should now be configured and running, if an IP address is banned you will recieve an email with WHOIS details about the IP address that attempted to connect, if not you will need configure Postfix or another MTA (Mail Transport Agent). +Fail2ban should now be configured and running, if an IP address is banned you will receive an email with WHOIS details about the IP address that attempted to connect, if not you will need configure Postfix or another MTA (Mail Transport Agent). If you want to read more about `fail2ban`, some links are below: diff --git a/source/_cookbook/google_maps_card.markdown b/source/_cookbook/google_maps_card.markdown index 9055e4c6726..56b3e14f639 100644 --- a/source/_cookbook/google_maps_card.markdown +++ b/source/_cookbook/google_maps_card.markdown @@ -10,7 +10,7 @@ footer: true ha_category: User Interface --- -Using the [generic camera platform] you can present any image on the internet as a camera. Starting release 0.27 these urls can also be based on a template. This example uses this functionality to point a generic camera at the Google Maps static image API and pass in the location of a device. +Using the [generic camera platform] you can present any image on the internet as a camera. Starting release 0.27 these URLs can also be based on a template. This example uses this functionality to point a generic camera at the Google Maps static image API and pass in the location of a device. As of June 2018, Google has changed the API limits for static maps. You now need to have a Google Maps API key. Instructions for registering a key can be found [here](https://github.com/googlemaps/google-maps-services-python#api-keys). Replace `YOUR_API_KEY` with the key you registered. diff --git a/source/_cookbook/owntracks_two_mqtt_broker.markdown b/source/_cookbook/owntracks_two_mqtt_broker.markdown index c4be879045f..bfdee80c666 100644 --- a/source/_cookbook/owntracks_two_mqtt_broker.markdown +++ b/source/_cookbook/owntracks_two_mqtt_broker.markdown @@ -25,7 +25,7 @@ Two Docker instances for MQTT All Docker configuration files are on my NAS so the Docker containers can be destroyed without affecting my actual configuration files. -#### Docker setup for the mosquitto internal instance. No authentication for use with the MQTT bridge. +#### Docker setup for the Mosquitto internal instance. No authentication for use with the MQTT bridge. ```bash $ docker run -ti -p 1883:1883 \ @@ -56,7 +56,7 @@ persistence_file mosquitto.db try_private true address 10.0.0.20:1884 start_type automatic -sername test +username test password test notifications true topic owntracks/# in diff --git a/source/_cookbook/perform_actions_based_on_input_select.markdown b/source/_cookbook/perform_actions_based_on_input_select.markdown index 235ef58351f..87d8e8ae02a 100644 --- a/source/_cookbook/perform_actions_based_on_input_select.markdown +++ b/source/_cookbook/perform_actions_based_on_input_select.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Perform actions based on input select" -description: "Example playing media to chromecast based on input select element" +description: "Example playing media to Chromecast based on input select element" date: 2016-03-07 12:05 sidebar: true comments: false diff --git a/source/_docs/asterisk_mbox.markdown b/source/_docs/asterisk_mbox.markdown index 45bc4071a80..488b254584a 100644 --- a/source/_docs/asterisk_mbox.markdown +++ b/source/_docs/asterisk_mbox.markdown @@ -14,7 +14,7 @@ Asterisk Voicemail integration allows Home Assistant to view, listen to and dele There are two components to the integration: - A server that runs on the Asterisk PBX host and communicates over an open port. -- A client which can request inormation from the server. +- A client which can request information from the server. Both parts are necessary for Asterisk voicemail integration. @@ -64,7 +64,7 @@ Before beginning make sure that you have the following: - **port** (*Optional*): The port to listen on for client requests. Defaults to 12345. - **password** (*Required*): A password shared between client and server. Use only alpha-numeric characters and spaces - **mbox\_path** (*Required*): The path to the storage location of mailbox files. This is typically `/var/spool/asterisk/voicemail/default//` - - **cache\_file** (*Required*): A fully-qualified path to a file thht can be written by the server containing transcriptions of voicemails. Example: `/var/spool/asterisk/transcription.cache` + - **cache\_file** (*Required*): A fully-qualified path to a file that can be written by the server containing transcriptions of voicemails. Example: `/var/spool/asterisk/transcription.cache` - **google\_key** (*Required*): Your 40 characters Google API key. - **cdr** (*Optional*): Where to find CDR data. Supports various SQL databases as well as a file log. Configuring the CDR will enable the `asterisk_cdr` platfom. diff --git a/source/_docs/configuration/events.markdown b/source/_docs/configuration/events.markdown index ff0bcd35140..86494fc7b28 100644 --- a/source/_docs/configuration/events.markdown +++ b/source/_docs/configuration/events.markdown @@ -15,7 +15,7 @@ The core of Home Assistant is the event bus. The event bus allows any component Home Assistant contains a few built-in events that are used to coordinate between various components. ### {% linkable_title Event `homeassistant_start` %} -Event `homeassistant_start` is fired when all components from the configuration have been intitialized. This is the event that will start the timer firing off `time_changed` events. +Event `homeassistant_start` is fired when all components from the configuration have been initialized. This is the event that will start the timer firing off `time_changed` events.

Starting 0.42, it is no longer possible to listen for event `homeassistant_start`. Use the 'homeassistant' [platform](/docs/automation/trigger) instead. diff --git a/source/_docs/configuration/group_visibility.markdown b/source/_docs/configuration/group_visibility.markdown index c5458e4bf2b..cab429ce404 100644 --- a/source/_docs/configuration/group_visibility.markdown +++ b/source/_docs/configuration/group_visibility.markdown @@ -95,7 +95,7 @@ if __name__ == '__main__': print(get_current_occasion(OCCASIONS)) ``` -This script will output "work_morning" from 06:00-07:10 during weekdays (monday-friday), "weekday" during all other time from monday-friday and "weekend" on saturdays and sundays. Adjust according to your needs. To create the sensor, just add it like this: +This script will output "work_morning" from 06:00-07:10 during weekdays (Monday-Friday), "weekday" during all other time from Monday-Friday and "weekend" on Saturdays and Sundays. Adjust according to your needs. To create the sensor, just add it like this: ```yaml sensor: diff --git a/source/_docs/configuration/splitting_configuration.markdown b/source/_docs/configuration/splitting_configuration.markdown index ec0d021ea53..47e53037928 100644 --- a/source/_docs/configuration/splitting_configuration.markdown +++ b/source/_docs/configuration/splitting_configuration.markdown @@ -89,7 +89,7 @@ switch: !include switches.yaml device_tracker: !include device_tracker.yaml ``` -Note that there can only be one `!include:` for each component so chaining them isn't going to work. If that sounds like greek, don't worry about it. +Note that there can only be one `!include:` for each component so chaining them isn't going to work. If that sounds like Greek, don't worry about it. Alright, so we've got the single components and the include statements in the base file, what goes in those extra files? diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown index 68503dab96a..c4546d40ebb 100644 --- a/source/_docs/configuration/yaml.markdown +++ b/source/_docs/configuration/yaml.markdown @@ -26,7 +26,7 @@ notify: - A **component** provides the core logic for some functionality (like `notify` provides sending notifications). - A **platform** makes the connection to a specific software or hardware platform (like `pushbullet` works with the service from pushbullet.com). -The basics of YAML syntax are block collections and mappings containing key-value pairs. Each item in a collection starts with a `-` while mappings have the format `key: value`. If you specify duplicate keys, the last value for a key is used. This is somewhat similar to a Hashtable or more specifically a dictionary in Python. These can be nested as well. +The basics of YAML syntax are block collections and mappings containing key-value pairs. Each item in a collection starts with a `-` while mappings have the format `key: value`. If you specify duplicate keys, the last value for a key is used. This is somewhat similar to a Hash table or more specifically a dictionary in Python. These can be nested as well. Note that indentation is an important part of specifying relationships using YAML. Things that are indented are nested "inside" things that are one level higher. So in the above example, `platform: pushbullet` is a property of (nested inside) the `notify` component. diff --git a/source/_docs/ecosystem/appdaemon/api.markdown b/source/_docs/ecosystem/appdaemon/api.markdown index be4a60c0245..4464e699717 100755 --- a/source/_docs/ecosystem/appdaemon/api.markdown +++ b/source/_docs/ecosystem/appdaemon/api.markdown @@ -502,7 +502,7 @@ If duration is supplied as a parameter, the callback will not fire unless the st ``` -(Scheduler callbacks are documented in detail laer in this document) +(Scheduler callbacks are documented in detail later in this document) ##### {% linkable_title \*\*kwargs %} @@ -937,14 +937,14 @@ The handle returned when the scheduler call was made. time, interval, kwargs = self.info_timer(handle) ``` -### {% linkable_title Scheduler Ransomization %} +### {% linkable_title Scheduler Randomization %} All of the scheduler calls above support 2 additional optional arguments, `random_start` and `random_end`. Using these arguments it is possible to randomize the firing of callbacks to the degree desired by setting the appropriate number of seconds with the parameters. - `random_start` - start of range of the random time - `random_end` - end of range of the random time -`random_start` must always be numerically lower than `random_end`, they can be negative to denote a random offset before and event, or positive to denote a random offset after an event. The event would be an absolute or relative time or sunrise/sunset depending on which scheduler call you use and these values affect the base time by the spcified amount. If not specified, they will default to `0`. +`random_start` must always be numerically lower than `random_end`, they can be negative to denote a random offset before and event, or positive to denote a random offset after an event. The event would be an absolute or relative time or sunrise/sunset depending on which scheduler call you use and these values affect the base time by the specified amount. If not specified, they will default to `0`. For example: @@ -1164,7 +1164,7 @@ self.call_service("notify/notify", title = "Hello", message = "Hello World") ``` ### {% linkable_title turn_on() %} -This is a convenience function for the `homassistant.turn_on` function. It is able to turn on pretty much anything in Home Assistant that can be turned on or run: +This is a convenience function for the `homeassistant.turn_on` function. It is able to turn on pretty much anything in Home Assistant that can be turned on or run: - Lights - Switches @@ -1197,13 +1197,13 @@ A comma separated list of key value pairs to allow specification of parameters o ```python self.turn_on("switch.patio_lights") -self.turn_on("scene.bedrrom_on") +self.turn_on("scene.bedroom_on") self.turn_on("light.office_1", color_name = "green") ``` ### {% linkable_title turn_off() %} -This is a convenience function for the `homassistant.turn_off` function. Like `homeassistant.turn_on`, it is able to turn off pretty much anything in Home Assistant that can be turned off. +This is a convenience function for the `homeassistant.turn_off` function. Like `homeassistant.turn_on`, it is able to turn off pretty much anything in Home Assistant that can be turned off. #### {% linkable_title Synopsis %} @@ -1230,7 +1230,7 @@ self.turn_off("light.office_1") ### {% linkable_title toggle() %} -This is a convenience function for the `homassistant.toggle` function. It is able to flip the state of pretty much anything in Home Assistant that can be turned on or off. +This is a convenience function for the `homeassistant.toggle` function. It is able to flip the state of pretty much anything in Home Assistant that can be turned on or off. #### {% linkable_title Synopsis %} @@ -1850,7 +1850,7 @@ if self.now_is_between("sunset - 00:45:00", "sunrise + 00:45:00"): ### {% linkable_title friendly_name() %} -`frindly_name()` will return the Friendly Name of an entity if it has one. +`friendly_name()` will return the Friendly Name of an entity if it has one. #### {% linkable_title Synopsis %} @@ -2096,7 +2096,7 @@ $ appdaemon -e "2016-06-06 10:10:00" ... ``` -The `-e` flag is most useful when used in conjuntion with the -s flag and optionally the `-t` flag. For example, to run from just before sunset, for an hour, as fast as possible: +The `-e` flag is most useful when used in conjunction with the -s flag and optionally the `-t` flag. For example, to run from just before sunset, for an hour, as fast as possible: ```bash $ appdaemon -s "2016-06-06 19:16:00" -s "2016-06-06 20:16:00" -t 0 diff --git a/source/_docs/ecosystem/appdaemon/running.markdown b/source/_docs/ecosystem/appdaemon/running.markdown index d4006526d6f..feda9c4ee8a 100755 --- a/source/_docs/ecosystem/appdaemon/running.markdown +++ b/source/_docs/ecosystem/appdaemon/running.markdown @@ -26,7 +26,7 @@ In the example above you would use: $ docker run -d -v /Users/foo/ha-config:/conf --name appdaemon appdaemon:latest ``` -Where you place the `conf` and `conf/apps` directory is up to you - it can be in downloaded repostory, or anywhere else on the host, as long as you use the correct mapping in the `docker run` command. +Where you place the `conf` and `conf/apps` directory is up to you - it can be in downloaded repository, or anywhere else on the host, as long as you use the correct mapping in the `docker run` command. You can inspect the logs as follows: diff --git a/source/_docs/ecosystem/appdaemon/tutorial.markdown b/source/_docs/ecosystem/appdaemon/tutorial.markdown index 28f325dfa08..14c01f397cb 100755 --- a/source/_docs/ecosystem/appdaemon/tutorial.markdown +++ b/source/_docs/ecosystem/appdaemon/tutorial.markdown @@ -12,7 +12,7 @@ redirect_from: /ecosystem/appdaemon/tutorial/ ## {% linkable_title Another Take on Automation %} -If you haven't yet read Paulus' excellent Blog entry on [Perfect Home Automation](/blog/2016/01/19/perfect-home-automation/) I would encourage you to take a look. As a veteran of several Home Automation systems with varying degrees success, it was this article more than anything else that convinced me that Home Assistant had the right philosophy behind it and was on the right track. One of the most important points made is that being able to control your lights from your phone, 9 times out of 10 is harder than using a lightswitch - where Home Automation really comes into its own is when you start removing the need to use a phone or the switch - the "Automation" in Home Automation. A surprisingly large number of systems out there miss this essential point and have limited abilities to automate anything which is why a robust and open system such as Home Assistant is such an important part of the equation in bring this all together in the vast and chaotic ecosystem that is the "Internet of Things". +If you haven't yet read Paulus' excellent Blog entry on [Perfect Home Automation](/blog/2016/01/19/perfect-home-automation/) I would encourage you to take a look. As a veteran of several Home Automation systems with varying degrees success, it was this article more than anything else that convinced me that Home Assistant had the right philosophy behind it and was on the right track. One of the most important points made is that being able to control your lights from your phone, 9 times out of 10 is harder than using a light switch - where Home Automation really comes into its own is when you start removing the need to use a phone or the switch - the "Automation" in Home Automation. A surprisingly large number of systems out there miss this essential point and have limited abilities to automate anything which is why a robust and open system such as Home Assistant is such an important part of the equation in bring this all together in the vast and chaotic ecosystem that is the "Internet of Things". So given the importance of Automation, what should Automation allow us to do? I am a pragmatist at heart so I judge individual systems by the ease of accomplishing a few basic but representative tasks: @@ -82,7 +82,7 @@ This is also fairly easy to achieve with Home Assistant automations, but we are ### Motion Light -Our next example is to turn on a light when motion is detected and it is dark, and turn it off after a period of time. This time, the `initialize()` function registers a callback on a state change (of the motion sensor) rather than a specific time. We tell AppDaemon that we are only interested in state changesd where the motion detector comes on by adding an additional parameter to the callback registration - `new = "on"`. When the motion is detected, the callack function `motion()` is called, and we check whether or not the sun has set using a built-in convenience function: `sun_down()`. Next, we turn the light on with `turn_on()`, then set a timer using `run_in()` to turn the light off after 60 seconds, which is another call to the scheduler to execute in a set time from now, which results in `AppDaemon` calling `light_off()` 60 seconds later using the `turn_off()` call to actually turn the light off. This is still pretty simple in code terms: +Our next example is to turn on a light when motion is detected and it is dark, and turn it off after a period of time. This time, the `initialize()` function registers a callback on a state change (of the motion sensor) rather than a specific time. We tell AppDaemon that we are only interested in state changesd where the motion detector comes on by adding an additional parameter to the callback registration - `new = "on"`. When the motion is detected, the callback function `motion()` is called, and we check whether or not the sun has set using a built-in convenience function: `sun_down()`. Next, we turn the light on with `turn_on()`, then set a timer using `run_in()` to turn the light off after 60 seconds, which is another call to the scheduler to execute in a set time from now, which results in `AppDaemon` calling `light_off()` 60 seconds later using the `turn_off()` call to actually turn the light off. This is still pretty simple in code terms: ```python import appdaemon.appapi as appapi @@ -132,9 +132,9 @@ class MotionLights(appapi.AppDaemon): Of course if I wanted to make this App or its predecessor reusable I would have provide parameters for the sensor, the light to activate on motion, the warning light and even the number of flashes and delay between flashes. -In addition, Apps can write to `AppDaemon`'s logfiles, and there is a system of constraints that allows yout to control when and under what circumstances Apps and callbacks are active to keep the logic clean and simple. +In addition, Apps can write to `AppDaemon`'s logfiles, and there is a system of constraints that allows you to control when and under what circumstances Apps and callbacks are active to keep the logic clean and simple. -I have spent the last few weeks moving all of my (fairly complex) automations over to `APPDaemon` and so far it is working very reliably. +I have spent the last few weeks moving all of my (fairly complex) automations over to `AppDaemon` and so far it is working very reliably. Some people will maybe look at all of this and say "what use is this, I can already do all of this", and that is fine, as I said this is an alternative not a replacement, but I am hopeful that for some users this will seem a more natural, powerful and nimble way of building potentially very complex automations. diff --git a/source/_docs/ecosystem/appdaemon/updating.markdown b/source/_docs/ecosystem/appdaemon/updating.markdown index 132b4dc5d2e..af29d8b578c 100644 --- a/source/_docs/ecosystem/appdaemon/updating.markdown +++ b/source/_docs/ecosystem/appdaemon/updating.markdown @@ -16,4 +16,4 @@ To update AppDaemon after I have released new code, just run the following comma $ sudo pip3 install --upgrade appdaemon ``` -If you are using docker, rerun the steps to grab the latestdocker image. +If you are using docker, rerun the steps to grab the latest docker image. diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown index d43a111f89b..cf526c7b502 100644 --- a/source/_docs/ecosystem/backup/backup_github.markdown +++ b/source/_docs/ecosystem/backup/backup_github.markdown @@ -35,7 +35,7 @@ Some best practices to consider before putting your configuration on GitHub: ### {% linkable_title Step 1: Installing and Initializing Git %} -In order to put your configuration on GitHub, you must install the Git package on your Home Assistant server (instructions below will work on Raspberry Pi, Ubunutu or any Debian-based system) *Note: this isn't required in Hass.io, it's included as default so proceed to step 2*: +In order to put your configuration on GitHub, you must install the Git package on your Home Assistant server (instructions below will work on Raspberry Pi, Ubuntu or any Debian-based system) *Note: this isn't required in Hass.io, it's included as default so proceed to step 2*: ```bash $ sudo apt-get update @@ -140,7 +140,7 @@ Every time you run this script, you will be prompted for a comment to describe t [Travis CI](https://travis-ci.org) is a continuous integration testing system that runs every time the code in your repository is updated and allows you to validate that your code works on a fresh install. - [Authorize Travis CI](https://travis-ci.org/auth) to have access to your GitHub repositories. -- Create the build script that travis will run to test your repository. +- Create the build script that Travis will run to test your repository. - Create a dummy `secrets.yaml` for Travis. Example .travis.yml diff --git a/source/_docs/ecosystem/certificates/lets_encrypt.markdown b/source/_docs/ecosystem/certificates/lets_encrypt.markdown index 0b62214a923..bcbecfaccce 100644 --- a/source/_docs/ecosystem/certificates/lets_encrypt.markdown +++ b/source/_docs/ecosystem/certificates/lets_encrypt.markdown @@ -27,7 +27,7 @@ This guide was added by mf_social on 16/03/2017 and was valid at the time of wri * You have a basic understanding of the phrases I have used so far. * You are not currently running anything on port 80 on your network (you'd know if you were). * If you are not using Home Assistant on a Debian/Raspian/Hassbian system you will be able to convert any of the terminology I use in to the correct syntax for your system. - * You understand that this is a 'guide' covering the general application of these things to the general masses and there are things outside of the scope of it, and it does not cover every eventuality (although I have made some notes where people may stumble). Also, I have used some turns of phrase to make it easier to understand for the novice reader which people of advanced knowledge may say is innacurate. My goal here is to get you through this guide with a satisfactory outcome and have a decent understanding of what you are doing and why, not to teach you advanced internet communication protocols. + * You understand that this is a 'guide' covering the general application of these things to the general masses and there are things outside of the scope of it, and it does not cover every eventuality (although I have made some notes where people may stumble). Also, I have used some turns of phrase to make it easier to understand for the novice reader which people of advanced knowledge may say is inaccurate. My goal here is to get you through this guide with a satisfactory outcome and have a decent understanding of what you are doing and why, not to teach you advanced internet communication protocols. * Each step presumes you have fully completed the previous step successfully, so if you did an earlier step following a different guide, please ensure that you have not missed anything out that may affect the step you have jumped to, and ensure that you adapt any commands to take in to account different file placements from other guides. Steps we will take: @@ -113,7 +113,7 @@ static routers=192.168.0.1 <---- Your router's IP address static domain_name_servers=192.168.0.1 <---- Your router's IP address ``` -It is important to note that the first three bytes of your static IP address and your router's IP address should be the same, eg: +It is important to note that the first three bytes of your static IP address and your router's IP address should be the same, e.g.: ```text Router: 192.168.0.1 @@ -179,9 +179,9 @@ http://203.0.113.12:8123 Can you see your Home Assistant instance? If not, your router may not support 'loopback' - try the next step anyway and if that works, and this one still doesn't, just remember that you cannot use loopback, so will have to use internal addresses when you're on your home network. More on this later on if it's relevant to you. -Just to verify this isn't some kind of witchcraft that is actually using your internal network, pick up your phone, disconnect it from your wifi so that you are on your mobile data and not connected to the home network, put the same URL in the browser on your phone. +Just to verify this isn't some kind of witchcraft that is actually using your internal network, pick up your phone, disconnect it from your WiFi so that you are on your mobile data and not connected to the home network, put the same URL in the browser on your phone. -Can you see it now, from a device that is definitely not connected to your local network? Excellent! You now have a remotely accesible Home Assistant instance. +Can you see it now, from a device that is definitely not connected to your local network? Excellent! You now have a remotely accessible Home Assistant instance. But what if your external IP changes? Plus, remembering all those numbers is pretty hard, isn't it? Read on to get yourself set up with a word-based URL at DuckDNS that will track any changes to your IP address so you don't have to stress anymore. @@ -222,7 +222,7 @@ What now happens behind the scenes is this: Did it work? Super! -You now have a remotely accesible Home Assistant instance that has a text-based URL and will not drop out if your service provider changes your IP. But, it is only as secure as the password you set, which can be snooped during your session by a malicious hacker with relative ease. So we need to set up some encryption with TLS/SSL, read on to find out how. +You now have a remotely accessible Home Assistant instance that has a text-based URL and will not drop out if your service provider changes your IP. But, it is only as secure as the password you set, which can be snooped during your session by a malicious hacker with relative ease. So we need to set up some encryption with TLS/SSL, read on to find out how. ### {% linkable_title 4 - Obtain a TLS/SSL certificate from Let's Encrypt %} diff --git a/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown b/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown index 91198ddd4f7..d6cec084712 100644 --- a/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown +++ b/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown @@ -12,7 +12,7 @@ redirect_from: /cookbook/tls_domain_certificate/ If your Home Assistant instance is only accessible from your local network you can still protect the communication between your browsers and the frontend with SSL/TLS. You can use [Self-sign certificate](/cookbook/tls_self_signed_certificate/) but your browser will present a warning and some https-only features might not work. -### {% linkable_title Prerequirement for this guide %} +### {% linkable_title Requirement for this guide %} * Your Home Assistant instance is not exposed to the internet. If it is - use [this guide]({{site_root}}/blog/2015/12/13/setup-encryption-using-lets-encrypt/) * You control a public domain name. The domain doesn't have to point to a site. A domain controlled by a *trusted* friend will do. (A friend you trust not to MITM you) @@ -45,7 +45,7 @@ Once this is deployed, Press Enter to Continue ``` -* Deploy the value to TXT field using your domain registar. +* Deploy the value to TXT field using your domain registrar. * Go to a site that queries domain record. For example [this one](https://mxtoolbox.com/TXTLookup.aspx) and look if it sees your brand new TXT field (Don't forget to enter the full domain: `_acme-challenge.mydomain.com`) * Press Enter at certbot prompt. diff --git a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown index 757e0b28672..c4f7c536741 100644 --- a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown +++ b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown @@ -20,7 +20,7 @@ Change to your Home Assistant [configuration directory](/getting-started/configu The certificate **must** be `.pem` extension. -If you are going to use this certificate with the iOS app, you need to ensure you complete **all** fields during the cetificate creation process, then: +If you are going to use this certificate with the iOS app, you need to ensure you complete **all** fields during the certificate creation process, then: * Send **only** the `certificate.pem` file to the iOS device, using airdrop or other transfer method. * Open the `.pem` file on the iOS device, follow the prompts to trust and install it. diff --git a/source/_docs/ecosystem/scenegen.markdown b/source/_docs/ecosystem/scenegen.markdown index 37d2534b086..0463a834242 100644 --- a/source/_docs/ecosystem/scenegen.markdown +++ b/source/_docs/ecosystem/scenegen.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /ecosystem/scenegen/ --- -Scenegen is a scene generation tool for [Home Assistant](/) home automation software. It creates scenes by example, by reading the current states of devices and outputting a corresponding scene. Scenegen is written in python using Home Assistant's RESTFul API so can be run from anywhere. It currently supports lights and switches only. +Scenegen is a scene generation tool for [Home Assistant](/) home automation software. It creates scenes by example, by reading the current states of devices and outputting a corresponding scene. Scenegen is written in python using Home Assistant's RESTful API so can be run from anywhere. It currently supports lights and switches only. ## {% linkable_title Installation %} @@ -86,7 +86,7 @@ entities: brightness: 28 ``` -This output can be cut and pasted into your configuration.yaml file as required (ensuring correct indentatation of course). +This output can be cut and pasted into your configuration.yaml file as required (ensuring correct indentation of course). Scenegen supports all documented effects for lights including transitions and flash effects, however generally it is easier to run scenegen to get the basic setup and add any effects manually later. diff --git a/source/_docs/frontend/browsers.markdown b/source/_docs/frontend/browsers.markdown index 0003e531ec2..520f77135c4 100644 --- a/source/_docs/frontend/browsers.markdown +++ b/source/_docs/frontend/browsers.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /getting-started/browsers/ --- -Home Assistant requires a web browser to show the frontend and supports all major modern browsers. We don't test the web interface against all available browsers but this page tracks different browsers on various operating systems and should help you to pick a browser which works. The "Release" column contains the release number which were tested. This doen't mean that older or newer releases not work. +Home Assistant requires a web browser to show the frontend and supports all major modern browsers. We don't test the web interface against all available browsers but this page tracks different browsers on various operating systems and should help you to pick a browser which works. The "Release" column contains the release number which were tested. This doesn't mean that older or newer releases not work. If a browser is listed as working but you are still having problems, it is possible that some add-on or extension may be the problem. Some add-ons or extension are known to cause issue with the frontend, but it's not possible to test them all. If you are having issues with the frontend displaying correctly, you should disable all your add-ons or extensions and enable them one at a time. diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index 05cf090ec00..7b248911b78 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -53,7 +53,7 @@ As Synology within DSM now supports Docker (with a neat UI), you can simply inst The steps would be: * Install "Docker" package on your Synology NAS * Launch Docker-app and move to "Registry"-section -* Find "homeassistant/home-assistant" within registry and click on "Download". Choose the "latest" tag, this will make verison updates easier later on. +* Find "homeassistant/home-assistant" within registry and click on "Download". Choose the "latest" tag, this will make version updates easier later on. * Wait for some time until your NAS has pulled the image * Move to the "Image"-section of the Docker-app * Click on "Launch" @@ -185,7 +185,7 @@ $ docker-compose restart ### {% linkable_title Exposing Devices %} -In order to use Z-Wave, ZigBbee or other components that require access to devices, you need to map the appropriate device into the container. Ensure the user that is running the container has the correct privileges to access the `/dev/tty*` file, then add the device mapping to your docker command: +In order to use Z-Wave, ZigBee or other components that require access to devices, you need to map the appropriate device into the container. Ensure the user that is running the container has the correct privileges to access the `/dev/tty*` file, then add the device mapping to your docker command: ```bash $ docker run -d --name="home-assistant" -v /path/to/your/config:/config \ diff --git a/source/_docs/installation/freenas.markdown b/source/_docs/installation/freenas.markdown index 6679275764c..654f3e084db 100644 --- a/source/_docs/installation/freenas.markdown +++ b/source/_docs/installation/freenas.markdown @@ -46,7 +46,7 @@ Make `/etc/rc.local` executable so it runs on startup # chmod 755 /etc/rc.local ``` -Finally restart the jail from the Freenas GUI. +Finally restart the jail from the FreeNAS GUI.

USB Z-wave sticks may give `dmesg` warnings similar to "data interface 1, has no CM over data, has no break". This doesn't impact the function of the Z-wave stick in Hass. Just make sure the proper `/dev/cu*` is used in the Home Assistant `configuration.yaml` file. diff --git a/source/_docs/installation/hassbian/installation.markdown b/source/_docs/installation/hassbian/installation.markdown index bfc7d4e4d72..41af2edf384 100644 --- a/source/_docs/installation/hassbian/installation.markdown +++ b/source/_docs/installation/hassbian/installation.markdown @@ -40,7 +40,7 @@ The following extras are included on the image: ### {% linkable_title Wireless Network %} -After flashing the image to your SD Card open the partition `boot` and create a new file `wpa_supplicant.conf`. Edit the file and enter your network credentials. For more information visit [Setting up Wifi for Raspbian][wifi-setup]. During start the file will automatically be copied in the right folder and the network connection will be established. The file could look like this: +After flashing the image to your SD Card open the partition `boot` and create a new file `wpa_supplicant.conf`. Edit the file and enter your network credentials. For more information visit [Setting up WiFi for Raspbian][wifi-setup]. During start the file will automatically be copied in the right folder and the network connection will be established. The file could look like this: ```conf country=SE @@ -55,7 +55,7 @@ network={ You may need to adjust the country code depending upon where you are. A list of codes can be found [here](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements). -If you are running in trouble with your Wifi connection (for [further details](https://www.raspberrypi.org/forums/viewtopic.php?t=207882)), check the output of the following command: +If you are running in trouble with your WiFi connection (for [further details](https://www.raspberrypi.org/forums/viewtopic.php?t=207882)), check the output of the following command: ```bash $ sudo rfkill list diff --git a/source/_docs/installation/virtualenv.markdown b/source/_docs/installation/virtualenv.markdown index 336ced4598e..59f22869f16 100644 --- a/source/_docs/installation/virtualenv.markdown +++ b/source/_docs/installation/virtualenv.markdown @@ -12,7 +12,7 @@ redirect_from: /getting-started/installation-virtualenv/ If you already have Python 3.5.3 or later installed, you can easily give Home Assistant a spin. -It's recommended when installing Python packages that you use a [virtual environment](https://docs.python.org/3.5/library/venv.html#module-venv). This will make sure that your Python installation and Home Assistant installation won't impact one another. The following steps will work on most unix like systems. +It's recommended when installing Python packages that you use a [virtual environment](https://docs.python.org/3.5/library/venv.html#module-venv). This will make sure that your Python installation and Home Assistant installation won't impact one another. The following steps will work on most UNIX like systems. _(If you're on a Debian based system, you will need to install Python virtual environment support using `apt-get install python3-pip python3-venv`.)_ diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown index 9da45c0aa2b..ddb5ee8f8dd 100644 --- a/source/_docs/mqtt/broker.markdown +++ b/source/_docs/mqtt/broker.markdown @@ -59,7 +59,7 @@ mqtt: ### {% linkable_title Run your own %} -Along with the embedded broker this is the most private option, but it requires a bit more work. There are multiple free and open-source brokers to pick from: eg. [Mosquitto](http://mosquitto.org/), [EMQ](http://emqtt.io/), or [Mosca](http://www.mosca.io/). +Along with the embedded broker this is the most private option, but it requires a bit more work. There are multiple free and open-source brokers to pick from: e.g. [Mosquitto](http://mosquitto.org/), [EMQ](http://emqtt.io/), or [Mosca](http://www.mosca.io/). ```yaml # Example configuration.yaml entry @@ -98,7 +98,7 @@ protocol: type: string certificate: required: false - description: Path to the certificate file, eg. `/home/user/.homeassistant/server.crt`. + description: Path to the certificate file, e.g. `/home/user/.homeassistant/server.crt`. type: string tls_insecure: required: false diff --git a/source/_docs/z-wave/adding.markdown b/source/_docs/z-wave/adding.markdown index fdb5a411a20..98c2c5efbae 100644 --- a/source/_docs/z-wave/adding.markdown +++ b/source/_docs/z-wave/adding.markdown @@ -24,7 +24,7 @@ Don't use this for [secure devices](/docs/z-wave/adding/#adding-secure-devices), Don't use the OpenZWave control panel (OZWCP), **or the physical button on a controller**, to add or remove devices. Many devices will only send the information about their capabilities at the time you include them. If you use the OpenZWave control panel, or the button on a device, then Home Assistant won't have that information. Using the physical button on a controller will also result in a non-security inclusion being performed, which may limit the features the device supports.

-When you add a device, it may initially appear without a specific entity ID (eg `zwave.__`) and without other identifying information. Running a *Heal* should help speed this process up, and you'll need to run a *Heal* anyway so that all the devices in your Z-Wave network learn about the new device. You *might* need to restart Home Assistant (not reboot the system) to have the entity ID fully visible. +When you add a device, it may initially appear without a specific entity ID (e.g. `zwave.__`) and without other identifying information. Running a *Heal* should help speed this process up, and you'll need to run a *Heal* anyway so that all the devices in your Z-Wave network learn about the new device. You *might* need to restart Home Assistant (not reboot the system) to have the entity ID fully visible. ## {% linkable_title Network Key %} diff --git a/source/_docs/z-wave/control-panel.markdown b/source/_docs/z-wave/control-panel.markdown index 2556722cb8d..7ee257b0fdc 100644 --- a/source/_docs/z-wave/control-panel.markdown +++ b/source/_docs/z-wave/control-panel.markdown @@ -70,7 +70,7 @@ Here is where you [include and exclude](/docs/z-wave/adding/) Z-Wave devices fro * **retries** How many retries have been made to send messages to this node * **sentCnt** How many messages have been sent to the node * **sentFailed** How many messages that were sent weren't acknowledged -* **sentTS** The date and time the last message was sent to the ndoe +* **sentTS** The date and time the last message was sent to the node * **wake_up_interval** *Battery powered devices only* - the wakeup interval of the device, in seconds

@@ -82,7 +82,7 @@ Battery powered devices need to be awake before you can use the Z-Wave control p This is a dropdown where you can select all the entities of this node. Once selected you can then use: * **Refresh Entity** to refresh just that entity's values -* **Entity Attributes** to display the attributes of that entity (eg its friendly name, the ID of the node, etc) +* **Entity Attributes** to display the attributes of that entity (e.g. its friendly name, the ID of the node, etc) Here you can mark a device as requiring polling so the controller is aware of changes because the device doesn't send updates itself. Do see the information on [polling here](/docs/z-wave/devices/#polling), since excessive polling can break your Z-Wave network. @@ -130,7 +130,7 @@ Set the new selection by pressing the **Set Protection** button. ## {% linkable_title Node user codes %} -If your node has user codes, you can set and delete them. The format is raw hex Ascii code. Below the input you will see your actual code. For normal nodes this is as follows: +If your node has user codes, you can set and delete them. The format is raw hex ASCII code. Below the input you will see your actual code. For normal nodes this is as follows: ```yaml \x30 = 0 \x31 = 1 @@ -144,7 +144,7 @@ If your node has user codes, you can set and delete them. The format is raw hex \x39 = 9 ``` Some non compliant device like tag readers, have implemented to use raw hex code. -Please refer to a hex ascii table to set your code. Example: http://www.asciitable.com/ +Please refer to a hex ASCII table to set your code. Example: http://www.asciitable.com/ Here is a small Python program than will take numbers on the command line and print the correct sequence for compliant devices: diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown index add87e6abdc..72be7d2a796 100644 --- a/source/_docs/z-wave/device-specific.markdown +++ b/source/_docs/z-wave/device-specific.markdown @@ -73,7 +73,7 @@ crw-rw---- 1 root dialout 204, 64 Sep 2 14:38 /dev/ttyAMA0 at this point simply add your user (homeassistant) to the dialout group: ```bash -$ sudo usermod -a -G dialout homeassistant +$ sudo usermod -a -G dialout homeassistant ``` Finally, reboot again to make those changes active. It's has been tested on hassbian and has been reported that this is also required on the Pi2. diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown index a734e976e51..15693c77b63 100644 --- a/source/_docs/z-wave/installation.markdown +++ b/source/_docs/z-wave/installation.markdown @@ -104,7 +104,7 @@ device_config / device_config_domain / device_config_glob: type: integer default: 2 invert_openclose_buttons: - description: Inverts function of the open and close buttons for the cover domain. This will not invert the positon and state reporting. + description: Inverts function of the open and close buttons for the cover domain. This will not invert the position and state reporting. required: false type: boolean default: False diff --git a/source/_docs/z-wave/services.markdown b/source/_docs/z-wave/services.markdown index 8b8d9d32276..a14d9e8539d 100644 --- a/source/_docs/z-wave/services.markdown +++ b/source/_docs/z-wave/services.markdown @@ -17,7 +17,7 @@ The `zwave` component exposes multiple services to help maintain the network. Al | add_node_secure | Put the Z-Wave controller in secure inclusion mode. Allows you to add a new device with secure communications to the Z-Wave network. | | cancel_command | Cancels a running Z-Wave command. If you have started an add_node or remove_node command, and decide you are not going to do it, then this must be used to stop the inclusion/exclusion command. | | change_association | Add or remove an association in the Z-Wave network | -| heal_network | Tells the controller to "heal" the Z-Wave network. Basically asks the nodes to tell the controller all of their neighbors so the controller can refigure out optimal routing. | +| heal_network | Tells the controller to "heal" the Z-Wave network. Basically asks the nodes to tell the controller all of their neighbors so the controller can re-figure out optimal routing. | | heal_node | Tells the controller to "heal" a specific node on the network. Requires `node_id` field. You can also force return route update with `return_routes` field. | print_config_parameter | Prints Z-Wave node's config parameter value to the (console) log. | | print_node | Print all states of Z-Wave node. | diff --git a/source/ios/beta.markdown b/source/ios/beta.markdown index da0a5e1f3d7..100994d7f51 100644 --- a/source/ios/beta.markdown +++ b/source/ios/beta.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Join Home Assistant iOS beta" -description: "Invititation to join the Home Assistant iOS beta." +description: "Invitation to join the Home Assistant iOS beta." release_date: 2016-10-24 15:00:00 -0700 sidebar: true comments: false diff --git a/source/lovelace/views.markdown b/source/lovelace/views.markdown index e25c77b39a4..725f43894f1 100644 --- a/source/lovelace/views.markdown +++ b/source/lovelace/views.markdown @@ -82,7 +82,7 @@ Picture card config: ## {% linkable_title Icons %} -If you define an icon the title will be used as a tooltip. +If you define an icon the title will be used as a tool-tip. ### {% linkable_title Example %} From 683362d282d0a571ab560b1946e02419778f6171 Mon Sep 17 00:00:00 2001 From: Tom French Date: Sun, 7 Oct 2018 16:52:47 +0100 Subject: [PATCH 038/217] Fix typo in sensor.starlingbank.markdown (#6581) Corrected "Staring" to "Starling" --- source/_components/sensor.starlingbank.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.starlingbank.markdown b/source/_components/sensor.starlingbank.markdown index e997e0da2a3..1a215ac9ccf 100644 --- a/source/_components/sensor.starlingbank.markdown +++ b/source/_components/sensor.starlingbank.markdown @@ -24,7 +24,7 @@ You can find more information about Starling Bank at [their website](https://www ## {% linkable_title Access Token %} -Once you have your own Starling bank account you will need to sign up for a Staring developer account [here](https://developer.starlingbank.com/signup). You won't need to do any development but you will need to get a "Personal Access Token" that will allow the integration to access your account balance. +Once you have your own Starling bank account you will need to sign up for a Starling developer account [here](https://developer.starlingbank.com/signup). You won't need to do any development but you will need to get a "Personal Access Token" that will allow the integration to access your account balance.

You control what access is granted using this token. This integration only needs very basic access (see below). From a69a3e51fe4aa679f796855b7a6c4cd44e302d57 Mon Sep 17 00:00:00 2001 From: Mryck Date: Sun, 7 Oct 2018 18:58:24 +0200 Subject: [PATCH 039/217] Update apple TV configuration variables (#6583) * Update appleTV configuration variables * Add missing new line --- source/_components/apple_tv.markdown | 29 +++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/source/_components/apple_tv.markdown b/source/_components/apple_tv.markdown index e9008af6385..c9a0e3f0606 100644 --- a/source/_components/apple_tv.markdown +++ b/source/_components/apple_tv.markdown @@ -42,13 +42,28 @@ apple_tv: credentials: CREDENTIALS_2 ``` -Configuration variables: - -- **host** (*Required*): The IP-address of the device. -- **login_id** (*Required*): An identifier used to login to the device, see below. -- **name** (*Optional*): The name of the device used in the frontend. -- **start_off** (*Optional*): Set to true if the device should start in fake standby. -- **credentials** (*Optional*): Credentials used for AirPlay playback. +{% configuration %} +host: + description: The IP-address of the device. + required: true + type: string +login_id: + description: An identifier used to login to the device, see below. + required: true + type: string +name: + description: The name of the device used in the frontend. + required: false + type: string +start_off: + description: Set to true if the device should start in fake standby. + required: false + type: boolean +credentials: + description: Credentials used for AirPlay playback. + required: false + type: string +{% endconfiguration %} In order to connect to the device, you need a *login id*. The easiest way to obtain this identifier is to use the `apple_tv_scan` service (described below). Additional information about `start_off` and `credentials` can also be found under the guides section. From e673169e3eec556a7226c709381d2b19eebe9ba7 Mon Sep 17 00:00:00 2001 From: Amir Hanan Date: Sun, 7 Oct 2018 20:01:32 +0300 Subject: [PATCH 040/217] Configuration ezfix (#6578) * Configuration ezfix #6385 related * update int to integer Documentation states "int" as possible type - a bit confusing --- .../switch.acer_projector.markdown | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/source/_components/switch.acer_projector.markdown b/source/_components/switch.acer_projector.markdown index 7599cd6d96e..1e5bfb299c0 100644 --- a/source/_components/switch.acer_projector.markdown +++ b/source/_components/switch.acer_projector.markdown @@ -27,10 +27,21 @@ switch: filename: /dev/ttyUSB0 ``` -Configuration variables: - -- **filename** (*Required*): The pipe where the projector is connected to. -- **name** (*Optional*): The name to use when displaying this switch. -- **timeout** (*Optional*): Timeout for the connection in seconds. -- **write_timeout** (*Optional*): Write timeout in seconds. - +{% configuration %} +filename: + description: The pipe where the projector is connected to. + required: true + type: string +name: + description: The name to use when displaying this switch. + required: false + type: string +timeout: + description: Timeout for the connection in seconds. + required: false + type: integer +write_timeout: + description: Write timeout in seconds. + required: false + type: integer +{% endconfiguration %} From 66f89ed8c65651b980b0572b2e141590c93ce1a3 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 7 Oct 2018 23:34:21 +0200 Subject: [PATCH 041/217] Add pending log --- source/_posts/2018-10-12-release-80.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/_posts/2018-10-12-release-80.markdown b/source/_posts/2018-10-12-release-80.markdown index fddb6e938b6..c7802ae1071 100644 --- a/source/_posts/2018-10-12-release-80.markdown +++ b/source/_posts/2018-10-12-release-80.markdown @@ -11,6 +11,14 @@ categories: Release-Notes og_image: /images/blog/2018-10-release-0.80/components.png --- +Hacktoberfest!! + +Allow setting up MQTT broker from Hass.io via a config entry + +IFTTT config entry and new webhook + +Tradfri Switches + ## {% linkable_title New Platforms %} - Extract lovelace to it's own component ([@balloob] - [#16816]) ([frontend docs]) ([lovelace docs]) (new-platform) From be03e68f08d561b0d0f0d98dd97961497a323f82 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Mon, 8 Oct 2018 11:48:53 +0200 Subject: [PATCH 042/217] Update FFMPEG component configuration variable (#6599) Update style of FFMPEG component documentation to follow new configuration variables description. Related to #6385. --- .../binary_sensor.ffmpeg_motion.markdown | 49 +++++++++++++++---- .../binary_sensor.ffmpeg_noise.markdown | 48 ++++++++++++++---- source/_components/camera.ffmpeg.markdown | 19 +++++-- source/_components/ffmpeg.markdown | 17 +++++-- 4 files changed, 103 insertions(+), 30 deletions(-) diff --git a/source/_components/binary_sensor.ffmpeg_motion.markdown b/source/_components/binary_sensor.ffmpeg_motion.markdown index 0607a0127af..eaf15a86a79 100644 --- a/source/_components/binary_sensor.ffmpeg_motion.markdown +++ b/source/_components/binary_sensor.ffmpeg_motion.markdown @@ -35,16 +35,45 @@ binary_sensor: input: FFMPEG_SUPPORTED_INPUT ``` -Configuration variables: - -- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed. -- **name** (*Optional*): Override the name of your camera for the frontend. -- **initial_state** (*Optional*): Start `ffmpeg` with Home Assistant. Defaults to `true`. -- **changes** (*Optional*): How much needs to change between two frames to detect it as motion (a lower value is more sensitive). Defaults to 10%. -- **reset** (*Optional*): The time to reset the state after no new motion is detected. Defaults to 20 seconds. -- **repeat** (*Optional*): How many events need to be detected in *repeat_time* in order to trigger a motion. Defaults to 0 repeats (deactivated). -- **repeat_time** (*Optional*): The span of time *repeat* events need to occur in before triggering a motion. Defaults to 0 seconds (deactivated). -- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., video denoise filtering. +{% configuration %} +input: + description: An FFmpeg-compatible input file, stream, or feed. + required: true + type: string +name: + description: Override the name of your camera for the frontend. + required: false + type: string +initial_state: + description: Start `ffmpeg` with Home Assistant. + required: false + default: true + type: boolean +changes: + description: How much needs to change between two frames to detect it as motion, value in percentage (a lower value is more sensitive). + required: false + default: 10% + type: integer +reset: + description: The time to reset the state after no new motion is detected. + required: false + default: 20 + type: integer +repeat: + description: How many events need to be detected in *repeat_time* in order to trigger a motion, 0 repeats means deactivated. + required: false + default: 0 + type: integer +repeat_time: + description: The span of time *repeat* events need to occur in before triggering a motion, 0 seconds means deactivated. + required: false + default: 0 + type: integer +extra_arguments: + description: Extra options to pass to `ffmpeg`, e.g., video denoise filtering. + required: false + type: string +{% endconfiguration %} To experiment with values (changes/100 is the scene value in `ffmpeg`): diff --git a/source/_components/binary_sensor.ffmpeg_noise.markdown b/source/_components/binary_sensor.ffmpeg_noise.markdown index 842be8203e1..ae2077cd298 100644 --- a/source/_components/binary_sensor.ffmpeg_noise.markdown +++ b/source/_components/binary_sensor.ffmpeg_noise.markdown @@ -30,16 +30,44 @@ binary_sensor: input: FFMPEG_SUPPORTED_INPUT ``` -Configuration variables: - -- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed. -- **name** (*Optional*): Override the name of your camera. -- **initial_state** (*Optional*): Default true. Start ffmpeg with home-assistant. -- **peak** (*Optional*): Default -30. The threshold of detecting noise, in dB. 0 is very loud and -100 is low. -- **duration** (*Optional*): Default 1 second. How long the noise needs to be over the peak to trigger the state. -- **reset** (*Optional*): Default 20 seconds. The time to reset the state after no new noise is over the peak. -- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, like audio frequency filtering. -- **output** (*Optional*): Allows you to send the audio output of this sensor to an Icecast server or other FFmpeg-supported output, e.g., to stream with Sonos after a state is triggered. +{% configuration %} +input: + description: An FFmpeg-compatible input file, stream, or feed. + required: true + type: string +name: + description: Override the name of your camera. + required: false + type: string +initial_state: + description: Start ffmpeg with home-assistant. + required: false + default: true + type: boolean +peak: + description: The threshold of detecting noise, in dB. 0 is very loud and -100 is low. + required: false + default: -30 + type: integer +duration: + description: How long the noise needs to be over the peak to trigger the state. + required: false + default: 1 + type: integer +reset: + description: The time to reset the state after no new noise is over the peak. + required: false + default: 20 + type: integer +extra_arguments: + description: Extra options to pass to `ffmpeg`, like audio frequency filtering. + required: false + type: string +output: + description: Allows you to send the audio output of this sensor to an Icecast server or other FFmpeg-supported output, e.g., to stream with Sonos after a state is triggered. + required: false + type: string +{% endconfiguration %} To experiment with values: diff --git a/source/_components/camera.ffmpeg.markdown b/source/_components/camera.ffmpeg.markdown index 481c835a153..e87ea211844 100644 --- a/source/_components/camera.ffmpeg.markdown +++ b/source/_components/camera.ffmpeg.markdown @@ -25,11 +25,20 @@ camera: input: FFMPEG_SUPPORTED_INPUT ``` -Configuration variables: - -- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed. -- **name** (*Optional*): Override the name of your camera. -- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. +{% configuration %} +input: + description: An FFmpeg-compatible input file, stream, or feed. + required: true + type: string +name: + description: Override the name of your camera. + required: false + type: string +extra_arguments: + description: Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. + required: false + type: string +{% endconfiguration %} ### {% linkable_title Image quality %} diff --git a/source/_components/ffmpeg.markdown b/source/_components/ffmpeg.markdown index 38034e4e06a..24f4f30de98 100644 --- a/source/_components/ffmpeg.markdown +++ b/source/_components/ffmpeg.markdown @@ -29,10 +29,18 @@ To set it up, add the following information to your `configuration.yaml` file: ffmpeg: ``` -Configuration variables: - -- **ffmpeg_bin** (*Optional*): Default `ffmpeg`. The name or path to the `ffmpeg` binary. -- **run_test** (*Optional*): Default True. Check if `input` is usable by ffmpeg. +{% configuration %} +ffmpeg_bin: + description: The name or path to the `ffmpeg` binary. + required: false + default: ffmpeg + type: string +run_test: + description: Check if `input` is usable by ffmpeg. + required: false + default: True + type: boolean +{% endconfiguration %} ### {% linkable_title Raspbian Debian Jessie Lite Installations %} To get the binary on Raspbian Debian Jessie Lite on a RPi you need to perform the following: @@ -100,4 +108,3 @@ Stream mapping: Press [q] to stop, [?] for help frame= 223 fps= 40 q=-1.0 Lsize= 16709kB time=00:00:07.40 bitrate=18497.5kbits/s dup=58 drop=0 speed=1.32x ``` - From a64e0bf9b6ed6ff1291145bb159b4b4dbecdabcc Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Mon, 8 Oct 2018 11:53:18 +0200 Subject: [PATCH 043/217] Update Axis component configuration variable (#6595) Update style of Axis component documentation to follow new configuration variables description. --- source/_components/axis.markdown | 74 ++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 18 deletions(-) diff --git a/source/_components/axis.markdown b/source/_components/axis.markdown index 9b2faadd988..fc630149a00 100644 --- a/source/_components/axis.markdown +++ b/source/_components/axis.markdown @@ -30,24 +30,62 @@ axis: - camera ``` -## {% linkable_title Configuration variables %} - -- **device** (*Required*): Unique name -- **host** (*Required*): The IP address to your Axis device. -- **username** (*Optional*): The username to your Axis device. Default 'root'. -- **password** (*Optional*): The password to your Axis device. Default 'pass'. -- **trigger_time** (*Optional*): Minimum time (in seconds) a sensor should keep its positive value. Default 0. -- **port** (*Optional*): Configure port web server of device is accessible from. Default 80. -- **location** (*Optional*): Physical location of your Axis device. Default not set. -- **include** (*Required*): This cannot be empty else there would be no use adding the device at all. - - **camera**: Stream MJPEG video to Home Assistant. - - **motion**: The built-in motion detection in Axis cameras. - - **vmd3**: ACAP Motion Detection app which has better algorithms for motion detection. - - **pir**: PIR sensor that can trigger on a motion. - - **sound**: Sound detector. - - **daynight**: Certain cameras have day/night mode if they have built-in IR lights. - - **tampering**: Signals when camera believes that it has been tampered with. - - **input**: Trigger on whatever you have connected to device input port. +{% configuration %} +device: + description: A unique name + required: true + type: string +host: + description: The IP address to your Axis device. + required: true + type: string +username: + description: The username to your Axis device. + required: false + default: root + type: string +password: + description: The password to your Axis device. + required: false + default: pass + type: string +trigger_time: + description: Minimum time (in seconds) a sensor should keep its positive value. + required: false + default: 0 + type: integer +port: + description: Configure port web server of device is accessible from. + required: false + default: 80 + type: integer +location: + description: Physical location of your Axis device. + required: false + default: not set + type: string +include: + description: This cannot be empty else there would be no use adding the device at all. + required: true + type: map + keys: + camera: + description: Stream MJPEG video to Home Assistant. + motion: + description: The built-in motion detection in Axis cameras. + vmd3: + description: ACAP Motion Detection app which has better algorithms for motion detection. + pir: + description: PIR sensor that can trigger on a motion. + sound: + description: Sound detector. + daynight: + description: Certain cameras have day/night mode if they have built-in IR lights. + tampering: + description: Signals when camera believes that it has been tampered with. + input: + description: Trigger on whatever you have connected to device input port. +{% endconfiguration %} A full configuration example could look like this: From c512ab742bfe7529fba90ad8b4453e1c768f04b8 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Mon, 8 Oct 2018 19:25:17 +0200 Subject: [PATCH 044/217] Update Concord232 binary sensor configuration variable (#6598) * Update Concord232 binary sensor configuration variable Update style of Concord232 binary sensor documentation to follow new configuration variables description. Related to #6385. * Update binary_sensor.concord232.markdown --- .../binary_sensor.concord232.markdown | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/source/_components/binary_sensor.concord232.markdown b/source/_components/binary_sensor.concord232.markdown index 39320bb6723..f734d4afa5b 100644 --- a/source/_components/binary_sensor.concord232.markdown +++ b/source/_components/binary_sensor.concord232.markdown @@ -22,8 +22,15 @@ binary_sensor: - platform: concord232 ``` -Configuration variables: - -- **host** (*Optional*): The host where the concord232 server process is running. Defaults to `localhost`. -- **port** (*Optional*): The port where the Alarm panel is listening. Defaults to 5007. - +{% configuration %} +host: + description: The host where the concord232 server process is running. + required: false + default: localhost + type: string +port: + description: The port where the Alarm panel is listening. + required: false + default: 5007 + type: integer +{% endconfiguration %} From 222402996435d5bd3f28df4a6d3c493a9aa6cbfe Mon Sep 17 00:00:00 2001 From: Gerard Date: Mon, 8 Oct 2018 19:50:45 +0200 Subject: [PATCH 045/217] Add Device Tracker to page name (#6591) --- source/_components/device_tracker.mercedesme.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/device_tracker.mercedesme.markdown b/source/_components/device_tracker.mercedesme.markdown index 3707d5ca1cd..c436e507c84 100644 --- a/source/_components/device_tracker.mercedesme.markdown +++ b/source/_components/device_tracker.mercedesme.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Mercedes me" +title: "Mercedes me Device Tracker" description: "Instructions on for how to integrate Mercedes me into Home Assistant." date: 2018-01-27 10:00 sidebar: true From 3af63feb83c8a34e7eca1b448b469825d4f32468 Mon Sep 17 00:00:00 2001 From: Christian Studer Date: Mon, 8 Oct 2018 19:52:35 +0200 Subject: [PATCH 046/217] Fixes multiple typos (#6588) --- .../authentication/multi-factor-auth.markdown | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/source/_docs/authentication/multi-factor-auth.markdown b/source/_docs/authentication/multi-factor-auth.markdown index 37abf070cd6..3ba8d508066 100644 --- a/source/_docs/authentication/multi-factor-auth.markdown +++ b/source/_docs/authentication/multi-factor-auth.markdown @@ -16,11 +16,11 @@ This is an advanced feature. If misconfigured, you will not be able to access Ho Besides the authentication providers, it's also possible to configure multi-factor authentication modules. These authentication modules will require the user to solve a second challenge besides just logging in. The idea is that you ask the user for something they know, their username/password, and something they have, like a time-based authentication token from their phone. -The multi-factor authentication module can be used mixed-matched with authentication providers. After the normal authentication provider validation, the login flow will ask the user for additional challenge(s) if there are multi-factor authentication modules enabled for this user. If more than one mutli-factor authentication module is enabled, the user can select one of them during the login. +The multi-factor authentication module can be used mixed-matched with authentication providers. After the normal authentication provider validation, the login flow will ask the user for additional challenge(s) if there are multi-factor authentication modules enabled for this user. If more than one multi-factor authentication module is enabled, the user can select one of them during the login. The multi-factor authentication module has to be enabled for the user before it can be used in the login process. The user can go to the profile page enable it by himself. -## {% linkable_title Configuring mutli-factor authentication modules %} +## {% linkable_title Configuring multi-factor authentication modules %}

By configuring your own instead of using the default configuration, you take full responsibility for the authentication of the system. @@ -34,13 +34,13 @@ homeassistant: - type: totp ``` -## {% linkable_title Available mutli-factor authentication modules %} +## {% linkable_title Available multi-factor authentication modules %} Below is a list of the currently available auth providers. -### {% linkable_title Time-based One-Time Password mutli-factor authentication module %} +### {% linkable_title Time-based One-Time Password multi-factor authentication module %} -[Time-based One-Time Password](https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm) is widely adopted in modern authencation system, it combines a secret key with the current timestamp using a cryptographic hash function to generate a one-time password. Whoever possessed the secret key will get same one-time password in certain time period. By verifying that password, Home Assistant knows the user have the right secrt key. +[Time-based One-Time Password](https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm) is widely adopted in modern authentication system, it combines a secret key with the current timestamp using a cryptographic hash function to generate a one-time password. Whoever possessed the secret key will get same one-time password in certain time period. By verifying that password, Home Assistant knows the user have the right secret key. When trying to set up TOTP module, a QR code will show up. The user can scan it by an authenticator app, or set it up manually using the code showed in the UI. After setup, the user needs to input a six digit number generated in the authenticator app to verify the setup is good. If the verification keeps failing, you need to check whether the clock on Home Assistant is accurate. @@ -60,16 +60,16 @@ homeassistant: - type: totp ``` -### {% linkable_title Notify mutli-factor authentication module %} +### {% linkable_title Notify multi-factor authentication module %} Notify MFA module using [notify component](https://www.home-assistant.io/components/notify/) to delivery a [HMAC-based One-Time Password](https://en.wikipedia.org/wiki/HMAC-based_One-time_Password_algorithm) to user configured target. -User need first set up the MFA module by select one of the aviliable notify service. A 6 digit one-time password will be sent by this notify service, user need to input it to verify the setup. +User need first set up the MFA module by select one of the available notify service. A 6 digit one-time password will be sent by this notify service, user need to input it to verify the setup. During the login process, an 6 digit one-time password will be sent again, user need to input it to verify his/her identity. If the validation failed, a new one-time password will be sent again.

-Notify MFA module would not verify the one-time password deliveried success, so that if user cannot received the message due any reason, he/she may not be login again. Edit or remove `[your_config_dir]/.storage/auth_module.notify` can disable nofiy MFA module to resolve the issue. +Notify MFA module would not verify the one-time password delivery success, so that if user cannot received the message due any reason, he/she may not be login again. Edit or remove `[your_config_dir]/.storage/auth_module.notify` can disable notify MFA module to resolve the issue.

Example of configuration From 87e0cb65233818f187f88da8820b1e5da6587380 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Mon, 8 Oct 2018 19:57:42 +0200 Subject: [PATCH 047/217] Update Aurora binary sensor component configuration variable (#6596) Update style of Aurora binary sensor component documentation to follow new configuration variables description. Related to #6385. --- source/_components/binary_sensor.aurora.markdown | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/source/_components/binary_sensor.aurora.markdown b/source/_components/binary_sensor.aurora.markdown index f1c165381ec..460500c24c3 100644 --- a/source/_components/binary_sensor.aurora.markdown +++ b/source/_components/binary_sensor.aurora.markdown @@ -28,10 +28,18 @@ binary_sensor: - platform: aurora ``` -Configuration variables: - -- **forecast_threshold** (*Optional*): Provide your own threshold number above which the sensor will trigger. Defaults to 75. -- **name** (*Optional*): The name of the sensor. Default is 'Aurora Visibility'. +{% configuration %} +forecast_threshold: + description: Provide your own threshold number above which the sensor will trigger. + required: false + default: 75 + type: integer +name: + description: The name of the sensor. + required: false + default: Aurora Visibility + type: string +{% endconfiguration %} ```yaml binary_sensor: From c34762430eda1bdc16dea21e5bc0d6558c568aee Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Mon, 8 Oct 2018 20:09:01 +0200 Subject: [PATCH 048/217] Update Command Line binary sensor component configuration variable (#6597) Update style of Command Line binary sensor component documentation to follow new configuration variables description. Related to #6385. --- .../binary_sensor.command_line.markdown | 49 +++++++++++++++---- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/source/_components/binary_sensor.command_line.markdown b/source/_components/binary_sensor.command_line.markdown index c206c3cb927..0bf0512d265 100644 --- a/source/_components/binary_sensor.command_line.markdown +++ b/source/_components/binary_sensor.command_line.markdown @@ -27,16 +27,45 @@ binary_sensor: command: cat /proc/sys/net/ipv4/ip_forward ``` -Configuration variables: - -- **command** (*Required*): The action to take to get the value. -- **name** (*Optional*): Let you overwrite the name of the device. By default *name* from the device is used. -- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. -- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON". -- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF". -- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. -- **scan_interval** (*Optional*): Defines number of seconds for polling interval (defaults to 60 seconds). -- **command_timeout** (*Optional*): Defines number of seconds for command timeout (defaults to 15 seconds). +{% configuration %} +command: + description: The action to take to get the value. + required: true + type: string +name: + description: Let you overwrite the name of the device. By default *name* from the device is used. + required: false + default: name + type: string +device_class: + description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. + required: false + type: string +payload_on: + description: The payload that represents enabled state. + required: false + default: ON + type: string +payload_off: + description: The payload that represents disabled state. + required: false + default: OFF + type: string +value_template: + description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. + required: false + type: string +scan_interval: + description: Defines number of seconds for polling interval. + required: false + default: 60 + type: integer +command_timeout: + description: Defines number of seconds for command timeout. + required: false + default: 15 + type: integer +{% endconfiguration %} ## {% linkable_title Examples %} From ee99916d0992342d5832f8babf8d1b2a92d6b040 Mon Sep 17 00:00:00 2001 From: Emeric Date: Mon, 8 Oct 2018 20:26:32 +0200 Subject: [PATCH 049/217] Update some scene config variables (#6604) scene.lifx_cloud scene.hunterdouglas_powerview --- .../scene.hunterdouglas_powerview.markdown | 9 ++++++--- source/_components/scene.lifx_cloud.markdown | 15 +++++++++++---- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/source/_components/scene.hunterdouglas_powerview.markdown b/source/_components/scene.hunterdouglas_powerview.markdown index 2ef810a113e..a418c8f4ddd 100644 --- a/source/_components/scene.hunterdouglas_powerview.markdown +++ b/source/_components/scene.hunterdouglas_powerview.markdown @@ -23,6 +23,9 @@ scene: address: IP_ADDRESS ``` -Configuration variables: - -- **address** (*Required*): IP address of the PowerView Hub, eg. 192.168.1.10. +{% configuration %} +address: + description: IP address of the PowerView Hub, eg. 192.168.1.10. + required: true + type: string +{% endconfiguration %} diff --git a/source/_components/scene.lifx_cloud.markdown b/source/_components/scene.lifx_cloud.markdown index 7b6ac7a2799..219dcb48bee 100644 --- a/source/_components/scene.lifx_cloud.markdown +++ b/source/_components/scene.lifx_cloud.markdown @@ -21,10 +21,17 @@ scene: token: YOUR_LIFX_TOKEN ``` -Configuration variables: - -- **token** (*Required*): The API token for your LIFX Cloud account. -- **timeout** (*Optional*): Network timeout in seconds (defaults to 10). +{% configuration %} +token: + description: The API token for your LIFX Cloud account. + required: true + type: string +timeout: + description: Network timeout in seconds. + required: false + default: 10 + type: integer +{% endconfiguration %} ### Getting an API token From 834ca3a007bcecb759688b1bc48412af78fc257c Mon Sep 17 00:00:00 2001 From: Emeric Date: Mon, 8 Oct 2018 20:28:00 +0200 Subject: [PATCH 050/217] Update BeagleBone configuration variables (#6608) * Update BeagleBone config variables * Fixed wrong type * change type for pin_name --- .../binary_sensor.bbb_gpio.markdown | 40 ++++++++++++++----- source/_components/switch.bbb_gpio.markdown | 36 ++++++++++++----- 2 files changed, 58 insertions(+), 18 deletions(-) diff --git a/source/_components/binary_sensor.bbb_gpio.markdown b/source/_components/binary_sensor.bbb_gpio.markdown index f35f488a7ea..66e4c98f4fa 100644 --- a/source/_components/binary_sensor.bbb_gpio.markdown +++ b/source/_components/binary_sensor.bbb_gpio.markdown @@ -30,14 +30,36 @@ binary_sensor: name: Window ``` -Configuration variables: - -- **pins** array (*Required*): Array of used pins. - - **pin_name** (*Required*): Pin numbers and corresponding names. - - **name** (*Required*): Friendly name to use for the frontend. - - **bouncetime** (*Optional*): Debounce time for reading input pin defined in milliseconds [ms]. Defaults to `50 ms`. - - **invert_logic** (*Optional*): If `true`, inverts the input logic to ACTIVE LOW. Default is `false` (ACTIVE HIGH). - - **pull_mode** (*Optional*): Type of internal pull resistor connected to input. Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor. Defaults to `UP`. +{% configuration %} +pins: + description: List of used pins. + required: true + type: map + keys: + pin_name: + description: Port numbers and corresponding names. + required: true + type: map + keys: + name: + description: Friendly name to use for the frontend. + required: true + type: string + bouncetime: + description: Debounce time for reading input pin defined in milliseconds [ms]. + required: false + default: 50 + type: integer + invert_logic: + description: If `true`, inverts the input logic to ACTIVE LOW + required: false + default: false + type: boolean + pull_mode: + description: Type of internal pull resistor connected to input. Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor. + required: false + default: UP + type: string +{% endconfiguration %} For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black. - diff --git a/source/_components/switch.bbb_gpio.markdown b/source/_components/switch.bbb_gpio.markdown index fc41a25db14..6efd8f88159 100644 --- a/source/_components/switch.bbb_gpio.markdown +++ b/source/_components/switch.bbb_gpio.markdown @@ -17,7 +17,7 @@ The `bbb_gpio` switch platform allows you to control the GPIOs of your [BeagleBo ## {% linkable_title Configuration %} -To use yourBeagleBone Black's GPIO in your installation, add the following to your `configuration.yaml` file: +To use your BeagleBone Black's GPIO in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -30,13 +30,31 @@ switch: name: LED Green ``` -Configuration variables: - -- **pins** array (*Required*): Array of used ports. - - **pin_name** (*Required*): Port numbers and corresponding names. - - **name** (*Optional*): Friendly name to use for the frontend. - - **initial** (*Optional*): Initial state of the pin. Defaults to `False`. - - **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is `false` (ACTIVE HIGH). +{% configuration %} +pins: + description: List of used pins. + required: true + type: map + keys: + pin_name: + description: Port numbers and corresponding names. + required: true + type: map + keys: + name: + description: Friendly name to use for the frontend. + required: false + type: string + initial: + description: Initial state of the pin. + required: false + default: false + type: boolean + invert_logic: + description: If `true`, inverts the input logic to ACTIVE LOW + required: false + default: false + type: boolean +{% endconfiguration %} For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black. - From 34dbf8116794332e9cc228ca7f77576108a3e662 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Mon, 8 Oct 2018 19:31:57 +0100 Subject: [PATCH 051/217] Removed API password warning (#6614) Given that as of 0.78 auth is unavoidable, removed the warning of enabling the api password. Also updated the description of the API password, and nudged towards using a long lasting access token. --- source/_components/http.markdown | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/source/_components/http.markdown b/source/_components/http.markdown index ef9c3369fec..3c3b20ca888 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -15,11 +15,6 @@ The `http` component serves all files and data required for the Home Assistant frontend. You only need to add this to your configuration file if you want to change any of the default settings. -

-It is HIGHLY recommended that you set the `api_password`, -especially if you are planning to expose your installation to the internet. -

-

Don't use option `server_host` on a Hass.io installation!

@@ -32,7 +27,7 @@ http: {% configuration %} api_password: - description: Protect Home Assistant with a password. + description: Protect the Home Assistant API with a password - this password can also be used to log in to the frontend. Where possible you should use a long lasting access token instead of this. required: false type: string server_host: From 3249f7104c993a9689aa8bfa91ef131e66c05d87 Mon Sep 17 00:00:00 2001 From: definitio <37266727+definitio@users.noreply.github.com> Date: Mon, 8 Oct 2018 22:33:16 +0300 Subject: [PATCH 052/217] Update MPD configuration variables (#6618) --- source/_components/media_player.mpd.markdown | 26 +++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/source/_components/media_player.mpd.markdown b/source/_components/media_player.mpd.markdown index 51888be2b20..da37e9c478b 100644 --- a/source/_components/media_player.mpd.markdown +++ b/source/_components/media_player.mpd.markdown @@ -27,12 +27,26 @@ media_player: host: IP_ADDRESS ``` -Configuration variables: - -- **host** (*Required*): IP address of the Host where Music Player Daemon is running. -- **port** (*Optional*): Port of the Music Player Daemon. Defaults to 6600. -- **name** (*Optional*): Name of your Music Player Daemon. Defaults to "MPD". -- **password** (*Optional*): Password for your Music Player Daemon. +{% configuration %} +host: + description: IP address of the Host where Music Player Daemon is running. + required: true + type: string +port: + description: Port of the Music Player Daemon. + required: false + type: integer + default: 6600 +name: + description: Name of your Music Player Daemon. + required: false + type: string + default: MPD +password: + description: Password for your Music Player Daemon. + required: false + type: string +{% endconfiguration %} Example script to load a saved playlist called "DeckMusic" and set the volume: From a39d89e86f20d118352b85283eafa031b9465ec6 Mon Sep 17 00:00:00 2001 From: Ben Bangert Date: Mon, 8 Oct 2018 12:42:30 -0700 Subject: [PATCH 053/217] Update support controllers (#6620) Tested the Zooz z-wave Plus S2 Stick ZST10 with Home-Assistant. Zwave worked, nodes included and communicating using a Raspberriy Pi3 with the latest Hass.io. --- source/_docs/z-wave/controllers.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown index 128b122649b..ad4a38c723a 100644 --- a/source/_docs/z-wave/controllers.markdown +++ b/source/_docs/z-wave/controllers.markdown @@ -24,6 +24,7 @@ You need to have a [supported Z-Wave USB stick or module](https://github.com/Ope | Sigma Designs UZB Stick | | | | | Tricklestar | | | | | Vision USB Stick | | | | +| Zooz Z-Wave ZST10 | ✓ | | | | ZWave.me Razberry Board | ✓ | | | | ZWave.me UZB1 | ✓ | | | From 731e63f7b55094de4d49bd11f3d9ef94ebfd971d Mon Sep 17 00:00:00 2001 From: Luuk Date: Mon, 8 Oct 2018 23:15:22 +0200 Subject: [PATCH 054/217] Updated harmony configuration to use configuration variables (#6622) --- source/_components/remote.harmony.markdown | 32 ++++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/source/_components/remote.harmony.markdown b/source/_components/remote.harmony.markdown index 6785cdb9fc4..3d9743b3715 100644 --- a/source/_components/remote.harmony.markdown +++ b/source/_components/remote.harmony.markdown @@ -43,15 +43,31 @@ You can override some default configuration values on a discovered hub (e.g., th activity: Watch TV ``` -Configuration variables: +{% configuration %} +name: + description: The hub's name to display in the frontend. This name must match the name you have set on the Hub. + required: true + type: string +host: + description: The Harmony device's IP address. Leave empty for the IP to be discovered automatically. + required: false + type: string +port: + description: The Harmony device's port. + required: false + type: integer + default: 5222 +activity: + description: Activity to use when `turn_on` service is called without any data. Overrides the `activity` setting for this discovered hub. + required: false + type: string +delay_secs: + description: Default duration in seconds between sending commands to a device. + required: false + type: float +{% endconfiguration %} -- **name** (*Required*): The hub's name to display in the frontend. This name must match the name you have set on the Hub. -- **host** (*Optional*): The Harmony device's IP address. Leave empty for the IP to be discovered automatically. -- **port** (*Optional*): The Harmony device's port. Defaults to 5222. -- **activity** (*Optional*): Activity to use when `turn_on` service is called without any data. Overrides the `activity` setting for this discovered hub. -- **delay_secs** (*Optional*): Default duration in seconds between sending commands to a device. - -Configuration file: +### {% linkable_title Configuration file %} Upon startup one file will be written to your Home Assistant configuration directory per device in the following format: `harmony_REMOTENAME.conf`. The file will contain: From 1b9fad3ce314f14cd624e3325deb9677aa14fbef Mon Sep 17 00:00:00 2001 From: Olivier DEBAUCHE Date: Mon, 8 Oct 2018 23:43:05 +0200 Subject: [PATCH 055/217] typo fix (#6621) --- source/_components/sensor.bme680.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.bme680.markdown b/source/_components/sensor.bme680.markdown index aa7b7103a53..814b276edce 100644 --- a/source/_components/sensor.bme680.markdown +++ b/source/_components/sensor.bme680.markdown @@ -107,7 +107,7 @@ aq_humidity_baseline: default: 40 type: integer aq_humidity_bias: - description: The bias for humidity to the gas resistance measurement in the air quality calculations expressed as a percentage of the total calculation e.g., 25% hudidtity to 75% gas. + description: The bias for humidity to the gas resistance measurement in the air quality calculations expressed as a percentage of the total calculation e.g., 25% humidity to 75% gas. required: false default: 25 type: integer From a4dca7604255633518bc558860298ad6c5e9e26f Mon Sep 17 00:00:00 2001 From: Alok Saboo Date: Tue, 9 Oct 2018 06:13:54 -0400 Subject: [PATCH 056/217] Fixed typos (#6623) * Fixed typos * More typos --- .../javascripts/libs/swfobject-dynamic.js | 2 +- plugins/filters.rb | 6 +++--- sass/inuitcss/generic/_helper.scss | 2 +- sass/inuitcss/objects/_beautons.scss | 4 ++-- sass/inuitcss/objects/_sprite.scss | 2 +- .../device_tracker.icloud.markdown | 2 +- source/_components/homekit.markdown | 2 +- source/_components/homematic.markdown | 2 +- source/_components/insteon.markdown | 4 ++-- source/_components/konnected.markdown | 2 +- source/_components/light.markdown | 2 +- source/_components/lirc.markdown | 2 +- source/_components/matrix.markdown | 2 +- source/_components/notify.html5.markdown | 2 +- .../_components/notify.nfandroidtv.markdown | 2 +- source/_components/notify.xmpp.markdown | 2 +- source/_components/sensor.geizhals.markdown | 2 +- .../_components/sensor.rmvtransport.markdown | 2 +- .../_components/sensor.starlingbank.markdown | 2 +- source/_components/snips.markdown | 2 +- source/_docs/mqtt/broker.markdown | 4 ++-- source/_docs/z-wave/adding.markdown | 2 +- source/_docs/z-wave/control-panel.markdown | 2 +- source/_lovelace/entities.markdown | 4 ++-- source/_lovelace/glance.markdown | 2 +- source/_lovelace/picture-elements.markdown | 20 +++++++++---------- ...mped-ui-and-improved-distribution.markdown | 2 +- source/help/reporting_issues.markdown | 2 +- source/javascripts/libs/swfobject-dynamic.js | 2 +- 29 files changed, 44 insertions(+), 44 deletions(-) diff --git a/.themes/classic/source/javascripts/libs/swfobject-dynamic.js b/.themes/classic/source/javascripts/libs/swfobject-dynamic.js index b021614524f..a9442349422 100644 --- a/.themes/classic/source/javascripts/libs/swfobject-dynamic.js +++ b/.themes/classic/source/javascripts/libs/swfobject-dynamic.js @@ -202,7 +202,7 @@ var swfobject = function() { function hasPlayerVersion(rv) { var pv = ua.pv, v = rv.split("."); v[0] = parseInt(v[0], 10); - v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0" + v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g., "9" instead of "9.0.0" v[2] = parseInt(v[2], 10) || 0; return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; } diff --git a/plugins/filters.rb b/plugins/filters.rb index 41ad3357a8b..9e3324252da 100644 --- a/plugins/filters.rb +++ b/plugins/filters.rb @@ -32,7 +32,7 @@ module Jekyll # input - a url # # Returns input with all urls expanded to include the full site url - # e.g. /images/awesome.gif => http://example.com/images/awesome.gif + # e.g., /images/awesome.gif => http://example.com/images/awesome.gif # def full_url(input) expand_url(input, site_url) @@ -40,8 +40,8 @@ module Jekyll # Prepends input with a url fragment # - # input - An absolute url, e.g. /images/awesome.gif - # url - The fragment to prepend the input, e.g. /blog + # input - An absolute url, e.g., /images/awesome.gif + # url - The fragment to prepend the input, e.g., /blog # # Returns the modified url, e.g /blog # diff --git a/sass/inuitcss/generic/_helper.scss b/sass/inuitcss/generic/_helper.scss index 3a488142bae..39d45f29a5e 100644 --- a/sass/inuitcss/generic/_helper.scss +++ b/sass/inuitcss/generic/_helper.scss @@ -5,7 +5,7 @@ /** * A series of helper classes to use arbitrarily. Only use a helper class if an * element/component doesn’t already have a class to which you could apply this - * styling, e.g. if you need to float `.main-nav` left then add `float:left;` to + * styling, e.g., if you need to float `.main-nav` left then add `float:left;` to * that ruleset as opposed to adding the `.float--left` class to the markup. * * A lot of these classes carry `!important` as you will always want them to win diff --git a/sass/inuitcss/objects/_beautons.scss b/sass/inuitcss/objects/_beautons.scss index cdb9a3becf2..a6255287853 100644 --- a/sass/inuitcss/objects/_beautons.scss +++ b/sass/inuitcss/objects/_beautons.scss @@ -175,7 +175,7 @@ .btn--tertiary{} /** - * Positive actions; e.g. sign in, purchase, submit, etc. + * Positive actions; e.g., sign in, purchase, submit, etc. */ .btn--positive{ background-color:#4A993E; @@ -183,7 +183,7 @@ } /** - * Negative actions; e.g. close account, delete photo, remove friend, etc. + * Negative actions; e.g., close account, delete photo, remove friend, etc. */ .btn--negative{ background-color:#b33630; diff --git a/sass/inuitcss/objects/_sprite.scss b/sass/inuitcss/objects/_sprite.scss index 898646bc7cf..85459fd51bb 100644 --- a/sass/inuitcss/objects/_sprite.scss +++ b/sass/inuitcss/objects/_sprite.scss @@ -22,7 +22,7 @@ * * Where ‘’ might map to a star in your particular icon font. * - * These all require extension in your theme stylesheet, e.g. in your own CSS: + * These all require extension in your theme stylesheet, e.g., in your own CSS: * .sprite{ background-image:url(path/to/your/sprite.png); diff --git a/source/_components/device_tracker.icloud.markdown b/source/_components/device_tracker.icloud.markdown index a57ba44d4b4..46e19702c36 100644 --- a/source/_components/device_tracker.icloud.markdown +++ b/source/_components/device_tracker.icloud.markdown @@ -50,7 +50,7 @@ To disable the drainage of the battery, a dynamic interval is being used for eac 2 Factor Authentication is the improved version of 2 Steps Authentication, this is still not supported by the pyicloud library. Therefore it's not possible to use it with the device_tracker yet. 4 services are available for this component: -- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g. to check if anyone is home when door's been opened. +- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g., to check if anyone is home when door's been opened. - **icloud_lost_iphone**: This service will play the Lost iPhone sound on a certain iDevice. The `account_name` and `device_name` are optional. - **icloud_set_interval**: This service will change the dynamic interval of an iDevice. The `account_name` and `device_name` are optional. If `interval` is used in the service_data, the iDevice will be updated with that new interval. That interval will be fixed until the iDevice changes zone or if this service is called again. If `interval` isn't used in the service_data, the interval for that iDevice will revert back to its default dynamic interval based on its current zone, its distance towards home and its battery level. - **icloud_reset_account**: This service can be used to reset an iCloud account. This is helpful when not all devices are being found by the component or if you have added a new iDevice to your account. The `account_name` is optional. diff --git a/source/_components/homekit.markdown b/source/_components/homekit.markdown index 2a3adf5adb6..d1a87d7fb48 100644 --- a/source/_components/homekit.markdown +++ b/source/_components/homekit.markdown @@ -95,7 +95,7 @@ homekit: required: false type: list entity_config: - description: Configuration for specific entities. All subordinate keys are the corresponding entity ids to the domains, e.g. `alarm_control_panel.alarm`. + description: Configuration for specific entities. All subordinate keys are the corresponding entity ids to the domains, e.g., `alarm_control_panel.alarm`. required: false type: map keys: diff --git a/source/_components/homematic.markdown b/source/_components/homematic.markdown index a60d144ec27..39dbc0c4d8e 100644 --- a/source/_components/homematic.markdown +++ b/source/_components/homematic.markdown @@ -294,7 +294,7 @@ action: When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant will stop getting updates from devices. This may happen after rebooting the CCU for example. Due to the nature of the communication protocol this cannot be handled automatically, so you must call *homematic.reconnect* in this case. That's why it is usually a good idea to check if your HomeMatic components are still updated properly, in order to detect connection losses. This can be done in several ways through an automation: -- If you have a sensor which you know will be updated frequently (e.g. an outdoor temperature sensor or light sensor) you could set up an automation like this: +- If you have a sensor which you know will be updated frequently (e.g., an outdoor temperature sensor or light sensor) you could set up an automation like this: ```yaml automation: diff --git a/source/_components/insteon.markdown b/source/_components/insteon.markdown index 7cb8e635ec7..403d8da6bd2 100644 --- a/source/_components/insteon.markdown +++ b/source/_components/insteon.markdown @@ -244,13 +244,13 @@ events. The following events are available: - **insteon.button_on** - **address**: (required) The Insteon device address in lower case without - dots (e.g. 1a2b3c) + dots (e.g., 1a2b3c) - **button**: (Optional) The button id in lower case. For a 4-button remote the values are `a` to `d`. For an 8 button remote the values are `a` to `g`. For a one-button remote this field is not used. - **insteon.button_of** - **address**: (required) The Insteon device address in lower case without - dots (e.g. 1a2b3c) + dots (e.g., 1a2b3c) - **button**: (Optional) The button id in lower case. For a 4-button remote the values are a to d. For an 8 button remote the values are `a` to `g`. For a one-button remote this field is not used. diff --git a/source/_components/konnected.markdown b/source/_components/konnected.markdown index 1467787a493..cd55944cb37 100644 --- a/source/_components/konnected.markdown +++ b/source/_components/konnected.markdown @@ -52,7 +52,7 @@ access_token: required: true type: string api_host: - description: Override the IP address/host (and port number) of Home Assistant that the Konnected device(s) will use to communicate sensor state updates. If omitted, this is defaulted to the value of `base_url` in the `http` component. If you've set `base_url` to an external hostname, then you'll want to set this value back to your _local_ IP address and port (e.g. `http://192.168.1.101:8123`). + description: Override the IP address/host (and port number) of Home Assistant that the Konnected device(s) will use to communicate sensor state updates. If omitted, this is defaulted to the value of `base_url` in the `http` component. If you've set `base_url` to an external hostname, then you'll want to set this value back to your _local_ IP address and port (e.g., `http://192.168.1.101:8123`). required: false type: url default: value of `base_url` diff --git a/source/_components/light.markdown b/source/_components/light.markdown index b4e6102c8f6..4c559dfc3fb 100644 --- a/source/_components/light.markdown +++ b/source/_components/light.markdown @@ -19,7 +19,7 @@ The light component supports multiple entries in configuration.yaml To set the default color and brightness values when the light is turned on, create a custom `light_profiles.csv` (as described below in the `profile` attribute of `light.turn_on`). -The `.default` suffix should be added to the entity identifier of each light to define a default value, e.g. for `light.ceiling_2` the `id` field is `light.ceiling_2.default`. To define a default for all lights, the identifier `group.all_lights.default` can be used. Individual settings always supercede the `all_lights` default setting. +The `.default` suffix should be added to the entity identifier of each light to define a default value, e.g., for `light.ceiling_2` the `id` field is `light.ceiling_2.default`. To define a default for all lights, the identifier `group.all_lights.default` can be used. Individual settings always supercede the `all_lights` default setting. ### {% linkable_title Service `light.turn_on` %} diff --git a/source/_components/lirc.markdown b/source/_components/lirc.markdown index ad96e2316b2..7127b52caf7 100644 --- a/source/_components/lirc.markdown +++ b/source/_components/lirc.markdown @@ -41,7 +41,7 @@ For more information have a look at `/usr/share/doc/lirc/README.Debian.gz` where Now teach LIRC about your particular remote control by preparing a lircd configuration file (`/etc/lirc/lircd.conf`). Search the [LIRC remote database](http://lirc.sourceforge.net/remotes/) for your model. If you can't find it, then you can always use the `irrecord` program to learn your remote. This will create a valid configuration file. Add as many remotes as you want by pasting them into the file. If `irrecord` doesn't work (e.g., for some air conditioner remotes), then the `mode2` program is capable of reading the codes in raw mode, followed by `irrecord -a` to extract hex codes. -Next, you have to make a `~/.lircrc` file that maps keypresses to system actions. The file has to be in the home dir of the user running Home Assistant, e.g. in `/home/homeassistant/.lircrc` if you're running in a virtual env. [The configuration](http://www.lirc.org/html/configure.html) is a bit tedious but it must be done. Use the `prog = home-assistant` for all keys you want to be recognized by Home Assistant. The values you set for `button` must be the same as in the `lircd.conf` file and the values you put for `config` entry will be the sensor value in Home Assistant when you press the button. An example may look like this: +Next, you have to make a `~/.lircrc` file that maps keypresses to system actions. The file has to be in the home dir of the user running Home Assistant, e.g., in `/home/homeassistant/.lircrc` if you're running in a virtual env. [The configuration](http://www.lirc.org/html/configure.html) is a bit tedious but it must be done. Use the `prog = home-assistant` for all keys you want to be recognized by Home Assistant. The values you set for `button` must be the same as in the `lircd.conf` file and the values you put for `config` entry will be the sensor value in Home Assistant when you press the button. An example may look like this: ```bash begin diff --git a/source/_components/matrix.markdown b/source/_components/matrix.markdown index 75bd6da0e6a..d965ea1a9f5 100644 --- a/source/_components/matrix.markdown +++ b/source/_components/matrix.markdown @@ -31,7 +31,7 @@ Configuration variables: {% configuration %} username: - description: "The matrix username that Home Assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g. '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes." + description: "The matrix username that Home Assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g., '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes." required: true type: string password: diff --git a/source/_components/notify.html5.markdown b/source/_components/notify.html5.markdown index 029f6514478..41a46d12ba4 100644 --- a/source/_components/notify.html5.markdown +++ b/source/_components/notify.html5.markdown @@ -99,7 +99,7 @@ Assuming the previous test completed successfully and your browser was registere 1. Open Home Assistant in Chrome or Firefox. 2. Open the sidebar and click the Services button at the bottom (shaped like a remote control), located below the Developer Tools. -3. From the Services dropdown, search for your HTML5 notify service (E.G. notify.NOTIFIER_NAME) and select it. +3. From the Services dropdown, search for your HTML5 notify service (e.g., notify.NOTIFIER_NAME) and select it. 4. In the Service Data text box enter: {"message":"hello world"}, then press the CALL SERVICE button. 5. If everything worked you should see a popup notification. diff --git a/source/_components/notify.nfandroidtv.markdown b/source/_components/notify.nfandroidtv.markdown index 6ec1639edb2..2933ca01789 100644 --- a/source/_components/notify.nfandroidtv.markdown +++ b/source/_components/notify.nfandroidtv.markdown @@ -13,7 +13,7 @@ ha_release: 0.32 --- -Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google). You can use this plarform to send notifications to your Android TV device. An overlay with the message content will appear for a configurable amount of seconds and then disapper again. Sending images (e.g. security cam) is supported too. +Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google). You can use this plarform to send notifications to your Android TV device. An overlay with the message content will appear for a configurable amount of seconds and then disapper again. Sending images (e.g., security cam) is supported too. The notifications are in the global scope of your Android TV device. They will be displayed regardless of which application is running. diff --git a/source/_components/notify.xmpp.markdown b/source/_components/notify.xmpp.markdown index 14105d9bb6d..00303b0f32c 100644 --- a/source/_components/notify.xmpp.markdown +++ b/source/_components/notify.xmpp.markdown @@ -38,7 +38,7 @@ Configuration variables: - **room** (*Optional*): Room's name (e.g., example@conference.jabber.org). If set, send a message to chatroom instead of the sender.

- sleekxmpp, as of version 1.3.2, does not support >TLS1. If you are running your own XMPP server (e.g. Prosody, ejabberd) make sure to allow using TLS1. + sleekxmpp, as of version 1.3.2, does not support >TLS1. If you are running your own XMPP server (e.g., Prosody, ejabberd) make sure to allow using TLS1.

All Jabber IDs (JID) must include the domain. Make sure that the password matches the account provided as sender. diff --git a/source/_components/sensor.geizhals.markdown b/source/_components/sensor.geizhals.markdown index 636751da35b..575c974b4de 100644 --- a/source/_components/sensor.geizhals.markdown +++ b/source/_components/sensor.geizhals.markdown @@ -29,7 +29,7 @@ Configuration variables: - **name** (*Required*): The internal name of the product in Home Assistant. - **product_id** (*Required*): ID of the product. Get the ID from the Geizhals website of your chosen product by opening the *Price History* in a new browser tab (right-click on the price history > open in new tab). -The URL of this site reveals the ID, e.g. `https://geizhals.de/?phist=1696985` with a `product_id` of `1696985`. +The URL of this site reveals the ID, e.g., `https://geizhals.de/?phist=1696985` with a `product_id` of `1696985`. - **description** (*Optional*): The name of the product in the front end. - **locale** (*Optional*): Localisation which should be used for the request. Set this to `AT`, `EU`, `DE`, `UK` or `PL`. Defaults to `DE`. diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown index 6c4cea8129b..05469d650f2 100644 --- a/source/_components/sensor.rmvtransport.markdown +++ b/source/_components/sensor.rmvtransport.markdown @@ -34,7 +34,7 @@ name: default: The default is the station name. type: string stationId: - description: ID of the stop or station, e.g. 3000010. Visit [the RMV OpenData web site](https://opendata.rmv.de) to find a list of valid IDs. + description: ID of the stop or station, e.g., 3000010. Visit [the RMV OpenData web site](https://opendata.rmv.de) to find a list of valid IDs. required: true type: string destinations: diff --git a/source/_components/sensor.starlingbank.markdown b/source/_components/sensor.starlingbank.markdown index 1a215ac9ccf..5accaf731d5 100644 --- a/source/_components/sensor.starlingbank.markdown +++ b/source/_components/sensor.starlingbank.markdown @@ -33,7 +33,7 @@ Once you have your own Starling bank account you will need to sign up for a Star Once you've signed up: 1. Head to the [Personal Access Section](https://developer.starlingbank.com/personal/token) of your developer account. 2. Click "Create Token". -3. Give your token a name e.g. "Home Assistant". +3. Give your token a name e.g., "Home Assistant". 4. Tick the permissions "account:read" and "balance:read". The others you can leave un-ticked. 5. Click "Create" and make a note of the newly created token, you will need this for your Home Assistant configuration. diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown index b4e752ebc28..9a03d1c9d36 100644 --- a/source/_components/snips.markdown +++ b/source/_components/snips.markdown @@ -141,7 +141,7 @@ Alternatively, MQTT can be configured to bridge messages between servers if usin In Home Assistant, we trigger actions based on intents produced by Snips using the [`intent_script`](/components/intent_script) component. For instance, the following block handles a `ActivateLightColor` intent to change light colors: -Note: If your Snips action is prefixed with a username (e.g. `john:playmusic` or `john__playmusic`), the Snips component in Home Assistant [will try and strip off the username](https://github.com/home-assistant/home-assistant/blob/c664c20165ebeb248b98716cf61e865f274a2dac/homeassistant/components/snips.py#L126-L129). Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips component is trying to match the non-username version of the intent (i.e., just `playmusic`). +Note: If your Snips action is prefixed with a username (e.g., `john:playmusic` or `john__playmusic`), the Snips component in Home Assistant [will try and strip off the username](https://github.com/home-assistant/home-assistant/blob/c664c20165ebeb248b98716cf61e865f274a2dac/homeassistant/components/snips.py#L126-L129). Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips component is trying to match the non-username version of the intent (i.e., just `playmusic`). {% raw %} ```yaml diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown index ddb5ee8f8dd..3bd4a98369a 100644 --- a/source/_docs/mqtt/broker.markdown +++ b/source/_docs/mqtt/broker.markdown @@ -59,7 +59,7 @@ mqtt: ### {% linkable_title Run your own %} -Along with the embedded broker this is the most private option, but it requires a bit more work. There are multiple free and open-source brokers to pick from: e.g. [Mosquitto](http://mosquitto.org/), [EMQ](http://emqtt.io/), or [Mosca](http://www.mosca.io/). +Along with the embedded broker this is the most private option, but it requires a bit more work. There are multiple free and open-source brokers to pick from: e.g., [Mosquitto](http://mosquitto.org/), [EMQ](http://emqtt.io/), or [Mosca](http://www.mosca.io/). ```yaml # Example configuration.yaml entry @@ -98,7 +98,7 @@ protocol: type: string certificate: required: false - description: Path to the certificate file, e.g. `/home/user/.homeassistant/server.crt`. + description: Path to the certificate file, e.g., `/home/user/.homeassistant/server.crt`. type: string tls_insecure: required: false diff --git a/source/_docs/z-wave/adding.markdown b/source/_docs/z-wave/adding.markdown index 98c2c5efbae..e40a86276e6 100644 --- a/source/_docs/z-wave/adding.markdown +++ b/source/_docs/z-wave/adding.markdown @@ -24,7 +24,7 @@ Don't use this for [secure devices](/docs/z-wave/adding/#adding-secure-devices), Don't use the OpenZWave control panel (OZWCP), **or the physical button on a controller**, to add or remove devices. Many devices will only send the information about their capabilities at the time you include them. If you use the OpenZWave control panel, or the button on a device, then Home Assistant won't have that information. Using the physical button on a controller will also result in a non-security inclusion being performed, which may limit the features the device supports.

-When you add a device, it may initially appear without a specific entity ID (e.g. `zwave.__`) and without other identifying information. Running a *Heal* should help speed this process up, and you'll need to run a *Heal* anyway so that all the devices in your Z-Wave network learn about the new device. You *might* need to restart Home Assistant (not reboot the system) to have the entity ID fully visible. +When you add a device, it may initially appear without a specific entity ID (e.g., `zwave.__`) and without other identifying information. Running a *Heal* should help speed this process up, and you'll need to run a *Heal* anyway so that all the devices in your Z-Wave network learn about the new device. You *might* need to restart Home Assistant (not reboot the system) to have the entity ID fully visible. ## {% linkable_title Network Key %} diff --git a/source/_docs/z-wave/control-panel.markdown b/source/_docs/z-wave/control-panel.markdown index 7ee257b0fdc..018857fb5bc 100644 --- a/source/_docs/z-wave/control-panel.markdown +++ b/source/_docs/z-wave/control-panel.markdown @@ -82,7 +82,7 @@ Battery powered devices need to be awake before you can use the Z-Wave control p This is a dropdown where you can select all the entities of this node. Once selected you can then use: * **Refresh Entity** to refresh just that entity's values -* **Entity Attributes** to display the attributes of that entity (e.g. its friendly name, the ID of the node, etc) +* **Entity Attributes** to display the attributes of that entity (e.g., its friendly name, the ID of the node, etc) Here you can mark a device as requiring polling so the controller is aware of changes because the device doesn't send updates itself. Do see the information on [polling here](/docs/z-wave/devices/#polling), since excessive polling can break your Z-Wave network. diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown index a025b721e38..5e91cb65d80 100644 --- a/source/_lovelace/entities.markdown +++ b/source/_lovelace/entities.markdown @@ -74,7 +74,7 @@ name: type: string icon: required: true - description: "Icon to display (e.g. `mdi:home`)" + description: "Icon to display (e.g., `mdi:home`)" type: string action_name: required: true @@ -103,7 +103,7 @@ name: type: string icon: required: true - description: "Icon to display (e.g. `mdi:home`)" + description: "Icon to display (e.g., `mdi:home`)" type: string url: required: true diff --git a/source/_lovelace/glance.markdown b/source/_lovelace/glance.markdown index beb4b852641..9b12e8db29a 100644 --- a/source/_lovelace/glance.markdown +++ b/source/_lovelace/glance.markdown @@ -71,7 +71,7 @@ tap_action: default: more-info service: required: false - description: "For `call-service`, e.g. `media_player.media_play_pause`" + description: "For `call-service`, e.g., `media_player.media_play_pause`" type: string service_data: required: false diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index e9da937b142..8dd83c9c005 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -76,11 +76,11 @@ tap_action: default: more-info navigation_path: required: false - description: Url path to navigate to (e.g. `/lovelace/1`) + description: Url path to navigate to (e.g., `/lovelace/1`) type: string service: required: false - description: "Service to call (e.g. `light.turn_on`)" + description: "Service to call (e.g., `light.turn_on`)" type: string service_data: required: false @@ -119,11 +119,11 @@ tap_action: default: more-info navigation_path: required: false - description: Url path to navigate to (e.g. `/lovelace/1`) + description: Url path to navigate to (e.g., `/lovelace/1`) type: string service: required: false - description: "Service to call (e.g. `light.turn_on`)" + description: "Service to call (e.g., `light.turn_on`)" type: string service_data: required: false @@ -171,7 +171,7 @@ type: type: string icon: required: true - description: Icon to display (e.g. `mdi:home`) + description: Icon to display (e.g., `mdi:home`) type: string title: required: false @@ -188,11 +188,11 @@ tap_action: default: more-info navigation_path: required: false - description: Url path to navigate to (e.g. `/lovelace/1`) + description: Url path to navigate to (e.g., `/lovelace/1`) type: string service: required: false - description: "Service to call (e.g. `light.turn_on`)" + description: "Service to call (e.g., `light.turn_on`)" type: string service_data: required: false @@ -223,11 +223,11 @@ tap_action: default: more-info navigation_path: required: false - description: Url path to navigate to (e.g. `/lovelace/1`) + description: Url path to navigate to (e.g., `/lovelace/1`) type: string service: required: false - description: "Service to call (e.g. `light.turn_on`)" + description: "Service to call (e.g., `light.turn_on`)" type: string service_data: required: false @@ -265,7 +265,7 @@ style: {% configuration %} type: required: true - description: 'Card name with `custom:` prefix (e.g. `custom:my-custom-card`)' + description: 'Card name with `custom:` prefix (e.g., `custom:my-custom-card`)' type: string style: required: true diff --git a/source/_posts/2015-08-31-version-7-revamped-ui-and-improved-distribution.markdown b/source/_posts/2015-08-31-version-7-revamped-ui-and-improved-distribution.markdown index 37178a2d669..131273eb98c 100644 --- a/source/_posts/2015-08-31-version-7-revamped-ui-and-improved-distribution.markdown +++ b/source/_posts/2015-08-31-version-7-revamped-ui-and-improved-distribution.markdown @@ -90,7 +90,7 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -__DHT temperature and humidty sensors__ +__DHT temperature and humidity sensors__ [@MakeMeASandwich](https://github.com/makemeasandwich) has contributed support for DHT temperature and humidity sensors. It allows you to get the current temperature and humidity from a DHT11, DHT22, or AM2302 device. ```yaml diff --git a/source/help/reporting_issues.markdown b/source/help/reporting_issues.markdown index d2290788c55..2bc89b048ca 100644 --- a/source/help/reporting_issues.markdown +++ b/source/help/reporting_issues.markdown @@ -31,7 +31,7 @@ If possible, provide the latest release of which you know that the component or ### {% linkable_title Operating environment (Hass.io/Docker/Windows/etc.) %} -There are many different ways to run Home Assistant. In this section please mention which you are using, e.g. manual installation, [Hass.io](/hassio/), Hasbian or as container (Docker). It can help if you mention which operating system you are using because not all are supported on the same level. +There are many different ways to run Home Assistant. In this section please mention which you are using, e.g., manual installation, [Hass.io](/hassio/), Hasbian or as container (Docker). It can help if you mention which operating system you are using because not all are supported on the same level. ### {% linkable_title Component/platform %} diff --git a/source/javascripts/libs/swfobject-dynamic.js b/source/javascripts/libs/swfobject-dynamic.js index b021614524f..a9442349422 100644 --- a/source/javascripts/libs/swfobject-dynamic.js +++ b/source/javascripts/libs/swfobject-dynamic.js @@ -202,7 +202,7 @@ var swfobject = function() { function hasPlayerVersion(rv) { var pv = ua.pv, v = rv.split("."); v[0] = parseInt(v[0], 10); - v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0" + v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g., "9" instead of "9.0.0" v[2] = parseInt(v[2], 10) || 0; return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; } From ac2827112b41c63f181fc62dc078fe44ea3db597 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Tue, 9 Oct 2018 11:35:05 +0100 Subject: [PATCH 057/217] Minor tweaks (#6627) * Minor tweaks Changed the title to be linkable, and took the opportunity to update the config block at the same time * :ambulance: Fixes build error --- source/_components/media_player.denon.markdown | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/source/_components/media_player.denon.markdown b/source/_components/media_player.denon.markdown index ebfe0177bae..61fc86002fe 100644 --- a/source/_components/media_player.denon.markdown +++ b/source/_components/media_player.denon.markdown @@ -24,7 +24,8 @@ Supported devices: To add a Denon Network Receiver to your installation, add the following to your `configuration.yaml` file: -**Telnet platform** +## {% linkable_title Telnet platform %} + ```yaml # Example configuration.yaml entry media_player: @@ -32,10 +33,16 @@ media_player: host: IP_ADDRESS ``` -Configuration variables: - -- **host** (*Required*): IP address of the device. Example: 192.168.1.32 -- **name** (*Optional*): Name of the device. +{% configuration %} +host: + description: "IP address of the device. Example: 192.168.1.32" + required: true + type: string +name: + description: The name of the device + required: false + type: string +{% endconfiguration %} A few notes for platform: denon From 1dd1d815a199be5dac3321563371b3fa73047e87 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Tue, 9 Oct 2018 12:39:19 +0200 Subject: [PATCH 058/217] Update Camera Dispatcher component configuration variable (#6625) Update style of Camera Dispatcher component documentation to follow new configuration variables description. Related to #6385. --- source/_components/camera.dispatcher.markdown | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/source/_components/camera.dispatcher.markdown b/source/_components/camera.dispatcher.markdown index 26eb74febcd..b0f3c63b851 100644 --- a/source/_components/camera.dispatcher.markdown +++ b/source/_components/camera.dispatcher.markdown @@ -36,6 +36,13 @@ from homeassistant.helpers.dispatcher import async_dispatcher_send async_dispatcher_send(hass, 'name_of_dispatcher_signal', image_data) ``` -Configuration variables: -- **signal** (*Required*): The signal name of dispatcher signal they send image data to this camera. -- **name** (*Optional*): This parameter allows you to override the name of your camera. +{% configuration %} +signal: + description: The signal name of dispatcher signal they send image data to this camera. + required: true + type: string +name: + description: This parameter allows you to override the name of your camera. + required: false + type: string +{% endconfiguration %} From b5cd4dc92105bd176765ea80d380b228cb6c98d5 Mon Sep 17 00:00:00 2001 From: Dav0815 <35415680+Dav0815@users.noreply.github.com> Date: Tue, 9 Oct 2018 20:44:46 +1000 Subject: [PATCH 059/217] Alignment to new doc standards (#6624) * Fixes to configuration description and example. Alignment with new documentation guidelines (https://developers.home-assistant.io/docs/en/documentation_standards.html) * Fixed of sample config and documentation Alignment with new documentation guidelines. * Update sensor.waqi.markdown * Update sensor.bom.markdown * Update sensor.bom.markdown --- source/_components/sensor.bom.markdown | 75 ++++++++++++++++++++++--- source/_components/sensor.waqi.markdown | 21 ++++--- 2 files changed, 82 insertions(+), 14 deletions(-) diff --git a/source/_components/sensor.bom.markdown b/source/_components/sensor.bom.markdown index 7774077d9cf..c3cc033404c 100644 --- a/source/_components/sensor.bom.markdown +++ b/source/_components/sensor.bom.markdown @@ -25,8 +25,6 @@ To add the BOM weather observation to your installation, add the following to yo # Example configuration.yaml entry sensor: - platform: bom - station: IDS60801.94675 - name: Adelaide monitored_conditions: - apparent_t - cloud @@ -64,11 +62,74 @@ To get the station ID for any BOM station: - The URL will look like: http://www.bom.gov.au/products/IDx60801/[station].shtml - For Adelaide, the URL will look like `http://www.bom.gov.au/products/IDS60801/IDS60801.94675.shtml`; the station ID is `IDS60801.94675`. -Configuration variables: - -- **station** (*Optional*): The station ID string as identified from the BOM website. If not given, defaults to the closest station. -- **name** (*Optional*): The name you would like to give to the weather station. -- **monitored_conditions** (*Required*): A list of the conditions to monitor. +{% configuration %} +station: + description: The station ID string as identified from the BOM website. + required: false + type: string + default: If not given, defaults to the closest station based on location data in configuration.yaml. +name: + description: The name you would like to give to the weather station. + required: false + type: string +monitored_conditions: + description: A list of the conditions to monitor. + required: true + type: list + keys: + apparent_t: + description: Feels like temperature in C. + cloud: + description: Cloud cover. + cloud_base_m: + description: Cloud Base in m. + cloud_oktas: + description: Cloud Oktas. + cloud_type_id: + description: Cloud type ID. + cloud_type: + description: Cloud type description. + delta_t: + description: Delta temperature in C. + gust_kmh: + description: Wind gust in km/h. + gust_kt: + description: Wing gust in kt. + air_temp: + description: Air temperature in C. + dewpt: + description: Drew point in C. + press: + description: Pressure in mbar. + press_qnh: + description: Pressure in qnh. + press_msl: + description: Pressure in msl. + press_tend: + description: Pressure trend. + rain_trace: + description: Raing today in mm. + rel_hum: + description: Relative Humidity in %. + sea_state: + description: Sea state. + swell_dir_worded: + description: Swell direction. + swell_height: + description: Swell hight in m. + swell_period: + description: Swell period. + vis_km: + description: Visibility in km. + weather: + description: Weather summary. + wind_dir: + description: Wind direction. + wind_spd_kmh: + description: Wind speed in km/h. + wind_spd_kt: + description: Wind speed in kt. +{% endconfiguration %}

This sensor is an alternative to the [`bom`](/components/weather.bom/) weather platform. diff --git a/source/_components/sensor.waqi.markdown b/source/_components/sensor.waqi.markdown index 163ce64ee68..f428d28db64 100644 --- a/source/_components/sensor.waqi.markdown +++ b/source/_components/sensor.waqi.markdown @@ -26,15 +26,22 @@ sensor: token: AQICN_API_TOKEN locations: - beijing - stations: - - Beijing US Embassy, Beijing ``` -Configuration variables: - -- **locations** (*Required*): A list of location names to look for air quality data. In case a specific location has multiple registered stations all of them will be added to Home Assistant. -- **token** (*Required*): The token for the AQICN public API. -- **stations** (*Optional*): A list of station names to look for air quality data. Station should be within locations specified above. +{% configuration %} +token: + description: The token for the AQICN public API. + required: true + type: string +locations: + description: A list of location names to look for air quality data. In case a specific location has multiple registered stations all of them will be added to Home Assistant. + required: true + type: list +stations: + description: A list of station names to look for air quality data. Station should be within locations specified above. + required: false + type: list +{% endconfiguration %} The value reported is an overall AQ index for the location. The values of the index can be interpreted as following: From ad207b4ce37ed1159e6e4c4cfd665a3c818810cc Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Tue, 9 Oct 2018 12:54:07 +0200 Subject: [PATCH 060/217] Update Foscam camera component configuration variable (#6630) Update style of Foscam camera component documentation to follow new configuration variables description. Related to #6385. --- source/_components/camera.foscam.markdown | 32 +++++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/source/_components/camera.foscam.markdown b/source/_components/camera.foscam.markdown index c9d1aabd505..8215b0f2ffb 100644 --- a/source/_components/camera.foscam.markdown +++ b/source/_components/camera.foscam.markdown @@ -28,18 +28,34 @@ camera: password: YOUR_PASSWORD ``` -Configuration variables: - -- **ip** (*Required*): The IP address your camera. -- **port** (*Optional*): The port that the camera is running on. The default is 88. -- **username** (*Required*): The username for accessing your camera. -- **password** (*Required*): The password for accessing your camera. -- **name** (*Optional*): This parameter allows you to override the name of your camera. +{% configuration %} +ip: + description: The IP address your camera. + required: true + type: string +port: + description: The port that the camera is running on. + required: false + default: 88 + type: integer +username: + description: The username for accessing your camera. + required: true + type: string +password: + description: The password for accessing your camera. + required: true + type: string +name: + description: This parameter allows you to override the name of your camera. + required: false + type: string +{% endconfiguration %}

There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.

- + ### {% linkable_title Control Foscam PTZ (Pan/Tilt/Zoom) - Home/Away %} Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry. From 203b2292cc3143a5bc9ab919e3b0575577a99d68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20Sandstr=C3=B6m?= Date: Sat, 6 Oct 2018 21:16:35 +0200 Subject: [PATCH 061/217] Update verisure.markdown (#6558) --- source/_components/verisure.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/verisure.markdown b/source/_components/verisure.markdown index 686ab4ed017..799c43e6c32 100644 --- a/source/_components/verisure.markdown +++ b/source/_components/verisure.markdown @@ -46,4 +46,4 @@ Configuration variables: - **door_window** (*Optional*): Set to 1 to show door and window sensors, 0 to disable. Default 1. - **code_digits** (*Optional*): Number of digits in PIN code. Default 4. - **giid** (*Optional*): The GIID of your installation (If you have more then one alarm system). To find the GIID for your systems run 'python verisure.py EMAIL PASSWORD installations' -- **polling_rate** (*Optional*): Polling rate in minutes, Default 1 +- **scan_interval** (*Optional*): Scan interval in ```hh:mm:ss``` format. Default ```00:01:00``` From 03d134ce5ef51ebcaad2d0e05a761cabb0cf0643 Mon Sep 17 00:00:00 2001 From: Jason Hu Date: Sun, 7 Oct 2018 02:21:55 -0700 Subject: [PATCH 062/217] Cleanup google assistant document (#6562) * Cleanup google assistant document * Add screenshot for google assistant account linking * Add migration guide * Update the additonal users step * Add note for HTML5 App * Minor fix * :pencil2: Tweaks * :pencil2: Tweaks --- source/_components/google_assistant.markdown | 103 +++++++++++------- .../google_assistant/accountlinking.png | Bin 0 -> 79373 bytes 2 files changed, 63 insertions(+), 40 deletions(-) create mode 100644 source/images/components/google_assistant/accountlinking.png diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index 2badda04992..b4c686990fd 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -25,43 +25,74 @@ The Google Assistant component requires a bit more setup than most due to the wa To use Google Assistant, your Home Assistant configuration has to be externally accessible with a hostname and SSL certificate. If you haven't already configured that, you should do so before continuing.

+## {% linkable_title Migrate to release 0.80 and above %} + +Since release 0.80, the `Authorization Code` type of `OAuth` account linking is supported. To migrate your configuration, you need: + +1. Change your `Account linking` setting in [Actions on Google console](https://console.actions.google.com/), look for the `Advanced Options` in the bottom left of the sidebar. + - Change `Linking type` to `OAuth` and `Authorization Code`. + - In the `Client information` section: + - Change `Client ID` to `https://oauth-redirect.googleusercontent.com/`, the trailing slash is important. + - Input any string you like into `Client Secret`, Home Assistant doesn't need this field. + - Change `Authorization URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize` (replace with your actual URL). + - Change `Token URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token` (replace with your actual URL). + - In the `Client information` section: + - Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. + - Click 'Save' at the top right corner, then click 'Test' to generate a new draft version of the Test App. +2. Change your `configuration.yaml` file: + - Remove `client_id`, `access_token`, `agent_uer_id` config from `google_assistant:` since they are no longer needed. +3. Restart Home Assistant, open the `Google Assistant` app on your mobile phone then go to `Settings > Home Control`, re-link `[test] your app name`. +4. A browser will be open and asking you to login to your Home Assistant instance, it will edirect back to `Google Assistant` app right afterward. + +

+If you've added Home Assistant to the home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant to redirect back to the `Google Assistant` app. +

+ ## {% linkable_title Setup %} -You need to create an API Key with the [Google Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see [below](/#troubleshooting-the-request_sync-service)). If you don't provide it the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have setup this component you will need to call this service (or command) each time you add a new device that you wish to control via the Google Assistant integration. +You need to create an API Key with the [Google Cloud API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting-the-request_sync-service)). If you don't provide one, the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device that you wish to control via the Google Assistant integration. 1. Create a new project in the [Actions on Google console](https://console.actions.google.com/). - a. Add/Import project, give it a name - b. Click on `Home Control` card, select the `Smart home` recommendation. - c. Create an Action, under the build section. Add in your Home Assistant URL: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / ip address and the port under which your Home Assistant is reachable. - d. Click `Done`. Then click on `Overview`, which will lead you back to the app details screen. -2. `Account linking` is required for your app to interact with Home Assistant. Set this up under the `Quick Setup` section - a. Leave it at the default `No, I only want to allow account creation on my website` and select Next - b. For the `Linking type` select `OAuth` and `Authorization Code` - c. Client ID: `https://oauth-redirect.googleusercontent.com/`, the trailing slash is important - d. Client Secret: Anything you like, Home Assistant don't need this field - e. Authorization URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize`. - f. Token URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token`. - g. Configure your client. Add scopes for `email` and `name`. - h. Do NOT check `Google to transmit clientID and secret via HTTP basic auth header` - i. Testing instructions: Enter anything. It doesn't matter since you won't submit this app. -3. Back on the overview page. Click `Simulator` under `TEST`. It will create a new draft version Test App. You don't have to actually test. + 1. Add/Import a project and give it a name. + 2. Click on the `Home Control` card, select the `Smart home` recommendation. + 3. Create an Action, under the build section. Add your Home Assistant URL: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / IP address and the port under which your Home Assistant is reachable. + 4. Click `Done`. Then click on `Overview`, which will lead you back to the app details screen. +2. `Account linking` is required for your app to interact with Home Assistant. Set this up under the `Quick Setup` section. + 1. Leave it at the default `No, I only want to allow account creation on my website` and select Next. + 2. For the `Linking type` select `OAuth` and `Authorization Code`. + 3. Client ID: `https://oauth-redirect.googleusercontent.com/`, the trailing slash is important. + 4. Client Secret: Anything you like, Home Assistant doesn't need this field. + 5. Authorization URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize`. + 6. Token URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token`. + 7. Configure your client. Add scopes for `email` and `name`. + 8. Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. + 9. Testing instructions: Enter anything. It doesn't matter since you won't submit this app. + + Screenshot: Account linking + +3. Back on the overview page. Click `Simulator` under `TEST`. It will create a new draft version Test App. You don't have to actually test, but you need to generate this draft version Test App. 4. If you haven't already added the component configuration to `configuration.yaml` file and restarted Home Assistant, you'll be unable to continue until you have. -5. Open the Google Assistant app and go into `Settings > Home Control` +5. Open the Google Assistant app and go into `Settings > Home Control`. 6. Click the `+` sign, and near the bottom, you should have `[test] your app name`. Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms for your devices or nicknames for your devices. +

+If you've added Home Assistant to the home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant to redirect back to the `Google Assistant` app. +

7. If you want to allow other household users to control the devices: - a. Go to the settings for the project you created in point 1 in the developer console. - b. Under the gear icon, click `Permissions` - c. Click `Add`, type the new user's e-mail address and choose `Project -> Editor` role - d. Have the new user go to [developer console](https://console.actions.google.com/) and repeat steps starting from point 3 + 1. Go to the settings for the project you created in the [Actions on Google console](https://console.actions.google.com/). + 2. Click `Test -> Simulator`, then click `Share` icon in the right top corner. Follow the on-screen instruction: + 1. Add team members: Got to `Settings -> Permission`, click `Add`, type the new user's e-mail address and choose `Project -> Viewer` role. + 2. Copy and share the link with the new user. + 3. New user clicks the link with their own Google account, it will enable our draft test app under their account. + 3. Have the new user go to their `Google Assistant` app to add `[test] your app name` to their account. 8. If you want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project: - a. Go to the [cloud console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) - b. Select your project and click Enable Homegraph API - c. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials - d. Note down the generated API Key and use this in the configuration + 1. Go to the [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview). + 2. Select your project and click Enable Homegraph API. + 3. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials. + 4. Note down the generated API Key and use this in the configuration. ## {% linkable_title Configuration %} -To enable this, add the following lines to your `configuration.yaml` file: +Now add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -85,7 +116,7 @@ google_assistant: {% configuration %} project_id: - description: Project ID from the Google Developer console (looks like `words-2ab12`) + description: Project ID from the Actions on Google console (looks like `words-2ab12`) required: true type: string api_key: @@ -144,25 +175,17 @@ Currently, the following domains are available to be used with Google Assistant, - media_player (on/off/set volume (via set brightness)) - climate (temperature setting) -It's very important that you use very long strings for `client_id` and `access_token`. Those are essentially the credentials to your Home Assistant instance. You can generate them with the following command: - -```bash -$ cat /dev/urandom | fold -w 120 | head -n 1 | base64 -w 0 | tr -dc '0-9A-Za-z' | cut -c -80 -``` - -If you're not using Linux, you can use sites such as [this one](https://www.browserling.com/tools/random-string) to generate a random string (containing mixed case letters and numbers) of up to 80 characters. - ### {% 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?hl=en-GB) from Home Control and relink. +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. -The request_sync service may fail with a 404 if the project_id of the Homegraph API differs from the project_id of the Actions SDK found in the preferences of your project on [developer console](https://console.actions.google.com). Resolve this by: +The request_sync service may fail with a 404 if the project_id of the Homegraph API differs from the project_id of the Actions SDK found in the preferences of your project on [Actions on Google console](https://console.actions.google.com). Resolve this by: - 1. Removing your project from the [developer console](https://console.actions.google.com). - 2. Add a new project to the [cloud console](https://console.cloud.google.com). Here you get a new `project_id`. + 1. Removing your project from the [Actions on Google console](https://console.actions.google.com). + 2. Add a new project to the [Google Cloud API Console](https://console.cloud.google.com). Here you get a new `project_id`. 3. Enable Homegraph API to the new project. 4. Generate a new API key. - 5. Again, create a new project in the [developer console](https://console.actions.google.com/). Described above. But at the step 'Build under the Actions SDK box' choose your newly created project. By this, they share the same `project_id`. + 5. Again, create a new project in the [Actions on Google console](https://console.actions.google.com/). Described above. But at the step 'Build under the Actions SDK box' choose your newly created project. By this, they share the same `project_id`. ### {% linkable_title Troubleshooting with NGINX %} diff --git a/source/images/components/google_assistant/accountlinking.png b/source/images/components/google_assistant/accountlinking.png new file mode 100644 index 0000000000000000000000000000000000000000..ae3198cdd2a17fe2e509f200bf2656fc9848589e GIT binary patch literal 79373 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 Q2>d~58C|K-xEAq009K@T761SM literal 0 HcmV?d00001 From c4c94ae5f923ffa05e55a2cee316b13fbd4708e3 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 8 Oct 2018 14:54:24 +0200 Subject: [PATCH 063/217] Update IFTTT docs (#6594) * Update IFTTT docs * :pencil2: Tweaks * Address comments --- source/_components/ifttt.markdown | 42 +++++++++++++----- .../images/components/ifttt/IFTTT_to_HA.png | Bin 33343 -> 0 bytes 2 files changed, 31 insertions(+), 11 deletions(-) delete mode 100644 source/images/components/ifttt/IFTTT_to_HA.png diff --git a/source/_components/ifttt.markdown b/source/_components/ifttt.markdown index 9f48303946c..511390b52a5 100644 --- a/source/_components/ifttt.markdown +++ b/source/_components/ifttt.markdown @@ -13,7 +13,37 @@ featured: true ha_iot_class: "Cloud Push" --- -[IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional statements, so called "Applets". With the IFTTT component you can trigger applets through the **"Webhooks"** service (which was previously the **"Maker"** channel). See the [announcement blog post](/blog/2015/09/13/home-assistant-meets-ifttt/) for examples how to use it. +[IFTTT](https://ifttt.com) is a web service that allows users to create chains of simple conditional statements, so-called "Applets". With the IFTTT component, you can trigger applets through the **"Webhooks"** service (which was previously the **"Maker"** channel). + +## {% linkable_title Sending events from IFTTT to Home Assistant %} + +To be able to receive events from IFTTT, your Home Assistant instance needs to be accessible from the web ([Hass.io instructions](/addons/duckdns/)) and you need to have the `base_url` configured for the HTTP component ([docs](https://www.home-assistant.io/components/http/#base_url)). + +To set it up, go to the integrations page in the configuration screen and find IFTTT. Click on configure. Follow the instructions on the screen to configure IFTTT. + +Events coming in from IFTTT will be available as events in Home Assistant and are fired as `ifttt_webhook_received`. The data specified in IFTTT will be available as the event data. You can use this event to trigger automations. + +For example, set the body of the IFTTT webhook to: + +```json +{ "action": "call_service", "service": "light.turn_on", "entity_id": "light.living_room" } +``` + +You can then consume that information with the following automation: + +```yaml +automation: + trigger: + event: ifttt_webhook_received + event_data: + action: call_service + action: + service_template: '{% raw %}{{ trigger.event.data.service }}{% endraw %}' + data_template: + entity_id: '{% raw %}{{ trigger.event.data.entity_id }}{% endraw %}' +``` + +## {% linkable_title Sending events to IFTTT %} ```yaml # Example configuration.yaml entry @@ -107,16 +137,6 @@ ifttt_notify: ``` {% endraw %} -### {% linkable_title Sending events from IFTTT to Home Assistant %} - -To be able to receive events from IFTTT, your Home Assistant instance needs to be accessible from the web. This can be achieved by forwarding port 8123 from your router to the device running Home Assistant. If your ISP is giving you a new IP address from time to time, consider using [DuckDNS](https://duckdns.org). - -In the URL field, you can then put an [API URL](/developers/rest_api/). You probably want to use a POST action, so select `POST` as method. After your request line, you need to add your Home Assistant password, which you defined in the [http section of your config](/getting-started/basic/#password-protecting-the-web-interface), in the form of `?api_password=YOUR_PASSWORD`. For the message body, refer to the API page linked above. - -

- -

- ### {% linkable_title Additional Channel Examples %} Additional examples of using IFTTT channels can be found below. diff --git a/source/images/components/ifttt/IFTTT_to_HA.png b/source/images/components/ifttt/IFTTT_to_HA.png deleted file mode 100644 index 53a7573ec4c4923828f5f995454cfc8153d4bcdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33343 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 Date: Mon, 8 Oct 2018 20:16:29 +0200 Subject: [PATCH 064/217] Add webhook trigger docs (#6610) --- source/_docs/automation/templating.markdown | 9 +++++++++ source/_docs/automation/trigger.markdown | 15 +++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/source/_docs/automation/templating.markdown b/source/_docs/automation/templating.markdown index 74f0427f48c..a34d46cc3c6 100644 --- a/source/_docs/automation/templating.markdown +++ b/source/_docs/automation/templating.markdown @@ -126,6 +126,15 @@ The following tables show the available trigger data per platform. | `trigger.platform` | Hardcoded: `time` | `trigger.now` | DateTime object that triggered the time trigger. +### {% linkable_title webhook %} + +| Template variable | Data | +| ---- | ---- | +| `trigger.platform` | Hardcoded: `webhook` +| `trigger.webhook_id` | The webhook ID that was triggered. +| `trigger.json` | The JSON data of the request (if it had a JSON content type). +| `trigger.data` | The form data of the request (if it had a form data content type). + ### {% linkable_title zone %} | Template variable | Data | diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index e682a20c389..734799268b6 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -125,7 +125,7 @@ automation: offset: '-00:45:00' ``` -Sometimes you may want more granular control over an automation based on the elevation of the sun. This can be used to layer automations to occur as the sun lowers on the horizon or even after it is below the horizon. This is also useful when the "sunset" event is not dark enough outside and you would like the automation to run later at a precise solar angle instead of the time offset such as turning on exterior lighting. +Sometimes you may want more granular control over an automation based on the elevation of the sun. This can be used to layer automations to occur as the sun lowers on the horizon or even after it is below the horizon. This is also useful when the "sunset" event is not dark enough outside and you would like the automation to run later at a precise solar angle instead of the time offset such as turning on exterior lighting. {% raw %} ```yaml @@ -190,9 +190,20 @@ automation 3: seconds: 00 ```

- Remember that if you are using matching to include both `minutes` and `seconds`. Without `seconds`, your automation will trigger 60 times during the matching minute. + Remember that if you are using matching to include both `minutes` and `seconds`. Without `seconds`, your automation will trigger 60 times during the matching minute.

+### {% linkable_title Webhook trigger %} + +Webhook triggers are triggered by web requests made to the webhook endpoint: `/api/webhook/`. This endpoint does not require authentication besides knowing the webhook id. You can either send encoded form or JSON data, available in the template as either `trigger.json` or `trigger.data`. + +```yaml +automation: + trigger: + platform: webhook + webhook_id: +``` + ### {% linkable_title Zone trigger %} Zone triggers can trigger when an entity is entering or leaving the zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. This includes [GPS Logger](/components/device_tracker.gpslogger/), the [OwnTracks platform](/components/device_tracker.owntracks/) and the [iCloud platform](/components/device_tracker.icloud/). From edb787362730e7e43b65be71519e710c5d70809e Mon Sep 17 00:00:00 2001 From: Alok Saboo Date: Tue, 9 Oct 2018 12:47:45 -0400 Subject: [PATCH 065/217] Added supported model (#6639) --- source/_components/media_player.samsungtv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index fba12092442..92139ec1d54 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -84,6 +84,7 @@ Currently known supported models: - KU6100 (port must be set to 8001, and `pip3 install websocket-client` must be executed) - KU6290 (port must be set to 8001) - KU7000 (port must be set to 8001) +- NU8000 - MU6170UXZG (port must be set to 8001, and `pip3 install websocket-client` must be executed) - KS7502 (port must be set to 8001, and `pip3 install websocket-client` must be executed, turn on doesn't work, turn off works fine) - K5600AK (partially supported, turn on works but state is not updated) From 3f0b17be517df34d7904c21ead156e6cd0888e43 Mon Sep 17 00:00:00 2001 From: Dav0815 <35415680+Dav0815@users.noreply.github.com> Date: Wed, 10 Oct 2018 03:21:50 +1000 Subject: [PATCH 066/217] Doc standart fixes (#6632) --- source/_components/sensor.citybikes.markdown | 37 +++++++++++++++----- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/source/_components/sensor.citybikes.markdown b/source/_components/sensor.citybikes.markdown index c23e5783aaa..265b448755c 100644 --- a/source/_components/sensor.citybikes.markdown +++ b/source/_components/sensor.citybikes.markdown @@ -23,17 +23,38 @@ To enable it, add the following lines to your `configuration.yaml`: # Example configuration.yaml entry (using radius) sensor: - platform: citybikes - radius: 500 ``` -Configuration options: +{% configuration %} +name: + description: The base name of this group of monitored stations. The entity ID of every monitored station in this group will be prefixed with this base name, in addition to the network ID. + required: false + type: string +network: + description: The name of the bike sharing system to poll. + required: false + default: Defaults to the system that operates in the monitored location. + type: string +latitude: + description: Latitude of the location, around which bike stations are monitored. + required: false + default: Defaults to the latitude in your `configuration.yaml` file. + type: string +longitude: + description: Longitude of the location, around which bike stations are monitored. + required: false + default: Defaults to the longitude in your `configuration.yaml` file. + type: string +radius: + description: The radius (in meters or feet, depending on the Home Assistant configuration) around the monitored location. Only stations closer than this distance will be monitored. + required: false + type: integer +stations: + description: A list of specific stations to monitor. The list should contain station `ID`s or `UID`s, which can be obtained from the CityBikes API. + required: false + type: list +{% endconfiguration %} -- **name** (*Optional*): The base name of this group of monitored stations. The entity ID of every monitored station in this group will be prefixed with this base name, in addition to the network ID. -- **network** (*Optional*): The name of the bike sharing system to poll. Defaults to the system that operates in the monitored location. -- **latitude** (*Optional*): Latitude of the location, around which bike stations are monitored. Defaults to the latitude in your `configuration.yaml` file. -- **longitude** (*Optional*): Longitude of the location, around which bike stations are monitored. Defaults to the longitude in your `configuration.yaml` file. -- **radius** (*Optional*): The radius (in meters or feet, depending on the Home Assistant configuration) around the monitored location. Only stations closer than this distance will be monitored. -- **stations** array (*Optional*): A list of specific stations to monitor. The list should contain station `ID`s or `UID`s, which can be obtained from the CityBikes API. ## {% linkable_title Example %} From 145e982b6225205ffa0b3f20c788c0bc41cf2442 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Tue, 9 Oct 2018 19:31:17 +0200 Subject: [PATCH 067/217] Update Camera generic component configuration variable (#6631) * Update Camera generic component configuration variable Update style of Camera generic component documentation to follow new configuration variables description. Related to #6385. * Minor change --- source/_components/camera.generic.markdown | 53 +++++++++++++++++----- 1 file changed, 42 insertions(+), 11 deletions(-) diff --git a/source/_components/camera.generic.markdown b/source/_components/camera.generic.markdown index 99f7e03aa7e..a5c9d503d68 100644 --- a/source/_components/camera.generic.markdown +++ b/source/_components/camera.generic.markdown @@ -27,17 +27,48 @@ camera: still_image_url: http://194.218.96.92/jpg/image.jpg ``` -Configuration variables: - -- **still_image_url** (*Required*): The URL your camera serves the image on, eg. http://192.168.1.21:2112/. Can be a [template](/topics/templating/). -- **name** (*Optional*): This parameter allows you to override the name of your camera. -- **username** (*Optional*): The username for accessing your camera. -- **password** (*Optional*): The password for accessing your camera. -- **authentication** (*Optional*): Type for authenticating the requests `basic` (default) or `digest`. -- **limit_refetch_to_url_change** (*Optional*): True/false value (default: false). Limits re-fetching of the remote image to when the URL changes. Only relevant if using a template to fetch the remote image. -- **content_type** (*Optional*): Set the content type for the IP camera if it is not a jpg file (default: `image/jpeg`). Use `image/svg+xml` to add a dynamic svg file. -- **framerate** (*Optional*): The number of frames-per-second (FPS) of the stream (setting this too high may cause too much traffic on the network or be heavy on the camera). -- **verify_ssl** (*Optional*): True/false value (default: true). Enable or disable SSL certificate verification. +{% configuration %} +still_image_url: + description: "The URL your camera serves the image on, eg. http://192.168.1.21:2112/. Can be a [template](/topics/templating/)." + required: true + type: string +name: + description: This parameter allows you to override the name of your camera. + required: false + type: string +username: + description: The username for accessing your camera. + required: false + type: string +password: + description: The password for accessing your camera. + required: false + type: string +authentication: + description: "Type for authenticating the requests `basic` or `digest`." + required: false + default: basic + type: string +limit_refetch_to_url_change: + description: True/false value. Limits re-fetching of the remote image to when the URL changes. Only relevant if using a template to fetch the remote image. + required: false + default: false + type: boolean +content_type: + description: Set the content type for the IP camera if it is not a jpg file. Use `image/svg+xml` to add a dynamic svg file. + required: false + default: image/jpeg + type: string +framerate: + description: The number of frames-per-second (FPS) of the stream. Can cause heavy traffic on the network and/or heavy load on the camera. + required: false + type: integer +verify_ssl: + description: Enable or disable SSL certificate verification. + required: false + default: true + type: boolean +{% endconfiguration %}

From 95b03adf6f4d18b369919f81172a79a3a9fb2846 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Tue, 9 Oct 2018 18:32:03 +0100 Subject: [PATCH 068/217] Adding relink section (#6644) A few folks have commented that if they hit *Account linking failed* then clearing browser history and cache can solve that. --- source/_components/google_assistant.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index 194a59fcb58..910b999004b 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -165,6 +165,8 @@ $ cat /dev/urandom | fold -w 120 | head -n 1 | base64 -w 0 | tr -dc '0-9A-Za-z' If you're not using Linux, you can use sites such as [this one](https://www.browserling.com/tools/random-string) to generate a random string (containing mixed case letters and numbers) of up to 80 characters. +## {% linkable_title Troubleshooting %} + ### {% 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?hl=en-GB) from Home Control and relink. @@ -182,3 +184,7 @@ The request_sync service may fail with a 404 if the project_id of the Homegraph When using NGINX, ensure that your `proxy_pass` line *does not* have a trailing `/`, as this will result in errors. Your line should look like: proxy_pass http://localhost:8123; + +### {% linkable_title Unlink and relink %} + +If you're having trouble with *Account linking failed* after you unlinked your service, try clearing the browser history and cache. From bf889c3a699f21c3b89391ceaffa986ca53a4b12 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Tue, 9 Oct 2018 19:42:07 +0200 Subject: [PATCH 069/217] Update Logi Circle component configuration variable (#6633) Update style of Logi Circle component documentation to follow new configuration variables description. Related to #6385. --- source/_components/camera.logi_circle.markdown | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/source/_components/camera.logi_circle.markdown b/source/_components/camera.logi_circle.markdown index 1b525400700..c92aca35225 100644 --- a/source/_components/camera.logi_circle.markdown +++ b/source/_components/camera.logi_circle.markdown @@ -31,13 +31,17 @@ camera: - platform: logi_circle ``` -Configuration variables: - -- **scan_interval**: (*Optional*): How frequently to query for new camera stills. Defaults to 60 seconds. +{% configuration %} +scan_interval: + description: How frequently to query for new camera stills, value are in seconds. + required: false + default: 60 + type: integer +{% endconfiguration %} ### {% linkable_title Service `camera.logi_circle_livestream_record` %} -Initiates a recording of the camera's live stream. +Initiates a recording of the camera's live stream. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | @@ -66,4 +70,4 @@ Sets an configuration property for your camera. | ---------------------- | -------- | ----------- | | `entity_id` | yes | Name(s) of entities to set the operation mode for, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. | | `mode` | no | Configuration property to set. Allowed values: `BATTERY_SAVING`, `LED`, `PRIVACY_MODE` | -| `value` | no | Mode value. Allowed values: `true`, `false` | \ No newline at end of file +| `value` | no | Mode value. Allowed values: `true`, `false` | From bc350eaab80224f1ea4eb61beabaf9c7b385f805 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Tue, 9 Oct 2018 19:44:17 +0200 Subject: [PATCH 070/217] Update Onvif camera component configuration variable (#6634) Update style of Onvif camera component documentation to follow new configuration variables description. Related to #6385. --- source/_components/camera.onvif.markdown | 41 ++++++++++++++++++------ 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/source/_components/camera.onvif.markdown b/source/_components/camera.onvif.markdown index ed01e31d379..daf2ca2fd10 100644 --- a/source/_components/camera.onvif.markdown +++ b/source/_components/camera.onvif.markdown @@ -24,15 +24,38 @@ camera: host: 192.168.1.111 ``` -Configuration variables: - -- **host** (*Required*): An IP or hostname of the camera. -- **name** (*Optional*): Override the name of your camera. -- **username** (*Optional*): The username for the camera. -- **password** (*Optional*): The password for the camera. -- **port** (*Optional*): The port for the camera. This defaults to 5000. -- **profile** (*Optional*): Video profile that will be used to obtain the stream. This defaults to 0. More details below. -- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg). +{% configuration %} +host: + description: An IP or hostname of the camera. + required: true + type: string +name: + description: Override the name of your camera. + required: false + type: string +username: + description: The username for the camera. + required: false + type: string +password: + description: The password for the camera. + required: false + type: string +port: + description: The port for the camera. + required: false + default: 5000 + type: integer +profile: + description: Video profile that will be used to obtain the stream, more details below. + required: false + default: 0 + type: integer +extra_arguments: + description: "Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg)." + required: false + type: string +{% endconfiguration %} Most of the Onvif cameras support more than one audio/video Profile. Each profile provides different image quality. Usually, the first profile has the highest quality, and it is the profile used by default. However, you may want to use a lower quality image. One of the reasons may be that your hardware isn't able to render the highest quality image in real-time - especially when running on Raspberry Pi. Therefore you can choose which profile do you want to use by setting in config `profile` variable. From 6a86c63258b53b68e81e69c8c63c3c9cc06b818f Mon Sep 17 00:00:00 2001 From: Adam <22942687+SilvrrGIT@users.noreply.github.com> Date: Tue, 9 Oct 2018 13:23:26 -0500 Subject: [PATCH 071/217] Cleanup of Cookbook examples (#6645) * Remove File A dated example file that contains some bad yaml practices, (Sensor1, Sensor 2, etc). The meteobridge and media_player: cast platforms are outdated. * Remove Has not been updated in two years. * Remove File A very minimal installation that hasn't been updated in 8 months. * Remove Returns a 404 not found. * Update to direct link. Host goes to a bare bones repository. Update link to current bitbucket repository. * Remove Not updated in over a year. * Remove Not updated in over a year. * Remove Not updated in over two years. * Remove Stale, not updated for 8 months. * Remove added repo two years ago, never maintained. * Remove 7 months old and has directions for outdated install method. (all-in-one installer) * Remove Not maintained, last updated was for ha version 0.56.2. --- .../configuration_yaml_by_bah2830.markdown | 12 - .../configuration_yaml_by_danichispa.markdown | 13 - ...onfiguration_yaml_by_greenturtwig.markdown | 13 - ...figuration_yaml_by_happyleavesaoc.markdown | 13 - ...configuration_yaml_by_instagraeme.markdown | 12 - .../configuration_yaml_by_jjmontesl.markdown | 12 - ...configuration_yaml_by_lancehaynie.markdown | 2 +- .../configuration_yaml_by_mertenats.markdown | 12 - .../configuration_yaml_by_oakbrad.markdown | 13 - .../configuration_yaml_by_scottocs11.markdown | 12 - .../configuration_yaml_by_teagan42.markdown | 12 - ...guration_yaml_from_bassclarinetl2.markdown | 460 ------------------ 12 files changed, 1 insertion(+), 585 deletions(-) delete mode 100644 source/_cookbook/configuration_yaml_by_bah2830.markdown delete mode 100644 source/_cookbook/configuration_yaml_by_danichispa.markdown delete mode 100644 source/_cookbook/configuration_yaml_by_greenturtwig.markdown delete mode 100644 source/_cookbook/configuration_yaml_by_happyleavesaoc.markdown delete mode 100644 source/_cookbook/configuration_yaml_by_instagraeme.markdown delete mode 100644 source/_cookbook/configuration_yaml_by_jjmontesl.markdown delete mode 100644 source/_cookbook/configuration_yaml_by_mertenats.markdown delete mode 100644 source/_cookbook/configuration_yaml_by_oakbrad.markdown delete mode 100644 source/_cookbook/configuration_yaml_by_scottocs11.markdown delete mode 100644 source/_cookbook/configuration_yaml_by_teagan42.markdown delete mode 100644 source/_cookbook/configuration_yaml_from_bassclarinetl2.markdown diff --git a/source/_cookbook/configuration_yaml_by_bah2830.markdown b/source/_cookbook/configuration_yaml_by_bah2830.markdown deleted file mode 100644 index 1831f4a17f9..00000000000 --- a/source/_cookbook/configuration_yaml_by_bah2830.markdown +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by bah2830" -description: "" -date: 2016-07-14 20:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml -ha_external_link: https://github.com/bah2830/Home-Assistant-Configs ---- diff --git a/source/_cookbook/configuration_yaml_by_danichispa.markdown b/source/_cookbook/configuration_yaml_by_danichispa.markdown deleted file mode 100644 index df100486363..00000000000 --- a/source/_cookbook/configuration_yaml_by_danichispa.markdown +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by Danichispa" -description: "" -date: 2016-02-20 02:19 -0800 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml -ha_external_link: https://github.com/danichispa/hass ---- - diff --git a/source/_cookbook/configuration_yaml_by_greenturtwig.markdown b/source/_cookbook/configuration_yaml_by_greenturtwig.markdown deleted file mode 100644 index a5bc7c5b184..00000000000 --- a/source/_cookbook/configuration_yaml_by_greenturtwig.markdown +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by GreenTurtwig" -description: "" -date: 2016-02-13 13:51 +0700 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml -ha_external_link: https://github.com/GreenTurtwig/personal-home-automation/blob/master/configuration.yaml ---- - diff --git a/source/_cookbook/configuration_yaml_by_happyleavesaoc.markdown b/source/_cookbook/configuration_yaml_by_happyleavesaoc.markdown deleted file mode 100644 index 33fc4f05040..00000000000 --- a/source/_cookbook/configuration_yaml_by_happyleavesaoc.markdown +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by happyleavesaoc" -description: "" -date: 2016-02-07 11:45 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml -ha_external_link: https://github.com/happyleavesaoc/my-home-automation/tree/master/homeassistant ---- - diff --git a/source/_cookbook/configuration_yaml_by_instagraeme.markdown b/source/_cookbook/configuration_yaml_by_instagraeme.markdown deleted file mode 100644 index d6ddee0fa44..00000000000 --- a/source/_cookbook/configuration_yaml_by_instagraeme.markdown +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by InstaGraeme" -description: "" -date: 2016-09-08 21:30 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml -ha_external_link: https://github.com/Instagraeme/Home-Assistant-Configuration ---- diff --git a/source/_cookbook/configuration_yaml_by_jjmontesl.markdown b/source/_cookbook/configuration_yaml_by_jjmontesl.markdown deleted file mode 100644 index 742d618f912..00000000000 --- a/source/_cookbook/configuration_yaml_by_jjmontesl.markdown +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by jjmontesl" -description: "" -date: 2017-02-22 23:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml -ha_external_link: https://github.com/jjmontesl/home-assistant-config ---- diff --git a/source/_cookbook/configuration_yaml_by_lancehaynie.markdown b/source/_cookbook/configuration_yaml_by_lancehaynie.markdown index 892714d1400..d4c6d0e0598 100644 --- a/source/_cookbook/configuration_yaml_by_lancehaynie.markdown +++ b/source/_cookbook/configuration_yaml_by_lancehaynie.markdown @@ -8,5 +8,5 @@ comments: false sharing: true footer: true ha_category: Example configuration.yaml -ha_external_link: https://github.com/Haynie-Research-and-Development/jarvis +ha_external_link: https://git.haynienetworks.com/projects/HRDPUBLIC/repos/jarvis/browse --- diff --git a/source/_cookbook/configuration_yaml_by_mertenats.markdown b/source/_cookbook/configuration_yaml_by_mertenats.markdown deleted file mode 100644 index 47b1bbb38eb..00000000000 --- a/source/_cookbook/configuration_yaml_by_mertenats.markdown +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by mertenats" -description: "" -date: 2016-10-08 19:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml -ha_external_link: https://github.com/mertenats/open-home-automation/tree/master/openhome ---- diff --git a/source/_cookbook/configuration_yaml_by_oakbrad.markdown b/source/_cookbook/configuration_yaml_by_oakbrad.markdown deleted file mode 100644 index c4991394418..00000000000 --- a/source/_cookbook/configuration_yaml_by_oakbrad.markdown +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by oakbrad" -description: "" -date: 2016-03-14 11:45 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml -ha_external_link: https://github.com/oakbrad/brad-homeassistant-config ---- - diff --git a/source/_cookbook/configuration_yaml_by_scottocs11.markdown b/source/_cookbook/configuration_yaml_by_scottocs11.markdown deleted file mode 100644 index a9b4637975e..00000000000 --- a/source/_cookbook/configuration_yaml_by_scottocs11.markdown +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by Scottoc11" -description: "" -date: 2017-02-23 16:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml -ha_external_link: https://github.com/scottocs11/Home-Assistant-Config ---- \ No newline at end of file diff --git a/source/_cookbook/configuration_yaml_by_teagan42.markdown b/source/_cookbook/configuration_yaml_by_teagan42.markdown deleted file mode 100644 index 1440f63f1c3..00000000000 --- a/source/_cookbook/configuration_yaml_by_teagan42.markdown +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by Teagan42" -description: "" -date: 2016-08-24 23:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml -ha_external_link: https://github.com/Teagan42/HomeAssistantConfig ---- diff --git a/source/_cookbook/configuration_yaml_from_bassclarinetl2.markdown b/source/_cookbook/configuration_yaml_from_bassclarinetl2.markdown deleted file mode 100644 index 0f418577c35..00000000000 --- a/source/_cookbook/configuration_yaml_from_bassclarinetl2.markdown +++ /dev/null @@ -1,460 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by bassclarinetl2" -description: "" -date: 2016-03-24 17:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml ---- - -```yaml -homeassistant: - # Name of the location where Home Assistant is running - name: example.com - # Location required to calculate the time the sun rises and sets - latitude: 37 - longitude: -121 - # 'metric' for Metric, 'imperial' for Imperial - unit_system: imperial - # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones - time_zone: America/Los_Angeles - customize: - switch.aeon_labs_smart_energy_switch_switch_2: - friendly_name: Mac Switch-Meter - switch.leviton_unknown_type1a02_id0334_switch_3: - friendly_name: W Nightstand - entity_picture: /local/zwvapl.jpg - switch.hub_switch: - friendly_name: Wink Hub Switch - entity_picture: /local/wemoswitch.jpg - switch.leviton_unknown_type1a02_id0334_switch_4: - friendly_name: Christmas Tree - entity_picture: /local/zwvapl.jpg - switch.leviton_unknown_type1a02_id0334_switch_5: - friendly_name: Roof Lights - entity_picture: /local/zwvapl.jpg - - light.w_bedroom_ceiling_: - friendly_name: Will's Bedroom Ceiling Lights (Wink) - entity_picture: /local/casetta.jpg - light.living_room_wall_: - friendly_name: Living Room Couch Lights (Wink) - entity_picture: /local/casetta.jpg - - media_player.my_shield_android_tv: - friendly_name: Dalek (Cast) - entity_picture: /local/shieldtv.jpg - media_player.chromecast: - friendly_name: Jeff chromecast - entity_picture: /local/chromecast.jpg - media_player.kodi: - friendly_name: Tardis-Win7 (Kodi) - entity_picture: /local/kodi.png - media_player.kodi_2: - friendly_name: Dalek (Kodi) - media_player.roku_2_xd__12a18n045363: - friendly_name: Parents Roku - entity_picture: /local/roku2xd.jpg - - sensor.aeon_labs_smart_energy_switch_power_2: - friendly_name: Mac Usage (W) - sensor.aeon_labs_smart_energy_switch_previous_reading_2: - friendly_name: Mac Usage Previous (W) - hidden: true - sensor.aeon_labs_smart_energy_switch_energy_2: - friendly_name: Mac Usage (kWh) - hidden: true - -##################### -## GROUPS -##################### -group: - w_bedroom: - - switch.leviton_unknown_type1a02_id0334_switch_3 - - light.w_bedroom_ceiling_ - christmas: - - switch.leviton_unknown_type1a02_id0334_switch_4 - - switch.leviton_unknown_type1a02_id0334_switch_5 - almanac: - - sensor.date - - sensor.time - - sensor.time_utc - - sun.sun - tracker: - - device_tracker.will_wnexus -# OpenWeatherMap: -# - sensor.weather_temperature -# - sensor.weather_humidity -# - sensor.weather_pressure -# - sensor.weather_rain -# - sensor.weather_wind_speed -# - sensor.weather_cloud_coverage -# - sensor.weather_forecast - Meteobridge: - - sensor.outdoor_temp_meteobridge - - sensor.outdoor_humidity_meteobridge - - sensor.outdoor_dewpoint_meteobridge - - sensor.precip_rate_meteobridge - - sensor.wind_direction_meteobridge - - sensor.wind_gust_meteohub - - sensor.wind_chill_meteobridge - - sensor.wind_speed_meteobridge - - sensor.indoor_dewpoint_meteobridge - - sensor.indoor_humidity_meteobridge - - sensor.indoor_temp_meteobridge - - sensor.precip_change_meteobridge - - sensor.precip_total_meteobridge - - sensor.sea_level_pressure_meteobridge - - sensor.barometric_pressure_meteobridge - -#################### -## ZONES -#################### -zone: - name: Home - latitude: 37 - longitude: -121 - radius: 200 - icon: mdi:home - -zone 2: - name: Barracuda_(SJ) - latitude: 37 - longitude: -121 - radius: 100 - -zone 3: - name: SFC - latitude: 37 - longitude: -122 - radius: 95 - -#################### -## NOTIFICATIONS -#################### - - -#################### -## AUTOMATION -#################### -automation: -#- alias: 'W_at_work' -# trigger: -# - platform: zone -# entity_id: device_tracker.will_wnexus -# zone: zone.barracuda_sj -# event: enter -# - platform: time -# at: '07:15' -# before: '09:00' -# action: -# service: ifttt.trigger -# data: {"event":"hassnotification_dadsms", "value1": "Will's at Work"} -- alias: "Update_Update" - trigger: - platform: state - entity_id: updater.updater - action: - service: ifttt.trigger - data: {"event":"hassnotification_willsms","value1":"HASS has an update"} -- alias: 'Christmas Roof ON' - trigger: - platform: sun - event: sunset - offset: '-01:00:00' - action: - service: homeassistant.turn_on - entity_id: switch.leviton_unknown_type1a02_id0334_switch_5 -- alias: 'Christmas Roof OFF' - trigger: - platform: time - hours: 1 - minutes: 0 - seconds: 0 - action: - service: homeassistant.turn_off - entity_id: switch.leviton_unknown_type1a02_id0334_switch_5 -- alias: 'Christmas Tree ON' - trigger: - platform: time - hours: 8 - minutes: 0 - seconds: 0 - action: - service: homeassistant.turn_on - entity_id: switch.leviton_unknown_type1a02_id0334_switch_4 -- alias: 'Christmas Tree (OFF)' - trigger: - platform: time - hours: 23 - minutes: 0 - seconds: 0 - action: - service: homeassistant.turn_off - entity_id: switch.leviton_unknown_type1a02_id0334_switch_4 -#- alias: test notify -# trigger: -# platform: time -# minutes: '/5' #every 5 min -# action: -# service: notify.pushEtta -# data: -# message: 5 Min Test - - -################################# -### COMPONENTS ### -################################# -#discovery: -sun: -#updater: -history: -#conversation: -frontend: -logbook: - -http: - api_password: [password goes here] - server_port: 8123 - ssl_certificate: /etc/letsencrypt/live/example.com/fullchain.pem - ssl_key: /etc/letsencrypt/live/example.com/privkey.pem - -ifttt: - key: [redacted] - -media_player 1: - platform: plex -#media_player 2: -# platform: squeezebox -# host: 192.168.2.80 -# port: 9000 -media_player 3: - platform: cast -media_player 4: - platform: kodi - url: http://192.168.2.129:8080/jsonrpc - user: kodi - password: kodi -media_player 5: - platform: plex -media_player 6: - platform: kodi - url: http://192.168.2.165/jsonrpc -media_player 7: - platform: samsungtv - host: 192.168.2.90 - name: Parents TV - -wink: - access_token: [redacted] - refresh_token: [redacted] - -zwave: - usb_path: /dev/ttyUSB0 - config_path: /usr/local/share/python-openzwave/config - polling_interval: 10000 - -#zigbee: -# device: /dev/ttyUSB1 -# baud: 115200 - -mqtt: - broker: 127.0.0.1 - port: 8883 - username: [redacted] - password: [redacted] - -device_tracker 1: - platform: owntracks - - track_new_devices: yes - interval_seconds: 40 - consider_home: 120 - -device_tracker 2: - platform: nmap_tracker - hosts: 192.168.2.0/24 - home_interval: 3 - -#sensor: -# platform: openweathermap -# api_key: [redacted] -# forecast: 1 -# monitored_conditions: -# - temperature -# - wind_speed -# - humidity -# - pressure -# - clouds -# - rain - -sensor 2: - platform: time_date - display_options: - - 'time' - - 'date' - - 'time_utc' - -### BEGIN METEO SENSORS ### -sensor 3: - platform: tcp - name: Outdoor Temp (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[2]}}{% endraw %}" - unit: C - -sensor 4: - platform: tcp - name: Outdoor Humidity (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[3]}}{% endraw %}" - unit: Percent - -sensor 5: - platform: tcp - name: Outdoor Dewpoint (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[4] }}{% endraw %}" - unit: C - -sensor 6: - platform: tcp - name: Wind Direction (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[7]}}{% endraw %}" - unit: Degrees - -sensor 7: - platform: tcp - name: Wind Gust (Meteohub) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[8]}}{% endraw %}" - unit: m/s - -sensor 8: - platform: tcp - name: Wind Speed (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[9]}}{% endraw %}" - unit: m/s - -sensor 9: - platform: tcp - name: Wind Chill (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[10]}}{% endraw %}" - unit: C - -sensor 10: - platform: tcp - name: Precip Rate (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[13]}}{% endraw %}" - unit: mm/hr - -sensor 11: - platform: tcp - name: Precip Total (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charaset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[14]}}{% endraw %}" - unit: mm - -sensor 12: - platform: tcp - name: Precip Change (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charaset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[15]}}{% endraw %}" - unit: mm - -sensor 13: - platform: tcp - name: Indoor Temp (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charaset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[18]}}{% endraw %}" - unit: C - -sensor 14: - platform: tcp - name: Indoor Humidity (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charaset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[19]}}{% endraw %}" - unit: percent - -sensor 15: - platform: tcp - name: Indoor Dewpoint (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charaset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[20]}}{% endraw %}" - unit: C - -sensor 16: - platform: tcp - name: Barometric Pressure (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charaset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[21]}}{% endraw %}" - unit: mb - -sensor 17: - platform: tcp - name: Sea Level Pressure (Meteobridge) - host: 192.168.2.82 - port: 5556 - timeout: 6 - payload: "Content-type: text/xml; charaset=UTF-8\n\n" - value_template: "{% raw %}{{value.split (' ')[22]}}{% endraw %}" - unit: mb - -sensor 18: - platform: steam_online - api_key: [Redact] - accounts: - - 76561198012067051 - -switch: - platform: wemo -``` From c31aba7408c2aaf6f94d16b2c99e56009a215950 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 9 Oct 2018 21:08:22 +0200 Subject: [PATCH 072/217] Update controllers.markdown --- source/_docs/z-wave/controllers.markdown | 28 ++++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown index ad4a38c723a..63b6a36fa23 100644 --- a/source/_docs/z-wave/controllers.markdown +++ b/source/_docs/z-wave/controllers.markdown @@ -13,20 +13,20 @@ footer: true You need to have a [supported Z-Wave USB stick or module](https://github.com/OpenZWave/open-zwave/wiki/Controller-Compatibility-List) installed. -| Device | Works on Linux | Works on Windows | Works on OSX | -|-------------------------|----------------|------------------|--------------| -| Aeotec Z-Stick | ✓ | | | -| Aeotec Z-Stick Series 2 | ✓ | | | -| Aeotec Z-Stick Series 5 | ✓ | ✓ | ✓ | -| Pine64 Z-Wave Module | ✓ | | | -| Razberry GPIO Module | ✓ | | | -| Seluxit ViaSens 100 | | | | -| Sigma Designs UZB Stick | | | | -| Tricklestar | | | | -| Vision USB Stick | | | | -| Zooz Z-Wave ZST10 | ✓ | | | -| ZWave.me Razberry Board | ✓ | | | -| ZWave.me UZB1 | ✓ | | | +| Device | Works on Linux | Works on Windows | Works on OSX | +|---------------------------|----------------|------------------|--------------| +| Aeotec Z-Stick | ✓ | | | +| Aeotec Z-Stick Series 2 | ✓ | | | +| Aeotec Z-Stick Series 5 | ✓ | ✓ | ✓ | +| Pine64 Z-Wave Module | ✓ | | | +| Razberry GPIO Module | ✓ | | | +| Seluxit ViaSens 100 | | | | +| Sigma Designs UZB Stick | | | | +| Tricklestar | | | | +| Vision USB Stick | | | | +| Zooz Z-Wave Plus S2 ZST10 | ✓ | | | +| ZWave.me Razberry Board | ✓ | | | +| ZWave.me UZB1 | ✓ | | |

If you're using Hass.io or running HASS in a Docker container, it's recommended to use a USB stick, not a module. Passing a module through Docker is more complicated than passing a USB stick through. From c9f9085867ee8510c0b9b9cdbafc90ad1266832d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Wed, 10 Oct 2018 10:09:58 +0300 Subject: [PATCH 073/217] Spelling and grammar fixes (#6650) --- source/_components/bmw_connected_drive.markdown | 2 +- source/_components/camera.logi_circle.markdown | 2 +- source/_components/camera.xiaomi.markdown | 2 +- source/_components/climate.generic_thermostat.markdown | 2 +- source/_components/homematic.markdown | 2 +- source/_components/insteon.markdown | 4 ++-- source/_components/notify.flock.markdown | 2 +- source/_components/notify.telegram.markdown | 4 ++-- source/_components/openuv.markdown | 2 +- source/_components/sensor.iperf3.markdown | 2 +- .../_components/sensor.trafikverket_weatherstation.markdown | 2 +- source/_components/sensor.zestimate.markdown | 2 +- source/_components/wink.markdown | 4 ++-- source/_docs/authentication/multi-factor-auth.markdown | 2 +- source/lovelace/index.markdown | 2 +- 15 files changed, 18 insertions(+), 18 deletions(-) diff --git a/source/_components/bmw_connected_drive.markdown b/source/_components/bmw_connected_drive.markdown index ce7688c9d9d..064d426cbb8 100644 --- a/source/_components/bmw_connected_drive.markdown +++ b/source/_components/bmw_connected_drive.markdown @@ -21,7 +21,7 @@ This component provides the following platforms: - Binary Sensors: Doors, windows, condition based services, check control messages, parking lights, door lock state, charging status (electric cars) and connections status (electric cars). - Device tracker: The location of your car. - Lock: Control the lock of your car. - - Sensors: Mileage, remaining range, remaining fuel, charging time remaing (electric cars), charging status (electric cars), remaing range electric (electric cars). + - Sensors: Mileage, remaining range, remaining fuel, charging time remaining (electric cars), charging status (electric cars), remaining range electric (electric cars). To enable this component in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/camera.logi_circle.markdown b/source/_components/camera.logi_circle.markdown index c92aca35225..beed202eafa 100644 --- a/source/_components/camera.logi_circle.markdown +++ b/source/_components/camera.logi_circle.markdown @@ -64,7 +64,7 @@ The path part of `filename` must be an entry in the `whitelist_external_dirs` in ### {% linkable_title Service `camera.logi_circle_set_config` %} -Sets an configuration property for your camera. +Sets a configuration property for your camera. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | diff --git a/source/_components/camera.xiaomi.markdown b/source/_components/camera.xiaomi.markdown index 14c4f935686..05e213825de 100644 --- a/source/_components/camera.xiaomi.markdown +++ b/source/_components/camera.xiaomi.markdown @@ -36,7 +36,7 @@ Hassbian users: Don't forget to install `ffmpeg` support on your platform, other

-The live stream writing by the camera is not an supported format when the hass reads through FTP for Yi 720p and Xiaofang Cameras, so this platform retrives the video which was saved 1 minute earlier. +The live stream writing by the camera is not a supported format when the hass reads through FTP for Yi 720p and Xiaofang Cameras, so this platform retrives the video which was saved 1 minute earlier.

diff --git a/source/_components/climate.generic_thermostat.markdown b/source/_components/climate.generic_thermostat.markdown index 274ac0377f9..89d09a5981e 100644 --- a/source/_components/climate.generic_thermostat.markdown +++ b/source/_components/climate.generic_thermostat.markdown @@ -34,7 +34,7 @@ Configuration variables: - **max_temp** (*Optional*): Set maximum set point available (default: 35) - **target_temp** (*Optional*): Set initial target temperature. Failure to set this variable will result in target temperature being set to null on startup. As of version 0.59, it will retain the target temperature set before restart if available. - **ac_mode** (*Optional*): Set the switch specified in the *heater* option to be treated as a cooling device instead of a heating device. -- **min_cycle_duration** (*Optional*): Set a minimum amount of time that the switch specified in the *heater* option must be in it's current state prior to being switched either off or on. +- **min_cycle_duration** (*Optional*): Set a minimum amount of time that the switch specified in the *heater* option must be in its current state prior to being switched either off or on. - **cold_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched on. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will start when the sensor equals or goes below 24.5. - **hot_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched off. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will stop when the sensor equals or goes above 25.5. - **keep_alive** (*Optional*): Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. Use also with switches that might lose state. The keep-alive call is done with the current valid climate component state (either on or off). diff --git a/source/_components/homematic.markdown b/source/_components/homematic.markdown index 39dbc0c4d8e..64783bc44e2 100644 --- a/source/_components/homematic.markdown +++ b/source/_components/homematic.markdown @@ -309,7 +309,7 @@ When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant wi service: homematic.reconnect ``` -- If you have a CCU you can also create a system variable on the CCU, which stores it's last reboot time. Since Home Assistant can still refresh system variables from the CCU (even after a reboot), this is a pretty reliable way to detect situations where you need to call *homematic.reconnect*. This is how this can be done: +- If you have a CCU you can also create a system variable on the CCU, which stores its last reboot time. Since Home Assistant can still refresh system variables from the CCU (even after a reboot), this is a pretty reliable way to detect situations where you need to call *homematic.reconnect*. This is how this can be done: 1. Create a string variable **V_Last_Reboot** on the CCU diff --git a/source/_components/insteon.markdown b/source/_components/insteon.markdown index 403d8da6bd2..d52e115b918 100644 --- a/source/_components/insteon.markdown +++ b/source/_components/insteon.markdown @@ -61,11 +61,11 @@ insteon: hub_version: 1 ``` -Addtional configuration items are available: +Additional configuration items are available: ```yaml insteon: - + device_override: - address: ADDRESS cat: CATEGORY diff --git a/source/_components/notify.flock.markdown b/source/_components/notify.flock.markdown index d164e2151ce..f0612e929ca 100644 --- a/source/_components/notify.flock.markdown +++ b/source/_components/notify.flock.markdown @@ -17,7 +17,7 @@ The `flock` platform uses [Flock.com](https://flock.com) to deliver notification ## {% linkable_title Setup %} -Go to the [Flock.com Admin website](https://admin.flock.com/#!/webhooks) and create a new "Incoming Webhooks". Choose a channel to send the notifications from Home Assistant to, specifiy a name and press *Save and Generate URL*. +Go to the [Flock.com Admin website](https://admin.flock.com/#!/webhooks) and create a new "Incoming Webhooks". Choose a channel to send the notifications from Home Assistant to, specify a name and press *Save and Generate URL*.

diff --git a/source/_components/notify.telegram.markdown b/source/_components/notify.telegram.markdown index 42acb5bd290..934965200ee 100644 --- a/source/_components/notify.telegram.markdown +++ b/source/_components/notify.telegram.markdown @@ -277,11 +277,11 @@ action: {% configuration %} url: - description: A remote path to an document. Either this or the `file` configuration option is required. + description: A remote path to a document. Either this or the `file` configuration option is required. required: true type: string file: - description: A local path to an document. Either this or the `url` configuration option is required. + description: A local path to a document. Either this or the `url` configuration option is required. required: true type: string caption: diff --git a/source/_components/openuv.markdown b/source/_components/openuv.markdown index 390249c7d30..cc66c3df92a 100644 --- a/source/_components/openuv.markdown +++ b/source/_components/openuv.markdown @@ -114,5 +114,5 @@ These sensors display the approximate number of minutes a particular skin type c * Skin Type VI

-The above guidelines constitude estimates and are intended to help informed decision making. They should not replace analysis, advice, or diagnosis from a trained medical professional. +The above guidelines constitute estimates and are intended to help informed decision making. They should not replace analysis, advice, or diagnosis from a trained medical professional.

diff --git a/source/_components/sensor.iperf3.markdown b/source/_components/sensor.iperf3.markdown index 068a9b879ad..44c5e7f3696 100644 --- a/source/_components/sensor.iperf3.markdown +++ b/source/_components/sensor.iperf3.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Iperf3 Sensor" -description: "How to use Iperf3 within Home Assistant to measure your network bandwith." +description: "How to use Iperf3 within Home Assistant to measure your network bandwidth." date: 2018-05-01 02:00 sidebar: true comments: false diff --git a/source/_components/sensor.trafikverket_weatherstation.markdown b/source/_components/sensor.trafikverket_weatherstation.markdown index d6635769511..2b55ff6d2a6 100644 --- a/source/_components/sensor.trafikverket_weatherstation.markdown +++ b/source/_components/sensor.trafikverket_weatherstation.markdown @@ -55,7 +55,7 @@ station: required: true type: string monitored_conditions: - description: Specify what measurement data to retreive from the weather station. + description: Specify what measurement data to retrieve from the weather station. required: true type: map keys: diff --git a/source/_components/sensor.zestimate.markdown b/source/_components/sensor.zestimate.markdown index ca9547e4040..1d24b3f0dfd 100644 --- a/source/_components/sensor.zestimate.markdown +++ b/source/_components/sensor.zestimate.markdown @@ -19,7 +19,7 @@ The `zestimate` sensor allows one to track the Zestimate value of properties usi You will need to sign up for the Zillow API at the following link [Zillow API](https://www.zillow.com/howto/api/APIOverview.htm). You will also need the Zillow property ID for each property you'd like to track. This information is available from the URL of a property you are interested in. -For example, the White House zpid is 84074482 and can be found in it's Zillow URL: [https://www.zillow.com/homedetails/1600-Pennsylvania-Ave-NW-Washington-DC-20006/84074482_zpid/](https://www.zillow.com/homedetails/1600-Pennsylvania-Ave-NW-Washington-DC-20006/84074482_zpid/) +For example, the White House zpid is 84074482 and can be found in its Zillow URL: [https://www.zillow.com/homedetails/1600-Pennsylvania-Ave-NW-Washington-DC-20006/84074482_zpid/](https://www.zillow.com/homedetails/1600-Pennsylvania-Ave-NW-Washington-DC-20006/84074482_zpid/) To enable this sensor, add the following lines to your `configuration.yaml`. diff --git a/source/_components/wink.markdown b/source/_components/wink.markdown index 0d97c91d465..c849971fc26 100644 --- a/source/_components/wink.markdown +++ b/source/_components/wink.markdown @@ -141,7 +141,7 @@ The Wink hub, by default, can only be accessed via the cloud. This means it requ - GoControl siren and strobe - Dome siren/chime/strobe -- Quirky Nimbus (Legacy device) These can no longer be officialy added to your Wink account +- Quirky Nimbus (Legacy device) These can no longer be officially added to your Wink account ### {% linkable_title Service `set_siren_auto_shutoff` %} @@ -290,7 +290,7 @@ script: ### {% linkable_title Service `set_nimbus_dial_state` %} -You can use the service wink/set_nimbus_dial_state to update an individual dial's value/position and it's labels +You can use the service wink/set_nimbus_dial_state to update an individual dial's value/position and its labels | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | diff --git a/source/_docs/authentication/multi-factor-auth.markdown b/source/_docs/authentication/multi-factor-auth.markdown index 3ba8d508066..3f09b878487 100644 --- a/source/_docs/authentication/multi-factor-auth.markdown +++ b/source/_docs/authentication/multi-factor-auth.markdown @@ -66,7 +66,7 @@ Notify MFA module using [notify component](https://www.home-assistant.io/compone User need first set up the MFA module by select one of the available notify service. A 6 digit one-time password will be sent by this notify service, user need to input it to verify the setup. -During the login process, an 6 digit one-time password will be sent again, user need to input it to verify his/her identity. If the validation failed, a new one-time password will be sent again. +During the login process, a 6 digit one-time password will be sent again, user need to input it to verify his/her identity. If the validation failed, a new one-time password will be sent again.

Notify MFA module would not verify the one-time password delivery success, so that if user cannot received the message due any reason, he/she may not be login again. Edit or remove `[your_config_dir]/.storage/auth_module.notify` can disable notify MFA module to resolve the issue. diff --git a/source/lovelace/index.markdown b/source/lovelace/index.markdown index 848cfeef188..936b98fbe92 100644 --- a/source/lovelace/index.markdown +++ b/source/lovelace/index.markdown @@ -136,7 +136,7 @@ This is probably because your version of Firefox doesn't have custom components ### {% linkable_title Custom cards don't load on my iOS device? %} -Home Assistant comes with two versions of the frontend. A compatability mode for older devices and a modern mode. The custom cards need to target one mode and usually choose the modern mode. Before Home Assistant 0.76, we had an issue in the automation and script editor that prevented modern iOS and Mac devices running Safari from using the modern mode. +Home Assistant comes with two versions of the frontend. A compatibility mode for older devices and a modern mode. The custom cards need to target one mode and usually choose the modern mode. Before Home Assistant 0.76, we had an issue in the automation and script editor that prevented modern iOS and Mac devices running Safari from using the modern mode. If you can, resolve this issue by upgrading to Home Assistant 0.76 or later. If you are on an older version and don't mind that the automation and script editor don't work on iOS devices, you can force the new version via the configuration: From 9a1b0d4a3c22a67e346710bbbe9b95c2db0649bc Mon Sep 17 00:00:00 2001 From: DubhAd Date: Wed, 10 Oct 2018 08:17:30 +0100 Subject: [PATCH 074/217] Clarity update (#6656) The _user_ docs imply that setting the device class sets the unit of measurement. This clearly isn't the case, so doing a set of clarity edits. --- source/_components/sensor.template.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.template.markdown b/source/_components/sensor.template.markdown index c2942d023a0..eb5a34a6acb 100644 --- a/source/_components/sensor.template.markdown +++ b/source/_components/sensor.template.markdown @@ -58,6 +58,7 @@ sensor: description: "Defines the units of measurement of the sensor, if any. This will also influence the graphical presentation in the history visualisation as continuous value. Sensors with missing `unit_of_measurement` are showing as discrete values." required: false type: string + default: None value_template: description: Defines a template to get the state of the sensor. required: true @@ -71,7 +72,7 @@ sensor: required: false type: template device_class: - description: The type/class of the sensor to set the icon in the frontend. + description: Sets the class of the device, changing the device state and icon that is displayed on the UI (see below). It does not set the `unit_of_measurement`. required: false type: device_class default: None From a7d55dfc31f83500f68c7bd9e990f8570631fff5 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Wed, 10 Oct 2018 08:18:13 +0100 Subject: [PATCH 075/217] Clarity update (#6655) The _user_ docs imply that setting the device class sets the unit of measurement. This clearly isn't the case, so doing a set of clarity edits. --- .../configuration/customizing-devices.markdown | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown index 8de3aa169e0..cb059e9ebd9 100644 --- a/source/_docs/configuration/customizing-devices.markdown +++ b/source/_docs/configuration/customizing-devices.markdown @@ -67,15 +67,17 @@ assumed_state: type: boolean default: True device_class: - description: Sets the class of the device, changing the device state and icon that is displayed on the UI (see below). + description: Sets the class of the device, changing the device state and icon that is displayed on the UI (see below). It does not set the `unit_of_measurement`. required: false - type: boolean -initial_state: - description: Sets the initial state for automations, `on` or `off`. + type: device_class + default: None +unit_of_measurement: + description: Defines the units of measurement, if any. This will also influence the graphical presentation in the history visualisation as continuous value. Sensors with missing `unit_of_measurement` are showing as discrete values. required: false type: string -unit_of_measurement: - description: Defines the units of measurement, if any. + default: None +initial_state: + description: Sets the initial state for automations, `on` or `off`. required: false type: string {% endconfiguration %} From 0ab12a0b072122f4bcfd5fce1e66f472bb74c99d Mon Sep 17 00:00:00 2001 From: Phil Hawthorne Date: Wed, 10 Oct 2018 18:32:40 +1100 Subject: [PATCH 076/217] Slight spelling and fixes for the Dyson component (#6653) Just tidies things up slightly --- source/_components/dyson.markdown | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/source/_components/dyson.markdown b/source/_components/dyson.markdown index adc8af1d33b..84f380e9285 100644 --- a/source/_components/dyson.markdown +++ b/source/_components/dyson.markdown @@ -36,15 +36,19 @@ Configuration variables: - **username** (*Required*): Dyson account username (email address). - **password** (*Required*): Dyson account password. -- **language** (*Required*): Dyson account language country code. Known working codes: `FR`, `NL`, `GB`, `AU`. But others codes should work. +- **language** (*Required*): Dyson account language country code. Known working codes: `FR`, `NL`, `GB`, `AU`. Other codes should be supported. - **devices** (*Optional*): List of devices. - - **device_id** (*Required*): Device ID. The Serial Number of the device. Found in the mobiles applications device settings page. + - **device_id** (*Required*): Device ID. The Serial Number of the device. Found in the smart phone app device settings page. - **device_ip** (*Required*): Device IP address. -`devices` list is optional but you'll have to provide them if discovery is not working (warnings in the logs and the devices are not available in Home Assistant web interface). -*If your are using a robot vacuum (Dyson 360 Eye), discovery is not yet supported so you have to provide `devices` list.* -To find devices IP address, you can use your router or `nmap`: +The `devices` list is optional, but you'll have to provide them if discovery is not working (warnings in the logs and the devices are not available in Home Assistant web interface). + +

+Discovery is not yet supported for any robot vacuum models (Dyson 360 Eye). For these devices, you will need to provide them in the `devices` list. +

+ +To find a devices IP address, you can use your router or `nmap`: ```bash $ nmap -p 1883 XXX.XXX.XXX.XXX/YY -- open From 8d92afe7f685556babf7a3884dacca7395670186 Mon Sep 17 00:00:00 2001 From: Emeric Date: Wed, 10 Oct 2018 09:50:00 +0200 Subject: [PATCH 077/217] Update all device tracker configuration variables (#6635) * Update all device tracker configuration variables * Fix ubus * fix ubus add missing quotes * Fix build * Fix owntracks build * Update after review automatic & netgear --- .../_components/device_tracker.aruba.markdown | 20 +++++--- .../device_tracker.automatic.markdown | 29 ++++++++---- ...vice_tracker.bluetooth_le_tracker.markdown | 16 +++++-- .../device_tracker.bt_home_hub_5.markdown | 11 +++-- .../device_tracker.cisco_ios.markdown | 25 ++++++---- .../_components/device_tracker.ddwrt.markdown | 19 ++++++-- .../_components/device_tracker.fritz.markdown | 20 +++++--- .../device_tracker.geofency.markdown | 11 +++-- .../device_tracker.icloud.markdown | 33 +++++++++---- .../device_tracker.keenetic_ndms2.markdown | 38 ++++++++++----- .../device_tracker.linksys_ap.markdown | 25 +++++++--- .../device_tracker.linksys_smart.markdown | 9 ++-- .../_components/device_tracker.luci.markdown | 28 +++++++---- .../device_tracker.mikrotik.markdown | 25 +++++++--- .../_components/device_tracker.mqtt.markdown | 15 ++++-- .../device_tracker.netgear.markdown | 46 +++++++++++++++---- .../device_tracker.nmap_tracker.markdown | 27 ++++++++--- .../device_tracker.owntracks.markdown | 46 ++++++++++++++----- .../device_tracker.sky_hub.markdown | 11 +++-- .../_components/device_tracker.snmp.markdown | 35 ++++++++++---- .../device_tracker.swisscom.markdown | 10 ++-- .../device_tracker.thomson.markdown | 19 ++++++-- .../device_tracker.tplink.markdown | 22 +++++---- .../_components/device_tracker.ubus.markdown | 25 +++++++--- .../device_tracker.upc_connect.markdown | 11 +++-- 25 files changed, 415 insertions(+), 161 deletions(-) diff --git a/source/_components/device_tracker.aruba.markdown b/source/_components/device_tracker.aruba.markdown index e84c37954b0..5ccea64ab67 100644 --- a/source/_components/device_tracker.aruba.markdown +++ b/source/_components/device_tracker.aruba.markdown @@ -34,11 +34,19 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`. -- **username** (*Required*): The username of an user with administrative privileges, usually `admin`. -- **password** (*Required*): The password for your given admin account. +{% configuration %} +host: + description: The IP address of your router, e.g., `192.168.1.1`. + required: true + type: string +username: + description: The username of an user with administrative privileges, usually `admin`. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. - diff --git a/source/_components/device_tracker.automatic.markdown b/source/_components/device_tracker.automatic.markdown index c109862af84..e4d8880f57e 100644 --- a/source/_components/device_tracker.automatic.markdown +++ b/source/_components/device_tracker.automatic.markdown @@ -37,20 +37,32 @@ device_tracker: - 2004 Subaru Impreza ``` -Configuration variables: - -- **client_id** (*Required*): The OAuth client id (get from https://developer.automatic.com/). -- **secret** (*Required*): The OAuth client secret (get from https://developer.automatic.com/). -- **current_location** (*Optional*): Set to `true` if you have requested `scope:current_location` for your account. Home Assistant will then be able to receive periodic location updates during trips. -- **devices** (*Optional*): The list of vehicle display names you wish to track. If not provided, all vehicles will be tracked. +{% configuration %} +client_id: + description: "The OAuth client id (get from https://developer.automatic.com/)." + required: true + type: string +secret: + description: "The OAuth client secret (get from https://developer.automatic.com/)." + required: true + type: string +current_location: + description: "Set to `true` if you have requested `scope:current_location` for your account. Home Assistant will then be able to receive periodic location updates during trips." + required: false + default: false + type: boolean +devices: + description: The list of vehicle display names you wish to track. If not provided, all vehicles will be tracked. + required: false + type: list +{% endconfiguration %} Home Assistant will also fire events when an update is received from Automatic. These can be used to trigger automations, as shown in the example below. A list of available event types can be found in the [Automatic Real-Time Events documentation](https://developer.automatic.com/api-reference/#real-time-events). - ```yaml # Example automatic event automation automation: - - trigger: + - trigger: - platform: event event_type: automatic_update event_data: @@ -60,6 +72,7 @@ automation: action: - service: light.turn_off ``` +

You can obtain the correct ID for your vehicle from your known_devices.yaml file. Be sure to lower-case any letters contained in your vehicle's ID when using it in an automation trigger.

diff --git a/source/_components/device_tracker.bluetooth_le_tracker.markdown b/source/_components/device_tracker.bluetooth_le_tracker.markdown index 83c21c615b7..421a6e0708b 100644 --- a/source/_components/device_tracker.bluetooth_le_tracker.markdown +++ b/source/_components/device_tracker.bluetooth_le_tracker.markdown @@ -36,10 +36,18 @@ device_tracker: - platform: bluetooth_le_tracker ``` -Configuration variables: - -- **track_new_devices** (*Optional*): If new discovered devices are tracked by default. Defaults to `True`. -- **interval_seconds** (*Optional*): Seconds between each scan for new devices. Defaults to `12` seconds. +{% configuration %} +track_new_devices: + description: If new discovered devices are tracked by default. + required: false + default: true + type: boolean +interval_seconds: + description: Seconds between each scan for new devices. + required: false + default: 12 + type: integer +{% endconfiguration %} As some BT LE devices change their MAC address regularly, a new device is only discovered when it has been seen 5 times. Some BTLE devices (e.g., fitness trackers) are only visible to the devices that they are paired with. In this case, the BTLE tracker won't see this device. diff --git a/source/_components/device_tracker.bt_home_hub_5.markdown b/source/_components/device_tracker.bt_home_hub_5.markdown index ce8890a0ed7..22c67170fab 100644 --- a/source/_components/device_tracker.bt_home_hub_5.markdown +++ b/source/_components/device_tracker.bt_home_hub_5.markdown @@ -11,7 +11,6 @@ logo: bt.png ha_category: Presence Detection --- - This platform offers presence detection by looking at connected devices to a [BT Home Hub 5](https://en.wikipedia.org/wiki/BT_Home_Hub) based router. To use a BT Home Hub 5 router in your installation, add the following to your `configuration.yaml` file: @@ -23,8 +22,12 @@ device_tracker: host: 192.168.1.254 ``` -Configuration variables: - -- **host** (*Optional*): The IP address of your router, Default: 192.168.1.254. +{% configuration %} +host: + description: The IP address of your router. + required: false + default: 192.168.1.254 + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.cisco_ios.markdown b/source/_components/device_tracker.cisco_ios.markdown index 589241b8eb6..ef48b6abac6 100644 --- a/source/_components/device_tracker.cisco_ios.markdown +++ b/source/_components/device_tracker.cisco_ios.markdown @@ -18,7 +18,7 @@ This is a presence detection scanner for [Cisco](http://www.cisco.com) IOS devic This device tracker needs SSH to be enabled on the router.

-Before using this scanner it is recommended that you lower the ARP cache timeout on your router, as Cisco IOS normally comes with a 4 hour default ARP cache timeout. +Before using this scanner it is recommended that you lower the ARP cache timeout on your router, as Cisco IOS normally comes with a 4 hour default ARP cache timeout. For example, the following commands will lower the timeout to 2 minutes on Vlan1: @@ -43,7 +43,7 @@ copy running-config startup-config ```

-If you have a very large number of devices on your VLan (+1000), then you may want to adjust the ARP cache timeout to suit your needs. See [this discussion](https://supportforums.cisco.com/discussion/10169296/arp-timeout) to learn more. +If you have a very large number of devices on your VLan (+1000), then you may want to adjust the ARP cache timeout to suit your needs. See [this discussion](https://supportforums.cisco.com/discussion/10169296/arp-timeout) to learn more.

To use this device tracker in your installation, add the following to your `configuration.yaml` file: @@ -57,12 +57,19 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1. -- **username** (*Required*): The username of an user with administrative privileges. -- **password** (*Required*): The password for your given admin account. - +{% configuration %} +host: + description: The IP address of your router, e.g., 192.168.1.1. + required: true + type: string +username: + description: The username of an user with administrative privileges. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. - diff --git a/source/_components/device_tracker.ddwrt.markdown b/source/_components/device_tracker.ddwrt.markdown index 826046d029f..01e1c68ce5e 100644 --- a/source/_components/device_tracker.ddwrt.markdown +++ b/source/_components/device_tracker.ddwrt.markdown @@ -25,11 +25,20 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`. -- **username** (*Required*: The username of an user with administrative privileges, usually `admin`. -- **password** (*Required*): The password for your given admin account. +{% configuration %} +host: + description: The IP address of your router, e.g., `192.168.1.1`. + required: true + type: string +username: + description: The username of an user with administrative privileges, usually `admin`. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +{% endconfiguration %} By default Home Assistant pulls information about connected devices from DD-WRT every 5 seconds. See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.fritz.markdown b/source/_components/device_tracker.fritz.markdown index ed813ae1c37..07d2eee540f 100644 --- a/source/_components/device_tracker.fritz.markdown +++ b/source/_components/device_tracker.fritz.markdown @@ -31,15 +31,23 @@ device_tracker: - platform: fritz ``` -Configuration variables: - -- **host** (*Optional*): The IP address of your router, eg. `192.168.1.1`. It is optional since every fritzbox is also reachable by using the IP address 169.254.1.1. -- **username** (*Optional*: The username of an user with administrative privileges, usually `admin`. -- **password** (*Optional*): The password for your given admin account. +{% configuration %} +host: + description: The IP address of your router, e.g., `192.168.1.1`. It is optional since every fritzbox is also reachable by using the IP address 169.254.1.1. + required: false + type: string +username: + description: The username of an user with administrative privileges, usually `admin`. + required: false + type: string +password: + description: The password for your given admin account. + required: false + type: string +{% endconfiguration %}

It seems that it is not necessary to use it in current generation Fritz!Box routers because the necessary data can be retrieved anonymously.

See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. - diff --git a/source/_components/device_tracker.geofency.markdown b/source/_components/device_tracker.geofency.markdown index be09d277a1b..e6f68b9efa8 100644 --- a/source/_components/device_tracker.geofency.markdown +++ b/source/_components/device_tracker.geofency.markdown @@ -22,9 +22,12 @@ device_tracker: - platform: geofency ``` -Configuration variables: - -- **mobile_beacons** (*Optional*): List of beacon names that are to be treated as *mobile*. The name must match the name you configure in Geofency. By default, beacons will be treated as *stationary*. +{% configuration %} +mobile_beacons: + description: List of beacon names that are to be treated as *mobile*. The name must match the name you configure in Geofency. By default, beacons will be treated as *stationary*. + required: false + type: list +{% endconfiguration %} A full sample configuration for the `geofency` platform is shown below: @@ -43,4 +46,4 @@ Geofency will automatically generate the device tracker name used for geofences, When you enter a geofence or stationary beacon, your location name in Home Assistant will be set to the name of the geofence or beacon location in Geofency. When you exit a geofence or stationary beacon, your location name in Home Assistant will be set to 'not home'. For mobile beacons, the location name will be 'not_home' whenever the beacon is entered or exited outside of a [zone](/components/zone/), otherwise, it will be set to the name of the zone. -To make Geofency work better with the [proximity](/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited. \ No newline at end of file +To make Geofency work better with the [proximity](/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited. diff --git a/source/_components/device_tracker.icloud.markdown b/source/_components/device_tracker.icloud.markdown index 46e19702c36..6867eaae007 100644 --- a/source/_components/device_tracker.icloud.markdown +++ b/source/_components/device_tracker.icloud.markdown @@ -13,7 +13,7 @@ ha_release: "0.10" --- -The `icloud` platform allows you to detect presence using the [iCloud](https://www.icloud.com/) service. iCloud allows users to track their location on iOS devices. +The `icloud` platform allows you to detect presence using the [iCloud](https://www.icloud.com/) service. iCloud allows users to track their location on iOS devices. It does require that your device is registered with "Find My iPhone". @@ -28,13 +28,30 @@ device_tracker: account_name: accountname ``` -Configuration variables: - -- **username** (*Required*): The username for the iCloud account. -- **password** (*Required*): The password for your given username. -- **account_name** (*Optional*): The friendly name for the account_name. If this isn't given, it will use the account_name of the username (so the part before the `@` in the email address). -- **max_interval** (*Optional*): Maximum interval in minutes between subsequent location upates. This tracker uses dynamic intervals for requesting location updates. When iphone is stationary, interval will eventually be set to `max_interval` to save battery. When iphone starts moving again interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Default is 30 min. Minimum value is 1 min. -- **gps_accuracy_threshold** (*Optional*): iCloud location updates come with some gps_accuracy varying from 10 to 5000 meters. This setting defines the accuracy threshold in meters for a location update. Less accurate updates will be discarded by this tracker. This allows more precise location monitoring and fewer false positive zone changes. Default is 1000 meters. +{% configuration %} +username: + description: The username for the iCloud account. + required: true + type: string +password: + description: The password for your given username. + required: true + type: string +account_name: + description: The friendly name for the account_name. If this isn't given, it will use the account_name of the username (so the part before the `@` in the email address). + required: false + type: string +max_interval: + description: Maximum interval in minutes between subsequent location upates. This tracker uses dynamic intervals for requesting location updates. When iphone is stationary, interval will eventually be set to `max_interval` to save battery. When iphone starts moving again interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Minimum value is 1 min. + required: false + default: 30 + type: integer +gps_accuracy_threshold: + description: iCloud location updates come with some gps_accuracy varying from 10 to 5000 meters. This setting defines the accuracy threshold in meters for a location update. Less accurate updates will be discarded by this tracker. This allows more precise location monitoring and fewer false positive zone changes. + required: false + default: 1000 + type: integer +{% endconfiguration %}

Low `max_interval` may cause battery drainage as it wakes up your device to get the current location. diff --git a/source/_components/device_tracker.keenetic_ndms2.markdown b/source/_components/device_tracker.keenetic_ndms2.markdown index d2d9fc506be..01e8b8b96bb 100644 --- a/source/_components/device_tracker.keenetic_ndms2.markdown +++ b/source/_components/device_tracker.keenetic_ndms2.markdown @@ -21,18 +21,34 @@ To use a Keenetic router in your installation, add the following to your `config # Example configuration.yaml entry device_tracker: - platform: keenetic_ndms2 - host: !secret router_ip - username: !secret router_username - password: !secret router_password + host: YOUR_HOST + username: YOUR_USERNAME + password: YOUR_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1. -- **port** (*Optional*): The Telnet port of your router. Default is 23. -- **username** (*Required*): The username to login into the router (user should have read access to telnet interface of the router). -- **password** (*Required*): The password for the specified username. -- **interface** (*Optional*): Ihe internal name of the interface to get devices connected to. Default is 'Home'. For expert users only. - +{% configuration %} +host: + description: The IP address of your router, e.g., 192.168.1.1. + required: true + type: string +port: + description: The Telnet port of your router. + required: false + default: 23 + type: integer +username: + description: The username to login into the router (user should have read access to telnet interface of the router). + required: true + type: string +password: + description: The password for the specified username. + required: true + type: string +interface: + description: Ihe internal name of the interface to get devices connected to. For expert users only. + required: false + default: Home + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.linksys_ap.markdown b/source/_components/device_tracker.linksys_ap.markdown index 70cc3e17a14..1204e61f77a 100644 --- a/source/_components/device_tracker.linksys_ap.markdown +++ b/source/_components/device_tracker.linksys_ap.markdown @@ -29,12 +29,25 @@ device_tracker: password: YOUR_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The hostname or IP address of your access point, eg. `192.168.1.1`. -- **username** (*Required*): The username of an user with administrative privileges (read-only is sufficient). -- **password** (*Required*): The password for your given admin account. -- **verify_ssl** (*Optional*): Verify SSL certificate for HTTPS request. Defaults to true. +{% configuration %} +host: + description: The hostname or IP address of your access point, e.g., `192.168.1.1`. + required: true + type: string +username: + description: The username of an user with administrative privileges (read-only is sufficient). + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +verify_ssl: + description: Verify SSL certificate for HTTPS request. + required: false + default: true + type: boolean +{% endconfiguration %} ## {% linkable_title Example %} diff --git a/source/_components/device_tracker.linksys_smart.markdown b/source/_components/device_tracker.linksys_smart.markdown index 0cc22363fd9..601771a86bd 100644 --- a/source/_components/device_tracker.linksys_smart.markdown +++ b/source/_components/device_tracker.linksys_smart.markdown @@ -34,8 +34,11 @@ device_tracker: host: 192.168.1.1 ``` -Configuration variables: - -- **host** (*Required*): The hostname or IP address of your router, eg. `192.168.1.1`. +{% configuration %} +host: + description: The hostname or IP address of your router, e.g., `192.168.1.1`. + required: true + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.luci.markdown b/source/_components/device_tracker.luci.markdown index c95813e3478..3e74b5ed972 100644 --- a/source/_components/device_tracker.luci.markdown +++ b/source/_components/device_tracker.luci.markdown @@ -37,16 +37,28 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`. -- **username** (*Required*): The username of an user with administrative privileges, usually `admin`. -- **password** (*Required*): The password for your given admin account. -- **ssl** (*Optional*): If your router enforces SSL connections, set to `true`. Defaults to `false`. +{% configuration %} +host: + description: The hostname or IP address of your router, e.g., `192.168.1.1`. + required: true + type: string +username: + description: The username of an user with administrative privileges, usually `admin`. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +ssl: + description: If your router enforces SSL connections, set to `true`. + required: false + default: false + type: boolean +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

-Some installations have [a small bug](https://github.com/openwrt/luci/issues/576). The timeout for luci RPC calls is not set and this makes the call fail. +Some installations have [a small bug](https://github.com/openwrt/luci/issues/576). The timeout for luci RPC calls is not set and this makes the call fail.

- diff --git a/source/_components/device_tracker.mikrotik.markdown b/source/_components/device_tracker.mikrotik.markdown index da1dceee4d9..5476d7902bc 100644 --- a/source/_components/device_tracker.mikrotik.markdown +++ b/source/_components/device_tracker.mikrotik.markdown @@ -41,11 +41,24 @@ device_tracker: password: ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router. -- **username** (*Required*: The username of an user with administrative privileges. -- **password** (*Required*): The password for your given admin account. -- **port** (*Optional*): Mikrotik API port. Defaults to `8728`. +{% configuration %} +host: + description: The IP address of your router. + required: true + type: string +username: + description: The username of an user with administrative privileges. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +port: + description: Mikrotik API port. + required: false + default: 8728 + type: integer +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.mqtt.markdown b/source/_components/device_tracker.mqtt.markdown index cf8f006de1f..bb40d07ea51 100644 --- a/source/_components/device_tracker.mqtt.markdown +++ b/source/_components/device_tracker.mqtt.markdown @@ -26,11 +26,16 @@ device_tracker: annetherese_n4: 'location/annetherese' ``` -Configuration variables: - -- **devices** (*Required*): List of devices with their topic. -- **qos** (*Optional*): The QoS level of the topic. - +{% configuration %} +devices: + description: List of devices with their topic. + required: true + type: list +qos: + description: The QoS level of the topic. + required: false + type: integer +{% endconfiguration %} Example JSON you can publish to the topic (e.g., via mqtt.publish service): diff --git a/source/_components/device_tracker.netgear.markdown b/source/_components/device_tracker.netgear.markdown index 8bdcacc8cde..78f05695e00 100644 --- a/source/_components/device_tracker.netgear.markdown +++ b/source/_components/device_tracker.netgear.markdown @@ -26,16 +26,42 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **url** (*Optional*): The base URL, e.g., `http://routerlogin.com:5000` for example. If not provided `host` and `port` are used. If none provided autodetection of the URL will be used. -- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`. -- **port** (*Optional*): The port your router communicates with. -- **username** (*Optional*): The username of a user with administrative privileges. If not provided `admin` will be used. -- **password** (*Required*): The password for your given admin account. -- **devices** (*Optional*): If provided only specified devices will be reported. Can be MAC address or the device name as reported in the Netgear UI. -- **exclude** (*Optional*): Devices to exclude from the scan. -- **accesspoints** (*Optional*): Also track devices on the specified APs. Only supports MAC address. +{% configuration %} +url: + description: The base URL, e.g., `http://routerlogin.com:5000` for example. If not provided `host` and `port` are used. If none provided autodetection of the URL will be used. + required: false + type: string +host: + description: The IP address of your router, e.g., `192.168.1.1`. + required: false + type: string +port: + description: The port your router communicates with. + required: false + default: 5000 + type: integer +username: + description: The username of a user with administrative privileges. + required: false + default: admin + type: string +password: + description: The password for your given admin account. + required: true + type: string +devices: + description: If provided only specified devices will be reported. Can be MAC address or the device name as reported in the Netgear UI. + required: false + type: list +exclude: + description: Devices to exclude from the scan. + required: false + type: list +accesspoints: + description: Also track devices on the specified APs. Only supports MAC address. + required: false + type: list +{% endconfiguration %} When `accesspoints` is specified an extra device will be reported for each device connected to the APs specified here, as `MY-LAPTOP on RBS40`. `Router` will be reported as AP name for the main AP. Only tested with Orbi. diff --git a/source/_components/device_tracker.nmap_tracker.markdown b/source/_components/device_tracker.nmap_tracker.markdown index a94ea14aeda..aa268fe6fcf 100644 --- a/source/_components/device_tracker.nmap_tracker.markdown +++ b/source/_components/device_tracker.nmap_tracker.markdown @@ -19,7 +19,7 @@ As an alternative to the router-based device tracking, it is possible to directl Please keep in mind that modern smart phones will usually turn off WiFi when they are idle. Simple trackers like this may not be reliable on their own.

-You might have to install the packages for `arp` and `nmap`. On Debian based hosts (for example Hassbian and Raspbian) do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`. +You might have to install the packages for `arp` and `nmap`. On Debian based hosts (for example Hassbian and Raspbian) do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`.

If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fulfilled. @@ -36,12 +36,25 @@ device_tracker: hosts: 192.168.1.0/24 ``` -Configuration variables: - -- **hosts** (*Required*): The network address to scan (in any supported Nmap format). Mixing subnets and IPs is possible. -- **home_interval** (*Optional*): The number of minutes Nmap will not scan this device, assuming it is home, in order to preserve the device battery. -- **exclude** (*Optional*): Hosts not to include in Nmap scanning. Scanning the host where Home Assistant is running can cause problems (websocket error), so excluding that host is a good idea. -- **scan_options** (*Optional*): Configurable scan options for Nmap. Default to `-F --host-timeout 5s` +{% configuration %} +hosts: + description: The network address to scan (in any supported Nmap format). Mixing subnets and IPs is possible. + required: true + type: string +home_interval: + description: The number of minutes Nmap will not scan this device, assuming it is home, in order to preserve the device battery. + required: false + type: integer +exclude: + description: Hosts not to include in Nmap scanning. Scanning the host where Home Assistant is running can cause problems (websocket error), so excluding that host is a good idea. + required: false + type: list +scan_options: + description: Configurable scan options for Nmap. + required: false + default: -F --host-timeout 5s + type: string +{% endconfiguration %} ## {% linkable_title Examples %} diff --git a/source/_components/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown index 059bde3d15d..66838f654e4 100644 --- a/source/_components/device_tracker.owntracks.markdown +++ b/source/_components/device_tracker.owntracks.markdown @@ -25,15 +25,39 @@ device_tracker: - platform: owntracks ``` -Configuration variables: - -- **max_gps_accuracy** (*Optional*): Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account. -- **waypoints** (*Optional*): Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `true`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions. Defaults to `true`. -- **waypoint_whitelist** (*Optional*): A list of user names (as defined for [Owntracks](/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g., owntracks/**username**/iPhone). Defaults to all users who are connected to Home Assistant via Owntracks. -- **secret** (*Optional*): [Payload encryption key](http://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present. -- **mqtt_topic** (*Optional*): The topic to subscribe for Owntracks updates on your MQTT instance (defaults to `owntracks/#`). -- **events_only** (*Optional*): Home Assistant will ignore all location updates and rely solely on geofence enter/leave events. -- **region_mapping** (*Optional*): Dictionary to remap names of regions as configured in the Owntracks app to Home Assistant zones. Use this if you have multiple homes or Home Assistant instances and want to map a different label to 'home'. `key: value` maps Owntracks region `key` to Home Assistant zone `value`. +{% configuration %} +max_gps_accuracy: + description: Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account. + required: false + type: integer +waypoints: + description: "Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `true`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions." + required: false + default: true + type: boolean +waypoint_whitelist: + description: "A list of user names (as defined for [Owntracks](/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g., owntracks/**username**/iPhone)" + required: false + default: All users who are connected to Home Assistant via Owntracks. + type: list +secret: + description: "[Payload encryption key](http://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present." + required: false + type: string +mqtt_topic: + description: The topic to subscribe for Owntracks updates on your MQTT instance. + required: false + default: owntracks/# + type: string +events_only: + description: Home Assistant will ignore all location updates and rely solely on geofence enter/leave events. + required: false + type: boolean +region_mapping: + description: "Dictionary to remap names of regions as configured in the Owntracks app to Home Assistant zones. Use this if you have multiple homes or Home Assistant instances and want to map a different label to 'home'. `key: value` maps Owntracks region `key` to Home Assistant zone `value`." + required: false + type: list +{% endconfiguration %} A full sample configuration for the `owntracks` platform is shown below: @@ -42,9 +66,9 @@ A full sample configuration for the `owntracks` platform is shown below: device_tracker: - platform: owntracks max_gps_accuracy: 200 - waypoints: True + waypoints: true mqtt_topic: "owntracks/#" - events_only: True + events_only: true waypoint_whitelist: - jon - ram diff --git a/source/_components/device_tracker.sky_hub.markdown b/source/_components/device_tracker.sky_hub.markdown index 792aece8a85..0b9c175bf93 100644 --- a/source/_components/device_tracker.sky_hub.markdown +++ b/source/_components/device_tracker.sky_hub.markdown @@ -23,9 +23,12 @@ device_tracker: - platform: sky_hub ``` -Configuration variables: - -- **host** (*Optional*): The IP address of your router. Defaults to `192.168.1.254`. +{% configuration %} +host: + description: The IP address of your router. + required: false + default: 192.168.1.254 + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. - diff --git a/source/_components/device_tracker.snmp.markdown b/source/_components/device_tracker.snmp.markdown index 29c2a371378..0e79012f0b1 100644 --- a/source/_components/device_tracker.snmp.markdown +++ b/source/_components/device_tracker.snmp.markdown @@ -54,18 +54,33 @@ If you want to use encryption, you must enable SNMP version 3 by adding `authkey device_tracker: - platform: snmp host: 192.168.1.1 - community: username - authkey: authpass - privkey: privpass + community: USERNAME + authkey: AUTHPASS + privkey: PRIVPASS baseoid: 1.3.6.1.4.1.14988.1.1.1.2.1.1 ``` -Configuration variables: - -- **host** (*Required*): The IP address of the router, eg. 192.168.1.1. -- **community** (*Required*): The SNMP community which is set for the device. Most devices have a default community set to `public` with read-only permission (which is sufficient). -- **baseoid** (*Required*): The OID prefix where wireless client registrations can be found, usually vendor specific. It's advised to use the numerical notation. To find this base OID, check vendor documentation or check the MIB file for your device. -- **authkey** (*Inclusive*): Authentication key for SNMPv3. Variable privkey must also be set. -- **privkey** (*Inclusive*): Privacy key SNMPv3. Variable authkey must also be set. +{% configuration %} +host: + description: The IP address of the router, e.g., 192.168.1.1. + required: true + type: string +community: + description: The SNMP community which is set for the device. Most devices have a default community set to `public` with read-only permission (which is sufficient). + required: true + type: string +baseoid: + description: The OID prefix where wireless client registrations can be found, usually vendor specific. It's advised to use the numerical notation. To find this base OID, check vendor documentation or check the MIB file for your device. + required: true + type: string +authkey: + description: Authentication key for SNMPv3. Variable privkey must also be set. + required: inclusive + type: string +privkey: + description: Privacy key SNMPv3. Variable authkey must also be set. + required: inclusive + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.swisscom.markdown b/source/_components/device_tracker.swisscom.markdown index 49c4f72ba96..890b537a4b5 100644 --- a/source/_components/device_tracker.swisscom.markdown +++ b/source/_components/device_tracker.swisscom.markdown @@ -27,8 +27,12 @@ device_tracker: - platform: swisscom ``` -Configuration variables: - -- **host** (*Optional*): The IP address of your router. Set it if you are not using `192.168.1.1`. +{% configuration %} +host: + description: The IP address of your router. + required: false + default: 192.168.1.1 + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.thomson.markdown b/source/_components/device_tracker.thomson.markdown index 810d586d27b..97decda817a 100644 --- a/source/_components/device_tracker.thomson.markdown +++ b/source/_components/device_tracker.thomson.markdown @@ -27,10 +27,19 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, eg. 192.168.1.1. -- **username** (*Required*: The username of an user with administrative privileges, usually *admin*. -- **password** (*Required*): The password for your given admin account. +{% configuration %} +host: + description: The IP address of your router, e.g., 192.168.1.1. + required: true + type: string +username: + description: The username of an user with administrative privileges, usually *admin*. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.tplink.markdown b/source/_components/device_tracker.tplink.markdown index 89b47681796..29a969f4aa7 100644 --- a/source/_components/device_tracker.tplink.markdown +++ b/source/_components/device_tracker.tplink.markdown @@ -36,11 +36,20 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1. -- **username** (*Required*): The username of a user with administrative privileges, usually *admin*. The Archer D9 last firmware does not require a username. -- **password** (*Required*): The password for your given admin account. +{% configuration %} +host: + description: The IP address of your router, e.g., 192.168.1.1. + required: true + type: string +username: + description: The username of an user with administrative privileges, usually *admin*. The Archer D9 last firmware does not require a username. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +{% endconfiguration %} For Archer C9 models running firmware version 150811 or later please use the encrypted password you can retrieve like this: @@ -54,6 +63,3 @@ For Archer C9 models running firmware version 150811 or later please use the enc See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. For Archer D9 model the default ip is 192.168.1.1, the username is not necessary and you can leave that field blank. - - - diff --git a/source/_components/device_tracker.ubus.markdown b/source/_components/device_tracker.ubus.markdown index ba38f2f1b64..3528b08c5e8 100644 --- a/source/_components/device_tracker.ubus.markdown +++ b/source/_components/device_tracker.ubus.markdown @@ -63,12 +63,25 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, eg. 192.168.1.1. -- **username** (*Required*): The username of an user with administrative privileges, usually *root*. -- **password** (*Required*): The password for your given account. -- **dhcp_software** (*Optional*): The DHCP software used in your router: `dnsmasq`, `dhcpd`, or `none`. Defaults to `dnsmasq`. +{% configuration %} +host: + description: The IP address of your router, e.g., 192.168.1.1. + required: true + type: string +username: + description: The username of an user with administrative privileges, usually `root`. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +dhcp_software: + description: "The DHCP software used in your router: `dnsmasq`, `dhcpd`, or `none`." + required: false + default: dnsmasq + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.upc_connect.markdown b/source/_components/device_tracker.upc_connect.markdown index 1f77bc8d869..c196d366c52 100644 --- a/source/_components/device_tracker.upc_connect.markdown +++ b/source/_components/device_tracker.upc_connect.markdown @@ -23,9 +23,13 @@ device_tracker: - platform: upc_connect ``` -Configuration variables: - -- **host** (*Optional*): The IP address of your router. Set it if you are not using `192.168.0.1`. +{% configuration %} +host: + description: The IP address of your router. + required: false + default: 192.168.0.1 + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. @@ -33,4 +37,3 @@ Also known to be working with the following devices: - Irish Virgin Media Super Hub 3.0 - Ziggo Connectbox NL - Unitymedia Connect Box (DE) - From 3bf5d2045faa29a993db13bc67a89d0322bd3124 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Wed, 10 Oct 2018 11:04:15 +0100 Subject: [PATCH 078/217] Clarity update (#6657) As somebody pointed out on the forum, using different examples adds confusion. Updated both styles to use the same contents, so it's clearer what's going on. --- source/_docs/configuration/devices.markdown | 32 ++++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/source/_docs/configuration/devices.markdown b/source/_docs/configuration/devices.markdown index 43706169c3a..631dd12d03c 100644 --- a/source/_docs/configuration/devices.markdown +++ b/source/_docs/configuration/devices.markdown @@ -33,9 +33,12 @@ sensor: name: "MQTT Sensor 2" - platform: rest resource: http://IP_ADDRESS/ENDPOINT + name: "Weather" switch: - platform: vera + - platform: tplink + host: IP_ADDRESS ``` ## {% linkable_title Style 2: List each device separately %} @@ -43,19 +46,27 @@ switch: You need to append numbers or strings to differentiate the entries, as in the example below. The appended number or string must be unique. ```yaml -media_player livingroom: - platform: mpd - server: IP_ADDRESS +sensor bedroom: + platform: mqtt + state_topic: "home/bedroom/temperature" + name: "MQTT Sensor 1" -media_player kitchen: - platform: plex +sensor kitchen: + platform: mqtt + state_topic: "home/kitchen/temperature" + name: "MQTT Sensor 2" -camera 1: - platform: generic +sensor weather: + platform: rest + resource: http://IP_ADDRESS/ENDPOINT + name: "Weather" -camera 2: - platform: mjpeg -``` +switch 1: + platform: vera + +switch 2: + platform: tplink + host: IP_ADDRESS``` ## {% linkable_title Grouping devices %} @@ -74,4 +85,3 @@ group: ``` For more details please check the [Group](/components/group/) page. - From 324f9d41d7b7439484ac5c74648e5e2728661680 Mon Sep 17 00:00:00 2001 From: Dav0815 <35415680+Dav0815@users.noreply.github.com> Date: Wed, 10 Oct 2018 20:05:59 +1000 Subject: [PATCH 079/217] Doc fixes (#6654) * Doc standart fixes * Update sensor.citybikes.markdown * Update sensor.cpuspeed.markdown * Update sensor.citybikes.markdown * Config standart fixes * Update sensor.swiss_public_transport.markdown * Update sensor.swiss_public_transport.markdown * Update sensor.ted5000.markdown * Update sensor.worldclock.markdown * Update sensor.worxlandroid.markdown --- .../sensor.swiss_public_transport.markdown | 20 ++++++++++++++----- source/_components/sensor.ted5000.markdown | 20 +++++++++++++++---- source/_components/sensor.worldclock.markdown | 15 ++++++++++---- .../_components/sensor.worxlandroid.markdown | 20 ++++++++++++++----- 4 files changed, 57 insertions(+), 18 deletions(-) diff --git a/source/_components/sensor.swiss_public_transport.markdown b/source/_components/sensor.swiss_public_transport.markdown index c1063e4d4a5..b702c2dc50a 100644 --- a/source/_components/sensor.swiss_public_transport.markdown +++ b/source/_components/sensor.swiss_public_transport.markdown @@ -30,10 +30,20 @@ sensor: to: STATION_ID ``` -Configuration variables: - -- **from** (*Required*): The ID of the station of the start station. -- **to** (*Required*): The ID of the station of the end station. -- **name** (*Optional*): The name of the sensor. Defaults to 'Next Departure'. +{% configuration %} +from: + description: The ID of the station of the start station. + required: true + type: string +to: + description: The ID of the station of the end station. + required: true + type: string +name: + description: The name of the sensor. + required: false + type: string + default: Next Departure +{% endconfiguration %} The public timetables are coming from [Swiss public transport](http://transport.opendata.ch). diff --git a/source/_components/sensor.ted5000.markdown b/source/_components/sensor.ted5000.markdown index 1dd451255c7..1e498eb1ca0 100644 --- a/source/_components/sensor.ted5000.markdown +++ b/source/_components/sensor.ted5000.markdown @@ -24,11 +24,23 @@ sensor: host: 192.168.1.100 ``` -Configuration variables: -- **host** (*Required*): The IP address of your ted gateway. -- **port** (*Optional*): The port of your ted gateway. Defaults to 80. -- **name** (*Optional*): Name of the ted gateway. Defaults to ted. +{% configuration %} +host: + description: The IP address of your ted gateway. + required: true + type: string +port: + description: The port of your ted gateway. + required: false + type: integer + default: 80 +name: + description: Name of the ted gateway. + required: false + type: string + default: ted +{% endconfiguration %} For each plugged MTU, using an index starting at 1, the platform creates 2 sensors: diff --git a/source/_components/sensor.worldclock.markdown b/source/_components/sensor.worldclock.markdown index 620e2935518..1ca0964f86b 100644 --- a/source/_components/sensor.worldclock.markdown +++ b/source/_components/sensor.worldclock.markdown @@ -26,10 +26,17 @@ sensor: time_zone: America/New_York ``` -Configuration variables: - -- **time_zone** (*Required*): The resource or endpoint that contains the value. -- **name** (*Optional*): The name of the sensor, eg. the city. Defaults to 'Worldclock Sensor'. +{% configuration %} +time_zone: + description: The resource or endpoint that contains the value. + required: true + type: string +name: + description: The name of the sensor, eg. the city. + required: false + type: string + default: Worldclock Sensor +{% endconfiguration %} For valid time zones check the **TZ** column in the [Wikipedia overview](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Or get the full list from the [pytz](https://pypi.python.org/pypi/pytz) module. diff --git a/source/_components/sensor.worxlandroid.markdown b/source/_components/sensor.worxlandroid.markdown index 5497ae70057..d4ec6b401b8 100644 --- a/source/_components/sensor.worxlandroid.markdown +++ b/source/_components/sensor.worxlandroid.markdown @@ -25,8 +25,18 @@ sensor: pin: 1234 ``` -Configuration variables: - -- **host** (*Required*): The ip address or host name of the mower. -- **pin** (*Required*): The pin code for the mower. -- **allow_unreachable** (*Optional*): This will allow the mower to be outside of wifi range without raising an error (default: True). +{% configuration %} +host: + description: The ip address or host name of the mower. + required: true + type: string +pin: + description: The pin code for the mower. + required: true + type: integer +allow_unreachable: + description: This will allow the mower to be outside of wifi range without raising an error. + required: false + type: boolean + default: true +{% endconfiguration %} From 667a05b90a7e4643db6b7fea0cbfa645cae91266 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Wed, 10 Oct 2018 11:11:39 +0100 Subject: [PATCH 080/217] Simplification of the supported controllers (#6647) * Simplification of the supported controllers Stripped it down to the key fact - *static controllers* are all that'll work with OZW. Noted that Z-Wave Plus controllers are recommended, to take advantage of all the features of Z-Wave Plus. Noted that S2 and Smart Start aren't supported by OZW * Controllers restored Restored the list of confirmed sticks, but taken out the lists of OSs because we just took the list from the OZW pages, and it's clear that's outdated and incomplete --- source/_docs/z-wave/controllers.markdown | 25 ++++++++++-------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown index 63b6a36fa23..8548c92f9c1 100644 --- a/source/_docs/z-wave/controllers.markdown +++ b/source/_docs/z-wave/controllers.markdown @@ -11,22 +11,17 @@ footer: true ## {% linkable_title Supported Z-Wave USB Sticks & Hardware Modules %} -You need to have a [supported Z-Wave USB stick or module](https://github.com/OpenZWave/open-zwave/wiki/Controller-Compatibility-List) installed. +You need to have a compatible Z-Wave stick or module installed. This needs to be a *static controller*, which most Z-Wave sticks and modules will be. If yours is a *bridge* device then it won't work with [OpenZWave](http://openzwave.com/), which is what provides Home Assistant's Z-Wave capabilities. The following devices have been confirmed to work: -| Device | Works on Linux | Works on Windows | Works on OSX | -|---------------------------|----------------|------------------|--------------| -| Aeotec Z-Stick | ✓ | | | -| Aeotec Z-Stick Series 2 | ✓ | | | -| Aeotec Z-Stick Series 5 | ✓ | ✓ | ✓ | -| Pine64 Z-Wave Module | ✓ | | | -| Razberry GPIO Module | ✓ | | | -| Seluxit ViaSens 100 | | | | -| Sigma Designs UZB Stick | | | | -| Tricklestar | | | | -| Vision USB Stick | | | | -| Zooz Z-Wave Plus S2 ZST10 | ✓ | | | -| ZWave.me Razberry Board | ✓ | | | -| ZWave.me UZB1 | ✓ | | | +* Aeotec Z-Stick Series 5 +* Everspring USB stick - Gen 5 +* Sigma Designs UZB stick +* Vision USB stick - Gen5 +* Zooz Z-Wave Plus S2 stick ZST10 +* ZWave.me Razberry Board +* ZWave.me UZB1 stick + +We recommend that you purchase a [Z-Wave Plus](https://z-wavealliance.org/z-wave_plus_certification/) controller, to take advantage of the improvements this provides. As OpenZWave doesn't support S2 or Smart Start, there's no need to buy one just for support of these features.

If you're using Hass.io or running HASS in a Docker container, it's recommended to use a USB stick, not a module. Passing a module through Docker is more complicated than passing a USB stick through. From a78625aa4a8a1a80b05f8ed26c6b6d83af5ad517 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Wed, 10 Oct 2018 12:53:19 +0200 Subject: [PATCH 081/217] Fix type of max_journeys (#6638) * Add timeout and fix type of max_journeys * Remove timeout config * Fix more typos * :pencil2: Tweaks --- source/_components/sensor.rmvtransport.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown index 05469d650f2..6e5abe5de27 100644 --- a/source/_components/sensor.rmvtransport.markdown +++ b/source/_components/sensor.rmvtransport.markdown @@ -45,7 +45,7 @@ lines: description: "One or more line numbers, e.g., `'S8'` or `['S8', 'RB33', '41']`" required: false default: The default is the station name. - type: [string, int] + type: [string, integer] products: description: "One or more modes of transport `['U-Bahn', 'Tram', 'Bus', 'S-Bahn', 'RB', 'RE', 'EC', 'IC', 'ICE']`." required: false @@ -60,7 +60,7 @@ max_journeys: description: Specify the maximal number of journeys. required: false default: The default is 5. - type: string + type: integer {% endconfiguration %} ## {% linkable_title Examples %} From 6e7a4e0f6636b9215b52196d3172212a1fdfa3da Mon Sep 17 00:00:00 2001 From: DubhAd Date: Wed, 10 Oct 2018 19:27:03 +0100 Subject: [PATCH 082/217] entity update (#6663) Clearly the entity_id is optional, else it wouldn't target all lights if you didn't specify it ;) --- source/_components/light.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/light.markdown b/source/_components/light.markdown index 4c559dfc3fb..cf7a4413e1b 100644 --- a/source/_components/light.markdown +++ b/source/_components/light.markdown @@ -29,7 +29,7 @@ Most lights do not support all attributes. You can check the platform documentat | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. Else targets all. +| `entity_id` | yes | String or list of strings that point at `entity_id`s of lights. Else targets all. | `transition` | yes | Number that represents the time (in seconds) the light should take to transition to the new state. | `profile` | yes | String with the name of one of the [built-in profiles](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/light/light_profiles.csv) (relax, energize, concentrate, reading) or one of the custom profiles defined in `light_profiles.csv` in the current working directory. Light profiles define an xy color and a brightness. If a profile is given and a brightness then the profile brightness will be overwritten. | `hs_color` | yes | A list containing two floats representing the hue and saturation of the color you want the light to be. Hue is scaled 0-360, and saturation is scaled 0-100. From 0d293dfd46fed118e804700698abb3e1a0474c9c Mon Sep 17 00:00:00 2001 From: definitio <37266727+definitio@users.noreply.github.com> Date: Wed, 10 Oct 2018 21:28:38 +0300 Subject: [PATCH 083/217] Update VLC configuration variables (#6662) --- source/_components/media_player.vlc.markdown | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/source/_components/media_player.vlc.markdown b/source/_components/media_player.vlc.markdown index 09254957645..0037537535a 100644 --- a/source/_components/media_player.vlc.markdown +++ b/source/_components/media_player.vlc.markdown @@ -24,10 +24,16 @@ media_player: - platform: vlc ``` -Configuration variables: - -- **name** (*Optional*): The name to use in the frontend. -- **arguments** (*Optional*): Additional arguments to be passed to VLC. +{% configuration %} +name: + description: The name to use in the frontend. + required: false + type: string +arguments: + description: Additional arguments to be passed to VLC. + required: false + type: string +{% endconfiguration %} Only the "music" media type is supported for now. From d418889a5956d3b03f03143f8923c51d3882f786 Mon Sep 17 00:00:00 2001 From: bjohnson8949 <43796978+bjohnson8949@users.noreply.github.com> Date: Wed, 10 Oct 2018 14:44:40 -0400 Subject: [PATCH 084/217] Update command for final pairing (#6660) Changed from pair_finish to pair-finish --- source/_components/media_player.vizio.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/media_player.vizio.markdown b/source/_components/media_player.vizio.markdown index 12916a2ed3c..8345c3b1e80 100644 --- a/source/_components/media_player.vizio.markdown +++ b/source/_components/media_player.vizio.markdown @@ -56,7 +56,7 @@ Initiation will show you two different values: Finally, at this point a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing: ```bash -$ pyvizio --ip={ip} pair_finish --token={challenge_token} --pin={tv_pin} +$ pyvizio --ip={ip} pair-finish --token={challenge_token} --pin={tv_pin} ``` You will need the authentication token returned by this command to configure Home Assistant. From 9fcd155a1ef1b457547272f0de6b50c3730e55d5 Mon Sep 17 00:00:00 2001 From: Destix <32171782+Destix@users.noreply.github.com> Date: Wed, 10 Oct 2018 21:46:15 +0300 Subject: [PATCH 085/217] Update intent_script.markdown (#6658) --- source/_components/intent_script.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/intent_script.markdown b/source/_components/intent_script.markdown index 17e664d3808..bf41572753c 100644 --- a/source/_components/intent_script.markdown +++ b/source/_components/intent_script.markdown @@ -13,7 +13,7 @@ ha_release: "0.50" ha_qa_scale: internal --- -The `intent_script` component allows users to configure actions and responses to intents. Intents can be fired by any component that supports it. Examples are [Alexa](/components/alexa/) (Amazon Echo), [API.ai](/components/dialogflow/) (Google Assistant) and [Snips](/components/snips/). +The `intent_script` component allows users to configure actions and responses to intents. Intents can be fired by any component that supports it. Examples are [Alexa](/components/alexa/) (Amazon Echo), [Dialogflow](/components/dialogflow/) (Google Assistant) and [Snips](/components/snips/). ```yaml # Example configuration.yaml entry From 12ea92e9c533d12c5f293784f272e85de2f919ab Mon Sep 17 00:00:00 2001 From: Joshua Date: Wed, 10 Oct 2018 18:08:13 -0400 Subject: [PATCH 086/217] Adding example configuration yaml link for JoshuaGarrison27 (#6667) --- .../configuration_yaml_by_joshuagarrison27.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 source/_cookbook/configuration_yaml_by_joshuagarrison27.markdown diff --git a/source/_cookbook/configuration_yaml_by_joshuagarrison27.markdown b/source/_cookbook/configuration_yaml_by_joshuagarrison27.markdown new file mode 100644 index 00000000000..baad95ee180 --- /dev/null +++ b/source/_cookbook/configuration_yaml_by_joshuagarrison27.markdown @@ -0,0 +1,12 @@ +--- +layout: page +title: "Configuration.yaml by Joshua Garrison" +description: "" +date: 2018-10-10 17:05 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Example configuration.yaml +ha_external_link: https://github.com/JoshuaGarrison27/Home-Assistant-Configuration +--- From 5e4109ef957ec6daa7b38252f42f0bacbef46d10 Mon Sep 17 00:00:00 2001 From: Dmitriy Shafranskiy Date: Thu, 11 Oct 2018 14:31:02 +0200 Subject: [PATCH 087/217] Formatting fix (#6685) Code ending block was placed in a wrong place causing documentation to be output wrongly. --- source/_docs/configuration/devices.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_docs/configuration/devices.markdown b/source/_docs/configuration/devices.markdown index 631dd12d03c..6aedad89483 100644 --- a/source/_docs/configuration/devices.markdown +++ b/source/_docs/configuration/devices.markdown @@ -66,7 +66,8 @@ switch 1: switch 2: platform: tplink - host: IP_ADDRESS``` + host: IP_ADDRESS +``` ## {% linkable_title Grouping devices %} From d9228a4aa412500da24e98885f177992a33004c0 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 17:23:23 +0200 Subject: [PATCH 088/217] Update Dyson component configuration variable (#6670) * Update Dyson component configuration variable Update style of Dyson component documentation to follow new configuration variables description. Related to #6385. * :ambulance: Bugfix --- source/_components/dyson.markdown | 36 +++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/source/_components/dyson.markdown b/source/_components/dyson.markdown index 84f380e9285..b02d948f7ee 100644 --- a/source/_components/dyson.markdown +++ b/source/_components/dyson.markdown @@ -32,15 +32,33 @@ dyson: device_ip: DEVICE_IP_2 ``` -Configuration variables: - -- **username** (*Required*): Dyson account username (email address). -- **password** (*Required*): Dyson account password. -- **language** (*Required*): Dyson account language country code. Known working codes: `FR`, `NL`, `GB`, `AU`. Other codes should be supported. -- **devices** (*Optional*): List of devices. - - **device_id** (*Required*): Device ID. The Serial Number of the device. Found in the smart phone app device settings page. - - **device_ip** (*Required*): Device IP address. - +{% configuration %} +username: + description: Dyson account username (email address). + required: true + type: string +password: + description: Dyson account password. + required: true + type: string +language: + description: "Dyson account language country code. Known working codes: `FR`, `NL`, `GB`, `AU`. Other codes should be supported." + required: true + type: string +devices: + description: List of devices. + required: false + type: map + keys: + device_id: + description: Device ID. The Serial Number of the device. Found in the smart phone app device settings page. + required: true + type: string + device_ip: + description: Device IP address. + required: true + type: string +{% endconfiguration %} The `devices` list is optional, but you'll have to provide them if discovery is not working (warnings in the logs and the devices are not available in Home Assistant web interface). From c1a55e60e606bf75e37e87e2eb23ce612fe61db3 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 17:24:31 +0200 Subject: [PATCH 089/217] Update Verisure component configuration variable (#6673) Update style of Verisure component documentation to follow new configuration variables description. Related to #6385. --- source/_components/verisure.markdown | 67 ++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 13 deletions(-) diff --git a/source/_components/verisure.markdown b/source/_components/verisure.markdown index 7eac9bad584..49dd80958e1 100644 --- a/source/_components/verisure.markdown +++ b/source/_components/verisure.markdown @@ -33,16 +33,57 @@ verisure: password: PASSWORD ``` -Configuration variables: - -- **username** (*Required*): The username to Verisure mypages. -- **password** (*Required*): The password to Verisure mypages. -- **alarm** (*Optional*): Set to 1 to show alarm, 0 to disable. Default 1. -- **hygrometers** (*Optional*): Set to 1 to show hygrometers, 0 to disable. Default 1. -- **smartplugs** (*Optional*): Set to 1 to show smartplugs, 0 to disable. Default 1. -- **locks** (*Optional*): Set to 1 to show locks, 0 to disable. Default 1. -- **thermometers** (*Optional*): Set to 1 to show thermometers, 0 to disable. Default 1. -- **mouse** (*Optional*): Set to 1 to show mouse detectors, 0 to disable. Default 1. -- **door_window** (*Optional*): Set to 1 to show door and window sensors, 0 to disable. Default 1. -- **code_digits** (*Optional*): Number of digits in PIN code. Default 4. -- **giid** (*Optional*): The GIID of your installation (If you have more then one alarm system). To find the GIID for your systems run 'python verisure.py EMAIL PASSWORD installations' +{% configuration %} +username: + description: The username to Verisure mypages. + required: true + type: string +password: + description: The password to Verisure mypages. + required: true + type: string +alarm: + description: Set to true to show alarm, false to disable. + required: false + default: true + type: boolean +hygrometers: + description: Set to true to show hygrometers, false to disable. + required: false + default: true + type: boolean +smartplugs: + description: Set to true to show smartplugs, false to disable. + required: false + default: true + type: boolean +locks: + description: Set to true to show locks, false to disable. + required: false + default: true + type: boolean +thermometers: + description: Set to true to show thermometers, false to disable. + required: false + default: true + type: boolean +mouse: + description: Set to true to show mouse detectors, false to disable. + required: false + default: true + type: boolean +door_window: + description: Set to true to show mouse detectors, false to disable. + required: false + default: true + type: boolean +code_digits: + description: Number of digits in PIN code. + required: false + default: 4 + type: integer +giid: + description: The GIID of your installation (If you have more then one alarm system). To find the GIID for your systems run 'python verisure.py EMAIL PASSWORD installations'. + required: false + type: string +{% endconfiguration %} From 2073f22319ff209a083ed646fe4b95b2cfdc206c Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 17:25:40 +0200 Subject: [PATCH 090/217] Update Volvo on Call component configuration variable (#6672) Update style of Volvo on Call component documentation to follow new configuration variables description. Related to #6385. --- source/_components/volvooncall.markdown | 43 ++++++++++++++++++------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/source/_components/volvooncall.markdown b/source/_components/volvooncall.markdown index 8160d19882f..d4028a46e4b 100644 --- a/source/_components/volvooncall.markdown +++ b/source/_components/volvooncall.markdown @@ -30,7 +30,7 @@ volvooncall: Users registered with Volvo in North America or China will need to specify a region: ```yaml -# North America +# North America volvooncall: username: YOUR_USERNAME password: YOUR_PASSWORD @@ -62,13 +62,34 @@ volvooncall: - heater ``` -Configuration variables: - -- **username** (*Required*): The username associated with your Volvo On Call account. -- **password** (*Required*): The password for your given Volvo On Call account. -- **region** (*Optional*): The region where the Volvo is registered. Needs to be set for users in North America or China. -- **service_url** (*Optional*): The service URL to use for Volvo On Call. Normally not necessary to specify. -- **name** (*Optional*): Make it possible to provide a name for the vehicles. -- **resources** (*Optional*): A list of resources to display (defaults to all available). -- **scandinavian_miles** (*Optional*): If set to yes, Scandinavian miles ("mil") are used for distances and fuel range (defaults to no). - +{% configuration %} +username: + description: The username associated with your Volvo On Call account. + required: true + type: string +password: + description: The password for your given Volvo On Call account. + required: true + type: string +region: + description: The region where the Volvo is registered. Needs to be set for users in North America or China. + required: false + type: string +service_url: + description: The service URL to use for Volvo On Call. Normally not necessary to specify. + required: false + type: string +name: + description: Make it possible to provide a name for the vehicles. + required: false + type: string +resources: + description: A list of resources to display (defaults to all available). + required: false + type: list +scandinavian_miles: + description: If set to true, Scandinavian miles ("mil") are used for distances and fuel range. + required: false + defaults: false + type: boolean +{% endconfiguration %} From 1154e982cd003f5a009b4428331bf3fbb8fe8d54 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 17:26:45 +0200 Subject: [PATCH 091/217] Update Kira component configuration variable (#6671) Update style of Kira component documentation to follow new configuration variables description. Related to #6385. --- source/_components/kira.markdown | 80 +++++++++++++++++++++++++------- 1 file changed, 63 insertions(+), 17 deletions(-) diff --git a/source/_components/kira.markdown b/source/_components/kira.markdown index 0e74ad07b69..7a0f3bc3772 100644 --- a/source/_components/kira.markdown +++ b/source/_components/kira.markdown @@ -38,16 +38,45 @@ kira: port: 65432 ``` -Configuration variables: - -- **sensors** (*Optional*): Kira sensors to register - - **name** (*Optional*): Name of this sensor. - - **host** (*Optional*): Bind address for this sensor. 0.0.0.0 is default. - - **port** (*Optional*): UDP port to listen for packets on. 65432 is default. -- **remotes** (*Optional*): Remote Kira modules to register - - **name** (*Optional*): Name of this remote. - - **host** (*Required*): IP address of Kira module to send commands to. - - **port** (*Optional*): UDP port to send packets to. 65432 is default. +{% configuration %} +sensors: + description: Kira sensors to register. + required: false + type: map + keys: + name: + description: Name of this sensor. + required: false + type: string + host: + description: Bind address for this sensor. + required: false + default: 0.0.0.0 + type: string + port: + description: UDP port to listen for packets on. + required: false + default: 65432 + type: integer +remotes: + description: Remote Kira modules to register. + required: false + type: map + keys: + name: + description: Name of this remote. + required: false + type: string + host: + description: IP address of Kira module to send commands to. + required: true + type: string + port: + description: UDP port to send packets to. + required: false + default: 65432 + type: integer +{% endconfiguration %} If no sensors or remotes are specified, a sensor with default values will be added. @@ -70,13 +99,30 @@ The first time the Kira component is loaded, `kira_codes.yaml` will be created i type: nec ``` -Configuration variables: - -- **name** (*Required*): The name of this code. -- **code** (*Required*): The data for this code (see below). -- **device** (*Optional*): The device this code is associated with. Default is "unknown". -- **type** (*Optional*): The type of this code. If this field is omitted, the type will be autodetected if possible. -- **repeat** (*Optional*): The number of times to repeat this code (on transmit). Default is 1. +{% configuration %} +name: + description: The name of this code. + required: true + type: string +code: + description: The data for this code (see below). + required: true + type: string +device: + description: The device this code is associated with. + required: false + default: unknown + type: string +type: + description: The type of this code. If this field is omitted, the type will be autodetected if possible. + required: false + type: string +repeat: + description: The number of times to repeat this code (on transmit). + required: false + default: 1 + type: integer +{% endconfiguration %} Some manufacturers (e.g., Samsung) require an IR code to be sent a number of times in a row in rapid succession (usually 3). This doesn't apply to the vast majority of devices, but it can be helpful if needed. From 4e69548db725461e0072dc5dd618ecde2da8e995 Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Thu, 11 Oct 2018 17:30:38 +0200 Subject: [PATCH 092/217] Fix typo in Google Assistant migrate (#6675) --- source/_components/google_assistant.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index b4c686990fd..81773751d8b 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -36,7 +36,7 @@ Since release 0.80, the `Authorization Code` type of `OAuth` account linking is - Input any string you like into `Client Secret`, Home Assistant doesn't need this field. - Change `Authorization URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize` (replace with your actual URL). - Change `Token URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token` (replace with your actual URL). - - In the `Client information` section: + - In the `Configure your client` section: - Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. - Click 'Save' at the top right corner, then click 'Test' to generate a new draft version of the Test App. 2. Change your `configuration.yaml` file: From 11c90acdb9f535bf7ab8b88fd531679ebf8f0460 Mon Sep 17 00:00:00 2001 From: Luuk Date: Thu, 11 Oct 2018 17:32:24 +0200 Subject: [PATCH 093/217] Update yamaha configuration variables (#6665) * Update yamaha configuration variables * Remove old config list --- .../_components/media_player.yamaha.markdown | 34 ++++++++++++++----- .../media_player.yamaha_musiccast.markdown | 25 ++++++++++---- 2 files changed, 45 insertions(+), 14 deletions(-) diff --git a/source/_components/media_player.yamaha.markdown b/source/_components/media_player.yamaha.markdown index b996e642a47..88a481b27d6 100644 --- a/source/_components/media_player.yamaha.markdown +++ b/source/_components/media_player.yamaha.markdown @@ -30,15 +30,33 @@ To add a Yamaha Network Receiver to your installation, add the following to your media_player: - platform: yamaha ``` -Configuration variables: -- **name** (*Optional*): Name of the device. This overrides the - default name (often model number) that is returned by the device. -- **host** (*Optional*): IP address or hostname of the device -- **source_ignore** (*Optional*): List of sources to hide in the front-end -- **source_names** (*Optional*): Mapping of internal AVR source names to custom ones, allowing one to rename e.g., `HDMI1` to `ChromeCast` -- **zone_ignore** (*Optional*): List of zones to hide in the front-end -- **zone_names** (*Optional*): Mapping of zone names to custom ones, allowing one to rename e.g., `Main_Zone` to `Family Room` +{% configuration %} +name: + description: Name of the device. This overrides the default name (often model number) that is returned by the device. + required: false + type: string +host: + description: IP address or hostname of the device. + required: false + type: string +source_ignore: + description: List of sources to hide in the front-end. + required: false + type: list +source_names: + description: Mapping of internal AVR source names to custom ones, allowing one to rename e.g., `HDMI1` to `ChromeCast`. + required: false + type: list +zone_ignore: + description: List of zones to hide in the front-end. + required: false + type: list +zone_names: + description: Mapping of zone names to custom ones, allowing one to rename e.g., `Main_Zone` to `Family Room`. + required: false + type: list +{% endconfiguration %} ### {% linkable_title Discovery notes %} diff --git a/source/_components/media_player.yamaha_musiccast.markdown b/source/_components/media_player.yamaha_musiccast.markdown index 7d98e77102f..925f378816c 100644 --- a/source/_components/media_player.yamaha_musiccast.markdown +++ b/source/_components/media_player.yamaha_musiccast.markdown @@ -24,15 +24,28 @@ media_player: - platform: yamaha_musiccast host: 192.168.xx.xx ``` -Configuration variables: -- **host** (*Required*): IP address or hostname of the device -- **port** (*Optional*): UDP source port. If multiple devices are present, specify a different port per device -- **interval_seconds** (*Optional*): Polling interval (default: 480 seconds = 8 minutes) +{% configuration %} +host: + description: IP address or hostname of the device. + required: true + type: string +port: + description: UDP source port. If multiple devices are present, specify a different port per device. + required: false + type: integer +interval_seconds: + description: Polling interval in seconds. + required: false + type: integer + default: 480 +{% endconfiguration %} -A few notes: +### {% linkable_title Supported operations %} -- Currently, this component supports powering on/off, mute, volume control, and source selection. Playback controls, for instance, play and stop are available for sources that support it. +Currently, this component supports powering on/off, mute, volume control, and source selection. Playback controls, for instance, play and stop are available for sources that support it. + +### {% linkable_title Example configuration %} A full configuration example will look like the sample below: ```yaml From fd0f53a2b9a5cb2d4c4c3f766eaa96418d500e2d Mon Sep 17 00:00:00 2001 From: Emeric Date: Thu, 11 Oct 2018 17:37:59 +0200 Subject: [PATCH 094/217] Update sensor.dht configuration variables (#6681) --- source/_components/sensor.dht.markdown | 42 +++++++++++++++++++++----- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/source/_components/sensor.dht.markdown b/source/_components/sensor.dht.markdown index 65a16633bda..7766643d8b8 100644 --- a/source/_components/sensor.dht.markdown +++ b/source/_components/sensor.dht.markdown @@ -31,14 +31,40 @@ sensor: - humidity ``` -Configuration variables: - -- **sensor** (*Required*): The sensor type, supported devices are DHT11, DHT22, and AM2302. -- **pin** (*Required*): The pin the sensor is connected to. -- **name** (*Optional*): The name of the sensor. -- **monitored_conditions** array (*Required*): Conditions to monitor. Available conditions are only *temperature* and *humidity*. -- **temperature_offset** (*Optional*): Add or subtract a value from the temperature. -- **humidity_offset** (*Optional*): Add or subtract a value from the humidity. +{% configuration %} +sensor: + description: The sensor type, supported devices are DHT11, DHT22, and AM2302. + required: true + type: string +pin: + description: The pin the sensor is connected to. + required: true + type: integer +name: + description: The name of the sensor. + required: false + default: DHT Sensor + type: string +monitored_conditions: + description: Conditions to monitor. Available conditions are only *temperature* and *humidity*. + required: true + type: list + keys: + temperature: + description: Temperature at the sensor's location. + humidity: + description: Humidity level at the sensor's location. +temperature_offset: + description: Add or subtract a value from the temperature. + required: false + default: 0 + type: [integer, float] +humidity_offset: + description: Add or subtract a value from the humidity. + required: false + default: 0 + type: [integer, float] +{% endconfiguration %} The name of the pin to which the sensor is connected has different names on different platforms. 'P8_11' for Beaglebone, '23' for Raspberry Pi. From 4da3ba74bbe89d18dc18345feb65565d0d1826f9 Mon Sep 17 00:00:00 2001 From: Emeric Date: Thu, 11 Oct 2018 17:39:46 +0200 Subject: [PATCH 095/217] Update sensor.bbox configuration varibales (#6679) * Update sensor.bbox configuration variables * Fix keys * Add name variable --- source/_components/sensor.bbox.markdown | 28 ++++++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/source/_components/sensor.bbox.markdown b/source/_components/sensor.bbox.markdown index a45e4bdb5ed..3f456901862 100644 --- a/source/_components/sensor.bbox.markdown +++ b/source/_components/sensor.bbox.markdown @@ -34,11 +34,23 @@ sensor: - current_up_bandwidth ``` -Configuration variables: - -- **monitored_variables** array (*Required*): Sensors to display in the frontend. - - **down_max_bandwidth**: Maximum bandwidth available for download. - - **up_max_bandwidth**: Maximum bandwidth available for upload. - - **current_down_bandwidth**: Instant measure of the current used bandwidth for download. - - **current_up_bandwidth**: Instant measure of the current used bandwidth for upload. - +{% configuration %} +name: + description: Name to display in the frontend. + required: false + default: Bbox + type: string +monitored_variables: + description: Sensors to display in the frontend. + required: true + type: list + keys: + down_max_bandwidth: + description: Maximum bandwidth available for download. + up_max_bandwidth: + description: Maximum bandwidth available for upload. + current_down_bandwidth: + description: Instant measure of the current used bandwidth for download. + current_up_bandwidth: + description: Instant measure of the current used bandwidth for upload. +{% endconfiguration %} From c6402dac5c12d487cf58b6651a673a69781f4d53 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 17:48:44 +0200 Subject: [PATCH 096/217] Update Opengarage component configuration variable #6603 (#6668) Update style of Opengarage component documentation to follow new configuration variables description. Related to #6385. --- source/_components/cover.opengarage.markdown | 38 +++++++++++++++----- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/source/_components/cover.opengarage.markdown b/source/_components/cover.opengarage.markdown index d9327afa2a6..2675766c3fa 100644 --- a/source/_components/cover.opengarage.markdown +++ b/source/_components/cover.opengarage.markdown @@ -33,14 +33,36 @@ cover: name: Right Garage Door ``` -Configuration variables: - -- **covers** array (*Required*): List of your doors. - - **identifier** (*Required*): Name of the cover as slug. Multiple entries are possible. - - **host** (*Required*): IP address of device. - - **port** (*Optional*): HTTP Port. Default is `80`. - - **device_key** (*Required*): Access key to control device. Default is `opendoor`. - - **name** (*Optional*): Name to use in the Frontend. If not provided, it will use name configured in device. +{% configuration %} +covers: + description: List of your doors. + required: true + type: map + keys: + identifier: + description: Name of the cover as slug. Multiple entries are possible. + required: true + type: map + keys: + host: + description: IP address of device. + required: true + type: string + port: + description: HTTP Port. + required: false + default: 80 + type: integer + device_key: + description: Access key to control device. + required: true + default: opendoor + type: string + name: + description: Name to use in the Frontend. If not provided, it will use name configured in device. + required: false + type: string +{% endconfiguration %} **Example with more detail:**

From 18792533e97eba31e22c2a97d6c80ab9863730cb Mon Sep 17 00:00:00 2001 From: Sangwon Kim Date: Thu, 11 Oct 2018 23:50:42 +0800 Subject: [PATCH 097/217] feat(xiaomi_aqara): Add 'remote.b1acn01' (#6674) --- source/_components/binary_sensor.xiaomi_aqara.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/binary_sensor.xiaomi_aqara.markdown b/source/_components/binary_sensor.xiaomi_aqara.markdown index 6f33659f78b..3b0accae93f 100644 --- a/source/_components/binary_sensor.xiaomi_aqara.markdown +++ b/source/_components/binary_sensor.xiaomi_aqara.markdown @@ -31,7 +31,7 @@ The requirement is that you have setup the [`xiaomi aqara` component](/component | Gas Leak Detector | natgas | JTQJ-BF-01LM/BW | on, off | | | | | Water Leak Sensor | sensor_wleak.aq1 | SJCGQ11LM | on, off | | | | | Button (1st gen) | switch | WXKG01LM | on (through long_click_press), off | `click`| `click_type`| `long_click_press`, `long_click_release`, `hold`, `single`, `double` | -| Button (2nd gen) | sensor_switch.aq2 | WXKG11LM | off (always) | `click` | `click_type` | `single`, `double` | +| Button (2nd gen) | sensor_switch.aq2, remote.b1acn01 | WXKG11LM | off (always) | `click` | `click_type` | `single`, `double` | | Aqara Wireless Switch (Single) | 86sw1 | WXKG03LM | off (always) | `click` | `click_type` | `single` | | Aqara Wireless Switch (Double) | 86sw2 | WXKG02LM | off (always) | `click` | `click_type` | `single`, `both` | | Cube | cube | MFKZQ01LM | off (always) | `cube_action` | `action_type`, `action_value` (rotate) | `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swing`, `alert`, `free_fall`, `rotate` (degrees at action_value) | From 9e7ac7bb7e95e0d1669e36c372815272c96cd20b Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 19:46:05 +0200 Subject: [PATCH 098/217] Update Roomba Vacuum component configuration variable (#6691) Update style of Roomba vacuum component documentation to follow new configuration variables description. Related to #6385. --- source/_components/vacuum.roomba.markdown | 37 ++++++++++++++++++----- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/source/_components/vacuum.roomba.markdown b/source/_components/vacuum.roomba.markdown index 0a81a732fcb..2186f1666aa 100644 --- a/source/_components/vacuum.roomba.markdown +++ b/source/_components/vacuum.roomba.markdown @@ -29,14 +29,35 @@ vacuum: password: PASSWORD ``` -Configuration variables: - -- **host** (*Required*): Hostname or IP address of the Roomba. -- **username** (*Required*): The username (BLID) for your device. -- **password** (*Required*): The password for your device. -- **name** (*Optional*): The name of the vacuum. -- **certificate** (*Optional*): Path to your certificate store. Defaults to `/etc/ssl/certs/ca-certificates.crt`. -- **continuous** (*Optional*): Whether to operate in continuous mode. Defaults to `True`. +{% configuration %} +host: + description: Hostname or IP address of the Roomba. + required: true + type: string +username: + description: The username (BLID) for your device. + required: true + type: string +password: + description: The password for your device. + required: true + type: string +name: + description: The name of the vacuum. + required: false + default: Roomba + type: string +certificate: + description: Path to your certificate store. + required: false + default: /etc/ssl/certs/ca-certificates.crt + type: string +continuous: + description: Whether to operate in continuous mode. + required: false + default: true + type: boolean +{% endconfiguration %}

The Roomba's MQTT server only allows a single connection. Enabling continuous mode will force the App to connect via the cloud to your Roomba. [More info here](https://github.com/NickWaterton/Roomba980-Python#firmware-2xx-notes) From e401e101fee6c4d3d25c6ea235654aebd9e1fbc6 Mon Sep 17 00:00:00 2001 From: Fabien Piuzzi Date: Thu, 11 Oct 2018 19:53:34 +0200 Subject: [PATCH 099/217] Updated configuration examples to match changes of the component (#6239) * Updated configuration examples to match changes of the component * Adding port configuration documentation * Updated octoprint documentation to reflect components changes * configuration variable type tweak * added more keys descriptions * typo fix * Documentation tweaks after feedback --- .../binary_sensor.octoprint.markdown | 22 +--- source/_components/octoprint.markdown | 106 ++++++++++++++++-- source/_components/sensor.octoprint.markdown | 31 +---- 3 files changed, 100 insertions(+), 59 deletions(-) diff --git a/source/_components/binary_sensor.octoprint.markdown b/source/_components/binary_sensor.octoprint.markdown index 369205ad94a..56d0395e8cf 100644 --- a/source/_components/binary_sensor.octoprint.markdown +++ b/source/_components/binary_sensor.octoprint.markdown @@ -13,26 +13,8 @@ ha_release: 0.19 ha_iot_class: "Local Polling" --- - -The `octoprint` binary sensor platform let you monitor if your 3D printer is printing or if there was a printing error. +The `octoprint` sensor platform let you monitor various states of your 3D printer and its print jobs.

-You must have the [OctoPrint component](/components/octoprint/) configured to use this sensor. +You must have the [OctoPrint component](/components/octoprint/) configured to use this binary sensor. After configuring that component, binary sensors automatically appear.

- -To set it up, add the following information to your `configuration.yaml` file: - -```yaml -binary_sensor: - - platform: octoprint - monitored_conditions: - - Printing - - Printing Error -``` - -Configuration variables: - -- **monitored_conditions** array (*Required*): States to monitor. - - **Printing**: State of the printer. - - **Printing Error**: Error while printing. -- **name** (*Optional*): The name of the sensor. Default is 'OctoPrint'. diff --git a/source/_components/octoprint.markdown b/source/_components/octoprint.markdown index 29e6c039ed9..f921c6eaabf 100644 --- a/source/_components/octoprint.markdown +++ b/source/_components/octoprint.markdown @@ -14,25 +14,113 @@ ha_release: 0.19 ha_iot_class: "Local Polling" --- -[OctoPrint](http://octoprint.org/) is a web interface for your 3D printer. This is the main component to integrate OctoPrint sensors, you will have to setup sensors and binary sensors separately. +[OctoPrint](http://octoprint.org/) is a web interface for your 3D printer. This is the main component to integrate OctoPrint sensors. -To get started with the OctoPrint API, please follow the directions on their [site](http://docs.octoprint.org/en/master/api/general.html). Once OctoPrint is configured you will need to add your API key and host to your `configuration.yaml`. +## {% linkable_title Base Configuration %} +To get started with the OctoPrint API, please follow the directions on their [site](http://docs.octoprint.org/en/master/api/general.html). Once OctoPrint is configured you will need to add your API key and host to your `configuration.yaml`. ```yaml octoprint: host: YOUR_OCTOPRINT_HOST api_key: YOUR_API_KEY - bed: false - number_of_tools: 1 ``` -Configuration variables: +{% configuration %} +octoprint: + type: list + required: true + keys: + host: + description: IP address or hostname of Octoprint host. + required: true + type: string + api_key: + description: The retrieved api key. + required: true + type: string + name: + description: The name for this printer, must be unique if multiple printers are defined. + required: false + type: string + default: 'OctoPrint' + port: + description: The port of the Octoprint server. + required: false + type: integer + default: 80 + ssl: + description: Enable or disable SSL + required: false + type: boolean + default: false + bed: + description: If the printer has a heated bed. + required: false + type: boolean + default: false + number_of_tools: + description: Number of temperature adjustable tools. i.e. nozzle. + required: false + type: integer + default: 1 + sensors: + description: Configuration for the sensors + required: false + type: map + keys: + monitored_conditions: + description: The sensors to activate + type: list + default: all (`Current State`, `Temperatures`, `Job Percentage`, `Time Elapsed`, `Time Remaining`) + keys: + "Current State": + description: Text of current state. + "Temperatures": + description: Temperatures of all available tools, eg. `print`, `head`, `print bed`, etc. These will be displayed as `tool0`, `tool1`, or `toolN` please refer to your OctoPrint frontend to associate the tool number with an actual device. + "Job Percentage": + description: Percentage of the job. + "Time Elapsed": + description: Time elapsed on current print job, in seconds. + "Time Remaining": + description: Time remaining on current print job, in seconds. + binary_sensors: + description: Configuration for the binary sensors + required: false + type: map + keys: + monitored_conditions: + description: The sensors to activate + type: list + default: all (`Printing`, `Printing Error`) + keys: + "Printing": + description: State of the printer. + "Printing Error": + description: Error while printing. +{% endconfiguration %} -- **host** (*Required*): IP address or hostname of Octoprint host. -- **api_key** (*Required*): The retrieved api key. -- **bed** (*Optional*): If the printer has a heated bed. -- **number_of_tools** (*Optional*): Number of temperature adjustable tools. i.e. nozzle. +

+If you are tracking temperature it is recommended to set `bed` and/or `number_of_tools` in your octoprint configuration. This will allow the octoprint sensors to load if the printer is offline during Home Assistant startup. +

+ +Example with multiple printers: + +```yaml +octoprint: + - host: YOUR_OCTOPRINT_HOST + api_key: YOUR_API_KEY + name: PRINTER_NAME_1 + number_of_tools: 2 + sensors: + monitored_conditions: + - 'Current State' + - 'Job Percentage' + - host: YOUR_OCTOPRINT_HOST + api_key: YOUR_API_KEY + name: PRINTER_NAME_2 + number_of_tools: 1 +``` If the OctoPrint host is equipped with a web camera it is possible to add this as well. diff --git a/source/_components/sensor.octoprint.markdown b/source/_components/sensor.octoprint.markdown index c9f3aed618a..c2998392855 100644 --- a/source/_components/sensor.octoprint.markdown +++ b/source/_components/sensor.octoprint.markdown @@ -17,34 +17,5 @@ ha_iot_class: "Local Polling" The `octoprint` sensor platform let you monitor various states of your 3D printer and its print jobs.

-You must have the [OctoPrint component](/components/octoprint/) configured to use this sensor. -

- -To set it up, add the following information to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: octoprint - name: OctoPrint - monitored_conditions: - - Current State - - Temperatures - - Job Percentage - - Time Elapsed - - Time Remaining -``` - -Configuration variables: - -- **name** (*Optional*): The name of the sensor. Default is 'OctoPrint'. -- **monitored_conditions** array (*Required*): States to monitor. - - **Current State**: Text of current state. - - **Temperatures**: Temperatures of all available tools, eg. `print`, `head`, `print bed`, etc. These will be displayed as `tool0`, `tool1`, or `toolN` please refer to your OctoPrint frontend to associate the tool number with an actual device. - - **Job Percentage**: Percentage of the job. - - **Time Elapsed**: Time elapsed on current print job, in seconds. - - **Time Remaining**: Time remaining on current print job, in seconds. - -

-If you are tracking temperature it is recommended to set `bed` and/or `number_of_tools` in your octoprint configuration. This will allow the octoprint sensors to load if the printer is offline during Home Assistant startup. +You must have the [OctoPrint component](/components/octoprint/) configured to use this sensor. After configuring that component, sensors automatically appear.

From 9bc92ec1e47d3302c3f882bea950ed1ce0f55de2 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 19:55:13 +0200 Subject: [PATCH 100/217] Update Hikvisioncam switch component configuration variable (#6683) * Update Hikvisioncam switch component configuration variable Update style of Hikvisioncam switch component documentation to follow new configuration variables description. Related to #6385. * :pencil2: Tweak --- .../_components/switch.hikvisioncam.markdown | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/source/_components/switch.hikvisioncam.markdown b/source/_components/switch.hikvisioncam.markdown index 64fc873989b..820a8326072 100644 --- a/source/_components/switch.hikvisioncam.markdown +++ b/source/_components/switch.hikvisioncam.markdown @@ -28,10 +28,29 @@ switch: host: 192.168.1.32 ``` -Configuration variables: - -- **host** (*Required*): The IP address of your Hikvision camera, eg. `192.168.1.32`. -- **port** (*Optional*): The port to connect to your Hikvision camera. Defaults to `80`. -- **name** (*Optional*): This parameter allows you to override the name of your camera. -- **username** (*Optional*): The username for accessing your Hikvision camera. Defaults to `admin`. -- **password** (*Optional*): The password to access your Hikvision camera. Defaults to `12345`. +{% configuration %} +host: + description: The IP address of your Hikvision camera, e.g., `192.168.1.32`. + required: true + type: string +port: + description: The port to connect to your Hikvision camera. + required: false + default: 80 + type: integer +name: + description: This parameter allows you to override the name of your camera. + required: false + default: Hikvision Camera Motion Detection + type: string +username: + description: The username for accessing your Hikvision camera. + required: false + default: admin + type: string +password: + description: The password to access your Hikvision camera. + required: false + default: 12345 + type: string +{% endconfiguration %} From e8f962fa7debdb8736449d497c3183c408a989bb Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 20:02:01 +0200 Subject: [PATCH 101/217] Update Kankun switch component configuration variable (#6682) * Update Kankun switch component configuration variable Update style of Kankun switch component documentation to follow new configuration variables description. Related to #6385. * :pencil2: Tweak --- source/_components/switch.kankun.markdown | 49 ++++++++++++++++++----- 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/source/_components/switch.kankun.markdown b/source/_components/switch.kankun.markdown index 919b798f9d1..264a6b98a45 100644 --- a/source/_components/switch.kankun.markdown +++ b/source/_components/switch.kankun.markdown @@ -30,14 +30,41 @@ switch: host: hostname_or_ipaddr ``` -Configuration variables: - -- **switches** (*Required*): The array that contains all Kankun switches. - - **identifier** (*Required*): Name of the Kankun switch as slug. Multiple entries are possible. - - **host** (*Required*): Hostname or IP address of the switch on the local network. - - **name** (*Optional*): Friendly name of the switch. - - **port** (*Optional*): HTTP connection port, defaults to 80. - - **path** (*Optional*): Path of CGI script, defaults to `/cgi-bin/json.cgi`. - - **username** (*Optional*): Username for basic authentication. - - **password** (*Optional*): Password for basic authentication. - +{% configuration %} +switches: + description: The array that contains all Kankun switches. + required: true + type: map + keys: + identifier: + description: Name of the Kankun switch as slug. Multiple entries are possible. + required: true + type: map + keys: + host: + description: Hostname or IP address of the switch on the local network. + required: true + type: string + name: + description: Friendly name of the switch. + required: false + type: string + port: + description: HTTP connection port. + required: false + default: 80 + type: integer + patch: + description: Path of CGI script. + required: false + default: "/cgi-bin/json.cgi" + type: string + username: + description: Username for basic authentication. + required: false + type: string + password: + description: Password for basic authentication. + required: false + type: string +{% endconfiguration %} From 6cc2e8189ec173276e9384e140a250eb479ad84c Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 20:37:27 +0200 Subject: [PATCH 102/217] Update Dlink switch component configuration variable (#6693) * Update Dlink switch component configuration variable Update style of Dlink switch component documentation to follow new configuration variables description. Related to #6385. * :pencil2: Tweak --- source/_components/switch.dlink.markdown | 34 ++++++++++++++++++------ 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/source/_components/switch.dlink.markdown b/source/_components/switch.dlink.markdown index 50da6cf4a7b..18eb457fef4 100644 --- a/source/_components/switch.dlink.markdown +++ b/source/_components/switch.dlink.markdown @@ -32,11 +32,29 @@ switch: password: YOUR_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your D-Link plug, eg. http://192.168.1.32 -- **name** (*Optional*): The name to use when displaying this switch. -- **username** (*Required*): The username for your plug. Defaults to `admin`. -- **password** (*Required*): The password for your plug. Default password is the `PIN` included on the configuration card. -- **use_legacy_protocol** (*Optional*): Enable limited support for legacy firmware protocols (Tested with v1.24). - +{% configuration %} +host: + description: "The IP address of your D-Link plug, e.g., http://192.168.1.32" + required: true + type: string +name: + description: The name to use when displaying this switch. + required: false + default: D-link Smart Plug W215 + type: string +username: + description: The username for your plug. + required: true + default: admin + type: string +password: + description: The password for your plug. + required: true + default: The default password is the `PIN` included on the configuration card. + type: string +use_legacy_protocol: + description: Enable limited support for legacy firmware protocols (Tested with v1.24). + required: false + default: false + type: boolean +{% endconfiguration %} From 4f7c62b21f6ef0a2873a8f797e236ce96c4c597f Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 20:46:58 +0200 Subject: [PATCH 103/217] Update NX584 component configuration variable (#6684) * Update NX584 component configuration variable Update style of NX584 component documentation to follow new configuration variables description. Related to #6385. * :pencil2: Tweak * :pencil2: Typo --- .../alarm_control_panel.nx584.markdown | 22 ++++++++--- .../_components/binary_sensor.nx584.markdown | 39 ++++++++++++++++--- 2 files changed, 50 insertions(+), 11 deletions(-) diff --git a/source/_components/alarm_control_panel.nx584.markdown b/source/_components/alarm_control_panel.nx584.markdown index a98ad9050a6..a46cbf75273 100644 --- a/source/_components/alarm_control_panel.nx584.markdown +++ b/source/_components/alarm_control_panel.nx584.markdown @@ -22,8 +22,20 @@ alarm_control_panel: - platform: nx584 ``` -Configuration variables: - -- **host** (*Optional*): The host where the nx584 server process is running. Defaults to `localhost`. -- **port** (*Optional*): The port where the Alarm panel is listening. Defaults to `5007`. - +{% configuration %} +host: + description: The host where the nx584 server process is running. + required: false + default: localhost + type: string +name: + description: This parameter allows you to override the name. + required: false + default: NX584 + type: string +port: + description: The port where the Alarm panel is listening. + required: false + default: 5007 + type: integer +{% endconfiguration %} diff --git a/source/_components/binary_sensor.nx584.markdown b/source/_components/binary_sensor.nx584.markdown index cce9c46eb0f..0f9c17dea93 100644 --- a/source/_components/binary_sensor.nx584.markdown +++ b/source/_components/binary_sensor.nx584.markdown @@ -25,12 +25,39 @@ binary_sensor: platform: nx584 ``` -Configuration variables: - -- **host** (*Optional*): This is the host where the nx584 server process is running. If unset, it is assumed to be `localhost`, which will work if the server process is running on the same system as Home Assistant. -- **port** (*Optional*): The port where the server process is running. Defaults to `5007`. -- **exclude_zones** (*Optional*): This is a list of zone numbers that should be excluded. Use this to avoid exposing a zone that is of no interest, unconnected, etc. -- **zone_types** (*Optional*): This is a list of zone numbers mapped to zone types. Use this to designate zones as doors, motion sensors, smoke detectors, etc. The list of available zone types relevant to alarm zones are: `opening`, `motion`, `gas`, `smoke`, `moisture`, `safety`. +{% configuration %} +host: + description: This is the host where the nx584 server process is running. If unset, it is assumed to be `localhost`, which will work if the server process is running on the same system as Home Assistant. + required: false + default: localhost + type: string +port: + description: The port where the server process is running. + required: false + default: 5007 + type: integer +exclude_zones: + description: This is a list of zone numbers that should be excluded. Use this to avoid exposing a zone that is of no interest, unconnected, etc. + required: false + type: [list, integer] +zone_types: + description: This is a list of zone numbers mapped to zone types. Use this to designate zones as doors, motion sensors, smoke detectors, etc. See the list of available zone types relevant to alarm zones below. + required: false + type: map + keys: + opening: + description: Opening + motion: + description: Motion + gas: + description: Gas + smoke: + description: Smoke + moisture: + description: Moisture + safety: + description: Safety +{% endconfiguration %} An extended configuration entry could look like this: From 77536f7adf888a55df26a69f1482acf1be23addf Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Thu, 11 Oct 2018 13:48:09 -0500 Subject: [PATCH 104/217] Fixing typos (#6687) Fixed typos in description how to migrate to 0.80. No changes in information/workflow. --- source/_components/google_assistant.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index 81773751d8b..dbed724a625 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -40,9 +40,9 @@ Since release 0.80, the `Authorization Code` type of `OAuth` account linking is - Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. - Click 'Save' at the top right corner, then click 'Test' to generate a new draft version of the Test App. 2. Change your `configuration.yaml` file: - - Remove `client_id`, `access_token`, `agent_uer_id` config from `google_assistant:` since they are no longer needed. + - Remove `client_id`, `access_token`, `agent_user_id` config from `google_assistant:` since they are no longer needed. 3. Restart Home Assistant, open the `Google Assistant` app on your mobile phone then go to `Settings > Home Control`, re-link `[test] your app name`. -4. A browser will be open and asking you to login to your Home Assistant instance, it will edirect back to `Google Assistant` app right afterward. +4. A browser will be open and asking you to login to your Home Assistant instance, it will redirect back to `Google Assistant` app right afterward.

If you've added Home Assistant to the home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant to redirect back to the `Google Assistant` app. From 6577daf37ffe044df6e893e8d4f07d98e0355738 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 20:59:34 +0200 Subject: [PATCH 105/217] Update KNX component configuration variable (#6602) * Update KNX component configuration variable Update style of KNX component (all the 7 files) documentation to follow new configuration variables description. Related to #6385. * Update binary_sensor.knx.markdown * :ambulance: Syntax fix * :ambulance: Tweak after source check * :ambulance: Tweak after suggestion --- source/_components/binary_sensor.knx.markdown | 57 ++++++++++---- source/_components/cover.knx.markdown | 65 ++++++++++++---- source/_components/knx.markdown | 77 ++++++++++++++----- source/_components/light.knx.markdown | 44 +++++++---- source/_components/notify.knx.markdown | 15 ++-- source/_components/scene.knx.markdown | 20 +++-- source/_components/sensor.knx.markdown | 19 ++++- 7 files changed, 223 insertions(+), 74 deletions(-) diff --git a/source/_components/binary_sensor.knx.markdown b/source/_components/binary_sensor.knx.markdown index 6f5ff097906..97004e94b8e 100644 --- a/source/_components/binary_sensor.knx.markdown +++ b/source/_components/binary_sensor.knx.markdown @@ -26,13 +26,29 @@ binary_sensor: address: '6/0/2' ``` -Configuration variables: - -- **address** (*Required*): KNX group address of the binary sensor. -- **name** (*Optional*): A name for this device used within Home Assistant. -- **device_class** (*Optional*): HASS device class e.g., "motion". -- **significant_bit** (*Optional*): Specify which significant bit of the KNX value should be used. Default is 1. -- **reset_after** (*Optional*): Reset back to OFF state after specified milliseconds. +{% configuration %} +address: + description: KNX group address of the binary sensor. + required: true + type: string +name: + description: A name for this device used within Home Assistant. + required: false + type: string +device_class: + description: HASS device class e.g., "motion". + required: false + type: string +significant_bit: + description: Specify which significant bit of the KNX value should be used. + required: false + default: 1 + type: integer +reset_after: + description: Reset back to OFF state after specified milliseconds. + required: false + type: integer +{% endconfiguration %} You can also attach actions to binary sensors (e.g., to switch on a light when a switch was pressed). In this example, one light is switched on when the button was pressed once and two others when the button was pressed a second time. @@ -57,10 +73,23 @@ binary_sensor: service: homeassistant.turn_on ``` -Configuration variables: - -- **name** (*Optional*): A name for this device used within Home Assistant. -- **counter** (*Optional*): Set to 2 if your only want the action to be executed if the button was pressed twice. To 3 for three times button pressed. Defaults to 1. -- **hook** (Optional): Indicates if the automation should be executed on what state of the binary sensor. Values: "on" or "off". Defaults to "on". -- **action**: Specify a list of actions analog to the [automation rules](/docs/automation/action/). - +{% configuration %} +name: + description: A name for this device used within Home Assistant. + required: false + type: string +counter: + description: Set to 2 if your only want the action to be executed if the button was pressed twice. To 3 for three times button pressed. + required: false + default: 1 + type: integer +hook: + description: Indicates if the automation should be executed on what state of the binary sensor. Values are "on" or "off". + required: false + default: "on" + type: string +action: + description: Specify a list of actions analog to the [automation rules](/docs/automation/action/). + required: false + type: list +{% endconfiguration %} diff --git a/source/_components/cover.knx.markdown b/source/_components/cover.knx.markdown index d6d3733c1e1..4e43d315cf1 100644 --- a/source/_components/cover.knx.markdown +++ b/source/_components/cover.knx.markdown @@ -33,17 +33,54 @@ cover: travelling_time_up: 61 ``` -Configuration variables: - -- **name** (*Optional*): A name for this device used within Home Assistant. -- **move_long_address**: KNX group address for moving the cover full up or down. -- **move_short_address** (*Optional*): KNX group address for moving the cover short time up or down. If the KNX device has a stop group address you can use that here. -- **position_address** (*Optional*): KNX group address for moving the cover to the dedicated position. -- **position_state_address** (*Optional*): Separate KNX group address for requesting the current position of the cover. -- **angle_address** (*Optional*): KNX group address for moving the cover to the dedicated angle. -- **angle_state_address** (*Optional*): Separate KNX group address for requesting the current angle of cover. -- **travelling_time_down** (*Optional*): Time cover needs to travel down in seconds. Needed to calculate the intermediate positions of cover while traveling. Defaults to 25. -- **travelling_time_up** (*Optional*): Time cover needs to travel up in seconds. Needed to calculate the intermediate positions of cover while traveling. Defaults to 25. -- **invert_position** (*Optional*): Set this to true if your actuator report fully closed as 100%. -- **invert_angle** (*Optional*): Set this to true if your actuator reports tilt fully closed as 100%. - +{% configuration %} +name: + description: A name for this device used within Home Assistant. + required: false + default: KNX Cover + type: string +move_long_address: + description: KNX group address for moving the cover full up or down. + required: false + type: string +move_short_address: + description: KNX group address for moving the cover short time up or down. If the KNX device has a stop group address you can use that here. + required: false + type: string +position_address: + description: KNX group address for moving the cover to the dedicated position. + required: false + type: string +position_state_address: + description: Separate KNX group address for requesting the current position of the cover. + required: false + type: string +angle_address: + description: KNX group address for moving the cover to the dedicated angle. + required: false + type: string +angle_state_address: + description: Separate KNX group address for requesting the current angle of cover. + required: false + type: string +travelling_time_down: + description: Time cover needs to travel down in seconds. Needed to calculate the intermediate positions of cover while traveling. + required: false + default: 25 + type: integer +travelling_time_up: + description: Time cover needs to travel up in seconds. Needed to calculate the intermediate positions of cover while traveling. + required: false + default: 25 + type: integer +invert_position: + description: Set this to true if your actuator report fully closed as 100%. + required: false + default: false + type: boolean +invert_angle: + description: Set this to true if your actuator reports tilt fully closed as 100%. + required: false + default: false + type: boolean +{% endconfiguration %} diff --git a/source/_components/knx.markdown b/source/_components/knx.markdown index 802b288f4c2..4f1b5b2c4a1 100644 --- a/source/_components/knx.markdown +++ b/source/_components/knx.markdown @@ -23,7 +23,7 @@ The component requires a local KNX/IP interface like the [Weinzierl 730](http://

There is currently support for the following device types within Home Assistant: - + - [Binary Sensor](/components/binary_sensor.knx) - [Cover](/components/cover.knx) - [Sensor](/components/sensor.knx) @@ -47,12 +47,16 @@ Optional, recommended for large KNX installations (>100 devices) and/or if you w knx: config_file: '/path/to/xknx.yaml' ``` - -- **config_file** (*Optional*): The path for XKNX configuration file. +{% configuration %} +config_file: + description: The path for XKNX configuration file. + required: false + type: string +{% endconfiguration %} If the auto detection of the KNX/IP device does not work you can specify ip/port of the tunneling device: -```yaml +```yaml knx: tunneling: host: '192.168.2.23' @@ -60,9 +64,17 @@ knx: local_ip: '192.168.2.109' ``` -- **host**: Host of the KNX/IP tunneling device. -- **port**: Port of the KNX/IP tunneling device. -- **local_ip**: IP of the local interface. +{% configuration %} +host: + description: Host of the KNX/IP tunneling device. + type: string +port: + description: Port of the KNX/IP tunneling device. + type: integer +local_ip: + description: IP of the local interface. + type: string +{% endconfiguration %} Explicit connection to a KNX/IP routing device: @@ -73,7 +85,11 @@ knx: local_ip: '192.168.2.109' ``` -- **local_ip**: The local IP address of interface (which should be used for multicasting). +{% configuration %} +local_ip: + description: The local IP address of interface (which should be used for multicasting). + type: string +{% endconfiguration %} ```yaml knx: @@ -81,9 +97,21 @@ knx: fire_event_filter: ["1/0/*", "6/2,3,4-6/*"] ``` -- **fire_event** (*Optional*): If set to True, platform will write all received KNX messages to event bus -- **fire_event_filter** (*Optional*): If `fire_event` is set `fire_event_filter` has to be specified. `fire_event_filter` defines a list of patterns for filtering KNX addresses. Only telegrams which match this pattern are sent to the HOme Assistant event bus. -- **state_updater** (*Optional*): The component will collect the current state of each configured device from the KNX bus to display it correctly within Home-Assistant. Set this option to False to prevent this behavior. +{% configuration %} +fire_event: + description: If set to True, platform will write all received KNX messages to event bus + required: inclusive + type: boolean +fire_event_filter: + description: If `fire_event` is set `fire_event_filter` has to be specified. `fire_event_filter` defines a list of patterns for filtering KNX addresses. Only telegrams which match this pattern are sent to the HOme Assistant event bus. + required: inclusive + type: [list, string] +state_updater: + description: The component will collect the current state of each configured device from the KNX bus to display it correctly within Home-Assistant. Set this option to False to prevent this behavior. + required: false + default: true + type: boolean +{% endconfiguration %} ### {% linkable_title Services %} @@ -91,12 +119,18 @@ In order to directly interact with the KNX bus, you can now use the following se ``` Domain: knx -Service: send +Service: send Service Data: {"address": "1/0/15", "payload": 0} ``` -* **address**: KNX group address -* **payload**: Payload, either an integer or an array of integers +{% configuration %} +address: + description: KNX group address + type: string +payload: + description: Payload, either an integer or an array of integers + type: [integer, list] +{% endconfiguration %} ### {% linkable_title Exposing sensor values or time to knx bus %} @@ -115,11 +149,18 @@ knx: address: '0/0/23' ``` -* **type**: Type of the exposed value. Either time or datetime or any supported type of [KNX Sensor](/components/sensor.knx/) (e.g., "temperature" or "humidity"). -* **entity_id**: Entity id of the HASS component to be exposed. Not necessary for types time and datetime. -* **address**: KNX group address. +{% configuration %} +type: + description: Type of the exposed value. Either time or datetime or any supported type of [KNX Sensor](/components/sensor.knx/) (e.g., "temperature" or "humidity"). + type: string +entity_id: + description: Entity id of the HASS component to be exposed. Not necessary for types time and datetime. + type: string +address: + description: KNX group address. + type: string +{% endconfiguration %} ### {% linkable_title Known issues %} Due to lame multicast support the routing abstraction and the gateway scanner only work with Python >=3.5. - diff --git a/source/_components/light.knx.markdown b/source/_components/light.knx.markdown index 4a229b62586..2fc2af1508c 100644 --- a/source/_components/light.knx.markdown +++ b/source/_components/light.knx.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: knx.png ha_category: Light -ha_release: 0.44 +ha_release: 0.44 ha_iot_class: "Local Polling" --- @@ -26,21 +26,39 @@ To use your KNX light in your installation, add the following lines to your `con # Example configuration.yaml entry light: - platform: knx - name: Kitchen-Light-1 address: '1/0/9' - brightness_address: '1/0/11' ``` -Configuration variables: - -- **address** (*Required*): KNX group address for switching the light on and off. -- **name** (*Optional*): A name for this device used within Home Assistant. -- **brightness_address** (Optional): KNX group address for dimming light. -- **state_address** (*Optional*): separate KNX group address for retrieving the switch state of the light. -- **brightness_state_address** (*Optional*): separate KNX group address for retrieving the dimmed state of the light. -- **color_address** (*Optional*): separate KNX group address for setting the color of the light. -- **color_state_address** (*Optional*): separate KNX group address for retrieving the color of the light. +{% configuration %} +address: + description: KNX group address for switching the light on and off. + required: true + type: string +name: + description: A name for this device used within Home Assistant. + required: false + type: string +brightness_address: + description: KNX group address for dimming light. + required: false + type: string +state_address: + description: separate KNX group address for retrieving the switch state of the light. + required: false + type: string +brightness_state_address: + description: separate KNX group address for retrieving the dimmed state of the light. + required: false + type: string +color_address: + description: separate KNX group address for setting the color of the light. + required: false + type: string +color_state_address: + description: separate KNX group address for retrieving the color of the light. + required: false + type: string +{% endconfiguration %} Some KNX devices can change their state internally without any messages on the KNX bus, e.g., if you configure a timer on a channel. The optional `state_address` can be used to inform Home Assistant about these state changes. If a KNX message is seen on the bus addressed to the given state address, this will overwrite the state of the switch object. For switching/light actuators that are only controlled by a single group address and can't change their state internally, you don't have to configure the state address. - diff --git a/source/_components/notify.knx.markdown b/source/_components/notify.knx.markdown index 4e81f1e2362..72c18e724d4 100644 --- a/source/_components/notify.knx.markdown +++ b/source/_components/notify.knx.markdown @@ -28,8 +28,13 @@ notify: address: '5/1/10' ``` -Configuration variables: - -* **address** (*Required*): KNX group address of the notification. -* **name** (*Optional*): A name for this device used within Home Assistant. - +{% configuration %} +address: + description: KNX group address of the notification. + required: true + type: string +name: + description: A name for this device used within Home Assistant. + required: false + type: string +{% endconfiguration %} diff --git a/source/_components/scene.knx.markdown b/source/_components/scene.knx.markdown index 7fd18417d87..95fe53698a7 100644 --- a/source/_components/scene.knx.markdown +++ b/source/_components/scene.knx.markdown @@ -29,9 +29,17 @@ scene: scene_number: 23 ``` -Configuration variables: - -- **address** (*Required*): KNX group address of the binary sensor. -- **scene_number** (*Required*): Zero-indexed KNX scene number to be activated. -- **name** (*Optional*): A name for this device used within Home Assistant. - +{% configuration %} +address: + description: KNX group address of the binary sensor. + required: true + type: string +scene_number: + description: Zero-indexed KNX scene number to be activated. + required: true + type: integer +name: + description: A name for this device used within Home Assistant. + required: false + type: string +{% endconfiguration %} diff --git a/source/_components/sensor.knx.markdown b/source/_components/sensor.knx.markdown index 3819a6dfdfd..d558d1c3a15 100644 --- a/source/_components/sensor.knx.markdown +++ b/source/_components/sensor.knx.markdown @@ -13,7 +13,7 @@ ha_release: 0.29 ha_iot_class: "Local Push" --- -The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) sensors. +The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) sensors. The `knx` component must be configured correctly, see [KNX Component](/components/knx). @@ -30,10 +30,21 @@ sensor: ``` +{% configuration %} +address: + description: KNX group address of the sensor. + required: true + type: string +name: + description: A name for this device used within Home Assistant. + required: false + type: string +type: + description: A type from the following table can be defined. The DPT of the group address should match the expected KNX DPT to be parsed correctly. + required: false + type: string +{% endconfiguration %} -- **address** (*Required*): KNX group address of the sensor. -- **name** (*Optional*): A name for this device used within Home Assistant. -- **type** (*Optional*): A type from the following table can be defined. The DPT of the group address should match the expected KNX DPT to be parsed correctly. | type | unit | expected KNX DPT | |--------------------|------|------------------| From ed846d06a061af893e1293aee0f9e90e96d2ecf3 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 21:03:51 +0200 Subject: [PATCH 106/217] Update Toon component configuration variable (#6692) * Update Toon component configuration variable Update style of Toon component documentation to follow new configuration variables description. Related to #6385. * :pencil2: Added 2 variables * :pencil2: Tweak --- source/_components/toon.markdown | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/source/_components/toon.markdown b/source/_components/toon.markdown index e516db9ce87..d5201873af0 100644 --- a/source/_components/toon.markdown +++ b/source/_components/toon.markdown @@ -26,10 +26,26 @@ toon: password: YOUR_PASSWORD ``` -Configuration variables: - -- **username** (*Required*): Username for Mijn Eneco. -- **password** (*Required*): Password for Mijn Eneco. +{% configuration %} +username: + description: Username for Mijn Eneco. + required: true + type: string +password: + description: Password for Mijn Eneco. + required: true + type: string +gas: + description: With this option you can choose whether you want to measure gas consumption. + required: false + default: true + type: boolean +solar: + description: With this option you can choose whether you want to measure electricity production. + required: false + default: false + type: boolean +{% endconfiguration %} Toon is a smart thermostat delivered by the Eneco power company in The Netherlands. It can measure energy consumption (power and gas), but also the amount of energy generated in case solar panels are connected to it. Toon also acts as a z-wave hub for supported devices like the wall plug and the smoke detector. This component uses the [toonlib library](https://github.com/costastf/toonlib) by Costas Tyfoxylos that connects to the unofficial API on [https://toonopafstand.eneco.nl](https://toonopafstand.eneco.nl). From 87803e516951473ef5b6bc909eae05eb6e13b7b4 Mon Sep 17 00:00:00 2001 From: Rohan Kapoor Date: Thu, 11 Oct 2018 12:09:46 -0700 Subject: [PATCH 107/217] Add documentation for the ZoneMinder runstate sensor and service (#6564) * Add documentation for the ZoneMinder runstate sensor and service * Fix typo --- source/_components/sensor.zoneminder.markdown | 2 +- source/_components/zoneminder.markdown | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.zoneminder.markdown b/source/_components/sensor.zoneminder.markdown index e60e2742058..fba8fe49a86 100644 --- a/source/_components/sensor.zoneminder.markdown +++ b/source/_components/sensor.zoneminder.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Local Polling" --- -The `zoneminder` sensor platform lets you monitor the current state of your [ZoneMinder](https://www.zoneminder.com) install including the number of events and the current state of the cameras. +The `zoneminder` sensor platform lets you monitor the current state of your [ZoneMinder](https://www.zoneminder.com) install including the number of events, the current state of the cameras and ZoneMinder's current run state.

You must have the [ZoneMinder component](/components/zoneminder/) configured to use this sensor. diff --git a/source/_components/zoneminder.markdown b/source/_components/zoneminder.markdown index ac8297eaee8..a97c8a36f25 100644 --- a/source/_components/zoneminder.markdown +++ b/source/_components/zoneminder.markdown @@ -44,3 +44,19 @@ zoneminder: username: YOUR_USERNAME password: YOUR_PASSWORD ``` + +### {% linkable_title Service %} + +Once loaded, the `zoneminder` platform will expose a service (`set_run_state`) that can be used to change the current run state of ZoneMinder. + +| Service data attribute | Optional | Description | +|:-----------------------|:---------|:----------------------------------| +| `name` | no | Name of the new run state to set. | + +For example, if your ZoneMinder instance was configured with a run state called "Home", you could write an [automation](/getting-started/automation/) that changes ZoneMinder to the "Home" run state by including the following [action](/getting-started/automation-action/): + ```yaml +action: + service: zoneminder.set_run_state + data: + name: Home +``` From a5dea11af020491ec25ab1d7a267fe4bf3a1e1a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Thu, 11 Oct 2018 21:11:32 +0200 Subject: [PATCH 108/217] Adds warning about lovelace in 'panel_iframe' documentation. (#6694) * Add warning about lovelace * Move the second warning --- source/_components/panel_iframe.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/panel_iframe.markdown b/source/_components/panel_iframe.markdown index ba13cf6967b..9f79b38edb3 100644 --- a/source/_components/panel_iframe.markdown +++ b/source/_components/panel_iframe.markdown @@ -60,3 +60,4 @@ panel_iframe: type: icon {% endconfiguration %} +

Do **not** create one that are named `lovelace` it will overwrite lovelace causing it to never load.

From 7d0759853394979e9cc0fd6bd51a506c91d7b513 Mon Sep 17 00:00:00 2001 From: Rohan Kapoor Date: Thu, 11 Oct 2018 12:21:15 -0700 Subject: [PATCH 109/217] Add `white_value` as a possible variable in `command_on_template` (#6677) * Add `white_value` as a possible variable in `command_on_template` * :pencil2: Tweak --- source/_components/light.mqtt_template.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/light.mqtt_template.markdown b/source/_components/light.mqtt_template.markdown index 27f5e0f0b33..adf44a2a92e 100644 --- a/source/_components/light.mqtt_template.markdown +++ b/source/_components/light.mqtt_template.markdown @@ -52,7 +52,7 @@ state_topic: 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`, `flash`, `transition` and `effect`." + 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: From a3b1ccc8b4e963a0ec9ef8a5da3acdb322b232fd Mon Sep 17 00:00:00 2001 From: Dav0815 <35415680+Dav0815@users.noreply.github.com> Date: Fri, 12 Oct 2018 05:24:10 +1000 Subject: [PATCH 110/217] Documentation for new Transport NSW sensor (#6529) * Documentation for new Transport NSW sensor * Update sensor.transport_nsw.markdown * :pencil2: Tweak * :fire: Removes duplicate header * Fixes of variable names due to code change * Logo update * :arrow_up: ha_release --- .../_components/sensor.transport_nsw.markdown | 54 ++++++++++++++++++ .../images/supported_brands/transport_nsw.png | Bin 0 -> 23839 bytes 2 files changed, 54 insertions(+) create mode 100644 source/_components/sensor.transport_nsw.markdown create mode 100644 source/images/supported_brands/transport_nsw.png diff --git a/source/_components/sensor.transport_nsw.markdown b/source/_components/sensor.transport_nsw.markdown new file mode 100644 index 00000000000..9ddf794d069 --- /dev/null +++ b/source/_components/sensor.transport_nsw.markdown @@ -0,0 +1,54 @@ +--- +layout: page +title: "Transport NSW" +description: "Instructions on how to integrate timetable data for Transport NSW (Australia) within Home Assistant." +date: 2018-10-05 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: transport_nsw.png +ha_category: Transport +ha_iot_class: "Cloud Polling" +ha_release: 0.81 +--- + + +The `transport_nsw` sensor will give you the time until the next departure from a Transport NSW stop (bus, train or ferry). + +Get your free API key from [Transport NSW](https://opendata.transport.nsw.gov.au/). + +In order to find the stop id, just go to Google maps and click on the bus/train/ferry stop. It will give you there the stop ID. + +You can define a bus line, but if you don’t do it, the sensor will pick up the next stop event from any line servicing this stop. + +Then add the data to your `configuration.yaml` file as shown in the example: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: transport_nsw + stop_id: '200024' + api_key: 'YOUR API KEY' +``` + +{% configuration %} +api_key: + description: Your API key for Open Data Transport NSW + required: true + type: string +stop_id: + description: The ID of the stop to get the information for + required: true + type: string +route: + description: Only show a single bus route at the stop. This is the same as the bus number, e.g., `83` + required: false + type: string +name: + description: A friendly name for this sensor. + required: false + type: string +{% endconfiguration %} + +The public information is coming from [Transport NSW](https://opendata.transport.nsw.gov.au/). diff --git a/source/images/supported_brands/transport_nsw.png b/source/images/supported_brands/transport_nsw.png new file mode 100644 index 0000000000000000000000000000000000000000..186ea62def070b0c41879c0897418c056cffb9b9 GIT binary patch literal 23839 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 z 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 literal 0 HcmV?d00001 From 89c2db6639f185664c51b101b2c6e2af5da9474c Mon Sep 17 00:00:00 2001 From: Nicholas Westerhausen Date: Thu, 11 Oct 2018 15:30:54 -0400 Subject: [PATCH 111/217] influxdb component config var formatting (#6641) * influxdb component config var formatting Updating the configuration variable section. I wasn't sure that the customize variables should be included, since they apply to all components from my understanding. - **component_config**, **component_config_domain**, **component_config_glob** (*Optional*): These attributes contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. - **override_measurement** (*Optional*): Measurement name to use for this component, takes precedence over the global 'override_measurement' and component-specific 'unit_of_measurement' attribute. Related to #6385. * Fixed default values based on the component influxdb.py * Update influxdb.markdown Fix both 'int' -> 'integer' Fix default database to correct value of 'home_assistant' * Update influxdb.markdown Added in component customization values to config variables. Left with default description from original component page. I'm checking to see if there is a better way to describe these. * Update influxdb.markdown Fixed wrong type for override_measurement. Happy with description of custom values. * Required Changes Fixed grammar for the three customize variables. --- source/_components/influxdb.markdown | 133 ++++++++++++++++++++++----- 1 file changed, 111 insertions(+), 22 deletions(-) diff --git a/source/_components/influxdb.markdown b/source/_components/influxdb.markdown index 9df07711f80..1ed528b52f7 100644 --- a/source/_components/influxdb.markdown +++ b/source/_components/influxdb.markdown @@ -25,28 +25,117 @@ influxdb: You will still need to create a database named `home_assistant` via InfluxDB's command line interface. For instructions on how to create a database check the [InfluxDB documentation](https://docs.influxdata.com/influxdb/latest/introduction/getting_started/#creating-a-database) relevant to the version you have installed. -Configuration variables: - -- **host** (*Optional*): IP address of your database host, e.g., 192.168.1.10. Defaults to `localhost`. -- **port** (*Optional*): Port to use. Defaults to 8086. -- **username** (*Optional*): The username of the database user. The user needs read/write privileges on the database. -- **password** (*Optional*): The password for the database user account. -- **database** (*Optional*): Name of the database to use. Defaults to `home_assistant`. The database must already exist. -- **ssl** (*Optional*): Use https instead of http to connect. Defaults to false. -- **verify_ssl** (*Optional*): Verify SSL certificate for https request. Defaults to false. -- **max_retries** (*Optional*): Allow the component to retry if there was a network error when transmitting data -- **default_measurement** (*Optional*): Measurement name to use when an entity doesn't have a unit. Defaults to entity id. -- **override_measurement** (*Optional*): Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement. -- **component_config**, **component_config_domain**, **component_config_glob** (*Optional*): These attributes contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. - - **override_measurement** (*Optional*): Measurement name to use for this component, takes precedence over the global 'override_measurement' and component-specific 'unit_of_measurement' attribute. -- **exclude** (*Optional*): Configure which components should be excluded from recording to InfluxDB. - - **entities** (*Optional*): The list of entity ids to be excluded from recording to InfluxDB. - - **domains** (*Optional*): The list of domains to be excluded from recording to InfluxDB. -- **include** (*Optional*): Configure which components should be included in recordings to InfluxDB. If set, all other entities will not be recorded to InfluxDB. Values set by the **blacklist** option will prevail. - - **entities** (*Optional*): The list of entity ids to be included from recordings to InfluxDB. - - **domains** (*Optional*): The list of domains to be included from recordings to InfluxDB. -- **tags** (*Optional*): Tags to mark the data. -- **tags_attributes** (*Optional*): The list of attribute names which should be reported as tags and not fields to InfluxDB. For example, if set to `friendly_name`, it will be possible to group by entities' friendly names as well, in addition to their ids. +{% configuration %} +host: + type: string + description: IP address of your database host, e.g., 192.168.1.10 + required: false + default: localhost +port: + type: integer + description: Port to use + required: false + default: 8086 +username: + type: string + description: The username of the database user. The user needs read/write privileges on the database + required: false +password: + type: string + description: The password for the database user account. + required: false +database: + type: string + description: Name of the database to use. The database must already exist. + required: false + default: home_assistant +ssl: + type: boolean + description: Use https instead of http to connect. + required: false + default: false +verify_ssl: + type: boolean + description: Verify SSL certificate for https request. + required: false + default: true +max_retries: + type: integer + description: Set this to allow the component to retry if there was a network error when transmitting data. + required: false + default: 0 +default_measurement: + type: string + description: Measurement name to use when an entity doesn't have a unit. + required: false + default: uses the entity id of the entity +override_measurement: + type: string + description: Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement. + required: false +exclude: + type: list + description: Configure which components should be excluded from recording to InfluxDB. + required: false + keys: + entities: + type: list + description: The list of entity ids to be excluded from recording to InfluxDB. + required: false + domains: + type: list + description: The list of domains to be excluded from recording to InfluxDB. + required: false +include: + type: list + description: Configure which components should be included in recordings to InfluxDB. If set, all other entities will not be recorded to InfluxDB. Values set by the **exclude** lists will take precedence. + required: false + keys: + entities: + type: string, list + description: The list of entity ids to be included in recording to InfluxDB. + required: false + domains: + type: string, list + description: The list of domains to be included in recording to InfluxDB. + required: false +tags: + type: string, list + description: Tags to mark the data. + default: 0 +tags_attributes: + type: string, list + description: The list of attribute names which should be reported as tags and not fields to InfluxDB. For example, if set to `friendly_name`, it will be possible to group by entities' friendly names as well, in addition to their ids. + required: false + default: 0 +component_config: + type: string + required: false + description: This attribute contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. + keys: + override_measurement: + type: string + description: Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement. + required: false +component_config_domain: + type: string + required: false + description: This attribute contains domain-specific component override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. + keys: + override_measurement: + type: string + description: Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement. + required: false +component_config_glob: + type: string + required: false + description: This attribute contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. + keys: + override_measurement: + type: string + description: Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement. + required: false +{% endconfiguration %} ## {% linkable_title Helper scripts %} From ad0f2d5762dc38a32dcbb68ad750cb9544aac555 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 21:34:31 +0200 Subject: [PATCH 112/217] Update Android IP Webcam component configuration variable (#6593) * Update Android IP Webcam component configuration variable Update style of Android IP webcam component documentation to follow new configuration variables description. Related to #6385. * Update android_ip_webcam.markdown * Changes Android IP Webcam component * :pencil2: Tweak after check source --- source/_components/android_ip_webcam.markdown | 119 ++++++++++++------ 1 file changed, 81 insertions(+), 38 deletions(-) diff --git a/source/_components/android_ip_webcam.markdown b/source/_components/android_ip_webcam.markdown index b11ac13595e..a16ca91b979 100644 --- a/source/_components/android_ip_webcam.markdown +++ b/source/_components/android_ip_webcam.markdown @@ -25,49 +25,92 @@ android_ip_webcam: - host: 192.168.1.10 ``` -Configuration variables: - -- **host** (*Required*): The IP Address of the phone on the network. -- **port** (*Optional*): Default is set 8080. The port the IP Webcam listens on. -- **name** (*Optional*): Override the name of the phone. -- **username** (*Optional*): The username to access the phone. -- **password** (*Optional*): The password to access the phone. -- **scan_interval** (*Optional*): Default is 10 seconds. Defines the update interval of the phone. -- **sensors** array (*Optional*): Conditions to display sensor in the frontend. See the list of supported sensors. -- **switches** array (*Optional*): Conditions to display settings in the frontend. See the list of supported settings. -- **motion_sensor** (*Optional*): Activate motion sensor if auto_discovery is disabled. +{% configuration %} +host: + description: The IP Address of the phone on the network. + required: true + type: string +port: + description: The port the IP Webcam listens on. + required: false + default: 8080 + type: integer +name: + description: Override the name of the phone. + required: false + default: IP Webcam + type: string +username: + description: The username to access the phone. + required: inclusive + type: string +password: + description: The password to access the phone. + required: inclusive + type: string +scan_interval: + description: Defines the update interval of the phone. + required: false + default: 10 + type: integer +sensors: + description: Conditions to display sensor in the frontend. See the list of supported sensors. + required: false + type: list + keys: + audio_connections: + description: Audio Connections + battery_level: + description: Battery Level + battery_temp: + description: Battery Temperature + battery_voltage: + description: Battery Voltage + light: + description: Light Level + motion: + description: Motion + pressure: + description: Pressure + proximity: + description: Proximity + sound: + description: Sound + video_connections: + description: Video Connections +switches: + description: Conditions to display settings in the frontend. See the list of supported switches. + required: false + type: list + keys: + exposure_lock: + description: Exposure Lock + ffc: + description: Front-facing Camera + focus: + description: Focus + gps_active: + description: GPS Active + night_vision: + description: Night Vision + overlay: + description: Overlay + torch: + description: Torch + whitebalance_lock: + description: White Balance Lock + video_recording: + description: Video Recording +motion_sensor: + description: Activate motion sensor if auto_discovery is disabled. + required: false + type: boolean +{% endconfiguration %}

You need to enable logging in the Android app (`Data logging` > `Enable data logging`), if you wish to see the sensor states in Home Assistant. The sensor states stays as `unknown`, until it's enabled.

-### {% linkable_title Supported features %} - -Sensors: - -- audio_connections -- battery_level -- battery_temp -- battery_voltage -- light -- motion -- pressure -- proximity -- sound -- video_connections - -Settings (Switches): - -- exposure_lock -- ffc -- focus -- gps_active -- night_vision -- overlay -- torch -- whitebalance_lock -- video_recording - ## {% linkable_title Full example %} ```yaml From 15923434cb12ab3ec1dee733adff9597a1cd3db9 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Thu, 11 Oct 2018 21:36:58 +0200 Subject: [PATCH 113/217] Reformat the configuration options (#6648) * Reformate the configuration options * Fix formatting * More fixes * Another attempt to fix the jekyl error --- .../_components/sensor.wunderground.markdown | 216 ++++++++++++------ 1 file changed, 150 insertions(+), 66 deletions(-) diff --git a/source/_components/sensor.wunderground.markdown b/source/_components/sensor.wunderground.markdown index 0ce56092b59..b5a2d5bec98 100644 --- a/source/_components/sensor.wunderground.markdown +++ b/source/_components/sensor.wunderground.markdown @@ -13,7 +13,7 @@ ha_release: 0.27 ha_iot_class: "Cloud Polling" --- -The `wunderground` platform uses [Weather Underground](http://www.wunderground.com) as a source for current weather information. +The `wunderground` platform uses [Weather Underground](http://www.wunderground.com) as a source for current weather information.

Obtain a WUnderground API key [here](https://www.wunderground.com/weather/api). They no longer offer free API keys, and all keys must be paid for. At this time existing free keys will continue to work, but will be disabled Dec 31, 2018. As of Sept 6, 2018 Weather Underground states they are declaring the [End of Service for the Weather Underground API](https://apicommunity.wunderground.com/weatherapi/topics/end-of-service-for-the-weather-underground-api). They say they will develop new plans for non-commercial users. No timeline for this has been announced. @@ -33,72 +33,154 @@ sensor: - dewpoint_c ``` -Configuration variables: +{% configuration %} +api_key: + description: The API key for Weather Underground. See above for details. + required: true + type: string +pws_id: + description: "You can enter a Personal Weather Station ID. The current list of Wunderground PWS stations is available [here](https://www.wunderground.com/weatherstation/ListStations.asp). If you do not enter a PWS ID, the current location information (latitude and longitude) from your `configuration.yaml` will be used to display weather conditions." + required: false + type: string +lang: + description: Specify the language that the API returns. The current list of all Wunderground language codes is available [here](https://www.wunderground.com/weather/api/d/docs?d=language-support). If not specified, it defaults to English (EN). + required: false + type: string + default: EN +latitude: + description: Latitude coordinate to monitor weather of (required if **longitude** is specified). + required: false + type: string + default: Coordinates defined in your `configuration.yaml` +longitude: + description: Longitude coordinate to monitor weather of (required if **latitude** is specified). + required: false + type: string + default: Coordinates defined in your `configuration.yaml` +monitored_conditions: + description: Conditions to display in the frontend. The following conditions can be monitored. + required: true + type: list + default: symbol + keys: + alerts: + description: Current severe weather advisories + dewpoint_c: + description: Temperature in Celsius below which water droplets begin to condense and dew can form + dewpoint_f: + description: Temperature in Fahrenheit below which water droplets begin to condense and dew can form + dewpoint_string: + description: Text summary of dew point + feelslike_c: + description: Feels like (or apparent) temperature in Celsius + feelslike_f: + description: Feels like (or apparent) temperature in Fahrenheit + feelslike_string: + description: Text summary of how the current temperature feels like + heat_index_c: + description: Heat index (combined effects of the temperature and humidity of the air) in Celsius + heat_index_f: + description: Heat index (combined effects of the temperature and humidity of the air) in Fahrenheit + heat_index_string: + description: Text summary of current heat index + elevation: + description: Elevation in feet + location: + description: City and State + observation_time: + description: Text summary of observation time + precip_today_in: + description: Total precipitation in inches + precip_today_metric: + description: Total precipitation in metric units + precip_today_string: + description: Text summary of precipitation today + precip_1d_mm: + description: "[[1d]](#1d): Forecasted precipitation intensity in millimeters" + precip_1d_in: + description: "[[1d]](#1d): Forecasted precipitation intensity in inches" + precip_1d: + description: "[[1d]](#1d): Forecasted precipitation probability in %" + pressure_in: + description: Atmospheric air pressure in inches + pressure_mb: + description: Atmospheric air pressure in millibars + pressure_trend: + description: "Atmospheric air pressure trend signal `(+/-)`" + relative_humidity: + description: Relative humidity + station_id: + description: Your personal weather station (PWS) ID + solarradiation: + description: Current levels of solar radiation + temperature_string: + description: Temperature text combining Fahrenheit and Celsius + temp_c: + description: Current temperature in Celsius + temp_f: + description: Current temperature in Fahrenheit + temp_high_record_c: + description: Maximum temperature measured in Celsius + temp_high_record_f: + description: Maximum temperature measured in Fahrenheit + temp_low_record_c: + description: Minimal temperature measured in Celsius + temp_low_record_f: + description: Minimal temperature measured in Fahrenheit + temp_high_avg_c: + description: Average high for today in Celsius + temp_high_avg_f: + description: Average high for today in Fahrenheit + temp_low_avg_c: + description: Average low for today in Celsius + temp_low_avg_f: + description: Average low for today in Fahrenheit + temp_high_1d_c: + description: "[[1d]](#1d): Forecasted high temperature in Celsius" + temp_high_1d_f: + description: "[[1d]](#1d): Forecasted high temperature in Fahrenheit" + temp_low_1d_c: + description: "[[1d]](#1d): Forecasted low temperature in Celsius" + temp_low_1d_f: + description: "[[1d]](#1d): Forecasted low temperature in Fahrenheit" + UV: + description: Current levels of UV radiation. See [here](https://www.wunderground.com/resources/health/uvindex.asp) for explanation. + visibility_km: + description: Average visibility in km + visibility_mi: + description: Average visibility in miles + weather: + description: A human-readable text summary with picture from Wunderground. + weather_1d: + description: "[[12h]](#12h): A human-readable weather forecast using imperial units." + weather_1d_metric: + description: "[[12h]](#12h): A human-readable weather forecast using metric units." + weather_1h: + description: "[[1h]](#1h): Weather conditions in 1 hour. (e.g., \"Thunderstorm\" etc.)" + wind_degrees: + description: Wind degrees + wind_dir: + description: Wind direction + wind_gust_kph: + description: Wind gusts speed in kph + wind_gust_mph: + description: Wind gusts speed in mph + wind_gust_1d_kph: + description: "[[1d]](#1d): Max. forecasted Wind in kph" + wind_gust_1d_mph: + description: "[[1d]](#1d): Max. forecasted Wind in mph" + wind_kph: + description: Current wind speed in kph + wind_mph: + description: Current wind speed in mph + wind_1d_kph: + description: "[[1d]](#1d): Forecasted wind speed in kph" + wind_1d_mph: + description: "[[1d]](#1d): Forecasted wind speed in mph" + wind_string: + description: Text summary of current wind conditions +{% endconfiguration %} -- **api_key** (*Required*): The API key for Weather Underground. See above for details. -- **pws_id** (*Optional*): You can enter a Personal Weather Station ID. The current list of Wunderground PWS stations is available [here](https://www.wunderground.com/weatherstation/ListStations.asp). If you do not enter a PWS ID, the current location information (latitude and longitude) from your `configuration.yaml` will be used to display weather conditions. -- **lang** (*Optional*): Specify the language that the API returns. The current list of all Wunderground language codes is available [here](https://www.wunderground.com/weather/api/d/docs?d=language-support). If not specified, it defaults to English (EN). -- **latitude** (*Optional*): Latitude coordinate to monitor weather of (required if **longitude** is specified). Defaults to coordinates defined in your `configuration.yaml`. -- **longitude** (*Optional*): Longitude coordinate to monitor weather of (required if **latitude** is specified). Defaults to coordinates defined in your `configuration.yaml`. -- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored. - - **alerts**: Current severe weather advisories - - **dewpoint_c**: Temperature in Celsius below which water droplets begin to condense and dew can form - - **dewpoint_f**: Temperature in Fahrenheit below which water droplets begin to condense and dew can form - - **dewpoint_string**: Text summary of dew point - - **feelslike_c**: Feels like (or apparent) temperature in Celsius - - **feelslike_f**: Feels like (or apparent) temperature in Fahrenheit - - **feelslike_string**: Text summary of how the current temperature feels like - - **heat_index_c**: Heat index (combined effects of the temperature and humidity of the air) in Celsius - - **heat_index_f**: Heat index (combined effects of the temperature and humidity of the air) in Fahrenheit - - **heat_index_string**: Text summary of current heat index - - **elevation**: Elevation in feet - - **location**: City and State - - **observation_time**: Text summary of observation time - - **precip_today_in**: Total precipitation in inches - - **precip_today_metric**: Total precipitation in metric units - - **precip_today_string**: Text summary of precipitation today - - **precip_1d_mm** [[1d]](#1d): Forecasted precipitation intensity in millimeters - - **precip_1d_in** [[1d]](#1d): Forecasted precipitation intensity in inches - - **precip_1d** [[1d]](#1d): Forecasted precipitation probability in % - - **pressure_in**: Atmospheric air pressure in inches - - **pressure_mb**: Atmospheric air pressure in millibars - - **pressure_trend**: Atmospheric air pressure trend signal (+/-) - - **relative_humidity**: Relative humidity - - **station_id**: Your personal weather station (PWS) ID - - **solarradiation**: Current levels of solar radiation - - **temperature_string**: Temperature text combining Fahrenheit and Celsius - - **temp_c**: Current temperature in Celsius - - **temp_f**: Current temperature in Fahrenheit - - **temp_high_record_c**: Maximum temperature measured in Celsius - - **temp_high_record_f**: Maximum temperature measured in Fahrenheit - - **temp_low_record_c**: Minimal temperature measured in Celsius - - **temp_low_record_f**: Minimal temperature measured in Fahrenheit - - **temp_high_avg_c**: Average high for today in Celsius - - **temp_high_avg_f**: Average high for today in Fahrenheit - - **temp_low_avg_c**: Average low for today in Celsius - - **temp_low_avg_f**: Average low for today in Fahrenheit - - **temp_high_1d_c** [[1d]](#1d): Forecasted high temperature in Celsius - - **temp_high_1d_f** [[1d]](#1d): Forecasted high temperature in Fahrenheit - - **temp_low_1d_c** [[1d]](#1d): Forecasted low temperature in Celsius - - **temp_low_1d_f** [[1d]](#1d): Forecasted low temperature in Fahrenheit - - **UV**: Current levels of UV radiation. See [here](https://www.wunderground.com/resources/health/uvindex.asp) for explanation. - - **visibility_km**: Average visibility in km - - **visibility_mi**: Average visibility in miles - - **weather**: A human-readable text summary with picture from Wunderground. - - **weather_1d** [[12h]](#12h): A human-readable weather forecast using imperial units. - - **weather_1d_metric** [[12h]](#12h): A human-readable weather forecast using metric units. - - **weather_1h** [[1h]](#1h): Weather conditions in 1 hour. (e.g., "Thunderstorm" etc.) - - **wind_degrees**: Wind degrees - - **wind_dir**: Wind direction - - **wind_gust_kph**: Wind gusts speed in kph - - **wind_gust_mph**: Wind gusts speed in mph - - **wind_gust_1d_kph** [[1d]](#1d): Max. forecasted Wind in kph - - **wind_gust_1d_mph** [[1d]](#1d): Max. forecasted Wind in mph - - **wind_kph**: Current wind speed in kph - - **wind_mph**: Current wind speed in mph - - **wind_1d_kph** [[1d]](#1d): Forecasted wind speed in kph - - **wind_1d_mph** [[1d]](#1d): Forecasted wind speed in mph - - **wind_string**: Text summary of current wind conditions All the conditions listed above will be updated every 5 minutes. @@ -195,6 +277,8 @@ Note: While the platform is called “wunderground” the sensors will show up i Note that the Weather Underground sensor is added to the entity_registry, so second and subsequent Personal Weather Station ID (pws_id) will have their monitored conditions suffixed with an index number e.g. +```yaml - sensor.pws_weather_1d_metric_2 +``` Additional details about the API are available [here](https://www.wunderground.com/weather/api/d/docs). From 7b4305c7ee917bcadcc8f4a4b79da35922058e5f Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 21:39:07 +0200 Subject: [PATCH 114/217] Update Modbus component configuration variable (#6603) * Update Modbus component configuration variable Update style of Modbus component (all the 4 files) documentation to follow new configuration variables description. * Update modbus.markdown * Update binary_sensor.modbus.markdown * Tweak fix * Tweak round 2 :stuck_out_tongue: * :pencil2: Tweak round 3 --- .../_components/binary_sensor.modbus.markdown | 25 ++++-- source/_components/modbus.markdown | 73 ++++++++++++---- source/_components/sensor.modbus.markdown | 75 ++++++++++++---- source/_components/switch.modbus.markdown | 86 +++++++++++++++---- 4 files changed, 202 insertions(+), 57 deletions(-) diff --git a/source/_components/binary_sensor.modbus.markdown b/source/_components/binary_sensor.modbus.markdown index 62f5765dd3e..fbc300c2984 100644 --- a/source/_components/binary_sensor.modbus.markdown +++ b/source/_components/binary_sensor.modbus.markdown @@ -32,13 +32,26 @@ binary_sensor: coil: 110 ``` -Configuration variables: +{% configuration %} +coils: + description: The array contains a list of coils to read from. + required: true + type: [map, list] + keys: + name: + description: Name of the sensor. + required: true + type: string + slave: + description: The number of the slave (Optional for TCP and UDP Modbus). + required: true + type: integer + coil: + description: Coil number. + required: true + type: integer +{% endconfiguration %} -- **coils** array (*Required*): The array contains a list of coils to read from. - - **name** (*Required*): Name of the sensor. - - **slave** (*Required*): The number of the slave (Optional for TCP and UDP Modbus). - - **coil** (*Required*): Coil number. - It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation. ## {% linkable_title Full example %} diff --git a/source/_components/modbus.markdown b/source/_components/modbus.markdown index dcccf0ede67..402cef31af2 100644 --- a/source/_components/modbus.markdown +++ b/source/_components/modbus.markdown @@ -30,15 +30,25 @@ modbus: port: 2020 ``` -Configuration variables: - -- **type** (*Required*): Type of the connection to Modbus. Possible values are: - - *tcp*: Modbus TCP protocol according to "MODBUS Messaging Implementation Guide version 1.0b" provided by Schneider Automation, - - *udp*: Modbus TCP form, but using UDP for transport (removes the overheads required for TCP), - - *rtuovertcp*: Modbus RTU message transmitted with a TCP/IP wrapper and sent over a network instead of serial lines. -- **host** (*Required*): The IP address of your Modbus device, eg. 192.168.1.1. -- **port** (*Required*): The port for the communication. -- **timeout** (*Optional*): Timeout for slave response in seconds. (default: 3) +{% configuration %} +type: + description: Type of the connection to Modbus. Possible values are `tcp` (Modbus TCP protocol according to "MODBUS Messaging Implementation Guide version 1.0b" provided by Schneider Automation.), `udp`(Modbus TCP form, but using UDP for transport. It removes the overheads required for TCP.) and `rtuovertcp` (Modbus RTU message transmitted with a TCP/IP wrapper and sent over a network instead of serial lines.). + required: true + type: string +host: + description: The IP address of your Modbus device, e.g., 192.168.1.1. + required: true + type: string +port: + description: The port for the communication. + required: true + type: integer +timeout: + description: Timeout for slave response in seconds. + required: false + default: 3 + type: integer +{% endconfiguration %} For a serial connection: @@ -54,16 +64,41 @@ modbus: parity: N ``` -Configuration variables: - -- **type** (*Required*): Type of the connection to Modbus. -- **method** (*Required*): Method of the connection to Modbus. -- **port** (*Required*): The port where your Modbus device is connected to your Home Assistant host. -- **baudrate** (*Required*): The speed for the serial connection. -- **stopbits** (*Required*): The stopbits for the serial connection. -- **bytesize** (*Required*): The bytesize for the serial connection. -- **parity** (*Required*): The parity for the serial connection. -- **timeout** (*Optional*): Timeout for slave response in seconds. (default: 3) +{% configuration %} +type: + description: Type of the connection to Modbus. + required: true + type: string +method: + description: Method of the connection to Modbus. + required: true + type: string +port: + description: The port where your Modbus device is connected to your Home Assistant host. + required: true + type: string +baudrate: + description: The speed for the serial connection. + required: true + type: integer +stopbits: + description: The stopbits for the serial connection. + required: true + type: integer +bytesize: + description: The bytesize for the serial connection. + required: true + type: integer +parity: + description: The parity for the serial connection. + required: true + type: string +timeout: + description: Timeout for slave response in seconds. + required: false + default: 3 + type: integer +{% endconfiguration %} ### {% linkable_title Services %} diff --git a/source/_components/sensor.modbus.markdown b/source/_components/sensor.modbus.markdown index d9681e8f678..3345162f9db 100644 --- a/source/_components/sensor.modbus.markdown +++ b/source/_components/sensor.modbus.markdown @@ -45,21 +45,66 @@ sensor: precision: 2 ``` -Configuration variables: - -- **registers** array (*Required*): The array contains a list of relevant registers to read from. - - **name** (*Required*): Name of the sensor. - - **slave** (*Required*): The number of the slave (Optional for tcp and upd Modbus). - - **register** (*Required*): Register number. - - **register_type** (*Optional*): Modbus register type (holding, input), default holding. - - **unit_of_measurement** (*Optional*): Unit to attach to value. - - **count** (*Optional*): Number of registers to read. - - **reverse_order** (*Optional*): Reverse the order of registers when count >1, default False. - - **scale** (*Optional*): Scale factor (output = scale * value + offset), default 1. - - **offset** (*Optional*): Final offset (output = scale * value + offset), default 0. - - **precision** (*Optional*): Number of valid decimals, default 0. - - **data_type** (*Optional*): Response representation (int, uint, float, custom). If float selected, value will be converted to IEEE 754 floating point format. Default int. - - **structure** (*Optional*): If data_type is custom specify here a double quoted python struct format string to unpack the value. See python documentation for details. Ex: ">i". +{% configuration %} +registers: + description: The array contains a list of relevant registers to read from. + required: true + type: map + keys: + name: + description: Name of the sensor. + required: true + type: string + slave: + description: The number of the slave (Optional for tcp and upd Modbus). + required: true + type: integer + register: + description: Register number. + required: true + type: integer + register_type: + description: Modbus register type (holding, input), default holding. + required: false + type: string + unit_of_measurement: + description: Unit to attach to value. + required: false + type: integer + count: + description: Number of registers to read. + required: integer + type: integer + reverse_order: + description: Reverse the order of registers when count >1. + required: false + default: False + type: boolean + scale: + description: Scale factor (output = scale * value + offset). + required: false + default: 1 + type: float + offset: + description: Final offset (output = scale * value + offset). + required: false + default: 0 + type: float + precision: + description: Number of valid decimals. + required: false + default: 0 + type: integer + data_type: + description: Response representation (int, uint, float, custom). If float selected, value will be converted to IEEE 754 floating point format. + required: false + default: int + type: string + structure: + description: "If data_type is custom specify here a double quoted python struct format string to unpack the value. See python documentation for details. Ex: >i." + required: false + type: string +{% endconfiguration %} It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation. diff --git a/source/_components/switch.modbus.markdown b/source/_components/switch.modbus.markdown index 3bf176c125d..60ce92daadd 100644 --- a/source/_components/switch.modbus.markdown +++ b/source/_components/switch.modbus.markdown @@ -40,20 +40,72 @@ switch: command_off: 0 ``` -Configuration variables: - -- **coils** (*Optional*): A list of relevant coils to read from/write to. - - **slave** (*Required*): The number of the slave (can be omitted for tcp and udp Modbus). - - **name** (*Required*): Name of the switch. - - **coil** (*Required*): Coil number. -- **registers** (*Optional*): A list of relevant registers to read from/write to. - - **slave** (*Required*): The number of the slave (can be omitted for tcp and udp Modbus). - - **name** (*Required*): Name of the switch. - - **register** (*Required*): Register number. - - **command_on** (*Required*): Value to write to turn on the switch. - - **command_off** (*Required*): Value to write to turn off the switch. - - **verify_state** (*Optional*): Define if is possible to readback the status of the switch. (default: True) - - **verify_register** (*Optional*): Register to readback. (default: same as register) - - **register_type** (*Optional*): Modbus register type: holding or input. (default: holding) - - **state_on** (*Optional*): Register value when switch is on. (default: same as command_on) - - **state_off** (*Optional*): Register value when switch is off. (default: same as command_off) +{% configuration %} +coils: + description: A list of relevant coils to read from/write to. + required: false + type: map + keys: + slave: + description: The number of the slave (can be omitted for tcp and udp Modbus). + required: true + type: integer + name: + description: Name of the switch. + required: true + type: string + coil: + description: Coil number. + required: true + type: integer +register: + description: A list of relevant registers to read from/write to. + required: false + type: map + keys: + slave: + description: The number of the slave (can be omitted for tcp and udp Modbus). + required: true + type: integer + name: + description: Name of the switch. + required: true + type: string + register: + description: Register number. + required: true + type: integer + command_on: + description: Value to write to turn on the switch. + required: true + type: integer + command_off: + description: Value to write to turn off the switch. + required: true + type: integer + verify_state: + description: Define if is possible to readback the status of the switch. + required: false + default: True + type: boolean + verify_register: + description: Register to readback. + required: false + default: same as register + type: string + register_type: + description: Modbus register types are holding or input. + required: false + default: holding + type: string + state_on: + description: Register value when switch is on. + required: false + default: same as command_on + type: integer + state_off: + description: Register value when switch is off. + required: false + default: same as command_off + type: integer +{% endconfiguration %} From 6326dbfc003ade987a161ea0c8612e0658e7a66b Mon Sep 17 00:00:00 2001 From: Nicholas Westerhausen Date: Thu, 11 Oct 2018 15:40:52 -0400 Subject: [PATCH 115/217] Add InfluxDB Docker setup instructions (#6689) * Add InfluxDB Docker setup instructions Add instructions for setting up a functional and up-to-date InfluxDB instance to use with this component to the documentation. * Remove blog link, add relevant links Removed instructions for setting it up with Docker. Added a link to the hassio community add-on. Added a link to the influxdb installation documentation. * :pencil2: Tweak --- source/_components/influxdb.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/influxdb.markdown b/source/_components/influxdb.markdown index 1ed528b52f7..4052506b526 100644 --- a/source/_components/influxdb.markdown +++ b/source/_components/influxdb.markdown @@ -12,7 +12,7 @@ ha_category: History ha_release: 0.9 --- -The `influxdb` component makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. For more details, [see the blog post on InfluxDB](/blog/2015/12/07/influxdb-and-grafana/). +The `influxdb` component makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. See the [official installation documentation](https://docs.influxdata.com/influxdb/v1.6/introduction/installation/) for how to set up an InfluxDB database, or if you're using Hass.io, [there is a community add-on](https://community.home-assistant.io/t/community-hass-io-add-on-influxdb/54491) available. ## {% linkable_title Configuration %} From 18dd481a9e5d8e491b31ddb810c302794e7a0901 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Thu, 11 Oct 2018 21:42:07 +0200 Subject: [PATCH 116/217] Fix configuration formatting of zamg sensor and weather component (#6686) * Fix formatting of zamg configuration * Fix formatting of zamg weather configuration * Fix formatting of yahoo weather sensor configuration * Add type * Add type * Add default values * Add default values * Fix types and add default values * Fix problem * Fix wrong default value * Fix typo --- source/_components/sensor.yweather.markdown | 58 ++++++++++++------ source/_components/sensor.zamg.markdown | 67 +++++++++++++++------ source/_components/weather.zamg.markdown | 26 ++++++-- 3 files changed, 110 insertions(+), 41 deletions(-) diff --git a/source/_components/sensor.yweather.markdown b/source/_components/sensor.yweather.markdown index fdd5a38b808..befc4a37d5e 100644 --- a/source/_components/sensor.yweather.markdown +++ b/source/_components/sensor.yweather.markdown @@ -20,7 +20,7 @@ The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/ Use of the Yahoo Weather API should not exceed reasonable request volume. Access is limited to 2000 signed calls per day.

-The `woeid` (Where On Earth ID) for your location, as shown in the example below. You can find your WOEID by copying the numeric digits at the end of the URL for your location at [Yahoo Weather](https://www.yahoo.com/news/weather/). If you don't add a WOEID it generate it from Home Assistant's latitude and longitude. +The `woeid` (Where On Earth ID) for your location, as shown in the example below. You can find your WOEID by copying the numeric digits at the end of the URL for your location at [Yahoo Weather](https://www.yahoo.com/news/weather/). If you don't add a WOEID it is generated from Home Assistant's latitude and longitude. To add Yahoo Weather to your installation, add the following to your `configuration.yaml` file: @@ -40,21 +40,46 @@ sensor: - temperature ``` -Configuration variables: - -- **woeid** (*Optional*): See above. -- **forecast** (*Optional*): Day of forecast. The default is the current day to display conditions. -- **name** (*Optional*): The name of the sensor. To easily recognize each sensor when adding more than one Yahoo weather sensor, it is recommended to use the name option. Defaults to `Yweather`. -- **monitored_conditions** array (*Required*): Conditions to display in the frontend. - - **weather**: A human-readable text summary with picture from yahoo. - - **weather_current**: A human-readable text summary with picture from yahoo from current condition. - - **temperature**: The current temperature. - - **temp_min**: The minimal temperature of this day. - - **temp_max**: The maximum temperature of this day. - - **wind_speed**: The wind speed. - - **humidity**: The relative humidity. - - **pressure**: The sea-level air pressure in millibars. - - **visibility**: The average visibility. +{% configuration %} +woeid: + required: false + description: See above. + type: string + default: "Defaults to a WOEID generated from coordinates defined in your `configuration.yaml` file." +forecast: + required: false + description: Day of forecast. The default is the current day to display conditions. + type: integer + default: 0 +name: + required: false + description: "The name of the sensor. To easily recognize each sensor when adding more than one Yahoo weather sensor, it is recommended to use the name option." + type: string + default: "`Yweather`" +monitored_conditions: + required: true + description: Conditions to display in the frontend. + type: list + keys: + weather: + description: A human-readable text summary with picture from yahoo. + weather_current: + description: A human-readable text summary with picture from yahoo from current condition. + temperature: + description: The current temperature. + temp_min: + description: The minimal temperature of this day. + temp_max: + description: The maximum temperature of this day. + wind_speed: + description: The wind speed. + humidity: + description: The relative humidity. + pressure: + description: The sea-level air pressure in millibars. + visibility: + description: The average visibility. +{% endconfiguration %} Example of forecast using multiple days. In example, first sensor shows tomorrow's forecast, second sensor shows the next day and so on: @@ -85,4 +110,3 @@ sensor: ``` Details about the API are available in the [Yahoo! Developer Network](https://developer.yahoo.com/weather/). - diff --git a/source/_components/sensor.zamg.markdown b/source/_components/sensor.zamg.markdown index 014752a66ec..f1d25e0626b 100644 --- a/source/_components/sensor.zamg.markdown +++ b/source/_components/sensor.zamg.markdown @@ -25,24 +25,55 @@ sensor: - platform: zamg ``` -Configuration variables: - -- **station_id** (*Optional*): The ID number for a supported ZAMG station. -- **name** (*Optional*): Additional name for the sensors. Defaults to platform name. -- **latitude** (*Optional*): Latitude coordinate to monitor weather of (required if **longitude** is specified). Defaults to coordinates defined in your `configuration.yaml` file. -- **longitude** (*Optional*): Longitude coordinate to monitor weather of (required if **latitude** is specified). Defaults to coordinates defined in your `configuration.yaml` file. -- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. - - **pressure**: Pressure at station level - - **pressure_sealevel**: Pressure at sea Level - - **humidity**: Humidity - - **wind_speed**: Wind speed - - **wind_bearing**: Wind bearing - - **wind_max_speed**: Top wind speed - - **wind_max_bearing**: Top wind bearing - - **sun_last_hour**: Sun last hour percentage - - **temperature**: Temperature - - **precipitation**: Precipitation - - **dewpoint**: Dew point +{% configuration %} +station_id: + required: false + description: The ID number for a supported ZAMG station. + type: string +name: + required: false + description: Additional name for the sensors. Defaults to platform name. + default: zamg + type: string +latitude: + required: false + description: "Latitude coordinate to monitor weather of (required if **longitude** is specified)." + default: "Defaults to coordinates defined in your `configuration.yaml` file." + type: float +longitude: + required: false + description: "Longitude coordinate to monitor weather of (required if **latitude** is specified)." + default: "Defaults to coordinates defined in your `configuration.yaml` file." + type: float +monitored_conditions: + required: false + description: Conditions to display in the frontend. + type: list + default: temperature + keys: + pressure: + description: Pressure at station level + pressure_sealevel: + description: Pressure at sea Level + humidity: + description: Humidity + wind_speed: + description: Wind speed + wind_bearing: + description: Wind bearing + wind_max_speed: + description: Top wind speed + wind_max_bearing: + description: Top wind bearing + sun_last_hour: + description: Sun last hour percentage + temperature: + description: Temperature + precipitation: + description: Precipitation + dewpoint: + description: Dew point +{% endconfiguration %} A full configuration example: diff --git a/source/_components/weather.zamg.markdown b/source/_components/weather.zamg.markdown index b3112d97ea8..dd62ceec3dc 100644 --- a/source/_components/weather.zamg.markdown +++ b/source/_components/weather.zamg.markdown @@ -27,12 +27,26 @@ weather: - platform: zamg ``` -Configuration variables: - -- **station_id** (*Optional*): The ID number for a supported ZAMG station. -- **name** (*Optional*): A name for the weather platform. -- **latitude** (*Optional*): Latitude coordinate to monitor weather of (required if **longitude** is specified). Defaults to coordinates defined in your `configuration.yaml` file. -- **longitude** (*Optional*): Longitude coordinate to monitor weather of (required if **latitude** is specified). Defaults to coordinates defined in your `configuration.yaml` file. +{% configuration %} +station_id: + required: false + description: The ID number for a supported ZAMG station. + type: string +name: + required: false + description: A name for the weather platform. + type: string +latitude: + required: false + description: "Latitude coordinate to monitor weather of (required if **longitude** is specified)." + default: "Defaults to coordinates defined in your `configuration.yaml` file." + type: float +longitude: + required: false + description: "Longitude coordinate to monitor weather of (required if **latitude** is specified)." + default: "Defaults to coordinates defined in your `configuration.yaml` file." + type: float +{% endconfiguration %}

This platform is an alternative to the [`zamg`](/components/sensor.zamg/) sensor. The weather platform is easier to configure but less customizable. From e8cbe07067a824f83c8a5f8e232e701531c0819b Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 21:43:02 +0200 Subject: [PATCH 117/217] Update Mochad light and switch component configuration variable (#6680) * Update Mochad light and switch component configuration variable Update style of Mochad light and switch component documentation to follow new configuration variables description. Related to #6385. * :ambulance: Bugfix * :rewind: Undo last change * :ambulance: Fix * :ambulance: Fix round 2 --- source/_components/light.mochad.markdown | 28 +++++++++++++++++------ source/_components/switch.mochad.markdown | 24 ++++++++++++------- 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/source/_components/light.mochad.markdown b/source/_components/light.mochad.markdown index 9721e9d6c98..c175d48ffd1 100644 --- a/source/_components/light.mochad.markdown +++ b/source/_components/light.mochad.markdown @@ -26,10 +26,24 @@ light: - address: a5 ``` -Configuration variables: - -- **address** (*Required*): The X10 address of the light. -- **name** (*Optional*): The name of the light. Default is: x10_light_dev_*address*. -- **comm_type** (*Optional*): pl (powerline) or rf (radio frequency). Default is pl. -- **brightness_levels** (*Optional*): The number of brightness levels the X10 light device supports. This can either be 32, 64, or 256 (note that the max -value sent to the device will be n-1 because it starts at 0) +{% configuration %} +address: + description: The X10 address of the light. + required: true + type: string +name: + description: The name of the light. + required: false + default: x10_light_dev_address + type: string +comm_type: + description: pl (powerline) or rf (radio frequency). + required: false + default: pl + type: string +brightness_levels: + description: The number of brightness levels the X10 light device supports. This can either be 32, 64, or 256 (note that the max value sent to the device will be n-1 because it starts at 0). + required: false + default: 32 + type: integer +{% endconfiguration %} diff --git a/source/_components/switch.mochad.markdown b/source/_components/switch.mochad.markdown index a1d7569ec17..6d9c2bba878 100644 --- a/source/_components/switch.mochad.markdown +++ b/source/_components/switch.mochad.markdown @@ -27,11 +27,19 @@ switch: - address: a5 ``` -Configuration variables: - -- **address** (*Required*): The X10 address of the switch. -- **name** (*Optional*): The name of the switch. Default is: x10_switch_dev_*address*. -- **comm_type** (*Optional*): pl (powerline) or rf (radio frequency). Default is pl. - - - +{% configuration %} +address: + description: The X10 address of the switch. + required: true + type: string +name: + description: The name of the switch. + required: false + default: x10_switch_dev_*address* + type: string +comm_type: + description: pl (powerline) or rf (radio frequency). + required: false + default: pl + type: string +{% endconfiguration %} From 6999238d613b328531d7a00f3ae8f6b76427f8b7 Mon Sep 17 00:00:00 2001 From: IIIdefconIII Date: Thu, 11 Oct 2018 22:03:08 +0200 Subject: [PATCH 118/217] Update light.hyperion.markdown (#6696) * Update light.hyperion.markdown * :pencil2: Tweak --- source/_components/light.hyperion.markdown | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/source/_components/light.hyperion.markdown b/source/_components/light.hyperion.markdown index c7622a1a3fc..622fdca3720 100644 --- a/source/_components/light.hyperion.markdown +++ b/source/_components/light.hyperion.markdown @@ -61,3 +61,22 @@ light: type: list default: "['HDMI', 'Cinema brighten lights', 'Cinema dim lights', 'Knight rider', 'Blue mood blobs', 'Cold mood blobs', 'Full color mood blobs', 'Green mood blobs', 'Red mood blobs', 'Warm mood blobs', 'Police Lights Single', 'Police Lights Solid', 'Rainbow mood', 'Rainbow swirl fast', 'Rainbow swirl', 'Random', 'Running dots', 'System Shutdown', 'Snake', 'Sparks Color', 'Sparks', 'Strobe blue', 'Strobe Raspbmc', 'Strobe white', 'Color traces', 'UDP multicast listener', 'UDP listener', 'X-Mas']" {% endconfiguration %} + +## {% linkable_title Example %} + +To start Hyperion with an effect, use the following automation: + +```yaml +automation: +- id: one + alias: Turn Hyperion effect on when light goes on + trigger: + - platform: state + entity_id: light.hyperion + to: 'on' + action: + - service: light.turn_on + data: + entity_id: light.hyperion + effect: "Full color mood blobs" +``` From 22c80839ca1b2d2c93d2839bdf72de1de3d01f84 Mon Sep 17 00:00:00 2001 From: Nicholas Westerhausen Date: Thu, 11 Oct 2018 16:03:20 -0400 Subject: [PATCH 119/217] Update configuration variable format (#6697) Update configuration variable format. Change example configuration to clearly indicate the unique variable that needs replaced. --- source/_components/dweet.markdown | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/source/_components/dweet.markdown b/source/_components/dweet.markdown index fdfab021d8f..41a45e6d6f5 100644 --- a/source/_components/dweet.markdown +++ b/source/_components/dweet.markdown @@ -29,7 +29,7 @@ To use the `dweet` component in your installation, add the following to your `co ```yaml # Example configuration.yaml entry dweet: - name: HAExport + name: YOUR_UNIQUE_IDENTIFIER whitelist: - input_number.brightness - input_boolean.notify_home @@ -37,8 +37,14 @@ dweet: - sensor.cpu ``` -Configuration variables: - -- **name** (*Required*): Choose must choose an unique name. -- **whitelist** (*Required*): List of entity IDs you want to publish. +{% configuration %} +name: + description: A unique identifier for your Home Assistant instance. + required: true + type: string +whitelist: + description: List of entity IDs you want to publish + required: true + type: list +{% endconfiguration %} From 50fa817ec1cbdd6be6a123d7920322460b7c82d5 Mon Sep 17 00:00:00 2001 From: Nicholas Westerhausen Date: Thu, 11 Oct 2018 16:06:20 -0400 Subject: [PATCH 120/217] Fix configuration variables for Graphite component (#6695) * Fix configuration variables Related to #6385. * :pencil2: Tweak --- source/_components/graphite.markdown | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/source/_components/graphite.markdown b/source/_components/graphite.markdown index 4802e4a7586..c4b8a78e2b1 100644 --- a/source/_components/graphite.markdown +++ b/source/_components/graphite.markdown @@ -21,9 +21,21 @@ To enable this component, add the following lines to your `configuration.yaml`: graphite: ``` -Configuration variables: - -- **host** (*Option*): IP address of your graphite host, eg. http://192.168.1.10. Defaults to `localhost` -- **port** (*Optional*): Port to use. Defaults to 2003. -- **prefix** (*Optional*): Prefix is the metric prefix in graphite. Defaults to `ha`. +{% configuration %} +host: + description: IP address of your graphite host, e.g., http://192.168.1.10. + required: false + type: string + default: localhost +port: + description: This is a description of what this key is for. + required: false + type: integer + default: 2003 +prefix: + description: Prefix is the metric prefix in graphite. + required: false + type: string + default: ha +{% endconfiguration %} From 8689698486fda8c95c5d215a73b9f2a34d04b2e9 Mon Sep 17 00:00:00 2001 From: Nicholas Westerhausen Date: Thu, 11 Oct 2018 16:15:59 -0400 Subject: [PATCH 121/217] Update configuration variable format. (#6699) Update configuration variable. Fix api_key value in example configuration. Have consistent capitalization when referencing Emoncms --- source/_components/emoncms_history.markdown | 32 +++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/source/_components/emoncms_history.markdown b/source/_components/emoncms_history.markdown index 3903a53a606..00f978f7fd6 100644 --- a/source/_components/emoncms_history.markdown +++ b/source/_components/emoncms_history.markdown @@ -21,7 +21,7 @@ To use the `emoncms_history` component in your installation, add the following t ```yaml # Example configuration.yaml entry emoncms_history: - api_key: put your emoncms WRITE api key here + api_key: YOUR_EMONCMS_WRITE_API_KEY url: https://emoncms.org inputnode: 19 whitelist: @@ -29,10 +29,26 @@ emoncms_history: - sensor.owm_wind_speed ``` -Configuration variables: - -- **api_key** (*Required*): Your emoncms write api key -- **url** (*Required*): The root URL of your Emoncms installation. (Use https://emoncms.org for the cloud based version) -- **inputnode** (*Required*): Input node that will be used inside emoncms. Please make sure you use a dedicated, not used before, node for this component! -- **whitelist** (*Required*): List of entity IDs you want to publish. -- **scan_interval** (*Optional*): Defines, in seconds, how regularly the states of the whitelisted entities are being gathered and send to emoncms. Default is 30 seconds. +{% configuration %} +api_key: + description: Your Emoncms write api key + required: true + type: string +url: + description: The root URL of your Emoncms installation. (Use https://emoncms.org for the cloud based version) + required: true + type: string +inputnode: + description: Input node that will be used inside Emoncms. Please make sure you use a dedicated, not used before, node for this component! + required: true + type: integer +whitelist: + description: List of entity IDs you want to publish. + required: true + type: list +scan_interval: + description: Defines, in seconds, how regularly the states of the whitelisted entities are being gathered and send to Emoncms. + required: false + type: integer + default: 30 +{% endconfiguration %} From 279982b131b4964b0870247e22877624f9889dd1 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 11 Oct 2018 22:20:23 +0200 Subject: [PATCH 122/217] Change discovery component (#6669) A double line removed --- source/_components/discovery.markdown | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/_components/discovery.markdown b/source/_components/discovery.markdown index 4f4ef7f5a74..ab790508017 100644 --- a/source/_components/discovery.markdown +++ b/source/_components/discovery.markdown @@ -59,8 +59,6 @@ discovery: - homekit ``` -{% linkable_title Configuration variables: %} - {% configuration discovery %} ignore: description: A list of platforms that never will be automatically configured by `discovery`. From 3f38ecb5df5ccf52e1c20eb54d3d454a3505eea5 Mon Sep 17 00:00:00 2001 From: Jelmer Tiete Date: Thu, 11 Oct 2018 16:21:28 -0400 Subject: [PATCH 123/217] Fixed dead link (#6698) * Fixed dead link * :pencil2: Tweaked URL --- source/_components/device_tracker.openwrt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/device_tracker.openwrt.markdown b/source/_components/device_tracker.openwrt.markdown index 2f4b0f5a18e..f9f720ac730 100644 --- a/source/_components/device_tracker.openwrt.markdown +++ b/source/_components/device_tracker.openwrt.markdown @@ -25,7 +25,7 @@ There are _multiple_ ways of integrating an OpenWRT router for presence detectio * [ubus](/components/device_tracker.ubus/) * [luci](/components/device_tracker.luci/) * __passive/event-based__ - External services which notify Home Assistant of devices via the [REST API endpoint](/developers/rest_api.markdown). + External services which notify Home Assistant of devices via the [REST API endpoint](https://developers.home-assistant.io/docs/en/external_api_rest.html). * Advantages: * devices typically registered in under one second when they connect * very few network requests From 60f4bdbbca8e09712f0a4c83b9a5c763408d118d Mon Sep 17 00:00:00 2001 From: Otto Winter Date: Thu, 11 Oct 2018 22:25:25 +0200 Subject: [PATCH 124/217] Add device registry for MQTT sensors (#6513) * Add device registry for MQTT sensors * Update to reflect parent PR * Address comments --- source/_components/sensor.mqtt.markdown | 29 +++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/source/_components/sensor.mqtt.markdown b/source/_components/sensor.mqtt.markdown index 8b8a0fc07b6..0b2182a83f6 100644 --- a/source/_components/sensor.mqtt.markdown +++ b/source/_components/sensor.mqtt.markdown @@ -91,6 +91,35 @@ device_class: required: false type: device_class default: None +device: + description: 'Information about the device this sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.' + required: false + type: map + keys: + identifiers: + description: 'A list of IDs that uniquely identify the device. For example a serial number.' + required: false + type: list, string + connections: + description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.' + required: false + type: list + manufacturer: + description: 'The manufacturer of the device.' + required: false + type: string + model: + description: 'The model of the device.' + required: false + type: string + name: + description: 'The name of the device.' + required: false + type: string + sw_version: + description: 'The firmware version of the device.' + required: false + type: string {% endconfiguration %} ## {% linkable_title Examples %} From 5b942e72bdc484dc7c9ed064c29b3b1692a65269 Mon Sep 17 00:00:00 2001 From: Zack Arnett Date: Thu, 11 Oct 2018 16:34:27 -0400 Subject: [PATCH 125/217] Adding Gauge Card (#6690) * Adding Gauge Card * Updating Docs * Resolving Reviews --- source/_lovelace/guage.markdown | 100 ++++++++++++++++++ .../images/lovelace/lovelace_gauge_card.gif | Bin 0 -> 396744 bytes 2 files changed, 100 insertions(+) create mode 100644 source/_lovelace/guage.markdown create mode 100644 source/images/lovelace/lovelace_gauge_card.gif diff --git a/source/_lovelace/guage.markdown b/source/_lovelace/guage.markdown new file mode 100644 index 00000000000..32528d7371f --- /dev/null +++ b/source/_lovelace/guage.markdown @@ -0,0 +1,100 @@ +--- +layout: page +title: "Gauge Card" +sidebar_label: Gauge +description: "The Gauge card allows you to display sensor information visually" +date: 2018-10-11 10:28 +00:00 +sidebar: true +comments: false +sharing: true +footer: true +--- + +Gauge card is a basic card that allows visually seeing sensor data. + +

+Screenshot of the gauge card +Screenshot of the gauge card. +

+ +```yaml +- type: gauge + entity: sensor.cpu_usuage +``` + +{% configuration %} +type: + required: true + description: gauge + type: string +entity: + required: true + description: "Entity id to show" + type: string +title: + required: false + description: Title of Gauge Data + type: string +unit_of_measurement: + required: false + description: Unit of Measurement given to data + type: string + default: "Unit Of Measurement given by entity" +min: + required: false + description: Minimum value for graph + type: integer + default: 0 +max: + required: false + description: Maximum value for graph + type: integer + default: 100 +severity: + required: false + description: Allows setting of colors for different numbers + type: map + keys: + green: + required: true + description: Value from which to start green color + type: integer + yellow: + required: true + description: Value from which to start yellow color + type: integer + red: + required: true + description: Value from which to start red color + type: integer +{% endconfiguration %} + +## {% linkable_title Examples %} + +Title and Unit of Measurement Example: + +```yaml +- type: gauge + title: CPU Usuage + unit_of_measurement: '%' + entity: sensor.cpu_usuage +``` + +

+Screenshot of the gauge card with custom title and unit of measurement +Screenshot of the gauge card with custom title and unit of measurement. +

+ +Define the severity map: + +```yaml +- type: gauge + title: With Severity + title: CPU Usuage + unit_of_measurement: '%' + entity: sensor.cpu_usuage + severity: + green: 0 + yellow: 45 + red: 85 +``` diff --git a/source/images/lovelace/lovelace_gauge_card.gif b/source/images/lovelace/lovelace_gauge_card.gif new file mode 100644 index 0000000000000000000000000000000000000000..723d4785ff3418e8bc665c29753b122f1caf2b5b GIT binary patch literal 396744 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

N_ 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

UKFmkl2-o#-fAd}8+OnkP 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

lxho4 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�jt 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 Date: Thu, 11 Oct 2018 22:43:06 +0200 Subject: [PATCH 126/217] Documentation for MQTT binary_sensor off_delay (#6448) --- source/_components/binary_sensor.mqtt.markdown | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/_components/binary_sensor.mqtt.markdown b/source/_components/binary_sensor.mqtt.markdown index 42b94292226..132c59298e0 100644 --- a/source/_components/binary_sensor.mqtt.markdown +++ b/source/_components/binary_sensor.mqtt.markdown @@ -109,12 +109,14 @@ value_template: required: false type: string force_update: - description: > - Sends update events even if the value has not changed. - Useful if you want to have meaningful value graphs in history. - reqired: false + description: Sends update events even if the value hasn't changed. Useful if you want to have meaningful value graphs in history. + required: false type: boolean - default: false + default: False +off_delay: + description: For sensors that only sends ‘On’ state updates, this variable sets a delay in seconds after which the sensor state will be updated back to ‘Off’. + required: false + type: integer device: description: 'Information about the device this binary sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.' required: false From 97444e929293ed627a4e27fa5c3551e9db8fa773 Mon Sep 17 00:00:00 2001 From: Brent Hughes Date: Thu, 11 Oct 2018 16:44:32 -0500 Subject: [PATCH 127/217] Added example prometheus config for long-lived tokens (#6688) --- source/_components/prometheus.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_components/prometheus.markdown b/source/_components/prometheus.markdown index 42eddb45996..ea36b0278df 100644 --- a/source/_components/prometheus.markdown +++ b/source/_components/prometheus.markdown @@ -39,8 +39,14 @@ You can then configure Prometheus to fetch metrics from Home Assistant by adding - job_name: 'hass' scrape_interval: 60s metrics_path: /api/prometheus + + # Legacy api password params: api_password: ['PASSWORD'] + + # Long-Lived Access Token + bearer_token: 'your.longlived.token + scheme: https static_configs: - targets: ['HOSTNAME:8123'] From a4230318667c92e8c41028fd1f4fdedc4377cb6f Mon Sep 17 00:00:00 2001 From: cgtobi Date: Thu, 11 Oct 2018 23:45:54 +0200 Subject: [PATCH 128/217] Fix configuration formating (#6701) --- .../sensor.dwd_weather_warnings.markdown | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/source/_components/sensor.dwd_weather_warnings.markdown b/source/_components/sensor.dwd_weather_warnings.markdown index 2965c009260..84ed3ca5b52 100644 --- a/source/_components/sensor.dwd_weather_warnings.markdown +++ b/source/_components/sensor.dwd_weather_warnings.markdown @@ -37,7 +37,15 @@ The warning level is between 0 (no danger) and 4 (extreme weather conditions): - Warnungen vor markantem Wetter (Stufe 2) - Wetterwarnungen (Stufe 1) -Configuration variables: - -- **region_name** (*Optional*): The region name string as identified from the DWD website. If not given, defaults to Hansestadt Hamburg. -- **name** (*Optional*): The name you would like to give to the warnapp sensor. +{% configuration %} +region_name: + required: false + description: The region name string as identified from the DWD website. + default: Hansestadt Hamburg + type: string +name: + required: false + description: The name you would like to give to the warnapp sensor. + type: string + default: DWD-Weather-Warnings +{% endconfiguration %} From eb1b2fcfabde115ee492e783e040ff0282c4476c Mon Sep 17 00:00:00 2001 From: Daniel Shokouhi Date: Thu, 11 Oct 2018 23:41:48 -0700 Subject: [PATCH 129/217] Mention botvac availability (#6710) --- source/_components/vacuum.neato.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/vacuum.neato.markdown b/source/_components/vacuum.neato.markdown index bbdd37730b1..49381f5952b 100644 --- a/source/_components/vacuum.neato.markdown +++ b/source/_components/vacuum.neato.markdown @@ -18,7 +18,7 @@ The `neato` vacuum platform allows you to control your [Neato Botvac Connected]( The status will contain attributes on the robots last clean session.

-If you notice the robot stops responding to commands check the status attribute to see if the robot is offline. If you see "Robot Offline" check the Neato app and make sure your robot is connected and working. If it is not then follow the steps in the app to reset your robot and give it the same name as before then restart Home Assistant. +If you notice the robot stops responding to commands check the state to see if the robot is "unavailable". If you see "unavailable" first try to restart the vacuum and wait about 5 minutes to see if it is no longer "unavailable". If you are still having issues check the Neato app and make sure your robot is connected and working. If it is not then follow the steps in the app to reset your robot and give it the same name as before then restart Home Assistant.

To add `neato` vacuum to your installation, please follow instructions in [Neato component](/components/neato/). From 61cca85e73552836ec5547bbafd913da38fd0964 Mon Sep 17 00:00:00 2001 From: emontnemery Date: Fri, 12 Oct 2018 08:52:07 +0200 Subject: [PATCH 130/217] Documentation for abbreviations in discovery topic (#6294) * Update discovery.markdown * Update discovery.markdown * Update discovery.markdown * Update discovery.markdown * Update discovery.markdown --- source/_docs/mqtt/discovery.markdown | 117 +++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown index af0f99c2c1e..53e1fc9383d 100644 --- a/source/_docs/mqtt/discovery.markdown +++ b/source/_docs/mqtt/discovery.markdown @@ -55,6 +55,118 @@ An empty payload will cause a previously discovered device to be deleted. The `` level can be used by clients to only subscribe to their own (command) topics by using one wildcard topic like `/+//+/set`. +A base topic `~` may be defined in the payload to conserve memory when the same topic base is used multiple times. +In the value of configuration variables ending with `_topic`, `~` will be replaced with the base topic, if the `~` occurs at the beginning or end of the value. + +Configuration variable names in the discovery payload may be abbreviated to conserve memory when sending a discovery message from memory constrained devices. + +Supported abbreviations: +``` + 'aux_cmd_t': 'aux_command_topic', + 'aux_stat_tpl': 'aux_state_template', + 'aux_stat_t': 'aux_state_topic', + 'avty_t': 'availability_topic', + 'away_mode_cmd_t': 'away_mode_command_topic', + 'away_mode_stat_tpl': 'away_mode_state_template', + 'away_mode_stat_t': 'away_mode_state_topic', + 'bri_cmd_t': 'brightness_command_topic', + 'bri_scl': 'brightness_scale', + 'bri_stat_t': 'brightness_state_topic', + 'bri_val_tpl': 'brightness_value_template', + 'clr_temp_cmd_t': 'color_temp_command_topic', + 'clr_temp_stat_t': 'color_temp_state_topic', + 'clr_temp_val_tpl': 'color_temp_value_template', + 'cmd_t': 'command_topic', + 'curr_temp_t': 'current_temperature_topic', + 'dev_cla': 'device_class', + 'fx_cmd_t': 'effect_command_topic', + 'fx_list': 'effect_list', + 'fx_stat_t': 'effect_state_topic', + 'fx_val_tpl': 'effect_value_template', + 'exp_aft': 'expire_after', + 'fan_mode_cmd_t': 'fan_mode_command_topic', + 'fan_mode_stat_tpl': 'fan_mode_state_template', + 'fan_mode_stat_t': 'fan_mode_state_topic', + 'frc_upd': 'force_update', + 'hold_cmd_t': 'hold_command_topic', + 'hold_stat_tpl': 'hold_state_template', + 'hold_stat_t': 'hold_state_topic', + 'ic': 'icon', + 'init': 'initial', + 'json_attr': 'json_attributes', + 'max_temp': 'max_temp', + 'min_temp': 'min_temp', + 'mode_cmd_t': 'mode_command_topic', + 'mode_stat_tpl': 'mode_state_template', + 'mode_stat_t': 'mode_state_topic', + 'name': 'name', + 'on_cmd_type': 'on_command_type', + 'opt': 'optimistic', + 'osc_cmd_t': 'oscillation_command_topic', + 'osc_stat_t': 'oscillation_state_topic', + 'osc_val_tpl': 'oscillation_value_template', + 'pl_arm_away': 'payload_arm_away', + 'pl_arm_home': 'payload_arm_home', + 'pl_avail': 'payload_available', + 'pl_cls': 'payload_close', + 'pl_disarm': 'payload_disarm', + 'pl_hi_spd': 'payload_high_speed', + 'pl_lock': 'payload_lock', + 'pl_lo_spd': 'payload_low_speed', + 'pl_med_spd': 'payload_medium_speed', + 'pl_not_avail': 'payload_not_available', + 'pl_off': 'payload_off', + 'pl_on': 'payload_on', + 'pl_open': 'payload_open', + 'pl_osc_off': 'payload_oscillation_off', + 'pl_osc_on': 'payload_oscillation_on', + 'pl_stop': 'payload_stop', + 'pl_unlk': 'payload_unlock', + 'pow_cmd_t': 'power_command_topic', + 'ret': 'retain', + 'rgb_cmd_tpl': 'rgb_command_template', + 'rgb_cmd_t': 'rgb_command_topic', + 'rgb_stat_t': 'rgb_state_topic', + 'rgb_val_tpl': 'rgb_value_template', + 'send_if_off': 'send_if_off', + 'set_pos_tpl': 'set_position_template', + 'set_pos_t': 'set_position_topic', + 'spd_cmd_t': 'speed_command_topic', + 'spd_stat_t': 'speed_state_topic', + 'spd_val_tpl': 'speed_value_template', + 'spds': 'speeds', + 'stat_clsd': 'state_closed', + 'stat_off': 'state_off', + 'stat_on': 'state_on', + 'stat_open': 'state_open', + 'stat_t': 'state_topic', + 'stat_val_tpl': 'state_value_template', + 'swing_mode_cmd_t': 'swing_mode_command_topic', + 'swing_mode_stat_tpl': 'swing_mode_state_template', + 'swing_mode_stat_t': 'swing_mode_state_topic', + 'temp_cmd_t': 'temperature_command_topic', + 'temp_stat_tpl': 'temperature_state_template', + 'temp_stat_t': 'temperature_state_topic', + 'tilt_clsd_val': 'tilt_closed_value', + 'tilt_cmd_t': 'tilt_command_topic', + 'tilt_inv_stat': 'tilt_invert_state', + 'tilt_max': 'tilt_max', + 'tilt_min': 'tilt_min', + 'tilt_opnd_val': 'tilt_opened_value', + 'tilt_status_opt': 'tilt_status_optimistic', + 'tilt_status_t': 'tilt_status_topic', + 't': 'topic', + 'uniq_id': 'unique_id', + 'unit_of_meas': 'unit_of_measurement', + 'val_tpl': 'value_template', + 'whit_val_cmd_t': 'white_value_command_topic', + 'whit_val_stat_t': 'white_value_state_topic', + 'whit_val_tpl': 'white_value_template', + 'xy_cmd_t': 'xy_command_topic', + 'xy_stat_t': 'xy_state_topic', + 'xy_val_tpl': 'xy_value_template', +``` + ### {% linkable_title Support by third-party tools %} The following firmware for ESP8266, ESP32 and Sonoff unit has built-in support for MQTT discovery: @@ -113,4 +225,9 @@ Setting up a sensor with multiple measurement values requires multiple consecuti - Configuration payload no2: `{"device_class": "sensor", "name": "Humidity", "state_topic": "homeassistant/sensor/sensorBedroom/state", "unit_of_measurement": "%", "value_template": "{% raw %}{{ value_json.humidity}}{% endraw %}" }` - Common state payload: `{ "temperature": 23.20, "humidity": 43.70 }` +Setting up a switch using topic prefix and abbreviated configuration variable names to reduce payload length. +- Configuration topic: `homeassistant/switch/irrigation/config` +- Command topic: `homeassistant/switch/irrigation/set` +- State topic: `homeassistant/switch/irrigation/state` +- Payload: `{"~": "homeassistant/switch/irrigation", "name": "garden", "cmd_t": "~/set", , "stat_t": "~/state"}` From 5b1982b0e1c4fce28245ac7f8ef41014ad6bf5d6 Mon Sep 17 00:00:00 2001 From: Adam <22942687+SilvrrGIT@users.noreply.github.com> Date: Fri, 12 Oct 2018 03:24:41 -0500 Subject: [PATCH 131/217] Add clear-night condition (#6702) * add clear-night condition * Update weather.markdown --- source/_components/weather.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/weather.markdown b/source/_components/weather.markdown index 25fde662082..e558c1a29bc 100644 --- a/source/_components/weather.markdown +++ b/source/_components/weather.markdown @@ -17,6 +17,7 @@ Home Assistant currently supports free web services and such which require a reg The `weather` platform only knows the below listed conditions. The reason for this is that for these conditions is an icon from [Material Design Icons](https://materialdesignicons.com/) available and mapped in the [frontend](https://github.com/home-assistant/home-assistant-polymer/blob/master/src/cards/ha-weather-card.js#L170). +- 'clear-night' - 'cloudy' - 'fog' - 'hail' From 2c5632db5d9a0737fbd101dfc36fc24f249eabcc Mon Sep 17 00:00:00 2001 From: DubhAd Date: Fri, 12 Oct 2018 09:26:13 +0100 Subject: [PATCH 132/217] Adding some details (#6714) The Getting Started doesn't mention how long the install typically takes, or what to do if `hassio.local` doesn't work. --- source/getting-started/index.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index 47a8414807c..b92842ad5a6 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -44,13 +44,17 @@ We will need a few things to get started with installing Home Assistant. For bes 1. Insert the SD card into your Raspberry Pi 3. If you are going to use an Ethernet cable, connect that too. 1. Connect your Raspberry Pi to the power supply, so it turns on. 1. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant, which will take about 20 minutes. -1. Home Assistant will be available at [http://hassio.local:8123][local]. Shortly after the download has started, a simple preparation status page will be available at this URL. Point your browser there. The page refreshes automatically, and Home Assistant will be shown when the download is complete. +1. Home Assistant will be available at [http://hassio.local:8123][local]. Shortly after the download has started, a simple preparation status page will be available at this URL. Point your browser there. The page refreshes automatically, and Home Assistant will be shown when the download is complete (this typically takes around 20 minutes). 1. Please remember to [secure your installation][secure] once you've finished with the installation process. [local]: http://hassio.local:8123 [the examples]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md [secure]: /docs/configuration/securing/ +

+If your router doesn't support mDNS, then you'll have to use the IP address of your Pi instead of `hassio.local`. For example, `http://192.168.0.9:8123`. You should be able to find the IP address of your Pi from the admin interface of your router. +

+

When you're done, remember to set up regular backups of your configuration. These backups will protect you from hardware failure and mistakes. On Hass.io you have snapshots (which you should copy off to another system), but you can back up to [GitHub](/docs/ecosystem/backup/backup_github/), [DropBox](/docs/ecosystem/backup/backup_dropbox/) and many other ways. All that matters is that you set them up and test them regularly.

From 6aa746abdcca175fcfee3e6fb5c9ae334c934a75 Mon Sep 17 00:00:00 2001 From: Sebastian Muszynski Date: Fri, 12 Oct 2018 11:36:36 +0200 Subject: [PATCH 133/217] Provide an individual color temperature range per Yeelight model (#5253) * Provide an individual color temperature range per Yeelight model * Typo fixed * New Yeelight Color added * Headline added --- source/_components/light.yeelight.markdown | 30 +++++++++++++--------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/source/_components/light.yeelight.markdown b/source/_components/light.yeelight.markdown index d5d5adb4e80..83cc0d5a648 100644 --- a/source/_components/light.yeelight.markdown +++ b/source/_components/light.yeelight.markdown @@ -40,6 +40,7 @@ Configuration variables: - **transition** (*Optional*, default 350): Smooth transitions over time (in ms). - **use_music_mode** (*Optional*, default False): Enable music mode. - **save_on_change** (*Optional*, default False): Saves the bulb state in its nonvolatile memory when changed from Home Assistant. +- **model** (*Optional*): Yeelight model. Possible values are `mono1`, `color1`, `strip1`, `bslamp1`, `ceiling1`, `ceiling2`, `ceiling3`, `ceiling4`. The setting is used to enable model specific features f.e. a particular color temperature range. #### {% linkable_title Music mode %} Per default the bulb limits the amount of requests per minute to 60, a limitation which can be bypassed by enabling the music mode. In music mode the bulb is commanded to connect back to a socket provided by the component and it tries to keep the connection open, which may not be wanted in all use-cases. @@ -53,22 +54,27 @@ Determine your bulb IP (using router, software, ping ...). Information on how to enable "LAN Mode" can be found [here](https://getyeti.co/posts/how-to-control-yeelight-and-your-smarthome-with-yeti).

+### {% linkable_title Supported models %} +

This component is tested to work with the following models. If you have a different model and it is working please let us know.

-- **YLDP01YL**: LED Bulb (White) -- **YLDP02YL**: LED Bulb (Color) -- **YLDP03YL**: LED Bulb (Color) - E26 -- **YLDP05YL**: LED Bulb (White) II -- **YLDP06YL**: LED Bulb (Color) II -- **YLDD01YL**: Lightstrip (Color) -- **YLDD02YL**: Lightstrip (Color) -- **MJCTD01YL**: Xiaomi Mijia Bedside Lamp - WIFI Version! -- **MJTD01YL**: Xiaomi Mijia Smart LED Desk Lamp (autodiscovery isn't possible because the device doesn't support mDNS due to the small amount of RAM) -- **YLXD02YL**: Yeelight Ceiling Light 4 (Jiaoyue 650) -- **YLXD01YL**: Yeelight Smart LED Ceiling Light - Youth Version - +| Model ID | Model number | Product name | +|------------|--------------|--------------------------------------------------| +| `mono1` | YLDP01YL | LED Bulb (White) | +| ? | YLDP05YL | LED Bulb (White) - 2nd generation | +| `color1` | YLDP02YL | LED Bulb (Color) | +| `color1` | YLDP03YL | LED Bulb (Color) - E26 | +| `color2` | YLDP06YL | LED Bulb (Color) - 2nd generation | +| `strip1` | YLDD01YL | Lightstrip (Color) | +| `strip1` | YLDD02YL | Lightstrip (Color) | +| `bslamp1` | MJCTD01YL | Xiaomi Mijia Bedside Lamp - WIFI Version! | +| `lamp1` | MJTD01YL | Xiaomi Mijia Smart LED Desk Lamp (autodiscovery isn't possible because the device doesn't support mDNS due to the small amount of RAM) | +| `ceiling1` | ? | Yeelight Ceiling Light | +| `ceiling2` | YLXD01YL | Yeelight Smart LED Ceiling Light - Youth Version | +| `ceiling3` | ? | Yeelight Ceiling Light | +| `ceiling4` | YLXD02YL | Yeelight Ceiling Light 4 (Jiaoyue 650) | ## {% linkable_title Platform Services %} From 2a64d02fc90923a67a973bd367a90aa7d0f946ea Mon Sep 17 00:00:00 2001 From: Emeric Date: Fri, 12 Oct 2018 14:40:26 +0200 Subject: [PATCH 134/217] Update Certificate Expiry sensor (#6715) --- .../_components/sensor.cert_expiry.markdown | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/source/_components/sensor.cert_expiry.markdown b/source/_components/sensor.cert_expiry.markdown index 99b0578b76b..f65dc2acdd1 100644 --- a/source/_components/sensor.cert_expiry.markdown +++ b/source/_components/sensor.cert_expiry.markdown @@ -13,7 +13,7 @@ ha_release: 0.44 ha_iot_class: "depends" --- -The `cert_expiry` sensor fetches information from a configured URL and displays the certificate expiry in days. +The `cert_expiry` sensor fetches information from a configured URL and displays the certificate expiry in days. ## {% linkable_title Configuration %} @@ -26,13 +26,23 @@ sensor: host: home-assistant.io ``` -Configuration variables: - -- **host** (*Required*): The host FQDN (or IP) to retrieve certificate from. -- **port** (*Optional*): The port number where the server is running. Defaults to `443`. -- **name** (*Optional*): The friendly name for the certificate. +{% configuration %} +host: + description: The host FQDN (or IP) to retrieve certificate from. + required: true + type: string +port: + description: The port number where the server is running. + required: false + default: 443 + type: integer +name: + description: The friendly name for the certificate. + required: false + default: SSL Certificate Expiry + type: string +{% endconfiguration %}

Make sure that the URL exactly matches your endpoint or resource.

- From 5b397ec07f0df779afb4e477d12ccd21a83374ea Mon Sep 17 00:00:00 2001 From: cgtobi Date: Fri, 12 Oct 2018 14:41:17 +0200 Subject: [PATCH 135/217] Fix openweathermap config formatting (#6712) * Fix config formatting * Fix default values for lat and long --- .../weather.openweathermap.markdown | 35 ++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/source/_components/weather.openweathermap.markdown b/source/_components/weather.openweathermap.markdown index bf704c2984b..f0d9d1f93bb 100644 --- a/source/_components/weather.openweathermap.markdown +++ b/source/_components/weather.openweathermap.markdown @@ -28,14 +28,33 @@ weather: api_key: YOUR_API_KEY ``` -Configuration variables: - -- **api_key** (*Required*): Your API key for http://openweathermap.org/. -- **name** (*Optional*): Name to use in the frontend. -- **mode** (*Optional*): Can specify `hourly` or `daily`. Select `hourly` for a three-hour forecast or `daily` for daily forecast. Defaults to `hourly`. -- **latitude** (*Optional*): Latitude of the location to display the weather. Defaults to the latitude in your `configuration.yaml` file. -- **longitude** (*Optional*): Longitude of the location to display the weather. Defaults to the longitude in your `configuration.yaml` file. +{% configuration %} +api_key: + required: true + description: Your API key for [OpenWeatherMap](http://openweathermap.org/). + type: string +name: + required: false + description: Name to use in the frontend. + default: OpenWeatherMap + type: string +mode: + required: false + description: "Can specify `hourly` or `daily`. Select `hourly` for a three-hour forecast or `daily` for daily forecast." + default: "`hourly`" + type: string +latitude: + required: false + description: Latitude of the location to display the weather. + default: "The latitude in your `configuration.yaml` file." + type: float +longitude: + required: false + description: Longitude of the location to display the weather. + default: "The longitude in your `configuration.yaml` file." + type: float +{% endconfiguration %}

-This platform is an alternative to the [`openweathermap`](/components/sensor.openweathermap/) sensor. +This platform is an alternative to the [`openweathermap`](/components/sensor.openweathermap/) sensor.

From be6278e12ba849dec97e1c843f837b5b26c07d72 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 12 Oct 2018 15:50:01 +0200 Subject: [PATCH 136/217] but more work on blog post --- source/_posts/2018-10-12-release-80.markdown | 124 ++++++++++++++++-- .../blog/2018-10-release-80/config-ifttt.png | Bin 0 -> 57318 bytes .../lovelace-glance-sensor.png | Bin 0 -> 11612 bytes 3 files changed, 116 insertions(+), 8 deletions(-) create mode 100644 source/images/blog/2018-10-release-80/config-ifttt.png create mode 100644 source/images/blog/2018-10-release-80/lovelace-glance-sensor.png diff --git a/source/_posts/2018-10-12-release-80.markdown b/source/_posts/2018-10-12-release-80.markdown index c7802ae1071..e048c4c9c06 100644 --- a/source/_posts/2018-10-12-release-80.markdown +++ b/source/_posts/2018-10-12-release-80.markdown @@ -8,10 +8,28 @@ author: Paulus Schoutsen author_twitter: balloob comments: true categories: Release-Notes -og_image: /images/blog/2018-10-release-0.80/components.png +og_image: /images/blog/2018-10-release-80/components.png --- -Hacktoberfest!! +
+ +October 12, 2018. 12 days into Hacktoberfest and it's been busier than ever on the repositories. On the main repo, 43 open, 104 closed. How the documentation team is still alive, I don't know: 26 open, 234 closed. If you've opened a contribution that is pending a response, that's probably because we're busy elsewhere or are taking some well deserved rest. + +Alright, new release, we got some cool stuff! Let's start with our [Lovelace UI](/lovelace). We have integrated into Lovelace UI some of the custom cards that our amazing community have built, making them easily accessible to all users. The cards are [Gauge][ll-gauge] and [Sensor][ll-sensor]: + +[ll-gauge]: /lovelace/gauge/ +[ll-sensor]: /lovelace/sensor/ + +Screenshot of new Gauge and Sensor cards + +Next up is a new way to get data into Home Assistant: webhooks. With the introduction of auth and with the introduction of long-lived access tokens, we realized that it's still annoying to have to give full HA access to an app just to get a piece of information in Home Assistant. So with webhooks we can generate unique URLs that are inprobable to guess, and data delivered to the webhook will only go to the designated automation or component. This feature is available for component developers to integrate, or for users via the new automation [webhook trigger](/docs/automation/trigger/#webhook-trigger). + +

+Screenshot of configuring IFTTT +Configuring IFTTT via th integrations panel. +

+ +On the devices side, we got basic support for the new IKEA TRADFRI switches. Allow setting up MQTT broker from Hass.io via a config entry @@ -21,18 +39,16 @@ Tradfri Switches ## {% linkable_title New Platforms %} -- Extract lovelace to it's own component ([@balloob] - [#16816]) ([frontend docs]) ([lovelace docs]) (new-platform) - GitLab-CI sensor integration addition. ([@DanielWinks] - [#16561]) ([sensor.gitlab_ci docs]) (new-platform) - Add support for Opple light ([@jedmeng] - [#16765]) ([light.opple docs]) (new-platform) - Add (EU-based) Honeywell evohome CH/DHW controller ([@zxdavb] - [#16427]) ([evohome docs]) ([climate.evohome docs]) ([climate.honeywell docs]) (new-platform) - Add webhook + IFTTT example ([@balloob] - [#16817]) ([ifttt docs]) ([webhook docs]) (new-platform) - Add basic support for Tradfri switches ([@ggravlingen] - [#17007]) ([tradfri docs]) ([switch.tradfri docs]) (new-platform) -- Break up websocket component ([@balloob] - [#17003]) ([camera docs]) ([config docs]) ([media_player docs]) ([websocket_api docs]) (new-platform) - Add AquaLogic component ([@swilson] - [#16763]) ([aqualogic docs]) ([sensor.aqualogic docs]) ([switch.aqualogic docs]) (new-platform) - Overhaul of Blink platform ([@fronzbot] - [#16942]) ([blink docs]) ([alarm_control_panel.blink docs]) ([binary_sensor.blink docs]) ([camera.blink docs]) ([sensor.blink docs]) (breaking change) (new-platform) -- Add support for Hass.io discovery feature for Add-ons ([@pvizeli] - [#17035]) ([hassio docs]) (new-platform) - Tibber component and notify ([@Danielhiversen] - [#17062]) ([notify docs]) ([tibber docs]) ([sensor.tibber docs]) (breaking change) (new-platform) - Add new component fritzbox binary_sensor ([@hthiery] - [#17057]) ([fritzbox docs]) ([binary_sensor.fritzbox docs]) (new-platform) +- Add a webhook automation trigger ([@balloob] - [#17246]) ([automation.webhook docs]) (beta fix) (new-platform) ## {% linkable_title New Features %} @@ -65,10 +81,39 @@ Experiencing issues introduced by this release? Please report them in our [issue - Tibber component and notify ([@Danielhiversen] - [#17062]) ([notify docs]) ([tibber docs]) ([sensor.tibber docs]) (breaking change) (new-platform) - Remove discovery ([@balloob] - [#17070]) ([hue docs]) (breaking change) +## {% linkable_title Beta Fixes %} + +- Fix incorrect yaml in hangouts ([@balloob] - [#17169]) (beta fix) +- Fix data used for logbook ([@balloob] - [#17172]) ([logbook docs]) (beta fix) +- Fix device_tracker service call & cleanup ([@cdce8p] - [#17173]) ([alert docs]) ([device_sun_light_trigger docs]) ([device_tracker docs]) ([notify docs]) ([switch.flux docs]) (beta fix) +- Bugfix switch flux - light service call ([@cdce8p] - [#17187]) ([switch.flux docs]) (beta fix) +- Upgrade aiolifx_effects to 0.2.1 ([@amelchio] - [#17188]) ([light.lifx docs]) (beta fix) +- Verisure standard config for scan interval ([@persandstrom] - [#17192]) ([verisure docs]) (beta fix) +- Init sub-components using global var. ([@mbrrg] - [#17220]) ([spc docs]) ([alarm_control_panel.spc docs]) ([binary_sensor.spc docs]) (beta fix) +- Prevent accidental device reg override ([@balloob] - [#17136]) (beta fix) +- MyQ cover return unknown state if not available ([@schmittx] - [#17207]) ([cover.myq docs]) (beta fix) +- Fix potential MQTT discovery race condition ([@OttoWinter] - [#17208]) ([mqtt docs]) (beta fix) +- Fix SPC ([@balloob] - [#17236]) ([spc docs]) ([alarm_control_panel.spc docs]) ([binary_sensor.spc docs]) (beta fix) +- Guard for bad device info ([@balloob] - [#17238]) (beta fix) +- updated georss-client library to 0.3 ([@exxamalte] - [#17239]) ([sensor.geo_rss_events docs]) (beta fix) +- Add a webhook automation trigger ([@balloob] - [#17246]) ([automation.webhook docs]) (beta fix) (new-platform) +- block external IP ([@balloob] - [#17248]) ([emulated_hue docs]) (beta fix) +- Fix ambient light state of the Philips Eyecare Lamp (Closes: #16269) ([@syssi] - [#17259]) ([light.xiaomi_miio docs]) (beta fix) +- Add defaults, fixing #17229 ([@StevenLooman] - [#17261]) ([upnp docs]) (beta fix) +- Remove warning on script delay ([@amelchio] - [#17264]) (beta fix) +- Hassio auth ([@pvizeli] - [#17274]) ([hassio docs]) (beta fix) (new-platform) +- Fix hassio discovery ([@pvizeli] - [#17275]) ([hassio docs]) (beta fix) +- fixed 'on_startup() takes 0 positional arguments but 1 was given' ([@PaulAnnekov] - [#17295]) ([sensor.miflora docs]) (beta fix) +- Logbook: filter by entity and period ([@Anonym-tsk] - [#17095]) ([logbook docs]) (beta fix) +- Fix samsung bug ([@arsaboo] - [#17285]) ([media_player.samsungtv docs]) (beta fix) +- Allow tradfri groups for new imported entries ([@MartinHjelmare] - [#17310]) ([tradfri docs]) (beta fix) +- Fix auth for hass.io ([@pvizeli] - [#17318]) ([hassio docs]) (beta fix) +- Hass.io auth/sso part2 ([@pvizeli] - [#17324]) ([hassio docs]) (beta fix) (new-platform) + ## {% linkable_title All changes %} - Add mode (daily/hourly) to darksky ([@randellhodges] - [#16719]) ([weather docs]) ([weather.darksky docs]) ([weather.openweathermap docs]) -- Extract lovelace to it's own component ([@balloob] - [#16816]) ([frontend docs]) ([lovelace docs]) (new-platform) +- Extract lovelace to it's own component ([@balloob] - [#16816]) ([frontend docs]) ([lovelace docs]) - Remove discovered MQTT alarm_control_panel device when discovery topic is cleared ([@emontnemery] - [#16825]) ([alarm_control_panel.mqtt docs]) - Remove discovered MQTT light device when discovery topic is cleared ([@emontnemery] - [#16824]) ([light.mqtt docs]) - Add unique_id to homematic_cloud ([@sander76] - [#16828]) ([homematicip_cloud docs]) @@ -149,7 +194,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Fix MQTT discovery ([@OttoWinter] - [#17004]) ([mqtt docs]) - Upgrade huawei-lte-api to 1.0.16 ([@scop] - [#16972]) ([huawei_lte docs]) - Upgrade locationsharinglib to 3.0.3 ([@fabaff] - [#17010]) ([device_tracker docs]) -- Break up websocket component ([@balloob] - [#17003]) ([camera docs]) ([config docs]) ([media_player docs]) ([websocket_api docs]) (new-platform) +- Break up websocket component ([@balloob] - [#17003]) ([camera docs]) ([config docs]) ([media_player docs]) ([websocket_api docs]) - :hammer: update errors ([@timmo001] - [#17029]) ([switch.rest docs]) - Add new device attributes to fritzbox climate ([@hthiery] - [#17027]) ([fritzbox docs]) ([climate.fritzbox docs]) - Bump Enphase_Envoy dependency for older models ([@DavidDeSloovere] - [#17032]) ([sensor.enphase_envoy docs]) @@ -183,7 +228,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Bump pyenvisalink ([@Cinntax] - [#17086]) ([envisalink docs]) - Async response all the things ([@balloob] - [#17073]) ([config docs]) ([websocket_api docs]) - Add optional headers configuration for scrape ([@dippysan] - [#17085]) ([sensor.scrape docs]) -- Add support for Hass.io discovery feature for Add-ons ([@pvizeli] - [#17035]) ([hassio docs]) (new-platform) +- Add support for Hass.io discovery feature for Add-ons ([@pvizeli] - [#17035]) ([hassio docs]) - Keep the repeat mode when setting Sonos shuffle mode ([@amelchio] - [#17083]) ([media_player.sonos docs]) - Smaller steps for Sonos volume up/down ([@amelchio] - [#17080]) ([media_player.sonos docs]) - Add weather condition code to OpenWeatherMap sensor ([@dbilay] - [#17093]) ([sensor.openweathermap docs]) @@ -220,6 +265,32 @@ Experiencing issues introduced by this release? Please report them in our [issue - Fix miflora connection errors during platform setup ([@PaulAnnekov] - [#16798]) ([sensor.miflora docs]) - Discover Danfoss/devolo RS Room Sensor thermostat ([@prophit987] - [#17153]) ([zwave docs]) - @danielhiversen as codeowner for Tibber ([@prophit987] - [#17154]) +- Fix incorrect yaml in hangouts ([@balloob] - [#17169]) (beta fix) +- Fix data used for logbook ([@balloob] - [#17172]) ([logbook docs]) (beta fix) +- Fix device_tracker service call & cleanup ([@cdce8p] - [#17173]) ([alert docs]) ([device_sun_light_trigger docs]) ([device_tracker docs]) ([notify docs]) ([switch.flux docs]) (beta fix) +- Bugfix switch flux - light service call ([@cdce8p] - [#17187]) ([switch.flux docs]) (beta fix) +- Upgrade aiolifx_effects to 0.2.1 ([@amelchio] - [#17188]) ([light.lifx docs]) (beta fix) +- Verisure standard config for scan interval ([@persandstrom] - [#17192]) ([verisure docs]) (beta fix) +- Init sub-components using global var. ([@mbrrg] - [#17220]) ([spc docs]) ([alarm_control_panel.spc docs]) ([binary_sensor.spc docs]) (beta fix) +- Prevent accidental device reg override ([@balloob] - [#17136]) (beta fix) +- MyQ cover return unknown state if not available ([@schmittx] - [#17207]) ([cover.myq docs]) (beta fix) +- Fix potential MQTT discovery race condition ([@OttoWinter] - [#17208]) ([mqtt docs]) (beta fix) +- Fix SPC ([@balloob] - [#17236]) ([spc docs]) ([alarm_control_panel.spc docs]) ([binary_sensor.spc docs]) (beta fix) +- Guard for bad device info ([@balloob] - [#17238]) (beta fix) +- updated georss-client library to 0.3 ([@exxamalte] - [#17239]) ([sensor.geo_rss_events docs]) (beta fix) +- Add a webhook automation trigger ([@balloob] - [#17246]) ([automation.webhook docs]) (beta fix) (new-platform) +- block external IP ([@balloob] - [#17248]) ([emulated_hue docs]) (beta fix) +- Fix ambient light state of the Philips Eyecare Lamp (Closes: #16269) ([@syssi] - [#17259]) ([light.xiaomi_miio docs]) (beta fix) +- Add defaults, fixing #17229 ([@StevenLooman] - [#17261]) ([upnp docs]) (beta fix) +- Remove warning on script delay ([@amelchio] - [#17264]) (beta fix) +- Hassio auth ([@pvizeli] - [#17274]) ([hassio docs]) (beta fix) (new-platform) +- Fix hassio discovery ([@pvizeli] - [#17275]) ([hassio docs]) (beta fix) +- fixed 'on_startup() takes 0 positional arguments but 1 was given' ([@PaulAnnekov] - [#17295]) ([sensor.miflora docs]) (beta fix) +- Logbook: filter by entity and period ([@Anonym-tsk] - [#17095]) ([logbook docs]) (beta fix) +- Fix samsung bug ([@arsaboo] - [#17285]) ([media_player.samsungtv docs]) (beta fix) +- Allow tradfri groups for new imported entries ([@MartinHjelmare] - [#17310]) ([tradfri docs]) (beta fix) +- Fix auth for hass.io ([@pvizeli] - [#17318]) ([hassio docs]) (beta fix) +- Hass.io auth/sso part2 ([@pvizeli] - [#17324]) ([hassio docs]) (beta fix) (new-platform) [#16427]: https://github.com/home-assistant/home-assistant/pull/16427 [#16560]: https://github.com/home-assistant/home-assistant/pull/16560 @@ -351,6 +422,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [#17091]: https://github.com/home-assistant/home-assistant/pull/17091 [#17092]: https://github.com/home-assistant/home-assistant/pull/17092 [#17093]: https://github.com/home-assistant/home-assistant/pull/17093 +[#17095]: https://github.com/home-assistant/home-assistant/pull/17095 [#17096]: https://github.com/home-assistant/home-assistant/pull/17096 [#17098]: https://github.com/home-assistant/home-assistant/pull/17098 [#17099]: https://github.com/home-assistant/home-assistant/pull/17099 @@ -366,6 +438,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [#17131]: https://github.com/home-assistant/home-assistant/pull/17131 [#17132]: https://github.com/home-assistant/home-assistant/pull/17132 [#17135]: https://github.com/home-assistant/home-assistant/pull/17135 +[#17136]: https://github.com/home-assistant/home-assistant/pull/17136 [#17143]: https://github.com/home-assistant/home-assistant/pull/17143 [#17144]: https://github.com/home-assistant/home-assistant/pull/17144 [#17145]: https://github.com/home-assistant/home-assistant/pull/17145 @@ -374,6 +447,30 @@ Experiencing issues introduced by this release? Please report them in our [issue [#17150]: https://github.com/home-assistant/home-assistant/pull/17150 [#17153]: https://github.com/home-assistant/home-assistant/pull/17153 [#17154]: https://github.com/home-assistant/home-assistant/pull/17154 +[#17169]: https://github.com/home-assistant/home-assistant/pull/17169 +[#17172]: https://github.com/home-assistant/home-assistant/pull/17172 +[#17173]: https://github.com/home-assistant/home-assistant/pull/17173 +[#17187]: https://github.com/home-assistant/home-assistant/pull/17187 +[#17188]: https://github.com/home-assistant/home-assistant/pull/17188 +[#17192]: https://github.com/home-assistant/home-assistant/pull/17192 +[#17207]: https://github.com/home-assistant/home-assistant/pull/17207 +[#17208]: https://github.com/home-assistant/home-assistant/pull/17208 +[#17220]: https://github.com/home-assistant/home-assistant/pull/17220 +[#17236]: https://github.com/home-assistant/home-assistant/pull/17236 +[#17238]: https://github.com/home-assistant/home-assistant/pull/17238 +[#17239]: https://github.com/home-assistant/home-assistant/pull/17239 +[#17246]: https://github.com/home-assistant/home-assistant/pull/17246 +[#17248]: https://github.com/home-assistant/home-assistant/pull/17248 +[#17259]: https://github.com/home-assistant/home-assistant/pull/17259 +[#17261]: https://github.com/home-assistant/home-assistant/pull/17261 +[#17264]: https://github.com/home-assistant/home-assistant/pull/17264 +[#17274]: https://github.com/home-assistant/home-assistant/pull/17274 +[#17275]: https://github.com/home-assistant/home-assistant/pull/17275 +[#17285]: https://github.com/home-assistant/home-assistant/pull/17285 +[#17295]: https://github.com/home-assistant/home-assistant/pull/17295 +[#17310]: https://github.com/home-assistant/home-assistant/pull/17310 +[#17318]: https://github.com/home-assistant/home-assistant/pull/17318 +[#17324]: https://github.com/home-assistant/home-assistant/pull/17324 [@Anonym-tsk]: https://github.com/Anonym-tsk [@Cinntax]: https://github.com/Cinntax [@DanielWinks]: https://github.com/DanielWinks @@ -387,6 +484,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [@OverloadUT]: https://github.com/OverloadUT [@PaulAnnekov]: https://github.com/PaulAnnekov [@SNoof85]: https://github.com/SNoof85 +[@StevenLooman]: https://github.com/StevenLooman [@amelchio]: https://github.com/amelchio [@anapaulagomes]: https://github.com/anapaulagomes [@andersonshatch]: https://github.com/andersonshatch @@ -416,6 +514,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [@jeradM]: https://github.com/jeradM [@kirichkov]: https://github.com/kirichkov [@lwis]: https://github.com/lwis +[@mbrrg]: https://github.com/mbrrg [@mvn23]: https://github.com/mvn23 [@nickovs]: https://github.com/nickovs [@no2chem]: https://github.com/no2chem @@ -426,9 +525,11 @@ Experiencing issues introduced by this release? Please report them in our [issue [@randellhodges]: https://github.com/randellhodges [@rohankapoorcom]: https://github.com/rohankapoorcom [@sander76]: https://github.com/sander76 +[@schmittx]: https://github.com/schmittx [@scop]: https://github.com/scop [@siom79]: https://github.com/siom79 [@swilson]: https://github.com/swilson +[@syssi]: https://github.com/syssi [@thomasloven]: https://github.com/thomasloven [@timmo001]: https://github.com/timmo001 [@tsvi]: https://github.com/tsvi @@ -437,10 +538,12 @@ Experiencing issues introduced by this release? Please report them in our [issue [alarm_control_panel.blink docs]: /components/alarm_control_panel.blink/ [alarm_control_panel.mqtt docs]: /components/alarm_control_panel.mqtt/ [alarm_control_panel.simplisafe docs]: /components/alarm_control_panel.simplisafe/ +[alarm_control_panel.spc docs]: /components/alarm_control_panel.spc/ [alert docs]: /components/alert/ [aqualogic docs]: /components/aqualogic/ [auth docs]: /components/auth/ [automation docs]: /components/automation/ +[automation.webhook docs]: /docs/automation/trigger/#webhook-trigger [binary_sensor.blink docs]: /components/binary_sensor.blink/ [binary_sensor.bmw_connected_drive docs]: /components/binary_sensor.bmw_connected_drive/ [binary_sensor.ffmpeg_motion docs]: /components/binary_sensor.ffmpeg_motion/ @@ -450,6 +553,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [binary_sensor.openuv docs]: /components/binary_sensor.openuv/ [binary_sensor.ping docs]: /components/binary_sensor.ping/ [binary_sensor.rachio docs]: /components/binary_sensor.rachio/ +[binary_sensor.spc docs]: /components/binary_sensor.spc/ [blink docs]: /components/blink/ [bmw_connected_drive docs]: /components/bmw_connected_drive/ [camera docs]: /components/camera/ @@ -466,10 +570,12 @@ Experiencing issues introduced by this release? Please report them in our [issue [counter docs]: /components/counter/ [cover docs]: /components/cover/ [cover.mqtt docs]: /components/cover.mqtt/ +[cover.myq docs]: /components/cover.myq/ [device_sun_light_trigger docs]: /components/device_sun_light_trigger/ [device_tracker docs]: /components/device_tracker/ [device_tracker.tile docs]: /components/device_tracker.tile/ [duckdns docs]: /components/duckdns/ +[emulated_hue docs]: /components/emulated_hue/ [envisalink docs]: /components/envisalink/ [evohome docs]: /components/evohome/ [fan docs]: /components/fan/ @@ -500,6 +606,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [light.mqtt docs]: /components/light.mqtt/ [light.mqtt_json docs]: /components/light.mqtt_json/ [light.opple docs]: /components/light.opple/ +[light.xiaomi_miio docs]: /components/light.xiaomi_miio/ [lock docs]: /components/lock/ [lock.mqtt docs]: /components/lock.mqtt/ [logbook docs]: /components/logbook/ @@ -538,6 +645,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.tibber docs]: /components/sensor.tibber/ [sensor.xiaomi_aqara docs]: /components/sensor.xiaomi_aqara/ [sonos docs]: /components/sonos/ +[spc docs]: /components/spc/ [switch docs]: /components/switch/ [switch.aqualogic docs]: /components/switch.aqualogic/ [switch.flux docs]: /components/switch.flux/ diff --git a/source/images/blog/2018-10-release-80/config-ifttt.png b/source/images/blog/2018-10-release-80/config-ifttt.png new file mode 100644 index 0000000000000000000000000000000000000000..198091207f891abea53a5baed0bcc93580ccdff5 GIT binary patch literal 57318 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%0A{KFgBN_o3aElw${opDKnQ1wXv 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 Date: Thu, 11 Oct 2018 10:37:52 +0200 Subject: [PATCH 137/217] Update tradfri.markdown (#6664) --- source/_components/tradfri.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/tradfri.markdown b/source/_components/tradfri.markdown index 8c16a9a17e2..ce35f040203 100644 --- a/source/_components/tradfri.markdown +++ b/source/_components/tradfri.markdown @@ -38,10 +38,10 @@ host: required: true type: string allow_tradfri_groups: - description: "Set this to `false` to stop Home Assistant from importing the groups defined on the Trådfri bridge." + description: "Set this to `true` to allow Home Assistant to import the groups defined on the Trådfri bridge." required: false type: boolean - default: true + default: false {% endconfiguration %} From 5b70a2a8fdeab0fd3fc0b42278ab726a1caa6e9f Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Thu, 11 Oct 2018 17:30:38 +0200 Subject: [PATCH 138/217] Fix typo in Google Assistant migrate (#6675) --- source/_components/google_assistant.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index b4c686990fd..81773751d8b 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -36,7 +36,7 @@ Since release 0.80, the `Authorization Code` type of `OAuth` account linking is - Input any string you like into `Client Secret`, Home Assistant doesn't need this field. - Change `Authorization URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize` (replace with your actual URL). - Change `Token URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token` (replace with your actual URL). - - In the `Client information` section: + - In the `Configure your client` section: - Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. - Click 'Save' at the top right corner, then click 'Test' to generate a new draft version of the Test App. 2. Change your `configuration.yaml` file: From 0c37673c0b57be8c532533be1ecdfa28c3395889 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Thu, 11 Oct 2018 13:48:09 -0500 Subject: [PATCH 139/217] Fixing typos (#6687) Fixed typos in description how to migrate to 0.80. No changes in information/workflow. --- source/_components/google_assistant.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index 81773751d8b..dbed724a625 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -40,9 +40,9 @@ Since release 0.80, the `Authorization Code` type of `OAuth` account linking is - Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. - Click 'Save' at the top right corner, then click 'Test' to generate a new draft version of the Test App. 2. Change your `configuration.yaml` file: - - Remove `client_id`, `access_token`, `agent_uer_id` config from `google_assistant:` since they are no longer needed. + - Remove `client_id`, `access_token`, `agent_user_id` config from `google_assistant:` since they are no longer needed. 3. Restart Home Assistant, open the `Google Assistant` app on your mobile phone then go to `Settings > Home Control`, re-link `[test] your app name`. -4. A browser will be open and asking you to login to your Home Assistant instance, it will edirect back to `Google Assistant` app right afterward. +4. A browser will be open and asking you to login to your Home Assistant instance, it will redirect back to `Google Assistant` app right afterward.

If you've added Home Assistant to the home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant to redirect back to the `Google Assistant` app. From e01b1a36c4e82195680ed3c8c6c3dd1741ac931b Mon Sep 17 00:00:00 2001 From: Zack Arnett Date: Thu, 11 Oct 2018 16:34:27 -0400 Subject: [PATCH 140/217] Adding Gauge Card (#6690) * Adding Gauge Card * Updating Docs * Resolving Reviews --- source/_lovelace/guage.markdown | 100 ++++++++++++++++++ .../images/lovelace/lovelace_gauge_card.gif | Bin 0 -> 396744 bytes 2 files changed, 100 insertions(+) create mode 100644 source/_lovelace/guage.markdown create mode 100644 source/images/lovelace/lovelace_gauge_card.gif diff --git a/source/_lovelace/guage.markdown b/source/_lovelace/guage.markdown new file mode 100644 index 00000000000..32528d7371f --- /dev/null +++ b/source/_lovelace/guage.markdown @@ -0,0 +1,100 @@ +--- +layout: page +title: "Gauge Card" +sidebar_label: Gauge +description: "The Gauge card allows you to display sensor information visually" +date: 2018-10-11 10:28 +00:00 +sidebar: true +comments: false +sharing: true +footer: true +--- + +Gauge card is a basic card that allows visually seeing sensor data. + +

+Screenshot of the gauge card +Screenshot of the gauge card. +

+ +```yaml +- type: gauge + entity: sensor.cpu_usuage +``` + +{% configuration %} +type: + required: true + description: gauge + type: string +entity: + required: true + description: "Entity id to show" + type: string +title: + required: false + description: Title of Gauge Data + type: string +unit_of_measurement: + required: false + description: Unit of Measurement given to data + type: string + default: "Unit Of Measurement given by entity" +min: + required: false + description: Minimum value for graph + type: integer + default: 0 +max: + required: false + description: Maximum value for graph + type: integer + default: 100 +severity: + required: false + description: Allows setting of colors for different numbers + type: map + keys: + green: + required: true + description: Value from which to start green color + type: integer + yellow: + required: true + description: Value from which to start yellow color + type: integer + red: + required: true + description: Value from which to start red color + type: integer +{% endconfiguration %} + +## {% linkable_title Examples %} + +Title and Unit of Measurement Example: + +```yaml +- type: gauge + title: CPU Usuage + unit_of_measurement: '%' + entity: sensor.cpu_usuage +``` + +

+Screenshot of the gauge card with custom title and unit of measurement +Screenshot of the gauge card with custom title and unit of measurement. +

+ +Define the severity map: + +```yaml +- type: gauge + title: With Severity + title: CPU Usuage + unit_of_measurement: '%' + entity: sensor.cpu_usuage + severity: + green: 0 + yellow: 45 + red: 85 +``` diff --git a/source/images/lovelace/lovelace_gauge_card.gif b/source/images/lovelace/lovelace_gauge_card.gif new file mode 100644 index 0000000000000000000000000000000000000000..723d4785ff3418e8bc665c29753b122f1caf2b5b GIT binary patch literal 396744 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

N_ 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

UKFmkl2-o#-fAd}8+OnkP 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

lxho4 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�jt zi*gmezj*h!kR=O*bmUJ!#JhrJn|=O?+YpiAGiOPpX~|%rGki$g%zne_>RIf$_N_Zs zCWG`I7oYmuBq<@3)jayhyMa2tGLSuvx1oajsndNBOM^?LOS!7Fj4EI>}F*0}l zV*klV*PWtzvuK9+i2aU$L*daa)GX$T_II|DXAZwT9YhE1NR{ts(%;g!lhl)hFJDOk zDdZ`VHxQjdisrNW3`u0*S+)*Q9ql|-x+kLF+^eRMbH7r*^Q ztILTU(Ov39o{S)!cG{W%MIL0a9FcIFO*s zmv7Q`OkSFi{Bm;)=nN#ln+fXw+l30SQqRFSg0=os6R@D$Piuj-9m^0<5-XSpS_jR{H$ zO-we=94Sb()LIiQJXf$nu$>UcEC?S}$Sfz^1kgGtov>EvhE1d6Habna!xXa~wNI@; zMw9?RfV&nW8+H(TugKK+?Oh213}WPjgqoC^6lXRDRLeg^p7~O}`7gmtcO)kEG#!~3 z@x9-4GbWh)>$!7@Bw&P7M&8-x`I2~pXc#bdgl(idy0giCVoBzx@vr^iH(~-}liCii zZCHGtptvvvW4Ww|l$Qq4mIXG~W_^FEx&lJ1jZ%VQi!LT($DX}1ft>RJK$j_HF&9uQ zqF;W=?KVByOepF3h^n}hNe+B1A=aHdE+fm;cu3;zrJGg^qm+(5TUe}{TgbB*2~Y~! zj59`10YG%VBtgI;z{BH0oszU;o>^HdwWw`l*sw#Z7DR|%TZozZVrWqG<@maO_<<^O zjda7H=Eu0a!v}yx6@e9i7{?b0%xG)dXbGnZc6cq#F5<2&91Z84b6Wc8m`n&yrWb7v zwamH~RobX!3E0x4VU`+D=I6I!)`9+UXwc+%SIqNLVkZoJd_H}_K`30_x?|~v+d#*u zhx{Z`_}(&ghH)r|DE*9KF=hCzr@Lqai+Phx+BrhIAV|O475BBxC*JMK$flNUWrO`F zpFbrZw(xf^588F=ucV%$%U?ewx$Tp7<>O3h7dM|gWv}3e)1klO&i_2B|J;EeUk;lb zfyZwB6MN=~LUW>p9? zGj{Yw{*=HWg0OG52hm|*NY8#%z($LA{11bs7mwg8|30)q2){oH{GA81{#AB6=&=9G8Ol>9CsX*{sq5o@Zc)3yvm*a&i{KWWWiLe zRqnOqL+#9hz}vfBgj=5^wvNX^`qVRf#DR;YXbO;GHb18^l{e=lEG6JW2BoQw z&QJZ&-jzlkZ-AeL8#ZDqoHY!YeaJB#S-qAP(X%&z$nG?1 zju(A%3!fG|m=OJF`5meKMa^B84+28&JJaT;xpA}%*_Cxfs&P6`Z4Py$c2~W!pgTrS zv*<|K%k9aQ6Xq|nFC5YHhh|DKE3%4cN#OPF5% zz`gPb?+zR$+bmTOxI>BT_oK*E4niZ)E~(=LbyFn#s;%}`HCuTRndsqmd-7hq@;&jS ze-Fz&86rPUJI^N1`3NLeinFR+++H*}X|KxN(GEQylmEla{07PiZA2w=g*MJn1?_6f zJz7;SzgYApUQHd)yA+8Mcy{Bv+n)Kyp>Jfmo>vcju40!lzwBx~`4`(n)9%{0SUXu8 z`OOIcW3ejG9^Vovt$fjNyZIo3nYMG0+><_Fcq>w2;&Iz76|I+2a7mhVW)MBAJ}dBw zDKKM3m{oAeg!P0hA7aLx2)gdLTc0J~jmm)xG8Sjxxq^N+ar!yR=)*c%Vi){jNZeKr zzN89cjbtY3tYS~TDrC@lZM;g-u^nw`!y1@1~rCB{ATA%K{j0`i& z!;#6($JRhu<G z;#$zdj+Yte!fT)-nT`UXORw>?o)F(*IT#MUSYdUgIhYWlDKV8e1JNHl!EduAJecsQ z9)izg+5jKLMM+585jP;@={70(F165`?;jyI!XxWIR+~8#pJ$E(3rGa1Et2GRqG*fu zA9|75S<&Y=Jc=!1zY|W%^HTopmjqYruR8+%DgcrqAzm+eL=_{*0f=OIRdHf-n2-Fl zEHnTSkW6Hv$-p-csX>#1#N+#|wU2J)U>F|!EF5|z0Esvg!xHox&>{Z z5 zAw$9QCRQk&yr%Rk)2ZeY;YddV=Y0o}^Rf;MFjf&rh#vWAba5TM` zX;->o@zDJE{oq(eVC=1A;3{5APD-GFi%s1^9p#&d04xMl`}Zhfw-OL!%=s;BB^T>G zQy9;zvp1B?cT{_S)wv_^TxepghLH*Fi@7`}XHH7%;?LS+D*;#@Che!uR*&-0+a*YT z6tNpyz^GJ{s&@;NLcq}H4Ja=w`k6)TR(MrYqnbMaN>Y?~Rsa#!I?OHr)4->1L83tk z(LkU)PM~lFWW`<3&TsVDAl~ud*SjT!*n#9*gEjy zEec#gA<3Ama4dojuvWnQ?vkx(iPvwX(DZ_!oj8mi!0fVdERn8V7}#^r3byMIzp3ji z#EsL1xU4vko60>pq@47hQ0%`@Is?X-N1l~Eo|V}@u`NHbCpoR; zwGOGC{`MT$_;_z&*^pL^g@Q8r+i`SKAiT!5PkMttUQP8|2aodxn>7T^@&?cS#x_63 z2&5)s=rQ|gLt3M0brtj%k^_t7u_u0OD_9&l*LpRh#+bBHy~S+BY~m9r0EW})w~g{& zZOyrQ;YvJsv$EfmMtFQ*>5sJ((ll%=(bbQDNnz;9~^mX1`RyaeGoFD{N>PxOCuwmssh`}oFdLy_ZL>i zv}2F;4dk=SeL~or_SR&gKpA&fuFXh+ajKp!dwqp(uKbnP&@ zW=`p$$sJR6#Dv;rVf5i3wTb|^E-Z;(Y|-Xl9gZElpU_?yb-;9Z@=m~EL7|F@P8^m2 zK1KwZJ~@8T{YZS&$jP-yRU?QUsbRh_bt41F=#-}OlxOd&F}bNdbJJew$K}1?U~@D{ zTk>l9?0T9h!9CYlKiKNajLfd?gRK^Mw?kXP@@~}MIiDf^I6?9&6aA$$ec67Ndd({2 z)lIYIGb``eYf;L6Y>88=z}xJ5I}$qSd3%12TYM+XgC~!BSix3VklPAsz83d=1jt`i zY|^t*Q7*Qh2t?54``WBbY+zqrok*9{>+IuZ`*Q5~(PhKHaD(xY2$eYtAH}=yVJG#K zom{)?CN6%$e{7w(f8Xr3Y-7sj-fZ3H@L-jn<>P$?t=$*Z=4@XrR;a@TWGH>#gP#-1 zt!UGM$YHzM)_LAJb#2}ijV7DG&}N0kV)i> zW`QSc{3Xn+3{1>lE;W>z#R)qUHtD{NS`xwy^Ea$*E(sNy@HeZAUp&kDn;v~NL*rYQ zF~u^N?Y;18zo;45)F>wl#q{SugTsInd8k%IT=(gc$-3W}^+41<3uIGDF(b zYA-83KdHT6th+z9Svw2}FR?uI{;t}`u7b4#YMQH0%>ThhDq%kNY5TG4$p8GgM||a! z-U_O2Ig3Yobp*z7{bj=8a1S;4`BO=VRY?a}$qRWV|4vWH0or1KC=mHSt0>d|Gd;1zU;zk}L9I;>zb+)GU^T&a%vhfhR8?o` zfdy0u2?9T+dxLLtb{(#>zk0v66N zLCHGm&c|OXd@VfkN~MN*NLuzygoIJ0KjUxfd^u5U)O`QA4BG{(JdO8Dq)$mY1!4R# z0`?UD&~Ha1C4t#4m3b7xWqwqWk1OTK%SGwJ#DJ9e$+(kWzgj@T6uyuIO;u-u`VJIY z7SxV%L(Yn1RZxSPmS}8dA~01P7R4r~i+9?{o}-htmdfOe@?J(DM=^Zxij^WP6YLUi zNn_?MkCLooRv{Uure$TM_Dxc7sIFgF-ANBY<;tAJlN$4Q5BNbgF))#wLkLfEw5riK z2&zH!DfRXX-?H&#RB;zqADU9aLUw&9K@%qVkOZuV-j%c|Xv_GClBBr(4mtdS>x-W? z&3m_v6p(POBbw&DL2Do(inc9@{F)J);Lo`R5rXy?D^=*I!de&ly{aAsu%-Gvd|tQn zi7#n+Kf-DLlBk?ss|Z{UF|4VFCnN4d2MUFiDdK~0#P#SQMJIM!Y8|fYkS0d05VwLt zBagc~B>|%kM6bwxzovCjVCb*B!P9L&8BOp0>vOHJP)r@3?{}^QM4)|r%R@Y13Ft2~ z`MGEJFY5b@+ijzLKL!%`Jh21X-E4%YI_u9Sy=#Bq&MH+n6=0dWs6s)EJx-oHFHt_E z@1J%g(}wXdZ?b#XR!6Z^-<8-)$#L?e2|9Yf6+4>-BOi5?v(!fqGdai2(8CZQK3#MQ z{mGzO02NXubG|-i88+zB7P|N;Lw-ehLJ(d!L0E7+BA>yYn6%V@Skrde)LL>;LDHr( zmUx|%b3R%zM{a&xGUJERt*T=GeGdVoabGd4yCR7 z#xcsMACjhenW)2B0tMOVlA0Y4r_#Hb_0H;*+1iqCOAGBBF~W=~-w*f8h_qmgi!J-ythq&7a;*Vh5tp@Q$RHx|;!D8azR(s+MUEO^#Bkz84 zw!ZpG)NX6 z2mu#*6cCP)3wJG=9em<^F(6(^_vzZ)1lFQB zDEBlaxWm~q6+S{}_Y|zxv^i;4+?ivLw)Mo@U$YzN-kqcrIQo`)@TCfSM92bruN`k(2RezULz>a$dQTFTH2|hbK`q*0&IoD0?VcxI8$ko%2>A zGf!AI`=%rdJl+*$maYWf*vZHt*NJ0^Qyd5vyxMWkMJwQH%HC^_??w1hbx=@)ra&Cv zKqs*ho3$LX=b%GQjt;UwsWU}VFro9anOku9@;T88@}$nAc#)(h)m>3BK`Uov3305q zPD6J4u3;UbEr4y3aDP9vGs2Tq5OuqB9H&`ma00B-kykM2}^`rP131A2nV5>cm(6n2T z@;t0<(k#3_HE^v5kONql6^xqT@&iUu?f7Mvt4MH@$B!GaMY`1mkB;OAbsU@VK1DDw zIdG0@$fE6WH`vKCOr>%Rj5)8nNIIc)6EE7v$+v@?$r#{sX>(jL}mS$E4b{e@x0GT3;a^`xK@~&PzOepqyT~Dma|^aw+6)^)r<3YwEve9s`oR zr~79XrA^5n&tk1uC)dYJ7Avw(9GW~VZge<#e;_Gimqm+gy>P^^EBM7|cbZ6YOIvos zp?v~b2>gyw{iIk%{8@E1y}#?8B1Fa(a>!auh~lTT6+o@srpa1-zO|(*KoR@(v$Lk@ z^m$x^cJ1{a+;G z_N_#@JO}60rZ4o!UNB`Gl6~bgXdeCH4kF!J_y7!&PVR@*$MGIR)*s6awg|WmLf66n zkF7KDN^*bu_45D^AUL2R;*5&3l{Pq()`KIOB`P^*s5o1pnNwDPiem<5PMM*pnPq9I zSymgIvKh@v8?mg+CM#>#-j#>nyWVrwd(Jv*@gK;-`+MKl=lTe*{!6z;S5YtP?|$h>Q-{Nsvf^Z3{jErQs5*BlakWq3Z`Y-btk(k7DqoLS zezyMdB~-4_EaRXN$57o>cyXzwqU~Zrkc-GUZiIW_zN#V5vfXRSv}leQ%d_$s z%mOG-j#{l{Y-&lUw#eI4#drO-^+tNk+1OO%3=}NU7p3K(r2emJJRxa*XzaSTW&~O` zfz1K~-edu+99O38I?GkoWNV{u`_?!T0%`eldW<-3->x?WtB3b1`euM#f=$JQ)LQRh z?NzaK+h70aEBP+q*pY>!Gd+}fQ)zjIw-Q-qxa0zKpW}nbH;T_Qxft@QnQoGVB zmeFvI@MKU^odN_^k?sZ)dTTS4TgtXOp$pt{AyMKpH^NY8X??(M+j~B;{_<^>)|hO9 zLmy#(yUseV)L!!g=&|yIbNkm-?LvVoK#dBVeZ^K9(6^=l+vA=L6<+!ga3h=GXmSt| zZA)`9+)s7wYYAr2x8Q@VyEEdcrV-jJ2}L#JLJ^zowwcxAzEvVJRPw^vJ04Cf(S^bG zpx`^_Mb^_I>x+bNv0rsIfiOo*iZ8)*#U4A_oxNjB<3luPpA@T+=^2uCa9(#e;-^nQ>E@!P8{4@@shLAD!w!bI&j|BW|#Zb+QYW$>zBP)J^Sr&j59Gi ztq|LLC@D#OB+>EEkLu;T^my4}cYaOAPj$-~K#MD47F6t+R=@EX&0wKp`H8vCwFc^` zf7AhsY2(gowYEI)XHk$MvR(g{)Sy#Vl|%S{C-%7i-^9*o;uaxveg8ADd-4gUQHuVC zXrKfDP*}ps*?f$SQD)@zb3@kz#@^K^&dS!&YA2hkZ1S#_yG6!Og-hM}c5k7{-U<{B zP6V30j-QFNhTr;hn6@T=D8B#ZKA?7fhrvyIfY)RZ;6}X}d?Ku8&BMOK9qICGXajM- z2O#EhL6CrD%AyC6keVuU@4APHTbq_+422X1z(-=R8H|P1+oz5m*cI5DB9>?>>)3h} zbHO2A+YzMckEvBXlb)9_p7G!~%)k<6 zi3!RrMcSysv=N;EhK!3+VNLOJCw<_s!|0zRaXj8mMkD6>rg`b23%fnFw-p-;wBzVf zfT*J1C4r&2X=y`-2Kx=H&=Z`1v6&2kjsa^NtV5_g;*kx?XFRo(VR6zC#H*!i05U!J z(G%LbHlI;AWKQaNl3uDlN{;0=6_Soe*%uNKpa&wJHd415S509Q{6J zR{KR`eKKY%kmm&@^G_Rs&07oa>fyi`|A`JCI1#80d=q$ik7vAhK>t#jTWdomN@y(os&DdFK7qB zloLIld|8?MV{{4x+F`=$(1SDXcVrKapHuflDA{rc8U}VH(ujynHa2S(v44`@Gh6GKAJs{z{?e6Fs{R)YWsh6#nx{7n;hP+`|1{qc6M#r zix1WO*Xc|9B}*0}bmHzoWs}-45iL3P$Kj@h5Jz6ETILJiqf3l6SIc`hXNJO>5UNN~ zx3kGaWpWH@YAM9d`cUcv%3)y5g}k_1l+JhC+?JF*-Ci2MqleNb(VD~!#g89*QvCx(86w|_1Rsp)GZf9skhn zLfQhV4>rfqoJ>!uvZL{{_~*gl51}nN(JH05a7qfaqKuB)hvEfcN z1+JMnu+}y|VUv#O%K_zR?|1{M4?z zm+Mk6z@@X>S{VrK;t!f+p`>hy93R}XI~*|vSk`^^JAGp1yg{Ar?bbWCc@Z{dug=IW zV6<$7PH}WJdI5N{oaJ>(b8O_jR``%=%}MJu*q00OtEfu%aBLwT@rr6v%0}<{a9rso ziZ8I6Gmh{3*=XpP+2WQX#W&BxS_CN<>ms-9t)c@{MX<`P5K4JOa_rQ_NBrs_N?tmQ zqO$5xHnXN&sss{KT2v#O8cuAvGy0mu;&}v~BaS6N%97P(muFKA6tr?n*Qw_}=UYC{ z13J}{-t!CqAPYAJ>k#~3ALZdrnrb%nFFYNcmBvo;B$~@pSV&v(3KF)|QPYy=L4K*H6KqU)4qGoH}f1bV6_~i zSg)ecWp|}T#@6k(5pvB$nvr=mal9B!NGtUC@{ZthAMvAL%=nf-5BXBnrvr0fhak~w z739P=Sn-}VJh5)fxoN_HSu*uiXZ9ZU1l`3x?}O^C18Hl^`h%%}UgPi5GTnr-M$5Jf z!h<8qQA=}f+IE{=4%H-Vm^|*L7x?gt-0;aOCn@5kiSPMNn*JO7+j;NFA#~Pb{1!QK z?M8&qcx5Pv|EL<=RduJbm~oaF20ZU?zoT%R@1P$aBtN{?yrDNaIxqH9F=SUJlufMt zkO|(t{@%mhQMPQGW6=OjxOb(pOEjfr?ViAm?SB_~bW=iBBuwB}Y>gYJ{~V|@VIULI z#zOXv+dn2hTDD(gEK=e&BwU}w>gASbqFzO1?|F+447+UyFhU4%&qDSSrY_IU|7dmf z%PZKkqDA%Pr4{sAElRWHExZbA4)FkGl*bq62D*WJMvvw^d5x!LpeW^t_J>0aIUBz< zS(My_u*OkFU9ZtSyAKi2WPx_0>#C3 zC$0OMfT9z|>Z#Xd9uG#ybrp$U@Qj zeVx|oTaAbuROHz#Mvpo`VxnRZd-ph91<~tFOqe*~UxR)Hi`vIZ80YU)-RS8E>HvF6 z4_JL^8xmp-m7O@;ArOUiB9J%M#7-Y{f(m+)GgwoXxH{ie!n->*7xOgnhBvA@xIHP4 zFS**m-LLos27^zPYrYhKV)u0y{VpZO-)X=*Dd0T!6r{e1J`)&N?Jp`1soz)3T{(wV zQHAT|lHDn)U3jun7mF9EIs^ruNqx-r1k%3Fe=nvi0&)!1Z|TP^(NdE)IK z5}SFbPIKJ51F|*QV&tilSt%(hmR<4Cl}nD#^H8@7rAXaG+4E9;u5}`L0f$0k6yTyj zCmEI`*T!s)i08||qRwQAi2j84jI_`qdZ|HehTpWUlj)9B*vqt`k{Prv2bNhTo*li> zE>R_fbY-g&Pjd$|ti|w7vWIvU-U;g@lA!x~qazANafGy`VZ1?LydpUssdK5#hIpD5 z(p>9xby}vW4%nGsa87b7OemoR!fe}iOL~Wu2ab}Wn2JFfPk4HE%sXLhS&84LY0C*l zh@%lgflV=JX@~#`??lL4G+|V~+}=xjD`67SZjKS5k;)6F=KfL|%#}c@p)8xzkOxEZ z^t5yG<4BM!%R=$>sO_}ql$ozn>xw@2Ye$Qtp;wx8d{+LT>-f(%e%c|=b90WZ51G?q zP&|o0!=zw!gp2Cv&K(Zk`w*i2Ym72q0!`du>eDsu)pCocZ)gPRaX;r?vx(?S38LFnHwp#d!V(BttJf1tR zO;(Hcq685hkSd|GAHLm6VOfetu7;tA$R{A zebfnr77K)cd)YV-{aJlahtz+CFhRIsO_fwx5oFSqgb+ryuSi|yf}Q=6*kMPgL?|%; zP9C*OiSea;=UQ2Q_#rP|!Q0BZ%h8{9gf^IbV><(^&8RQudxv*RnI$(v9kj09&bK@h zHEkO~qyVS4o=Fg?(gBnFd%z)24TtEwT7_QM2QOB3IGXW#d+yXy-!FBP%IGCSH`~$M zJ92kXNRPuP%`nfAAXm~zR_U8?HbGKYE`z@Uz!zcHmG6IT)E~28;^h7gbbrdGVM80G zKpEeh9fkV9CwEZHtSn(wwUKZ^-ZY?MAZMxmBdSPk3Bu=9IsHgA4;(W)vMMxM1*yK} zGWyX(Xzsm^n5iLRgEnAcX`SKHD>MaRDhvz%C zjMxO5Io^R>q^IV4C>0*F7e7Dw;4QQjrP#7~II;wBMEPXkv1SuennVS%y6+nnzNJiO z_&lOJ^llde!g(mcDs=9G*ER9cf6krmbr!}LJ)XL@%WT&q@M(Ao+aft(1*x zRtjuHG#n{A{{p?|uTjM3ZV`WbitlO=f}7YnOme2#W6kt57{=L0aMm4h%8!}#O%e|3 z=~E&Kw}`v_j~p_=&(>>bvErt_J$Y^}F_erK0Jy|wKbP~*%PO<_b?RasjWM`Nk+9o= zWiJqu*c0W|KHZuG!~I%q^}LL878=Ep!P8uHzP?=^_JeKCDwB2vTnVUg5GBf#85|=t z=~JF&iJZBT{x)mCsPTHPhJd!#LV8PrlFCzo4s(?hDc2)J!*(Ri6C+2c@3FtVTW_be{d zvitI#RD$Q({v#E^#fd}0dB0TgdK*pIpDzvO3uG=V{&TK6?B%wggxU4@b^rt#fIp=R zxQBjEY!cigq5`Qho7;$7E)U)`l)OyUUDD8JYl5;8Q+j>x((88}D?uqZb%r*k>hLwh z#PBoi@i21a`(r)X@03&km59NuXMQSQrobzefLt6<%7LFn-sEeeN{M+9!}utPo6dKP zm5~nxNX@|ppRQKFZh091mO_90UafWC++4OY+VV_`5(IWH9{?#kH*Q0?r$2Pzg1=X} z6E7}6WysgKvq2s@3@UIzLvC;7ExDtqS*?_KBZxnElx&z)htgQPL7fY5k5Io=J)B($ zgmMvvz-iNm_qlfZTm0cY>KhtpI35x}SAX~jP?c<|!+`RVm%xTAJ5s;$3!eC_Ds;XQ z{mJR>q35f(z%zvTE50^YvxOtDX%COG=u>X9p=exB4|z-Uj~}i=RJAcIrucv5VUzr{DJ^)CrD6 z`QU}%o67Wlnr?iT2b%3rB=&8DB6kPmEd6ba_yM4tc8ATFBBRs2<1@Cs-r zhUaX&dY6YtpjZyvlvU6&qmMMkb}tq%67@PSWZPsEwv6v{x3v8*SeOyB=I2Z%>a%N1 zsO}#sAwmcRQay931T`}#Y8C`lyFGpx7DO%Lbz6jG?_2JKzH+UIAp-j`>+Z+L99!d= zPcPP6GLDIG-?^#Zn@`X34=p(`S8Uo11%6vYdRdZTL4eqvSuG{ryj7SfST5iUm8bxnoyVi~11KW)Y>iJwo6YXUpxIJxysyw2sj_9Ah<4Ag7 zQyp=ir$+z-%Fd~G9j7|Htf%vg9^7BsNjp?9I5H>uDE|l|cDKU2V+Q}5bp?v>lJK+RRSr0=LD{oq0yYZlHco&0>eM34t z=4(cFGo>wGi9~84M)d9QUlA&6Fb-;W%SZd*ndDy&&O{5;l%i%Pz@0iPm79O9k%{@p zK~2>ZFQ-CQt-Zn3?6;i4av~birE_110SHHOxVeuzBd=bDyvC7MzRpOl(Of=M-I+5u z$&czw)WM?tUfL*+t+wPIYA>`)Anu0R zuev1vvan53{E^{#195yl`XMdz<6+McIG0F`+I2f;rcfs#5+jGSJ?vOK|5lnOKPp37 zNXD$GF(Pku3KbBwIC9kH&CD)c!6qnhL@SCtZmj)c8Y3XxKF|&21bFZyr7Dqf?efiq z>W0O)mem|5hjT3&wG+FHN02+=aRBM9%K|oYl~54fZaDyW`eup?52fOIJW0_lB?4_` zLlaCS(IpCbWlqVVO$KB;^Gc;|=~j%GhYhc|#d|d_=05g1_Mm(z01D(FF zi%QZC;~2N*2Wzw@oKS6#pSXCfZKF8eZ?`y_mJ~S5)(%$;;hh`mjYssfoYJ^8Ql&`S zOM7>`o`5+STu+RHuXE*9@yJ^WDdBQ=HKdP8-O&zNoDM_cGGMK&pSVTO`slG6!eMnh zF`*$e)Yy}lMrE9r@Lss22O^tiiJ$>z8N-9HkoDy~M3Fz|HCK*r^0rq1fLL}$MDPFjoUqjPXd zZoBt|s0I)u4nA_}x{p}4uKIxi7tm3S>;I_j-qOu*lOK zX_XIOJr3>F*sa3Zo|YhNKvo92#452(Bi8v~lHHCSx^GsH6dpuce7Vw< z#Z&ROl%SRbScn&SXQSiE2++4zQ|JPNs>KrGgrvWOXPM-$ev~}S?Q31rhRkJ2beJ#J zS}xkMx}CW?S%F}_O98wqw<@~bqT9Q!YkiCpvW6t*;$3ExlxhJ0$56NcfGpE6?(?+- z5bwD$x78P=T!&zf zMvcOcToFE6qH?_9Mf;B4N=m;12J4_GUX29+N@flKtWDb;%vR~z6=!EoEnPjz8ONvT z=8r4?z&I&;0siH0R`|Dahu>3cmEFZQXGdE0X96my5@qBwA3%63h@$ee1PJ^l=rS(I zjZLbf-Y>9mBvQi-#4yIN>$WP2)kw~kpb~v6Eo7?5SLdU%?Rw0u4RCE2Ga5Jjl^F!g zW}H}~Qu0ogL$EZ6Kb9ySg8L_VQ=yWRi1s88PDfBt ztFXP_#x9)SY&*NIb0!R=G)-j3pI6rnk{snAqguZNS(ZQEur{!!b*;R!C&;Pnc|!kKXQ{3eTr zWJ6@7+5%Jo}ue)VMlq&00VH2?KjRyfsw{N@y7D->5RB%-{IDN(1iI9!U zn>rIJf0FcKWB-OC_RdUFkH@jpIey-53R}bC6U%JM%VHSON~G&l2Cdk*3N?;M>kj|) z{%zq8l~Rn3Zr#RCf|4@ahEiI2%0ffYr)O1AJXmuk;R+!%q3oe)bn|g*mDJK77pEYd z*UqA?qA`b(Y2}N`pU{J*iAKXa8O3f;Jn`MD)u;0xTs?}glyL6{?rEPfERH00wK~L* zs+Bd>TB^)<+S%#ekm2FGVvG430&kx?V81?c-zT%1BjsJB#Y3{c1>cGvaHyR=mg&DdIKkGYr5rSclAtDGDU z-AQ}KTXod&?*ADZ6nSGczz~S}@3G;3Rhg+jAA){RvSV&ae*OZiN6JkBbT@pD5)t*=n$1~DSdi96f zNkf zR=s&_=#u}StLg7Ikn(b>(9Za5AsVmi_njq4-~PDYagX2!oR7pI?pBEg<(Ax+_|S-@ zE_st%+|9b{IH$1}#EPGU^ zb*n5KgyRlB+@)!U-o~Zw9u{Fjb0`lt3QnriwNezxUTwq3ZUa=Xr=krmXA51=Uq`pg zxQNPQ2cy)p7aB2yYI7Z>Jgk>&W=BiAyJobu+Du1IP;eqX1jDV_6fZItu@1>K~;- zI$&*3m$6W9$D)n^!^KT{Rt9HVO(%zeuPnJj^VudSfXUse6VF`&(I+-$+FNS(@zqBu z1Ykj+sfaBfZb)mpB;2U>v{eJin~WA3f`rXt3mVk8g~5wsGz>71COE1h#2oo}SqrEzF?VNAUhJcc0%1&h{P7T2E)B#B~bQ4+8Ct%3!R0?;f>zt312;08v6d5Gt@2Fpc^Wz*!-|p`B5hRp z1{r!ppTs1xrG+!dE89h6)@k|(F~CVd0aQGW19BAc^BPR$u67tw&#V4Y2_@MxZX%;M z3D5X6cOTXLc6bwPj2Cyr0Z<5K*DymgLW;9B^nAYg$!?nPjWuQV2mTrQ68YGR!F+uJG!QzfP=Oh>P&uoth$oZ% zZq&n039hAi$w7}a8i_bMU`ds$5LpH-L>N#@lpuo^08;JnAPyIYKZjr*>R+X=ba_Ta zl|h*duC@7=Bc{23=C>`i_cnjvt^m`s{kNGM5;pJ((=CWtUGxig9-C$vLoj(F>4H|& zM&tHwlt3E8nrd>tP{d~(vXK8*G5NI$f)*$ql@B(_L_sT8YbtC{kTaEwG&&T7G#6ib zba{BWX&5ZDmQ`UWUX);<8RdAqa1WI18DfXjC(D7Gk(3QP6$sKmpxyvw!UW1K0pS>e zEmpL*ze)SbC;=VOIfi4)W7%wt8v&1o&5Ke28!Hp-%M^(_O6Q(h5$WdP-7|Gt7ZBPF zvvp2+slXK%v#|P!DiIbCsn#lH>r9BG(pj;s={V_<82WadP!k9<{c?Y5pvF9bC$`33 zSHqUvET~)%ep#h0@LI8S@(@03!C1Tq3u;x~SR)x+1ToJ4BHTiCaeoTmklfmw!;1Q& znNO0~O_+6#5$K1w2!fbgQoT^Ko(2aA!qi!$RAf@<5K*al-TcqOD5}{>Ow63vYOxGJ zWJ|(K0>urpyQuT&bYdF=veln0HU2Ot!(jxSN-b)exqSWE=E(|pwlOB!+N;HFfJiE+ zGi-mc&2ZFe=wLi^|FK*{Du+B`#pc|I3o8l7$f2B>W+^FVCeA6#1y;wFvH2 z4OCb1m9agf%+UO&D@Vn*qr2J{+qSy@3q|RHeE_k***N7oa4borO-*8dW3woADJu^O zJ)NvDV+bA2DLtozxF@y(Wy8?)nxnRnj^#gZC2q#5$4(W4A8WS|$%bI+~Y`h?gL zwj;r=>CCi^MscOg?sLJS{%zlH0BCMkl33fRC-T-joZRaJSSzJ8%&r+@PbO zc(lsG`ILtkwYB`G{c8X|h*WLgx~{1cc_i54aFkNqr)u|Xv}xj#D8_aM@(04-*}-k;=-qQ+7}VG>CA6DG+MG@ zDgK#D=F_=*+c$*C^wwp*aH%=tO5t^Eded-4Uf;k|HnFT?qr->q%Ki{Bs1+8L@lO}2X#JeofUca{EpWR(p%H#TT_Em@yDdRR9j2?J(_ z(NIJ>2qFn|McwVdvlf#h9em8QeWa^SM^0y4VV-JrNcNNf2oDAbY0;%#MnS21o@m6_ zcsw%Y%+HX$-IwUb=Ve|S-}R`30g^st52=@4$d4HtF~TW;3qDsbJyR*~9yKc8^^~ep znlbT?5T-zA+jRx3XbfqK^5Ax&HkP$TO1j*$Jmv1_qlHw$Hl=%l*kDCpAKrr?MJOv1 zxwnz6X@!Q-CkDdv*ri!j7L_hIGca0B4a~6dusn zV)aEWrc;+xUp-V9e^0{$Ox|m`!f#DaK-P&YAA95yS4wk8D1B0-<^+H!HnyOU9DybF z{AW4jX{;(4Uexs8EDn1b{LJ9fGx6WQFVJ{L3SlJ5X#qe%Y2$^mXgF$wsAyttfdbar zflnLueB84~IZi0uiCQD(Y7&?n!Bmu@;OBkpWy1k2Wjc*p*>84zF+Ol<^X|=qOI|G^ z+-e4mvZW`QA={cU<4I1;1~Eu~x#!pX$KEQ(|9&2^2-9NM(vdidEl+NYkC;P{CBOh` z@C+`YO9EwFTWvaH7X9?4Q4jOW20n^ILBU5gKWbrl{l@t52nzBqf?zoZ%nY^6*KD-o zp~y<+IZFNmtNW!gdCIFT8sgGRyaiFNNqpvEE9dXU4(vdf`561GWx9> z=^SI!{E{p+s@4FdAp|UB-4)@(FAEpx00c*e1QN!yuo{9DL=WNJSTTNpOJ7k1B6iY& z?)mnvJ3fJHui6`$whDc&pESG(4V;cuq67(<YAM}E2%8mpglJrJ3tDsubvdB4+@nuq^jP0dQVaD{?ZonTT@ zZzXL$@?-P&?Lo>>zzMz690727*(RP_AeerBUE7^uKdMb#scJK+g`$8U?^*BaPgXyu z513)GT;xB+4@R4|bk^Q~yJmWRc&A$hK8l{NYXTJFLqF1+bPq$ss{07BSyyt>z1SKA zS8FMN4Xo8EfmUk-WBh1oN~j_2sru>O9o78{8OQYaxFVI+u&SbNGI@!A{K3^=3W;&E zm~Gyj-|*2LVwj=I#|nAB&h^*2eq3|mv~3;u zO9b#5#k?9EyBRTq$i3h3ETuGEIqe&t(!OvK_aN)sMdPa5CS4>{9!e77R)MIkEf}3~l$W~rCc9?#086tchaHs{P20s+g8^eKk zs&?f4J6qjz0BuK7Mbh`DTW%K=fyxCfeaSyp2$fb=TEHw^2#j=-a9=pMe_A@Stie#H zg-}Q}lPi@s0O*ynSIhTLo5p%!0TOrF12Zb#Z^u`D??ta8)^?c@ETj%uUeIh1>>m*g@X@Qr|;)^WE0~z`7IXPrsUVpvD zwfE4??9r*T@)V66E-l(1MVWiXvhfVO`W|7!OnrdzN2>_U>054gepPCRf*AzUGEw}l z`hmWWz}e9$@MfRtx^UJP&Io68#jsjwWCVlY9`i9QYpqPz(nF_NXv zw_C3-TAY2YG%W&D2b$24EJ}pXit@1NfvlmI!kH`fLMd#yOy#F&V+m|1FBm_H>R#P3 zOM8EE@OXmRGxO(b_{W4AeEn7=gHa|RHglCsBuem^P;fnz!Lya6PF>wRwb4(Q-==5N zUUmaMM32^qKE z%>qVlfkf0f!Q9VBM-E|-iJR_bpVagqEVIQTd7W7|G+R=7LX^C)g!bo|@a^VC(q#S$ z@{1tS^^%0Ei+RC_q@CRHr#$?z8glpOvBTlHw0{>( zhF(qY6k+{%IN@=6TJI*2<*l+mDk9+M;Eo8fn?>J7?A-2uFKh&|4IFk++7)^}AsTg! zQ5#1{(AtUhR^KV(;y-geV)iH!%1}TgxjlQ~4X?>KxF4aZn-*XAFw8uZkaXX}T2Yck z29}3r8gL;st<|e)vybe~|JV&++yL7t(8dBC$;qnQy~!ig%8Q<68w!O2%yqr{lSa4! z?PhyW8KK48x-I;zSjvzo!AQe0RTwXAD|AqVw`Cpf{x7C$zd;Qpp4)ZQG@;2E&c!-}h2p>_dAz353nF)=L-$6p)3K_8g}&mz&1Np|vK z0>J@YkWgZ^hJff>FSaBU785qLK<6wKJ_kZ=JEgBE4>=B%IF@2QZyt}0LW%Y(mgoCI z%4k&pgO&Kv+<#{=m+VCFb3k7WDI+#fZnUE-irIILbK~6eJC8$_vmOuH3Hj!P!d>Wi zn9xCT?(243Tr~^vfK;H?W zODGs~ywbdeZ&>bQitAd|OxhVuDLdzs?)+A-dbRD*#HeD&D&SmTqW3DcR%KF)n}hS= z)V314PriE!a1jSR@cos-ss5z{m=vt!g6a(&YwHmw9T*j(i|JW(e`QI?%e{KE@ z0M>sG=+OU+cXQ;tA~kh=*iOphm1*lGKj|OOzjl!FpM#-T3Lp*b<7XA|ZmGyFmT#ML zuGts4eAm1_`KyGhgyiE~bJW=Zb@W5IPfjvk7brO%f5!A(V}38+cbV_g@ZOZMQy6u+ z3uE`YfU}9NTrJDs_wGszalvGAW^#B>3dGfy^?rPMhV}TL*|GlUOfq=t}u7rvl=f$z{7UyH5wYh6R61@a+B!HT{|tf~Ud_Mc{t=UXqs7;gD`KkJzH z&m0Db#I5d<6zL2fh7kdjF@OV+Wt0L!40Wc!hh`x|8bvR_C`T_q0z!FA#orgup+O`- z5&niXQ(d8LktwUq$~dpdT#e zLAt4S1PrFGt&WTGx0_GQ7x~&*wHiT7mMQytG`Ikf$l!Qsu{a75VSGyf7NtQ+wj_Fo zD|#2Thzu#}5qRP0DZ8z6ywl)=N6$4uhFo2Dt0Hqk4vnOx#_2LvUK2!C963j{nDhYN1Sxbu04gyT zJy2N#^j-IVY+w2*I%P2Y;>b) z?L8p^H94`~KXpvPM+*-fvi;Jb{Hi=wi7bIyBm$e__neqw);kk2Z3yyHgAVbLT{Y&o zR7%JPbxK3agy{=5H_R`;0%6WMzABWa2INzqYp_(;Yat|Zia)Nufd1_xS5XC`fhEtx zL+znlC&Xv^=$BU@h8~SGyw2BladU6ATdthgg_tTo+y+*SnLPe%xYbU>QETLl9Rh^G z1yAmaZmDThZ8OFsRLj0RWjlXxYrP!NVqTcW^-9%XrXRP@``zM^)bFN0AnfBzFNjuE zy&(6=q2-arDuKm=(BeZ&rPSrznDWvpw`+q3o$QvykljgrlCfn4O=+B3{v|4h(*G;1 z;6Z?TIYFqnN3-!^3?r)Xbm6imcC0OQcj3e&*Kcni*YomNObZdPOq6qtmGZp>&VG|6 zGkEYNLOKcXEcC5{9tHTQ7p8NuES4MIi3>K11vZg1)}yMDx8E-=-4%~BYG2H{p>?{v zE%n7~wdK{D_!{cVq;osgyW=+a;gr3GK@jrB? zYaMTueE-VXD&vy~*ZNlqoBTh3NdRF1C8%WDlCv!|Oy%4Ie{7Z6`24rw^MUnkfo)}b z;>ZYSRW&3RL)m;p-i;$-eo+?V7k2uV1G=TZNbI=e!FBZ+<%Dd$=5iTu?6iH} zWw3*>D<9alj~!_;&R>7zpHpRL?w@=S`B+CE04$uO)U3U5l)8Kixrs)-J21z(d+9E& z0#rV`F-}`1#<;m~0ch?ZDsyevm$?z=tHcO;k1*`~Qo2KA+*5NWi<6U1x-qH<)^Swo z8WD&UFY|Fx)^z1QIw-lrF}dF9VV2$ZmtyU)n>(~+>pBsFB0*f+D?t^Xj}&DXC(<`P z+1Bz-G$~EP?>D8FqF9RT1^^mMrchgR9*z@YMcCvZlmx^KW z8T&pAQFg5D)iiR4Y`33psm{z>8vw_JPuc&rwkRmL^$<~Ve(A+_Gj#almFiK9$3Gq^ zT$3tW;QY=RmHC^w>}x$nz65(0X=09idZ0ym zQhzBdBGOk~>%@k?e}5j5Yg1Kb7and4**;&n?)B`07zy#CyzpMmlUEf=Fjp+|l1M*a zj+P-t(i-(FQSu2b1O0LP^8n=J`XsLSrFZa!jE7E-@#h<7t4{r?ai4jNH}`t{w%<@U zH5a(D%wiyRaZjdohrue%cKbaKe|;ag{L}P)=f96!)1l$FzwJK#!IA=hXZ5TWA5gU$ z@ct5&jf=Yhs&*kraPza#J%wP+=pI?E#l6|E_2!!W|4!a?xOX?mY_Zw#%F_*}|LKYR zdiK~3*TBtM9;=1}D$YH3pqnoUo&-Ul>NgmnyAb<4q!o-nND$>lhq%E1e>3@i4?Yxr z5y6PWVTfZ!R1Hj6Pl^M0V8wq1A4Q7dx}pY~pDL3B#B$P#OiPwr!iQ9_|54t&SkmN8gi_E-XhAW{FgEt5ISKJL%Zv_V@%Cr2Uo{IuSk%N+D*L5f4W2)#%q zzRZ2a4rS7psI$Hn#P&$_bBOyK&zq{7{z+p`s*2CW-<wVj|^00+vLefxopvfnbKRwL@6CEBLjlqF{1hH#5Oh6z! z3nXBkD)2DK|3KmW+^4%Si6Z~>Z|rTW97pEsK@uEPn({IwQB z#OOt{r;LJJGig(?gV-{Qaerx6OU&@Ol-&9*`bJAbdgi5sW5@q^ybFaEJ(wMW_4kvJ z1%vaG!1=YiYgrSceG9ihP(%Cwl zJ{?zS?2JzaIO~T zmG{iQ7Ob4K^>w8crJq`wpL!6s^XZy4)&{W@sZLohK`IR6&cSU=r6csil^0wvSSZ#9!QFID zn`dd+icoKdiT{hS_l#<4ZQHfyOfu7GNk~Yj2BZrb5D)}4p@yP{-Z7y!F(N1^>I{T# z2?&UYm>?ZRKv1wINVhDkpn?WP#EvfeaxHe&v-k6ky~p@|eE;(=W8C+=uj@FEQ}xf& zm&A=$silEi=7Ov%4y@W%m0hwJW$Z*47|zg-_yehL3Zth{0A=*pFY`t8J2!asGrvv9 zCB#Ja3EEcS)>B?yn~GXEXGE(kzo;f~M>{d!EPx$t>faQlHBM3i!dC$-+3`V~lZnZ8 zZ3?;WNX40?gVwxHMM+hr%>3+^TO){3cko{vs9vQ8{ayE!kxba)w%MN4&OA*m&>dqa zW^Z2DbQdw?-hom*)PXDYs$MYm{oD0$qcgY4-1b!SXy-0G7eJ=ntwtHb%1IM0wDXIQ zoezlcGesfEbj%vtd4M8@znSxaQvUqr+}Dw5Q>z7Nu50LY7v4h)1|~9?SzEFF;E0yywEwtrMdM9StPL z9$5v%^;>sX&-B#mt1rR_#rn#-rEJ<|4%(UnAn>L!yENc+bJPAO;k5+df;G^1dEWFS zNw2QYuvx4FtXMny0Fi2(Z=Kqp6ivvZUgksQ^xOkF3%9?_&-wl>xW8&t$INSA^xb%k zo*1X)a8cU8Ig}|K@5gqb^vUxX2lShH)uz;&Vl+{CY)Dua*|Ilme!CfZ4?<#m z+svqJ!pKu2+a!-Q*@h@(31$`Ss>Gc@6#cCoWRoSq$7UfREfK7wDAK@hp7>a_*CD@p}MsnlN`T zc9w8vQ^xUKZywl{{c)L6B31i-G$W@XIF{^#zb ziJ}$qHOgDEcD5@y7M$3bdC}mZbNe|FrLp-+)-k9fmus8klwc$jm=XO?u_9!@h^L(*H4;pBscBf zZwurwO%m-1KgQOco7f6{)eyQAJL zDa<^7Z;c7PneAh+C0)u~y30C#1WIjCPLVp%f}*AdYI00t2-`!<-a{7E`f3ifPZ1&m zf-~2ZG!jgjp9JR(v3DTS2ai2r7vQk(ft8c{wh)38^N{^=AnZOc{d~W!7 zCb<6rciEktf#dU((($#AOJL#WLdZr}Kuwn)k^0P606_ym@ zLH_3f^mHDyWdj+`$qF^>Xm1{UJ3y2IhE_sdey*zoiX;R@!suYSB4Y>GzM>$+!G3I# z1`LJ-q7yqI9m$qojp-r!(NB!M6Jes?L^K}O@Htwr{1eJE7~10@O!^iWEXd>;p|=!4 zw52juZDsInl)}{sI-lQ{6eJ9h6opk2iK1YXTk(%vV$3O^s*jkqm{VPt+dc)porHUW zNs)3WrIVPR3#br4Mil@oX6f0N=yFQvv(Vp^{rYyKvssy2@{0_JL3FEiB>v9L3{Xu3 zAZ?4mAH_OE;NKG4#R3R}zSo?4mr61=K_5LzN~A*+KIkGO-j4yDc9b|@$a_3WTs{Sc z%6Yn+^tq|{`4&i9Ut~l?M@;YnI+NT@NJIko$Df3#ojJ|4z-jCFKsh>6y7j@g!)JSL=dGyNm`%5GpqZGGuULFJ{NihXTiT{z_M(!+8cv%Mcpj&!q* z*e!7GHl{n7?RENDvffj-{DOace8t*g*qJ5r)FdCNMu%{t4=hxy9Xnz&8R#BQ^5Y)y z$C1V<`7~ZWT|enYb*_7Vy2 zApPj+3&da;{k)IZT3KuvO7f#_HI#t)uhTRDAbw7#WfY3UqHj0v+V`kz`vMe6uRN+r zKGv#Ek{&c3CEj~^)XcOrhMv-Ltj0wDu=DC%{?uWySq@=ahg?I3e$$f_l4yFD)s+XN^@Gw5d;{@VsHJGT7?(osU@?Fmtc6C3j zYkpl9CW1~ZRO=8Sj!7L21YUZANt{|8N!X&M*p!$T2e@A;I!PR}@YdAnodT8lCx7%4 z6_wRVd?;ksf%@&}d+HLJptOGhh=ZX&$0Xf%c8(S2*ZYErG>L;iCtbGnMhMB)xgL;` zh)hK*P@!R%9-e#Dj|(}PFWbxqH3(3kJa>}PP%o(B$YZ}}rbjh4WGH%MzicGK#6wyB z(`Jns`rv#vWP}Y_JKng11+FE5@$~wC3POIfn?e-@(8U@!0xs>1Aq|8!gfyS~RQS^j zpmkb?_LvFUnvMRaZ00|C@|A!G;Qt>+5is8E#{nVR5;9{3u!JybktUlS|%e=<#$hqZvM7w4zjQu2giDZhHY1tFY;vd_?rn0o|jh32~<4 z`vd@Q_6aV`&ce9;Zs?M#Q`{+V#|fKWi*S z4D@3>^c623SO*ob=qe<>StEdlw%R}CEz`)F641d;CIIv_PiTg4Si|IFEI^0+A@0I) zsN<8HxM;aEue?|#L_Ua67V*#;A=O|ZxhQqmhAnzB3V zKgLW+f!2e}Nh$x5WhWE4&2D1ykW+MV8Gu!MsGw;X$Iu#4s5ek~0F!eP^|$P`F*2>K zm3AWdS4cSm?<8lE6C$>|(Q4Dp(R#tP5=ESaBY(DYx_?(~CG_|hu~9Wq0Y7Rcitm^y zf+Jm!UPuK9AjuITfIJ zwj+ki%P0FOCb&9Ono>SuxGSu#ot7jAG?fG2GS2sxWJ4N(K12xW#VHMSj+rZcb|c;l z>(&VCn??UoYj@xbwWeu18tH4#(Y^)lpAPoJ=L86}R_xL$(9rpDI-mAA$ouS-I3F2& z_vgcRRz(;a(N6cym)Y)=#q>7{ZKzPcz&Ysf>wL{5&Juk{M{XyIJT&*z!YtX??isRDG0^deHN&{VGcJ%@Va@GN6akqUaN z>Bj(M5JiV0RaX(VpAT4e>;vI#nD7&U+O^}v+qtjZH_@Hj6r*CW(D&D1qKZYM2vCdY zsdmOD*eFKI%-g+VQ+GQG?~s{{LNxxeY|n8eQ>K>t85!C_`)-X6)q-@%%Ki^t^g^z< zg9+Jln6aB+MTQsN-~|E8JFV_GKUUBfAvd-Yx{lM7*=ww9ECfL>5Y#pi8mo9s*o6Ur z-r`Y2$ealtgq7N1XzC!i9BrsiTUtP)lS5Th^4?ICABavU-&EKQrjEF+92MYwSo(>J z?2b3?YeqjQr@LH!_!AKbS&Kk`mZ;Jg%f4QUVrD4Gay8lmomZ8xlvoYNF|S`j8eRa{ z`KbE19$#R$X%O(`VyW-uTZ<>|q?NsRMEz9ll$u{07oL7-k99NvuzC8CiK7JX7N>&K z+bYT`=4j`QFEMgvQ<6kdpvABc&$(j&Nu|yq-=TuJPlc+*Iyi58uZu~tu-dl3f4Akz zzuh-$6fu$fM51zzb;`rFP4CWY5P4OiqG1aIT9oHmYp>bjipTzFujh~`QD5mz`|+{M z1?|au6%fZ1Qd@(ubP{qP0$`DrJA*GU3y`U(^vAq4tj}L5FH5UU4{<&75?aGy;Ufp& z;#e$zz>=5y{ZMz2cJ>l;4V5ca*H7y>!^r9u#1746?iU+HmdYYzclg-cMTT=lQ<^>* zKIr|*&%mrjf=}e?H9Pl{<~7U0l*gFRw*->TLwvPkXah(sM_V7bZ5%xGcvEMa$d;43 zmC==}-CcC=1kBf`hz3w4&OsLk9vCN79}lWmLkqrLBX(ZS*fOCL^! z;P5$TSQ6=aCe`wDN9n@O3u^jI1X+w;?Stx;R*ohb5yDg}totVpcDULspQ&_}x8oh+ zGiOE#n9ICNh5~0G>|TWGZ;i`pMDG+GZs?bNDDZ9OD$hFge7tnyRSgz=+|I6cg+&AJ z%HUZS!ic~mvEU4%t_aB3@uZ;0R`x6$hOmmnU#wIaTflcg$m>ux;@vCMj}+({9G|46 z531q-wBF+JH9qvSrgfuhsRp9!&i3^GGtv9cJ?03w0Pg>}$NuX@L8|F6|8tKig8+dJ zfQTYRX_}5{S^W@*w6`}+v5J{) z)iefBh}I$NoTOib)8}u;xGyccDYN{Vi!$_)((^&28SQBVW8(79Z5Mt}5gS%X*_9{*H>Eyc`uwQ$c)IU5kqL(;MDX0Sltub(&?cuYahA%2Npz7)qT90lknO7| ziVkZm8gD=;L zAmmmFgo)tO3(jJ)WspWtV&cOf<*U8|w^=5*%DffrYM;{=5&$YWlhvT6oN%2E3z7X$~hq?_jf-okh!VZ z8}fFN@%P`;{z+dPVrk_`y0iu7ebGAF_Hxu1W(^7o z-cm4*nlDAN){&VlIu$Y#R%YRL4t00JiF3nISv+?wLJKH^wvB!tMxi-|ymXg-9{`D{ z{Mk2GzAUzvTKV>JCM`Ubh0zUY;mNhN>=%ath!d;3%lWmCgYq7kX+Qfc_midbvnZ`$ zs@8sq874fj&7;|EpE(SU;~JPZh^7D$S)Rrs3}^01A-qf6*ACJCc(H0_e=3X@D2{vh z7nZ*sZz0v++%iVC7v-P6vRUcxnkd$U(0DvfqICRC?)!;~{uLDh<=E;<6j=;B$4V`* zovO|&6&z~X>~@5JdyV$F9iR3lx8^Pax-N29C05K!;9TSqJ8P}7g&3h)teAGvMV5n` zl~-qAX+521YC``=?sqw&*T*ef?d0xEQZx#=R}Px8Wy*}f`+wVWZS#PX@F!ZMsxwFX zy|X0|P!TL-o4TKK5@za%BUq1%L{`(Q_FaxX#Y~=GZ^5Sr=(SCHPBR@b`&N|Lua2ED zG$mZ|OjEu_VjowX0zA{^R7)b}6u)(MZt70oy{GOsy1W8SNH7kTSG`kC_Y?-C#fuHu znk{kF%Xky?(?T70`!T@^>6uL?l7YkcVjnA5RvC$PVX!oB=7ywhjq1-mR^2+D`=wle z&QJm5RNNHM{kBC-#8;#4))n>~Ie7Cxf;&V0j$*uau1-Dn6!fZfeeNjfn5KhiCUycI zdbGMy%{MW=4uFZyERZ0@GKr)Sc?bX?^#S#J_UxjyvEeg#RnosrGM%G)RUWmlo}1n~ zI8CZ;I-u*EvQ~8HgDFBoY0jzj)Zl96uTDt#xaZ+Fm1R9ee*Up-!Dw#RcCWyd%qwkP zGYkG_qGKCTp{Ih)3eIhP9iU{Uo5CWA19t73O-tT8iuyfzBW?IA9m`>oXiuF z|6TwJ*j!a1b#DCsVp&B056j}1VJhxA+P25Etub!4Wr`&ksr$f#elX1G*OhL4I>jT9~r~b6rxz@>MlCrQd>_~$Eq0!S8 zdE?>f$qSpB$G;|PY<+SmYjR-b#w47N*IyF`)LiJ~)$dhb^SAbo&KDyV6mPr5Sdceb zy}GpabamJKA1575qNK#0q|y4n%Gcle#eZ|vG5p5WziPIA%T-eLXY|ce?HN%)7r&mlzv}bl+cPmc$NbxOE}i^4a{G@PFT#($s@41c zYwZ1lYlX{}zU2J+%6fLR_Su(xLoZZ>ilxBR_h(TcUI^!4u2zZxtVJR>FC!Df6Ds?K z%w!T3Nj^X`*|aW$sKC?ENbc^B50*j%pmzPvA-(Y3TKt5%-Rp(MHM;It z_~Z&fNNxRr+ny#3JGJ0u_Z&Syp=9~ee3xZZvh?e5ScE$x2?@;MnN1z_sCL&w51S@Y zL|1@_xOo2Y+jjI&$#mF|#_`u+&ga%UZ8yq$T383yw+EqU!uFQ>u)=Z#)!=?kOY z(B7Sz$Ssxifrh0YJP|G7^{uokr6cU!L}!yS`psdZAK<&%l()SmZFQO0-jSj0L zob=(3myaGI`0m+tf6a^@Brc$rbjkqKwg|BR2}LL#vPuC!_8e(&J4@&2woZpvbvGIo z3)Ll?I3PlW{`;f(h@Jv`auO1H&3CkZ2EV`Myyq7>{&3KD#^fNLT&!w+q0*RaFpC2f z&57s$F(POpkJ`u2w_yvEeG_ZHYXR$VqIn#J$ph;|eJDeEdWhf2;Hk;0c{EQTRjH=d zi7c7Wwb;~_d%SRoE8HL;!!YWA=;J?y*ME!lc!U_CHJeMFfEB~dS!F-5 z6f%;d76YY1>S+MdSS(nRNC&yalA)FE*E4P30*D1&RfsPzO5a+f-apavV;5i&0pQiZNWKPT;DM6uvr ztT%k`c-5%OZlDnXS`3Siq+vtVV#U8N=`q~>TRs2Xqxke@O_ z8q&Sd%J12d6gg`p|Dqt#e|g!|bt7egiMPfoQptqS=$BlGv_KFJiG|Ao&fh8lpOdo1 zp?WL9qMe#zwSpGjeNo}2jT$Y>Qzj5jvt|XH-I9vL#Q}Yr6p>sL5EKk>vSA<4$msFeozFz7jgn{3?NGBWH!PLuz z>bGpU-R`K~X1i{}@~UWX5lL1UgD({P|6o54KxC-a&SzFZn&_K>ZycgiY*Cp$Ec zpt?RH?%uhmoWBQ&SxN7AbhDMzZPG=&kz<+mtew~-lo993h}dEF{@#{llYCQR;%@cY zQY>@1g{<(WWtjje2tqeV(d%Mab$_T_ryaP(wS;AN2!~9l=cPmDA@`K2q zzi^xE-y5Q8MXZQ{2i+9*wq=6iZ)c8Y5|)0A*6;Q%X0yA`VP;cqul>AQ8Oz0MjUjjk z*YP3m?D0}P7pDuI_iB?rRrqlMeTyT@Ayck@rUrJRA!=2h<{WOXXi%>fxF#HZLTYh0 z)q^I&1Dy;I{8gz^RoYb%*|sXkPI* zyjZQd>4JJJX}VtMZHPCmbw4l9&ssYriy^oy?teDTSs%K5NG(r6@{BW5S!xLcb4{H^ zxX!G-3E=-iSj)?lW9bpBw~v>g--}o;Lhe>1{7mJ~sjp?<^?~<#diq}1Zsld0WyL;2 z8fkp;_KYwf?p(xHGBANJjSS*RMh1inCL}*GQL#d~VdQlklQU?7zWI_n)|7MGC`T{? z#fVu!BD69ARORjkr0e?Y_dZ**3MJnwA90Lajk!07>CE%!{^nR4xM2sJ_AXe_csZis*z)SXgSkM`OgvP-eDVA0UX)|L!d&h=}GK%8xz%O+;jH z0U{xlH$ha@P;4AF$4Z^o`726Z_ToGDKAl`WR1OjWeTN?ytB1nK{0&_O`+gv?HBwAz zbRJTKS@r4RLzK6NBrmkw|<6(xdekI9pteM3E;-}>{qW6bwrBVx(&GIa4vfl5KiyO4qp?5vK3 zlGH@B=PP%3N9oiq$2;AHJubOwT#ue_*ix=Rz z#n=s3gZ5ZRY?sTR72C@tHgScSsiqD&;}~oL-I=JE&A=p0nQ&S<{2QDlJ)EL0th69!2b*^J+SC^Y? zZo$Tk>?|+FHP2&NkA&A==y#HKrM~dK@DjBn?$}jB;>!wxxv&450M@;wd&F=#(MYoZ zZmv-_K8zUIBcwz7eJw6IJI+4eTjFP-w%t)rVAAYIc4{S({MMT4M=P%DknOt+SYBL) z;MLDPQTFI4F_cI3at!p^Of_&A2|_@&&*)StX-64vcx=}90JubkJf6Jtc;$@)Sf7t|CT zRa-m-5*k+Wz>F-=07RSU=Ww-hHa-Ri)--Jns#&fNP2DAWG!f4oTfr=8G?(qw(g(3Y z4J%rS0%}u^dDCcNd4wp!_AxO$c2{&OaqDAn8y?ucWZrD?39T;oWM($RW|dd%E+5(1 zlr%+*K)G*vm66>CtpBz8g~+5%*S@>7Q%LnAe(lO6bpzraVtD>j4)DOSK~TEP9?Z9!Jxo5x_}6j8Z~a(R+S;q3a*MkyZG_$-Y0>!OC= zh`Ji1zOYOKETse$v5Mnqh?>rzvK4OvNO>1E_CsB4U;lM4fKM0O!bFtgC0!vzz?K5w zr4E67$m7kPv2R@lE41+wUAodX%;f1+$v3ou+gch~B!9c6H7m50J55hyKv8m{`OkBw zd2JM+Z5y-YWoSb~QBSizVdhV=PB^r@EX2>T7b|K}r(=XA=(Nt>GZL6aa8Q&Qamjn{ zc%T!Q=i{CbR|g*)t6!0xm7BGvi+@Sue+O3u@H@%#r@xV zwErzpp+Uw0)m@4`+W$oqDxRNr4F{?i3NQ1I^rl{gUe@F|W`ZaYecIu3$i2i8QDb!T3@CO`5&AV@PWsFYlL9q!lMw z*L86aLV9vf>^+;w1=40D8I{?7Up=0)hFJ}Sy-l2}tCi^|S2 zBXg{Vn|V1zQ*DGN=r(L>Kt2|$yT^h!ia7WVhLZLvn*5>@C2m)|uib2w>B5g=F)2Gc z|2$>t{OwQH+kL@FZbL*@CYhl8C4ojG^=!q&2xV`Xk=O>PGrirUKo9A;^hhwIYZ1~g zLDL+L#Kfsr*v;tXNIIX?-$-U)xNwxpj9G+j^MTsJIL5XIAWXdNz#+8E!4p~lr%Eg(Jf|B<Mig3`6ilbtC|a*#{gLO^x-S) z-Q~3&bMDvr^$!H|qyuCH;%B085vkCnA@KJNfC0wWKjrDPh4u0R*%@R6hlcpcM60c% zBSy=VpcPYP(18QM^H1Rz{KK;O)`YyXZ(%JyN?!;7KyD1reaZd2dD-PnaWOxFX6EA0 zss^+pFtGAAm~E!NdoJ~rejv5VwYS*kP*m8I_>+Nj`HMT_CDgLRvC|?K)q#z12%Aw& z(@wE<^4x*M+R=9OpF&z(%hu`ge__CBt*eh! zy`)@THAv7H^wbqO8)+{WEek6*AT``|zPM2`Nf7e|_DzuA2_DNJlrJTH2D> zyUD)Q*Z&C-g*Y>PQH(}Skia}3JZSL8&0=I!96C$Va4_%BTCbolWp@LIm#ay+2e}$; zrSw$#mKN&JS^&(y?0Wpd?@{Cr!&Q%ptqenp;^fbhy2`;HSe09=$7J!N#^{K{C+Wo7 z?Xe_RVLZwjMf0h>I#Q1RaYv$;B*m#93V41EaRtIrment!JH=HAR>s+RhV|uI^aP(f z68Scy=E%`+=}F|q*3EwBybG26lGi>cM$qK?d)-xASiNK3%}HpEDoUlsCwU{rS%9xK zSGM_*>)%*%q#(i!%r|8R^tY*#4X}(42JEo0HuXQufO7ongZ}d|Cm`Tc$Ijjr;hRbS z4aEJQAtL;LhKT=Mm0mMD9A)x?&5nY1ZCn1?DmW@5(N6HWN+ld%5)`J(2xy7@U-Tf&Y(su8q<`2w^x$ma$t@(2M zSW4KVd$OP$%lm-;*B>g~8>Z=7KmCZi6A%b~dznCI{gsIx0;%?lV_Ugy9BInm6!{|o z+Bl2iwb`Dg1$U_gJ=;rr-mFhP;!vd_q&~8nLKs$6KP^78&i78CFq11NH5jkn5*T!g zLgw|_il+AeR+)bxV4k;|%MDbq0fISb+Y=nCm959K0?SMdMD}2kpIh1MN?%YZ#Qr`i zDzLdRJYrL!{HTi1OxMlC&67}*Z2T}jbz3*3`KW#qKIQ@Zk+lpx_uv1-^}^*;N>^6Zo)|EV(O~&K zIg_(&^y)xPT&CIlp7fTZ4xOxhE7mZ4F=%X#G+F{WO!b>1!d8cqBN!aS=KDQWen*XF zx-&2~Gd=h3o9*;%3HE4w7;M+*Iw=Zu4?F?B+$cU8>}|Oel)&-|pTFQ4WX9p7TC}d& zbr{}jN50~-=fRg~jM+v4xcbDG43?+h%FOfp{=kZjO<<<syg}FAquIAh?Hqew3zA$dUYc8yJDNAxJ;9uRhFK?DYt| zkL+8~`TJfk&Q*H%@s5ugKh)q2B7k7_@vq*F{%<+o{klG0WsWLIbN;UF-@<)7xjy&H z$NfM?-3Xe^L>ipUJQEXwpqM(HCvX5l#thTiREBeI&Hb4o|4URT#o-AI)btjNYM&L- zeta8U8UKu9I*|Kg)dr$P(K|yALapsBa~5vgb4iPS{aTMvzG}oQYhu?iz%|K7y^~3< zCkWPre8OpT!UxU8Zi>G06_F(3@ymY1<>?+f+i*v{$c#c3*#JT01L%k!LM&H`Q_gbH z=*>I6is+smXG1_(@PVn6*jkh5G6>8O00uN%Q50$<3S-*w>@XWd%X zi@49u4uULDC0OcAQG8C~4Y}nfx(q)U0!N?#7^H;2VNOZItMLlIU(bi}az zw4!gXI{J}vgDsmk4rl*#Q}S*l=Dku_|C>&EkWAcCEF9d{hREq>A!D?<a z>3plQ84NT`2&~0CrBLkk$dQTs+dFwmk$r9Mf0f)6`LXb1Si1V?=K|H~a?@wIsV;TE zC9|bzo)R>BI-$Qa|I(pvCr`Q=Yn^7IJ*)x5&YWEJDD&{1R9CvgtwfB?+eem(0;N-b zJJakR3oQAw6|KLM$uurU0Rf-9705=JJ`q^_P*;wYr)-fe=C53^xf&rKpbi6DPX6k} zC)vA@%@=D%#xt5;>#|Yx(x(=`cl3OI|2AWUGienIl1>e^ZShV)Z(so65g&#NopDn& z=R9)H182;KwKJEaY_BSYL;D=*=*zzX)sUHnD13NJW2-u7p1Ly4R;j>>_H*=joE5ES zB2-KJSanG63cU^j7au?$3>=$2ocG%iJN0nTLe;W-J=)Ef7W1ILTJN>h2$od5 zt=yIrqxLqFQ;7A83zF`!h|{dUWmkdr-@XM)7Tk zc6CuZb;hS!+mz!E)3bHi3awrKg9~+EI}TrAez+xCYZ5i6H5+sNyK?G-C%eAB&s_5% z`#G@9dN=*rq45nn*5wFYnT{c%@sTx;pU$tC`?57D{h6{+rVbk1LD&qxUp_GofsaOF&9?`bwg~KGwu= z4(`?F?8*$n!Y+&~68y1G*&Rmkwm6vxhGSv9(H*!x7Wz}fOl3;5;f~=Rh{p*w>&sOx zB7`s?#O$^;6;VW2Fh~L_@u3k{g&8py2MYDsgpNFrD59z|;E}=osRFE#UC!#pG+k*F zf|m+Q_RKd^Gv_z_b3GkHRR6d}i2fhKRr_DP=_bXyeD!}`=4<{VIbh{+RB4P(F*8q* z_0vjZd=e`NS1a>~MEb0P$kE5wX3qmfsmF7egdSVtcwrpuf(wk` zRC5vtAYdT{P{BQtq1-S99!ZT-U_a5E%f>S3o2N*cs?G%6d^tXy1Xxk4t^=V3pgYZ? z8#_x$>@qHdfVISXK7_{m%wn{@V#kP-C|I57o~e4h#4Of`R$PlfJqEDv0Eg zQq6$LzRH97W!!zQhiH*~!R|T9R*&5!Ri@ zP-~k|LjVK>*MpiqtYHfB%%}k^(jug(gvZ89sEIAcL&<(c!?3yr_vNGGie|?l4amX1 zpb?qBq|ez?n_iNC64O?E4{EyF52BGO)Zdhla$e zZOU^6CCV#X44R@B#!gdjonM32NVNH0sD&w+pJ9Ro(+~hr`LF&fX9cHkx2oarHMfo* zTl+e4W%+t>is!y2K|#VIwMlf2fMM0igreh!!_=iWue(NoU8fVeme#hLQ`%W_0Hx*Z z+BFm)%P1qGGG+C3(cJr1v}K2hX=4QQNi%H)3CcoC(F$oxzHyMa9aJwBwciScq+-4L0{SZa8>{{H7nL3!@PAe9aPZ3%CtM zSOw-Pbx2Xtu#7io-d|3`o{oQ}_BMPtW=s$(#d4&e7gbL>TfDS;f|7_0`2HFt;9abH z>+5ClH0qrdCk~4}tFy$Hbwe6%?yAr`Uk8)pX)2N$PP1>~u2qwY{LtjxQ+GQ9L|A)xzn#A? z6@53~B4GST7|>|C0_x67l+b;(M?aT;R?Hj>w?wt`8d0S2&HK7tB`)K=c4MB-RSQbI zKP#D>9swhDF=wE*hT6eLx1l`v*1o{7FqBYBY%prAojlZ%O+evY5dd}*X<0p(R%2Kz z`-EprENsvGi6op-pct5XOo<&LfjDbzdv6^`2g4GlEf}e*n z1&4~rfAfS0QP|9AC@mVpXZCT`}XmoZ-0 zjng5l^a+`0&iVBeZ$N;ZH?87HbIRU9N*d<;dRM~2oKAvsyL0hVI=#F?CB831^W5l4 zs!iZs5f6|!lT9|+DP4qyr0`50K;w4GO2ihC1?q*Vlchgb1j>Di2QD!478aECXnftj z&_&liX8n9R9K}=Ecm4xhaBk+e`hk`!G5@t7{gWnPgRV%s{7+-Ko1H5a`rY2@}6=-Jr_<~U4?e4oMw5eRpxH7hrtre2h zHALqgFd0U#Nn4bhj49HW*9F}j%@;+sf*{KMmahPjW=Bv&F#_;Xq#D7%B(RBBHbj3x zG#G9XqAtqnq7O(E=U|$ste#Ax972F(mzu_-@fTkkBnQl*sglpxSV?`DDRz4VZPc8S zz}6qK$2f6(0FA$m*;#O1GPWx__l@Pjd7i{yJFb&BhQ!^!2=<l!14YkQie!U7D%#?hl#pLZC-pfvd$5vEE!)6cj z2?VMUZvGP;`dO zT=!rS0lavBCH*s+#$}ipSEw3*;B-Fj^x;2CNXOdjl3U%VX`L4Z=nW41nI}%o>t92{ zK3qP6Apfb+8aAcuOMCbw=#OE>67+z2l%Sd!=LE;IT1WK+&*8gI_>5L$}> zn1Owt&$GUFs6}rTY)OvVW3>OTCr?N7(EnyowV0DA`UBus=$n{A*x8Dtz}2NK0b5)u zP0z;`old2*a5*@nZipFn<#W*9>iSLLS6v-}htjG8JSw-k=kh^`bE&=bwW~ycZZmA?o<+C#s5$e8N57W`2B}*h}eCv!>fzR|EhUcYup8 zx0*-MRqvv@@H?|lfe6zZ`B{ zbU)-J;Oq%?@fjmHa4T)P|Jf~OKv5@-9Zxv<#s6x}dG-Yr#Qs8T)#2*-Mm4MV2ZS)Z z{EBRKMo3)FPLgX;4R*O%ebZ4Z^EiFe3837!DA2yg)mrV7*}I07x@w|4#?LIn0M2^? zXGN^>vuGIUYUv0Ry)X^p*?Zl*YoMTS^?#xuyn>hf4>bATdFOxAUs!eXh|&Ka(4@m> zW*&&PiM}}{11iuOS_=UT{rHX57XNxMDjL13DG9fQ29g-0DJN0mgja9d_%TLha-6x0 zIoYz>Q_GYqYkPDqxVJ45-+LygEB4O#iSYC@Gndd70oeXKxtlM-ub%6k4p{X}TJ)L} zl`0?0y;i*Zc%08v=iH4TGc^S(dG1wx&8PH#e8LhFFFSa*Z_56a_U1w7(D|t2=ThE1 zu})~;d+@LGA7)f`zxd}&<%PuugV*(z)%~u&{c`lUdVx9RV#MovvasL-CqC_z%~1C* zZP2d!{A29p(8;qkQGfqxeUH2Lht9JPIp4lcK5eeqvb1mF?<-%I`GWYOP>{&n87lDd zv|}Q=tn8#ha{Pm^SOo$}R3MN{NiJ*|G+Si2uP8Vg?E|=h^cl)j2$YqmuqBthoOZ!G zHxOM_`tD0nOms0Z^&hkO;LXUsSXsG7pKFZw=42s&@cV~mC<-OE264Tc5}D=pmOnX% z*KJBN27KFW;BDcEheqX_?Xm#?1u(dg-)>Q2P<%T;dJ?Gie0jp4-*oDKgO2cHPt!WL z`pU%mT)m0dBU*QUCVCW%Q$VyBO-}|A-DBtX&x2KoEvM{$CAMVn+-`n)VFkmfjPucnDAi3qak@I*317f_h1Fc101Q40OaGm{lLlF}qE2bGpWs6QA zfRw5f1nmyx5UZlxrtdcyzkl)(sUmkI_AhAtc87c!(~H+5d=ud78W#LdDD~vaRwG8m z;~$Y)1ZLAo6@u6rIhR}uqi_+O-~ePlkx`=S0KWuQzDO;+(|84SUT}XCSL}z zR~+O+o0=n8_x!?RkL(OOBJ903hnKdf`&@X^aZ9nalrtfC11R+lC#gM16Aun}3^SMcBkY0sQ(21>MhyP}gov!Q{RU^52=)KP-g~_@)o{_i zYb9ApAOQn}Bs2|0ItYk}3YySSgwUj8Xj0XHh^VM5Ka;T1G??HDS@POp^(S8e+v^EhJQJv_3%iG}SmA^|^#AP8`!G?qrJ_mA1lS$C_D_hb)gi6410y-psb)ewO^xxH1imQ?of9I*jQaP{zrQa zWmC@dqrrhK5_G_I7^QN9p0?4sHOqS*Mb{X_V}WMWUc4G=yb3`dGi=ke2}bdLq0h^tP^C~pzH_R zJ%h1^iED|dKQlX0mhJ^a1rhgueM{-fy1%x9iy{ciYcNLeB}qD3VQdsNC@wI}uxVtx ziNoDGshc|jA&@*@*z>sYEQr2Sxk2*W6IO4|W7*nVo7w|6;>+#Yb}!;YCmd!xh- zLdqR0HGC^DXekYtNdaAN<+yo+ooLs=b9Q}3cN<^rxHM{@z4ww5f_>&TtFQq;m%kC{ zdQ^KWz-6tyEYBpPuN;$mA?e-If_x+oSn(%D<&(Cxl}%-rf_C$E=riBmn4#`HVP*eo z<4f$$i|7N&)|B~1o>A!9inXEM@bRx&Hz|pm3qA;EQq6dJU6ohkQ!k{b=wmJHjI)ki zQ|DY`L&%XX4o738SL(vcsov_6{2qm77@B=`k#H;^HpMS#NFrR+Z14ibc>qj6PBVdd z-;4pXPU9nKsx2=)J}3D-d#Wv4eB;w7m_=(AvUm+in@!jEudo z=xp2FC}WTzQa?3dC2vNT<*JxYKCO&Un*QVTjBJkPpeL?uGej+ik=i&qJk^A#pqW>nf>)6Ne z+rR-r80+0WbRzs}HuXh;gtg+fWPhky-vmDJ0`-1s<7a6PK^c72%D(L<6n@6GJc70F zmhEqhWQ4{$h`uGK-nJ%^qRrdeO7Mh$6mS%p}Hg-Cibf7 zT=DPN9Cvkfmj8;3?ZZr8vxgW)a1IW)Ww= z>OVRik_BXt5bUO+tgQJUi3_78){%{j=)pZ$NS`)VHo~}>Ptng()@eg%q$ruFhz!|a zt6Z#2aO#Y!`rt{8eRigfNKWm{mKCxd;`=ZUB|~JWiUG;uT-M&L&+CdbTv8Y*SXu)T z2_)boo&3kY>WrR@I5%+Kw@}L(rE>%&#(Pfru@=zT(hyd zAI&M#N=L=`&wHQ^QCR@_9m%)M~y0lsi0g% zp5c*k=B#963YD|Fpxq^zKrwoDNSMq6A&uWLj8hvu2(p@Sp}F5T6Fw0I_&i2c#WO9+>EZAPZH|VUTsR7_;lt>dDk- znY1%Ue>?J-7}sK?N{C46LN*Cgp$FQTh0|2ha@ zhJrfShY6h#p}dVE?U2}xhYk>h6&!?>5674b$j19(i9c%!`XcF?;0g@}lOAz?sFr#tk=rl7aw~%Q&$mS|`0rI6%UIs4 zg&+n|_H0j9BqP!wH`o7bOdhol>9x9BA%F`phX2 z?A8IrUB#e%u4(=3D2QXUo_1)Rt-kNz9aA8t2C)ftwBYI|PHrMd!Xt{*rn%}{0L z_*pHELZikS;_fe$aMz9<=UZ*5PmdZ8(1PP{&7AbZH`uF%k=;c3d(G)g;Wj>*4R6kBDM6=1Z{5lvix6!n7C#;%wPv_E$?@#yf5A2^(c#sV^lB-+on%Uk; z2|{@J7H_uubAv5)u+b-CSWm7;_#9*Iad_(`zfs}k9XX~Q(@(RTmTm;oFF+$&jrFz4 zE_C{1@PU0iBTn+S2G=1lKBjF9$ZozO9z3@3`;gAIjCg>da$)qY+B=^@lyBz-WA9YL zvs-6=*qN9Z&*`dWT3ahnCghPp=8(?=#<%J(McNvDQX1R*sA_|j;*$LM?j_VaF&_(J zgnF88FF`q3n5a)zwQ+P1EQ@!TOSOm(YyR?vvdzRb*2a5#az6cRNGbZ!tRyoQv1HxMf^xV5u@v)_RsPB{13Km-4<}*(adx0mCJ45N< z4;aCcgcyFZ@@wz@@t>HZl8HU&+Lp_EdAIYA*}R&@p5QSlCd71Ev0Ai0&*M;FVt^8<;@~OS9=t6=X>MK*nn8Wf5ZMNqyuvI zX^O~7cfs*tnXZulct|L+{cIv@6u~{C&g@;eP7DX4*dRsV9QZr!j+)vi7at(B`tHWE zN(s#}E&7!IyOV9TZ#A0U5W_Jmg~hnrLACJeA*LD$L}_4ZxM2h|kX_OEXrVIW zjw5qS_DKZxzfb!Ab?Za~Kh(d1UwTGnR(4J*KA)ctNkb(iDk?H%}7K4|5wR!KbCb`aAq6$?qZ!=7G{2XLcEG=jay*d0U z*=ude{l@ye73*=u$hrSf8yA%=4@;iP%B>rUJxo-s?i}5N!Q^@?nP0Kd{Az zdR|cQ@~vU{goIU%DSB6}A|+~qE?tIQ9`=taUGnlz--*=r#ElBWL|M@z(^VEmZT)9*no0&= z-(-$$k7d@rTNOLn9m0gL-U9kj=V0_3zWSqTr|_pbyc&*Q!q2d> z@ji1k^V#C#RXgS8s&*U?{_sSj;_={yut;3&#pmIF!Bv}W zPn&_J^5@@%R2NGAoDi&-u?gC|!ugf|+5BXQS)-!A;rU>iUAT5^sX) z89`0IY2#vF<(Z`!C+Qf#r{x8Gp3vm4!g#-RPUY%*jnh`TvJf?3q{BuwU!1KV>EL z&hhT@LI2EPBP|RG9s+S5-7~%WZ0Gn6H?+UpH>R&*Yok&yB*ayS*~f^`bWiyV=q~?S z0P*p23yoD%`pzjE-u%2EO2J#2j#SW^*7n~*I#p3p7@(cbDpI@X@%8s-2FB~av$k7h zB$)BIJn5PkO|zJXZ<`Q+%m)HHvW$uQ4HfRQcpSsw@u5$>>&GO9q|BeESO;{CsOfB8 z|JwM$sUNRvPAM0@LSdX8CXR<3O`OU)ycs`P_WtQ5tHScT`&ryu-H8BZ&;ZunWY!|o zL{2b`)(zp;553CDj@vZXif#rz#I0igSQCAqXKq|yQkro?&xPqN8r)p9y8g@` zhU(gr5>|U8S^m#D$y_|$)?m{W-bZW%EsG{z^97v_k-~3aQ4`!>MH6U!7L(xC1HQi{ zWk~FmS%LZltCFQ9o@i!N$_P_`5>_oCr7^!M!adPd9&e}C=Rt}tz-EjZu!q?%sUZYi z#!A*saBU7J@iXoBsc9doBS109y8yn=Ovp}{ zMZLLX0n+ST{Y>Kt02IGNQ77O-n)7h%_OnI0Kc_wk)+*Q~qXUBbkm3+NxBm}E2h9;e z8H2F44Hq%qtwvojX*Mum9~q1D`JE)e+gV|f-=k4$3{e3zUI>!Qtd;A^wxG>L5&=GM zmmj5HE9oNUjLvK7e(`3SB53maKqC7i$uOR(LMY_bN;Y;pT2t-4Y>`+`V?| zH7B;>U-RmRWT8jr2$7730rW78ZA_bN4r+;#PuPl0j)GA|3wGxW*#%nj;YAstLKFW4 z7+FeonYFCXlYyV3(n{H{e2=5b=u zg!kYMN^Llj{v2q@?B4UJ!Mh9PFhqyKQOMBDNmf2BZjD*DwJyJD_q#pi_IP%W)YWV6 z5q%)d!22N~0>8%d4&bIk9suxNCo%YKg(^euRQUWopd00~X&RKgl9KE84C zV#CU2R@z!}ykKWZik!#$TzE01Q?sLKS)IyA(@pgv{FF~QdQ-5|2(x&}4{x~2Mwcg9 z#|6;S!%;pI^OKHc5hyW6C*dj2ID*;BUhFvr=6C_&rR|;$XoV$TuD1T7cWzC2_Bp~j zkba*0^I=cIfh4aLKWM^)rfAMBC0gnq%3zgK=Xn|H?1 zuJC!EWEY9Z_@iP?y~6TZ!w!=2 zobE+Lyr6NzgVzbl)~Wak`dPr&s@|68hKWJ<1Li+bI~dU`Uw*q9SqIaL=fYX} z3d83HY#NT-igMgG-cVF~vF+kA5ZQeQl+&8~l3n?B`04loIiU7Sf>+b?-7ZTHLneCK zmVZIvUX#R;H{UvLR&XJ0K@RU|0xs@06x6=-qJPiD#siH!eeLpRZ(dl@&NI>?8h_op zAlu%^kiil z^4>(LSf#H{cT;{Xc{UTF;loOj#HU>YZgyX;T{4i=>jrCU>VyhJm7JpwE)yyyjCAUR z0DhD>Q%+NaY`D7$rdGVKF5AaCv=rKMfUXd?!Qe#eW>Db(gShKl7U2H~ZVd{)dAoGz z0e^GFl}*B)3Lu5@YGv`RMwJdpuL(@Mh>i`*E}tJ~2o0J$zey)n-Z*f>cVFmd9RM?6!~YRe5s0Mm(qtOvU)&pEC5r3UJ9hPC?(!Srw_=t9Q8SA_x z#o3T1Jl3h~`NrAl;q7vFYXh#n*?kX8#_@j&y5^o=tJL=T*b?QLV!~TNW&IY#zF-kN zOs^_uiSDY9&6h8+TNY6O=Ki)iK=qEi-j2H!1#Ur1o))C*L1Ik|$w^3&#BhRzF`JJ5 zr;!&;HtJ%6(24ZZuoNwVM-7@rq*{)tnk|_!b+ZTpOvNx}*)m9U5NE;?LDCi@bV!L- z&BX#vWh*gm2nZ)FP#}U7cT}ssOd{GW*pZjP#g|ZpWsq99thNy;RYe(woz}lC3p^B6 z#~sLLmi|}X-ykzGCJu_elY!<$SDE3?XjlJSs>mBHI1%r|@olok*pvZZCDP4@GZ z6n|Ed-8OLpaS;U%cLVihrmGqV786$}4cULCi3&{`ANuO*0OIDQCeC1TZWX zQ(;$*$hO|MIy&Y`Kq&L=)j+nZ?W*V)=VjK#xOLF(H=ZOssx3kk z22X~`;T|Ip6;45HOmw?~o*rl$P%wuc|+yqrNeX zF;n}iUlf#jrC+en>~E_QC3fN;nSJw2lpk;=yRG+J!m?|^l^|vPxyu8(Sv+czlj;w~ zcSxK2e9O|2*%#aLCx5(DJHFIkkJZY;Du!tX^0}ZU64&11`vR&D)3W5#w6@G0prB@? zTB%(dNQc67{R{=#e5%2QK2W}; zN4}5WlY(e~Qg!15oUBk0$zz3eWnhaD^xLY>^J?94cqlpCrY$T8*^7HnL|M2TVxzDP z$qZC@3pqK6ph6xbE17W1RBVV+?!(lGAADnHhA%eAdqvP^Cf9+xQCj4Q8_=k`cW_cG z?F#kKr}sbjG9 zEH+2cGOIdqf<0KEEoWCD5QzqgjUcs{pC-Gki8NYUwa(}2J}lNmx3At^uq_*>;ZUJN zk}MXiTW68TSMBxSny%A z-x{zL{yH9s6Le{uM97)$%L2Oa2}ag1^%}ySdd7|apr{QWXQ$yY_`yE9t@TOM&_Ra+ zSzdAqP6k7GG%=N&3Mo=FGKz%UG!%+zI-!pMo}Zz%q?amiMGE@f;~qh4`@fYxlGnEJ z;Rk^!ko;+*W$(s>t~6}dhVWzA{?-r0@#^Mu>wW@dO`tfjKKPAO)I+53k((q-rum?P zR@)qhN)MJYBQU01U{3V+U*%{x)Gj)C%&LkXtBU#sUfO%~8ZPq~V*OD5zx8 zOdrwGR#F2;UMfW4X*~4aZV`;`REVhBDgwnYc8wcaWoz9 zWR=7L1|VewFy&GERY^3(h|2m?6>+huM-NTM_Q!|Y$arD=d^n7<>?_(V00fpfFgCPI zRh^28lpJWjnx~pZTYEI<>^a4gt*^}Q5xAjRLdUKA{olWO5%l8jJ;9D*xHb}TY9x+Y2ZhiPlOO^4vLtt zJxw?)Gf)@lw6G(4$bhvs3-x?Sj}|c32-Y6oTFfR>@`gFb9`e0}H4#<~7W0r7M1n^&bQ^j{>Z zT9W!@2EV;!1bH`b9(v}-gj4qg9^PGHgC?9~>}4^GnX(p~CsvX9%SrF7mX0=(XkADD zumJQ=Gcis5DJHzwTf>o5Es7*vp71YIk*j?XoQQoOFJr*(%3D#LL6)L_BvGpfE9G9J zJw*&q#$Ys_Da=E%tVQ9OKygD+yy z=`aNVicf2n=j~j^{Y$pJt2OBVnQ{;q;6E&={};A~4V?c67S#W=H4Of5Tf_fPYz=j7 zM?s~=^BNnnqB{Cb4#zYCcy?1;wxf8ow%S2rtA|P9}UZPcV`%E`;v)>AE1nP|{|La5~8!D2u%EFnDRYQ*kD(?P^o<)2B=2;XQKzjySi8A}Kq z-8`8phhs0Z<1j8Pk}VXRZ2+NNZTR0YF?#gor*c9S$sjIUslyoD%5G0a;xUrEe{fiZk|CxOC1oqjJvUX~TZq%2P2 z2Gwn7?EW<<3JY|F8TMD`Sc8~KLZGl}WdobHwjxL}Jq3X1^Jx;-nbBS;J#vaIc6S3l z97I4GQ?-ELS z-bKv<2^<+A?hI985P+sJ9JjK9jfuy)lNHVbOcMtC5by9yrK5}H8ytiOk7Hmwu4QO# zqHOU_(rO)hiLH#ge6Ex!TJ_wI;Wpbzskk!hd3=k}^VM`flBIwXWJrv4R3i{W9#OCQZDk}9Eb|N(+X+d;UW&s{N0%y9KDXOS zeoUD5!x%u)!;HT3KVb-C1a4B zQZ>xwwHku*r-bB1xPMJ5lNc~)MPV$t7pA$_=xm=^-%1;#1&fI88Ob)5-|yzdFx3O5 z9Vp4;yrX*_HadMnQL}XK8qT{Hd-hq$_k9QQBQ+$$Nki*hH(;BhM9n_pWUnEg#|0cF zAzC|y_I#LY9aUZJS@GWIy1+Hp2+owr7J6*zaWO1=b2e2a)9j13tZ}HBu{UeR-$GAT zBI$i#Sq$T?o7&w+SH537C{Qe3%U7-zd->-U6x z#l7n!&=220ayxc-4;O=IZJeS-#)b!)_W2U0x)&5Y zv_~$;3N&g4J0c;p)UE^!5@O>5V4u}xwue;;B&$mv`&G^0X&sST3}A2=Js=_dPzk@F z$q)IL(_Zww)RTPc&@DUdMuuRJUswqn7>SMjy8ttH{yye3bk)vajkaH@D79K!&s$r} z;EJ1BvLq6FDL&rD2!aSo8gVz?z zqj?~f<{vNOQGEoH!3yEk_ODA_$zjwowy_r9FFK*LfPo;^`)MJGsyfAiY~)Dpft-ua zpq)xp(~3**#~}rV@e@V_i9CQv!jrR&A*sv8_0@*Hv1y0ayKekj$#Ds#EgRJ4hHvdmCQE^Ggy}dlN%&Q`zgcsb?ib?C5Sri1ReMzrW@GbJRVl1E!{0F3NzbI$HpOq!Pv zo%|zR%nX&Wki)UqOxuRVTXDcKBnbBDQ;<;V)Ziv^R1e$I6glluW3`CmK3Z zl~3^@g|-dZ?KQ%7XU8F2U#BG}{-Bb^Q_gU!;q1lxIBu&gB^vJ`0<$-^s4=yUefa)V ziQhWPjMy_#%dqKfy7U-!=w`C*WX(xmU!=ZPNqa#d+LS%@&k^xnq*D#~klh9rQ@(zy zbK;9YG>e-r&tUW3Rv){@h;j8W7PldVuCDJDRE_wkA0kKAi-Nu4h&y*aZa!C$eRRPL z4Nmn7i`jBhhdGH*~sQ9V0IUbP~L6K`bZht(|V1%C&akFsy(x7kukC9jO+bF z)~e~VN&>KEX{UM*@T~lF<&D2zssA*pn*)Hrn)HRnfsrHh!Le5tA!ld0nZ$pC4#?ee z1u~W%1H%6OLI0oJww(XnI`{uk>s+ULzW$RmGEZM;KRwXnTkY!thokb33R(2kWjh_! zYQjREyGl$TZE`=z*=#dmiC5T2@dm^&^qfr(ehx6PXcuL}7 z#gXyLfv2-RM80)DW;S#h(PUV4?&)_Txd)sLhP4CozDq<_zi*W|SHn44tAiAp=u$l^ zmzI4(&mlc zE$rXBsP^f*fzXGRvyW;$(*1PPoA^%?e(mn^>EEd99aVCo;h5Z9b>O8}AD-%W+YW8o zjWn@cdXs*H0=&Fl;W=^P93Z#aD7(fpv>~wnv^nS@e||c;PnPg&T9`j$7a5rEJQdoz zB8AY#l3R{E4r1*ijSBRBTwS=)V+)id8Q;r_ypyExZ0u0Q%H1LM(mHS|EBvODa2qy*xB4q#fAse6z`kI9iU70b&3EV5$H?GajclGiHw+J_?{J4*ZRC=*q4M-}CeD?nQ=(u;sU1|2yZO zE|SQ*2Dm`@`rBb-oBd;#6*er(cjqtV$$Lb5o zglmogn1d_-ey`f{X*Krf-=dvB`g-B3Oe}Z7ojx~p;0CsIFusy00RGzZmp#SFP!b)r z!JGv8viAORCt@7yEcvQgyYiTmkb5EnlVt;}Ib3;k*PykGCgBgB;K2^tZ@Du`#l+{)cEOYaIlU}f~sc%fx!gYsJMs6e7p~_Mh4ZHe{ zYh%rh$r9x5Ee=fd#jb0LR`)b>hfj~X8rvq{Pwm4~I{p|NKaX;HpW)!3{ku9p-N`9e zImLeMsfB{0Io19S?TRPgv=$`YuGVaC8*p}x)h}0A?Rq+Rz2Ql_HU9UD582cYffj&9 zjd8L2T<74;j=O8hT=VoxKHnTOU?%{G-l$DNo^?fF(o&IF_rV#A_m`7fU0rTs*8yLy zjg$>~)S|WLog%h=aVd@*^3Y&!*Y{XaHERV^Aof*w{O(3(+7ZE zZbFcvd*3x*cSq}1pjMvoe!HUZ(T(p|ho6;isFRN^uq;?A#vH9sZRDeqv<{>uChuys ztBwesa*0rlcAN3K`FytxD4&t6@aUhVhAUN+YehaSIC*Iqn5gI~ft9DkwA&4}sGAnm zDD!ml9DfmE@Ec;+XY-Kyvo^P~9&(k~b3@-GN}1p5^?CwxBd;XpuZ`Z;^pkeb?fvS3 zLR4HY!kI-3+B4UZ6^4aatixpU3jQwCvx8iWIaB)ApWSQ)($$SC89=Yp9$a^e%=bgw zYae#6i5uZSdNw{T$2c{y76MM`eb^=96Ns{+)-q4?(xh`l=0C?W`1Nvw-RB&=?FCEF_dHEvrO>ie5Q8HLq;6tFdH#lH(R6`S6>?NHcC+) zqd!$`#T)?_U!%+~73eZ(#GPXfl!^1ae>_;nKPJ~)ZQ&W7_v#5Dp{Z8{>AKZmCsO~5 zoy~xuP*^>3B7-&nztQtM^x)E?_?mUs!q$jS-r>CHp>*+iX2q%~8Sih}H+yA_B9?|p zd7T~S?gUz{-#`p@SYt;6My;LqsQXS>xi;Jh)bzT1=V>6Ut0gG7>{LF?9&Kl3+BZr>wv4!%#6n{*6PXA84V+dt=R$_DQ$O9+Rr<;vhwHQriF z{48Db2QrKhNky2aD8{=vg>RjB<;g(XUlE7r%`3fld)@3}J@IvXxp^)avB9c_^NgPw zL^Qm6WxVzJe%;4Ol3xdYtpAfqc^%hxZGQJWMVwu5ZB5swK>mRV^s%tTxJ8M_?LVmQ zN@X}@AyNOk6-Be+*|6V>&$7))hexg#TzG7Z#_Sbh)I>iTfu*nBj1;Aomb49c|B_Ab z@Cq8+(#D_u{oZxyTKs_vU*9=%i7OWKyl(#d4C!y%0S%KQIXz@!meUi|-k6#7r?)PHb!Yonea^8Wu7m)BNv>-ayoJjeF`;PS>Q z(aC5=iW)77gV5R?GC%qsGS+!;PAwM;o$P3EMNC`Ye{Z<>eiUT)W~pqNfZdubA0V{$ z&ZeiAIIo9KZM*bw9E~PUKi@_<&qcxDd+7bTCgEA1@RPP#KlZXkht+@FY5cLkZV!|p zk5l^h5O(a}%F+QVNGN7u}}z2BR?obTM#^8L&78?%-7t{*x4sqn!q zmo@auK8qi}ykE8D#*G;8jJy%U<(GVfAT;RbId)93W!g(FsZHxqGI_w(AD1W3QQS9S zJ3Z+)Eag3!5w-uF7yG*9v}!76yThw&%gj1Tq+;`+T8{ani>GrfmP%je?|pbcHSPAd zh^csn=1kEpYgznwfthao6mNTiK&=?JRU$N_E9i1n=@w}g;Ae7ox`xZni%@2Vo*oK0 znXv9_Y1y&MGny6qBs`A0vU7KxJDxaP^DY|Rzj&^IJJ8SfV1CniROziL`B*?Vi`1^R z->Rqq)14D^YF(qoA6acVxTI4jleIC*s^;@UYQu?!W#0cVr2#b#2d+Y_;oeS~chL-puable6&m;9ikO zz+-o7e-#c5RczoC(A!e_@F6QoCbVP_%{^~?&Zg7Px6fgBpXdI;xZm%*tvnwV3<+0? z_xKD1%oW?qZfh9rTDfN6#65$Z#d`OxM>2JyMq8haWE6~e?G&qU4%dbm;oi$UJbWj; z__pQS==l5YUf%1D2aV3>1B2^HR^)A& z_N`;ek7QxnIg!lqMQiZM=i?m=ra_02P)>8eX7G7G$Huhqhv9lYINO4LloI5kKS`-t zWO~V=)#Xm~)ein_(W25qGRgPP^i~(xzj-2Og?R#wUhbDTXYIDCMH?p*c*iW~S(fr5 zBh!IwBx707yQ}%tDpeK9BUI70mD)j>wk-`n76-G+>XQ7yb!tGOsw7I118y2qO~AFF zS5MK?x0v^kb}{>kyjgK?uEb^W?0}{y@ zr@u0jUdd%BA4-@e| zc#;fMOKAYmvtZx1FfgskNacC#+S=OJ&fD52QHEdr0YAe!@wZwlUzoc4{J}DOG5qGYMcZ z0V;ABC`6r=)JIy8ykU%_7?3dk-YS`>PnI?Ekzkd!$&C@nW_sM)r8ny&9Tiba^BLQ0 zf)9w6-hy?JHN6v1Lm6BB=d-aQ<}yY|GR2%_ID1ixLDvgO-}KnfwlPV1Ckkp2h8(}; zf9rc+Tj_QfV|vTyo?Fd6yOHPnt+rmyx-i$S;4Rj-{quaz`RUOU5 zEa1iQd%t)&Ytdb>Z`2|FgXb42?T9K_QoRGIwEXL+X+7r;<*@nGCGhySHLwZ`TcsxE_d~YQ;2(IT+D^5tbDFA zYYA%6nG8%@raP|d$+9qKH^9|njiKm|QHoK({>pi8v^Oy1aQe%B9n{GB&d;ZuKe9jQ zN0mDwxcegx5eicGiyR$LavgfYtnCBo7ptguB3;*(qvv-?GF0!Pv2pn-75-bcvD;hn zE}j7`-$@b`uhQDRrG5w_boT9%78JktcqhKMcc5JhZQ&0}w`AB1P9B~6P@AzdfBo0w z?RA+YvB1(&2r}A&^5VVwzHR#$SMGNMD{em%ed_l97lsD;^SvW|>8;--8EN^fY|ZOG zH>XTH12l_M{a83N>0a&7m}89D&Gv&tgM;+y`CQDy{Ej4Ppd$8K->$KJ5xHx!}Iq zU|~Oqp);nd=+N4)7(#?miu`>B*2IZRWQ4*yXFeJiVM9koY;UbWFw#IrO$95jYl;8|&WJT^oC1+X$P+Sp)z z+D01o5e~oC3!4FiGIoWhT?7u(sQch;yMs2Rkc@Ju$)m3J`XgQ^-T{`eP-q5RGzKB> zx8kwvQf(O0hKn6Ci|TM^k7F730F?pEKTwMJ8Yku{=B;>kmWW6Y(o174Zyw$ub}J(qmQlS4wlA@9tPt3*L515T8q8=8@wL#_u~e zRiMPjjywiGI25+D7M4xt;k%%RkL8Gb@ZK~OM|P3{%2|u{~oRBkH8= zpT}=}0+txCHsOD%s$@@4Bc`>jJUPWUIE*H#=!-gm($0_>- z3b7C6z>DtIvOp2TR_gKzOJ;H4YbS}3Vs01|A*8@FipfK18^@qP7L+jrWGNKyo5TTf z8Yegsxuo4u;K`UEevC2hl{&822oXK;-n%Rg#^pJMXGbn%ut}#zd~&{cpStFd?*r%i z(BZk0wiw+9-#>qe&M|^3-EjG>*2hO+KP+5%G)pidtao11i%Z5>slY!N<``lO% zcWchEgLQ2uDZ9!FeSP8yEdt^=xY^dSihRy;p&Aui%TZ+o*^%yb7NO~u2K#~QGeMhW zOsI}k^5SFU79e^A8nr)SISKjxYFO4uhEuSITd;@IaAhqobPJzooObqBJKG*(-ls6K zL)UD*?u*wH@!CyFkKC;bDj6k|*^+a#st8FgNE61#a=_DCNA_@zM9|wGt#20;dbK}3 z-fps~-O?3Lobbko<6aL1_xDCrDOMf%vUwlaG+P;17GKNnD}Nc9hnfIr6W+>Qc~P<0 zn#UIde_h*-)_*`=bGzaQhGqa@?qB| zrFxP%&;8w)7eFV`7+o3VT^ZS=VVR|Wfj{iZn|Ek{f8Zw2>jbBxe5>g!T+wQ z|8150myhx9nkpq(Mr-}29eJ(V;Gpqq7>(PAl!|?RHBhK6qc~y2h8Y+m_u-1jSapZv zru!7NSq%0q{)QCEb+ooO!<8lnmtrzIB3b3DPL}z|=EZC=Z_uAy#ZI_y#Urqcn`~23W3omcLXu?XTu9nH(3^~2P+g+`%Zz3k$ z(@vM$-rOo%8~x(;<@R^?1lHLrw=1fP@0Vyf=VZ!#3w?-U_v|-N=$vcsP`O|S#O?k# z+7|bS%egFWR)2_bTPy z)E@Zv&y1PpTDgIqe-Ed3GbO|Fe{KF-wB7ODOBh3mnBd|y>n4(kX44ZXB)hREU@l-H zrb}_yj%qFr8Dyt!RfNW~G7lnau8xv-J9Z2NUXwbr5ngv4*$4*|b`Y>Bbgr?)us3*9?ZF1XN(Bc3Gpy*%t`Q!ffB5jp(Fj0K+jzP09s$v*M z(ZyIR$v)vZ;#kDlLaVKUuzbJ2+8~)NAIZ!t30xj#)|STs5KcDfkUEZ>svC-CRO#wB zNVXg*Xry*MOpfxc-^VX)m%BGi!Kw%~TOCj-Q(=uW+Enf4_>o#S!u zgRlhCrwAG&jsz*7ZNWN5{oBNl%fHR$`{XR&*1;$_BAeSeG;j+9K@SpBKCL=7O_78! zGjMU7+lVoDVpxO{jNcNObW5@Slxr4K;}9-I-iQ(AM}HUX0F64#y@uI zUlnE4#=S0Y!vryV#pd-)vOW+`#d1a9dra#`9yKJV6~cMqO?l+kaRB&gE9HqW`$%x4 z-E(Dlp`XzlJ!ygS`KR6UlJ#bm68fM)NTD3wr90Ivze|Kx7T*zlZeC%UMhR%yVu>qu zdC8*|rUxxk0%KZv@~EG89&0GmY=Gc2KHr=hg6G@=n^KO?t1{4e?SWLbJ;}gn?;(ml z{{0*^&3I~sl%KfggSilA=8(H4=d}=&F#$l56~L2N1cgwK?48UM!D^SYxUnj1{0)%q)7o|uJaN%Dc?|Mj&?IIk#C3B zkcI2es?sRNHAVq&^3@qe#k-BGb`_xgIRQ&}lqrIzH&lHsjFb(A?c(P&3h)}2pN+wC zg?qDo2Ycjo!exx7V-E(=R7<`mt4Y(;R7=XxJaVjrJ!e7|U4Wo%%Z|_Ura;e@XJ4eN zc-&FhqZj>lQuYj8SJuqme@0&k{wSLnWQdVTpgFA6R^@Lc^=yuht*OPzruo?2J@Vl_ z3VZR%b>mP~g7|&S=j;3}FINwhC7iHUnc@ID6g5`dtw68N(uTK;aWhdt0xRs#WmSN_ z8$obd>F++#JvF(V&h84c>JzezQ^9nvY9)-IMg2qt=H&KRD-~@Si6q5P>7>PK28L8~ zLf_Ei`~9cN@=+u`wZ1IkH9zTCTH0^ON-}I)kfR}~oG_trLf&=CTEm!R)8($3$qoiN z$#*OCg(%|04s4Vr|9e0|_KGJV%zO4ERA_|eK8_}7<{ZSWR1OXXdNxBK0T3d6**t?Pk<>{9 zWoMFU>vCk>YRe6<91;mOZhKRw9I?U)Geri;0>o8HR-BzpyHdPsq;r4Md4^i{c)^$r z-DP^WyQUkASve)qEpl`rDHY?i835=2NA9*ue Date: Fri, 12 Oct 2018 16:21:22 +0200 Subject: [PATCH 141/217] Final docs 0.80 --- source/_components/webhook.markdown | 5 ++ .../{guage.markdown => gauge.markdown} | 0 source/_posts/2018-10-12-release-80.markdown | 47 +++++++++---------- source/lovelace/index.markdown | 3 +- 4 files changed, 28 insertions(+), 27 deletions(-) create mode 100644 source/_components/webhook.markdown rename source/_lovelace/{guage.markdown => gauge.markdown} (100%) diff --git a/source/_components/webhook.markdown b/source/_components/webhook.markdown new file mode 100644 index 00000000000..5540a153410 --- /dev/null +++ b/source/_components/webhook.markdown @@ -0,0 +1,5 @@ +--- +date: 2018-10-05 00:01:00 +--- + + diff --git a/source/_lovelace/guage.markdown b/source/_lovelace/gauge.markdown similarity index 100% rename from source/_lovelace/guage.markdown rename to source/_lovelace/gauge.markdown diff --git a/source/_posts/2018-10-12-release-80.markdown b/source/_posts/2018-10-12-release-80.markdown index e048c4c9c06..36537324d3e 100644 --- a/source/_posts/2018-10-12-release-80.markdown +++ b/source/_posts/2018-10-12-release-80.markdown @@ -1,18 +1,16 @@ --- layout: post -title: "0.80: TO DO - UPDATE DATE" -description: "TBD" -date: 2018-10-05 00:01:00 +title: "0.80: Lovelace updates, webhooks, TRÅDFRI switches" +description: "Hacktoberfest is in full swing and we got a whole boat of new features." +date: 2018-10-12 00:01:00 date_formatted: "October 12, 2018" author: Paulus Schoutsen author_twitter: balloob comments: true categories: Release-Notes -og_image: /images/blog/2018-10-release-80/components.png +og_image: /images/blog/2018-10-release-80/lovelace-glance-sensor.png --- - - October 12, 2018. 12 days into Hacktoberfest and it's been busier than ever on the repositories. On the main repo, 43 open, 104 closed. How the documentation team is still alive, I don't know: 26 open, 234 closed. If you've opened a contribution that is pending a response, that's probably because we're busy elsewhere or are taking some well deserved rest. Alright, new release, we got some cool stuff! Let's start with our [Lovelace UI](/lovelace). We have integrated into Lovelace UI some of the custom cards that our amazing community have built, making them easily accessible to all users. The cards are [Gauge][ll-gauge] and [Sensor][ll-sensor]: @@ -29,13 +27,7 @@ Next up is a new way to get data into Home Assistant: webhooks. With the introdu Configuring IFTTT via th integrations panel.

-On the devices side, we got basic support for the new IKEA TRADFRI switches. - -Allow setting up MQTT broker from Hass.io via a config entry - -IFTTT config entry and new webhook - -Tradfri Switches +On the devices side, we got basic support for the new IKEA TRÅDFRI switches, Honeywell evohome controllers (EU-based) and if you want to control your pool, you can now do that with the new AquaLogic integration. ## {% linkable_title New Platforms %} @@ -67,19 +59,22 @@ Experiencing issues introduced by this release? Please report them in our [issue ## {% linkable_title Breaking Changes %} - Add additional Netatmo public data sensors ([@GP8x] - [#16671]) ([netatmo docs]) ([sensor.netatmo_public docs]) (breaking change) -- Update cover tests ([@cdce8p] - [#16832]) ([cover docs]) (breaking change) -- Remove service helper (3) ([@cdce8p] - [#16879]) ([duckdns docs]) ([google_assistant docs]) ([group docs]) ([homematic docs]) ([image_processing docs]) ([input_boolean docs]) ([input_number docs]) ([input_select docs]) ([input_text docs]) (breaking change) -- Use HA native OAuth2 flow for google assistant components ([@awarecan] - [#16848]) ([google_assistant docs]) (breaking change) -- Remove service helper (2) ([@cdce8p] - [#16863]) ([alarm_control_panel docs]) ([automation docs]) ([camera docs]) ([climate docs]) ([counter docs]) ([fan docs]) (breaking change) -- Remove service helper (4) ([@cdce8p] - [#16892]) ([lock docs]) ([media_player docs]) ([notify docs]) ([remote docs]) ([scene docs]) ([timer docs]) ([vacuum docs]) (breaking change) -- Remove service helper (5) ([@cdce8p] - [#16917]) ([config docs]) ([device_sun_light_trigger docs]) ([light docs]) ([script docs]) ([switch docs]) ([switch.flux docs]) (breaking change) -- Remove service helper (6) ([@cdce8p] - [#16920]) ([automation docs]) ([config docs]) ([device_tracker docs]) ([group docs]) (breaking change) -- Rachio component modernization ([@OverloadUT] - [#16911]) ([rachio docs]) ([binary_sensor.rachio docs]) ([switch.rachio docs]) (breaking change) -- Remove alert service helper ([@cdce8p] - [#17038]) ([alert docs]) (breaking change) -- Remove service helper (8) ([@cdce8p] - [#17055]) ([config docs]) ([ffmpeg docs]) ([keyboard docs]) ([logger docs]) ([microsoft_face docs]) (breaking change) +- Developers only: we have removed all service helpers (like turn_on method in light coponent), as they werent used. ([@cdce8p] - [#16832], [#16879], [#16863], [#16892], [#16920], [#17038], [#17055], [#16917]) +- Google Assistant: configuration has been simplified and relies on HA native OAuth2 flow ([@awarecan] - [#16848]) ([google_assistant docs]) (breaking change) +- Rachio component has been modernized. The Rachio component no longer requires you to specify switch and binary_sensor platforms. These platforms will be initialized automatically by the Rachio component. ([@OverloadUT] - [#16911]) ([rachio docs]) ([binary_sensor.rachio docs]) ([switch.rachio docs]) (breaking change)

For the end user, this means: + - Remove switch and binary_sensor entries with platform: rachio + - If you configured manual_run_mins on the switch platform, move that parameter to the rachio: component configuration. + - Overhaul of Blink platform ([@fronzbot] - [#16942]) ([blink docs]) ([alarm_control_panel.blink docs]) ([binary_sensor.blink docs]) ([camera.blink docs]) ([sensor.blink docs]) (breaking change) (new-platform) -- Tibber component and notify ([@Danielhiversen] - [#17062]) ([notify docs]) ([tibber docs]) ([sensor.tibber docs]) (breaking change) (new-platform) -- Remove discovery ([@balloob] - [#17070]) ([hue docs]) (breaking change) + + - No more notification sensor, since the Blink API no longer supports it + - motion can now be detected either with the blink sensor + `binary_sensor.blink_nameofcamera_motion_detected` or through a camera's attributes with the `motion_detected` key. + - `blink.snap_picture` service has been renamed to `blink.trigger_camera` + - Camera names now prefaced with `blink`, ie. `camera.blink_nameofcamera` + +- Tibber has moved from sensor configuration to component configuration ([@Danielhiversen] - [#17062]) ([notify docs]) ([tibber docs]) ([sensor.tibber docs]) (breaking change) (new-platform) +- A manually configured Hue component will no longer run a discovery. Set up via config entry if you want to rely on discovery. ([@balloob] - [#17070]) ([hue docs]) (breaking change) ## {% linkable_title Beta Fixes %} @@ -146,7 +141,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Use HA native OAuth2 flow for google assistant components ([@awarecan] - [#16848]) ([google_assistant docs]) (breaking change) - Remove service helper (2) ([@cdce8p] - [#16863]) ([alarm_control_panel docs]) ([automation docs]) ([camera docs]) ([climate docs]) ([counter docs]) ([fan docs]) (breaking change) - Revert incorrect check ([@balloob] - [#16883]) ([media_player.soundtouch docs]) -- Added support for private storage. ([@nickovs] - [#16878]) ([onboarding docs]) +- Added support for private storage. ([@nickovs] - [#16878]) - Fix example for long-lived access token WS API ([@awarecan] - [#16882]) ([auth docs]) - Add bitwise operations as template helpers ([@blakeblackshear] - [#16833]) - Telegram_bot polling support proxy_url and proxy_params (Fix #15746) ([@Anonym-tsk] - [#16740]) ([telegram_bot docs]) diff --git a/source/lovelace/index.markdown b/source/lovelace/index.markdown index 848cfeef188..7efd8da13b6 100644 --- a/source/lovelace/index.markdown +++ b/source/lovelace/index.markdown @@ -7,6 +7,7 @@ sidebar: true comments: false sharing: true footer: true +redirect_from: /components/lovelace/ ---

@@ -116,7 +117,7 @@ views: Now restart Home Assistant, navigate to `/lovelace`. When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assistant or refresh the page. Just hit the refresh button at the top of the UI. ## {% linkable_title Setting Lovelace as the Default UI %} -Once you are ready to start using Lovelace UI as your main user interface, click on info, the "i" icon under 'Developer Tools" in the Home Assistant side-bar. Next, locate >>Set Lovelace as default page on this device<< under the Home Assistant version information and click it. +Once you are ready to start using Lovelace UI as your main user interface, click on info, the "i" icon under 'Developer Tools" in the Home Assistant side-bar. Next, locate >>Set Lovelace as default page on this device<< under the Home Assistant version information and click it. Note that this is a per-device setting and will need to be changed on each device you access the UI from. From ae81f7ad11aac1479993af3804f2192cb1692e6b Mon Sep 17 00:00:00 2001 From: Daniel Shokouhi Date: Fri, 12 Oct 2018 10:12:38 -0700 Subject: [PATCH 142/217] Capitalize the company Neato (#6716) --- source/_components/vacuum.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/vacuum.markdown b/source/_components/vacuum.markdown index 59f7699392d..a72a22e7ca5 100644 --- a/source/_components/vacuum.markdown +++ b/source/_components/vacuum.markdown @@ -29,7 +29,7 @@ Before calling one of these services, make sure your vacuum platform supports it #### {% linkable_title Service `vacuum.turn_on` %} -Start a new cleaning task. For the Xiaomi Vacuum and neato use `vacuum.start` instead. +Start a new cleaning task. For the Xiaomi Vacuum and Neato use `vacuum.start` instead. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| @@ -37,7 +37,7 @@ Start a new cleaning task. For the Xiaomi Vacuum and neato use `vacuum.start` in #### {% linkable_title Service `vacuum.turn_off` %} -Stop the current cleaning task and return to the dock. For the Xiaomi Vacuum and neato use `vacuum.stop` instead. +Stop the current cleaning task and return to the dock. For the Xiaomi Vacuum and Neato use `vacuum.stop` instead. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| From a5970253dcaf5d0417a852683b7d573969f47117 Mon Sep 17 00:00:00 2001 From: Tyler Bigler Date: Fri, 12 Oct 2018 13:20:31 -0400 Subject: [PATCH 143/217] Corrected the Aruba OID (#6708) The previous OID was the MAC address of the access point itself. The new OID is client mac addresses. --- source/_components/device_tracker.snmp.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/device_tracker.snmp.markdown b/source/_components/device_tracker.snmp.markdown index 0e79012f0b1..a7fe4236902 100644 --- a/source/_components/device_tracker.snmp.markdown +++ b/source/_components/device_tracker.snmp.markdown @@ -25,7 +25,7 @@ The following OID examples pull the current MAC Address table from a router. Thi |---|---|---|---| | Mikrotik | unknown RouterOS version/model | `1.3.6.1.4.1.14988.1.1.1.2.1.1` | | Mikrotik | RouterOS 6.x on RB2011 | `1.3.6.1.2.1.4.22.1.2` | -| Aruba | (untested) | `1.3.6.1.4.1.14823.2.3.3.1.2.4.1.2` | +| Aruba | (untested) | `1.3.6.1.4.1.14823.2.3.3.1.2.4.1.1` | | pfSense | 2.2.4 | `1.3.6.1.2.1.4.22.1.2` | | BiPAC | 7800DXL Firmware 2.32e | `1.3.6.1.2.1.17.7.1.2.2.1.1` | | OpenWrt | Chaos Calmer 15.05 | `1.3.6.1.2.1.4.22.1.2` | From 30f0977b3733978749ff4c61ee17771acd20a57b Mon Sep 17 00:00:00 2001 From: cgtobi Date: Fri, 12 Oct 2018 19:39:29 +0200 Subject: [PATCH 144/217] Fix netatmo sensor config formatting (#6711) * Fix config formatting * Remove copy & paste error --- source/_components/sensor.netatmo.markdown | 72 +++++++++++++++------- 1 file changed, 50 insertions(+), 22 deletions(-) diff --git a/source/_components/sensor.netatmo.markdown b/source/_components/sensor.netatmo.markdown index 856ccc0ec47..cf38ea961d9 100644 --- a/source/_components/sensor.netatmo.markdown +++ b/source/_components/sensor.netatmo.markdown @@ -39,28 +39,56 @@ sensor: - battery_vp ``` -Configuration variables: - -- **station** (*Optional*): The name of the weather station. Needed if several stations are associated with the account. -- **modules** (*Required*): Modules to use. Multiple entries allowed. Please check the next section about how to retrieve the module names. - - **module_name** array (*Required*): Name of the module. - - **temperature**: Current temperature. - - **co2**: CO2 concentration in ppm. - - **pressure**: Pressure in mbar. - - **noise**: Noise level in dB. - - **humidity**: Humidity in %. - - **rain**: Estimated rainfall for today in mm. - - **sum_rain_1**: Rainfall in the last hour in mm. - - **sum_rain_24**: Rainfall in mm from 00:00am - 23:59pm. - - **windangle**: Wind angle - - **windstrength**: Wind strength - - **gustangle**: Wind gust angle - - **guststrength**: Wind gust strength - - **min_temp**: Min temperature for today - - **max_temp**: Max temperature for today - - **rf_status**: Current radio status per module. (90=low, 60=highest) - - **wifi_status**: Wifi status per Base station - - **battery_vp**: Current battery status per module. +{% configuration %} +station: + required: false + description: The name of the weather station. Needed if several stations are associated with the account. + type: string +modules: + required: true + description: Modules to use. Multiple entries allowed. Please check the next section about how to retrieve the module names. + type: list + keys: + module_name: + type: list + required: true + description: Name of the module. + keys: + temperature: + description: Current temperature. + co2: + description: CO2 concentration in ppm. + pressure: + description: Pressure in mbar. + noise: + description: Noise level in dB. + humidity: + description: "Humidity in %." + rain: + description: Estimated rainfall for today in mm. + sum_rain_1: + description: Rainfall in the last hour in mm. + sum_rain_24: + description: "Rainfall in mm from 00:00am - 23:59pm." + windangle: + description: Wind angle + windstrength: + description: Wind strength + gustangle: + description: Wind gust angle + guststrength: + description: Wind gust strength + min_temp: + description: Min temperature for today + max_temp: + description: Max temperature for today + rf_status: + description: "Current radio status per module. (90=low, 60=highest)" + wifi_status: + description: Wifi status per Base station + battery_vp: + description: Current battery status per module. +{% endconfiguration %} ### {% linkable_title Find your modules name %} From 968403251a64b70949f32ccfb6525ec95b4a1988 Mon Sep 17 00:00:00 2001 From: Travis Carr Date: Fri, 12 Oct 2018 11:08:42 -0700 Subject: [PATCH 145/217] Update history_graph and netatmo config specifications. (#6707) * Clean up configuration options for history_graph * Update netatmo config formatting * Remove title * Minor fixes --- source/_components/history_graph.markdown | 29 ++++++++++++++++------- source/_components/netatmo.markdown | 28 ++++++++++++++++++---- 2 files changed, 44 insertions(+), 13 deletions(-) diff --git a/source/_components/history_graph.markdown b/source/_components/history_graph.markdown index 5059d1ba1cb..a929385fa18 100644 --- a/source/_components/history_graph.markdown +++ b/source/_components/history_graph.markdown @@ -30,14 +30,27 @@ history_graph: ``` -### {% linkable_title Configuration variables %} - -| Attribute | Optional | Default | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entities` | no | | List of entities whose history to show as a graph. | -| `name` | yes | ID | Name to display. | -| `hours_to_show` | yes | 24 | Number of hours to show. | -| `refresh` | yes | 0 | Number of seconds between graph refreshes. 0 for no refreshes. | +{% configuration %} +entities: + description: List of entities whose history to show as a graph. + required: true + type: string +name: + description: Name to display. + required: false + default: ID + type: string +hours_to_show: + description: Number of hours to show in the graph. + required: false + default: 24 + type: integer +refresh: + description: Number of seconds between graph refreshes. 0 to disable refreshing. + required: false + default: 0 + type: integer +{% endconfiguration %} ### {% linkable_title Full Example %} diff --git a/source/_components/netatmo.markdown b/source/_components/netatmo.markdown index 0efe4ac968c..8735db3992c 100644 --- a/source/_components/netatmo.markdown +++ b/source/_components/netatmo.markdown @@ -29,11 +29,29 @@ netatmo: Configuration variables: -- **api_key** (*Required*): The `client id` form your Netatmo app. -- **secret_key** (*Required*): The `client secret` form your Netatmo app. -- **username** (*Required*): Username for the Netatmo account. -- **password** (*Required*): Password for the Netatmo account. -- **discovery** (*Optional)*: Whether to discover Netatmo devices. Set it to False, if you want to choose which Netatmo device you want to add (default True). +{% configuration %} +api_key: + description: The `client id` from your Netatmo app. + required: true + type: string +secret_key: + description: The `client secret` from your Netatmo app. + required: true + type: integer +username: + description: Username for the Netatmo account. + required: true + type: string +password: + description: Password for the Netatmo account. + required: true + type: string +discovery: + description: Whether to discover Netatmo devices. Set it to False, if you want to choose which Netatmo device you want to add. + required: false + type: string + default: true +{% endconfiguration %} ### {% linkable_title Get API and Secret Key %} From af1ba2aa7e538f3ea4a33dad5eb456ed55882fda Mon Sep 17 00:00:00 2001 From: Travis Carr Date: Fri, 12 Oct 2018 11:08:53 -0700 Subject: [PATCH 146/217] Convert configs to new format for camera.yi (#6706) * Convert configs to new format for camera.yi * Minor changes --- source/_components/camera.yi.markdown | 34 ++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/source/_components/camera.yi.markdown b/source/_components/camera.yi.markdown index e366ab46e32..19faa147f80 100644 --- a/source/_components/camera.yi.markdown +++ b/source/_components/camera.yi.markdown @@ -67,12 +67,34 @@ camera: Configuration variables: -- **name** (*Required*): A human-friendly name for the camera. -- **host** (*Required*): The IP address or hostname of the camera. -- **password** (*Required*): The password to the FTP server on the camera (from above). -- **path** (*Optional*): The path to the raw MP4 files. Defaults to `/tmp/sd/record`. -- **username** (*Optional*): The user that can access the FTP server. Defaults to `root`. -- **ffmpeg_arguments** (*Optional*): Extra options to pass to `ffmpeg` (e.g., image quality or video filter options). +{% configuration %} +name: + description: A human-friendly name for the camera. + required: true + type: string +host: + description: The IP address or hostname of the camera. + required: true + type: string +password: + description: The password for the FTP server running on the camera. Can be any string as the current firmware doesn't allow setting FTP passwords. + required: true + type: string +path: + description: The path to the raw MP4 files. + required: false + default: /media/mmcblk0p1/record + type: string +username: + description: The user that can access the FTP server. + required: false + default: root + type: string +ffmpeg_arguments: + description: Extra options to pass to `ffmpeg` (e.g., image quality or video filter options). + required: false + type: string +{% endconfiguration %} ## {% linkable_title Image quality %} From e45b563e96bc9c0ddd62529ec7c9eadbfd3cb029 Mon Sep 17 00:00:00 2001 From: Tom French Date: Fri, 12 Oct 2018 20:07:26 +0100 Subject: [PATCH 147/217] Added new config entries for lat/long for sensor.geo_rss_events (#6703) * Added new config entries for lat/long for sensor.geo_rss_events * Added futher up in text that lat/long can be set * Minor changes --- source/_components/sensor.geo_rss_events.markdown | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.geo_rss_events.markdown b/source/_components/sensor.geo_rss_events.markdown index 9d73fe5f7b9..bd1d773b0d7 100644 --- a/source/_components/sensor.geo_rss_events.markdown +++ b/source/_components/sensor.geo_rss_events.markdown @@ -21,7 +21,7 @@ This sensor is particularly useful if events occur unexpectedly in the vicinity

-The reference point for comparing the distance is defined by `latitude` and `longitude` in the basic configuration. +The reference point for comparing the distance is by default defined by `latitude` and `longitude` in the basic configuration. Only entries of the feed are considered that define a location as `point` or `polygon` in *georss.org* format or as *WGS84 latitude/longitude*. @@ -54,6 +54,16 @@ name: required: false type: string default: Event Service +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` radius: description: The distance in kilometers around the Home Assistant's coordinates in which events are considered. required: false From a68794ae0e9c7b218a8ecc889f2efdec0cefbaed Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Fri, 12 Oct 2018 21:24:30 +0200 Subject: [PATCH 148/217] Update Zoneminder component configuration variable (#6718) * Update Zoneminder component configuration variable * Fix description --- source/_components/sensor.zoneminder.markdown | 33 ++++++++++----- source/_components/switch.zoneminder.markdown | 16 ++++--- source/_components/zoneminder.markdown | 42 +++++++++++++++---- 3 files changed, 66 insertions(+), 25 deletions(-) diff --git a/source/_components/sensor.zoneminder.markdown b/source/_components/sensor.zoneminder.markdown index e60e2742058..654c6e57e71 100644 --- a/source/_components/sensor.zoneminder.markdown +++ b/source/_components/sensor.zoneminder.markdown @@ -13,7 +13,6 @@ ha_release: 0.31 ha_iot_class: "Local Polling" --- - The `zoneminder` sensor platform lets you monitor the current state of your [ZoneMinder](https://www.zoneminder.com) install including the number of events and the current state of the cameras.

@@ -29,13 +28,25 @@ sensor: include_archived: false ``` -Configuration variables: - -- **include_archived** (*Optional*): Whether to include archived ZoneMinder events in event counts. Default is `false`. -- **monitored_conditions** array (*Optional*): Event count sensors to display in the frontend. Default is 'all'. - - **all**: All events. - - **month**: Events in the last month. - - **week**: Events in the last week. - - **day**: Events in the last day. - - **hour**: Events in the last hour. - +{% configuration %} +include_archived: + description: Whether to include archived ZoneMinder events in event counts. + required: false + default: false + type: boolean +monitored_conditions: + description: Event count sensors to display in the frontend. + required: false + type: list + keys: + all: + description: All events. + month: + description: Events in the last month. + week: + description: Events in the last week. + day: + description: Events in the last day. + hour: + description: Events in the last hour. +{% endconfiguration %} diff --git a/source/_components/switch.zoneminder.markdown b/source/_components/switch.zoneminder.markdown index dd55a07ec95..f194544715c 100644 --- a/source/_components/switch.zoneminder.markdown +++ b/source/_components/switch.zoneminder.markdown @@ -13,7 +13,6 @@ ha_release: 0.31 ha_iot_class: "Local Polling" --- - The `zoneminder` switch platform allows you to toggle the current function of all cameras attached to your [ZoneMinder](https://www.zoneminder.com) instance.

@@ -30,11 +29,16 @@ switch: command_off: Monitor ``` -Configuration variables: - -- **command_on** (*Required*): The function you want the camera to run when turned on. -- **command_off** (*Required*): The function you want the camera to run when turned off. - +{% configuration %} +command_on: + description: The function you want the camera to run when turned on. + required: true + type: string +command_off: + description: The function you want the camera to run when turned off. + required: true + type: string +{% endconfiguration %}

The default functions installed by ZoneMinder are: None, Monitor, Modect, Record, Mocord, Nodect. diff --git a/source/_components/zoneminder.markdown b/source/_components/zoneminder.markdown index 06e206f12db..520366e14e8 100644 --- a/source/_components/zoneminder.markdown +++ b/source/_components/zoneminder.markdown @@ -22,14 +22,40 @@ zoneminder: host: ZM_HOST ``` -Configuration variables: -- **host** (*Required*): Your ZoneMinder server's host (and optional port), not including the scheme. -- **path** (*Optional*): Path to your ZoneMinder install. Defaults to `/zm/`. -- **path_zms** (*Optional*): Path to the CGI script for streaming. This should match `PATH_ZMS` in ZM's "Paths" settings. Defaults to `/zm/cgi-bin/nph-zms`. -- **ssl** (*Optional*): Set to `true` if your ZoneMinder installation is using SSL. Default to `false`. -- **verify_ssl** (*Optional*): Verify the certification of the endpoint. Default to `true`. -- **username** (*Optional*): Your ZoneMinder username. -- **password** (*Optional*): Your ZoneMinder password. Required if `OPT_USE_AUTH` is enabled in ZM. +{% configuration %} +host: + description: Your ZoneMinder server's host (and optional port), not including the scheme. + required: true + type: string +path: + description: Path to your ZoneMinder install. + required: false + default: "`/zm/`" + type: string +path_zms: + description: Path to the CGI script for streaming. This should match `PATH_ZMS` in ZM's "Paths" settings. + required: false + default: "`/zm/cgi-bin/nph-zms`" + type: string +ssl: + description: Set to `true` if your ZoneMinder installation is using SSL. + required: false + default: false + type: boolean +verify_ssl: + description: Verify the certification of the endpoint. + required: false + default: true + type: boolean +username: + description: Your ZoneMinder username. + required: false + type: string +password: + description: Your ZoneMinder password. Required if `OPT_USE_AUTH` is enabled in ZM. + required: false + type: string +{% endconfiguration %} ### {% linkable_title Full configuration %} From bc891e7a88e0df3d415d9966d94382478d9bf102 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Fri, 12 Oct 2018 21:37:50 +0200 Subject: [PATCH 149/217] Update Zha component configuration variable (#6719) --- source/_components/zha.markdown | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/source/_components/zha.markdown b/source/_components/zha.markdown index 8e622bdde56..477b89178c7 100644 --- a/source/_components/zha.markdown +++ b/source/_components/zha.markdown @@ -41,11 +41,25 @@ zha: database_path: /home/homeassistant/.homeassistant/zigbee.db ``` -Configuration variables: - - - **radio_type** (*Optional*): One of `ezsp` (default) or `xbee` - - **usb_path** (*Required*): Path to the serial device for the radio. - - **baudrate** (*Optional*): Baud rate of the serial device. - - **database_path** (*Required*): _Full_ path to the database which will keep persistent network data. +{% configuration %} +radio_type: + description: One of `ezsp` or `xbee`. + required: false + default: ezsp + type: string +usb_path: + description: Path to the serial device for the radio. + required: true + type: string +baudrate: + description: Baud rate of the serial device. + required: false + default: 57600 + type: integer +database_path: + description: _Full_ path to the database which will keep persistent network data. + required: true + type: string +{% endconfiguration %} To add new devices to the network, call the `permit` service on the `zha` domain, and then follow the device instructions for doing a scan or factory reset. In case you want to add Philips Hue bulbs that have previously been added to another bridge, have a look at: [https://github.com/vanviegen/hue-thief/](https://github.com/vanviegen/hue-thief/) From ea128c97b689bc6df99878ea55a97b832f7e3d42 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Fri, 12 Oct 2018 21:38:49 +0200 Subject: [PATCH 150/217] Update Zabbix component configuration variable (#6721) --- source/_components/zabbix.markdown | 31 +++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/source/_components/zabbix.markdown b/source/_components/zabbix.markdown index bda90be47f7..1056bef232c 100644 --- a/source/_components/zabbix.markdown +++ b/source/_components/zabbix.markdown @@ -26,13 +26,30 @@ zabbix: host: 192.168.0.100 ``` -Configuration variables: - -- **host** (*Required*): Your Zabbix server. -- **path** (*Optional*): Path to your Zabbix install. Defaults to `/zabbix/`. -- **ssl** (*Optional*): Set to `True` if your Zabbix installation is using SSL. Default to `False`. -- **username** (*Optional*): Your Zabbix username. -- **password** (*Optional*): Your Zabbix password. +{% configuration %} +host: + description: Your Zabbix server. + required: true + type: string +path: + description: Path to your Zabbix install. + required: false + default: "`/zabbix/`" + type: string +ssl: + description: Set to `True` if your Zabbix installation is using SSL. + required: false + default: false + type: boolean +username: + description: Your Zabbix username. + required: false + type: string +password: + description: Your Zabbix password. + required: false + type: string +{% endconfiguration %} ### {% linkable_title Full configuration %} From 6d2102771ef21cab1cde122c7423fd381431a45e Mon Sep 17 00:00:00 2001 From: Brian J King Date: Fri, 12 Oct 2018 16:51:35 -0500 Subject: [PATCH 151/217] Updates to MQTT Broker to standardize docs (#6725) * All instances of `Mosquitto` are capitalized **outside of** instances that refer to code/configuration blocks/file names to comply with the [docs standardization](https://developers.home-assistant.io/docs/en/documentation_standards.html). * Standardization for displaying file paths, code/configuration blocks in `plaintext`. --- source/_docs/mqtt/broker.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown index 3bd4a98369a..8923f93f3ff 100644 --- a/source/_docs/mqtt/broker.markdown +++ b/source/_docs/mqtt/broker.markdown @@ -117,7 +117,7 @@ If you get this error `AttributeError: module 'ssl' has no attribute 'PROTOCOL_T

-If you are running a Mosquitto instance on the same server as Home Assistant then you must ensure that the Mosquitto service starts before Home Assistant. For a Linux instance running Systemd (Raspberry Pi, Debian, Ubuntu and others) then you should edit the file /etc/systemd/system/home-assistant@homeassistant.service as root (e.g., sudo nano /etc/systemd/system/home-assistant@homeassistant.service) and add the mosquitto service: +If you are running a Mosquitto instance on the same server as Home Assistant then you must ensure that the Mosquitto service starts before Home Assistant. For a Linux instance running Systemd (Raspberry Pi, Debian, Ubuntu and others) then you should edit the file `/etc/systemd/system/home-assistant@homeassistant.service` as `root` (e.g., `sudo nano /etc/systemd/system/home-assistant@homeassistant.service`) and add the Mosquitto service: ``` [Unit] Description=Home Assistant From a8978b54b18f7999780185bca5e977c402faf97a Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Fri, 12 Oct 2018 23:55:39 +0200 Subject: [PATCH 152/217] Update Vera component configuration variable (#6724) --- source/_components/vera.markdown | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/source/_components/vera.markdown b/source/_components/vera.markdown index 1dfa965fb40..df3f6e31c62 100644 --- a/source/_components/vera.markdown +++ b/source/_components/vera.markdown @@ -23,9 +23,12 @@ vera: vera_controller_url: http://192.168.1.161:3480/ ``` -Configuration variables: - -- **vera_controller_url** (*Required*): The URL for your Vera device. +{% configuration %} +vera_controller_url: + description: The URL for your Vera device. + required: true + type: string +{% endconfiguration %}

It is recommended to assign a static IP address to your Vera Controller. This ensures that it won't change IP addresses, so you won't have to change the `vera_controller_url` if it reboots and comes up with a different IP address. See your router's manual for details on how to set this up. If you need the MAC address of your Vera, check the label on the bottom. From f955037f81076176e01d444cc3ef1d5415149049 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Fri, 12 Oct 2018 23:56:52 +0200 Subject: [PATCH 153/217] Update Ring binary sensor component configuration variable (#6730) --- source/_components/binary_sensor.ring.markdown | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/source/_components/binary_sensor.ring.markdown b/source/_components/binary_sensor.ring.markdown index c2f48c7163c..f06297d9cec 100644 --- a/source/_components/binary_sensor.ring.markdown +++ b/source/_components/binary_sensor.ring.markdown @@ -25,10 +25,16 @@ binary_sensor: - platform: ring ``` -Configuration variables: - -- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled. - - **ding**: Return a boolean value when the doorbell button was pressed. - - **motion**: Return a boolean value when a movement was detected by the Ring doorbell. +{% configuration %} +monitored_conditions: + description: Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled. + required: false + type: list + keys: + ding: + description: Return a boolean value when the doorbell button was pressed. + motion: + description: Return a boolean value when a movement was detected by the Ring doorbell. +{% endconfiguration %} Currently it supports doorbell, external chimes and stickup cameras. From 654f5906eaa3eb4f3050ae655ec92021079626ab Mon Sep 17 00:00:00 2001 From: Kevin Fronczak Date: Fri, 12 Oct 2018 18:00:30 -0400 Subject: [PATCH 154/217] Add missing info to blink docs (#6727) * Add missing info to blink docs Missing information about camera services and alarm_control_panel * Fix typo --- source/_components/blink.markdown | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/_components/blink.markdown b/source/_components/blink.markdown index a764ec59ab7..7dbd23d868f 100644 --- a/source/_components/blink.markdown +++ b/source/_components/blink.markdown @@ -65,6 +65,12 @@ sensors: default: all (`battery`, `temperature`, `status`, `wifi_strength`) {% endconfiguration %} +Once home-assistant starts, the `blink` component will create the following components: + +- An `alarm_control_panel` to arm/disarm the whole blink system (note, `alarm_arm_home` is not implemented and will not actually do anything, despite it being an option in the GUI). +- A `camera` for each camera linked to your Blink sync module. +- A `sensor` per camera for every item listed in `monitored_conditions` (if no items specified in your `configuration.yaml`, all of them will be added by default). +- A `binary_sensor` for each item listed in `monitored_conditions` (if no items specified in your `configuration.yaml`, all of them will be added by default). Since the cameras are battery operated, setting the `scan_interval` must be done with care so as to not drain the battery too quickly, or hammer Blink's servers with too many API requests. The cameras can be manually updated via the `trigger_camera` service which will ignore the throttling caused by `scan_interval`. As a note, all of the camera-specific sensors are only polled when a new image is requested from the camera. This means that relying on any of these sensors to provide timely and accurate data is not recommended. @@ -126,3 +132,7 @@ homeassistant: - '/tmp' - '/path/to/whitelist' ``` + +### {% linkable_title Other Services %} + +In addition to the services mentioned above, there are generic `camera` and `alarm_control_panel` services available for use as well. The `camera.enable_motion_detection` and `camera.disable_motion_detection` services allow for individual cameras to be enabled and disabled, respectively, within the Blink system. The `alarm_control_panel.alarm_arm_away` and `alarm_control_panel.alarm_disarm` services allow for the whole system to be armed and disarmed, respectively. From c70d8451036da0a52ec5d41ac5c5e12fae70bafa Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 13 Oct 2018 00:05:05 +0200 Subject: [PATCH 155/217] Various fixes --- source/_components/blink.markdown | 71 +++++++++++++++---------------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/source/_components/blink.markdown b/source/_components/blink.markdown index 7dbd23d868f..2a26969ceab 100644 --- a/source/_components/blink.markdown +++ b/source/_components/blink.markdown @@ -13,11 +13,11 @@ ha_release: "0.40" ha_iot_class: "Cloud Polling" --- -The `blink` component lets you view camera images and motion events -from [Blink](http://blinkforhome.com) camera and security systems. +The `blink` component lets you view camera images and motion events from [Blink](http://blinkforhome.com) camera and security systems. -You will need your Blink login information (username, which is -usually your email address, and password) to use this module. +## {% linkable_title Setup %} + +You will need your Blink login information (username, which is usually your email address, and password) to use this module. ## {% linkable_title Configuration %} @@ -32,40 +32,40 @@ blink: {% configuration %} username: - description: The username for accessing your Blink account. - required: true - type: string + description: The username for accessing your Blink account. + required: true + type: string password: - description: The password for accessing your Blink account. - required: true - type: string + description: The password for accessing your Blink account. + required: true + type: string scan_interval: - description: How frequently to query for new data. Defaults to 60 seconds. - required: false - type: integer + description: How frequently to query for new data. Defaults to 60 seconds. + required: false + type: integer binary_sensors: - description: Binary sensor configuration options. - required: false - type: map - keys: - monitored_conditions: - description: The conditions to create sensors from. - required: false - type: list - default: all (`motion_enabled`, `motion_detected`) + description: Binary sensor configuration options. + required: false + type: map + keys: + monitored_conditions: + description: The conditions to create sensors from. + required: false + type: list + default: all (`motion_enabled`, `motion_detected`) sensors: - description: Sensor configuration options. - required: false - type: map - keys: - monitored_conditions: - description: The conditions to create sensors from. - required: false - type: list - default: all (`battery`, `temperature`, `status`, `wifi_strength`) + description: Sensor configuration options. + required: false + type: map + keys: + monitored_conditions: + description: The conditions to create sensors from. + required: false + type: list + default: all (`battery`, `temperature`, `status`, `wifi_strength`) {% endconfiguration %} -Once home-assistant starts, the `blink` component will create the following components: +Once Home Assistant starts, the `blink` component will create the following platforms: - An `alarm_control_panel` to arm/disarm the whole blink system (note, `alarm_arm_home` is not implemented and will not actually do anything, despite it being an option in the GUI). - A `camera` for each camera linked to your Blink sync module. @@ -74,7 +74,7 @@ Once home-assistant starts, the `blink` component will create the following comp Since the cameras are battery operated, setting the `scan_interval` must be done with care so as to not drain the battery too quickly, or hammer Blink's servers with too many API requests. The cameras can be manually updated via the `trigger_camera` service which will ignore the throttling caused by `scan_interval`. As a note, all of the camera-specific sensors are only polled when a new image is requested from the camera. This means that relying on any of these sensors to provide timely and accurate data is not recommended. -**Note:** Each camera reports two different states, one as `sensor.blink__status` and the other as `binary_sensor.blink__motion_enabled`. The `motion_enabled` property reports if the `camera` is ready to detect motion *regardless if the system is actually armed**. The `status` property is more descriptive, and can be one of the following states: +Please note that each camera reports two different states: one as `sensor.blink__status` and the other as `binary_sensor.blink__motion_enabled`. The `motion_enabled` property reports if the `camera` is ready to detect motion *regardless if the system is actually armed**. The `status` property is more descriptive, and can be one of the following states: - `disabled`: System is disabled. - `disarmed`: Camera and/or system are disarmed and not ready to detect motion. @@ -100,7 +100,6 @@ blink: - wifi_strength ``` - ## {% linkable_title Services %} ### {% linkable_title `blink.blink_update` %} @@ -117,7 +116,7 @@ Trigger a camera to take a new still image. ### {% linkable_title `blink.save_video` %} -Save the last recorded video of a camera to a local file. Note that in most cases, home-assistant will need to know that the directory is writable via the `whitelist_external_dirs` in your `configuration.yaml` file (see example below). +Save the last recorded video of a camera to a local file. Note that in most cases, Home Assistant will need to know that the directory is writable via the `whitelist_external_dirs` in your `configuration.yaml` file (see example below). | Service Data Attribute | Optional | Description | |------------------------|----------|------------------------------------------| @@ -135,4 +134,4 @@ homeassistant: ### {% linkable_title Other Services %} -In addition to the services mentioned above, there are generic `camera` and `alarm_control_panel` services available for use as well. The `camera.enable_motion_detection` and `camera.disable_motion_detection` services allow for individual cameras to be enabled and disabled, respectively, within the Blink system. The `alarm_control_panel.alarm_arm_away` and `alarm_control_panel.alarm_disarm` services allow for the whole system to be armed and disarmed, respectively. +In addition to the services mentioned above, there are generic `camera` and `alarm_control_panel` services available for use as well. The `camera.enable_motion_detection` and `camera.disable_motion_detection` services allow for individual cameras to be enabled and disabled, respectively, within the Blink system. The `alarm_control_panel.alarm_arm_away` and `alarm_control_panel.alarm_disarm` services allow for the whole system to be armed and disarmed, respectively. From f9c3aa9b1d96e0a6c6eeed29170022678ebeebfa Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 13 Oct 2018 00:05:47 +0200 Subject: [PATCH 156/217] Update TravisCi component configuration variable (#6726) * Update TravisCi component configuration variable * :ambulance: Try to fix * Remove scan_interval --- source/_components/sensor.travisci.markdown | 45 +++++++++++++++------ 1 file changed, 32 insertions(+), 13 deletions(-) diff --git a/source/_components/sensor.travisci.markdown b/source/_components/sensor.travisci.markdown index 82698ab737a..4cf18089651 100644 --- a/source/_components/sensor.travisci.markdown +++ b/source/_components/sensor.travisci.markdown @@ -24,16 +24,35 @@ sensor: api_key: 123456789 ``` -Configuration variables: - -- **api_key** (*Required*): GitHub [access token](https://github.com/settings/tokens) with the following scopes: *read:org*, *user:email*, *repo_deployment*, *repo:status*, *write:repo_hook*. -- **branch** (*Optional*): Determine which default branch should be used by the **state** condition. Defaults to *master*. -- **scan_interval** (*Optional*): How frequently to query for new data. Defaults to 30 seconds. -- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. If not specified, all conditions below will be enabled by default. The following conditions can be monitored. - - **last_build_id**: Turn the last build job ID. - - **last_build_duration**: Return the time elapsed in seconds to run the last test job. - - **last_build_finished_at**: Return the timestamp of when the last test job finished. - - **last_build_started_at**: Return the timestamp of when the last test job started. - - **last_build_state**: Return the state from the latest test job/PR. The conditions can be: 'passed', 'failed' or 'started'. - - **state**: Return the build test from the branch specified at by **branch** parameter. -- **repository:** array (*Optional*): Name from the GitHub repositories to be monitored. If not specified, all GitHub repositories linked to Travis-CI will be enabled by default. +{% configuration %} +api_key: + description: "GitHub [access token](https://github.com/settings/tokens) with the following scopes: *read:org*, *user:email*, *repo_deployment*, *repo:status*, *write:repo_hook*." + required: true + type: string +branch: + description: "Determine which default branch should be used by the **state** condition." + required: false + default: master + type: string +monitored_conditions: + description: Conditions to display in the frontend. If not specified, all conditions below will be enabled by default. The following conditions can be monitored. + required: false + type: list + keys: + last_build_id: + description: Turn the last build job ID. + last_build_duration: + description: Return the time elapsed in seconds to run the last test job. + last_build_finished_at: + description: Return the timestamp of when the last test job finished. + last_build_started_at: + description: Return the timestamp of when the last test job started. + last_build_state: + description: "Return the state from the latest test job/PR. The conditions can be: 'passed', 'failed' or 'started'." + state: + description: "Return the build test from the branch specified at by **branch** parameter." +repository: + description: Name from the GitHub repositories to be monitored. If not specified, all GitHub repositories linked to Travis-CI will be enabled by default. + required: false + type: list +{% endconfiguration %} From 18a734a04d0d6bf571fa0de1e3abceca3a019820 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 13 Oct 2018 00:05:58 +0200 Subject: [PATCH 157/217] Update Enocean component configuration variable (#6728) * Update Enocean component configuration variable * Minor update --- .../binary_sensor.enocean.markdown | 20 +++++++++++++----- source/_components/enocean.markdown | 9 +++++--- source/_components/light.enocean.markdown | 20 +++++++++++++----- source/_components/sensor.enocean.markdown | 20 +++++++++++------- source/_components/switch.enocean.markdown | 21 ++++++++++++++----- 5 files changed, 65 insertions(+), 25 deletions(-) diff --git a/source/_components/binary_sensor.enocean.markdown b/source/_components/binary_sensor.enocean.markdown index fe4ea3dd681..ff59c3f8e06 100644 --- a/source/_components/binary_sensor.enocean.markdown +++ b/source/_components/binary_sensor.enocean.markdown @@ -30,11 +30,21 @@ binary_sensor: id: [0x01,0x90,0x84,0x3C] ``` -Configuration variables: - -- **id** (*Required*): The ID of the device. This is the 4 bytes long number written on the dimmer. -- **name** (*Optional*): An identifier for the switch in the frontend. -- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. +{% configuration %} +id: + description: The ID of the device. This is the 4 bytes long number written on the dimmer. + required: true + type: list +name: + description: An identifier for the switch in the frontend. + required: false + default: EnOcean binary sensor + type: string +device_class: + description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. + required: false + type: device_class +{% endconfiguration %} EnOcean binary sensors only generate 'button_pressed' events. The event data has following four fields: diff --git a/source/_components/enocean.markdown b/source/_components/enocean.markdown index 4e38d204446..e22c07ec2af 100644 --- a/source/_components/enocean.markdown +++ b/source/_components/enocean.markdown @@ -41,6 +41,9 @@ enocean: device: /dev/ttyUSB0 ``` -Configuration variables: - -- **device** (*Required*): The port where your device is connected to your Home Assistant host. +{% configuration %} +device: + description: The port where your device is connected to your Home Assistant host. + required: true + type: string +{% endconfiguration %} diff --git a/source/_components/light.enocean.markdown b/source/_components/light.enocean.markdown index 9203497d937..1933e8f4390 100644 --- a/source/_components/light.enocean.markdown +++ b/source/_components/light.enocean.markdown @@ -26,8 +26,18 @@ light: sender_id: [0xFF,0xC6,0xEA,0x04] ``` -Configuration variables: - -- **id** (*Required*): The ID of the device. This is the 4 bytes long number written on the dimmer. -- **sender_id** (*Required*): The Sender ID of the device. This is a 4 bytes long number. -- **name** (*Optional*): An identifier for the Ligh in the frontend. +{% configuration %} +id: + description: The ID of the device. This is the 4 bytes long number written on the dimmer. + required: true + type: list +sender_id: + description: The Sender ID of the device. This is a 4 bytes long number. + required: true + type: list +name: + description: An identifier for the Ligh in the frontend. + required: false + default: EnOcean Light + type: string +{% endconfiguration %} diff --git a/source/_components/sensor.enocean.markdown b/source/_components/sensor.enocean.markdown index 669c07825aa..d75ef524801 100644 --- a/source/_components/sensor.enocean.markdown +++ b/source/_components/sensor.enocean.markdown @@ -21,13 +21,19 @@ To use your EnOcean device, you first have to set up your [EnOcean hub](../enoce ```yaml # Example configuration.yaml entry sensor: - - name: Television - platform: enocean + - platform: enocean + name: Television id: [0x01,0x90,0x84,0x3C] ``` -Configuration variables: - -- **id** (*Required*): The ID of the device. This is a 4 bytes long number. -- **platform** (*Required*): Set to `enocean`. -- **name** (*Required*): An identifier for the switch +{% configuration %} +id: + description: The ID of the device. This is a 4 bytes long number. + required: true + type: list +name: + description: An identifier for the switch + required: true + default: EnOcean sensor + type: string +{% endconfiguration %} diff --git a/source/_components/switch.enocean.markdown b/source/_components/switch.enocean.markdown index 2676b51dbae..f891b939306 100644 --- a/source/_components/switch.enocean.markdown +++ b/source/_components/switch.enocean.markdown @@ -24,11 +24,22 @@ switch: id: [0x01,0x90,0x84,0x3C] ``` -Configuration variables: - -- **id** (*Required*): The ID of the device. This is a 4 bytes long number. -- **name** (*Optional*): An identifier for the switch. Default to `EnOcean Switch`. -- **channel** (*Optional*): The number of the channel (typically 0 or 1) for the output channel to switch. Default to `0`. +{% configuration %} +id: + description: The ID of the device. This is a 4 bytes long number. + required: true + type: list +name: + description: An identifier for the switch. + required: false + default: EnOcean Switch + type: string +channel: + description: The number of the channel (typically 0 or 1) for the output channel to switch. + required: false + default: 0 + type: integer +{% endconfiguration %} ```yaml # Example entries for a switch with 2 outputs (channels), e.g., the Nod On SIN-2-1-01 From f1a269a3b7b7a095d7d65f31ba92eaf05f707627 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 13 Oct 2018 00:16:46 +0200 Subject: [PATCH 158/217] Move instructions to section section --- source/_components/sensor.travisci.markdown | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/source/_components/sensor.travisci.markdown b/source/_components/sensor.travisci.markdown index 4cf18089651..262f7359d71 100644 --- a/source/_components/sensor.travisci.markdown +++ b/source/_components/sensor.travisci.markdown @@ -15,18 +15,30 @@ ha_iot_class: "Cloud Polling" With this sensor platform, you will be able to integrate the test build results reported by [Travis-CI](https://travis-ci.org/) working within Home Assistant. +## {% linkable_title Setup %} + +Create a GitHub [access token](https://github.com/settings/tokens) with the following scopes: + +- **read:org** +- **user:email** +- **repo_deployment** +- **repo:status** +- **write:repo_hook** + +## {% linkable_title Configuration %} + To enable this platform, please add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor: - platform: travisci - api_key: 123456789 + api_key: YOUR_ACCESS_TOKEN ``` {% configuration %} api_key: - description: "GitHub [access token](https://github.com/settings/tokens) with the following scopes: *read:org*, *user:email*, *repo_deployment*, *repo:status*, *write:repo_hook*." + description: The acces token for GitHub. required: true type: string branch: From 93393bf1f032b76144a600952e5966d71306c931 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 13 Oct 2018 00:25:26 +0200 Subject: [PATCH 159/217] Update Netatmo camera and climate component configuration variable (#6731) --- source/_components/camera.netatmo.markdown | 18 +++++++++++++----- source/_components/climate.netatmo.markdown | 18 +++++++++++++----- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/source/_components/camera.netatmo.markdown b/source/_components/camera.netatmo.markdown index e452d26b413..eb11c1a1a49 100644 --- a/source/_components/camera.netatmo.markdown +++ b/source/_components/camera.netatmo.markdown @@ -29,11 +29,19 @@ camera: - platform: netatmo ``` -Configuration variables: - -- **home** (*Optional*): Will display the cameras of this home only. -- **cameras** array (*Optional*): Cameras to use. Multiple entities allowed. - - **camera_name**: Name of the camera to display. +{% configuration %} +home: + description: Will display the cameras of this home only. + required: false + type: string +cameras: + description: Cameras to use. Multiple entities allowed. + required: false + type: list + keys: + camera_name: + description: Name of the camera to display. +{% endconfiguration %} If **home** and **cameras** are not provided, all cameras will be displayed. For more control over your cameras check the configuration sample below. diff --git a/source/_components/climate.netatmo.markdown b/source/_components/climate.netatmo.markdown index a90a1f4353c..bb9e538de08 100644 --- a/source/_components/climate.netatmo.markdown +++ b/source/_components/climate.netatmo.markdown @@ -26,11 +26,19 @@ climate: - platform: netatmo ``` -Configuration variables: - -- **relay** (*Optional*): Will display the thermostats of this relay only. -- **thermostat** array (*Optional*): Thermostat to use. - - **thermostat_name**: Name of the thermostat to display. +{% configuration %} +relay: + description: Will display the thermostats of this relay only. + required: false + type: string +thermostat: + description: Thermostat to use. + required: false + type: list + keys: + thermostat_name: + description: Name of the thermostat to display. +{% endconfiguration %} If **relay** and **thermostat** are not provided, all thermostats will be displayed. From 94b4ab370719a60abc4bc2b9fa10eb542b3a4897 Mon Sep 17 00:00:00 2001 From: Victor Cerutti Date: Sat, 13 Oct 2018 09:54:05 +0200 Subject: [PATCH 160/217] Remove duplicate title attribute (#6740) --- source/_lovelace/gauge.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_lovelace/gauge.markdown b/source/_lovelace/gauge.markdown index 32528d7371f..a9e5d80e0f0 100644 --- a/source/_lovelace/gauge.markdown +++ b/source/_lovelace/gauge.markdown @@ -90,7 +90,6 @@ Define the severity map: ```yaml - type: gauge title: With Severity - title: CPU Usuage unit_of_measurement: '%' entity: sensor.cpu_usuage severity: From 0e987955a8ffb842aac01ac08f2a298687b730df Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 13 Oct 2018 09:54:55 +0200 Subject: [PATCH 161/217] Update Ring camera component configuration variable (#6734) --- source/_components/camera.ring.markdown | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/source/_components/camera.ring.markdown b/source/_components/camera.ring.markdown index 7499d2a14a5..98d03ff0e65 100644 --- a/source/_components/camera.ring.markdown +++ b/source/_components/camera.ring.markdown @@ -25,10 +25,17 @@ camera: - platform: ring ``` -Configuration variables: - -- **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g., image quality or video filter options. -- **scan_interval**: (*Optional*): How frequently to query for new video. Defaults to 90 seconds. +{% configuration %} +ffmpeg_arguments: + description: Extra options to pass to ffmpeg, e.g., image quality or video filter options. + required: false + type: string +scan_interval: + description: How frequently to query for new video in seconds. + required: false + default: 90 + type: integer +{% endconfiguration %} **Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/) documentation. From 99131191de299bf2579b892c69851b0c3172204b Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 13 Oct 2018 09:56:19 +0200 Subject: [PATCH 162/217] Update Synology component configuration variable (#6735) --- source/_components/camera.synology.markdown | 41 +++++- .../_components/notify.synology_chat.markdown | 14 +- .../_components/sensor.synologydsm.markdown | 137 +++++++++++++----- 3 files changed, 140 insertions(+), 52 deletions(-) diff --git a/source/_components/camera.synology.markdown b/source/_components/camera.synology.markdown index 93a2e78ff36..7d0a4946187 100644 --- a/source/_components/camera.synology.markdown +++ b/source/_components/camera.synology.markdown @@ -27,14 +27,39 @@ camera: password: YOUR_PASSWORD ``` -Configuration variables: - -- **url** (*Required*): The URL to your synology, including port. -- **username** (*Required*): The username for accessing surveillance station. -- **password** (*Required*): The password for accessing surveillance station. -- **timeout** (*Optional*): The timeout in seconds used when connecting to the Surveillance Station. Defaults to 5. -- **whitelist** (*Optional*): A list of which cameras you want to add, the names must be the same as in Surveillance Station. If omitted all cameras are added. -- **verify_ssl** (*Optional*): True to require a valid certificate, False to disable certificate checking. Defaults to `True`. +{% configuration %} +name: + description: A name for this synology camera component. + required: false + default: Synology Camera + type: string +url: + description: The URL to your synology, including port. + required: true + type: string +username: + description: The username for accessing surveillance station. + required: true + type: string +password: + description: The password for accessing surveillance station. + required: true + type: string +timeout: + description: The timeout in seconds used when connecting to the Surveillance Station. + required: false + default: 5 + type: integer +whitelist: + description: A list of which cameras you want to add, the names must be the same as in Surveillance Station. If omitted all cameras are added. + required: false + type: list +verify_ssl: + description: True to require a valid certificate, False to disable certificate checking. + required: false + default: true + type: boolean +{% endconfiguration %} A full sample configuration for the `synology` platform is shown below: diff --git a/source/_components/notify.synology_chat.markdown b/source/_components/notify.synology_chat.markdown index 5fbbae6a046..a42f3934eed 100644 --- a/source/_components/notify.synology_chat.markdown +++ b/source/_components/notify.synology_chat.markdown @@ -26,9 +26,15 @@ notify: resource: https://example.your.synology.com/webapi/entry.cgi?api=SYNO.Chat.External&method=incoming&version=1&token=ABCDEFG ``` -Configuration variables: - -- **name** (*Required*): Setting the parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. -- **resource** (*Required*): The incoming webhook URL. +{% configuration %} +name: + description: "Setting the parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`." + required: true + type: string +resource: + description: The incoming webhook URL. + required: true + type: string +{% endconfiguration %} To use notifications, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/_components/sensor.synologydsm.markdown b/source/_components/sensor.synologydsm.markdown index 886a357bdaa..62fed833080 100644 --- a/source/_components/sensor.synologydsm.markdown +++ b/source/_components/sensor.synologydsm.markdown @@ -33,46 +33,103 @@ sensor: - network_up ``` -Configuration variables: - -- **host** (*Required*): The IP address of the Synology NAS to monitor. -- **port** (*Optional*): The port number on which the Synology NAS is reachable. Defaults to `5001`. -- **username** (*Required*): An user to connect to the Synology NAS (a separate account is advised, see the Separate User Configuration section below for details). -- **password** (*Required*): The password of the user to connect to the Synology NAS. -- **ssl** (*Optional*): Determine if HTTPS should be used. Defaults to `True` which by default runs on port `5001`. -- **volumes** (*Optional*): Array of volumes to monitor. Defaults to all volumes. -- **disks** (*Optional*): Array of disks to monitor. Defaults to all disks. -- **monitored_conditions** (*Required*): Defines a [template](/topics/templating/) to extract a value from the payload. - - **cpu_other_load**: Displays unspecified load in percentage. - - **cpu_user_load**: Displays user load in percentage. - - **cpu_system_load**: Displays system load in percentage. - - **cpu_total_load**: Displays combined load in percentage. - - **cpu_1min_load**: Displays maximum load in past minute. - - **cpu_5min_load**: Displays maximum load in past 5 minutes. - - **cpu_15min_load**: Displays maximum load in past 15 minutes. - - **memory_real_usage**: Displays percentage of memory used. - - **memory_size**: Displays total size of memory in MB. - - **memory_cached**: Displays total size of cache in MB. - - **memory_available_swap**: Displays total size of available swap in MB. - - **memory_available_real**: Displays total size of memory used (based on real memory) in MB. - - **memory_total_swap**: Displays total size of actual memory in MB. - - **memory_total_real**: Displays total size of real memory in MB. - - **network_up**: Displays total up speed of network interfaces (combines all interfaces). - - **network_down**: Displays total down speed of network interfaces (combines all interfaces). - - **disk_name**: Displays the name of the hard disk (creates a new entry for each disk). - - **disk_device**: Displays the path of the hard disk (creates a new entry for each disk). - - **disk_smart_status**: Displays the S.M.A.R.T status of the hard disk (creates a new entry for each disk). - - **disk_status**: Displays the status of the hard disk (creates a new entry for each disk). - - **disk_exceed_bad_sector_thr**: Displays true / false to indicate if the hard disk exceeded the maximum bad sector threshold (creates a new entry for each disk). - - **disk_below_remain_life_thr**: Displays true / false to indicate if the hard disk dropped below the remain life threshold (creates a new entry for each disk). - - **disk_temp**: Displays the temperature of the hard disk (creates a new entry for each disk, uses the unit_system to display in C or F). - - **volume_status**: Displays the status of the volume (creates a new entry for each volume). - - **volume_device_type**: Displays the volume type (RAID, etc) (creates a new entry for each volume). - - **volume_size_total**: Displays the total size of the volume in GB's (creates a new entry for each volume). - - **volume_size_used**: Displays the used space on this volume in GB's (creates a new entry for each volume). - - **volume_percentage_used**: Displays the percentage used for this volume in GB's (creates a new entry for each volume). - - **volume_disk_temp_avg**: Displays the average temperature of all disks in the volume (creates a new entry for each volume). - - **volume_disk_temp_max**: Displays the maximum temperature of all disks in the volume (creates a new entry for each volume). +{% configuration %} +host: + description: The IP address of the Synology NAS to monitor. + required: true + type: string +port: + description: The port number on which the Synology NAS is reachable. + required: false + default: 5001 + type: integer +username: + description: An user to connect to the Synology NAS (a separate account is advised, see the Separate User Configuration section below for details). + required: true + type: string +password: + description: The password of the user to connect to the Synology NAS. + required: true + type: string +ssl: + description: Determine if HTTPS should be used. + required: false + default: true + type: boolean +volumes: + description: Array of volumes to monitor. Defaults to all volumes. + required: false + type: list +disks: + description: Array of disks to monitor. Defaults to all disks. + required: false + type: list +monitored_conditions: + description: Defines a [template](/topics/templating/) to extract a value from the payload. + required: true + type: list + keys: + cpu_other_load: + description: Displays unspecified load in percentage. + cpu_user_load: + description: Displays user load in percentage. + cpu_system_load: + description: Displays system load in percentage. + cpu_total_load: + description: Displays combined load in percentage. + cpu_1min_load: + description: Displays maximum load in past minute. + cpu_5min_load: + description: Displays maximum load in past 5 minutes. + cpu_15min_load: + description: Displays maximum load in past 15 minutes. + memory_real_usage: + description: Displays percentage of memory used. + memory_size: + description: Displays total size of memory in MB. + memory_cached: + description: Displays total size of cache in MB. + memory_available_swap: + description: Displays total size of available swap in MB. + memory_available_real: + description: Displays total size of memory used (based on real memory) in MB. + memory_total_swap: + description: Displays total size of actual memory in MB. + memory_total_real: + description: Displays total size of real memory in MB. + network_up: + description: Displays total up speed of network interfaces (combines all interfaces). + network_down: + description: Displays total down speed of network interfaces (combines all interfaces). + disk_name: + description: Displays the name of the hard disk (creates a new entry for each disk). + disk_device: + description: Displays the path of the hard disk (creates a new entry for each disk). + disk_smart_status: + description: Displays the S.M.A.R.T status of the hard disk (creates a new entry for each disk). + disk_status: + description: Displays the status of the hard disk (creates a new entry for each disk). + disk_exceed_bad_sector_thr: + description: Displays true / false to indicate if the hard disk exceeded the maximum bad sector threshold (creates a new entry for each disk). + disk_below_remain_life_thr: + description: Displays true / false to indicate if the hard disk dropped below the remain life threshold (creates a new entry for each disk). + disk_temp: + description: Displays the temperature of the hard disk (creates a new entry for each disk, uses the unit_system to display in C or F). + volume_status: + description: Displays the status of the volume (creates a new entry for each volume). + volume_device_type: + description: Displays the volume type (RAID, etc) (creates a new entry for each volume). + volume_size_total: + description: Displays the total size of the volume in GB's (creates a new entry for each volume). + volume_size_used: + description: Displays the used space on this volume in GB's (creates a new entry for each volume). + volume_percentage_used: + description: Displays the percentage used for this volume in GB's (creates a new entry for each volume). + volume_disk_temp_avg: + description: Displays the average temperature of all disks in the volume (creates a new entry for each volume). + volume_disk_temp_max: + description: Displays the maximum temperature of all disks in the volume (creates a new entry for each volume). +{% endconfiguration %}

After booting Home Assistant it can take up to 15 minutes for the sensors to show up. This is due to the fact that sensors are created after Home Assistant has fully been initialized. From 642ebe85b694f0b0a95041768ade71c5f3ba3607 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 13 Oct 2018 09:59:24 +0200 Subject: [PATCH 163/217] Minor changes --- source/_components/camera.synology.markdown | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/source/_components/camera.synology.markdown b/source/_components/camera.synology.markdown index 7d0a4946187..78010327625 100644 --- a/source/_components/camera.synology.markdown +++ b/source/_components/camera.synology.markdown @@ -16,6 +16,8 @@ ha_iot_class: "Local Polling"   The `synology` camera platform allows you to watch the live streams of your [Synology](https://www.synology.com/) Surveillance Station based IP cameras in Home Assistant. +## {% linkable_title Configuration %} + To enable your Surveillance Station cameras in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -29,20 +31,20 @@ camera: {% configuration %} name: - description: A name for this synology camera component. + description: A name for this Synology camera. required: false default: Synology Camera type: string url: - description: The URL to your synology, including port. + description: The URL to your Synology, including port. required: true type: string username: - description: The username for accessing surveillance station. + description: The username for accessing Surveillance Station. required: true type: string password: - description: The password for accessing surveillance station. + description: The password for accessing Surveillance Station. required: true type: string timeout: @@ -51,17 +53,19 @@ timeout: default: 5 type: integer whitelist: - description: A list of which cameras you want to add, the names must be the same as in Surveillance Station. If omitted all cameras are added. + description: A list of which cameras you want to add, the names must be the same as in Surveillance Station. If omitted all cameras are added. required: false type: list verify_ssl: - description: True to require a valid certificate, False to disable certificate checking. + description: Verify SSL/TLS certificate for HTTPS request. required: false default: true type: boolean {% endconfiguration %} -A full sample configuration for the `synology` platform is shown below: +## {% linkable_title Full example %} + +A full sample configuration for the `synology` camera platform is shown below: ```yaml # Example configuration.yaml entry @@ -75,5 +79,5 @@ camera: ```

-Most users will need to set `verify_ssl` to false unless they have installed a valid SSL certificate in place of the built in self-signed certificate. +Most users will need to set `verify_ssl` to false unless they have installed a valid SSL/TLS certificate in place of the built in self-signed certificate.

From c3926e3b4903277288f82d79fcde0be4c689f09c Mon Sep 17 00:00:00 2001 From: Austin Drummond Date: Sat, 13 Oct 2018 04:18:16 -0400 Subject: [PATCH 164/217] Fixed a link on z-wave entities (#6737) --- source/_docs/z-wave/entities.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/z-wave/entities.markdown b/source/_docs/z-wave/entities.markdown index 2826e777bfb..2d45b69d097 100644 --- a/source/_docs/z-wave/entities.markdown +++ b/source/_docs/z-wave/entities.markdown @@ -177,7 +177,7 @@ binary_sensor: - **254**: Deep sleep - **255**: Case open -If your device has a `burglar` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/components/binary_sensor.template/) to create one (here we've defined it as a motion sensor, but you can use [any relevant device class](/components/binary_sensor/#device-class: +If your device has a `burglar` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/components/binary_sensor.template/) to create one (here we've defined it as a motion sensor, but you can use [any relevant device class](/components/binary_sensor/#device-class): {% raw %} ```yaml From 0573c83bcadc3df0bdc75defba23f3e3e0e36102 Mon Sep 17 00:00:00 2001 From: Florian Klien Date: Sat, 13 Oct 2018 11:18:47 +0200 Subject: [PATCH 165/217] Xmpp async (#6640) * fixed sentence * library note added for sleekxmpp and slixmpp * JID resource part configurable, TLS versions clarified --- source/_components/notify.xmpp.markdown | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source/_components/notify.xmpp.markdown b/source/_components/notify.xmpp.markdown index 00303b0f32c..eea60e42d3b 100644 --- a/source/_components/notify.xmpp.markdown +++ b/source/_components/notify.xmpp.markdown @@ -30,15 +30,18 @@ notify: Configuration variables: - **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. -- **sender** (*Required*): The Jabber ID (JID) that will act as origin of the messages. Add your JID including the domain, eg. your_name@jabber.org. +- **sender** (*Required*): The Jabber ID (JID) that will act as origin of the messages. Add your JID including the domain, e.g. your_name@jabber.org. +- **resource** (*Optional*): Resource part of JID. (e.g. your_name@jabber.org/`HA-cabin`, defaults to `home-assistant`) - **password** (*Required*): The password for your given Jabber account. - **recipient** (*Required*): The Jabber ID (JID) that will receive the messages. -- **tls** (*Optional*): Allow to disable TLS. Defaults to `true`. +- **tls** (*Optional*): Force TLS. Defaults to `true`. - **verify** (*Optional*): Allow disabling SSL certificate validity check (e.g., self-signed certificate). Defaults to `true`. -- **room** (*Optional*): Room's name (e.g., example@conference.jabber.org). If set, send a message to chatroom instead of the sender. +- **room** (*Optional*): Room's name (e.g., example@conference.jabber.org). If set, send a message to chatroom instead of the recipient.

- sleekxmpp, as of version 1.3.2, does not support >TLS1. If you are running your own XMPP server (e.g., Prosody, ejabberd) make sure to allow using TLS1. + Pre Home-Assistant 0.80 `sleekxmpp` was used to connect to XMPP-servers. Sleekxmpp as of version 1.3.2, does not support >TLS1. If you are running your own XMPP server (e.g. Prosody, ejabberd) make sure to allow using TLS1. + + Home-Assistant after 0.80 uses `slixmpp`, which also supports TLSv1.1 and TLSv1.2.

All Jabber IDs (JID) must include the domain. Make sure that the password matches the account provided as sender. From 9db4d711a0fdf039b6de9b0f7ca673aa4a1be96b Mon Sep 17 00:00:00 2001 From: Keiran S Date: Sat, 13 Oct 2018 21:09:07 +1100 Subject: [PATCH 166/217] Add Route53 component documentation (#6439) * Add Route53 component documentation * :pencil2: Tweaks * Update 'ha_release' --- source/_components/route53.markdown | 103 +++++++++++++++++++++ source/images/supported_brands/route53.png | Bin 0 -> 10158 bytes 2 files changed, 103 insertions(+) create mode 100644 source/_components/route53.markdown create mode 100644 source/images/supported_brands/route53.png diff --git a/source/_components/route53.markdown b/source/_components/route53.markdown new file mode 100644 index 00000000000..a00e5e708d0 --- /dev/null +++ b/source/_components/route53.markdown @@ -0,0 +1,103 @@ +--- +layout: page +title: "route53" +description: "Automatically update your AWS Route53 DNS records." +date: 2018-02-10 20:08 +sidebar: true +comments: false +sharing: true +footer: true +logo: route53.png +ha_category: Network +ha_release: "0.81" +--- + +With the `route53` component can you keep your AWS Route53 DNS records up to date. + +The component will run every hour, but can also be started manually by using the service `route53.update_records` under services. + +Please note that this platform uses the API from [ipify.org](https://www.ipify.org/) to set the public IP address. + +## {% linkable_title Setup %} + +You will need to configure your AWS Account with a suitable IAM policy and API keys for this to function. + +If you are familiar with this process, you can skip the next section and head directly to the configuration section. + +On the AWS side, you need to do the following; + +1. Create a suitable zone for a domain that you own and manage in Route53, the domain `home.yourdomain.com` is used as an example. + +2. Once created, write down the Hosted Zone ID value for the domain. This is needed for the plugin and IAM configuration. + +3. Create an IAM Policy that provides update and query access to this domain explicitly and has no other permissions to the AWS account. + +Here is an IAM Policy sample, don't forget to update your Zone ID on the Resource line. + +``` +{ + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "VisualEditor0", + "Effect": "Allow", + "Action": [ + "route53:GetHostedZone", + "route53:ChangeResourceRecordSets", + "route53:ListResourceRecordSets" + ], + "Resource": "arn:aws:route53:::hostedzone/YOURZONEIDGOESHERE" + }, + { + "Sid": "VisualEditor1", + "Effect": "Allow", + "Action": "route53:TestDNSAnswer", + "Resource": "*" + } + ] +} +``` + +4. Once this has been done, create a new user called `homeassistant` and add the IAM policy to the user, allowing it to manage this DNS resource. + +5. Under the security credentials tab for the `homeassistant` user, create a set of access keys for placement in the component definition YAML. + +## {% linkable_title Configuration %} + +To use the component in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +route53: + aws_access_key_id: ABC123 + aws_secret_access_key: DEF456 + zone: ZONEID678 + domain: home.yourdomain.com + records: + - vpn + - hassio + - home +``` + +{% configuration route53 %} +aws_access_key_id: + description: The AWS access key ID for the account that has IAM access to the domain. + required: true + type: string +aws_secret_access_key: + description: The AWS secret access key for the account that has IAM access to the domain. + required: true + type: string +zone: + description: The AWS zone ID for the domain in Route53. + required: true + type: string +domain: + description: The domain name for the domain in Route53. + required: true + type: string +records: + description: A list of records you want to update. + required: true + type: list +{% endconfiguration %} diff --git a/source/images/supported_brands/route53.png b/source/images/supported_brands/route53.png new file mode 100644 index 0000000000000000000000000000000000000000..07f3e8018dbbe135ddb10efcba87808add702777 GIT binary patch literal 10158 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

i6yzJ)&rWKVg%R_dwtg+EiusLz4 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 literal 0 HcmV?d00001 From f495cd1dc74dd8ae29bdf9ff2e3f93ff42745f52 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 13 Oct 2018 12:10:13 +0200 Subject: [PATCH 167/217] Update configuration variables section (#6742) --- source/_components/notify.xmpp.markdown | 54 +++++++++++++++++++------ 1 file changed, 41 insertions(+), 13 deletions(-) diff --git a/source/_components/notify.xmpp.markdown b/source/_components/notify.xmpp.markdown index eea60e42d3b..45f452f5a88 100644 --- a/source/_components/notify.xmpp.markdown +++ b/source/_components/notify.xmpp.markdown @@ -13,7 +13,9 @@ ha_release: pre 0.7 --- -The `xmpp` platform allows you to deliver notifications from Home Assistant to a [Jabber (XMPP)](http://xmpp.org) account. +The `xmpp` notification platform allows you to deliver notifications from Home Assistant to a [Jabber (XMPP)](http://xmpp.org) account. + +## {% linkable_title Configuration %} To enable Jabber notifications in your installation, add the following to your `configuration.yaml` file: @@ -27,21 +29,47 @@ notify: recipient: YOUR_RECIPIENT ``` -Configuration variables: - -- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. -- **sender** (*Required*): The Jabber ID (JID) that will act as origin of the messages. Add your JID including the domain, e.g. your_name@jabber.org. -- **resource** (*Optional*): Resource part of JID. (e.g. your_name@jabber.org/`HA-cabin`, defaults to `home-assistant`) -- **password** (*Required*): The password for your given Jabber account. -- **recipient** (*Required*): The Jabber ID (JID) that will receive the messages. -- **tls** (*Optional*): Force TLS. Defaults to `true`. -- **verify** (*Optional*): Allow disabling SSL certificate validity check (e.g., self-signed certificate). Defaults to `true`. -- **room** (*Optional*): Room's name (e.g., example@conference.jabber.org). If set, send a message to chatroom instead of the recipient. +{% configuration %} +name: + description: "Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`." + required: false + type: string + default: Random Sensor +sender: + description: "The Jabber ID (JID) that will act as origin of the messages. Add your JID including the domain, e.g. your_name@jabber.org." + required: true + type: string +resource: + description: "Resource part of JID, e.g., your_name@jabber.org/`HA-cabin`." + required: false + type: string + default: home-assistant +password: + description: The password for your given Jabber account. + required: true +recipient: + description: The Jabber ID (JID) that will receive the messages. + required: true +tls: + description: Force TLS. + required: false + type: boolean + default: true +verify: + description: Allow disabling SSL certificate validity check, e.g., self-signed certificate. + required: false + type: boolean + default: true +room: + description: Room's name (e.g., example@conference.jabber.org). If set, send a message to chatroom instead of the recipient. + required: false + type: string +{% endconfiguration %}

- Pre Home-Assistant 0.80 `sleekxmpp` was used to connect to XMPP-servers. Sleekxmpp as of version 1.3.2, does not support >TLS1. If you are running your own XMPP server (e.g. Prosody, ejabberd) make sure to allow using TLS1. + Pre Home Assistant 0.81 `sleekxmpp` was used to connect to XMPP servers. `sleekxmpp` as of version 1.3.2, does not support > TLS v1. If you are running your own XMPP server (e.g., Prosody, ejabberd) make sure to allow using TLS v1. - Home-Assistant after 0.80 uses `slixmpp`, which also supports TLSv1.1 and TLSv1.2. + Home Assistant after 0.81 uses `slixmpp`, which also supports TLS v1.1 and TLS v1.2.

All Jabber IDs (JID) must include the domain. Make sure that the password matches the account provided as sender. From e3aa2f9f282447c7980a8e695b331a900aed67b3 Mon Sep 17 00:00:00 2001 From: longman391 Date: Sat, 13 Oct 2018 03:12:05 -0700 Subject: [PATCH 168/217] Update secrets.markdown (#6741) Fixed typos, comma splices, and missing punctuation. --- source/_docs/configuration/secrets.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_docs/configuration/secrets.markdown b/source/_docs/configuration/secrets.markdown index 0f1728cc013..438896ed5c5 100644 --- a/source/_docs/configuration/secrets.markdown +++ b/source/_docs/configuration/secrets.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /topics/secrets/ --- -The `configuration.yaml` file is a plain-text file, thus it is readable by anyone who has access to the file. The file contains passwords and API tokens which need to be redacted if you want to share your configuration. By using `!secret` you can remove any private information from you configuration files. This separation can also help you to keep easier track of your passwords and API keys. As they are all stored at one place and no longer spread across the `configuration.yaml` file or even multiple yaml files if you [split up your configuration](/docs/configuration/splitting_configuration/). +The `configuration.yaml` file is a plain-text file, thus it is readable by anyone who has access to the file. The file contains passwords and API tokens which need to be redacted if you want to share your configuration. By using `!secret` you can remove any private information from your configuration files. This separation can also help you to keep easier track of your passwords and API keys, as they are all stored at one place and no longer spread across the `configuration.yaml` file or even multiple yaml files if you [split up your configuration](/docs/configuration/splitting_configuration/). ### {% linkable_title Using secrets.yaml %} @@ -42,9 +42,9 @@ When you start splitting your configuration into multiple files, you might end u - A `secrets.yaml` located in the same folder as the YAML file referencing the secret, - next, parent folders will be searched for a `secrets.yaml` file with the secret, stopping at the folder with the main `configuration.yaml`, -- lastly, `keyring` will be queried for the secret (more info below) +- lastly, `keyring` will be queried for the secret (more info below). -To see where secrets are being loaded from you can either add an option to your `secrets.yaml` file or use the `check_config` script. +To see where secrets are being loaded from, you can either add an option to your `secrets.yaml` file or use the `check_config` script. *Option 1*: Print where secrets are retrieved from to the Home Assistant log by adding the following to `secrets.yaml`: @@ -53,7 +53,7 @@ logger: debug ``` This will not print the actual secret's value to the log. -*Option 2*: View where secrets are retrieved from and the contents of all `secrets.yaml` files used, you can use the [`check_config` script](/docs/tools/check_config/) from the command line: +*Option 2*: To view where secrets are retrieved from and the contents of all `secrets.yaml` files used, you can use the [`check_config` script](/docs/tools/check_config/) from the command line: ```bash $ hass --script check_config --secrets From 5f86763e72d8719d49d86438be2a9d339bb093f4 Mon Sep 17 00:00:00 2001 From: Markus Nigbur Date: Sat, 13 Oct 2018 12:55:11 +0200 Subject: [PATCH 169/217] Changed filename to reflect the actual sensor name (#6744) --- .../{sensor.api_stream.markdown => sensor.api_streams.markdown} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename source/_components/{sensor.api_stream.markdown => sensor.api_streams.markdown} (86%) diff --git a/source/_components/sensor.api_stream.markdown b/source/_components/sensor.api_streams.markdown similarity index 86% rename from source/_components/sensor.api_stream.markdown rename to source/_components/sensor.api_streams.markdown index f3178306615..0a5e744e645 100644 --- a/source/_components/sensor.api_stream.markdown +++ b/source/_components/sensor.api_streams.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Local Push" ha_qa_scale: internal --- -The `api_stream` sensor platform shows how many clients are connected to the stream API +The `api_streams` sensor platform shows how many clients are connected to the stream API ## {% linkable_title Configuration %} From 56855dec14ef8884e4ce5d5c4c083e0f71e4389b Mon Sep 17 00:00:00 2001 From: Travis Carr Date: Sat, 13 Oct 2018 04:09:06 -0700 Subject: [PATCH 170/217] Update configuration description for binary_sensor.tcp (#6704) * Update configuration description for binary_sensor.tcp * Fix some mistakes...oops. --- source/_components/binary_sensor.tcp.markdown | 43 +++++++++++++++---- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/source/_components/binary_sensor.tcp.markdown b/source/_components/binary_sensor.tcp.markdown index ff5aed010c6..e5651d954b6 100644 --- a/source/_components/binary_sensor.tcp.markdown +++ b/source/_components/binary_sensor.tcp.markdown @@ -30,12 +30,37 @@ binary_sensor: Configuration options for the a TCP Sensor: -- **name** (*Required*): The name you'd like to give the sensor in Home Assistant. -- **host** (*Required*): The hostname/IP address to connect to. -- **port** (*Required*): The port to connect to the host on. -- **payload** (*Required*): What to send to the host in order to get the response we're interested in. -- **value_on** (*Required*): The value returned when the device is "on". -- **timeout** (*Optional*): How long in seconds to wait for a response from the service before giving up and disconnecting. Defaults to 10. -- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value. By default it's assumed that the entire response is the value. -- **buffer_size** (*Optional*): The size of the receive buffer in bytes. Set this to a larger value if you expect to receive a response larger than the default. Defaults to 1024. - +{% configuration %} +name: + required: true + description: The name you'd like to give the sensor in Home Assistant. + type: string +host: + required: true + description: The hostname/IP address to connect to. + type: string +port: + required: true + description: The port to connect to the host on. + type: integer +payload: + required: true + description: What to send to the host in order to get the response we're interested in. + type: string +value_on: + required: true + description: The value returned when the device is "on". + type: string +timeout: + required: false + description: How long in seconds to wait for a response from the service before giving up and disconnecting. Defaults to 10. + type: integer +value_template: + required: false + description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value. By default it's assumed that the entire response is the value. + type: string +buffer_size: + required: false + description: The size of the receive buffer in bytes. Set this to a larger value if you expect to receive a response larger than the default. Defaults to 1024. + type: integer +{% endconfiguration %} \ No newline at end of file From 11808dee0415d1b4000713c482ddf7c2f62df817 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Sat, 13 Oct 2018 13:15:06 +0200 Subject: [PATCH 171/217] Fix ring sensor configuration (#6746) * Fix ring sensor configuration * Fix type --- source/_components/sensor.ring.markdown | 30 ++++++++++++++++--------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/source/_components/sensor.ring.markdown b/source/_components/sensor.ring.markdown index e8059abc990..648b93ce4f5 100644 --- a/source/_components/sensor.ring.markdown +++ b/source/_components/sensor.ring.markdown @@ -25,15 +25,25 @@ sensor: - platform: ring ``` -Configuration variables: - -- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled. - - **battery**: Return the battery level from device - - **last_activity**: Return the timestamp from the last event captured (ding/motion/on demand) by the Ring doorbell camera - - **last_ding**: Return the timestamp from the last time the Ring doorbell button was pressed - - **last_motion**: Return the timestamp from the last motion event captured by the Ring doorbell camera - - **volume**: Return the volume level from the device. - - **wifi_signal_category**: Return the WiFi signal level from the device. - - **wifi_signal_strength**: Return the WiFi signal strength (dBm) from the device. +{% configuration %} +monitored_conditions: + type: list + required: false + description: Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled. + battery: + description: Return the battery level from device. + last_activity: + description: Return the timestamp from the last event captured (ding/motion/on demand) by the Ring doorbell camera. + last_ding: + description: Return the timestamp from the last time the Ring doorbell button was pressed. + last_motion: + description: Return the timestamp from the last motion event captured by the Ring doorbell camera. + volume: + description: Return the volume level from the device. + wifi_signal_category: + description: Return the WiFi signal level from the device. + wifi_signal_strength: + description: Return the WiFi signal strength (dBm) from the device. +{% endconfiguration %} Currently it supports doorbell, external chimes and stickup cameras. From aa8b39736e6e199d4a0e557bb06973ef0691c873 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 13 Oct 2018 13:23:14 +0200 Subject: [PATCH 172/217] Update Wink component configuration variable (#6723) * Update Wink component configuration variable * Minor changes --- source/_components/wink.markdown | 38 ++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/source/_components/wink.markdown b/source/_components/wink.markdown index c849971fc26..ade545e1374 100644 --- a/source/_components/wink.markdown +++ b/source/_components/wink.markdown @@ -44,11 +44,10 @@ When using the configurator make sure the initial setup is performed on the same wink: ``` -### {% linkable_title Full oauth authentication (legacy). %} +### {% linkable_title Full oauth authentication (legacy) %} This should be used for users that obtained their client_id and client_secret via email from Wink support prior to [developer.wink.com's](https://developer.wink.com) existence. - ```yaml wink: email: YOUR_WINK_EMAIL_ADDRESS @@ -57,23 +56,38 @@ wink: client_secret: YOUR_WINK_CLIENT_SECRET ``` -Configuration variables: +Please pay attention that the required entries are only needed for legacy OAuth access. -- **email** (*Required for legacy OAuth*): Your Wink login email. -- **password** (*Required for legacy OAuth*): Your Wink login password. -- **client_id** (*Required for legacy OAuth*): Your provided Wink client_id. -- **client_secret** (*Required for legacy OAuth*): Your provided Wink client_secret. -- **local_control** (*Optional*): If set to `True` state changes for lights, locks, and switches will be issued to the local hub. +{% configuration %} +email: + description: Your Wink login email address. + required: true + type: string +password: + description: Your Wink login password. + required: true + type: string +client_id: + description: Your provided Wink `client_id`. + required: true + type: string +client_secret: + description: Your provided Wink `client_secret`. + required: true + type: string +local_control: + description: If set to `true` state changes for lights, locks and switches will be issued to the local hub. + required: false + default: false + type: boolean +{% endconfiguration %} Local control: -- Wink's local control API isn't officially documented and therefore could be broken by a hub update. For these reasons `local_control` defaults to `False`. +- Wink's local control API isn't officially documented and therefore could be broken by a hub update. For these reasons `local_control` defaults to `false`. - Using local control doesn't appear to make commands any quicker, but does function in an internet/Wink outage. - - Local control is also only available for the Wink hub v1 and v2, not the Wink relay. - - Local control isn't used during start-up of Home Assistant; this means initial setup requires an active internet connection. - - Local control requests are first sent to the controlling hub. If a request fails, that request will attempt to go online.

From cd3d7d70aa94edfc5b7eda4aa7ed8a0721b1b7fa Mon Sep 17 00:00:00 2001 From: cgtobi Date: Sat, 13 Oct 2018 13:25:50 +0200 Subject: [PATCH 173/217] Fix skybell configuration (#6743) * Fix skybell configuration * Fix type * Fix type --- .../_components/binary_sensor.skybell.markdown | 16 +++++++++++----- source/_components/sensor.skybell.markdown | 13 +++++++++---- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/source/_components/binary_sensor.skybell.markdown b/source/_components/binary_sensor.skybell.markdown index 25558eb1cd5..5ca42b98c33 100644 --- a/source/_components/binary_sensor.skybell.markdown +++ b/source/_components/binary_sensor.skybell.markdown @@ -28,8 +28,14 @@ binary_sensor: - motion ``` -Configuration variables: - -- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored. - - **button**: Return a boolean value when the doorbell button was pressed. - - **motion**: Return a boolean value when movement was detected by the Skybell doorbell. +{% configuration %} +monitored_conditions: + type: list + required: true + description: Conditions to display in the frontend. The following conditions can be monitored. + keys: + button: + description: Returns whether the doorbell button was pressed. + motion: + description: Returns whether movement was detected by the Skybell doorbell. +{% endconfiguration %} diff --git a/source/_components/sensor.skybell.markdown b/source/_components/sensor.skybell.markdown index 023ee75738f..39699978b99 100644 --- a/source/_components/sensor.skybell.markdown +++ b/source/_components/sensor.skybell.markdown @@ -27,7 +27,12 @@ sensor: - chime_level ``` -Configuration variables: - -- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored. - - **chime_level**: Return a value between 0-3, indicating no chime, low, medium, and high respectively. +{% configuration %} +monitored_conditions: + type: list + required: true + description: Conditions to display in the frontend. The following conditions can be monitored. + keys: + chime_level: + description: Return a value between 0-3, indicating no chime, low, medium, and high respectively. +{% endconfiguration %} From ccd5340b9c70cf728e601da6962ec7674968b559 Mon Sep 17 00:00:00 2001 From: Markus Nigbur Date: Sat, 13 Oct 2018 14:44:27 +0200 Subject: [PATCH 174/217] Updated nuki component configuration section (#6745) * Updated nuki component configuration section Related to #6385. * Changed port type to integer --- source/_components/lock.nuki.markdown | 33 ++++++++++++--------------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/source/_components/lock.nuki.markdown b/source/_components/lock.nuki.markdown index 6d10c73f9ad..bc5299d61ab 100644 --- a/source/_components/lock.nuki.markdown +++ b/source/_components/lock.nuki.markdown @@ -27,24 +27,21 @@ lock: token: fe2345ef ``` -Configuration variables: - -- **host** (*Required*): The IP or hostname of the Nuki bridge. -- **port** (*Optional*): The port on which the Nuki bridge is listening on. Defaults to `8080`. -- **token** (*Required*): The token that was defined when setting up the bridge. - -## {% linkable_title Full configuration %} - -Here's a full configuration example for a Nuki bridge: - -```yaml -# Example configuration.yaml entry -lock: - - platform: nuki - host: 192.168.1.120 - port: 8080 - token: fe2345ef -``` +{% configuration %} +host: + description: The IP or hostname of the Nuki bridge. + required: true + type: string +port: + description: The port on which the Nuki bridge is listening on. + required: false + default: 8080 + type: integer +token: + description: The token that was defined when setting up the bridge. + required: true + type: string +{% endconfiguration %} ## {% linkable_title Services %} From be2fbceb3c1c1be74151f7b484bcf8cb4ff6a7aa Mon Sep 17 00:00:00 2001 From: Jan van Helvoort Date: Sat, 13 Oct 2018 17:07:31 +0200 Subject: [PATCH 175/217] Add zwave.network_complete_some_dead event (#6749) --- source/_components/homekit.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_components/homekit.markdown b/source/_components/homekit.markdown index 08d4835bd67..77ec79577f6 100644 --- a/source/_components/homekit.markdown +++ b/source/_components/homekit.markdown @@ -190,6 +190,8 @@ automation: event_type: zwave.network_ready - platform: event event_type: zwave.network_complete + - platform: event + event_type: zwave.network_complete_some_dead action: - service: homekit.start ``` From 38bad7af6e6e75bb2f7415488e4cb4d438ce6b13 Mon Sep 17 00:00:00 2001 From: Luuk Date: Sat, 13 Oct 2018 17:12:34 +0200 Subject: [PATCH 176/217] Update yeelight configuration (#6747) * Update Yeelight configuration variables to new format * Remove optional configuration variables from main example and added additional examples --- source/_components/light.yeelight.markdown | 77 ++++++++++++++++++---- 1 file changed, 65 insertions(+), 12 deletions(-) diff --git a/source/_components/light.yeelight.markdown b/source/_components/light.yeelight.markdown index d5d5adb4e80..c6019083e95 100644 --- a/source/_components/light.yeelight.markdown +++ b/source/_components/light.yeelight.markdown @@ -26,20 +26,39 @@ light: devices: 192.168.1.25: name: Living Room - transition: 1000 - use_music_mode: True #(defaults to False) - save_on_change: True #(defaults to False) - 192.168.1.13: - name: Front Door ``` -Configuration variables: - -- **ip** (*Required*): IP(s) of your Wifi bulbs -- **name** (*Optional*): A friendly name for the device. -- **transition** (*Optional*, default 350): Smooth transitions over time (in ms). -- **use_music_mode** (*Optional*, default False): Enable music mode. -- **save_on_change** (*Optional*, default False): Saves the bulb state in its nonvolatile memory when changed from Home Assistant. +{% configuration %} +devices: + required: true + description: List of Yeelight devices. + type: map + keys: + ip: + description: IP address of the bulb. + required: true + type: map + keys: + name: + description: A friendly name for the device. + required: false + type: string + transition: + description: Smooth transitions over time (in ms). + required: false + type: integer + default: 350 + use_music_mode: + description: Enable music mode. + required: false + type: boolean + default: False + save_on_change: + description: Saves the bulb state in its nonvolatile memory when changed from Home Assistant. + required: false + type: boolean + default: False +{% endconfiguration %} #### {% linkable_title Music mode %} Per default the bulb limits the amount of requests per minute to 60, a limitation which can be bypassed by enabling the music mode. In music mode the bulb is commanded to connect back to a socket provided by the component and it tries to keep the connection open, which may not be wanted in all use-cases. @@ -80,3 +99,37 @@ Set an operation mode. |---------------------------|----------|---------------------------------------------------------------------------------------------| | `entity_id` | yes | Only act on a specific yeelight. Else targets all. | | `mode` | no | Operation mode. Valid values are 'last', 'normal', 'rgb', 'hsv', 'color_flow', 'moonlight'. | + +## {% linkable_title Examples %} + +In this section you find some real-life examples of how to use this light. + +### {% linkable_title Full configuration %} + +This example shows how you can use the optional configuration options. + +```yaml +# Example configuration.yaml entry +light: + - platform: yeelight + devices: + 192.168.1.25: + name: Living Room + transition: 1000 + use_music_mode: True + save_on_change: True +``` + +### {% linkable_title Multiple bulbs %} + +This example shows how you can add multiple bulbs in your configuration. + +```yaml +light: + - platform: yeelight + devices: + 192.168.1.25: + name: Living Room + 192.168.1.13: + name: Front Door +``` From 755fdf54f42e5896d2e1ab6597e14eb6364667e8 Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Sat, 13 Oct 2018 09:18:40 -0600 Subject: [PATCH 177/217] Add docs for upcoming SimpliSafe component (#6543) * Add docs for upcoming SimpliSafe component * Bumped HASS version --- .../alarm_control_panel.simplisafe.markdown | 33 +++------------ source/_components/simplisafe.markdown | 41 +++++++++++++++++++ 2 files changed, 46 insertions(+), 28 deletions(-) create mode 100644 source/_components/simplisafe.markdown diff --git a/source/_components/alarm_control_panel.simplisafe.markdown b/source/_components/alarm_control_panel.simplisafe.markdown index 1dcad35d05e..4ad3f7e3057 100644 --- a/source/_components/alarm_control_panel.simplisafe.markdown +++ b/source/_components/alarm_control_panel.simplisafe.markdown @@ -12,33 +12,10 @@ ha_release: 0.24 ha_category: Alarm --- -The `simplisafe` platform enables the ability to control a [SimpliSafe](http://simplisafe.com/) control panel. +The `simplisafe` alarm control panel platform gives users the ability to +control a SimpliSafe home alarm system. -To enable this, add the following lines to your `configuration.yaml`: +You must have the [`simplisafe` component](/components/simplisafe/) configured +to use this platform. After configuring that component, any alarm control +panels defined will automatically appear. -```yaml -# Example configuration.yaml entry -alarm_control_panel: - platform: simplisafe - username: YOUR_USERNAME - password: YOUR_PASSWORD -``` - -{% configuration %} -username: - description: Username for the SimpliSafe account. - required: true - type: string -password: - description: Password for SimpliSafe account. - required: true - type: string -name: - description: The name of the alarm. Default is the SimpliSafe alarm id. - required: false - type: string -code: - description: Specifies a code to enable or disable the alarm in the frontend. - required: false - type: string -{% endconfiguration %} diff --git a/source/_components/simplisafe.markdown b/source/_components/simplisafe.markdown new file mode 100644 index 00000000000..74ecfe42e5b --- /dev/null +++ b/source/_components/simplisafe.markdown @@ -0,0 +1,41 @@ +--- +layout: page +title: "SimpliSafe" +description: "Instructions on how to integrate SimpliSafe into Home Assistant." +date: 2018-10-05 14:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: simplisafe.png +ha_release: 0.81 +ha_category: Alarm +--- + +The `simplisafe` component integrates SimpliSafe home security (V2 and V3) +systems into Home Assistant. Multiple SimpliSafe accounts can be accommodated. + +To enable this component, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +simplisafe: + accounts: + - username: user@email.com + password: password123 +``` + +{% configuration %} +username: + description: The email address of a SimpliSafe account. + required: true + type: string +password: + description: The password of a SimpliSafe account. + required: true + type: string +code: + description: A code to enable or disable the alarm in the frontend. + required: false + type: string +{% endconfiguration %} From 1bf83491761937352f0391dfaa67baa0fb9d3033 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 13 Oct 2018 17:24:48 +0200 Subject: [PATCH 178/217] Update Buienradar weather component configuration variable (#6717) * Update Buienradar weather component configuration variable * :ambulance: Fix * :pencil2: Tweak --- .../_components/weather.buienradar.markdown | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/source/_components/weather.buienradar.markdown b/source/_components/weather.buienradar.markdown index 0b4ef3f0db8..8ec59346cc8 100644 --- a/source/_components/weather.buienradar.markdown +++ b/source/_components/weather.buienradar.markdown @@ -27,13 +27,25 @@ weather: - platform: buienradar ``` -Configuration variables: - -- **name** (*Optional*): You can specify a name of the component, but do not have to. If you specify a name, the weather component will get an entity name of `weather.[name]`; if no name is specified, it will try to set its name to `weather.BR_[stationname]`. However at the moment in time, the entity is created, no data has been retrieved yet, so the entity will get named `weather.BR_unknown_station`. Later the station name will be known and get updated, but the entity name remains. -- **latitude** (*Optional*): Latitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration but can be overridden/changed in this component to select a different location for Buienradar. -- **longitude**(*Optional*): Longitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration but can be overridden/changed in this component to select a different location for Buienradar. -- **forecast** (*Optional*): 'True' to add a temperature forecast, 'False' to suppress it. - +{% configuration %} +name: + description: "You can specify a name of the component, but do not have to. If you specify a name, the weather component will get an entity name of `weather.[name]`; if no name is specified, it will try to set its name to `weather.BR_[stationname]`. However at the moment in time, the entity is created, no data has been retrieved yet, so the entity will get named `weather.BR_unknown_station`. Later the station name will be known and get updated, but the entity name remains." + required: false + type: string +latitude: + description: Latitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration but can be overridden/changed in this component to select a different location for Buienradar. + required: false + type: float +longitude: + description: Longitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration but can be overridden/changed in this component to select a different location for Buienradar. + required: false + type: float +forecast: + description: "'True' to add a temperature forecast, 'False' to suppress it." + required: false + default: true + type: boolean +{% endconfiguration %} A full configuration example: From efc99cedfecbcd2a026143f9b1e70e179c099206 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Sat, 13 Oct 2018 21:39:56 +0200 Subject: [PATCH 179/217] Fix sonarr configuration (#6754) * Fix sonarr configuration * Close configuration tag --- source/_components/sensor.sonarr.markdown | 76 +++++++++++++++++------ 1 file changed, 58 insertions(+), 18 deletions(-) diff --git a/source/_components/sensor.sonarr.markdown b/source/_components/sensor.sonarr.markdown index b752a2a702d..9b70848868d 100644 --- a/source/_components/sensor.sonarr.markdown +++ b/source/_components/sensor.sonarr.markdown @@ -27,24 +27,64 @@ sensor: api_key: YOUR_API_KEY ``` -Configuration variables: - -- **api_key** (*Required*): Your Sonarr API key, found in Settings > General in the Sonarr Web UI. -- **host** (*Optional*): The host Sonarr is running on. Defaults to `localhost`. -- **port** (*Optional*): The port Sonarr is running on. Defaults to 8989. -- **monitored_conditions** array (*Optional*): Conditions to display on the frontend. Defaults to `upcoming`. - - **series**: The number of series in Sonarr. - - **upcoming**: The number of upcoming episodes. - - **wanted**: The number of episodes still 'wanted'. - - **queue**: The number of episodes in the queue. - - **commands**: The number of commands being run. - - **diskspace**: Available disk space. - -- **urlbase** (*Optional*): The base URL Sonarr is running under. Defaults to `/`. -- **days** (*Optional*): How many days to look ahead for the upcoming sensor, 1 means today only. Defaults to 1. -- **include_paths** (*Optional*): Array of file paths to include when calculating diskspace. Leave blank to include all. -- **unit**: (*Optional*): The unit to display disk space in. Defaults to GB. -- **ssl**: boolean (*Optional*): Whether or not to use SSL for Sonarr. +{% configuration %} +api_key: + required: true + type: string + description: "Your Sonarr API key, found in Settings > General in the Sonarr Web UI." +host: + required: false + type: string + description: The host Sonarr is running on. + default: "`localhost`" +port: + required: false + type: integer + description: The port Sonarr is running on. + default: 8989 +monitored_conditions: + type: list + required: false + description: Conditions to display on the frontend. + default: "`upcoming`" + keys: + series: + description: The number of series in Sonarr. + upcoming: + description: The number of upcoming episodes. + wanted: + description: The number of episodes still 'wanted'. + queue: + description: The number of episodes in the queue. + commands: + description: The number of commands being run. + diskspace: + description: Available disk space. +urlbase: + required: false + type: string + description: The base URL Sonarr is running under. + default: "`/`" +days: + required: false + type: integer + description: How many days to look ahead for the upcoming sensor, 1 means today only. + default: 1 +include_paths: + required: false + type: list + description: Array of file paths to include when calculating diskspace. Leave blank to include all. +unit: + required: false + type: string + description: The unit to display disk space in. + default: GB +ssl: + required: false + type: boolean + description: Whether or not to use SSL for Sonarr. + default: false +{% endconfiguration %} ## {% linkable_title Examples %} From e74d12ff579d1db2a6e1756d59404e0e2d4950a2 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Sat, 13 Oct 2018 21:41:00 +0200 Subject: [PATCH 180/217] Fix radarr configuration (#6753) --- source/_components/sensor.radarr.markdown | 71 ++++++++++++++++++----- 1 file changed, 55 insertions(+), 16 deletions(-) diff --git a/source/_components/sensor.radarr.markdown b/source/_components/sensor.radarr.markdown index 11635a8d18d..08bb928d472 100644 --- a/source/_components/sensor.radarr.markdown +++ b/source/_components/sensor.radarr.markdown @@ -26,22 +26,61 @@ sensor: api_key: YOUR_API_KEY ``` -Configuration variables: - -- **api_key** (*Required*): Your Radarr API key, found in Settings > General in the Radarr Web UI. -- **host** (*Optional*): The host Radarr is running on. Defaults to `localhost`. -- **port** (*Optional*): The port Radarr is running on. Defaults to 7878. -- **urlbase** (*Optional*): The base URL Radarr is running under. Defaults to `/`. -- **monitored_conditions** array (*Optional*): Conditions to display on the frontend. Defaults to `movies`. - - **movies**: The number of movies in Radarr. - - **upcoming**: The number of upcoming movie releases (physical and in cinemas). - - **commands**: The number of commands being run. - - **diskspace**: The available disk space. - - **status**: The current system status information. -- **days** (*Optional*): How many days to look ahead for the upcoming sensor, 1 means today only. Defaults to 1. -- **include_paths** (*Optional*): Array of file paths to include when calculating diskspace. Leave blank to include all. -- **unit**: (*Optional*): The unit to display disk space in. Defaults to GB. -- **ssl**: boolean (*Optional*): Whether or not to use SSL for Radarr. +{% configuration %} +api_key: + required: true + type: string + description: Your Radarr API key, found in Settings > General in the Radarr Web UI. +host: + required: false + type: string + description: The host Radarr is running on. + default: "`localhost`" +port: + required: false + type: integer + description: The port Radarr is running on. + default: 7878 +urlbase: + required: false + type: string + description: The base URL Radarr is running under. Defaults to `/`. +monitored_conditions: + required: false + type: list + description: Conditions to display on the frontend. + default: "`movies`" + keys: + movies: + description: The number of movies in Radarr. + upcoming: + description: The number of upcoming movie releases (physical and in cinemas). + commands: + description: The number of commands being run. + diskspace: + description: The available disk space. + status: + description: The current system status information. +days: + required: false + type: integer + description: How many days to look ahead for the upcoming sensor, 1 means today only. + default: 1 +include_paths: + required: false + type: list + description: Array of file paths to include when calculating diskspace. Leave blank to include all. +unit: + required: false + type: string + description: The unit to display disk space in. + default: GB +ssl: + required: false + type: boolean + description: Whether or not to use SSL for Radarr. + default: false +{% endconfiguration %} ## {% linkable_title Examples %} From ca98712887607bd02287bd8a3817a02ef3ab4dd7 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Sat, 13 Oct 2018 21:41:52 +0200 Subject: [PATCH 181/217] Fix nzbget configuration (#6752) * Fix nzbget configuration * Fix stupidness --- source/_components/sensor.nzbget.markdown | 71 +++++++++++++++++------ 1 file changed, 52 insertions(+), 19 deletions(-) diff --git a/source/_components/sensor.nzbget.markdown b/source/_components/sensor.nzbget.markdown index cb3b45fc5a5..bd32c3a2142 100644 --- a/source/_components/sensor.nzbget.markdown +++ b/source/_components/sensor.nzbget.markdown @@ -28,22 +28,55 @@ sensor: - download_paused ``` -Configuration variables: - -- **host** (*Required*): IP address where your NZBGet installation is running. -- **port** (*Optional*): The port of your NZBGet installation. Defaults to 6789. -- **ssl** (*Optional*): Whether or not to use SSL to access NZBGet. Defaults to false. -- **name** (*Optional*): The prefix to use for your sensor. Defaults to NZBGet. -- **username** (*Optional*): The username to access your NZBGet installation. -- **password** (*Optional*): The password to access your NZBGet installation. -- **monitored_variables** array (*Required*): List of monitored details. - - **article_cache**: Number of cached articles. - - **average_download_rate**: Average download rate - - **download_paused**: Paused downloads - - **download_rate**: Current download rate - - **download_size**: The size to download - - **free_disk_space**: Free disk space at the storage location of NZBGet - - **post_paused**: Paused posts - - **remaining_size**: Remaining size to download - - **uptime**: Uptime of NZBGet - +{% configuration %} +host: + required: true + type: string + description: IP address where your NZBGet installation is running. +port: + required: false + type: integer + description: The port of your NZBGet installation. + default: 6789 +ssl: + required: false + type: boolean + description: Whether or not to use SSL to access NZBGet. + default: false +name: + required: false + type: string + description: The prefix to use for your sensor. + default: NZBGet +username: + required: false + type: string + description: The username to access your NZBGet installation. +password: + required: false + type: string + description: The password to access your NZBGet installation. +monitored_variables: + required: true + type: list + description: List of monitored details. + keys: + article_cache: + description: Number of cached articles. + average_download_rate: + description: Average download rate + download_paused: + description: Paused downloads + download_rate: + description: Current download rate + download_size: + description: The size to download + free_disk_space: + description: Free disk space at the storage location of NZBGet + post_paused: + description: Paused posts + remaining_size: + description: Remaining size to download + uptime: + description: Uptime of NZBGet +{% endconfiguration %} From 7017eb4cd59f281f94895c4ec6e4b6a9169262e2 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 13 Oct 2018 20:43:48 +0100 Subject: [PATCH 182/217] `is_state` needs quotes all the way (#6751) Apparently `is_state` treats the value as a string --- source/_docs/z-wave/entities.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/z-wave/entities.markdown b/source/_docs/z-wave/entities.markdown index 2d45b69d097..50da0e4d028 100644 --- a/source/_docs/z-wave/entities.markdown +++ b/source/_docs/z-wave/entities.markdown @@ -161,7 +161,7 @@ binary_sensor: YOUR_SENSOR: friendly_name: "Friendly name here" device_class: door - value_template: "{{ is_state('sensor.YOUR_ORIGINAL_SENSOR_access_control', 22) }}" + value_template: "{{ is_state('sensor.YOUR_ORIGINAL_SENSOR_access_control', '22') }}" ``` {% endraw %} @@ -187,7 +187,7 @@ binary_sensor: YOUR_SENSOR: friendly_name: "Friendly name here" device_class: motion - value_template: "{{ is_state('sensor.YOUR_SENSOR_burglar', 8) }}" + value_template: "{{ is_state('sensor.YOUR_SENSOR_burglar', '8') }}" ``` {% endraw %} From ff0f41fe5034feae3cf4a2fcc03c521e18ced5e3 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Sat, 13 Oct 2018 21:55:34 +0200 Subject: [PATCH 183/217] Fix deluge configuration (#6748) * Fix deluge configuration * Fix eg., * Fix required username and password * Add default --- source/_components/sensor.deluge.markdown | 46 +++++++++++++++++------ source/_components/switch.deluge.markdown | 31 +++++++++++---- 2 files changed, 59 insertions(+), 18 deletions(-) diff --git a/source/_components/sensor.deluge.markdown b/source/_components/sensor.deluge.markdown index 948849b0aad..e82d6a264e6 100644 --- a/source/_components/sensor.deluge.markdown +++ b/source/_components/sensor.deluge.markdown @@ -31,14 +31,38 @@ sensor: - 'upload_speed' ``` -Configuration variables: - -- **host** (*Required*): This is the IP address of your Deluge daemon, eg. 192.168.1.32. -- **port** (*Optional*): The port your Deluge daemon uses. Defaults to 58846. Warning, this is not the port of the WebUI. -- **name** (*Optional*): The name to use when displaying this Deluge instance. -- **username** (*Required*): Your Deluge daemon username. -- **password** (*Required*): Your Deluge daemon password. -- **monitored_variables** array (*Required*): Conditions to display in the frontend. - - **current_status**: The status of your Deluge daemon. - - **download_speed**: The current download speed. - - **upload_speed**: The current upload speed. +{% configuration %} +host: + required: true + type: string + description: This is the IP address of your Deluge daemon, e.g., 192.168.1.32. +port: + required: false + type: integer + description: The port your Deluge daemon uses. Warning, this is not the port of the WebUI. + default: 58846 +name: + required: false + type: string + default: Deluge + description: The name to use when displaying this Deluge instance. +username: + required: true + type: string + description: Your Deluge daemon username. +password: + required: true + type: string + description: Your Deluge daemon password. +monitored_variables: + required: true + type: list + description: Conditions to display in the frontend. + keys: + current_status: + description: The status of your Deluge daemon. + download_speed: + description: The current download speed. + upload_speed: + description: The current upload speed. + {% endconfiguration %} diff --git a/source/_components/switch.deluge.markdown b/source/_components/switch.deluge.markdown index b9673415c39..43afb1976f6 100644 --- a/source/_components/switch.deluge.markdown +++ b/source/_components/switch.deluge.markdown @@ -27,10 +27,27 @@ switch: password : PASSWORD ``` -Configuration variables: - -- **host** (*Required*): This is the IP address of your Deluge daemon, eg. 192.168.1.32. -- **username** (*Required*): Your Deluge username, if you use authentication. -- **password** (*Required*): Your Deluge password, if you use authentication. -- **port** (*Optional*): The port your Deluge daemon uses, defaults to 58846. Warning,this is not the port of the WebUI -- **name** (*Optional*): The name to use when displaying this Deluge instance. +{% configuration %} +host: + required: true + type: string + description: This is the IP address of your Deluge daemon, eg., 192.168.1.32. +username: + required: true + type: string + description: Your Deluge username, if you use authentication. +password: + required: true + type: string + description: Your Deluge password, if you use authentication. +port: + required: false + type: integer + default: 58846 + description: "The port your Deluge daemon uses. (Warning: This is not the port of the WebUI.)" +name: + required: false + type: string + default: Deluge Switch + description: The name to use when displaying this Deluge instance. +{% endconfiguration %} From 78384bc7cdcea44166ae5428a664d6279b072cff Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 13 Oct 2018 21:55:47 +0200 Subject: [PATCH 184/217] Fix Yi camera component configuration variable (#6760) --- source/_components/camera.yi.markdown | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/_components/camera.yi.markdown b/source/_components/camera.yi.markdown index 19faa147f80..dada5b76b48 100644 --- a/source/_components/camera.yi.markdown +++ b/source/_components/camera.yi.markdown @@ -65,8 +65,6 @@ camera: password: my_password_123 ``` -Configuration variables: - {% configuration %} name: description: A human-friendly name for the camera. From fbca47dfa514edbb8c12b9b8e892cf6aab61943d Mon Sep 17 00:00:00 2001 From: cgtobi Date: Sat, 13 Oct 2018 21:56:01 +0200 Subject: [PATCH 185/217] Fix transmission switch configuration (#6755) * Fix transmission switch configuration * Minor change --- .../_components/switch.transmission.markdown | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/source/_components/switch.transmission.markdown b/source/_components/switch.transmission.markdown index 888f1470a0d..cf7db2f2f32 100644 --- a/source/_components/switch.transmission.markdown +++ b/source/_components/switch.transmission.markdown @@ -25,11 +25,27 @@ switch: host: IP_ADDRESS ``` -Configuration variables: - -- **host** (*Required*): This is the IP address of your Transmission daemon, eg. 192.168.1.32. -- **port** (*Optional*): The port your Transmission daemon uses, defaults to 9091. -- **name** (*Optional*): The name to use when displaying this Transmission instance. -- **username** (*Optional*): Your Transmission username, if you use authentication. -- **password** (*Optional*): Your Transmission password, if you use authentication. - +{% configuration %} +host: + required: true + type: string + description: This is the IP address of your Transmission daemon, e.g., 192.168.1.32. +port: + required: false + type: integer + default: 9091 + description: The port your Transmission daemon uses. +name: + required: false + type: string + default: Transmission Turtle Mode + description: The name to use when displaying this Transmission instance. +username: + required: false + type: string + description: Your Transmission username, if you use authentication. +password: + required: false + type: string + description: Your Transmission password, if you use authentication. +{% endconfiguration %} From 1599305a7b0551f4dd1dfaab1a9fb4c57e95fd6d Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 13 Oct 2018 21:56:12 +0200 Subject: [PATCH 186/217] Update Skybell switch component configuration variable (#6757) * Update Skybell switch component configuration variable * Remove old content --- source/_components/switch.skybell.markdown | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/source/_components/switch.skybell.markdown b/source/_components/switch.skybell.markdown index 632f5d770c9..8bf27738c33 100644 --- a/source/_components/switch.skybell.markdown +++ b/source/_components/switch.skybell.markdown @@ -28,8 +28,14 @@ switch: - motion_sensor ``` -Configuration variables: - -- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored. - - **do_not_disturb**: Control the state of your doorbells indoor chime. - - **motion_sensor**: Control the state of your doorbells motion sensor. +{% configuration %} +monitored_conditions: + description: Conditions to display in the frontend. + required: true + type: list + keys: + do_not_disturb: + description: Control the state of your doorbells indoor chime. + motion_sensor: + description: Control the state of your doorbells motion sensor. +{% endconfiguration %} From 9d13c99849b109f2e8dc99d67e3bb1462fa8ad4b Mon Sep 17 00:00:00 2001 From: Nicholas Westerhausen Date: Sat, 13 Oct 2018 16:30:15 -0400 Subject: [PATCH 187/217] dovado sensor configuration variable format (#6700) * Update configuration variable for dovado Update configuration variable format. Remove two optional configurations from the example configuration. Section underneath configuration variable has a list of allowed values for the *sensors* array there. I am not sure how to describe this using the configuration block format. Possibly related to home-assistant/developers.home-assistant/issues/107 * Change format of accepted keys Change format of accepted keys to pattern seen in other components. Move additional information about the component (registering an SMS notifier) up to the top of the document. * Minor changes --- source/_components/sensor.dovado.markdown | 53 +++++++++++++++-------- 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/source/_components/sensor.dovado.markdown b/source/_components/sensor.dovado.markdown index bbbd0bae3c5..d862ef3fef3 100644 --- a/source/_components/sensor.dovado.markdown +++ b/source/_components/sensor.dovado.markdown @@ -13,7 +13,7 @@ ha_release: 0.32 ha_iot_class: "Local Polling" --- -The `dovado` platform let you monitor your router from [Dovado](http://www.dovado.com/) +The `dovado` platform let you monitor your router from [Dovado](http://www.dovado.com/). If the router provides SMS functionality, a service for sending SMS will also be registered in Home Assistant. To add a Dovado sensor to your installation, add the following to your `configuration.yaml` file: @@ -23,23 +23,42 @@ sensor: - platform: dovado username: YOUR_USERNAME password: YOUR_PASSWORD - host: IP_ADDRESS - port: PORT sensors: - network ``` -Configuration variables: - -- **username** (*Required*): Your username. -- **password** (*Required*): Your password. -- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`. If no host is provided, the gateway for the same network as Home Assistant will automatically be used. -- **port** (*Optional*): The port number of your router, e.g., `999`. If no port is provided, the default API port (6435) will be used. -- **sensors** array (*Required*): Conditions to display in the frontend. - - **network**: Network state (3G, 4G, etc). - - **signal**: The signal strength (%). - - **download**: The download speed. - - **upload**: The upload speed. - - **sms**: Number of unread text messages - -If the router provides SMS functionality, a service for sending SMS will also be registered in Home Assistant. +{% configuration %} +username: + description: Your Dovado username. + required: true + type: string +password: + description: Your Dovado password. + required: true + type: string +host: + description: The IP address of your router. + required: false + type: string + default: Home Assistant's default gateway +port: + description: The port number of your router. + required: false + type: integer + default: 6435 +sensors: + description: Conditions to display in the frontend. Only accepts the values listed here. + required: true + type: list + keys: + network: + description: Creates a sensor for Network State (3G, 4G, etc.). + signal: + description: Creates a sensor for the signal strength. + download: + description: Creates a sensor for download speed. + upload: + description: Creates a sensor for download speed. + sms: + description: Creates a sensor for number of unread text messages. +{% endconfiguration %} From 40a74d48afede096cdb7bb8f1e4eba5d50f85fd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Bun=C4=8Di=C4=87?= Date: Sat, 13 Oct 2018 22:33:13 +0200 Subject: [PATCH 188/217] Added ssl and verify_ssl parameters in ddwrt device tracker component (#6750) * Added ssl and verify_ssl parameters in ddwrt device tracker component * Minor updates --- source/_components/device_tracker.ddwrt.markdown | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/_components/device_tracker.ddwrt.markdown b/source/_components/device_tracker.ddwrt.markdown index 01e1c68ce5e..d4bb1a028b6 100644 --- a/source/_components/device_tracker.ddwrt.markdown +++ b/source/_components/device_tracker.ddwrt.markdown @@ -38,6 +38,16 @@ password: description: The password for your given admin account. required: true type: string +ssl: + description: Whether to connect via HTTPS. + required: false + type: boolean + default: false +verify_ssl: + description: If SSL/TLS verification for HTTPS resources needs to be turned off (for self-signed certs, etc.) + required: false + type: boolean + default: true {% endconfiguration %} By default Home Assistant pulls information about connected devices from DD-WRT every 5 seconds. From d488fcaf84df094946a45e2fea91a87ddb208d8f Mon Sep 17 00:00:00 2001 From: Fredrik Baberg Date: Sat, 13 Oct 2018 23:02:33 +0200 Subject: [PATCH 189/217] Update Vagrant Windows instructions, including Hyper-V. (#6589) * Update Windows instructions, including Hyper-V. * :pencil2: Tweak --- source/_docs/installation/vagrant.markdown | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/source/_docs/installation/vagrant.markdown b/source/_docs/installation/vagrant.markdown index 66b48d09cb1..c48a9606b3f 100644 --- a/source/_docs/installation/vagrant.markdown +++ b/source/_docs/installation/vagrant.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /getting-started/installation-vagrant/ --- -A `Vagrantfile` is available into `virtualization/vagrant` folder for quickly spinning up a Linux virtual machine running Home Assistant. This can be beneficial for those who want to experiment with Home Assistant and/or developers willing to easily test local changes and run test suite against them. In the same `virtualization/vagrant` folder there's also a `provision.sh` shell script which provides an easy way to interact with the Home Assistant instance running within the Vagrant VM. +A `Vagrantfile` is available into `virtualization/vagrant` folder for quickly spinning up a Linux virtual machine running Home Assistant. This can be beneficial for those who want to experiment with Home Assistant and/or developers willing to easily test local changes and run test suite against them. In the same `virtualization/vagrant` folder there's also a `provision.sh` shell script which provides an easy way to interact with the Home Assistant instance running within the Vagrant VM. For Windows, use the batch script `provision.bat`.

Vagrant is intended for testing/development only. It is NOT recommended for permanent installations. @@ -20,6 +20,8 @@ Vagrant is intended for testing/development only. It is NOT recommended for perm You must have [Vagrant](https://www.vagrantup.com/downloads.html) and [Virtualbox](https://www.virtualbox.org/wiki/Downloads) installed on your workstation. Vagrant and Virtualbox support all the main platforms, including Windows, MacOS and Linux. +Limited support is available for Hyper-V on Windows, see below. + ## {% linkable_title Get Home Assistant source code %} Download the Home Assistant source code by either downloading the .zip file from [GitHub releases page](https://github.com/home-assistant/home-assistant/releases) or by using [Git](https://git-scm.com/) @@ -98,3 +100,15 @@ To completely remove the VM **and** setup a fresh new environment: ```bash $ ./provision.sh recreate ``` + +## {% linkable_title Windows %} + +On Windows, Vagrant is launched through an elevated `PowerShell`. Use the batch script `provision.bat` instead of the shell script `provision.sh`. + +## {% linkable_title Hyper-V %} + +It is possible to use Hyper-V instead of Virtualbox on Windows, with some limitations. + +Samba is used for the virtual machine to access files, for which the Windows credentials are needed when the machine is created. +As Hyper-V does not allow for port forwarding, NAT is used by default for the network. Through creating an external network switch in Hyper-V it is possible to access the machine on the network. +The IP address is visible on creation, and through the Hyper-V manager. From 4a43b29d4772c06d8b3f5ba3c5bf6d9198765331 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 13 Oct 2018 23:02:51 +0200 Subject: [PATCH 190/217] Update Tellstick component configuration variable (#6762) * Update Tellstick component configuration variable * Minor changes --- source/_components/tellstick.markdown | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/source/_components/tellstick.markdown b/source/_components/tellstick.markdown index 4f9e03870dd..232fd9e1525 100644 --- a/source/_components/tellstick.markdown +++ b/source/_components/tellstick.markdown @@ -14,6 +14,8 @@ ha_category: Hub The `tellstick` component integrates [TellStick](http://www.telldus.se/products/tellstick) devices into Home Assistant. This integration allows users to add switches, lights, and sensors which are communicating with 433 MHz. There are a number of vendors (Capidi Elro, Intertechno, Nexa, Proove, Sartano, and Viking) who are selling products that work with TellStick. For more details, please check the TellStick [protocol list](http://developer.telldus.com/wiki/TellStick_conf). +## {% linkable_title Configuration %} + To get started, add the devices to your `configuration.yaml` file. ```yaml @@ -22,14 +24,23 @@ tellstick: ``` ```yaml -# Example configuration.yaml entry for hass.io with TellStick add-on +# Example configuration.yaml entry for Hass.io with the TellStick add-on tellstick: host: core-tellstick port: [50800, 50801] ``` -Configuration variables: - -- **signal_repetitions** (*Optional*): Because the tellstick sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch and light to try to send each signal repeatedly. -- **host** (*Optional*): If you run tellstick on another server or with a hass.io add-on. -- **port** (*Optional*): If needed with host config option. Must be port pair, for example `[50800, 50801]`. +{% configuration %} +signal_repetitions: + description: Because the TellStick sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch and light to try to send each signal repeatedly. + required: false + type: integer +host: + description: If you run TellStick on another server or with the Hass.io add-on. + required: inclusive + type: string +port: + description: Needed with the `host` configuration variable. Must be port pair, for example `[50800, 50801]`. + required: inclusive + type: list +{% endconfiguration %} From e9c4c36f78fb7093e43d9ab5fab739ac360971a8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 13 Oct 2018 23:04:27 +0200 Subject: [PATCH 191/217] Minor changes (#6761) * Minor changes * Remove char --- source/_components/android_ip_webcam.markdown | 51 ++++++++++--------- source/_components/notify.aws_lambda.markdown | 14 +++-- source/_components/notify.aws_sns.markdown | 12 +++-- source/_components/notify.aws_sqs.markdown | 12 +++-- source/_components/sensor.rest.markdown | 2 +- source/_components/sensor.uptime.markdown | 2 +- source/_components/tts.amazon_polly.markdown | 22 +++++--- 7 files changed, 72 insertions(+), 43 deletions(-) diff --git a/source/_components/android_ip_webcam.markdown b/source/_components/android_ip_webcam.markdown index a16ca91b979..bc6c493324a 100644 --- a/source/_components/android_ip_webcam.markdown +++ b/source/_components/android_ip_webcam.markdown @@ -17,7 +17,13 @@ The `android_ip_webcam` component turns an Android phone into a network camera w It's setup as an MJPEG camera and all settings as switches inside of Home Assistant. You can also expose the sensors. If you have multiple phones, you can use all options inside a list. -To set it up, download [the IP Webcam app][app], and add the following information to your `configuration.yaml` file: +## {% linkable_title Setup %} + +Download [the IP Webcam app](https://play.google.com/store/apps/details?id=com.pas.webcam) and launch the app. You will be able to the IP address of the device. + +## {% linkable_title Configuration %} + +To set it up the component, add the following information to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -27,7 +33,7 @@ android_ip_webcam: {% configuration %} host: - description: The IP Address of the phone on the network. + description: The IP address of the phone on the network. required: true type: string port: @@ -59,50 +65,50 @@ sensors: type: list keys: audio_connections: - description: Audio Connections + description: The audio connections battery_level: - description: Battery Level + description: The battery level battery_temp: - description: Battery Temperature + description: The battery temperature battery_voltage: - description: Battery Voltage + description: The battery voltage light: - description: Light Level + description: The light level motion: - description: Motion + description: Motion detection pressure: - description: Pressure + description: The current pressure proximity: - description: Proximity + description: The proximity sound: - description: Sound + description: The sound detection video_connections: - description: Video Connections + description: The video connections switches: description: Conditions to display settings in the frontend. See the list of supported switches. required: false type: list keys: exposure_lock: - description: Exposure Lock + description: Control the exposure lock ffc: - description: Front-facing Camera + description: Control the front-facing camera. focus: - description: Focus + description: Control the focus. gps_active: - description: GPS Active + description: Control the GPS. night_vision: - description: Night Vision + description: Control the night vision. overlay: - description: Overlay + description: Control the overlay. torch: - description: Torch + description: Control the torch. whitebalance_lock: - description: White Balance Lock + description: Control the white balance lock. video_recording: - description: Video Recording + description: Control the video recording. motion_sensor: - description: Activate motion sensor if auto_discovery is disabled. + description: Activate motion sensor if `auto_discovery` is disabled. required: false type: boolean {% endconfiguration %} @@ -147,4 +153,3 @@ android_ip_webcam: - torch ``` -[app]: https://play.google.com/store/apps/details?id=com.pas.webcam diff --git a/source/_components/notify.aws_lambda.markdown b/source/_components/notify.aws_lambda.markdown index be5a5494caa..ef3c5f1d841 100644 --- a/source/_components/notify.aws_lambda.markdown +++ b/source/_components/notify.aws_lambda.markdown @@ -14,9 +14,13 @@ ha_release: "0.20" The `aws_lambda` notification platform enables invoking [AWS Lambda](https://aws.amazon.com/lambda/) functions. -To use this notification platform in your installation, add the following to your `configuration.yaml` file: +## {% linkable_title Setup %} -### Configuration +For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html) to get the needed details. Also, check the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) about the profiles and the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions. + +## {% linkable_title Configuration %} + +To use this notification platform in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -30,9 +34,9 @@ notify: Configuration variables: -- **aws_access_key_id** (*Required if aws_secret_access_key is provided*): Your AWS Access Key ID. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`. -- **aws_secret_access_key** (*Required if aws_access_key_id is provided*): Your AWS Secret Access Key. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`. -- **profile_name** (*Optional*): A credentials profile name. For more information, please see the [boto3 documentation section about credentials](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file). +- **aws_access_key_id** (*Required if aws_secret_access_key is provided*): Your AWS Access Key ID. If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`. +- **aws_secret_access_key** (*Required if aws_access_key_id is provided*): Your AWS Secret Access Key. If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`. +- **profile_name** (*Optional*): A credentials profile name. - **region_name** (*Required*): The region identifier to connect to. The default is `us-east-1`. - **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. - **context** (*Optional*): An optional dictionary you can provide to pass custom context through to the Lambda function. The `context` dictionary (if any) is combined with the same data available at the `/api/config` HTTP API route. diff --git a/source/_components/notify.aws_sns.markdown b/source/_components/notify.aws_sns.markdown index cfa69e00843..2903fbfcaa5 100644 --- a/source/_components/notify.aws_sns.markdown +++ b/source/_components/notify.aws_sns.markdown @@ -14,6 +14,12 @@ ha_release: "0.20" The `aws_sns` notification platform enables publishing to an [AWS SNS](https://aws.amazon.com/sns/) topic or application. +## {% linkable_title Setup %} + +For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html) to get the needed details. Also, check the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) about the profiles and the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions. + +## {% linkable_title Configuration %} + To use this notification platform in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -28,9 +34,9 @@ notify: Configuration variables: -- **aws_access_key_id** (*Required if aws_secret_access_key is provided*): Your AWS Access Key ID. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`. -- **aws_secret_access_key** (*Required if aws_access_key_id is provided*): Your AWS Secret Access Key. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`. -- **profile_name** (*Optional*): A credentials profile name. For more information, please see the [boto3 documentation section about credentials](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file). +- **aws_access_key_id** (*Required if aws_secret_access_key is provided*): Your AWS Access Key ID. If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`. +- **aws_secret_access_key** (*Required if aws_access_key_id is provided*): Your AWS Secret Access Key. If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`. +- **profile_name** (*Optional*): A credentials profile name. - **region_name** (*Required*): The region identifier to connect to. The default is `us-east-1`. - **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. diff --git a/source/_components/notify.aws_sqs.markdown b/source/_components/notify.aws_sqs.markdown index a1e8a33f8bd..6aa9288f7bf 100644 --- a/source/_components/notify.aws_sqs.markdown +++ b/source/_components/notify.aws_sqs.markdown @@ -14,6 +14,12 @@ ha_release: "0.20" The `aws_sqs` notification platform enables publishing to an [AWS SQS](https://aws.amazon.com/sqs/) message queue. +## {% linkable_title Setup %} + +For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html) to get the needed details. Also, check the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) about the profiles and the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions. + +## {% linkable_title Configuration %} + To use this notification platform in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -28,9 +34,9 @@ notify: Configuration variables: -- **aws_access_key_id** (*Required if aws_secret_access_key is provided*): Your AWS Access Key ID. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`. -- **aws_secret_access_key** (*Required if aws_access_key_id is provided*): Your AWS Secret Access Key. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`. -- **profile_name** (*Optional*): A credentials profile name. For more information, please see the [boto3 documentation section about credentials](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file). +- **aws_access_key_id** (*Required if aws_secret_access_key is provided*): Your AWS Access Key ID. If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`. +- **aws_secret_access_key** (*Required if aws_access_key_id is provided*): Your AWS Secret Access Key. If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`. +- **profile_name** (*Optional*): A credentials profile name. - **region_name** (*Required*): The region identifier to connect to. The default is `us-east-1`. - **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. diff --git a/source/_components/sensor.rest.markdown b/source/_components/sensor.rest.markdown index 7e756ce6a3d..bae594e5f4a 100644 --- a/source/_components/sensor.rest.markdown +++ b/source/_components/sensor.rest.markdown @@ -43,7 +43,7 @@ resource: type: string default: string method: - description: The method of the request. + description: The method of the request. Either `POST` or `GET`. required: false type: string default: GET diff --git a/source/_components/sensor.uptime.markdown b/source/_components/sensor.uptime.markdown index c55011e0cff..a4b3a97f585 100644 --- a/source/_components/sensor.uptime.markdown +++ b/source/_components/sensor.uptime.markdown @@ -34,7 +34,7 @@ name: type: string default: Uptime unit_of_measurement: - description: "Units for uptime measurement in either `days`, `hours`, or `minutes`." + description: "Units for uptime measurement in either `days`, `hours` or `minutes`." required: false type: string default: days diff --git a/source/_components/tts.amazon_polly.markdown b/source/_components/tts.amazon_polly.markdown index 8be1fdc0a5e..9dfa1b7e813 100644 --- a/source/_components/tts.amazon_polly.markdown +++ b/source/_components/tts.amazon_polly.markdown @@ -15,6 +15,12 @@ ha_release: 0.37 The `amazon_polly` text-to-speech platform that works with [Amazon Polly](https://aws.amazon.com/polly/) to create the spoken output. Polly is a paid service via Amazon Web Services. There is a [free tier](https://aws.amazon.com/polly/pricing/) for the first 12 months and then a charge per million characters afterwards. +## {% linkable_title Setup %} + +For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html) to get the needed details. Also, check the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) about the profiles and the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions. + +Available voices are listed in the [Amazon Documentation](http://docs.aws.amazon.com/polly/latest/dg/voicelist.html). + ## {% linkable_title Configuration %} To get started, add the following lines to your `configuration.yaml` (example for Amazon Polly): @@ -29,21 +35,22 @@ tts: {% configuration %} aws_access_key_id: - description: "Your AWS Access Key ID. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`." + description: "Your AWS Access Key ID. If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`." required: true type: string aws_secret_access_key: - description: "Your AWS Secret Access Key. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`." + description: "Your AWS Secret Access Key. If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`." required: true type: string profile_name: - description: A credentials profile name. For more information, please see the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) for more information. + description: A credentials profile name. required: false type: string region_name: - description: "The region identifier to connect to. The default is `us-east-1`. See the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions." + description: The region identifier to connect to. required: false type: string or list + default: us-east-1 name: description: "Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`." required: false @@ -54,18 +61,19 @@ text_type: type: string default: text voice: - description: "Voice name to be used. See the [Amazon Documentation](http://docs.aws.amazon.com/polly/latest/dg/voicelist.html) for available voices." + description: Voice name to be used. required: false type: string output_format: - description: "Override the default output format, e.g., `mp3`, `ogg_vorbis` or `pcm`." + description: "Override the default output format. Either `mp3`, `ogg_vorbis` or `pcm`." required: false type: string default: mp3 sample_rate: - description: "Override the default sample rate, defaults to 22050 for MP3 and Ogg Vorbis, 16000 for pcm." + description: "Override the default sample rate." required: false type: string + default: 22050 for MP3 and Ogg Vorbis, 16000 for pcm {% endconfiguration %} From 5fed8d57cd47db4da24b6e053c54eac4b774cf60 Mon Sep 17 00:00:00 2001 From: William Scanlon Date: Sat, 13 Oct 2018 17:37:40 -0400 Subject: [PATCH 192/217] Added water heater doc and moved econet to water heater (#6676) * Added water heater doc and moved econet to water heater * Fixed services and added redirect * Fix redirect and typos --- ....markdown => water_heater.econet.markdown} | 25 ++-- source/_components/water_heater.markdown | 120 ++++++++++++++++++ 2 files changed, 134 insertions(+), 11 deletions(-) rename source/_components/{climate.econet.markdown => water_heater.econet.markdown} (60%) create mode 100644 source/_components/water_heater.markdown diff --git a/source/_components/climate.econet.markdown b/source/_components/water_heater.econet.markdown similarity index 60% rename from source/_components/climate.econet.markdown rename to source/_components/water_heater.econet.markdown index 704c6ebf0ee..5ac129c4c38 100644 --- a/source/_components/climate.econet.markdown +++ b/source/_components/water_heater.econet.markdown @@ -8,20 +8,22 @@ comments: false sharing: true footer: true logo: econet.png -ha_category: Climate +ha_category: Water heater ha_release: 0.61.0 ha_iot_class: "Cloud Polling" +redirect_from: /components/climate.econet/ --- -The `econet` water heater platform is consuming the information provided by a [EcoNet enabled Rheem water heater](http://www.rheem.com/EcoNet/Home). This component allows you to set the temperature, the operation mode, and enable vaction mode. +The `econet` water heater platform is consuming the information provided by a [EcoNet enabled Rheem water heater](http://www.rheem.com/EcoNet/Home). This platform allows you to set the temperature, the operation mode, and enable vaction mode. -To enable the `econet` water heater platform add the following to your config. +## {% linkable_title Configuration %} +To enable the `econet` water heater platform, add the following information to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry -climate: +water_heater: - platform: econet username: YOUR_ECONET_EMAIL password: YOUR_ECONET_PASSWORD @@ -38,10 +40,9 @@ password: type: string {% endconfiguration %} +### {% linkable_title Service `econet.add_vacation` %} -### {% linkable_title Service `econet_add_vacation` %} - -You can use the service econet/add_vacation to create a new vacation for your EcoNet water heaters. +You can use the service `econet.add_vacation` to create a new vacation for your EcoNet water heaters. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | @@ -50,15 +51,17 @@ You can use the service econet/add_vacation to create a new vacation for your Ec | `end_date` | yes | this is a Unix timestamp for when the vaction should end.

-The Unix timestamps can be obtained from the input_datetime component. This will allow you to graphically set the start and end date. +The Unix timestamps can be obtained from the `input_datetime` component. This will allow you to graphically set the start and end date.

-### {% linkable_title Service `econet_delete_vacation` %} +### {% linkable_title Service `econet.delete_vacation` %} -You can use the service econet/delete_vacation to remove all vactions from an EcoNet water heater. +You can use the service `econet.delete_vacation` to remove all vactions from an EcoNet water heater. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `entity_id` | yes | The entity id of the water heater to remove the vaction from. - +

+Econet water heaters use to live under the `climate` platform prior to release 0.81. +

diff --git a/source/_components/water_heater.markdown b/source/_components/water_heater.markdown new file mode 100644 index 00000000000..56917dcc57b --- /dev/null +++ b/source/_components/water_heater.markdown @@ -0,0 +1,120 @@ +--- +layout: page +title: "Water Heater" +description: "Instructions on how to setup water heater devices within Home Assistant." +date: 2018-10-10 19:00 +sidebar: true +comments: false +sharing: true +footer: true +--- + + +The `water_heater` component is built for the controlling and monitoring of hot water heaters. + +To enable this component, pick one of the platforms, and add it to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +water_heater: + platform: demo +``` + +## {% linkable_title Services %} + +### {% linkable_title Water heater control services %} +Available services: `water_heater.set_temperature`, `water_heater.turn_away_mode_on`, `water_heater.turn_away_mode_off`, `water_heater.set_operation_mode` + +

+Not all water heater services may be available for your platform. Be sure to check the available services Home Assistant has enabled by checking service developer tool icon **Services**. +

+ +### {% linkable_title Service `water_heater.set_temperature` %} + +Set target temperature of water heater device + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`'s of water heater devices to control. Else targets all. +| `temperature` | no | New target temperature for water heater +| `operation_mode` | yes | Operation mode to set temperature to. This defaults to current_operation mode if not set, or set incorrectly. + +#### {% linkable_title Automation example %} + +```yaml +automation: + trigger: + platform: time + at: "07:15:00" + action: + - service: water_heater.set_temperature + data: + entity_id: water_heater.demo + temperature: 24 + operation_mode: eco +``` + +### {% linkable_title Service `water_heater.set_operation_mode` %} + +Set operation mode for water heater device + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`'s of water heater devices to control. Else targets all. +| `operation_mode` | no | New value of operation mode + +#### {% linkable_title Automation example %} + +```yaml +automation: + trigger: + platform: time + at: "07:15:00" + action: + - service: water_heater.set_operation_mode + data: + entity_id: water_heater.demo + operation_mode: eco +``` + +### {% linkable_title Service `water_heater.turn_away_mode_on` %} + +Turn away mode on for water heater device + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`'s of water heater devices to control. Else targets all. + +#### {% linkable_title Automation example %} + +```yaml +automation: + trigger: + platform: time + at: "07:15:00" + action: + - service: water_heater.turn_away_mode_on + data: + entity_id: water_heater.demo +``` + +### {% linkable_title Service `water_heater.turn_away_mode_off` %} + +Trun away mode off for water heater device + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`'s of water heater devices to control. Else targets all. + +#### {% linkable_title Automation example %} + +```yaml +automation: + trigger: + platform: time + at: "07:15:00" + action: + - service: water_heater.turn_away_mode_off + data: + entity_id: water_heater.demo +``` \ No newline at end of file From c657851de1db20e4973475fbc9f15cea1966eb5c Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 13 Oct 2018 23:49:07 +0200 Subject: [PATCH 193/217] Update Splunk component configuration variable (#6764) * Update Splunk component configuration variable * Minor changes --- source/_components/splunk.markdown | 33 +++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/source/_components/splunk.markdown b/source/_components/splunk.markdown index 274bbbad758..06eefe86577 100644 --- a/source/_components/splunk.markdown +++ b/source/_components/splunk.markdown @@ -22,10 +22,29 @@ splunk: token: B4415DFF-683C-5C6C-3994-4F6D4A5DB03A ``` -Configuration variables: - -- **token** (*Required*): The HTTP Event Collector Token already created in your Splunk instance. -- **host** (*Optional*): IP address or host name of your Splunk host, eg. 192.168.1.10. Will default to `localhost` if not supplied. -- **port** (*Optional*): Port to use. Defaults to 8088. -- **ssl** (*Optional*): Use https instead of http to connect. Defaults to False. -- **name** (*Optional*): This parameter allows you to specify a friendly to send to Splunk as the host, instead of using the name of the HEC. Defaults to HASS +{% configuration %} +token: + description: The HTTP Event Collector Token already created in your Splunk instance. + required: true + type: string +host: + description: "IP address or host name of your Splunk host e.g., 192.168.1.10." + required: false + default: localhost + type: string +port: + description: Port to use. + required: false + default: 8080 + type: integer +ssl: + description: Use HTTPS instead of HTTP to connect. + required: false + default: false + type: boolean +name: + description: This parameter allows you to specify a friendly name to send to Splunk as the host, instead of using the name of the HEC. + required: false + default: HASS + type: string +{% endconfiguration %} From 66689c908f1e180690142706630607d6db08926c Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 14 Oct 2018 08:51:57 +0200 Subject: [PATCH 194/217] Update Twilio component configuration variable (#6758) --- source/_components/notify.twilio_call.markdown | 15 +++++++++++---- source/_components/notify.twilio_sms.markdown | 15 +++++++++++---- source/_components/twilio.markdown | 14 ++++++++++---- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/source/_components/notify.twilio_call.markdown b/source/_components/notify.twilio_call.markdown index 7f0fa2a989e..3733c6ef33f 100644 --- a/source/_components/notify.twilio_call.markdown +++ b/source/_components/notify.twilio_call.markdown @@ -27,10 +27,17 @@ notify: from_number: E164_PHONE_NUMBER ``` -Configuration variables: - -- **from_number** (*Required*): An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like +14151234567. See [Twilio's guide to formatting phone numbers](https://www.twilio.com/help/faq/phone-numbers/how-do-i-format-phone-numbers-to-work-internationally) for more information. -- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. +{% configuration %} +from_number: + description: "An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like +14151234567. See [Twilio's guide to formatting phone numbers](https://www.twilio.com/help/faq/phone-numbers/how-do-i-format-phone-numbers-to-work-internationally) for more information." + required: true + type: string +name: + description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. + required: false + default: "`notify`" + type: string +{% endconfiguration %} ### {% linkable_title Usage %} diff --git a/source/_components/notify.twilio_sms.markdown b/source/_components/notify.twilio_sms.markdown index 7cec94cf339..162b34b34e8 100644 --- a/source/_components/notify.twilio_sms.markdown +++ b/source/_components/notify.twilio_sms.markdown @@ -26,10 +26,17 @@ notify: from_number: E164_PHONE_NUMBER ``` -Configuration variables: - -- **from_number** (*Required*): An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like +14151234567. See [Twilio's guide to formatting phone numbers](https://www.twilio.com/help/faq/phone-numbers/how-do-i-format-phone-numbers-to-work-internationally) for more information. -- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. +{% configuration %} +from_number: + description: An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like +14151234567. See [Twilio's guide to formatting phone numbers](https://www.twilio.com/help/faq/phone-numbers/how-do-i-format-phone-numbers-to-work-internationally) for more information. + required: true + type: string +name: + description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. + required: false + default: "`notify`" + type: string +{% endconfiguration %} ### {% linkable_title Usage %} diff --git a/source/_components/twilio.markdown b/source/_components/twilio.markdown index ed3752a9e25..f92ee5ab670 100644 --- a/source/_components/twilio.markdown +++ b/source/_components/twilio.markdown @@ -26,10 +26,16 @@ twilio: auth_token: AUTH_TOKEN_FROM_TWILIO ``` -Configuration variables: - -- **account_sid** (*Required*): Your Twilio Account SID which can be found in your [console](https://www.twilio.com/console). It starts with the letters `AC`. -- **auth_token** (*Required*): Your Twilio AUTH TOKEN which can be found in your [console](https://www.twilio.com/console). It should be directly under where you found the `account_sid`. +{% configuration %} +account_sid: + description: "Your Twilio Account SID which can be found in your [console](https://www.twilio.com/console). It starts with the letters `AC`." + required: true + type: string +auth_token: + description: "Your Twilio AUTH TOKEN which can be found in your [console](https://www.twilio.com/console). It should be directly under where you found the `account_sid`." + required: true + type: string +{% endconfiguration %} ### {% linkable_title Usage %} After configuring the base Twilio component, add and configure either or both of the [twilio SMS](/components/notify.twilio_sms/) and [twilio Phone](/components/notify.twilio_call) components to utilize the notification functionality. From bf5f49d47b4d7817668737129506e82a9dfdcbad Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 14 Oct 2018 08:53:25 +0200 Subject: [PATCH 195/217] Update Met Office component configuration variable (#6763) --- source/_components/sensor.metoffice.markdown | 65 +++++++++++++------ source/_components/weather.metoffice.markdown | 22 ++++++- 2 files changed, 65 insertions(+), 22 deletions(-) diff --git a/source/_components/sensor.metoffice.markdown b/source/_components/sensor.metoffice.markdown index 38447940de0..de9f1eca3dc 100644 --- a/source/_components/sensor.metoffice.markdown +++ b/source/_components/sensor.metoffice.markdown @@ -41,27 +41,54 @@ sensor: Your location will be detected from your home `latitude` and `longitude` settings. -Configuration variables: - -- **api_key** (*Required*): Your personal API key from the [Datapoint website](https://www.metoffice.gov.uk/datapoint). -- **name** (*Optional*): Additional name for the sensors. Default to platform name. -- **latitude** (*Optional*): Latitude coordinate to monitor weather of (required if **longitude** is specified), defaults to coordinates defined in your `configuration.yaml`. -- **longitude** (*Optional*): Longitude coordinate to monitor weather of (required if **latitude** is specified), defaults to coordinates defined in your `configuration.yaml`. -- **monitored_conditions** array (*Required*): Conditions to display in the frontend. - - **weather**: A human-readable text summary of the current conditions. - - **temperature**: The current temperature. - - **feels_like_temperature**: A numerical value representing the apparent (or "feels like") temperature. - - **wind_speed**: The wind speed. - - **wind_direction**: Where the wind is coming from. - - **wind_gust**: If there are wind gusts. - - **visibility**: The average visibility. - - **visibility_distance**: The visibility distance. - - **uv**: The UV index. - - **precipitation**: The average expected intensity of precipitation occurring. - - **humidity**: The relative humidity. +{% configuration %} +api_key: + description: "Your personal API key from the [Datapoint website](https://www.metoffice.gov.uk/datapoint)." + required: true + type: string +name: + description: Additional name for the sensors. + required: false + defaults: Met Office + type: string +latitude: + description: "Latitude coordinate to monitor weather of (required if **longitude** is specified), defaults to coordinates defined in your `configuration.yaml`." + required: inclusive + type: float +longitude: + description: "Longitude coordinate to monitor weather of (required if **latitude** is specified), defaults to coordinates defined in your `configuration.yaml`." + required: inclusive + type: float +monitored_conditions: + description: Conditions to display in the frontend. + required: true + type: list + keys: + weather: + description: A human-readable text summary of the current conditions. + temperature: + description: The current temperature. + feels_like_temperature: + description: A numerical value representing the apparent (or "feels like") temperature. + wind_speed: + description: The wind speed. + wind_direction: + description: Where the wind is coming from. + wind_gust: + description: If there are wind gusts. + visibility: + description: The average visibility. + visibility_distance: + description: The visibility distance. + uv: + description: The UV index. + precipitation: + description: The average expected intensity of precipitation occurring. + humidity: + description: The relative humidity. +{% endconfiguration %}

This sensor is an alternative to the [`metoffice`](/components/weather.metoffice/) weather platform. The weather platform is easier to configure but less customizable.

- diff --git a/source/_components/weather.metoffice.markdown b/source/_components/weather.metoffice.markdown index df624d2a9ca..1d38510de48 100644 --- a/source/_components/weather.metoffice.markdown +++ b/source/_components/weather.metoffice.markdown @@ -26,9 +26,25 @@ weather: api_key: YOUR_API_KEY ``` -Configuration variables: - -- **api_key** (*Required*): Your personal API key from the [Datapoint website](http://www.metoffice.gov.uk/datapoint). +{% configuration %} +api_key: + description: "Your personal API key from the [Datapoint website](http://www.metoffice.gov.uk/datapoint)." + required: true + type: string +name: + description: Additional name for the weather component in Home Assistant. + required: false + default: Met Office + type: string +latitude: + description: "Latitude coordinate to monitor weather of (required if **longitude** is specified), defaults to coordinates defined in your `configuration.yaml`." + required: inclusive + type: float +longitude: + description: "Longitude coordinate to monitor weather of (required if **latitude** is specified), defaults to coordinates defined in your `configuration.yaml`." + required: inclusive + type: float +{% endconfiguration %}

This platform is an alternative to the [`metoffice`](/components/sensor.metoffice/) sensor. From 2840f5729eee1d37d0cec7f8922492eb4a4bc981 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 14 Oct 2018 08:55:22 +0200 Subject: [PATCH 196/217] Update Honeywell climate component configuration variable (#6765) --- source/_components/climate.honeywell.markdown | 44 +++++++++++++++---- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/source/_components/climate.honeywell.markdown b/source/_components/climate.honeywell.markdown index 64270441aac..bb174d8f5c8 100644 --- a/source/_components/climate.honeywell.markdown +++ b/source/_components/climate.honeywell.markdown @@ -33,12 +33,38 @@ climate: Scan interval is expressed in seconds. Omitting scan_interval may result in too-frequent polling and cause you to rate-limited by Honeywell.

-Configuration variables: - -- **username** (*Required*): The username of an user with access. -- **password** (*Required*): The password for your given admin account. -- **region** (*Optional*): Region identifier (either 'eu' or 'us'). Defaults to 'eu' if not provided. -- **scan_interval**(*Optional*): Scan interval is expressed in seconds. Recommended value of 600 seconds. Default value is 120 seconds. Omitting scan_interval may result in too-frequent polling and cause you to rate-limited by Honeywell. -- **away_temperature** (*Optional*) (*only for eu region*): Heating setpoint when away mode is on. If omitted it defaults to 16.0 deg C. -- **away_cool_temperature** (*Optional*) (*only for us region*): Cooling setpoint when away mode is on. If omitted it defaults to 30.0 deg C. -- **away_heat_temperature** (*Optional*) (*only for us region*): Heating setpoint when away mode is on. If omitted it defaults to 16.0 deg C. +{% configuration %} +username: + description: The username of an user with access. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +region: + description: Region identifier (either 'eu' or 'us'). + required: false + default: eu + type: string +scan_interval: + description: Scan interval is expressed in seconds. Recommended value of 600 seconds. Omitting scan_interval may result in too-frequent polling and cause you to rate-limited by Honeywell. + required: false + default: 120 + type: integer +away_temperature: + description: "(*only for eu region*) Heating setpoint when away mode is on, in deg C." + required: false + default: 16.0 + type: float +away_cool_temperature: + description: "(*only for us region*) Cooling setpoint when away mode is on, in deg C." + required: false + default: 30.0 + type: float +away_heat_temperature: + description: "(*only for us region*) Heating setpoint when away mode is on, in deg C." + required: false + default: 16.0 + type: float +{% endconfiguration %} From a0fb3c46d0e8672c38da2c341b54f210c25a1b9e Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 14 Oct 2018 08:57:05 +0200 Subject: [PATCH 197/217] Update Comfoconnect component configuration variable (#6766) --- source/_components/comfoconnect.markdown | 33 +++++++++++++++++++----- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/source/_components/comfoconnect.markdown b/source/_components/comfoconnect.markdown index 7394042b84d..6494ed5c8a6 100644 --- a/source/_components/comfoconnect.markdown +++ b/source/_components/comfoconnect.markdown @@ -28,13 +28,32 @@ comfoconnect: host: 192.168.1.213 ``` -Configuration variables: - -- **host** (*Required*): The ip or hostname of the ComfoConnect LAN C bridge. -- **name** (*Optional*): The name of this device as you want to see it in Home Assistant. -- **token** (*Optional*): The token you want to use when registering with the device. This is a random 32 char hexadecimal string. The default value is `00000000000000000000000000000001`. -- **user_agent** (*Optional*): The name you want to supply when registering with the device. The default value is `Home Assistant`. -- **pin** (*Optional*): The pin code to use when registering. This is `0000` by default. You only need to change this if you have changed the factory default pin. +{% configuration %} +host: + description: The IP or hostname of the ComfoConnect LAN C bridge. + required: true + type: string +name: + description: The name of this device as you want to see it in Home Assistant. + required: false + default: ComfoAirQ + type: string +token: + description: The token you want to use when registering with the device. This is a random 32 char hexadecimal string. + required: false + default: "`00000000000000000000000000000001`" + type: string +user_agent: + description: The name you want to supply when registering with the device. + required: false + default: "`Home Assistant`" + type: string +pin: + description: The pin code to use when registering. You only need to change this if you have changed the factory default pin. + required: false + default: "`0000`" + type: integer +{% endconfiguration %} To register the sensors, add the following to your `configuration.yaml` file: From e780bcd49c29510555acf6ab40d9414e133f3994 Mon Sep 17 00:00:00 2001 From: noxhirsch <30938717+noxhirsch@users.noreply.github.com> Date: Sun, 14 Oct 2018 08:57:53 +0200 Subject: [PATCH 198/217] Added sensor & gauge to Lovelace Changelog (#6767) --- source/lovelace/changelog.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/lovelace/changelog.markdown b/source/lovelace/changelog.markdown index 39bc13598b8..f1ecc65e22d 100644 --- a/source/lovelace/changelog.markdown +++ b/source/lovelace/changelog.markdown @@ -8,6 +8,10 @@ comments: false sharing: true footer: true --- +## {% linkable_title Changes in 0.80.0 %} +- 📣 New card type: `sensor` ❤️ +- 📣 New card type: `gauge` ❤️ + ## {% linkable_title Changes in 0.77.0 %} - 📣 New notification drawer ❤️ From e253177a1c7cb00988c0efd56b049879a115e1e8 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 14 Oct 2018 08:58:49 +0200 Subject: [PATCH 199/217] Update Ecobee component configuration variable (#6768) --- source/_components/ecobee.markdown | 15 +++++++++++---- source/_components/notify.ecobee.markdown | 11 +++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/source/_components/ecobee.markdown b/source/_components/ecobee.markdown index 217922806b2..8a73869f5b6 100644 --- a/source/_components/ecobee.markdown +++ b/source/_components/ecobee.markdown @@ -51,10 +51,17 @@ ecobee: api_key: asdfghjklqwertyuiopzxcvbnm ``` -Configuration variables: - -- **api_key** (*Required*): Your ecobee API key. This is only needed for the initial setup of the component. Once registered it can be removed. If you revoke the key in the ecobee portal you will need to update this again and remove the ecobee.conf file in the `.homeassistant` configuration path. -- **hold_temp** (*Optional*): True/False whether or not to hold changes indefinitely (True) or until the next scheduled event. Defaults to `False`. +{% configuration %} +api_key: + description: Your ecobee API key. This is only needed for the initial setup of the component. Once registered it can be removed. If you revoke the key in the ecobee portal you will need to update this again and remove the ecobee.conf file in the `.homeassistant` configuration path. + required: true + type: string +hold_temp: + description: True/False whether or not to hold changes indefinitely (True) or until the next scheduled event. + required: false + default: "`false`" + type: boolean +{% endconfiguration %}

diff --git a/source/_components/notify.ecobee.markdown b/source/_components/notify.ecobee.markdown index 53f97f69d12..0dbdf6b8ade 100644 --- a/source/_components/notify.ecobee.markdown +++ b/source/_components/notify.ecobee.markdown @@ -23,9 +23,12 @@ notify: platform: ecobee ``` -Configuration variables: - -- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. +{% configuration %} +name: + description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. + required: false + default: "`notify`" + type: string +{% endconfiguration %} To use notifications, please see the [getting started with automation page](/getting-started/automation/). - From e6673d206dd2957af07f2673d32a653049abc1b1 Mon Sep 17 00:00:00 2001 From: Glenn Morrison Date: Sun, 14 Oct 2018 01:59:57 -0500 Subject: [PATCH 200/217] Spelling correction (#6785) --- source/_components/media_player.itunes.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/media_player.itunes.markdown b/source/_components/media_player.itunes.markdown index 6885a333855..cced6a1953a 100644 --- a/source/_components/media_player.itunes.markdown +++ b/source/_components/media_player.itunes.markdown @@ -16,7 +16,7 @@ ha_iot_class: "Local Polling" The iTunes platform allows you to control [iTunes](http://apple.com/itunes/) from Home Assistant. It uses a 3rd party server that you run on your Mac called [itunes-api](https://github.com/maddox/itunes-api). Play, pause, or skip songs remotely on iTunes running on your Mac. -In addition to controlling iTunes, your available AirPlay endpoints will be added as media players as well. You can then individually address them append turn them on, turn them off, or adjust their volume. +In addition to controlling iTunes, your available AirPlay endpoints will be added as media players as well. You can then individually address them and turn them on, turn them off, or adjust their volume. To add iTunes to your installation, add the following to your `configuration.yaml` file: From 813fc62d50d41bc8204b5b28e43f5b954d43e4bf Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 14 Oct 2018 09:00:48 +0200 Subject: [PATCH 201/217] Update Juicenet component configuration variable (#6769) --- source/_components/juicenet.markdown | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/source/_components/juicenet.markdown b/source/_components/juicenet.markdown index a6eae2eb3cd..421b981a02e 100644 --- a/source/_components/juicenet.markdown +++ b/source/_components/juicenet.markdown @@ -24,6 +24,9 @@ juicenet: access_token: ACCESS_TOKEN ``` -Configuration variables: - -- **access_token** (*Required*): Your eMotorWerks API Token can be found in the [dashboard](https://dashboard.emotorwerks.com/Manage). +{% configuration %} +access_token: + description: "Your eMotorWerks API Token can be found in the [dashboard](https://dashboard.emotorwerks.com/Manage)." + required: true + type: string +{% endconfiguration %} From 7d6e0943fe49490ad47d71c94326d661097c727e Mon Sep 17 00:00:00 2001 From: Glenn Morrison Date: Sun, 14 Oct 2018 02:01:43 -0500 Subject: [PATCH 202/217] Grammar correction (#6784) --- source/_components/media_player.bluesound.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/media_player.bluesound.markdown b/source/_components/media_player.bluesound.markdown index 69372c8c332..fd9ac670de7 100644 --- a/source/_components/media_player.bluesound.markdown +++ b/source/_components/media_player.bluesound.markdown @@ -49,7 +49,7 @@ media_player: ### {% linkable_title Service `bluesound_join` %} -Group players together under a single master speaker. That will make a new group or join to exists group. +Group players together under a single master speaker. That will make a new group or join an existing group. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | From 51ef26b6ba666afa939b55f1a364b61e5a8bfd3b Mon Sep 17 00:00:00 2001 From: Glenn Morrison Date: Sun, 14 Oct 2018 02:02:27 -0500 Subject: [PATCH 203/217] Grammar correction (#6782) Improper grammar in opening sentence of description --- source/_components/binary_sensor.template.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/binary_sensor.template.markdown b/source/_components/binary_sensor.template.markdown index d2365b7638c..bf0b6d75594 100644 --- a/source/_components/binary_sensor.template.markdown +++ b/source/_components/binary_sensor.template.markdown @@ -14,7 +14,7 @@ logo: home-assistant.png ha_qa_scale: internal --- -The `template` platform supports sensors which breaks out the `state` and +The `template` platform supports sensors which break out the `state` and `state_attributes` from other entities. The state of a Template Binary Sensor can only be `on` or `off`. From d1842c5db9891a863d707dcb8eebbceaad2abf68 Mon Sep 17 00:00:00 2001 From: Glenn Morrison Date: Sun, 14 Oct 2018 02:03:34 -0500 Subject: [PATCH 204/217] Spelling correction (#6783) "pays" should have been "pause" --- source/_components/media_player.anthemav.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/media_player.anthemav.markdown b/source/_components/media_player.anthemav.markdown index 8e59296db99..9e95937eddf 100644 --- a/source/_components/media_player.anthemav.markdown +++ b/source/_components/media_player.anthemav.markdown @@ -43,7 +43,7 @@ Configuration variables: ## Notes and Limitations -- The tuner is currently unsupported as are the `media_player` play, pays, prev, and next controls. +- The tuner is currently unsupported as are the `media_player` play, pause, prev, and next controls. - Enabling this platform will set and enforce "Standby IP Control On" in your Anthem device. You almost certainly want this. If you disable it on the device, it will just get re-enabled by Home Assistant. - Only Zone 1 is currently supported. From b1852c03593c3f11b43af824886201adedcf68e3 Mon Sep 17 00:00:00 2001 From: javicalle <31999997+javicalle@users.noreply.github.com> Date: Sun, 14 Oct 2018 09:09:09 +0200 Subject: [PATCH 205/217] Duplicated variables declaration at cover.rflink (#6779) Probably from a copy&paste `fire_event` and `signal_repetitions` were duplicated at "Device coonfiguration variables" point --- source/_components/cover.rflink.markdown | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/_components/cover.rflink.markdown b/source/_components/cover.rflink.markdown index bc4d18538db..ad441726553 100644 --- a/source/_components/cover.rflink.markdown +++ b/source/_components/cover.rflink.markdown @@ -87,8 +87,6 @@ Device configuration variables: - **aliases** (*Optional*): Alternative Rflink ID's this device is known by. - **fire_event** (*Optional*): Fire a `button_pressed` event if this device is turned on or off (default: False). - **signal_repetitions** (*Optional*): Repeat every Rflink command this number of times (default: 1). -- **fire_event_** (*Optional*): Set default `fire_event` for RFLink switch devices (see below). -- **signal_repetitions** (*Optional*): Set default `signal_repetitions` for RFLink switch devices (see below). - **group** (*Optional*): Allow light to respond to group commands (ALLON/ALLOFF). (default: yes) - **group_aliases** (*Optional*): `aliases` which only respond to group commands. - **no_group_aliases** (*Optional*): `aliases` which do not respond to group commands. From 06ab18d9d0679cff1bf2b420684b07895c43e11f Mon Sep 17 00:00:00 2001 From: noxhirsch <30938717+noxhirsch@users.noreply.github.com> Date: Sun, 14 Oct 2018 09:12:07 +0200 Subject: [PATCH 206/217] Update sensor.imap.markdown (#6775) * Update sensor.imap.markdown Update IMAP Sensor configuration variable * Update sensor.imap.markdown --- source/_components/sensor.imap.markdown | 36 +++++++++++++++++++------ 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/source/_components/sensor.imap.markdown b/source/_components/sensor.imap.markdown index f09956e9648..27ae8f63c78 100644 --- a/source/_components/sensor.imap.markdown +++ b/source/_components/sensor.imap.markdown @@ -30,11 +30,31 @@ sensor: password: YOUR_PASSWORD ``` -Configuration variables: - -- **server** (*Required*): The IP address or hostname of the IMAP server. -- **port** (*Optional*): The port where the server is accessible. -- **name** (*Optional*): Name of the IMAP sensor. -- **username** (*Required*): Username for the IMAP server. -- **password** (*Required*): Password for the IMAP server. -- **folder** (*Optional*): The IMAP folder to watch. +{% configuration %} +server: + description: The IP address or hostname of the IMAP server. + required: true + type: string +port: + description: The port where the server is accessible. + required: false + default: 993 + type: integer +name: + description: Name of the IMAP sensor. + required: false + type: string +username: + description: Username for the IMAP server. + required: true + type: string +password: + description: Password for the IMAP server. + required: true + type: string +folder: + description: The IMAP folder to watch. + required: false + default: inbox + type: string +{% endconfiguration %} From b5ff2b75bbc1282267a5a413e342ccf0cbcbcc05 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 14 Oct 2018 09:13:12 +0200 Subject: [PATCH 207/217] Update hddtemp component configuration variable (#6776) --- source/_components/sensor.hddtemp.markdown | 28 ++++++++++++++++------ 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/source/_components/sensor.hddtemp.markdown b/source/_components/sensor.hddtemp.markdown index 0116bedde19..4146109d07a 100644 --- a/source/_components/sensor.hddtemp.markdown +++ b/source/_components/sensor.hddtemp.markdown @@ -30,10 +30,24 @@ sensor: - /dev/sda1 ``` -Configuration variables: - -- **name** (*Optional*): Friendly name to use for the frontend. Default to "HD Temperature". -- **host** (*Optional*): Host where `hddtemp` is running. Default to `localhost`. -- **port** (*Optional*): Port that is used by `hddtemp` . Default to `7634`. -- **disks** (*Optional*): Disk to be monitored. Example: `/dev/sda1` - +{% configuration %} +name: + description: Friendly name to use for the frontend. + required: false + default: HD Temperature + type: string +host: + description: Host where `hddtemp` is running. + required: false + default: localhost + type: string +port: + description: Port that is used by `hddtemp`. + required: false + default: 7634 + type: integer +disks: + description: "Disk to be monitored. Example: `/dev/sda1`." + required: false + type: list +{% endconfiguration %} From 7720618914c17279d4dae9bb2f6fefb3ae987ca0 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 14 Oct 2018 09:14:05 +0200 Subject: [PATCH 208/217] Update Scene component configuration variable (#6774) --- source/_components/scene.markdown | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/source/_components/scene.markdown b/source/_components/scene.markdown index 48998818971..f0bb6a2b479 100644 --- a/source/_components/scene.markdown +++ b/source/_components/scene.markdown @@ -34,10 +34,16 @@ scene: source: HDMI 1 ``` -Configuration variables: - -- **name** (*Required*): Friendly name of scene. -- **entities** (*Required*): Entities to control. +{% configuration %} +name: + description: Friendly name of scene. + required: true + type: string +entities: + description: Entities to control. + required: true + type: list +{% endconfiguration %} As you can see, there are two ways to define the states of each `entity_id`: From 2ca656480db939c2e7e02620473438beb4894c51 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 14 Oct 2018 09:16:15 +0200 Subject: [PATCH 209/217] Update Flux_led light component configuration variable (#6773) --- source/_components/light.flux_led.markdown | 36 +++++++++++++++------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/source/_components/light.flux_led.markdown b/source/_components/light.flux_led.markdown index d53ebb88a69..426feb16ae1 100644 --- a/source/_components/light.flux_led.markdown +++ b/source/_components/light.flux_led.markdown @@ -40,17 +40,31 @@ light: - platform: flux_led ``` -Configuration variables: - -- **automatic_add** (*Optional*): To enable the automatic addition of lights on startup. -- **devices** (*Optional*): A list of devices with their ip address - -Configuration variables within devices list: - -- **name** (*Optional*): A friendly name for the device. -- **mode** (*Optional*): The chosen brightness mode; options are 'rgbw' and 'rgb', defaults to rgbw. -- **protocol** (*Optional*): Set this to 'ledenet' if you are using a ledenet bulb. - +{% configuration %} +automatic_add: + description: To enable the automatic addition of lights on startup. + required: false + default: false + type: boolean +devices: + description: A list of devices with their ip address + required: false + type: list + keys: + name: + description: A friendly name for the device. + required: false + type: string + mode: + description: "The chosen brightness mode, options are: 'rgbw' and 'rgb'." + required: false + default: rgbw + type: string + protocol: + description: Set this to 'ledenet' if you are using a ledenet bulb. + required: false + type: string +{% endconfiguration %}

Depending on your controller or bulb type, there are two ways to configure brightness. From 4c0ac8ac1f8a6db08d08c97ae0d8585e07d7e522 Mon Sep 17 00:00:00 2001 From: noxhirsch <30938717+noxhirsch@users.noreply.github.com> Date: Sun, 14 Oct 2018 09:24:11 +0200 Subject: [PATCH 210/217] Added URL example internal (#6770) Added an example for weblink with which you not only can link to external URLs - you also can link to internal pages or panels --- source/_lovelace/entities.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown index 5e91cb65d80..6bc9a5271e5 100644 --- a/source/_lovelace/entities.markdown +++ b/source/_lovelace/entities.markdown @@ -107,7 +107,7 @@ icon: type: string url: required: true - description: "Website URL." + description: "Website URL (or internal URL e.g. `/hassio/dashboard` or `/panel_custom_name`)" type: string {% endconfiguration %} From 744b362b88e252456131070376557eef399768a7 Mon Sep 17 00:00:00 2001 From: lennartk Date: Sun, 14 Oct 2018 09:24:34 +0200 Subject: [PATCH 211/217] Fixed a grammar mistake in the database docs (#6771) "The `VACUUM` command cleans the your database." --- source/_docs/backend/database.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/backend/database.markdown b/source/_docs/backend/database.markdown index 652ef13f05f..7b265ba00c7 100644 --- a/source/_docs/backend/database.markdown +++ b/source/_docs/backend/database.markdown @@ -116,7 +116,7 @@ If you don't want to keep certain entities, you can delete them permanently: sqlite> DELETE FROM states WHERE entity_id="sensor.cpu"; ``` -The `VACUUM` command cleans the your database. +The `VACUUM` command cleans your database. ```bash sqlite> VACUUM; From d7bea0840217ace984b4660d9e4beaedd005075d Mon Sep 17 00:00:00 2001 From: noxhirsch <30938717+noxhirsch@users.noreply.github.com> Date: Sun, 14 Oct 2018 09:25:17 +0200 Subject: [PATCH 212/217] Update IMAP Email Content Sensor configuration variable (#6777) * Update IMAP Email Content Sensor configuration variable * Update sensor.imap_email_content.markdown * :pencil2: Tweak --- .../sensor.imap_email_content.markdown | 54 ++++++++++++++----- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/source/_components/sensor.imap_email_content.markdown b/source/_components/sensor.imap_email_content.markdown index e67340b7ef7..706b10b3e25 100644 --- a/source/_components/sensor.imap_email_content.markdown +++ b/source/_components/sensor.imap_email_content.markdown @@ -32,17 +32,43 @@ sensor: - example@gmail.com ``` -Configuration variables: - -- **server** (*Required*): The IP address or hostname of the IMAP server. -- **port** (*Required*): The port where the server is accessible. -- **name** (*Optional*): Name of the IMAP sensor to use in the frontend. -- **username** (*Required*): Username for the IMAP server. -- **password** (*Required*): Password for the IMAP server. -- **senders** (*Required*): A list of sender email addresses that are allowed to report state via email. Only emails received from these addresses will be processed. -- **value_template** (*Optional*): If specified this template will be used to render the state of the sensor. If a template is not supplied the message subject will be used for the sensor value. The following attributes will be supplied to the template: - - * **from**: The from address of the email - * **body**: The body of the email - * **subject**: The subject of the email - * **date**: The date and time the email was sent +{% configuration %} +server: + description: The IP address or hostname of the IMAP server. + required: true + type: string +port: + description: The port where the server is accessible. + required: false + default: 993 + type: integer +name: + description: Name of the IMAP sensor. + required: false + type: string +username: + description: Username for the IMAP server. + required: true + type: string +password: + description: Password for the IMAP server. + required: true + type: string +senders: + description: A list of sender email addresses that are allowed to report state via email. Only emails received from these addresses will be processed. + required: true + type: string +value_template: + description: If specified this template will be used to render the state of the sensor. If a template is not supplied the message subject will be used for the sensor value. The following attributes will be supplied to the template. + required: false + type: template + keys: + from: + description: The from address of the email. + body: + description: The body of the email. + subject: + description: The subject of the email. + date: + description: The date and time the email was sent. +{% endconfiguration %} From 3551e14e61fbeb4d0b2fc6db38e992152fa1b095 Mon Sep 17 00:00:00 2001 From: Ryan Bahm Date: Sun, 14 Oct 2018 00:31:11 -0700 Subject: [PATCH 213/217] Update homematic.markdown config variables style (#6459) * Update homematic.markdown config variables style Per #6385 updating the configuration description. * Changes based on code review Change "int" to "integer" and restore section about fetching names. --- source/_components/homematic.markdown | 89 ++++++++++++++++++++++----- 1 file changed, 72 insertions(+), 17 deletions(-) diff --git a/source/_components/homematic.markdown b/source/_components/homematic.markdown index 64783bc44e2..86ff3df552e 100644 --- a/source/_components/homematic.markdown +++ b/source/_components/homematic.markdown @@ -34,28 +34,83 @@ homematic: Configuration variables (global): -- **interfaces** (*Required*): Configuration for each XML-RPC interface to integrate into Home Assistant. -- **hosts** (*Optional*): Configuration for each Hub (CCU/Homegear) to integrate into Home Assistant. -- **local_ip** (*Optional*): IP of device running Home Assistant. Override auto-detected value for exotic network setups. -- **local_port** (*Optional*): Port for connection with Home Assistant. By default it is randomly assigned. +{% configuration %} +interfaces: + description: Configuration for each XML-RPC interface to integrate into Home Assistant. + required: true + type: list +hosts: + description: Configuration for each Hub (CCU/Homegear) to integrate into Home Assistant. + required: false + type: list +local_ip: + description: IP of device running Home Assistant. Override auto-detected value for exotic network setups. + required: false + type: string +local_port: + description: Port for connection with Home Assistant. By default it is randomly assigned. + required: false + type: integer +{% endconfiguration %} Configuration variables (interface): -- **host** (*Required*): IP address or Hostname of CCU/Homegear device or Hass.io add-on. -- **port** (*Optional*): Port of CCU/Homegear XML-RPC Server. Wireless: 2001, wired: 2000, IP: 2010, thermostatgroups: 9292. -- **callback_ip** (*Optional*): Set this, if Home Assistant is reachable under a different IP from the CCU (NAT, Docker etc.). -- **callback_port** (*Optional*): Set this, if Home Assistant is reachable under a different port from the CCU (NAT, Docker etc.). -- **resolvenames** (*Optional*): [`metadata`, `json`, `xml`] Try to fetch device names. Defaults to `false` if not specified. -- **jsonport** (*Optional*): Port of CCU JSON-RPC Server. The default is 80, but it may be different when running CCU virtually via Docker. -- **username** (*Optional*): When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU. -- **password** (*Optional*): When fetching names via JSON-RPC, you need to specify the password of the user you have configured above. -- **path** (*Optional*): Set to `/groups` when using port 9292. +{% configuration %} +host: + description: IP address or Hostname of CCU/Homegear device or Hass.io add-on. + required: true + type: string +port: + description: "Port of CCU/Homegear XML-RPC Server. Wireless: 2001, wired: 2000, IP: 2010, thermostatgroups: 9292." + required: false + type: integer +callback_ip: + description: Set this, if Home Assistant is reachable under a different IP from the CCU (NAT, Docker etc.). + required: false + type: string +callback_port: + description: Set this, if Home Assistant is reachable under a different IP from the CCU (NAT, Docker etc.). + required: false + type: integer +resolvenames: + description: Try to fetch device names. Defaults to `false` if not specified. + required: false + 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. + required: false + type: integer +username: + description: When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU. + required: false + type: string +password: + description: When fetching names via JSON-RPC, you need to specify the password of the user you have configured above. + required: false + type: string +path: + description: Set to `/groups` when using port 9292. + required: false + type: string +{% endconfiguration %} Configuration variables (host): -- **host** (*Required*): IP address of CCU/Homegear device. -- **username** (*Optional*): When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU. -- **password** (*Optional*): When fetching names via JSON-RPC, you need to specify the password of the user you have configured above. +{% configuration %} +host: + description: IP address of CCU/Homegear device. + required: true + type: string +username: + description: When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU. + required: false + type: string +password: + description: When fetching names via JSON-RPC, you need to specify the password of the user you have configured above. + required: false + type: string +{% endconfiguration %} #### Example configuration with multiple protocols and some other options set: @@ -320,7 +375,7 @@ When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant wi string now = system.Date("%d.%m.%Y %H:%M:%S"); obj.State(now); ``` - + The HomeMatic CCU will execute all active programs which meet their conditions (none in this case) on every reboot. 3. Set up a template sensor in Home Assistant, which contains the value of the system variable: From d39f744a12f8032f6f6ca26ff2d5ddc92a9fe131 Mon Sep 17 00:00:00 2001 From: Travis Carr Date: Sun, 14 Oct 2018 00:33:38 -0700 Subject: [PATCH 214/217] Fixes for media_player.FireTV config language (#6720) * Fixes for media_player.FireTV config language * Resolve comments * More fixes * Remove title line... --- .../_components/media_player.firetv.markdown | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/source/_components/media_player.firetv.markdown b/source/_components/media_player.firetv.markdown index 0abf2b3dadc..abcfd873600 100644 --- a/source/_components/media_player.firetv.markdown +++ b/source/_components/media_player.firetv.markdown @@ -56,13 +56,28 @@ media_player: - platform: firetv ``` -Configuration variables: - -- **host** (*Optional*): The host where `firetv-server` is running. Default is localhost. -- **port** (*Optional*): The port where `firetv-server` is running. Default is 5556. -- **device** (*Optional*): The device ID. Defaults to `default`. -- **name** (*Optional*): The friendly name of the device, default is 'Amazon Fire TV'. - +{% configuration %} +host: + description: "The host where `firetv-server` is running." + required: false + type: string + default: localhost +port: + description: "The port where `firetv-server` is running." + required: false + type: integer + default: 5556 +device: + description: The device ID. + required: false + type: string + default: default +name: + description: The friendly name of the device. + required: false + type: string + default: Amazon Fire TV +{% endconfiguration %}

Note that python-firetv has support for multiple Amazon Fire TV devices. If you have more than one configured, be sure to specify the device ID in `device`. Run `firetv-server -h` and/or view the source for complete capabilities. From f381ba7e34fb24b7963ca26309695d919ea17691 Mon Sep 17 00:00:00 2001 From: Malte Franken Date: Mon, 15 Oct 2018 03:36:00 +1100 Subject: [PATCH 215/217] NSW Rural Fire Service platform (#6353) * new platform to integrate nsw rural fire service incident feed for the geo location component * added NSW Rural Fire Service crest * final touches and integration of logo * updated release number; correct type for radius --- ...ation.nsw_rural_fire_service_feed.markdown | 88 ++++++++++++++++++ .../nsw-rural-fire-service-feed-entities.png | Bin 0 -> 34108 bytes .../nsw-rural-fire-service-feed-map.png | Bin 0 -> 165432 bytes .../nsw-rural-fire-service.png | Bin 0 -> 78479 bytes 4 files changed, 88 insertions(+) create mode 100644 source/_components/geo_location.nsw_rural_fire_service_feed.markdown create mode 100644 source/images/screenshots/nsw-rural-fire-service-feed-entities.png create mode 100644 source/images/screenshots/nsw-rural-fire-service-feed-map.png create mode 100644 source/images/supported_brands/nsw-rural-fire-service.png diff --git a/source/_components/geo_location.nsw_rural_fire_service_feed.markdown b/source/_components/geo_location.nsw_rural_fire_service_feed.markdown new file mode 100644 index 00000000000..4bae0d66a2a --- /dev/null +++ b/source/_components/geo_location.nsw_rural_fire_service_feed.markdown @@ -0,0 +1,88 @@ +--- +layout: page +title: "NSW Rural Fire Service Incidents" +description: "Instructions on how to integrate the NSW Rural Fire Service Incidents feed into Home Assistant." +date: 2018-09-23 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: nsw-rural-fire-service.png +ha_category: Geo Location +ha_iot_class: "Cloud Polling" +ha_release: "0.81" +--- + +The `nsw_rural_fire_service_feed` platform lets you integrate a GeoJSON feed provided by the [NSW Rural Fire Service](https://www.rfs.nsw.gov.au/fire-information/fires-near-me) with information about bush fires, grass fires, hazard reductions and more. 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 entity's information can be used for example if a bush fire that produces smoke or embers is reported close to your home, and you want to automatically close windows, turn on a sprinkler system or simply send yourself a reminder to clean the gutters from dry leaves. + +The data is updated every 5 minutes. + +## {% linkable_title Configuration %} + +To integrate the NSW Rural Fire Service Incidents feed, add the following lines to your `configuration.yaml`. + +```yaml +# Example configuration.yaml entry +geo_location: + - platform: nsw_rural_fire_service_feed +``` + +{% configuration %} +radius: + description: The distance in kilometers around Home Assistant's coordinates in which incidents are included. + required: false + type: float + default: 20km +categories: + description: List of incident category names found in the feed. Only incidents from the feed that match any of these categories are included. Valid categories are 'Emergency Warning', 'Watch and Act', 'Advice', 'Not Applicable'. + required: false + type: list + default: None. Any incident regardless of its category will be included. +{% endconfiguration %} + +## {% 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 incident. | +| longitude | Longitude of the incident. | +| external_id | The external ID used in the feed to identify the incident in the feed. | +| category | One of 'Emergency Warning', 'Watch and Act', 'Advice', 'Not Applicable'. | +| location | Location details of where the incident takes place. | +| publication_date | Date and time when this incident was last updated. | +| council_area | Council area in which this incident takes place. | +| status | One of 'Under Control', 'Being Controlled', 'Out of Control'. | +| type | Incident type, for example 'Bush Fire', 'Grass Fire' or 'Hazard Reduction'. | +| fire | `True` if this incident is a fire, `False` otherwise. | +| size | Size in hectare | +| responsible_agency | Agency responsible for this incident. | + +## {% linkable_title Advanced Configuration Example %} + +Depending on your personal circumstances with regards to bush fire risk you may want to adjust the radius and define the categories of fire warnings you are actually interested in. + +```yaml +# Example configuration.yaml entry +geo_location: + - platform: nsw_rural_fire_service_feed + entity_namespace: 'nsw_fire_service_feed' + radius: 10 + categories: + - 'Emergency Warning' + - 'Watch and Act' + - 'Advice' +``` diff --git a/source/images/screenshots/nsw-rural-fire-service-feed-entities.png b/source/images/screenshots/nsw-rural-fire-service-feed-entities.png new file mode 100644 index 0000000000000000000000000000000000000000..463f5e5922f18a1bb6fee9b0823851c9c780a795 GIT binary patch literal 34108 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%0Dt)H71FWHKChZz85kZ4t| z%wVpqzgGnYib1$tfPg+bqt1)a-tSu7@}lH|8}xPnDQ3cW1_Fxge3BRJ#0blu^^w@f zQOaVIAViu1I+^-oJP)p(0v04{TcCq1!=8ishkHxw>F}?l?~8aEGf&N=66>A@kUv@I zvvKu}M<6u%j;Z(%+y**l%49kF#BrD#N{Y`@hO-ukkMQ~R3|+_HKTUhA(|4W}KD%IW zZW+~mfOmKy_}B&WoonxW#umq39jsk5z+36pn%d@ow57GVr@(U}IhSBeK(n1t2VK#B zA7cPcRRkcCxKgS|&up3r&C1+%+9s7b@)hZzFp_$$At7dtcbKn@O+)7C(9g_`63yrP z4IGjWY}f&v_V#%UWRBSduj!72q!=db=a3bmYWBEK4$ys7uCB%2-+>Xen|*NM?s)-+ zT{$$_A02QinZ4HtR9#3K4|_J}c93<|n^1s|8+{WRMKa3)I9kG-p#EL)TE2xc}fhmOmi-Bt?K3i7+CKL=hdQ=8GqH;_`trYnmVN z`-Tis{J6N1C&VyQhc!BfxF137)ZciQc8wNJHi}W5p1zkq$H(er&t<~l}w{=C)UKwEqXODdDBwLXR+p?D+<47@K z=8K=ZL3fVRbGS{kNhib`*oS4rASs?z>jkm?2IliU+-sljQv?llUnvY#P%Yt~{ETXR943W;1wIUz zEsz7AiFlMwKVQ2)Ls3~2g%ebBdcD~LGt-kTbz1DrRD_~*$VN7n0croqUbvY7j z!}LE=pAzV-NH@cp`wJR>2)j*vv`f#=&UP(a>XWHcMNg`;;zIB4|FJ=TkYrP53ROQW zS`&G7*`ke^dPw`dG&;yLOTAKqLl{dwa5XW|-zs@z|B_X9-B@2wqm+G$4AhX7{o1$g zs$PFiSA2BMF418t5%g}B zODMA53Vzi+gv4dFwhdcKsJCE5rR0xvCB*05Tz6KkDW>bA-F$kL9lL+-w*b{Xyd0Rj zGOAR)MCy26pja>0SkUk*S^D$ODl8tm!gqQDEl1D_=`C{Y9XxvCznlyAOVD~aG?kH& zt-_n-3olKQ2EeQ{iu-5(!DY8$yFiH#3x-jWUXg_7x4GhIUxLfpOtbeAAzF#LEJobC zF$=>D+Uys&4Jo_hC8sOv(ygNNPFmj`v%k}0LKv-HB^y{jalL_*0l7{gof3{j%V#t?7IU>zb4l7m4qK`@7MN5k zOFyhepY{8uc_jk6Y`t)J1Df99#D`H>A5-*QReR-0h*MRn+{6)0WBF{}o~;#eW?8bQ zdEFs?eLq@Je-!-E`L~DKLT3keaj@>~yMp(BCb2!Sui{2aDyA<9Yh(=SMPz8^Ti;?m zd2~@<^!kP;IU#{BuR?_k4oxk3k1HQ?F?16_01<(^&xh20`b7zN@##=>V194Dc++qi zgf_TP!I3l(7ZvenI?M}CceXV}M}A?ntiHeVv1f)aPN3zd8?BlzgSIHJQ_08djLP1j zQ$(q@uAgM+BHwFEk5i&00-im({ha**VRAr7>*G5JtfW1sVtcA&z5S> zIA%=qW2O)HRwVG>d9Kx0vg~%t+*Ek0+Kf*D_)8OvJfa(PSdTycup8coQ>^DU`_70n zHxNu$F^)p^FIi4R`>c)1x7<8Su}^Dlvv=hh&rc4}`_AR`7xez9zQpmXZ|AS3;YlhA4AtPnTXQ3tbS?>S^qUmoR15yrirfs9qOevP-}krnuB2F@XH zDLUx8X2Kf=c_1S|HZ;KGi}w|s+dExtg$(3MhNiJ^D6q(F-Xiq+qs~T9Qc;fcj?!08 zKUh|n&?28FBRH0_QsYxmheZ;!9zTnZgbTNAnqWSZ!dDL7=-Ynk@_qDPYaez#FlOTI zqqQ(LbT{8cH7Lx)I52D6xlSvE?J#F({(yqwkBAz5Do?P=`%h*K4`rw*4sg>;gZ2H> zUO>GWYq;UglXg*S^i`-h`hxDhbF;6>aJriM;l$jPc$)~FME=7AnxFWeHQruZ9YfaA zZyN>0H*5l*-&11UU*B13z9wjL(kqJH+{kQbO7updBrBHvd_be@!*)WG?B-}aih1=%+yhQlO z`AB=KZ_CY22q|u}mb#=}+D6p1pv9xpUzD4AG53H|w9kvOj9 zb~{iq-I_nJ+-%{K^BC>=itff&0a|)70+WTg9%VqSTDjT?N`I$l*9Qakduvut9ezY{ zww>CKHY}YBlwa402H&^pNeZ{R#99#*^T(b1C@D)o%_i8Sv}DX7Jz;)@QGp#1xR0uv zN)HLvyvoQjW?7hBZt*g;n4g(jdOdGeIJr|?yDJhQ@-1lI+%_Pb2V0X_^ZFT3+GF_~ zWjcB~fR$v0QTxNJbiP&kz4si}kZ<$@0h`nP?<%;BLO&TVsWpc0(U?5*F@ibfjIBhV6@xs>X%SqV$vF0?8`{L?Gt_hrk%ZMnxCmMbRi z3$^~=OIJ~lYv+^fFa_>>_5#drYlnB|oQIQO<_qnX56jHAxhaMjD%!2*Ww^;HU9Bft)D;G2E4#vab}aFAuMBA?t?$L-v0SGt3TKQ_QhJZ`Wdnm z2}9Y*CIyH*k>G@g5CMzLH1!rWBu5W`?ps;URnLI<84_^yKePQ zr!E#$U)k>1(XYB@!doi&@D|sQvnUli1j}}8O`8JkaPR7^432U<6#lVK>G*Cyt!DZV;}2Z4SCOyvT0=pT%~n{Rvl(69Se1Y5K|w{)qnhbhadn8VN%bw z-OQhkcZ4p;t`s{0=5rCk#gya=P*enqTJ|bZF>lQ5h;VHkAzr)+Drd`?aYS{3lMGZ! zyv0X95RH1ye(j6%LiDjW%aV8cuBJVvRR4xNQyGb0*%WK;!$n}v5o+j$Mwt|1I^g=Z z;b`iyC;JI}bmd8%^P?3wf?DIib;++yWyvh5twu;SpEd3U$eC)r0Ed(BgMqik~2JhbboK7m2B9P$Sq=5yJmifh+- zR2_ofH2T2bt0^?UfJ53H(7%zN>O#HP_2!{$>dn#vgN`1mx;V|p<2bijey{8m_bYTg zMhCN%Mi=AEIMv1Fh7LEG<iqN@rqEJg=-FH-s+>^oqwk_J(x_LU5(jsr)s+|8Aoy6!Bsj3kJP1YH3 z{L9}jhyEjH6Cl{w*BQAPoX$V;kne3OOsc8$W6(F=@SPaN&GojetPl3=9mff4DDyBn zJzWn4-w{WEnC2sb$x4XktXjn8nAlU9){7W(`|MpKaVFz{iV}AbO7BT*`gp=b|qQ0VT7O z)WdI4yx*#qRDJBm-q(^%n{N->j>=^QMn=WH557YM&)(knR+!@v8Psa9e#r|gr@b8* zat(r-F!l;eCpuFf=?QRfip=6*pO)slLmad4XtZ4BT_A#Ma znHe1v-EQfe1-_a0dHv*OLJaFpki=8wfzX@wnp(2&SHa}n-NJK2D&w0?WqcKKjHikB zCMLl5R0P2#)6A>OtUB|&y2Kx@M=N;d$vE)9^F(BX>evE@axR zaqBZs(V)iBNI2gK)fX|y-wa-geo0r%IMMy~Xe?msH?oDwMXrO*17e^ZTA&%^>Ae3e zB?A+eqXF7aw$s=^@1FH#4P)EsaYg}Zh4Ms`=12nHai?Bf>3`{~KLm`2$ieHT zZLd{fg2o-69v_^2j*elL+&qn}*GxB%ue%2yiIDqlF2(>GDvfN9mFQBBk58y(h(Pnn zDFO}lvCjvJ$0OL!-TWM!g%7@oLI~8LSUOins%*BRZ}F5?aWV1mP^VHY0S8s(Q>Yil zaw}a;Tc;qiZc7Q>1#Hg8JU31PbBoh)0I^tfW)!t-tRwY>aGS%W_p!1a(hO22{M*mn zh2g7Mtb$@$F90m7ZGTo9-VKB*6PYT|3?oqK1SoL1gMjsAm*u|w82tEsLl5Kj;}uvD zKASo@nAGu+o}pp*SDV|{EqRw6=dZH3$9(g7{=y|7x;M~_8GKeD#q=E#X95$LPgHU7 zp{8GSN2MvpQ?JquwCfg$j?99VWq+M7u6=mTv|Jb?^6)9i`uij8=F70T+U2d^&bGsz zOc|rnSDYzt`D0;NhlA@`ZS@#eMcqE=;cOP?(qg$Z;f?mO)wzeVL(TSrc`H-cqorJycsRC3QpVIz1%9~EQmVMNqzx9 zfq*i)iv&EA(3=SQW52BhqugY|d-bQrrm=5{p*$=fmE4Ux_*VH_A!TG(JUyAABBC!5 zi%CfuvYBzO)Fxn$5mG65fAe3DAP@s;SDw$_C}7j1r(8mLKT);$T7=AP+L;;#5L!sn zdO&^q3fNIoXn|zGvGu0i3sy$92OD?Q=v7W`VC}RYO`@K)-=8(y`ao4PVXq&2a_GL1 zJr~4?SwlgG5imEyjkPfHvb{1OnsDghUBNa*Hp0?%Hp@_u3Gp*_%xTzklEmDt8xJU5 z{f0Lbr$_A1-qG)|ZpCPpAJxr($Dj-ZdK%Rt14RHlfSF1Bo}0qVen0Dmd%vyFc4Y&j zJ{Pz5Du@56Y7jp8gk9-cs%59Lhmn(s-_Wtu=Ko>p*Wbm-bhakSU!vkse1quT&0F>N z2o~5ygshUcUaDrVS(rwOmj%yWFJ<=UNH&tMQk}Aj|5FY%fqGQvzKeJ+pE+e6Oeh_y zLps8fwbJdwD<=7!sM8C!MjmNrLLI#cGB>#f400rW_?OBbv3xLy^^J@89fj84N*w>1 zSKT-_bjx5#OioZ)2g{&H-}T6eOaJ3{`5k?~m%y&c1WAG1M%sh-9z^CP1brB#_&ru= z&#G&yOX{Yz3z0qNd5aCGG(dmH0$rb>#m9R)oer0cndF$znt$!2%0gM~iN68!F`<7B z**<^kLF>C0{W4i8$wa$3EehzAJDED14pu(5Wh}$ST3gj<>&NJ|&V{db3b&E22{Y5AyA0P6wS+qEIcR<^zxoH2zBWdu z>$W$xEiIMh^GW3-V7wg;r*qs5nEP6S-COmN_D{swuOH~w4Kz!6D$_0tEOiv8y(8tb zOBa>vqUWPd1Zvi4-|u4<-(P98Ac$}kfITormoRQN`7^=Ne0FT`U!VPV@)O5G%GhH-$217^SFVS8;ptzTO%?1dD3BmA&I6c1qW%orwf3|Slil*^zVL`{>iufl z)U65vve4M9IZOh6POyq5bdHU24z(eqlN03*<1E_QYo2%*1shFRz%I zTrhQbXKX%k%nV6Y2lR?F$}cOiy^MT5BGrY}AB`S<>75cfUOJnqyuS8-Vm5Nb00?*= z8Y#^a^OzX+CznomFEK@EBc(1u9{xJF+-vh@5NSZ!pW9G59xJMlZDpB0H^A;$B_t@R zepdC#N0HsZGz{bGc+uJWmwK;1(1XZqlAKIU<1`qE)uFi7h>vNn&d{?9Pr|HYe6FOh zT9%eR^?Y2unyRNGjOKb*GEGYnvb67jr4&_MzvH^J*9L7th=__)4<8>4*z(0q+<17t zF0C`ikL}_m#B|Bzcdrs#7AWO~Sgwf`#0g2rD#89&C(xCqdx3}*43d3-;;=Vo0ul;v z$aK4&Ef+>2FEtyoavLf0r)*hZqge^1iZtA&+W0TyAecgtz32yXG1k+;>F6Y=KsAQu zZ$d-{Jhcc{CIfQ6s_Wvh)!AVHSlpaB&c(~1b|NZb5e7yK@?$1)aF9)O-ap0YDz%01 zHi;MLGcW}0qvCroCKiXhgpX)4b8%b11qObI9{g9%{(x&OqC=zjeM>i%3|#3y@#g>; z009cD3U}87&y!dw%LoEvdT9Q z!h>ywEzk3=P{Qi^cF|{oGk*)FMC7=J644J;%B*LL2ZuXFyv?JBv)^%9{27DMR%r|t z+VL~eQ_;ra{uOV+=>ct^z!qX`Xh*b|$p`;<5Nrs)o^|dcy-68x>-{6u!NJqy2iYEEE-HL65}Tprn!i5uyn$csg1=+rLKeoTxApznIU z)}Y5%_WUOyuV71o2aX~sL6(qe>7Bf48X0#=l>$o~hc^!}?E~dg4xTol3QDbbCXI}B zXHjN!k_E6A;a{DN1?tt+lSCZYt%@C@bRHirCcJ zTvJnWXs4dC~>XUPrkB=?vuA&T<&VFisq6=Dko-L1wf343E5z_@)+s zMK0if)bDga6 z7Yu=cE%eK2(1B9t)gUo61JizM7_dbZG4UN2;02a|ogJB`rx0Jz{1_HGWnaQgtUqQQdQMaHz zsW-k2dGsoh+k7~$Sts>)=o=Rinv<8WZr;}@^WC%*{`Js*?F$M6r`iBI**)QdKP8a? zD$zR6fU=x-yE(B{T;fZD4a{fpuDs78pGHfl{Ei_+zgzSt^-qH?-^B9qRxt<}Ik-ha zeOfyMD8wVm0FB_(c@}gZpIUzwz^tQtQ#r>A~ zAf~F!_n@_i;Adzk+j9MCd;5BL_!0Ul$L`^Di%FWi@NqpJ?9F*!D%$WGg^bm|sOm8w z3kL`%4vME1Y%qmIce9zG`dGx9f7KI~1`rhxoFZ#-5^!~|mV=aI8Bya1#G5+xUPyK; z#=JU|M7qbuX4cF8V%DRsWS z?QK_gP}ZeA;t|g@pFj1diIOmodT=Rdq}*S4n*q}r*IWPp0Gv_+EO+} zYW_mpX0)EbGsjGJwkk3yo3j#rYa7?hN8{wfzW}2`JU&x54TE_TX;_H^!tDH zW+)9zD4Yv`ekXU%L%l)~S@>s7Ou5-Ki3AlobFy#0DbrOsc%2acIV8GdNx<4Ht-XH# zX=8oKH~V+hDD!2hgZw(~kwT~HKDX?`m+K8wQs&&8D(HeXMaWE!D|JM+-R$M<`g-I! zN6VMIn3op`vT)S<&_)p<{qgu&It6dyG7x4d^Fnn~C@BTOXqJVE!o~fFl0)89W>a&8 z;!t0ia_GRbzf6HV@Z)39?XTVHyPlHce$P~b?&#N`K<;g3KRX)K=)T0R#b&qtJ}0s7 zwa6rf6$yAmqse6UX!_{yyNlV%g>#`FKGIA~96vc1pR$B@b_VvrSE-;Me2g~k%sLXo z{Djn2`!<91e8O8h$Z)Q!g@R<4I|;4VLeJSPK0AMHCbf32{`MT5#5_P?{1N?{^xbLY z8*96|+CB>}Vi}>omI#0>r$eEV*Yb89zVz*pl0Uiys9@^c>GUB<@)f8@0tPMI+{>il zjVDx)1lurgf7AWQRNhD2>w>(9>@!u@NKI!Bx@UZ1$}iV!4s$kLR7+LkHn!!jlx9d( zSGo{fe9FvhEm!p32TrS4WPe-eRgS8INcRPe5?sb(KI>XU>0H6zGhSex%W*Dj;O@Ag*bMf=;F8z~M z%KU@^*l(y#rkAwIY;i2tuZAM z!_P6bvyNG<#>TM{21)s-|S?m=Du5=o)5B8bRERlmifBm zbUEfTyb%^%q_UBRC~}xEaexd*vA}-avv`UUS+~IN>-&(vlh(O)Qj_!t+cT~B?fQGa zJ9TjaS_Vh67miBoe{n;8Fq94GKlxU7XEVlnqWWfgvuV>US7X(m4JTF}1UxOXxO7jJ zG`gahKD414_uCx^ZnQpk%blKuqz7`#_eekVbzH;9k#zTO~rIuayz6j!3 z0J2(Z$5DlCf-HqB{11B{h9I4UoTf-4!A~V95!fe`WEwx-*^U^5U%6Z2BMY2|Im1L0 zBVS$rz3XLuNbD0pC%%LqbgdzC%%Y8{WJxLsc*X^kep3tf6Qu*+vbn)DR(!+OXf|$s z?uj}iBX-kbita>l-;dJ-Xgx>`P}U27MTW$f`fd##mbUtH3{Re zxYO90=ut4RiWY89om3SJifHv4Ug|p2!+|$L1 zsY(?$h^|iyHOjY_@w~akEM-P+HX*F1_Vq31ed#`KrHG%ni zD^i}Is3|hN;*EU43(@oRAQv&oSXtV3PW=fT3)3Ix$C$sZQ9Y1)OypxsWI}3YrqwwF zs1`Vgi-`OJq|=5&J=@mR3mN&nOMOb4jV-2_iV@@GguCp;?8_m!#I^BPI2oy}J49iB zsYuX2jg zjw2V)pVQ$}&tC6FQd3bRwpWf!ox;zUos+&+LXEXQxuzd9IiHuPUbwFw@Qz)`cYj9W zU&qz4Mp@z`?$tVETBvE3KM%)NsbxuL36 zPa2o3f)tJ-P;=MU(oASizA6G?GW%KM94rayl~vYTDg%WKx~ZpC1AiF7YT4OARX#V3 zG~ow3S3yoV&0LOu4@5OxeIf{-_QyLpO;6>G)D5~i_3xvl4(6!lS;?ze_~+WXd*lij z?eB4ZM<}b7K zA8gnYQEGf|)euiwM)qPK2a15D8>UC>K!U7>nxIG``;MbHwjVIH8T363zkp;rj>Lw%kC8$5JBo=K zG~BF#KWnXLs0!7srqAJ>?<#_dITL#ZRl!GlE8J*dFQjok>Q{#QigeOQZ!l~EQutrG zr41B&4BEuXV5-pP`S`cZ>zg=-%=clM zlTV*({Tn=geMLR^L?17^VP(4Y=Sg`MCPyOUS0#c)xbF%yG)DAZ8h)LHAbf_-J^wQ;UBa(W$QH+>3?V~NI z#f$v&D)aiNvzMD`_3>Hcp*1>qeF<@hl z`edY$foGnA?JkXzU&Ancr+DZ#U0B2%>xfyCT$;#MBBe`S@otSI4?!6p z@n0c=Hwp>?`cnh`4D@1`Uzz`^@STd@rQK5>3?_WbsT1@vEj@khWzB0MbkPFlFA7cZ z)=aB=Q1{0gSBj z_jaBHuEib_o{LTdE{AT}+jfD!t=R#mE`gVn0~(T-W01+1IUo3-KegUuWg>guPf1@f z{<;wPn+iX_E|ZP(Sy*%4k9V*0ycRWt!!iA*b$`gW_8+u1-5~>z`|BY+L)bNtg1@io z_e(k#pucwLANrZH+oN+B?az-tTE5wK8;l;fYtSyk?snN-U|Sohg1|pCa0u#&go%K* z$z*v@4^hBLwOV=8#n<=LrDKS`!gW{QVd-G;Vmx>;YtI@Fy>0YXuj~&s=4`)aryBKN{dRIN4$#fUF`g&Pr9*SHC${KKG|F!|g)mI?zg79>d-Cm< zuC-kT^2O(@f~Wu1X%Hmff#--09iF(3_UiKzk80;2+wZt!(L0!SC;fH48JGJc&n0NL z1j1r=gf>*0?P@hJJmIY5Or&K6LCpCbqtiKZ6FAETH|>t_OaiCPZB%4E=sVPw*f(k(`^R!qQArn`57 zb>^tGD?3mcX5H6r;F6hDLYw_%ajNbiVgvWT|2zN81SQ(S7^&2?nUbqa!1E<#hNXHa zi*$DMpIuy~YKcpbqy8-+67_FO?L__d8a9s2E2!%^#@gt>MVNs0^i+8FVO6r&yp;hT zw(h7({}Y0lS-2skfPmlxa>&`h@W%eK>DQZYbJ0!3E!4D6ur02vn z#1HU(T-jT5SE^%QZ=bX=;X>N^I7^pVT*Pvqitmr-DJc`w1-4@C4MQ`+I7D=4T-`I&weVOC3pZm%SXeV}#C5W97yG>o=YQpn0eV0d zC=fN);{=qL^t}v(+=6RSl7XE3)OO7?g6=pL#@#M|aV&F~56}YC73z0ydg+GG6I!zKx}@5Relmf;to~3c zkc=Xn_X*Ltl1s*+Xz6=AWfqI)_voV!&wJm0`3DlW&KW9Z>AF0{~_OwI4C^d$`;7HllMpMtXYF! zQkz?bjpMs;Sn`ap<7<7p4Lx!|BtD!42XK`zJ_6dA%vkDhL8}H z?ixZ`nxVTJL|Pi8OG2bUy1Tm(5GAEsx>m8!#Fygz<-}ocj*<~Oj-7m5F=y=4QTc*EMk>yBx+?Ff8R)k9UBWf7N2AT zhpCV;f1~)tcP%WeWi9=W;iiVZ$%}?suuo0gG0F6esOXFJ?`}wVs1M> zp+bNEg!9Z-B=9PGZay2XBpY}WZ9-M1j2V2HSJ34yssK4qP5%%*ZN4(g;MwgDN?nEm zj-Q8n;`(zuye_P)C3@gK#(0ZQnT4Brq$D}!KMcV>^s0$COu=DhfFTByy z#sR@XEgh4?3?bc~Jn5QYbef zL%{F+1c32V6XSrg<4ja1(Kf%wHRH;gE%1^H0` z{P|6Kw$IBn5*BOu3W9mkJwPY1h&a@=B4od1%F{6iD25b#JzXQS96|Qt#bU~g)MN&> zx&O2`x@J?D)(8tn>?8y`8A8|WFofka-CaF%UchY`b8``RN6PkwaAIJ&g>&AcwUwl~ z6q$t_tc9CDd05KP{5FvgqvH-S-bcxS=1h?-TVa!mh4`cq@ur}C=iHc!E0BhiVW*iQ z=GU~9gFwvWNlVVr-bE)|^V6k-^^YX{gcRpQ0kXOgr^e)kj827N!Kqqko1oWzB}ZP> zHty$tGc;m94+JCt-QKR=n;0+4gzUP%GK_KKi3vj%zdujebfI{%f{&fUzi-0lXuE;} zn$69O&JfTAe?PQcZHP}*l3zUp*u;IzOF$l5XlSutCPl>mq?sI*9qkkV9i9-Z^K$*7 z(|#Ip#(=tz+OtEYZzj!1M8vSs+I(1~^Dw;aW1N0DWR;ZorZ4#Cvevl*U03S7X%M3hy1oicBTj~(AD{*atV-*2?t<&iE13$*b8&gb^5HRcB zFL$*m=NF^LnCDh}4G8#Hic4YJ=rf=Jzm}!Cn{{G82|`gq&`TPOmZggMpLtwi%o{8y z`)}Hqseg&^zyq7>AH|IPWtY zc=CoI9CB92{gQV6>Fm`kG6s(@*-T3k&>H@j0{SstpcVyaYaK%u8Z17st@ihgKyLDW zQ)nhh+r??n!EcJ!M)su^}R zTI1dC-CU0oH1y@8P6%Une%$TG(oUUA*!fkln(5@}QhIbeNQeo+TFqr6|NgZ$T<8yp z`}nP;gjW#n6Iz)vQRM5(BcoaNAv#^}*Qf5wLMS(H5VMAHi)D_`XZjFnH)EkYS4UG@ z*uHsQf=5@PR}kI5ICM_BD;Zj4S@jUK&P^%)6FV}HM$LfxAzd31ky>_{=?e$nNRy z7T89ml@o>f*}3#u@K=8ZV5766?K67v&%F!vje-KXJg!Pd0qIOsLWu1saX&wg1KA9v zAw`xFDAcgy_%VO4i&G8DI&s+G)|te+3u2k zk~7z=p;t6P1m<=|k+H52z+CzVjfB14dv%MN|AX@X#HA2}MqRx#q>##PVZbW%u4Wwj0EDz24C$+(~uv9D?qhN6Q|QMqGie2g7}Y~WiI^M@Lcwy z1|JL%Ay@lvcdC~BbTxKfqzZ6)>zm*5koj8h?O$qtm7A8$-EYOakBS4|a;4eIs3tNL zoDB7U=Ujd?&JlpHc#sHA-@yGO-g8)3-`}2byNJ*Br&@2yJT;U%hFp!K^+Wh7S># zih&DwKk3Cxrp`AqSpKCp;4N>IfVj=B!*%Ll?f5~eA8fO&(JM!^ONRoj=f*?0tvnk7 za2M{Qi2C|R#tyd-g)nU0_AS0FjrOeBD#t4aIknHvg1pILVh%v@&IQfJ#y7Mx-OI~- zT8ndY%{a==rje>NgxiLg!wQty;;AqlqSIC39LfOmLj=g2ZBIC8vG z`Hf-nv$X+w&A(mCO^kp(G+-C!qXgdrb-a0g&k?Qgj{0^uw2Sz&>8p}J_k{pDWAGut(S-qqAs0MkIf^XM&w1&fN~Aj{TBw4P1&K<4+l<; zZ_!=mbHW~L)lc+Sl{{nJF0KW)R_q5dpgTOId%vzFm&*B3v7+6$CQ|=`z)Y}A2owQ& z&DV!YF=z-XQKx+r)2qOUOW0sG5-s^?Ueo6gr9hK+({09}J2kk$ksqV;P1{OoD0sDY zXgp5?!}>)n?ChE!#qd2hZ|+4LhK*Uu+sWw*U18O)LxukF3g~?Gk!2u^P1+b19MJVO zw3vR(`lWOGoDbrIp`pGSEHHQedkw3Tk+Gl&?VLG=WE?=w_vng@jJZ*P0Hb3aVqvD(V zRT*DaR^i3voXhyl(j;22Lo9yXBh()5Cq(-C1sMPvYA?76y6nGS{36D2f*BYk9$?Lz z_LWo0LL8ZSeTe6W^$N)m1_WbSsF`(Vj_B*w#~%d*r$*`DA7#^^{){bv*p)C-Wk*+f zZCoeJ{FADzUS>9_UXo=ZvB0@H|R<}qo!HEP@NVy{2I}xr`_1po{0zd zXITGt2eM==2&){vXipVg&P_)BwrBmiaF?0h`C+HNB?b_v#I>$$i))J05IC zrNU813M?%61V$Z3z`K#V6=6!+ z24cK{Po3)u5cNu%lIhRoS_C&~wDDU1s3{I;wt?p_k1?BRV6JUVhLqC?H1AO&efyaM&x6K%e@$ z7onq5;X#?&Y(Gvkpoeo#IIZW2Q!jRet6A?{h743)T+rbR%KQIg4v{cjlW7f` zCj-0zh~w+0yZuq4ahU&zG2v}vMc`X82m(SA&tiNr(-43jjIM-OKZ+3T!YIA54CW31 zb7|#yMp-{L+(DGo3i56TP@DDH8uH9Mq8~Oh-bI>zdxvMU_(_zX#P7cMiv0MqO?eKC znE*YGXn88Ny!*nr%Z}Q3J@VAXmJ3)kImi8n{Sw^yUa7y~7z55yTYs zW%i>6pu6;5WtuaL1syuvO}cVaPF8`@<(Hgk45m>Tj19BFN?)j^2ha2J?xm}G|JO){ zOP3&VWB|mVwQG<8$_H$Llq3<=%|k@w5piP^#5;p>!s}kVSxFTOxW%)}tZSp*kB>74 zGJ~cfMDg2x^y8VasNAt-84Rj4Y(_!HtWYZ0zMNNm1y7_XzA>7Qi30lK`*4}PhA0TI z9X8=$cvyT?+#Nh-aWh50nm)(qF)^T^q$H+=*!sP-=HrgBKXyoy+PY6zaIHvM)Q&n% z21trvN~4FfP~rsnJ29xes8=`0^S~ykZy|3-6VZdltP!5!`x*P$2K~%Or6o9F>4(Y) zB1xPG?!r-dsATm}97JO1qd5C^JSSn0YpS{Sb_Fpyxzjd!7p%Dt7< z(&yee+EGTnH$9oPLgZ|wA_-tx_6Qq(pN>wmD#3ogck%T)dNqRJD~HqD*N?mERU8M> z&QWK}iu)8pFp%7xXE+RJ$(ILS$UFW3{>mY;HP2nthAjgLtK#MAj8K7 zcCYOG*Z({-EJy?Na6u{YIG?R*Yy+n;waY=~0g^KN8*}JiAcNPm>6K%tyRSx)W(W&< z*S~>Z-g^335{Q=@jGmewj3NXokt_T5767mF+*C!@yW$su*UzE8?Vw)`TEyGV z+b-7j8Al^^W?x-8|Ez3a`Nd;^8WkLa(e~5MYQG?e)rffo{>sEwPCOA4Z`qIk1$&Q4y9Af7T5MO=x@fa+#-n@MnEZKz! zMypcycwx)TY!f*lg5r~vsa~n>eqvPj!P~~R{i7@fa8a7k_c;F^MY+$a5G{EBw!9>P zIreWB9lT404QQqZr-Kj$C%p=7?-90Pvt<{384eR~GK;>!&B^eT?&q&${CV1+Ro=NV zKWJBlg-t9jFjLm*u$I;EM>auEnQ*m#X>?B#$k*Bikx<29NGAq#>E(75dK!f0H4$DU zIk^nZ!;^aT;;5-*>@bZ`*Ec^V>ftW|sNuvQC==fAulf1~8m^wqbkw!BTv6?KH6ASa z9TY5q-oy{t@{{QfW!^H$PWoLr{)!>_)tz9e)YWyX@nf15gQn`BaX#pb40wUG6lxG8 zWWoX?jFBCtsK~Meh?QaYP&54tO;1vBhPVU#!(DEx>hEZ?fZ=iVvH6S+Z)@)Y_0t?+ zXxBeqZ(6?3o5vA`*>4EsDZg{UIhicb5LF?^V-99iCU0bq99PBPf!mP49Sw}s34KO@kB!-K#-oIS?WfF9Z&OoE@$mxA&3NV&L z^z(ZwKF9H2SSAR72p$p+@Mk}#@@0%+)IyW~!O2dHTIY97dZ?V&T3d9HvP9H|FaSd< z8p#W|5#SA>atYC(0gD>Q&j*aHcXYO`vte8YmT`^uG_^-{$8rOXhLLre8=1YpQjA%l zt>d3b*CAj?C`C8|vXbz`lZzzRMD4Mo&MjO>)qNqcmm;;3yu;*5wAF(L0sbqg9 zrpT?Gtp`0CCJkpsp!940*_WiN@@jt*Y&+43KihSKCQ}2fB=9*dx6W&i{wM`xD9!7i^#bsJoh? z<=0iuK3s%)UR)ojk*asF=!arMQ=ScKl*s@Ed67jqwCeY_Z`oYG#EB|A)xIrXA^4?D z(wOCJ^qMQen<5!4y?71oT`!aj8!16CV{YZRrp77={z3(}%!5J5HEn!+9x!HRo^)cK41Z^W9gr0-@TnpfPptCBAszRK}u+tKw+HX*ty+ZmfU4cG= z8YlhSy|6T55$fI^gJEgGFn~7gEJFP+y`e4nCpa!8j!!07n-+Z1O~ByUg^hv_0h(T{ z7j(@w*-u8reWS{9;P~q44z&1@JLog@XwyY%T#Z2GhyG5k^t%{39th-nh4#7ICH&4{ zMizL)xdZbvoLl0B5rWb~j6c`luvEVC-V+(SihQ-&_YnbgI2FOHi$Uq=g_rPoN6s~` z?tn4l10xybU`$Js;dfq3{jTbIIqjD(SxwwkYa}6Ex7jPLn$!Eva+Be41r%}UTexA! zGz5&ud*a5+Rd0s_`@?0`sYJKc?|w;T@Cu4l#FzX>-E?sQDl?%7Kh14!j=2t)V ze9eE`Y|hTQM48V&4m*R@=UV00Kgk#(Ms+s6zw)=_DKfE5>EYG+@bn({6{f(1%16-R zD|}7-S~AJfWxCwATm+Ihgc5MrqLD{%A3f&k(Bn)NG97A)N~uKp8C&KvZ}LMp6e=)4 zal2A}^8U+m2ffl4G_ z3&Whv!%%)`dsgI%^)?gux;=;>*-dn`H{8;s80fviyp=gHq1kZ_JfQWB%oI3_8U1~H zcO{8$S2UeuX&V$vr4;?^>URbwaTTUDULwn2XhI|tvwvf2npwm#<)9b?SVZ`zCk}@H z!fYd+JF-a8&5Hv^oXin(5mURHheAAbH3HoGAIG9m`oe&Vo8%)j))W*gfol1ajPvPJ zPm>2(>Azp2HXN?Znr}mSfbvv|=VbhdQ#EGVUNzL2{k&j~Oy?4K17>8Vx&rg>v~QU< zaT;pChg7OXX&C0QNV0c+IncTNz`?$l;K(=nedRz1RYme4?`W;5?9GYd2Ehrnc{a2y z2v?izziK9UT5`ZK5V_)tj7!!iq75>g2Lw>uW(g6-M z(}74t(R|Rwkc>CzBC-{%u>R{bnXk+njv5T%rWtO2CfsXC@I&|95W~!^2s-gELoR%}TLds_q$O)KYk9#54sIzHjaot|ZMip%UeX$S>Ad)IT)g zkCesmzGzOtybv!U*+p<9m6}Z}l~=Pk@m+~F-i$S^7_+zt3-UiZTKXY5McO44nC@T(qMy` zO=BxubUz>eZe?90Etr?z8GO@zuHf%+z-ebAAG_3NV8164-p;%G&zufKF{5N0_!_uc zWsrZl=1)clv2k18PbCc&A+dZ*uy#l!p*o{H_dmVLWpQ50Ymj|mBpc1N>)R%hCOeXJ z`3R-KXYxo_BbBBMq6m+>cpyU!MLm)Yi4trM*@TT`#tMh>xb2BTDb!)V3kp}#^p6F>hu^<0ekOSXJ)NnsIVh+7*V%Z zj^7Gr8TM!e9qe*L2-fa|m2P$9ZE8P<7xQbs=GyyXF>Pc|xWeD9*8E4B7`b~UPUG<$ zyUDYW=K&W3f`yJT9zWCj0#<9{iO^PiW<2gPuA3pVZd!903MITRdXP=em{-n}@2@F@ zdbT*;KmIDIPR-y7K-h%RWJ_A##<)|+JynznWC-@o8_BCRv=4}#-0^npaDDKDdXZK1pz%JcxMdzY#;?mS3#xqH0ecy*pNHPw zL1~$OGO_l;eB)}y^l1IDq3{YX!k%19{gJ8$8_cyqKO+|O5G*-u#{#mXUNN; zS2IECn&=X9MZp4AE}P(2T!+}%tD$!~W1^KhTkZ;fu{4Ha21j2K)HgL5nN5B-uQXUH z+RD!-dc5abrr`)FC%&-tpnCN(t&ZlnKO&?OaW^l)*IEa%=!#M@=TK`Ev#@kH#^jDQ z_?1MIA99r-^#J2$v?}@^Y=of0a}u4PKjh}HB`BRVVTWECkL^vw9?xkY*!U4QH>VNg zBcHBbvVaK*35Ck*=!IcrKob7Rgd-1>yGeos5^@7Oi5INN_j8F^lF48+UKv?^+r2Z_XE|KZ&Y5^ZNCF7lH~kJhc|%V@nMcvS-(l zwl?1mm5yF)qZ5Gw^*`VW@5oyHqw1>R;Q8^_#TX6jrBr2NfAf8!CRp(gE^>uy z**Kv-W{(JCe~7EL;UC&^AEyoct0o@@zc@24QF^TM?hRa_y=zBSdrz>y5tg~P8jNK{jG?q z?6*mqDchIYbYM0jZLR5ydT)Sa&&dyb1cw)P-KQf(@inFbv7X>*4OUgGpRb} z;P{qWm)a~~CxRnv-OOJ}(0!B4PYLlC52Mxk-rG4o9mmBIw^DmDRBAbQo?0PezkL#} z_l=j5G^;IJ`MBoPKR++h`Y!bNn7+PsTBIm-@x43I?S$Ft4rDW_&O|gy()1ad?`RG% z?)zn5Wa7Fo$VukE{CCSB{`rrkj*uQ`DVVv~;$2@<=@93WlPt-0uw;z92tbIs@Epgr zsHKUdi0_KO=1*C^C(kTwCi(^MGX+iajlw`hL3hD{K%b-KTWqK zlgr8s2)N_E-?cXPZPtS=kjcO2t1n+_Gs1LYfHpHEcru4fM}C*t4$Ez2=Y#L{Gr@i# zgEmv;UmylIdG^_E$KJO&zs=SwanO{@uve~YC7}rY4xNsIR4I*lEMPEWtue>O%A%H9 z{zR=V)%8ba(!0GgTy6a*SvuyZv$tism8By`T@a}=n%W_zf8`)?e}+K~b?F5Fq0Y4e zPPiIjK<{@okJVWOR4(2?!xa+25Ld#uE_61QSLhfrKco?_SkMcR^>PWWGsc|V0FgG~ z6g8>XLbJ%K@2Ds#hYEecFSw0bfAE-49vro^s}h%P33Rhm5 z7^_z@#sJEPnCWpcNpIl3mhrJ_I;LKfup2`AOTed)_QPq} zrw^}j`_aXtfN>at7k&ovcP#}ra4(OqJ#D1~xcM*P#SsHXk|bG>&ULi-6Wr=DzXSN> zqI-42Z@PprP-pJ6!P*6h@6$(IgUBvVAq@TC(k?gna1?}oOmoR!#{+&!l12Jy#xZGV zz^E^(B?_afy(n87?_!usne(7A`h*8?jKYp2L2OrE(Vn~NouF}7c(>)`-diP8UE(N$ zas_0-2%=m6Q}}Gc^_!_hont=J zDiOWca}CoYdpR$<;z|B#=x=gP+@HxvL*MiyU&u~8=EtK`Ih(@$32b_BJnu0<>ktzT zEL;2(VQxAt7&ZL9Z{5=dD;P1+FfQr@(VfFG3yz*%*VoqH=K2(}03m&pOd=R^>YIU| zAzfN*C}2m6w`(C)lvqafEz?%uW{yfMZ0soJDpEh~b~aTZheJC>9cR+Jya~($;;SyT zJ?SQPJBKnadax6A7YESU3mgiZL9w8zXw#}0od6TO3wuKN?3#;Bhd4o;rCu53uv(+6 z#iFoClA^8xvHBWEhKSMXY8`cg??p^AVTKD3@~EgJaWX3!+;PfXB&Aj zS$sr@pd4VwqQltYy65cOCBMR6R?rhHTZimi`4i2Z>!BWL5Sh)0lE+Mu$yuY(P%CtE z1~m`189%Pmtr=;&m4>0}rkTnEgpiU{Wi#~kbWxJ^3LvTb`y&G`Z~a7RG-GTphZlI0 zt%Z7xz}xi@u%c3_&50QWK76ux!@tMBYyUMA6ikxgO%2Xu;9&*!)b^Q128ZI1{1jo* zzvZ7(LPccmXNO1C;?rv>WOvyko&vJlyk#{8f#UHn%d1Ai+aO(I95>E4G74eeG_n#Vz-3TwP%s&d!s043X=h5 zu%%@A#js)5wP{i86t&=h9A1IFbj7YNS92|hK1_eD!FlR>FJxu-KI4-erfgKkmaO;P z*xVM~N6~=?rt%?aZMMPo?h&p8l}kkC;Kv8$ZWqLH=}J+jC|;ybAGVS{8oT;iB0N_@ zB)~zKBxmDz!IDq$cgu+R!`~zU@k49LnuV^MM!e_ljN&re{g1``1N!Cgy(RE46lWB<8YOJFH)AspK@qjfzg7-a^sn@Y2Fr9Af{<7bt|*$kF6VT2q7c;;N^AFyFvSVLh|upOufo|DLx-mlg5sNR zn$g4p&-ohK+f9Vhs(xB8HawesmOkQzm<-pjSn4ap|B2Ct0}~^ZKLb7n6T+}jczd8! znK!*eU$GLvUhUcoys?7E8+fI`yCjlEUC3rcY~?LVv!qXFkr{^lWXYm#bO2PV+K=+0 z17h1wWnor(N+KKA(OL+M78pny*}bB^gYg6aLC<*z6}y$gU)BGIsYo9v6=#AjZhP3QEYWI0sDc^FIqrL2!dnz-BNN57)@YLkYrH;Tb1) zRjuyLRP7a$9fpAJll+d7QW|7~MP6+Pu)ANDr`076vGkGArv`mB(Yp(HEX*8rIDh8S zwz5m+jD4X6N}o_^R5+QmFxYRHr_jiUMCgGfadxr4uqfu~CO&kT6fRqlz=d?5O9n+>r3%=%Cq4j3+(OO?Mj~pjqBks+X<49Zlg00^@JyukH z+bHmhK8WgUymH0&%e0DSo?TAcl5SRwhf~6c4U1Te*k@ZVxJd4|s`0_&kJe7jNJ)s% z7N6pzdxJQikO0j{a`i=eyx8~z*i6r}W#9$lO5-w>N6qh30YxEBXA4s!{1at5QSj8|(HTjEk<0lN2H$RyWzVVQ9L5s?`Fhr)mh+c7Zez#AGqWhi}IX^XA# zKDLX1Oe;ot88~$l+i#&QBO=zw{h^F}P}t&k>B`ESdMWb{b9yM1bD>0gu{(V=R<2vG zjCV!95A`8Q+~Yr`9Ui|93SbLzae$e4gegYUb-ew0X=%RCb)-%5#gp9a%D>rw(ic_5 zf0Fo9hIlN3zf9rvQ|(oOScTc_=bz=z>a+dlmA%{Z)0XJcS{2+}R3h=O2%oEL4&@FR zTbcBssjRKw{SGFG0aL8S9j2s+x&;r=4AKq`)g_aRY2`A;)4z_0l#F(e;RiWNN|lGQZNIcK@ijL)-~uk9GAC7`rdYUe{&DqBfLH(MG#w)A`~M7 zh&x4p@GuhDU(n__`o@*6Kyyu^DR?rwAyLx4S(I6*nI&^)H9J&f+4O7p`TfVEj9uq0 z1GvOvV1+e{d3?p7GLT0^qyjcnFIonesLe#M{^CPzXUvc=d+0)D?5*t7nlZo5-;f}b zK^l4SSFiP*3jU*g54xHg^C-ItnmufB2rXJ}YxVI}+}NhtQrvDi)KbTs@oEZr({uBg zHwu-3db&!6$UbjDCiwcNmN4VIn=fl@(w1q4*LbN~p3l1%2A|2}04HHJte7g8yvul=qhG0#WuJy87XV=K*Sp(4rM$F3jAX@l0SDz%;nKI$&iKthrh5& zhLA3vJwvtPzmV(pHsbZpSNp+y{?YR<*)B;0KR>zNj--^I(^OQ(Re>X{99r5jGTZPK~Cop|wdxq{+4-J+=*=e&=?8HqqL(gTtx>@knNz{tG<-0v$ zm(kxoya3})b*zvoxOb~8WOXxyO;EJ3S0K;~am}sO9OHcktdT!ROzYe#1gq!B;iael z>2DoS@8M-R=|{Snr1aMgT;@HWXFL)NXEaG49+s_7NyV}sx?V_TRE}^;RiWq(1EdFLlR&_K*VhB zEBBMR*!R}XJj0hB>~G7P09tx`+%v!z@qzJ|hqsSfwauD>iFg92`lpk$Fz#LmJAA(F zb-Iv{NXgxgS|uIOwq!aB%S)YevzNiUpREbVD2lC-t|~v{f8l=Sw&VY8pjvmI5}Wq^ z*Sty5m!2!E$QYi5lgGy##lfAzjL*AyazCCNm{X^`kCFw*4l|sh99mI14E`zUw*>Hy z?sf7ljejDjLQWtadkIUWkvONkheVVsZFm%69qs90OZ5j_=%MjELaJ^-uh(}4=(Exi z&3v$-RXrY;E9_14b0Ibw{27{xXo_zdqaNwDChq;fWrMvMdHie9O(BW)zI3^!3DVe7-l%A{vtamV42-Fl^t6 z2kN4v>v=AWr)chJ@(jZ(6B50Px1t9g~O_xr7-EXPPXXmA_Wal@XS(pmFBW%9$Qm-l!ypbzkN!u zT%&NU(AC6`;&15j&xzh9rj0OhPoU7EnsqJRE!2HXrx}Ugyoz2=?7=B)=U^lLw6E`R zLT*-C4~~(cGPd+Ctsn|)e@Tz$)TVOwZP}vKz#Hv?+s30cIw>oss)x9VD!8gh{#NOE zny3?kJV;p4~?%x4Y5@Vjf4$2!`jtF9LrLlpM9O#q|nil6qcgmi*3MWR>4VxX058%s6Es;arNe-X}!P|$n?v|R~PDRB` zU8Z(URpc-52~4_~LcZ`1@0ZHQtWjHJK<=&|#XJ;>cFCEM5aONOc(QqzF8T~8+d2-I z7Yihpi91ipvecDCZk9^uDSa;9>~Ut@)R9tARSGPZ5P=q&y|XT4{tqruK;dh_@~51B z)yw9a%g0L%*74T#*kT(sXt~McCPSHeGmq_X)#mXoZ$gmY=XT9j-eFo?v?FOaKHjh5 zmj#|q9Ja&3X*K(x@1D648!I5dNlyTF^FBZl&(y}**dXiMuQLJpUgG{A40vmJ&mjpX zm3VMrmZdaXYtaMDo>9q zPgyo@4Fa5@rd#yb>&+v|9v}Wk?PkLpfC1mprfBCaYd`IrlGx7iw0)eUDKq=al4S`Y)4jBz>z*<{ElMe> z_}YVCFi;I$nz+Q5gYAUR*h5^?A`L#dL9eypYaxCc_=61JguKF!lEp5?!Zzn@m$f<_ zM@7V4u<`p)jg&qt!Ki>iR2nNwUc)buRg$}WcnL>9Wq}MB)zft)lU@7QuU{i>4=kUc z#tUBqr}8iBD0JpJ>t6oLm3&|MQv)_0H>BSPPWAa<=I3kZtVJwOAl}*Ofq+?1ZtZ8s zcnq|k(?Y5b62}6@Ywz4d+h#q!wYP=vLUZ2b#eH5Iz_rG!EA}51Z;{=hj*7wJx3ONW z{pQ$2*hV~HLaVc2oFz`TI)Jq%$-}3u;GA5;j)@l!h6P-8pL}qDO&XAeT#7?)sa5$A}WcgA9c3=sw@WLmbq=D zJ$EpUcy+>X>2yB7G>&u}rgY)*-u?SVqjxnO-NVBnUk?v$VuO;B%=OKm{OgEn_-U9; zY-}tdSZ!?z{a1VB?qzhK-Xap~#m zk;S{IDn8qSN+n9ZXT03j>Mj!-2z6kQhusymSmEDA(&ej#(5gkBTYgtk_p4;ka*5u* z2|{rA3Y38Nc92+kvTp{-5>W5wi{@Qgg=RC;h~LP7f(_bAISL)1tIy>sK`L$e+B(&- zg0?tyHk6;q``{h#;grg9nUk0y!qe{Zh^j+HA zFk`7?`F7JYq4YdX&~iI*>8M& zYIIrjy~PD|W6P;ZgF#e?#HTX5d}7oHrPQRKeWg>EmsP5N7RkL~D1Fs!*>1?|DHx!f zZHF!0FTwpeMV)ifJT@pg`lY=UO&vAQe2Oy>_hBT&8n6UADTQ9$vT&~n3PKv5>}nA^ia(038h zLgf$iy~NPRDpa(N4eGN9J5or%2bt`*Y2qY&X^0bkkNZzs?o+&-kFKH;n0lx=m>_GY zmBbfw7fYqXgsaH^yD<~scZ{;w%835}Hn_FPguzkgr;m3$gYngL%(3vg)4gd#R3sp)oX6==Y954LDU!`ixfkJ5DQD;tQ$LQ1D$N3aU-vFF|I(JRiO4o!!*Rc5nq=dU&qL;~M%?@3^z;1O@&xl}Z81qllLZDxs%F2fqST2$mIU=nj6z&|-9n!9 zm})HXT4T)9>hKrFl7$^d6^=zK_nVGIx~v^L?*uMPWsbwRVr8y~^UPdsQsW{av-0}? zu}BaWIQ0mj+s6U5Q%bBH-lB?=2VXiv;D~>Wy2?;UHO-rUNv3re>D?Ya?Q&H7$cHk# z7tMACf6>5?8eM@<_B=w1@~PNg^(t6!I?H;+offADU#ad2tr8069t&ot8)%=TD44Xq zJdJ%y?PHWmr2;B5HpB4ZOfIGZ;^x{tN&i+`S}Kp3<4~qa3=+icjZ%yY7L|6wrlm0K%8%W$Z)) z2Jm&j*=_ZxYi;~Y-qRxB38sm94vi1p6|Yb0?Nq4uTyT9-8(BqZiZK;%wl~q58pp~7OmuW zdo^VmE4(*Xp67TGEUoyr%~nSe(7^!SBN09;TMuOYwN!1X% zLje3LH9u{Kf+F)it`BH^Xy}ckm!V?wX?-<^-T%svg{LSYR1!g5j)hQ-fq@~p`#7oQ z#{`qnTYoaNmgj-S0wkIVczEb^h;pgHm}Aas#CxNtQM`k$jCOs=hSQH@@bkcq#-KR< z&AJz#dz1}@SE8XIe};l7)L0n>@Rg%$nZmLTdmPJ*l9-%a*%{Y|oEB4Bhy!S4kJ0j^ zh@69IWoz@IV%^kKQ3F7=aS{(P#_UDvovB@&TC+ckySbfxlzOP_JQv+%Ayssp_rWy7 ztKo#m2kCZmx=Lp9tNw3uGD5yz0ma)-LVW4KCr0aoWWHdUEsd#&1!2U~051J&Udd8r zMP_A{w8$uF@D4seOGU~GO2eM>>f2B@-5v15R=zLQGp*w%P7bcnP}KT>@M+zVh1FI6 z8nQgb^2NubABuUeMfOQ z#vJU$76pYKjP`TuoL~Wb)WkjPt7qDbf%vP$Sz+-7y?pl4rB0Jq<%-^8J8$@+Im563 z!A$LK$gxV}Q%|SfSt^}(ollO6`mXms3q>v$_DreniZ=M}jgCEX$npPmhk}7R{!l|a zkZ%vsV$?L@Vx$ZYi3Sa#DE^zCF4@kUm1BK6Dn=4@IxrN}&CiY^f4+quEQS&iS7}#K zBqc3fM~PU`-YCX|IX+^xasN*I4MTeW{%^(@@5ZXi)->8@A#mj4khj{NHMgJ{GVx=2 zE6E8&+)XQK;!m!fX9qGU-P0rzJnly7F80sc{5bawoJJV0OE<*HkcY^^LL zM0d8zHuY+C4skq~?|~J}uLhYYGVq*>o_?{OW8hPHet@`6U;%0ms{SdX-$T5HA=vuO z3$^p)@yhEN?S;#@$X(PikJ$Ug_Rd{+0?+@gJNnPMuW=#>cq?h7tVk%pXiJQBj926P zyU8vOVF>Rq6%}L12npZyD1<&gNQ~y(!DA^Xuq|0T|2^|iiXVw>s9REucY%O8df2WL z3v@s&-9bZl4jWtwA!>H`qWhaKMNYAJb1Kh)K4bZNUeCmti5l?3Y>JV3Z&9PSzK8xs z0n?h-n~=n{^Ak2=5|XLS$sec1UqX9v<9Wh|2g0b2LL2WX4hw>mS(77#uqMjst}ww>y}0R-_1nE#B9r*l9nXflufxDJCykY#g-;wYSW(iL6_}SWYVMNS_|saSXnJl*>omBcN9zdarp^>=rmxH1y4sA@2@$mc$AU28$yJ7#rx zjS}wsm=8f10^nPPS-r;cq99Nr&Rb8*N-NnvT4ID*(4$yUvy8pjSNAFi1-!#19g9$Q z)MGQ_b$8hdZh#dNcd&UlR=m^+?OmLM0M??yf|I5-dKwnrrWj+!P@}uiu2`&w@`!qi zTK&vneZv^nL_gv9!N)Hrq{|r7SAuZy7d8v8JI5{80Ony-mhXAmQc2@xlOX_cbL!9) z&CqK2O`O!tR8XGqGC?)u~TQARO6| zr!vgu&k>4!i|lLk$J3U`8K@PZQVb6kkZBw*lIu_OFw9fX;AXd) zwV&7P{tLEyLxwGYw*j#Hyxaq{Dlo{pM~5$VySN2O6Fh~xo_*aT9?`H0* zQDKF83xNMO36tfVz;T55>3qtN6|f;_pOG z(`XTNVaWb+s1I#xc!wjVxwPlq2|q4S2+;R4@pOGwXrfRhOg}q~2X2A>^#ZsutlGMY z{Mk=>3%DcMU;CLXgE^oc_1X!YG99p4E0xM}TM+GPyJD>UBdER)w+qQPPaA}zxgXJP@VA8`_X0ZmW(vV zuZD2Uq3m;_9KP&fT!j;mUFWzZZ5hqneuAwRAByBhwp`O(M&>Zu`7#0`1q#aW0)KxO zVPl5pxu0@{xe1YqQWoyj5+%o&YRUJVTD(`N(nzwD!ZAX7@*RTr%!`T3;>Wfa&Gi1z zdt%f+A<#I1^w{VKJ%TRhc3cx%N;6-^gtC***R@G7=f_J|U+$Pc{|n)he+gUYHR2Fw z#40wb0iTOzC*uvtF{~&X9VcIdT9DSAEgXg)9!UZ1!rDxQmQsXBjqk4d5>VpT5x^4k(CR~;STk%Sz3aG_md9l7M4^m$Avf>4@O zq+lbI68!&omJIVFQuX7O<|VItH<*e;A1hj8u01)PEa(k+>tRd@j7aAjq-cS1p4m?( z^>;<|FD>MA&qvcr=x}9|z0fVLN zR>;)r$g;lc9r=kt-4eXR)z11Q@>KmV2ra&_SmTT|`(Cxb%=y`m|K9jH$y6La#F%0K zC$_pM&VCEwCq|iH}!tQ^ff0RkS`xTdhz+H!IAIvbi#)pXzIWOC#422cXbn>Cf546Z`pnacF|V=B`IbLc zI+U3z`n?T_848`Ma}nN#{1Pn&KgM)U7rb$p3*gi1?Vg7}(hMuP;Q3M|66wO=SH z8Tp|h4sk@gvObtl;90#9vwJ(#vxPs{lI=4$e|J;aK@ZlesWI#P)1IFEhQ7y)DoY+` zYxnp#Nb(?J0zqhT;8wY zrZd9!!A-0b zX7(6)cAnk)FK>CnEc{seesCI9fgJY$RcR)m-)s6ZKqwa!2`>WK37#CNTH)`* z^37St-Cd^`81#FJ`0hSyq1|wt0KRO}b7NVOOV;dF!-@uRqoJToD@ZwD*S(U(G53J` z|0;+GWF5zDwqF(r7Nep{%g>qF31}2s{_*8glaRj37R~-0rcs0J6CUoH$;u5L#@aP8 z5b*BIX9)Y5vpEnk!Y(|C*k{nEJW1;L|96Mh!P|0x4E!v0^&)aN9_{jvbJMaGr38Qs zB0_#;YIs@Njwd5{G@C(RsDuH$FP-3`;r(=QQK8VPY$5%EVL=6yIE6aHi{Yof4KZNb zw=;01DN9(rX@QbPV!M3^LbA)GUh^hsYt@sb`d-x9mgm8Yc5$XAwUF!Io zt(wYbEh+F3U4{y1cVW6%!9)T6kvqg_XwC-=Y+BC&nH;gA|GT`7;B9`y&pm}T;*xnm zvI@PtNiQ7cUDm!E;e6bsJl%BHCILKq?Dc+1G{ia*|5w?Nl@|--ppws`xG#e4%GtlSbtU^)*8JUoTR^^RGMd zKVZyE*E~C9MYFQE|K^;c-D zadgp?MOfi^^&NM6dIBmuw>T)Xf3P}5sJ7Mjquz?PJtt#^-pfdTWRU^l1`dx~b(648 z`Fo;N1eN8}e|{Mj8E!TTTJz0C)6&~7f_oM%h>|Sn57mYgg3htwEl3Td zDBlvJ@iA@YcH-t-x$!IVsl@FUC6NMJJ5f!5Ex$u5>Rp;A?mQ$Q!2S{>j}Z6f^iy=1 z+0RIyA74j%2lO}tqrIKK=-Khib)QvK$Ix;9E^>sM zaWv=$UzL)i$wLyT&=mlorgQISY#0!GiVMv~RG1s>0W{&q_&l38WS0cXQv;Rwgv zG7Xo2I2Br4rrgW1p6-*rhxU>gv>*pRND3h#uv{?;>)5pQi;ErF1anqT4%ttz%*=di z+;kSFP31d}_Zve8#7Frm7W)58QuBs@)qt)MFr?vYLv;LC7;0t*M%{e1HSt~A#DEOD z{o9o{B)JrSEYmm!#pKIV{KQK|O4+*dI7>)2-k!A@?b<2Y`%5TSb99&c!V-QcTTqSZT*|E>kcP*+OlqB zom*~WdAulS+iYJ&(~fLo*VbL}ouDh*6myZcxh<~%jKP{Mj8*z}cC=9nq=t`!OIhA} zXxk^?Cr~~OS*SHU1^p;-O+#^uac?`by?VTiDI0%&g)`MLL z^INce7s4oM7<=!RI0_ovTOLPYsAQv{m9pUU%W@(@G<5SD{TVy~rAMGyvi$Bio# zuO=E?6^fY-zP}`w@D4{3D)L0dIr*8DtglnmA(5dWCE894zE)^oW~HF`;NuK7Nq!-W z%rjk=I`_SuHknK8n1AmB4})EcW^~QqnL>)IJmfD!C4euK`6WAtg+zQ(NZ)q}MTU=b z&97MR!{$Ehd}?G#Xj|6TO&sHMCLKOLPDpuUCZ2BDLakSPIEDlk;Szk#cJN6p-_J@X zA!cFt(~zJuQ5e2C&`u_{dV_zIi!}3uV&po2Ni|Pi0G>SDIayQiN2x^V@pClWrr69s zp8Q}S?O&^T{Cd&_foCM@(82(;UXmTIA>a^PX^*+PMz=cv6QKJP&CB6BzHuJXDN!7&%#jg zi!m+lwa{4vq22=yxb!Gtv-qd7LnaOu3F;m3!B7}HG zSzm%)V5CT}^P{E7WmOB!*O0QfUo*_1?kj84K1ztR-sOn%(oteJ~;5MAUu2(R;d@jN~x^+J;KV7BY zt9pbqydZyMyUle zemQ9^ROkrMLqMV1wsEZURK$$SKWj_~A{1o#ynY(z3!Mq05DH=fVjFa4d-rJk%dn9e z6{EWi>lJ=>Z{Np4mV4xbBp|?zxaBSK3=2#s!@CE@OqHr<;sTvTpD_uL+U`3?UrHHP zi=zE682~X_hx9L3&HZb=qop3&2f@7YKhj!)cKe;p@^md$o(#wn7Rvqmf2@QSTq#)F zliW-;+9_I-FKfA2kP(^- zQad49_CglDMA7aG0-dlii;I0rElV3Cqqiy1BMBc8)Yf<|JS&U79465)8k$oltko(D ztU`>;mbbpAv{+`%cr>ON?rQ@QYV06vrs3i&$sOD`m1|MTe5PD?0_@B|w4UMRE2Ke+ zUFR;Je@atZ|B#Jfa_eqt;=(Z0W&F2>@PT#wC4_$D&DIEL7p)KwroM~3R*00jjYKqr zu$#i<^WOVJS@>Te-|jL3GAPk#WkVM%tFMr5Q*uaL8MB6WJd?VAPJ4)Ga-zv>|5)Av z74;lY7JkYSU5s6-sa5=r(s)I5vz)i~gl^9Otw8z9e-Nw85X2+&zKL5G z!5VFFpIcd>F1nol!gITSfhbdufYXp;-+-~oXGHHAfIex0!#@OwTw2f|I7SSd8SP}t zA-G1viXjpawKCEHB++=G&m(;g4k(@6-7|BU7t)ii#EU+q=05vA><-hS@ttOFO6Nz* zyTTFijULJFk}cKg+4{j$gwL^#i%qbCmZONBiDU2Xnj4H5!7J09S7J1xd-CwA$9JQX ze^1Xsd}A4=VG;>?)MJG;Rw|9B608}~?XKP{w-x~;m3cIlf2i7w=;xH?+{Ds}sYv}) z)n_mLU((p~S59VZEoFn#v4d_p&0U4H$bT{OCqQf3`SP=yf4v*P6cP zsV2Yfs_}h)M5N$d1Hea{|5c1f(RI~fY478R#qbkM%-!!J#d}i;SVV)o0XM_u;Y7Rh z^pTk3zE|)U1ic;~KO@j!W{RS7n*Prw`u|qJL0|-#L2}#ld{*iHKFZQ~@G_3g+ShCT zZsk;;&dO^mOttkiG|YGaed5?# zpnT=_@|>U#plFTJl+AsoFn_{$rWCq7ihW5QwE3%xgP#H!cfQJs(2>a6aB}mmbqaB> zganBNE6gPC5gj!W8w&b1jI@=L-~=+d=w8FqMJ9Y2C&@*E??@jfI%|kcwKoew7?E(x z^BD-yh8YtS7{(t4bl(v`;?@X)byhvO(ULuoKL(SCb_Mwy2Uc>o#Wmtvgor`-a%?3% z9`t^3XpvZy#i0BXP@)mCZ9mzCh()q6b8r9G+;WK5s2uwgS5O4Xp zcHw^J&^?tjHFK3RTQg<8@tFihyjxK+=bB}NRQ}a%Ed*v8`ea@8P*&P5JU8E~gek&h ziGxyw|6VMwy!D-M{6K*nm%K`WmhOv`#q@~>tm=w-<6>_?UGhmzp@y%$Fljc?QM{7= zp~)9f$)FFSYj(6f!=gPvKOxJpzNWnpVF75E$IxS#o0`f{M!0=VSkW;d1GxY5!4ONA zho@b};ZK_%6X%{j6`%W~f*2ZuQ-3$UMysPC-5dQk$Fza#|>@G;U@uqcBo64 zbkW{E#>zx-+NYTvS5FSUlr^K*S}(7GODKqj64EArNu&Uub?Kii^U#y&N)yct7HQ%A z*-p+Aes5^R++MXFU|7zZ%7+f#Vw7XI;t`;Po(CXEZX!<}{PXWLY%vHXqALLQZx~)P zGCL2{Sr^oCMwuV8vFqlP}5^MD2 zKC1#Xx?*sK)>-M5X~(ZXc55>{Ev9FeY9ji>8Tgfz-1BbR+T6+X(xfPpM5gX;Lf0DBQ$8U0qH$HYe+lmYL{M=XXb* z5@T|(H3+I9{BQ=~vvo$P4L!J+@bCL0MvH6-L>Yp2g>tgx_WdC5-zzUo6U#eBcaw7Y zhaw08If4;cfdI%;)ak%yoicD3#VP)`r%MybZPGOeZb*h zI&cLot5=Z$F5QKK-471PN06>9XZzPDXiUV*-gH8pRQ}ZNzOFN31T%eu@3dQ;9Kpo|oX=fBACeO0l2Oe&CD5q*}p!TyD?T5$ow< zZ=WGyaGktJ2K1TYi^8BAaHUbh>B0JM4-w&RC-8SOQ`|<*=nM(qawvC^8X`yNAU7u8 zx#~+-&)M$+KHk(oO{D?7sdJ`dBggVupQe;AOwriJ>Bn%7d`2Jv-6bZydgfP zMm5B^=mX|N>7=G%NK&Q0s~wtleOPHk^b4I%8rQdfuu-M*5n|-4GDDUE0%wp;%9beEPMR&hsq#Pm$b~;86B3wb!JG7YaI{3s z(>Yo>XYJdErRm~kb-jOl^FaW71l`atXd%jzS|N(MKtc4)0a_9m^zbNIZT+Z_nX)}_ z&SXnR>a6O{`S5(H% zMA{htU2wdogi;pG8jBcsWBFw_ z9X}Jh=m|YAaQApyH9V^JgJrBNq7PO~jUS4m;ZMtV(c68_Eo+GCY~z~azkYkkzM0DY ztXK*C?k1;`l=fxc3K{B~wS=sCwa#N$U3rb!L~)@62fbfwL{Q_uj@Pt*1J6mx`Ax#I zh^w^dHix-(X+js-RFnM@dui9})AqQzZ^e-10B>@*fryQ@Q{6j8g0P|L&q)It6XU8} z$01cqCt5)9PFb6czUHZfdoX$>H-^UAV9`PP);<+Tb7v7j^&$gVFy)?hRv=rDJ;k<0 z5mlh?h~VHe!|r^mC~19QIK$sBckUq%ttaYnrn0~@kCDO?m+BlcixR+JTi9F}#>voAsv7eOdN>jMMw)fWyQ zQ$~68lfR@o_#sqEUXRd#p-KAg8p zLA)r0`13Z&qjrPQP`dbcr`97{Lf1$(I0VRkzGGJescL2%2rzdNXKC5=|4o;x$PrJ< zY410>$%zt;$Rk zRpVyW2&N`JEf~Q+pC47T?+Ohsf5`e^Cpiws=a(sJ9l#{A_Y$l5f-i+@NbqfG!?#&hnQn z#+_zzJ4itZxR3qfS4Z5zi3}Q7Ggi^_dG8y%nYki#_$^7 z-dB>^ZuW7&xOBS(oBHOac#9($mvDf9u)CNwqqu~y&ugHQx!26+@>zNIqK41~&D7c+ zg3>ule2}WSu>ov>9{-m*5s87)!c^bYb`NwMTo@JfHG;3j*1*}uIu?~sL;bs*?7@MF zTC_3(mXY6c%fOSqk3`rPJ7p4`EesGjI*WZ1f0rAinZK>7zQF7jBrze^XzMI$N7*Q9 zv54?q4Xs5m>707H_@lY5Mzt*%rt!?K|74W11DbT@d8a=}Z)TOKK9(QO!;_P6Fv5;6Qdl+Z7jj$m00b9zDV36;D`mR&6N%vv z03<$(MWGe2^TVF2?!Za#h71?vyp#!9pfgvQeC7x3r!P;8=zpe~Cd>D%AAgqW)+H|t zuQ~KYZ_f#^@_FeI?s|JOXAvgu^tcnaBr((x1O_!zKPzDR`&hsn{}#UjSK`v6K!D}} z>JM*fkK8Nd#4w+X$&T^$(J1_uvk_e7-cXpC%#)|VT;ICt%JOpGGS5r#M7X-u(I?pvc;a2xOa+>0_IXdaKd;SZ#USlfN(}w z>SNYVcJ^ypj^@+ar}We&Ck=gHwX-y@Ded#-8+1eL{m#=38&5^yCuJAZ6om0fol|MK zniGhNi^lrWMcNR1VgE-970Bx*&Za={DtI~Tbjb4tgWZ^!3bdK>{lB!1dX&HCc1@(0 z2?b)HPf7@&L2?$>dCvNK&dtTi$3%h!8r982KZNlmL1b2XMi;)-Z%`8)$ z>(NH2MLf2a8~i2AM;67H!GImzjk3{`xv5wf|C=%RWo~Xtp=P%{fCfKpc-3yQH|h&) za(=N#v-q8o{LSua@`b<~!5{spEOBov3^A-1+Fi{c;DBwH^{4=*@F{b)+%D|2D+!40 z0)FCEVCprgJ{6mLcpCfS>@haX<&-*2ZRue}@%&NrDUMNPHBydj?ft@kHy(OO3 zw-#4!-PeTAyS*MwiZBpP2S|1g!OlMFvvN_M(O>_j`l7F=E zm6p9n*>b#>H#xgAUheL3_>^3wD0_r#F3C!U1`_5I6jhVSA;k1xiC$iZ?nrg~xqt$` z3#2!X5D&3S&?rA0XKjrSe15yTk~DR$X;W&W{6y!ck$meL-#5Yce&v2uo|1y1fGxP` z3wLlPBdgbc>WFQ8M6lbACTAY26K|n%dkJiN&ht>87dLi=x2ND`{{7>yL`ZaP>2T&5 zQxt;hb1B3`X{bT-j7A|9`AfBn$LPioZs-11$VOCP(w_n{y57cqdT?%x-D^=nqf~2G z>Z2>|t5Uydn9t9Cw-~Z_UuPvz%-^gyD@;=5*>;3D33%vt_7uC7V{tZmr@JD%j#p5 zsojqh1@$g-Y}_@PZ10+#1`!iUd})rLa?8@*<3|zfZaKZ7ClcF2okg~K zQ&oG(au6Z;BDh#+jQ&O5g)qF~G@jxwHbodRnB)E8s z7WX2>XYPuJ9py>a=7E_truCi0(BbozhdB%&#nbW~Rq2Uoxf^wQY6{G|9Pi5A%pOvS zf%)+%o>+O;snqqyhDWBN>SOvsURp!W9`(o;!LGi(mTIZ{w&}puh?T_^BgZ^VsUNKi zEp|biKmUbFsSB#V>b%O(h*vCL^Oe=44&ut$#4xrOB<76g96A3X59+8_MUQ15_!zKv zPI|L0Dw0*|GMA*MEyc2KzVU>v_#5UY5xg7km_mw)UsEr7S!dGHnh~7=XoA;+VpfxXv51fk&0G(Xg&O(KlRX3glyz-!AhmXOdu-N zns5}2RNzdjD#pn1pKDyNd9w(t;hC5Th*;x)Aw08q}lebJwoXtV3+! z@GEr^Od(ci(AoLgbvA8KfP-eIHO~Y!whoE7H5yiA#=_h{ig2~!;UCCbDoriWd=mp| zm^}KFdCvERlY?+AAOM4GaA?3UR}RVYC~BoWGhzWo1sMmBk_7Y?d;9liQ`yr zU_tSX`5I0P_jc=~;e=p3o|gX3*?M$1at|HsL*@wM@K_Vv&2b~Yt$V<0e7<-U(OsCD z;&q4am0Q%bYBE*b@bD#9UipE5^xo_8$zyEM@8Z^o+Er0aa1vwI5MT&b-&k41Tcf!9 zeeW>Qbx8dCGW#;yJ6A$Tq-3~O4q_nUCAorAw^*=TkJtQkQfMc1*QR?Bek8JyPmN5w z^6=^@?u}+dL6bpE;t5=MV*I0!>0`!cST;c zW=0d`5h3f#_PbKo>s$u3>x=m2lk7wCHIJwuN)SV)tuP`#EPvXZ67dUv31M!&u0G0N zz#M7ocDYMUbIE#s>J1HIGY^veMTOebjuJRApj>slJi4!kc}GM0VW zlHx1ndWZ@(gz$d-%EVV-y{BXQWl>_ ztW9?RDqFWSr9*6BXvUQaG!*lxCH`si=)%^;DGlc<1yJkw6uo3e?IQj#XX0U?q6RhM z=@fm@+=Uhj_l~nL7WY08;uXwUyzQFWRl8^B+Wn#Gjf@qJ5zE_j7@aub?&0%z%m*WD z3@Ewjt9=wpyKQM$DzsJ&;%WT)xVF_?7%BR=y%%)O6gff^SXw=zDVs}%Ab?7Irxx`zIldV6QnTMrzyK-ieP&=zi(X4*xP0P(E79)BRW2n zakxkA66EQCA6y<^DI|CBo%$AHE?&74+OiP z2`cVzW`uj)zC9Yz!=C;GK)%!Y-m|v%y3`#;h@=1n1ciw{+-tmc@s{VX@%pnT7f(~r z1Wu3l9>RNeh;G!ZjsJ07#Q0xx0zDw&4ZJ=cJcvn9^nbOyg8QuwR~GoJZ0M~6hQ8?Z zjVppiXGmvI;_AOpQ$=hAG{{bG$xnF^4b^)%=e8IVrWOzVgT<};9Du^REmjfNSb?|A z|E(2HK<$6$P|aFFot#`jHQsR8b*jUp`SE#DC$ypU%-e1S8+(j98)4^v!}K$F7>AkS z&(&33@)YG5rC8w?FirRS_9Kn7r@keNZ|w>Y zgAxTjey>wvW42FN0zzwRv3+3F6;#V-UI`s93>_U>-JIgp7i>!6gw>tpA$X5_X-_kS zS2qGKs2+!Jy}ILh-a*o77)XCgo1`CN)^_GM5zrRLqWI*`nbq2$ry;zm( zI=)fbv5>Dp^0cpX@c4f_KroNmy&J^@aHSGA*6UJhx zBI~s~q0zy9!1C45N{kPj#|mc?KMLNKBJkJYP*6h1y`?2Eg)z)_P&o?n!u|~1W4LBk zOP~BAj^doN4_XdmtxzbM9R~fXEZ3$Yb3uE>Vjc82S|#3N2-I`1dZp90xasks_0vL# zH7y<#j}gJL4>m}%iPcNWFub&z!2oU(&*zggIokB z1w>SSKQX3FaomtK8UT$XT8v0|xEqBY+RTYn0`t}GR zBE|LHg8yq_@BQy#kpbXAC#%@6NI97BpTH zI=o&wsKh**g)-lQu!H`}EYnR8A;>EW2tfOUi4(y7I91WB(vB$R-iEPbDl-lay_*34 z+Rw>g#ScbWGjlPl$xRhGIzcZQ?QA!yma*$)WSsDct;0T`y_0NmjHJ@l% zSfp;leBin@sEmQr8Nk*N>+xgS&jCvQR=#IMCF2!Z_DRD`z%C9ElbEw$m zi3Q=FHIpnj?J5Q#_7#eZi~xVnWqXnyv#-X+QDN;Qq{0#`MC4UrZ+{zoE$Ysesdb?` zb~j)%{laB|;O*rooA6#((}I1RAuXMr0d0YG%UTJU@`SuhSb&DLwPeyUo3BgVE<&kk zkCs}{5qhiy7_^B%DJ_%`?(LvCpn)RkqbmN=E=)=x1q4*7M0R?w8HseKKm|%R2aq)0 z;FONm<6h(Voi^pAj?n`NLDpwuajafS=*Ip#aD#6+rn*GV9h{5+Y|uWc_vZu{ z)3@dcuj?_ca`=Q-)N^^|XSld*L)eJktxzpqIzQ#1Z8(=4!uTV13UHXCt)-PXCV&b0 zT<2u7P@G8d55K_-m+tTV=3p+jCd)q98xm;cLtHI_M`>M=C8yn|MhwR(`#BPWs zP*bN=&sFUAgS}h+(Wc8rZLz|*@B80Lg2OL+SS9nPx!+D#s%aY0mjeC7-mFmoW$&H`yLAP$ShM`MBQPtT~cmfP)Z}yx^+HBtP7eqC#S7K=;umlM&3{ zEUcFU+X}}RKykhb!jb6iR#(G_SOcodtq4F*`x=Y-XY)y{_lSto)v5=Ymg(t`k>dlS z35OuQ^RpPRts|z~@~u219mks5uf6nfwV}vQnzM8uMVB>h-RoLWKl{8=W)^Ez!)s^3 z?+%(c{GwK0^=aqK%gDqYiUDlK{oN|^W`}!?(CC)zUixlL^e)7j5FN3XPPm#aO8PLb zsLK-v{YUMG3Mx1fM*wK!$k1OAP zUq75b5p)!pNgZzXC13cq4mqKMkXt*eD-wD6ISZA?V&JpKW0B*Cj}3p6_BL8?x3>#i zaol^Hz?(!kbA0ZsNQw$TZdP+$IzE<%~r|;rv`5oEw9#9#ATrN{4)isQ<190>WqD2ea>Qn^z zB5-!AM7ui(K2=8Cwjt)NOkK-YuWLfp5wx>zk#p<483fFh?^}+83x>mlut#a_iTn}8 ziCA?_W4ir~$3=jKs9)i;xyX9gDT|mfy2Q-jd}M-XDHN@{boU%?c#C)_1jF;hL-gHm zr*D{&3s+v($#KlB^x*z-pLFN3&-x_<=X$K)-|Pks&5s&)Xg?Kc?3E{VfZAB7=Ax!Z*~pfbNc~0+Qe(9P+~92((A>(7r;Hf+9RCti>ekEP7oI}Q8-XA{g?osV z==^9Ff|5{020vF&c+yOJ%fN&pp|#UIBVw2^zsQsq;~V-EzH!rX_%IMb6Sjxn?kS(P zWGmJ6NJXj&6*BE*r7iz&wPG^C`4vih zAHanHOx`L(uPpgBM9Q=reSGu#B^GbumJ4+U&Swq;Df^Xf0(iN;5ml@uGYByjb>8cy zZL0WHhz_xKD$1n?K4_{3#jpp#p0{erS_##^bJHkB_0x4wX0R{^A zv>-;i|90GY5n@KIme}lfDfiy_$0+*?^B0BDKGcMy_5}lK>c57cC_3MK>;&Ir|JQ_h zm^0V#?iba~DO2s368aeBJ z%$9#8^e9~<&`8vL=9|Z^3|s_=UL*!iOe&}gKaC2Ql#>EfDIz;7 z7(5<-gklNdr#3i6HX;Vz@r!3mQH?VII(OaK8Bhgy?>>P3q~9Kc1bN@FiJVJK^c0K?rbVTggp= zW80*R%Lyal=ggpUT!1{JrLMaBj#uz)2g%WTU)MWLGOU3J=AH{^A`kNc?Web(#AbZf z&bf0+TOSi87O}=DpYSuk@j1oMvRHoa=OGfsNm!q$5S}uHdGNT?`Na~w6vb~-^1MV* z@_KrHviiZlX7=FTwx_bT?cQUg^{IJwFp6jl;FaqeLTZY(mU;~93qhC0Q}r z*Lm^LLtOx@uC2HU>lK@GowzIY&tC=+G zsY{k)30jD-QGh3mj@>9kN3NYIsewOEl&JtJ8w~BDv-*osU(vP{O-%L1O+6#Q`Ya9h zFbemEw$rzfrD+I4)p?n*km6kz(GfP|jImfENvwr{;JOUI7p5RCQa`cawimdH3cnf( z*?W9nD}TJ=QZ0HJw2dVQw{>*S{ZhmH8nUCz6Sqm+Ks4g51ucz(NG z$L5R}*Uie^YpkYShwBq0=*BO=ThP^I6fp#x^7X_z*ZS8l$&m^Ump9$AcXW>h;^H}( zi3=0J!#&K1*_0_PNphZNOOmX8<3Xh5>33iQz)I_ci@vlN9k+3Yv<~@~d`Y^s6E~c& zGVQOtju+7@(S?qP7PdD!z|j)7x2gUI6j#&_x$U_UbdZ0v_r!?r_J>5?o~05|05_N9 z3<|O|GZ%N*H@9o?7u*tg-P7_ zBn3?evc(-VTTCE1>I5UXtE=l3&sJ3!?%KkiwQ^@=nf~*zx8w3jjzO;i-f#me>+U0gv&yft-oL79mwqKMM#6EkLNYx>IU_d)o$~O zbpj0Z*=gPiLcsz*D?a^VyVvkzEeJ~ngyKhdU^j6w>yO?})ww5uMI(1I6UywBHbrCz zlcwoG@BRoz3yMo4Auq>%(|xP!YMWH?64o=?Uyq~mezLidvaI5HKQyTz;=A|1(=r@(GGN@!?D7(kj3<+3YW*|_; zntfplYTulEpcIZXKOIhpbjB9MjwhDO5tf#IPxsMJ(D;5c#AIZy`iAu2gC69RUuKqX z7Dj3xj8PheiiAmn(X?-fEPKGYk;fsam&m;U1BHu^O-0{E@akWoeu@CTRg63e2}#Ao|!Z8#;e?RSEcPG z78?b#e2b<~jV+sL_SGvDesyTW^Q^gLst{8yiX^n)A*<*pAhGfDUssVIu6}+X=~5-q@-_G#eVxHJ8C@IL9JL z=C&|b((;iLrHbc#hC5E!ep?$GQgP+Dg7>GVI&P#0_CLY|5YLDzyA{cV+$^pe&ad!$ z5xDu<^GXb|zo4tppmATa^fo8;zvtW=vP_N`$PO=+mTfmI$PPe5tC9g=`;$EI$++*) z`1AGm`^ESpKM1?!{ltDml&cx8yvI5Mzp7(U@)99@jF|!B`HEshb)~W`tZNLUpA22y z9SN{@1QS7JdtP8ep%_Us>1a`G$;(rz>bE5;Oex@3jS}@(KS}XT2%aqxNS(4^5i}!x z|0yYs zL%kUhXWZakfV6bRQtygW-fmdp8J+Mma@F>Ai>d8M>Y(Tqtdoq-Sn#=)c=K|{LR_ZM zj`?vvqnC!iy~Nsff@s zkRTJGNa_f#jy({mRF&!0qijwOi>f<*WtpKB$dN#@6B7;y3gm=PyCYhvrg^IjVI_Bo z3BBLj#rIRu9bywpwYePX6v|K-k3HgYp#&Z?1mP!tV-Ai-!S=-*V#8R1LXvGHN3N#zJ2`3 zjXK*Hp_cni(_Hd;FFlXTF@Com@qn_IBivS|rrT&j$H`@yw9RMlMj=Umc;j3$e%!Rz zEtWddSJQ@y50}HCu<}3`WKl*%Kf7X-{hT%(obkJtn5 zLkbuB-G^2O-##46K_vJkiXs}aAH%uC%DdNF(ov}mf9mI1;)=;(-zD5P4#og(HmzsK zQCv~waa&+yR->#a4@RB|d462izsQvtnE=p5s{(v{hjcS3w zoBw0#EF7YGx33Sw07DPmFob~QAl)q?r8Gzh(%lV1NJp)R2T+vOg1KB%HsV~gp?z3T{REqu5f-3Uc{7DlM);Tc0Ohg z#sPlBP{L!taS#zEX~420@6Bp$j{f?;eLokVt|Vkv1MNNs=bL3~NGHO!dAwDUCf*YP zZ^=+O>Z9BjA)dvwwQuEbtqw~exT84gyJy`?R$l>VpHDBi;k(jeK&h|U5iFq+c@lI~D9ZJ>I#)>H zVD8Dl8u}k3JpqL4bbo8x3z3vQo_-%1L8J~f?|b9P!YwuKpjTP?Hh>2wMZB$9!VJX} zaW{BOUqsNqY|sJO)Ug4w?(pf8VkkG}*bcg=-t9$?VdT(EU`{4uj_R=8m`~(dHQc5t zsx~`|GhQigktFs`rF7tIE^NfPdH~pg8^<>)Bv2asRp;Ah*?;`|AVk;;H3GuRODcf% z^*`Yxhs~i0HcOh+wT!MQnR}TOC(VW)E8aM`RHPD!lG(E3QbzQ!ym*W><`)h2WR0Kk zf8V^Fm3(_kI*5d?M6`Ccb@HV@r}3BbjpB&MliSGtobUFg=#EQDjs22-HVC{&&(t_>(ta$jJFa^4X=5=pCYrZNs%wySvYvFaiBf2rJXI+0|HmQg!zF78;klJS@|s%ZR}vT;LE!4_oO^wJvsd@7(0X1h$9c|1)7GX$ zW>NQYibv0O>1FHZa#iq+g_)V=)BzR`JPh3F`6NR;X+7Axzam<{~J5N`-C zuAyNLTFA{NwOBxzN@UU0alvFqlb5%9r+WjAVb-pM?^)@RY>>5~dsrfq)tb>~&-b=v zGD11Ghr8*Z81k#@Wv>_1$M=l1!m$4KUi)DJ2K)_%6ls3NLgu$XXt*tJs+Cz1J&{7g z;*a~yshkha7tC2h1xF-dwIreVI#bH@lB(wjl1qGxG>x=^18SaBgz@R)mDg415Q7_^ zriQ^}Wbo$$es!PL~}pRy2`c);q7O>brt&q3VN8g2pj*aJsPGrYc$4=Dw{Uq&HP zJh3u*a>rIU*=zd;0k&v4MH#GJHKuB9U2H}yTPud?8KBH1&<5-fjzcK%HKHU)z%ono z!S;MFTk%oto9>XVdh~yEJs_+N1b?^LsBWU*(@qpZpTKnu&UOX1j&?n8FC>QI&KvCc{C&by-JILw{|{)FvK? z=f$=@{EIAWX$y%WfJdra>^yj}_)~$QD@sHq)W5H<6}DJhWtBzWDnX!ypN7UL+$3`934teu_I994Ix62ssR~vEsYP zXS_Cg)xm>l-`@+vkLb$kBOLFhX`TMVrGlp{zl9J15Ss&tBw;qT<|oZ5Swv;(4GO$j zh(B0ozoLlcQB<@K`5=DYparXP$a>0+Q%ii@sOZ!gR^kJAy^$wllam+<&BrBe(%Ux8 zWIQ(Ry^p9CS~VryL$-8}ntyHl4YZhWfl(vHdlU8>p>lHz@y-eoj|68v?-#|&8QZ&s zIVp>RRliw4F8vyZZpP3nzKOS8_{iifk=>n^<7bv`ZSeE-`ig=v2IK>3IVe4yNNBN!&nJ#3xip#o847+gP5OIt2;QRQMRW2ij@yi3FP72R>iXkW#*@L2ry z-URasE}n71vTNwWMrCyCW0EdD`CFTI%!nwen3-U0guxR}jPZUzyF3$0q%+m@rrq($ zC}%Q;`-X_?Ta`B)Xc;ojb43#+&ZQs_>T{vHaHcV?Y1$WZP|f$bCAAp>>`Lhte)|6| zqDX+lzKREw`+MqW7F&b%xEI{bZbOKLE;on>^Khn9v8P|pveilfpZUg` zdEgLpinvEe82ggm(WPCqXs^R>23?Tfu@$#x$u_zJf`f|QPiD&H3$w+tA72<$&L)m?RGU?M29n1iBa$4*${|%;W!z_+bV>I8D0Y93ZfdazKaJlyebo8-$?UI*wnKRa9IQLN zlqg>7;>K-cgN)+u_YO=-TSVE`$Z0%OPv3k?H3XrD4%_oN)@22t7B6!XlKvC}#K4B%0kIav)^^5nt4c2Nd`iLd{8KibYpL~`( zJhH*Hq7>ayuGsRiBo!@PY>?=ta3TjBaj7q%5GP>Df|XESB-+mdSHvh}{fB)Sa$PH2Y$Z_z zFw0kL0&Q{Ub&VH#);p^NcFT$IzvaJ=B88`cH}5F*;*7#_-?dAR#?aUPLci~Zp5 z0X}`Pxy^yYr8!t(0WGtoe%Q(_omaQ%>5bnGZ1ws7RWW?sB{jf3AsA? zzZmO|F{o8}Aps?&KC2b_sUu|QJWEFhWYo6L%{5rn30XN?>wO;IOkPK0XuKK0LJ__g zJulQ?sZPy2mL+y%*>D}A$Fe&)rb{FVd4sXnMj!b8ag6VaJkT#@sHsVe71m~Zx$g}D zr*2gW*53qm+V=mqEjqXo zh5wkiNK(9>&!OFUq&+2_Yh8&ge^UZJsB7jw*Xc*9=2YRF$gqjr*p(U;j2Rv%THg0X zZ8&6*`Kgm*!Q+SDqtB32sJIFHZVbh!>pPoYvAk;VtS%dPYcSUs54)Z#4v{aAi*?Y|2%DJ z#gMY&nN>shhk%pDf^1S$d=C{1UW|A+yGWQ3irD65yT0@LclQAM6$$_P12wB&y)iN| z(V!a)s(r=i zJ8~o>pK`hRELd>Z3e5G2TeM7!YaMiGm4Y9)>EUpx-UNGA@Zz z@YB5RN!=TtqXfNi92f%WpZ6!<*;w)B2*0(0s+ay8-+>&Z9Q@ppwwW>FQWPA8+!!!# zqahXFk*=RsgM89edrgL-44NgWpbG!?BZ`AT|99{;(a1L+j6&2gb8G|Tc^^q#emCYx zF4bHyM^QIlbyRAW)lR5_-pKKCgz1&{){FW%=QnQ8NYnN4mv|yY6!2<&3ir>L6nylIXdpMiWlrC*RQZ?ih#LF<;opmzv;MRhuS zvAHOZuzK)^GgM5li8kcDw|k7u%1+{ahS+`CCh1d{+!XRvng8{`9|G$re)Y3m?rOAY z^yfj^%L{QDito|^hEbGGE@`i@fO&M|Zo0#tgT+09o$B#DL{*|yPzMR&RihJ7PWelJ zw7+NniZ8~@y+`u8`^@j;6yml!^X7RvoJv!>&XEHB=jH14EZ*LVu-ez_0%Q%y}TdPp`nE_`yy#?(@EQ?T3_p z+!FNFLIh0VK-lq-K7AKrU3=iQQ*?Ti%!eh=yr_PYWU3G^9)O0VNE*BB-Ll2RD$VnZV?eo38{*&w^46izvsCo*s!esS z#+iDDC;H){x<<`5s>u9x%%#BN-ER)xp!;L{r%x{_?kQn? z6ABzh#Yb;xvbGk=@Qg^onlSJCK*^+Y;Nsw~DNU7#`^mfzgplUv zm;2(@!iVRtS^j!Yqc?uV0^C<)14vhCtq0!W!u)fI~hl{(P3~Wo6 zLXGJf-zy3lF$cbY#c?}ER8lvg{(e1t%ASx#qJHdodJxo8-+=zXInqQ(*qzdeKSJXs z6HV2=Cgr4f!nf1;^t}Gpde(@UWbsK1I^Q%^-}@DR*dWQ^rC#d`@qUnsAqyB4>MDM3 z|FRcj{op%%Gjrmf?{}i|tU&#|D0XK|Sp+WY_*I58SsbKBYv;9PBwGGX8LRd3YZm$F z{_X0<%)Y&-SK+|Rtk^A;KHo92%IQnl%Cm_Eqivk+hr1Wp$up6iroE&8%FFFHLD9z1 z6%4x#@?~%9>=;eJ+N-OBAQgiI1j7ldes8^leW8}iZkV5=)akF&XW6n#{?#bnx)hCv z1@isKEbnE*qwS{AT@PQEBBfU?=X5K@(At>(8_A5xuCY2|?}hyn-?bw@AqG;wo1LH- z!=j5%CkwqM73E7u3qk{n+!k7t{bag^IUicdxz1Lel!bQbfNbep&Ve8bipOtR%Ie z`+Udd+G={!zM9iG6ndeUN)4Qdf}tVwtgk$dmsz({Y-1Td1c}W&h@CDOeporjI&mPn zvTnVSop&Tj<7fk}iN$J4g(#LB;)O+IJ)co$pU93>WXwIc-rKj7jHDIkzg#D`7NG?{ zWnf)Rh}}OuF-rg*w@;odS3FH#07q?c8_E8wjrR~bQ$Wc4Zd6|8-B|lx zzH#^)QkTgR{zdEFMu(fnn#w*hvrI5{sC_~6sNNGI`ZU^v59`1 zOlmf4DU){bmsc2&LeU~9Iunc)7L@U|Lp4FuEq<5ib9+;rP#zBw$3sHwD$}X|otT#y zCVYBHi}v`p>?NA0$Ny}n<%iz^j#o6u@X(&6Rz#0PEvZK8w)h`yYcJ-HdK`kfs4*2t#>^}$B5 zzam$OvCbZ#?BU2oiO|x|Z*GoWrat?woGI-uwCsswU`amNKdl+=`om;rrpH7nl5})cAjE;{N2Xre$>jPt!F)LijD4&no|UH-DcW9ygjlw zOBpO&%>wA+Xr4=9DHPe9q=v0{~aQr48#%cs4&IL z5f6M~oQ`0U{A>Zs;weWFwf8dv#)QVdPp6N!RW}ju&Ac|;$0fx@3vvwO4e|0E z-3u(x_iTEM&}%7l)-rY)_ZgqpZZ4l_j9g!c{hwJb?U<0+0t{c~srSyFBeR~J#0F^w z#Sha}oP7CzV8+6iPY>*mj6 z2zIE9JNsfUJ=DAB3@uOSpJj#cYpuvB67D*%L{RmF7LYtdk?T(%>%!zrz6K#X?GrP8 zM>{u4%pp5EE~FGd$f53kRH_>=*UGv|Cx?wPI7iP&Kg;9&!%7LHh2p`ltfrs+orGw& zcT-z1>c81Y4g(_{q7Qo zzs+>&m{(PNvh&G+U?=QfBwxgDZ(h7dq&t4=3&|<9FDrx1)vyfq_%hz5rec~cMa9T} zNjcK?mB}tCv~9b3Rw3A0Pi;|yShdVSvDRu+#LMws`8*Zczx#au1TiFHu|DvXn6ny( z9+AMfE#k#u(~e#J3or`RP5rR%zs(=E!Pc?9?+E;)A0$ejuNA^6Q3N2g-q`%MNM6}n z%vK2w6&Pjn)e@rtsQv#JRU9s8mkDFa5q?zKkvpRcfCCLB^9vy2aKtBJ!Par?1Ti#U3vP=JY5Ws_CC2Soz4&)hT72<0E<&fW4yBa#cWfuW3?DwPSxf z-O+Z4`Rmeth!)&BLoZC%+}OHzXF&7vDkR#}7MLj2ir$dUfKMf~E*Wi#r@3YqE*Ip9 z^ZIIBJ8_-RwIui?!9-kI6RJcu$`xIYKn-|Fp?G+*f4Q^%)45&reDZu|SlD{E%EhMr z;#;{BnuM_Im?!pdfKxMq2w(5p?;0bh*Qu8kamxb?3%w#b9C90K(gYxy;>HZgJG{iS zKEGIHp(vAqUY_PFbfu`Wkw^E1-`%1%u?!_g}6N@dn+u&4{^SZDyF-KUaRZ zjm zHQ>YyVqK8W%JtWi!jp$#`*m6`YXe!+$hs`sn==5z%f7kaWgG+qH@_q>v_ z=VNAX{g4be#ei~bz5Dp-LH`w7l+L+lwWdSsOhNCYD0IObubnMM-%m8ui2(-X6DoTu zKXp&K_@5x`AZ5e~0=lRsfJ|d3wOmlJy~AoVZOa-`A>uLw8p_k(-Q-d= zHP;>U@2xtT5=~Tu6qycv;a@;dcI$T;Czj@~DLyF7j2v)j?@Gv^|MYE-@*EM&4claj zZ*~i<#^-NO?wfzJ9AetkeZ$a*!`yq}{F;p-*Z$>LtL5*~xZX4?l#;!&e2BD^jkN=C~~0E(#^7#9x)CWu1^vf05n z*42SHh5-MEHS<3dX*$`;M2kaixD~MG@r#r}Ud0v6(XLzNaUyNn9}`j00e_SLK@07k z^syLO-sV|8m5YTpVtzj}UadFDE2LnP=7gNygjeh2mRF2Md%fgp?fXXDB2>21ORM%4 zBzy}?eJ{d>Ul2kUqC1s>8BUzLUsuO!`$9%8^#$9Zh-KGgdrQ z&EY@{>h7GHq9Z4(V702xxFAK#jIp02N#9w)G!BR(V9hq6Hci*7oDePF?yd4h6;rru z`SXg`cUAc40Cffb*4F6F+Ib4doEHByLq~V8Xk0^s$JfH%q4^(m&qEg!g#|;H-O!v6 zV>1~0OJ53zO+6=43P_ggKF8;-L?ziZZ-G{=(wonkpfQJ7L=iLbpBG`PKzFu;ex3->{8bo`d%WrX?~ zo7JDDjgB?vbsrsuHG_7gb#EZZH>^A=-yz1QgwvR9R2Thgi9NlQH=;I#TX+c3(L7|a(Q$Q{q!_#vJ-Wv-R|F-RmKH_8 z*=7y=9o&IN7YZELbszg_jrL^F9mrF%AOc(Fw#dUPbmLT~@Fm2}cFvZHD?EW2kyh1j zoabomCb9nsylwM zDgvto;iuy?9qjsL7w`Q@{SRz1yHLgJ?blIe5wuc9pXvMZ=IC)(fneO%+Vxxu-=0u` zkiI72<2#110hhHLo}W`2wd6RffmONIB=d{%5YXc!+_Bo883AzQ28ekG(JFJQ|GN>&-`4R~urNOHXfRVTB!r zFH4O3w}&6_@lS^krnWia=0f&35XNX%Pr)msRrB%)%yl|nd<0?-`wTlli-|JDY zQu?HW{|SX(Mn5b_c$CcWC*F$PLMgFlfTV|J5Pd9A85p?a9O>N?UW0Q>vY=U&YsFz$ z^tQz)^FIkra3RPD0aif=u6I8qrrGa90^j2PE`>w+Ds(MwHX2jpEzbkAuGXY-B$<8X zNb&0B$ETmM>dP$uwkGODr5~=|H`j`c{3R${6a6Ih%Q+W~#6k)JTNF>F`(PR!+~4rs z(}`jx&0|rON#3J(Tiz%_okWfMtr)&Ug0%P(Se-_7ORkCzL<*}^dFA`IcsZrsHlAnz zU1lqcOJer3d4vHCWzc0%FTx5a|CBs0I@>cRB5FsNX^gNs!*bZ(${fBw7+RPvS?k^ZmdyBQvK)C%2_4dVchxNLs@dqE7dCL3^ky#CPwWgELsZ764cxdA( z2KZ~cC4KRfnIsOyzfr$N?*N>j_yj{f?`4pfeJEi$y9-4FHXi1VDliefvl3_(9;Fo1 z6+%LO>#+*YHxT)Pf^Yq*ot0TuI-45c6x``(>qP=+AE^qtKQPq{ocaXvkb~lE09O#S zD?%GctjRxqBya_pOyt2XVg`stI<9zRBy;3YJg7W)gq1oR@cjI~v?Kc3&+;P%^P zqvp@C;w7UO-?SJ{I2REt7@i@wrN!SzVoo?+Z&lcF<|2Rqc&^XUO4z@bWJ)k3Z95u_!A8O3BZKcw+gUxQLTs z;-NTC)(Ox`XMaO66iPTfn!f4zA|5vX0!!PFrW^|hyKs(7`j^kA)E>9aJKP&-9a4e< zINkLX%RmFl%%jRpZS%+&7u37T{{D~mMc5I@5GcOt4Mb^vZz+9TGD?sAW^)AcPLlmY zh~{KW|9g^nz1_DN#tJXxaNitK_~=C;*t7sb!%UFTak(CI9%+gl|EpgEFY__zlCQ9- zBm@C95kyU5{>hL~+ZY{x9M_ktKgf6=O-NZdl;Uf+kl3amnidam6SL5YjaYZl6EP)-xxn`k!2c>$XWd@p|7CFhnb(G~?M zfBgG0J>-)!)si#XsbQFJFscbd352)&3|LTOsAG?F*RX9)MQr|w=|?kV#h1_X(;-LnrvdF=&b%U_=Wl4MtbWBj0RTQtbR4mF9}oIP#SKD~v*$uo|7db9!V; zqJ$#$mwz7p4^p4YZRxs@K3a*RBv~b@?2SX|_c$H5NC~+G>hWK#^xfZWu}~IakDxLN zrJ1yt*>T401fz*+B0m-MJAbdQyVVp#V^T%1TweGV`ikJ`lG?YPS&Is|hm6j#lT!gS zu9oje|F-G@PJgTxPU$^v**!t>?NlrcYX1-u6CI=C>UZrQkd=|!DS;ZX%Xs?J@U^S6 zZ}Elu2@h+EI%s|M+L2>624v|3e%;A{RzQw6kBos~dGwKw9Sg|_HO;GOK<-rbUsn&Q z_?s-5W0pQX`nnZbFu`K z#LaKMvwE7GWWV;kltUExzU;X#(Tbz_;kuze@LY~hrM&pSMYv+a)BX6vzFr=`8Q-K4 ztlNHN0I6`&L<>;7K_L`9DhK2{G+Ctb(^ufx&k$cw0JrGSFD$RrzY@Aj=LewI>1zvB zMMEA!&1IDGrT11x3!gAj7n6$enx$A$AM~u1=cqFH`hy78PSYO)>XjC$HNa!xnNP-Ul=7}8 z(F4v{aet{6$RKciB!Y7pcY2WX!s`eLe|o>YcF9u2ih~`{UT8mkLwP5T=Xzo{$r^$R zXEYaFKSVn%&Eoy=8lDuo8U6izCrPei{Q!vutf>0`za@IG2e;A(G@JLE!2) zn;UT(AU(c4L^n9nB=IY;(cl*BuuX&-HZt_uL~-h|L9F9VRd_?1RAgmtvKHx)ec5C-yidQ2Dd9mSyX6DDcY4Kzp$3de0WiL{r?)5DYgx8IRa4894A zMaV%*rG#?8H*@tYkd9~s-`b5Wa~i~NBF?W9N;^OL;5a-P18lYfKH&$aS)IcEwD0?g* zo)iVPaX!yk;CN)`7|N8X_<~Ifg5oN4V$upU&L_;V^}(|ZMw`Zccxd1wrwB$qC##j9Z-*#Bvn#E=VyYE!Umz2NPzD9*OXV`NwVdktP+U zNYhtDPm`9{fR&_n)hKwS!YwghiXt<+C-9Z`Aojm--?oUh1PJ&vcfbt9vRQ5CU79UL z22*Xr;l~R`{AeBfHfZT@6&gh~!L$_mn3+gI{mAu-17M5K7|)=YxMl8)^w3ku8I&L$ z=Jai)G$x-Ku(_b4=jgiMHw=2(bhVyoGP9z&ox+3;pw96vycuXOLEI*V;IA^_pI|V= zgFCXno@qvzVc2a3%*p2JFaG8j51Rfh@ z2i9J(*-`1)1?{ogz-|ToG_E|RVG$s~Z1|`3pqIVL!`WHZ3;y`UbLo|`*GT7Da^6VA z5jH1(cc2w~l*Xy_l8f7zhxiDy5*xsq<@7~CW2;obU`II%t&`UR`_hRK+0ST)`{&Ns z(g1GeB2$3rs{wHmNX1-7Rq2#$v60{WX#(nqgf^k`?-dT%s`>a3zTIzfy~LnSv1teX#GYXw*Jz&mF%PQ#vsA$%IK+=%+=_dWg#z&F!@cKT(;FIEndq$ z)7L*>#^c-S*j-3I!r5XHK9sXl=CVYq6obdt*KS7Af|9nt-vkGno99dPR7q;rfhY&;L`4>eCKh6OA1bT5ATOh!-qVNn-k);QZs zUoGL-%HpCzPJipzk#~+PLs?NYdVXbGSO4-}QS*D^`F>1RKQBi6M`CXE)URKzRjJiu zUB-D={|p_~gF*F-hdj%NSy{d;ZcIpzkTAN>eWpF(KJ7Qa+DC~Rpi8&tOF5kc9~Nqf zG93WW_oI99jm+{HgXm%^oRs7;8|l}9O|T|?vTFea1nE&Gcww2Cub_I!eiv@@cx;OF z>mBNFjXeqH5tL$|aIW908-m`Awi<^48*eb4%3G=wiJ*>_M=a-h_>a_(jA`9CpM=t@ zfr@`msM{`Spi@9VI&Fslt)IFCm39c$#~}M4`i@ zHkW}HjLOf*B_-V>Lz{9XDZWgjM#PxYQ`qX0`Gh9D)fi9%?f{c5{$i>H->-7JeEab= zO2{+dOn1eS5%UprDJ&lvpvD+l?4VpHo%89gNo{HRLIOF@65iMo8?DfP1vc$yilHfv zZ_=K>?y#M=t@vBSL$^(IS%;B_j2Fzdhy>0U6$DxN8P5<6!-Sjv&{jqLYt8GDHme*- z#^+?QB~sZ{`LE~V40!}^TR(GNV{=SBu`&QU)2jzh2F%hxLTn*|(}X9`rj&5mj!#7P zEAS{jx>M+hNe3?7F16qmOmG)EJv>_gV3NGd=g95yv`{GCKdR?~6C?25OljM*CAzdQ z1mOtemTI{j?o2(BtU(8BMRGHdHS{Q%HGd?*V2`x6JAuyEyqn^aE!ymC>iu2vPqX3S z1yXzk3y=>Ybwo5Kd(|C^!0_tGO%@+Tduk&#RpL`u)t{<{^#Ms9FRCQzwkiZ$#M-AQ z=0HHtV}E-g%9Zm-?F0TsIg`nFuNh{Re+zzXY6VBAV`|4dl=4e|Tp`(!dh$YW>VSAn zlRWmyqGmRyrTfI+Hm)@pbqDY5B(3*D&bhPhcpo1xy9w-?&ZRu86RLEnxq zp&e<>R5)B|QSRKp2or**2lF+v84-S}~w*kUQ?;uR!MuNh@{T<5;gW6Q;e4!z$Rk>VBinHH)gA2)(MdISG zgTVP^#(!6rD5foc%>Cw}Nca4Dv&68GQf+b`y^E+?W;nP-k%hx@*4}|TzZNcX-Jra@ zPJu^#5n+5{b5f?U%USlS2B)1C^RE4A!TPR%w1bPAxu=cz_8Wwg}9x zbo;i7L+A;=x2wE(F8ZCL3~k6kRAoxXzX|5r=g|Lm*ogrvqy;b1vU?!X%=985QqpAW zQi3vw5~bUKm<$+L;}PPL(xEjSm1XkQV1ikkj^X`tI>tDO{k0}|N3vvI<`AFmKVGZ6 z-(}p32nT)KTww(VlTW>3jD-MZlPCk{g+2X45jp~exUr7=+%Nr1d`x$^gX;ZqPp$z&mAUd9 zQh0wb<99diP7^1HYeTT&gzlfq-KhS`)1&ZRZvMymk3a|20Cq^Jhcsx5^l^Dqenmx8 zye--c7_64!lLvwU0|Xq))vjBaZC@w@MSc}XvN`!~C-G4HKo{u0+N#>jg>@(>>qSUv zONTX+-}}!rPb*^^zu{6*KHKgy5!K{1Uci1Khu}G2>Cwlc%RvZZ%_LZ3yn=jZ3EiAW<&gg02#(gaIc zfa2I_xm%*ap_>+5Xrs~iNa=9F?=_vOd#SJ@J8KaJSnLmb8tb?1gTO*v>modX=fwZ| z+UjYbJU{@0*x?OA^zJn;MvF*wBO?9G+aLsn9KwiL<1hYP^1v#s`W1{DgP(Kn*FRZF z9NGN7#ls%@6L=`gcG?-dvDze!f2BhhV$uUKk$=N+T$-WFd5?goY;TDd12o2CF)h&# zaE2hR2II^lYtjJmO|fw-8S}Dj^C0_sW*L7R`ozF(v2RNqjb@&VLr4yM%dP491Qr=B zzS1i(Kw;p#GBX3lBP6$i`icfz!Sl#DWr~OV2AKX6_z@n%u*k=Ej&N0JCN&<7vD6|2 z!5=iWQZ`x~RR|Y6vKUh`$pGHF^Eg2>7hAATUYt>vSr-A6)8bo55K774+KkKeJo# z4);%;kAHl8|I1D@+!2|$nvNBWdSJeTmlvr#+58MF0_0uO9Cj33~RK0iR8E&4KeVuALmE%J*d)d zq3w#Q36vgM-B5_u8IP6NBn&==vi|nP6!$2244lHlt1_-}bfHwo-#@+Fe^~REl0qNb zIfDxcI4z!g#Ux9+KJatpVNAjQI98qH3GN0GL$2)wk;U6QrKY@cD591C|>XuX`&Us%7g)@(P$=QTO;QDa#%u^ zW`8xIN0%Gl)a8-SN!(ZJ?!GnO!dUX{k^l8}n9y>%fkA#sLQy$Z)F};KUO!WnOwc@` zl034^^laf(^^zKJ3a7C3H%GZ&T|lIH7Cp=-;^3?PHn~@^tRCSp(4AtceyarVH=Alj z))bu-&+As|?4a}86&12TBy}2S6_iEd_s^PNoPl&;Tpm=y`*Z|TjmlvTCCA3Np2b(Q zmffzG86?wB$`;)fzb-GWF@0&)j#MTab&T=bCx1rOD&np}uyr`%TyL2cx;w0-(p{a( z6zMB*A`C$+kg7ezPHuO9r|fJz3P%#Kds5J>Ux}LkedZ65+V`-A^SSv%X+?^dYZYQGU+P-;K&3ai{q6y8-=w#ng@420XZ#y+Dl66 zFuWcx`(x%kbbObYHyaP+`FTQc821ycS-U^?l()%p1Lv_+sF-M*#$#IcO^hZh8``Y4Lg{Cp%M0-syOe1mUkTtJ4lTQoD~r$v)BF0A{J%uG zDiqiR=WGe^N7E_0)6w+$5tF_?{uv zy;iK*T^J9htfkKGQ(Wir-er`eq2_d=^Bryeyo{3*hy*{|zLvG62E?2zR7ESN_b*<* zPUDqbm@ho&_BL&oP@Q+srsjpVLh=OHVqxH*@7M88LBY?UxklT_{o@m&{aY7olH#or zhyJ~K6^aJ1inU&n%?DJPAO)-%S?uP#;4PQgi|+)}WmHX!|D_Lb`a+Z*2L@2f@f&{C zMjGz`zBLEkCDUp>8{K<9j`=O)xqn_DlSb-MzmDfI8QuuMP)GiJOA-SLQw z0G0ggnwqL&B&-h)fU^+~Jnvrzt$tTc;aqQX!!O+Okq83P>}QkGoh?{Fw?DD<(88Z@ zu!o}I0lP**#oAl|{tImCBo*Dz7y?mizXG_Z(K z*h7!WIVBLgvKX*VG9THnAkiXzjoWxM{LEKHVyObVt{*wPe${)Lk`wKWZm>~oV%f67 z3wGM;CeeuFzQhTbD4^#5L|$EbcaB;1P+NDI)dipb)|gHn@(2`82n|XEypP*3$ew{t z@N5YkDOL1;QDtFKkT=7(G{UBDgqj`YPl)csBp)cha4Y2T>{lD)G1KTOb5i&}pcsY- zzH*gT8~=}8+i5Ls3P75B8cyAQ95Q*^{f@Ft?WWeDENV3p3Gt!CIq!sK#cO4POI|U+ zA*jKf|DJ$!P`$OdWaPQqI)(SO(I{)-&T`hU1U>}5L~a$19UzsFzEzcvL`!RR>HCEu z;KL(n=JAR6#2z6fZmtyyB^|qvdMSWqaug#Cqd06k$F=3}os#DO(To#n?cy#OOIdwM z>i&XcZSw5`?>>GWCvaUp>+Hp^lm~Km3Fg4gMYJc88dY{s)PaG5TQS`w1M0|13U^Vd zVKcX8w-szPdRHUJ`t`AA8@Uy1{EDvd5$G00{ZWSn=3wmhZkv=iRY~R*%1tn%=-Q;L zq)h`^@%7MCjDZEsd0TSdX$C7wO`Ezb&3`92nGk=rOQU5bWrpppi^ECTOT_RVzSnra zMWLfR(cJqk*K`ubGZ2C&g$~yBw)-*qQM9`y5_w5Qa3vTtT&JLpWF5nJ5ZM||Cv_dR z5IFljhiQE+KJJ9VqDpQXSqt<0=Cz@AoP;0azSRCZI*yN|vTTjcZ7RMN*(uD=m~ZQdt0fSog5s93;MZ{ z{f#z4={nil?yed8GGGA{tBHwzKn63Rp5k}sIsP?*b{|KEDk~izOx|N(drrJ^m_)oK zFS__9IXfr||1f$hI|5^lO!%ihWl{`5B#v;0P}vrb&9>^%i5MyV8BLEviuN)rD+kBg zjls!-g;jdDr=m(LYwADqJ#KW^!gn>Y3sd|o z?4!?5IJ3Kac^W*Dr(TNGu=8Zji!Z(g?&N$OsB_h-co3Y4>nMIh!S=!n0E}`p{EvbN zKo~U9O&pPMI#%As2<73B2uIr2!-{8}@~5wfR=oC|UYoZO7r*K0dp?~!&+ zmBg3y+%f|EF7kJKwoq@h6x4s^oL2|+NSEH8*ok{|%lo=Vj1jG8BGunRyDK-7l?M~~ zE3DFjco+wrt_ds2{on77a)DlRev4e#M&LKfiCWx$p60@un z?6juWuD7bs_v}DwZBcxcPf#&EN7H&*DNr#aZzu1Sp30p2reLT^Br`}c<*COd^;&_D zmo_Y&?gx+g2XCm~Sk1;2mtSi#?6DG7%GZ=Ofh%tP@LTf8HG+!MT2)*~@by?BAoEL8 zr3h&MRir_GQu-i4H7uXsndZn4iSUUSO)rV3&ktJw<+q1BL{OBeVom{ugQhUa0viy+#7t% zcdtMFs3A{U0I{u?w4|bGdP6Ox@I=&QN!?E^ee1hd>1-unwLGcT3^=8pWdo@pu6ve! zddX{B%n*dsnPkyBwP#7?EPgGpn}0i6^uhU&lAVyg_|Hea9}IYzI6@#$#RA$+=44K2lTze1qc^K60F2E%N{Fi}wZOW1cMd}L9S(r8YA zM=`Ld4~{kc6j;Y7cd>CX_WvRZ#{eXE#2#XA5zX_9|CsD9c<95w}+Sn z?K9=liKtxA4Vr!S@&QJTwIHU)0qtq#s8=gvYoIfMePznmG%q%&vpoaMi+9-7d>kb7 zh?ZA5m#k+cD|>pMneZ|IVIy9=oT2*I}w zE!%gUFrA}CSK-~cmj&EC=>uPdbUP>;`@xvITn+bBMu|nrAEmkThpbOGhVqz@&F5(D z{tn&-;DglVferesK%Z^545CqPL!b+r#_6zVi%}%I6F)tZ35eK7_B6M&jF{lpmPy6- zad*vUntqpxYDm=%Esda4T)#KP9*6B-^v3y8rGTZ`YxZn};bq<_W(VfJDb4+DrR0H~ z^_QI}L(O=C$7U}3naPuQvpR`hG2I9|*)^3I>W@!aJzWanON$Gx1fdy@(RZT9`Z<*2 zTYe^I>wcW%vaoAD%WxS^v{X!{2n*gM&NQ?+@5Jq^nZ^1`5;I;(?lU(=9Q*IOV!v+h z_J8J=H0z51zyZm>i2w;%U=ba(lI3X(L6{%=Cs|Yvt;MnWVf99tg4|j06JK0GYZ}SC zn*d&%IOx8ugNw3=lxs21p=YAtpoNR?CW`dqJFx(DZboQ=R*UlUQ_Oe9?{{E6)navq zZLOa%HtbReHCmeGoyKuI1N@#zeW1@9!UMSPjm*UsH9}dwuZlEg2^W$qYjo?Xen5lV z2(E_8$ABvU`1IYoPt?RMUMu4}$sfX(4ID?lbc8x+Me;&Fd%OhTI?E7V9Q!AtwmSIO zMWo0FU{DV-{rj*%6Z3>LHizN*ckOFH{RIDu{RFx2JA^p^a3UtoBv?0u|0lr%> zBycjs91r3o_^Q{OaLC|>TN82F$8?IO_vqVxzT4oOw|Sem;(#B(!MLYJA{L!c%*_G^ zCI9RiKXx|`c=7qS-xB0GEI@Ft_E;lCW37krTAG=F$d@n{2pJ7SW)c(c7Bc5(8>#>9Ai=o^9_|AAVLzI9KME#){fbUTezm;<_-PXeG z{1PmQE!mf7mzsf*qDpvpwp~M7*S0}vGgV$XF9bn4ov(~jwhoe9iI09T;9!R#U_75h z7`GbU@_6O370*@|oR<;{$sk0Jc#19GFvo zasek9)2FG~?I>so~oGjv=zWN#|| zCS&^5>KKmns|{C!Q_d4Ukzhm(|NX~oe|u{kWT@MguPe`ECtHcVIvD*#t_?L3{<8Yq ztF!Jxo#GM|CbGwIuOs{8^v@VirM$++$Hl&sp6!=-uEcmm28*uqC%USP*gabKluoRf zG{_Fz?EWE7P(YLj1Cf$8P4iTK+b+ud;4bn$>8oX-7#NEamJdb(yV7&8AyhA7(6Ozk zJs6;n8lG)YEO)~9pVPL}r1P|?KYei{s%$|t%%;Qf(7_@bD>3w4U#SrHx{>Ttbi|Ai zlAVn~7s`#j-vDvxO8d8Z4-TO5ro54nv@+5FebNS7zlfy zk`my7r`pTb@G-^va_foV?)4=JkJkPIwd^ZoHww;kTBwH-bhH!^vEXkKBv36p)F^IXfe}_altEWz|nxxq0w@c}+qT)SnLdlLM zel-6+5FO0h`Af5Q74xC~j%I7rQh+5a!YFu*H5VoRmC@y67s_p^%dx;_noKl-TwJDq z5oh7}fe}nlmP;aBG{V`Y7pDAp8{RtaIiFap zq518DtOJ;#(93FHfU6 zN6$O219T*->4-nixd)yOF_OT{r^)GzD|wQWD!CU;sOX z0iei@wgxd>z!QbIsO!rM)IOo^0PrEfa?xXIUbW^Gd*f-^VsDJDc5VNOd&Wqwhf;$( z>)q>X4SC50K)S=r(>BGc#hILjkwJP8b{E}Ku}@II&Mn~I5CwbsAVohZl#OrY0vwek z9K$YKSs|}{e6v_)o8!<_S9OYB{FfKfN%*Iauky3AR%x+Z$?o2hI?jSQg`?KW?e^}C z$RGm(fErkN`e}kgzntDB9Nj5N+Ue$pZ>QKMy5LMwj&s&tUirA)h&wcp^XW=3AHBc% zs;zof7!3RTlP898B;u7POmTUXB;n*?izo+@hYlLEX%BFaY0{vwT|3ZJ{6AOH1y z<)4o}F}AZ8P(}tb3=&wr`-VR$?2_IxNz$O>sscu+WuuX#Ysd14@c1mP5-gP8Nx$em z=@Jd$JKwqs7yzueHYMX#NyprQZyoZ{J%|(nc265*L_R!#^X_>ykP-fJH}Ap?88~ov zm=(MeH$h}^ZO%uS=J-*ToQp~1V=X%z%#HMRjb_pZ2Ds)!k2-W)c(oE6GQrxo*&tjN4>v{1^X76m*OH>qf&#Lc3!8^H;28Vuz*<=%x3Ex zMdznw6S6_kYR=7De2G~@1sE4}p2_KrV>@6z#U|)kn=PE#?YV;KC^mQlPfit;G%y=Cg&BnGhl8#1Zn5R6@&u+zX9NKk@3b7Oy(U|39zE70& zjE_qZ-5ycv*~F^W)LC**b&=#tb}b9&!38sObKhig%v!@v!l?s+9_{SYu}B_k^+(Rm zr66a>^@l1Bu*AbTkCDXX^;ocjgGO$W{>O$~2G{$`D?(9G*R!Ygy8i>6LCHb*&tOO) zJ?EeK&2(s{LyqcYZOb_7cA z`H3CV&fH2yD{jslt66y^^1Z=5jPgmfF3u)M@^ov`Vh~{4tnSsBRqHw{@yieVWR$d* z&I1@xRI)I1xM^kIMvUZpE-8~T^a;Fs>dq@PHyt}xSop4 zmj2C~vS)ZZ^ysbk3GvCvb+X4#(_4rze)$riGT;PQ1CH>wf)Wi-TOD~T^o)m^L;VR-rGU|LjG45WYOjMD6NqPc3%$sO?f#$DiqR`+i!gvqA#A9o*BDm$#fVL=Qew z+0CzTS|?&arthu%)GNgpz$(eDeKI;!w=|sk@zss%u}@>X97AuYt(eD?3h(G2>q{eP ztXsvYczHjis&v#Yy=2Nt%Sv|c_QXr$0VvNzya#5CUn_&7gZ}(#8mbe*v6fsnvbJna z>mgMqga&6a|0cTTK!#%Xlr38Q9I}W83>)Sb<05vW&F<9-{%HxCmNMA{a>=ym%_Nq@ zwr_ZS$*XGy-okHR$O&_UVfWfBe02&=^%?gxCZCPyV!xI=?Xm5@uG7cHfFxps&jf7C z!PbSf+Tx(iI78M+dd7c%4W(aE<`thq8<#(`1V~C!S=GWyw;F9=vWm-X!&2?T+a>G~Q?3@6ZV^e)!+r8n(iSPe04Nd_X*%Kr?alRLX?V6wX768+u@yR|XLxbk4RNpTJX^?`D zvI&9JzaQ3SNgQGp7z1@|74aYV)jS#x(-dQb!W=_VPo)K$=%yjLPKMFgSW2>}pAArB z3txPim2Bx`gTE%c^8U6;-7Sa*QQeGLBeA`fYhA0eiJmz*x6#-zTsg)yHrqrp&&*7^ zHZ4+7H9p3}S9%au!#X!K#qv0?yiXU1WV@vZL(vqCMPo|N?fUlXlN{HhBANf56OzzV zX%kv>FxLKAaX$O7W@MLW#p=RGEK4mT0h#hx3DDshEYq0mRDZI)T{YT^cM&axm4C79 zYbP)YsN@l*TNhHv9n)?8X8op65F5E$zDDNt4_YWEV;tIPa^S8Dg<=l#?0}GuS&Y`m z{G1kFeQ7-B_y#$^Q>{3~VnCdae0eqTGOk->38;q*BlwIt50v%r1Mfsf1!fQZZ!Qd| z=M->R?a`7gTB`p6cETV)mA(oLnz1vcqANAiJ}M>FfDd)3GYUuoT@LFZNLsWf$I3`h zF=RNg{aK~JUK0iV+aeTf(E<(@_cxA5tHnF$Y0><%$0Ve(V;Yc@!XD4Oolb*h3NjPRp zn=3lTSG!UC7>~hN^wxOD4>6mbrG^H@Uk*@ab;nDVLWZ~_B9D+0fQa*-u-gv`j9`EU ztZJ5JtFTunV8T@Z`h?;y z9)DEl2}zE{sem5uMEp;B2Y-=Iz^9$Z2K2LtBBT%++8mO~T2 z+R9ooxlH<|(<|?u@Qisfa)E-4@xtq%{n3))dUxvpT{~?opL+;YBG=t0-qT|RGf_Hn z*G?Kv`Wo6$BlQdCjk&4%Qa~N*sEZLL2tD$&>6$1yl9%(YF=ZT~H`&OjoLqw=p>{5^ zRQx4;B5LfgoCgj3cSsNTlUqy|9;B3*iD0xL_%rZZ_AMO!ziH?QCt%n4mruZ14pCwaG)dzCCf&u~Gu=3~34N(32t)dGAV|lF1T?8Bl!id%3`v6Y zD`Je8<$YoPrsx|)0;PV6utX&?Vi1kZ5lXAS$_BZ%mNxCV3*N5S<$(-p4E{%1vKf4x z@BO~cE}tN5%uIOGkDtzIIgTV=)KxB`F&Y1stYcmb0*74NEX)5dI68BZ)i} zC&iO*Pqyd0x-!Eo*_rgEU>IPSM`!lt;c^rat?F)iPjS1xcTX{_W!BEfj1A0)|81zH zHFpCyTrZ2VUH+J_lg6|GQ^d)E)(Yq(xUft~vK29BNh)q`E-uX5VW?|Xo7Da419$Le znh~*^S6SX&u1%4on6b?ONX0q>4OLZ2YtMEeeDD*x@KNltWgb!+JAv<8z_RytZ+@h* zB+BLe+h%66jGLkZLI&x#d6wCX5!nq{+n{~Lb0qwzue-oE8++Op#?({3;g=XY?>l9d!YkcN>l1R`bQiVJmHT{lMK%&ebM@FKUkXlIRMQ6TpG=&~WKfw5ovj2;uStBF6Sp zQ}O57oDtpxZ^@ksX9iYwIWJ}Io(@@}HabIwI7?dm2CRtN}zZ7zsEBq`cF5FoB(Hb1+HqL_#+W zQlJ2K-K}F=M1=+(xSM&9q~J8V$o09MgIzzGRWIMiZ*CtMe7KjDmZUocaLS^n@Tee5H8X~sHOJ{FCG zDG8bl%||lpsz!8#s+BWv4J+0vEBd3ZU1bL>WN-eeX?ykQa;sU<(c=3yX7`ME;rwE; zot?MN||9qPbNKGC*!R8@9PTu zqY@PKJ*CB3EOuF;BykU&QBJP5uB%PK`(lDbDin^1+yaeps!Nh>do^&hx|%TXV5HDN zznC7%kB}t!#U9g*%YbO^38q`|jA;)*fkMu6lWJO8#O^z3i;=gL!xUT)hIQVnO6tXc z9Mw#fZH#mfCor!)OVI=LVsXs2(cF z2bC-Gjbl9XJXoEV3Q1o!G}N5=a+aWH_@ozMUTG8PT{7)LASfYl7cLoKBO1ojN^=+T z?ww8LBhyhkVb%0Z8ug;4)NDN&-xc=wC%oV2KhFue@h9uL&OG88Auy&c6n=(pt@_pA zU(v5Kmkzk+Nr!B@P#eFmjSU8R)fpee6@D|31S-aKu7gDs5H~{HmW?fL!?e4P!EzfH z6IS9=hLB<>F=F?UeJ5;e>89B$KPM7W!bHq?EqV_S zk*a0hQ}13=;TJ7DMpn1`%C?qk82ltyP~+n5yj+#@afRj7Zcx9n!4qpx_Mfuv4f@~? z(d^=4F_l)*;CJUA&h+0fVU}5%mU8EnJn_|Z&`Hn2A%P|HMR{EGenk{GzzTTL6vf|0 z@@;`MDMz+NoI{-ewPJ=fX=X@Qbr6LkYrFZM1WJ~Ma|$dSzp0;@tT5)vRrXV0o)N?2 z`{4zw(`cf=QnoE#a#k=Y4PZ45L@Nv11jMrUB`~O*hvbe)!b&qKGHudJ+i@J7&0J(& z7s|upN7-r3-k7LEr(c22vR@k*7Y;H2+ zFCORxK*&2k41+olYE8n!0iYPY0GTd!@yzz#`wtlc>rpm@lv_n&FqU~q zucl!2~$LVDrjcxn?tv#}tt-`M~ zBWCu{)Q0H(X$I?pD2WE1E=&nMGi_AGi+~4ZcB3CR3n^x^BpH%I7RGe;Q^une`6 zQ*A{lmZ!&}VCirTxIpVT5cCjm>2T(!^dkE!;LV)it4_+yj8jYF>G06t%ieV^a){W0 zTTZ?dDwAqypV_3+a$$W8?P7VeG|6~tJCK5irp92Y) zBF%n?iZ!Vy*@7Q6kPp#!f5y=_Y4FP5SyT`2L{k39^X2EhtMK-Nztq^P!Y(Bi!c-eC zH47L;{gi7$c$HzgaTNU!7^d>D?|KLPBP28S3u2Rg{@zw@E5{?j4Zy&iTFdD zOo!bDemo$>uM-Sq8`+lF_`1@dO2JAiuuqh@05{y&X<1S2Fs9_iSkyKB1q{$XU-EQR zrz}3iO;3o$XjUQPr`AAmM;j%tI6)c0+Rs&9f?tV3fBtCdtvOgMZV(G6>*dqH00q=t zV(pk9TyVFg$j8N{-<4o#JPX)A0_J}X-e1mNsio8IY2K{d$#^u@{5TFwFKS4@-&;Cj z4{Q};1(LCDydC${oZu1BDxRsB+}@;9-d z?^Aux+`j4)HjCmz3X!@!b*NbsaUn*2IOW#JTRTIZR-(CCemwY%Aik!lP^$9vo{pZ&1r>EN*A8Fk7LVdZr4l>Sr1u`@71J& zK{hxqXaT#TuR{5}xJ?X4HS-nNvwZPk|4Ww(LOV6^Acy2Mb)10Qv*crQrP2Qp3VI1l zterYTgi;f>V> z+TLhlCDvsK+j7HvW;@YYmOt@d|GM=e8qOqe5NXB+CWm`%+m3om75C~ju7cMk=Pz7T zTPY>d^dF{d2vj^hCN|1AJ^otTbiCS^+!y}A;b4dh+-{-i7m%+?eiacCpMsOW4HsR% zb9(*@D!h#Yf9>|{BizwAVKoSWz{$)VB>`NPkN`Sug5D_GMK<WZ*+c7Pp*-+MrQ`Nms$$Ey0NA~YNi8N#S2EcvebM0K8FiiC=e ztU>uVP!s3J&Tq~nr2e|;9FUiO6Njai8=;P9f7G)pb*3c0NS zqEE69zTh*JQ{%*r^c-F|r#A$z_?5@$OE9;yU-_tdt`wkeI z+3>a45B+Nnw>|{ptOIvH>0{;4Ca-;7UpjXpW-pQ2!h#Y_iTw4q03h2fkv2T?s5|}8 zUvWH$yO>@RcILD%f|wDx4dXqGY?^P}G*G>=5s5qi`eaW_A8n9No709OG%w(42IlXy zzxLOSxzQ%`^tk%&RV$`(L0?LZbII?bbYT#Uf-#<^wkx9e>zCe?4qX3~Rc;LE)B)VT zCuW!mT%~YX9j%2RW?DTc#LyTG9Rb%kEt#kiSR|&Hxp!c+c8WR9TrZ=WIZ6#dzu*L z#Mec8gr}q40r_;qi;)*LZh2WPw!1ii16;*yp9ZiWVwa-eGjNKd)4rDK_V!$k=mg2r zGjB(Cuk7-)m$97nEtbwIe^;2I2aI~HjO4tiwoIp!j}&v*aBdmEK_(LaYC-YoAYPF5 z(?=FQt)#JgMLbN8_Dy%dHu&w+*4+!$*ggQwFe?xv{(~oCkH87N-|1qh6#o~_I$GBg z07#B;Ete?jszytz{xFv)aRX&Z=T}=JO=pvweb9 zk90f==ltn5g-7-!zb!Iz<|HLs>`z!eyBVmNGyQwN0Bp5oOl$xp_asMv3Bzb}&AXis zk7Ma9&XaDvHX(NQcpL3wZ>!t7lQj5xW!TmA9Ipx~V$+xC6VY8p^zz)L0q z0rLg5JA&v%QpbVB5dqDx`>uG}FPt9zfvS0Gn%dfguS2c2E2Hxzz$-Ug*NF(lnMP}v zPLFU*kfh|t>oUhLMBOf67lr?~uG4@{4Sa}$3WsLStZEB+2}>qzF}HyhX^>xk=IWVDQubJt-U9AMmRdD^662ol#_npD)iJK zSTw%&8&g$KELcMood7JEhp|2GpiS%#(nw@m!S#1|M_ZVp#XfJbIo-A+}t zFJ%K7?e|~wT<~vPY?dyqA{X_GK6?CBDkZKmC_*8Gl1qIW-!skGz{{VU>+BEOey zppZcZ-z9Cp7Ac)fP|ET#zoe%WIQq1-EbV zM!a4_cli~`;cV0yoI^*0{DL4wJjlE6qjZ5x9TfMBPq)7JjDE{Gm++svqEG zC`9=;g2Vg?y)9m{gkuWZu6fl*|y^9!KzN^f-@<|MD7h(0Yl4mPH&DgB>98-yg( za^kA@ax)nZe`(rO6EKYQT~jCM@o}huEkfvgFcXM+xtyZ9;rgcd_qeO%HP%K|JQG9h zBB0W=2|wgb==&9K=)>$g=VwWK9jTvGc~K4`#qpUe#0z|x2%QV={l;tRkw0=sl5cNc zyGqh^y%ftCO+-k5sf=^{%ChR>dm}}T1;XsMe^%8^I|7V+>@qu(`mUo!TrUszeM(cU z|54$B0_Z?5LnTeX`@E{cbQQxH2dngOv)8(|bS7#vPjtbYRSt$s#9CM-2CCOm3d0UE z)o**6_-LT%RZcA+I68XJLM|S}V@{doce?aqQgodAY3}b23`*tJ?Hi#u<^T4TRz$;NW- z`OWsLkpY2b(FfLV7I*)v+9+XwUIJst(Sgy&x<%6UZEZtAR&-I{oG3$JR3X#|dTlg$ z7t2TbZt5IVqfg|uz%ZChVf54V!n(G?Sl!@mg62QQJ8C80^Bu+C@IGotTCdy+m>zI0 z5{0(Mj}ia;`IeRojol7z&vhs6Rzc20yw2lH?Dr_ai~)LYc$FMikhm9XnK>_-x~?hCvv zewNAnWpB(RjuiUR1@YOaFD87m+?{6yGi$wR-$C}$!Otn_bHjC4ywTHqB7pb zc59(_@zvWowABKjq2$dsT&k6>1ei@_zUkUUr*Aq#AiHja)ciF7;jRL`*);&61c}!Y?M2X8EpT1EnSc4{5`Syv2#c@$#(0+ z_3GkHsuE)=D^v;cj+F)`4Ms){Vg>z5DuEO_B0Jr@qB|foxM>`w1v%@=n#Ug)YrJCj ziXYj0t%)oZ2aRJhe`&#ex5_g;^7hky`tkIv=4_q&+soE4an0Eo&+$9)lUhb7 z(&JKG=sxc6xXnvd+@kDgy<(jr{R6AV_eC?$#l@NF=owwPaM38LI_V-Q8Xp@J=z|~K zAlsvmjhhA_L55Po1*lb*b3+mKDtFRHtb{o|kSS>6w zA4v$v@fd=sIuW9&EEj0nir_d@n4H>o*YPkzJ=U+^YZh!OGpgl0Cx6zD+aD#&NW|fi zZa#KOn_bP1@A25}vA_+gLbYCXKrk7Qd3l9KvkQqA;4JMmf|60U9g?dZ(t2RYBw24vVP<)=4adS?%1)Ul}( zi@y^EO5HNO!1A!AMlSWr=do5sfje?b`>&>d-mPb}PJ&?%r~b?!&klYYJ{9I3soJ8< z-4!k=naL25rANNr*41n9Qcx#)>LoA^mrC&aw%J>;j(=})u1uGH)G9-&>Jhv?n_iJ# z?sMf_c(}K@9m8h=wgY$HQ=j5G49`+E@31jH@*N126nJFf znt(}=*$P+;@%Z=(AOO5^EB%8cfiXG-657@M^1k{+H zkM%0>!QJOUoF2~jQ!W`h439@EAJ(x|ZwJS@gslRrb{;coRepGd4)QgGVVSh;Fpw(m zFV8R;vW50JTwPx`R`RAiE90q#d*%J=Vl`}3EOF;G%~pwGqbp4`(0iggdvc+d=kF34 zqBXgf;$5YmQyHzo<(O!kfMy{(+st=h&0=$p-Dn*<@}C#c3A~SKRAfeI{zyi7wUd@e zpb0pc;O;p_;?ei_xo-WgWHr=gzOE=!GAE27<$-OBA8Maj50x^r*+hTA=Aq?n5RyKU zUd!S$V&cU?kjrY>#vop_PRb5Wo|=c=hNwti>7>=i!|g=pYY6r;k_tDi<~@IL@y4l4k`4`Xb`J0BF>ypb?4g z&+`HM?G+t_Gw>Ci0QZ}o&V36Z8NtxUnKt_s_aqhh;+ihTRJxh@YZZ#>+7aQ7Ee-PD zA29c=C9+j3-^xd&ffd)~$%wbR55yF`o>{TB&hR~RxYEbRIRALCx79K;RVCtJ$$Y;j z8zKC>2_uR5Qw!?~YZlIAP1#Ek4s-+!Jf2gKS3y}>d1lgd+JR2H=7CazwneAz5oMS; za)K-m2fOnbRcd`0#(9q7yR13sQp3 zTpX3Hc4_t$>s@|UrxZ&hB3>Yz-``W`yV^wE`0RMHM4Q%~bu-MU5ZtqdUm)`~ayq7a zIE%viU8TzPNWP+%%~mc$YNfdaWk$6;;={yM*kC2u$A#faP0}1&7!~)Ay;mZ{kN`9HlwaS22r3`mQ`wJRPnA zZrP*!G#>{KvTElkCulToq3^=f=wQ#$Fe z3U#mLWBz>H;04II;?U$7GssV@6O*io>*fDZadV4L{m~w&^2o6 zFz8S#j3J!&VF8m7&kmmD#z}w1epsm$>n+gixFP$yn>!)zhP#X0y0xx41zH*OwCb7Xy6#_}yki@_R2v?wKT_ zMn^7vYrL_4s6vDnzgG}Z_j^pm!Hph52$&tou`nAhdr5S=&)o0WOP zbF9xFZd=?~5~OahvFJEovIU%3 zRXS_OM{XCh51(rjCopd&rNSdQy&$CD87^_KY;Mu)?0BrdjcS##SjPhl3j&ke_HUv6 zk~y5$Z2SkrO>qRpkz!&!p$*D);&G(I@DL>0f$)?~$LKTm(+_{c_bD0>|A2(e)+qo9 zAA;Sv@DU{z~ z@iSr4Em{v<4)3Id?Rkixf^vPI3rgJM7LabU_?SVMHZ>u(b4!45wp_d^MOUH92;tOv@j?CIEXbx zz@hw6Qmq1n+lP*fMIIbl89vsX2UnA&lbS(&8u(0yrFP8bg0D1x%6Hu{da z@FQwAC)X$LI+as(jjF2l?DYl<9V=5;Y?1>WuxCZ1{eLbHz_Lu5fp4YTwP{+Dcf7K+ zSQFR$^+BYu7Q_M^v>;iWq~qbNo@P%F6mjeND{#zpnZ4`UYh+5h)2jr_w_5 z9Y;%M8x0|3?(7m5@;o)`gkwx@TA9fW@~P-7I?k-l-)Swh-3}d7=&x38CEw_y1ORU^yKCX1M$l`tR;pbo9 z>S)S7&r?hL>^Jj_(!zH>bKtp4Tr&n__PVTtKwdv3W;?KVHC$HGHS{TV^bOUfYQ1$G zB{}6haG(Ge!=swT+EV@cH?ypGLD*~I{Xswh^({pHDXW+v%0T_YE-29}*EK)IgPe*g zXQ~SQ==T5UdaI~7w1h*tekPzJ6-3jh4A-G$R5Zv7fZo&05 z|329}=ZogdR#nZKRkOm^*u2^qD)9Dk&M#ooehjacEQ98X69K9s za&TqRqT5C5ejzHJHg!O4yGIPRa=5#)^ZN7TIt3wLyRkn?t{GC*B>T=Bq=O?-J^(x4 zm48Z}O!jcDSI#UMYn~y%*c5o0yV9LwMjlOIGz>HC+%Z{EHgPc*B!(Bwehu;qbw}Vg zzHlcNo&G>o?sAdKcX!^tO%1BI=GIESLjZmVl!K*s&EcA!z0hUT9BjuJ2nxV7BSQbmR;1g}P%z%4Mc_naY`)JMW?25r2oAuVq9Bgbdc7{G7CSP7l z^rnn!FQxaifNH-h%y~0t48w+g5+E&_KVmu`JHwqpQ$Rx#8={u8ak5>Ogx$#eZ1V4; z^F1f;1c=>M?<7G){c7<527qE0`PvLzmt1sq2wDD)@7vXfTCrWMPlu!KrOMYv*H?7Q z4j1y@c8ZQ%d7M3tzLLAO2rCJQVnB4=CQ}AMYuIheZC_@({780wiQULt2fCu{gt6xI z-I01NSJwa$u{MJUsl6h}2i)%Nq%7=fTufGltO~)NOS+}S%~-Jd%Tr7tREqx@uCf6j zMTCxJWwM>!zDer>Wx}DVHQB|5B8LFo(o>NtA)2)y{lqXIMu(i1+g^^Is8qpAV;O zX`@#VRuu_~T!Z?<^9*<@@-T0uq-e~w#k=Wb$MKnf$0#=OgqMCjoXrxkL;oVH6_623 z7k`kRKP=>r+Ce4tlqXVPj16ZGHw|Z>hKso5uq$Y_X&1ZOjd&?IoRgNj8wClDtX@m{ z*%)#f#B9fHtLO-=wtGp6u45upGwz;{jFn^TjHD?=qP?{*@-||{i_K{&c%>z$JfpZT z>r%-^=G+Y#5y~bc1N)}0SE>xLV*YhchHF@Tieg_1{WpdQX2>s0>sk|BI+ zsK0~PwE8q$hGb0Zh9G*;q6+XcBt*m$j?Z;Q_&tMgKN304Db;Mqga)%|S@AoUHfV3! zhPi!(smpL?VqF*j1jg4cTgWB{x% ziICV5@MBGgNp~9<)wSeQ1j2eamY}9!9bhvGoVTLumzpWstJgxQz^K$6mzCq6a}?e9 zSm#+mD}yIsu>0fmyC;Ri;RvYAq{+&~E7v40MYia3K8!T{qvv25IQASR!i7G*~Watwk$ERtH8PhlUtrInQvoQ9m~ z=O_V)C0ByC#QwZYpDM_`t}&$RrQ*OaW}62_wOA$A3y4%P;P^sYZ>FAq8Sxa5(GMHC zLTcd}`vJS8;M96WUA}F5bB`}rOVdFwVA$zAgnR;ssMUr_9h;q08Z=W4uNmW`l*1kv ziyV6svw$Fped=wfCRPv4ZKUXXw0f90(6xB+j zlKpRplgby4@#W(uQ?WH*eY3g4nejBWc`pfl*B^@FYDK@cKj#A#9&&+7TU*4wi%)Ed z9qtUV42{KgQI*0=+9>47CB5jGOpRO)*2{(4>OEXn7Z(<8h-he^EUj!ARMgJiX;Xs> z*c}&I)YB>5C7Ypp4>olSRZXS^L*M?s!VbvJO`DMZT8W$EYTfFVsHwnJAc|t-9y>YDjSMeWE7$lijMK+9bQQGyCGRa`$&N zHeL*(4!r>k!CGP%AaG$oeMp2+4v0=HgM#qQGTSEwZ89p_0rb$Zi6xPWijgJXF$1+X z{*qoI+#i+;6$J%6e*R~oIN}f!MfMZU_;MvzUN*zp1AvRidu5N?cNUl^aoyxTeH&E7KhcWuY`+RradWUXNZ!bXbG)!cXl@Ym35P}mP-*ad8cM3rq3f@& zPn{ausv?Ef!={M!!2cl=j^nyV4<>f)-6AxJIqolANnZc7sT^WS>PYq|Vis5o=1
    qw-4Ze13w%e6NoJL-dos0J4pcbEis-B~p>hnU_`t>9R@4$iOvyL$+* zbLQ}sIqsd1NzV{uVEQK#(+5M6w8S1Sow`HuY%4yf zc*7>tYx8aKGR(YFG4R7D>!4!~CMEFU3TZ)FROZ`I<0-u~L(h*PE61az?pG6Z8P&bK zDqMU5r64%AuQ1GkSZcWoOuAfFDULtWNQ$@7^`K)gzb%5PQ?c z_k~JTkN^q3GokV!P@;~mkAXohdA7I+HE3l_ddM{2J2KnJ)rO#A5WX$EM?CK>E!?o0 zAfaN~Uu~@m$Mo}A|I33Zt79st`iZK-9+LDvfWAx592pyqJk@MHK zll%wfdcU~VtNBJo{(JV&6cC8yvt~c-3TO?Y9-3886)gD}HDmlGLPMmSiYCyt4oi$& zSY;qccxr!WOADKUo$tEB4d>(MRr`7>P4P+eGa_8j&4@=ntHY*#f5Uhbd)OOp1JBE8 zvCgWCEj9>2d~k43(nKKU{VlNL$$j_n#9Me6hIG#p!s({iJ|<#U*d8IoZFyp6l*zwj;C5WJvnUh+8ph z{-!r6QBjhc`zU0$UI?x}G|tEu!C)QT8myt59AiRaVoa|m&=+=R#mY9Y)2W`^5p2oX z`uC0RGGxZ@Vt!%^Wzj|do`~#`@w{tw`C#TZ^M-_j43Ju)WVZ_BC;}EoSTbYgg|hiR z<5S1)=>dYGqBLjoeHSvP1R+6_p1yVT&sD0^LfoMGFVB)D1DW*-R&-RMK0mJN!{%BV zR<+Mk#)$$kiCs(Fue!UN^ktGS)h)xHh!ljr2@wL%@zxg(4L0F^w?8Vf24T$x+9JcUcfn6&(5 zS&L#Ql6=G=CR; ztDRzyQvyUMK!;+PhF|u8)+P9U85W1+KPIIV3*wMVf45JmSE;L1SEHf|HN_tJec0Y* zr}=p!f}tBn_H1xp;VfaNTh&f_A%{FODCG4x_-cVQJxf6UY@NWN)6dPd$*2qyk?el1 ze>cT6>Qy5%#)OFmNfNTBr{_gO$75us=hZw+Y}4-%{^%&aeY#Y^22M)g)rz~V-+jR3 z#n>B+aV4+w_*@fuUmq?hsbQQ81bFye{?%K>$|x4Ev+&xF^EFFfy$~viQ1F-;c^*xE zVS66zl?OpHGiDOxq(#4;Nr|aM8bI*N&NJn5stdTEe+9UV@pICLa)pw^%^Pf)fj*-( z$As3D-ILGA(M{m^o$PtmT=#}18%>4|D(%S^M2HJwjnUElQu0nR6MI6D?XRtQoSuLrO7P zbvvk#cy|d|!+@PX)N9?aOp}XosI1<%-y4W$AZ^=rnUo|^AqP>4{Mgh{Qo_h^oO#>y zarNn{VK3Vs{Rhe7Jb}{tU94*iY_rGVPz5mr@@V$sNs(tCTnlJ|4|SutGXzXcuX_-2 z=4Q)Cl6%gxv0cIZK_9S=ab-jaZ!<)|DbokszS&nK*WCkk&|AE0(x@TleLiBc4T-x->?2^wi^|^R<^RTI>zUBgIRCfjLHip^U@yjuU~&M;>fIpllZnetxKjGDi&BxNY`Mg55|g- zm5_5Ewgf?QKhnoQK2xw^qlfjU*{{2 z;wlea$9_gjwP!zy@99>&(gY+7rInrc5!vQvIIr+JN012mLP7V+F*k_|Oj`KykV_*9 zBs)#$J1jT3ll0*8b@=32OK9}LcFT$QVc?k;w{k@ZKw}lA-rh@`aD^cu6CG=J|Kkthci(x zOfRLoyOjMFjb7yrq(CN-BN@LI6KQZlnEWsE@*^5zGTZ$g3w66%h*G@c$yf^P-~v}R z&7+98Ol6Tam9OWv`KY$)Lc5<+ST{Ok--^wVWU1x6`R2yhqUZ9_rFVG>Z01;g({5ceeyj5Fjy`iUKI)2Y&)n zw!11UK1M*2g?WeYrpW}6c7A3ioxi@te|3un^bTMHB6jRzwoH%ylbRGWzgSG=y-IxB z8DTewZ2GIY6VAj@K4Cu0yMVMe`pum>&}7e|K>=lhM9rScUJB+@iAw5B3Pt{%#|Wbe zW8ZXtzrRc-T@sUG3`^tM4ivfRA$t-LzMmhhZT>KlF4OU_%@V%AMge@f9rd2zoYl+Q z7CaxI-19?WrlT(sKI=wd8QV@atjsWI_u%!sZdom`_1GlBp$29yvC3!(C3CxaKOa(g z8Ydf9M7y>5_ln0gH@y3fNkq88A%*zr2acWm$0NzPu}u>v)HvoudAtBijv?Ls*7^Jn zb>6&#_spm+v#q<3yLsn;J_Aqh3%<01N9adhLVZ8{F{h8__jO;fO}drE$C&}xM&@$; zme>g~pLnc4>`5nL016~Bbvt&5&FgZL6Q8M|m-*0X-iSA{HS~(oK{Jf+S=!Z!kUe}E zGn$|{sj6*1C9E7l?MBHYE^4^@4Z{D2s`&Y4vxyo=Lqk&=D(rw1qZ}QZ=?n55o0%yL zG!f4afd8t4G6WZbs6(wy1i3Bm@tRJ!4M;$$;PE}xQHo=B5s<^rHsx=i+Dp5SuuOv6 zez)8CQuca?FY%G6Zfa&WDh@A|hh^{GIMLsWDh3 z4v@5o!C%nI>D4jwy^Uhr;Lk^cl7&9M z{m-$|vAkrkcqbOKgqj#qSo76}1@O_)3fi#JWH(?+(TnnEhN##7fxB=a1w(TVfcZROpI2FwqfydA^ zH%v_5bxNUkh3Ei1{&f53)^z;y}Ly3xoa6J9;exeoC&7QzT z)RmlYn0e#ht3oN_RAf(Z)pib&<(aE0(OYAt*^EHwhIJs%6p z>q2!hum2-ez{C(z1sHXYy(d*I)lcrRay@$S|mPfh} z;9BjeYL&P;#K}GcP3x#LJ-(nW-O5ukD`Ox79=Jw3*$En6L@o{K->h}%cZK`4U6v#Qc$F4$#IMQ>w>cPAA_1rMeUdS!&=co$;uLx=x0HEqHiBW#|gpsFL& zY0;Y7x?=*+ozQvPySk&WY6|lUL1=|BQ!cl%vRs>jk(zI37syn zk3v?)oUpgRdrg2(#?>0S&#z^=#BdR)N&@2w@=IEp!Z<&XUB+EixzDgibO7dI%>A)= z_}3?zDzhQQ|Bu^vVHmpIPsGMQ%cBnqg-t_CU&CGMF&zzsD)9DGF=4S1bV{{l1^7Yk z;5AL&w3$Y_iW0L6HAv{n&@{o>2<&z%n1qL;n8E5q{fO^YzCuqDoa-!@4+HCgM|pz z$!8_npTn()A8s8+2SP)$;$dkE;?Z`%#YF`P~KrehIV_QToPtI z3HDonU!t~&4HTCXRVXmO-8a%^tH$N)%h~K!s;-%4Rnqu7ormwraUvLD&h36>>aSbu3huv_gYJ!xA;MBUH-x{rW!j&6b(_MC46^N?U%ACZ6=uc0wE zW?pPi0X4-Z3LfB!ltyn$ZPpq>U|~ir%JSm#yqnC@Y_V`9bJ60pC&W zM0{2#B%W>}2)z#9a zEEb|0UQqFAc*mX(bPZ)v3XymyiGZ*vRw!oE4`+fTb!i(8yq^OIF$jq_p2SM>A#~tR z3b3Njq{lVp!RcxKBn}NWN4c>`rq`(a+q@Y6MKyJdmqdKDt#~jKHTu_Pr!HFcj6QyO zpMkn{Z^Dw8*EoHQTDhgT&Nr>>M@Uws?1Ub*5C$ktTzEBq1)YiHdFrqBE zbHqbq%ToOx!>Msm`?jEj?&4)W$7()QHm3ee8clK$YlIiq4fR~a29huD~S`jhbOR=mSe-RzEH7n}-A%Aa=rj-xg9ZB(f2$k1)Cz+r$qcx$0cu>c9+iQj+Q?Y=pax4}D< z>^EW~-1(adE8vDTloM;~jSxHDD+?qabEr})>|UG_=86peMSpooEN9o@y%`)|WjuBq z&vI;EpHG|IdR4wYzxkPWvvJP^D7sXQ)gRvMr*Nt*mU_>G#zeZIz+dv6{B_XAmxJnE zGpM&Y%7OwwGeVeZKu4B_&` zw@vocB%T-JUlw7O@YedqAo^7hN{D%OA>^4>T~h7&^#^~}U$DjkVsjo}kDBs> zS}#_7qW%O7-w8$J*SIIyAAc1Jl_UPG7^DfpKPBRSrFlcXLN|yhb6&zM>xKz`Lb{X$ zywb>0M*l_o{oC|1yE)ITt@WU#D{3^ZB%N<#E@9NS4@Mz(--Z9K5%Ry(H~6n>_9ac~ z`OIfj_WFDhyL6~PKl=npMu=ijLXdMX0Vy|A4Dm+Od|jxNd2X>*PCTAo$j&`dQrgQDWjRXsQE?2#lDA1|5k4$aPJ?w`;H;ENYW*?gNzr7__)}S zm(en1Ssr_w?i+zG6h&?cxz(p!7KC#!8!z=r&cpBW9cWU>uAHe=wTE^;yRi}5j>=JX z4gp!%H@EHxN3lseJi{NYa|Q<;X3pQ36UrmwVNN%TM2@ivyq3)nyrm=7@qY;ZgY1m} zVlO#QPDkK0KNQ4rB~_8WR_{yLxn0WJ`Wgj`REtT+p_Fp=9#tt$z@BVvj%76|VP(`i z&tNYWGgkq+N4=ju-z}eb6=^I_Oo(+nT~?ud`T7Q&-I?6+@Q$e&w(nvx>q-5anRbg) zh34$#tf5lNQN6Bc8&5HZuifYYQnUM|OQj*%VnNi%(xM>@bP}v&{FYuGy7NP=cuW91 z&0%R`fJ(AF62Le$yK;A^reFXzb##ym$qHQ*J%Sp*2G;vvW(i_u=O4+U#0an79a^*V z>+9<`KTdbbQNzRnNPM~o%JuW``|G@+FXwHwUf;dA>2(>z`0yxQy@4Cq7Y2B^xV>q- z0xB~BFOJc?BCp0T#f3dNmB8iN#6`BmQzklXcreh%D8C?6_jlg=z@zgYvRbQFalKC# zxjC}+mUCY9Y|y-bCA)!og#4Vm!ecRz=U#S**Li320x+gWqbD{Geq)WZ9Ao8}Iy>#? z#1P4+IvvViWjMf5iFq=XK4uOkdQ*l&vqMC|rLlJAuRbk=h9-n$8~K-m`cVA1vejQ( z#R74}lCd_sYmD7{0or(sDXWT_HrSXL=H${f{&~#O>Mlcnh}0=ki2t5i5v=$EnnznN zKB;~%V#ZNaHjIkyiT0V|>6DJ^{@!(R;bt4u{`+J53bnOL^W~h$I`@1f5ll{1RWwj= zJ=6U-=j`kdSs(zzwrLx8e|I-V!%DXWAZBaJk^zaY-P~=;1!TVz`S$Yt__jq0kOEi) zUyC2W|JHuKN64$aPCpdaxcaKoAlk^@=?3VqaH9}yCM?!O2BTl#^3rRjl&4wHAijaw zKR%)@QS-3}Gi~L?FI2k6fEHZ@C^$H3+~5Zg7y`O{0mGJQqF8?7A$=566Y946lD@C+ z0@|(j4`;G=O#j0i#h{loHJ0eDb&t>6vc;RjYB6O`r!wo0Hg}Y?7&brb37&!YSn*|( zWFxxZ>>Y%scetG2BWUaCeWCCIc6J`jhKjW)DJgj;L=5`dgs+!A??LFB_#%7AiD8gE zPTW`Xk`3HmX>k!oV(L-7hv2#Z_>wq4xAyBdw9CTEV`YZKczN%=Ij~Xo(Kb45aTH5Fr8b37_tBzUpp@_L?V95p?b!ZUTf?vW8G@J2 zAo0HVvd12goJd0-@c;Vr8wgk?f4Huums$%Hfh@O)6dw~)@5bZv(YP%2fGTZN`z4&1 zi`L_MdCMRq;E%2i*@$GCD8l+vd4o!fi^9IU{r=c0WfI93sw~K=vWZ4(^n810uVwYo z=2*K!O$KKD`^c-inMukfW+uyuyaS8|W7RAMm0OaI3Lq;5r52QY^RT$ETn;O_I4W)Y zJTUAvi!_urbb_oMx4G32mWiFa4~oAmU3OI8T@cJCwKBJs`#bA+Jk85f&c8m!+Qh?f(W&XEh z0)}ONY9LVd(|E2#t=S-^!rWb=nYeK6Aa7+Ixc%xh!7#sn(br_%py#?k)Ll z1xCa%^ngF4sK#`F7}abP0M7ci=4bgrdt3f)*Yr@=q%bVtLoi&I<`9UFRNegAjGn`B zBVNQFxZ$Gt?&b?OAV|W=HTw>o+GjX`vXMl`Xwvdj31UC84p!ZnCCc2-ZBYN|5uM*v+MaAp zat}P{Cg~0oE%fBu-+d+}7ILPFL6ipaa3HtQ^?z^`h_tKqrt`E zMf_M#*FW+vF^ikA-sdO_8vP5~M832nMJ|t75=1Qmqb#3`h(fcYGOqn4)}pN-t;$xe zSnf`yrx>xF)O72^&%(5#)9Kqq2n;76066ex3#b6DT(fy?W7+@-7Io(htS+h2fUf0ovt z38Q``t|CXBhlpD617DwIyV*#+Z@4L`Zzt{!fiZm-{w;IQA736o^pYxiK9|;9vsx&~ z-~PhjUzP@hFxm$Mt&ts(Jqo@VwHekWC;pc2%dD4)VTI>`VObSu^~@z3U5P~j(WZ6r zi|=m0TK3$DL=DolQhMc;O9Nuim?EDV2VBr%8TyUu0@2X|aODaVGM4MbB$G;mtNyy| zKZuz_@Dj6o+&pGq)==4aF=C-&ig%a18dt1(7j`q*ZGU$)i;1e)>yru5uvKLRl5Ms0 zj@1dF+#~@8ZWygWjezXXui2nWU*ZywFO)SbWTOHqVo>9lNO1s)|DpeKh5mVVRaKT- za1FV{(aiAeUl;%Ia`8{@+K!Zn6TOa!?&0IK?Lkg&0elkD+%c^8_BrNl+s6fdZ65#;!MKWbLp-`t38LB5wr6< zM`MXXdQEeJ{`#e-C~P6ah=R~x1sfg+SIPkEmA7wN?G&nPVjpHQ9>S&K>{p>;&{5HP z81zxxP}0rK;y_wRzDVWy=CAgMDdrb+aol$4X=cBTg3}W$K(9IUHLOf&n*umyQ}LFZ z)i>Mw%Y$&=H{Gi8Ov1P1cH;2&jYJX##To~&p<%L^1E1%_gnjlWzPS7D%!oK*NB47- zQ6zMoBsyfN4Dl|LW#M0c4}|vo7%|H~@qTx2FYgKDoqNbb!u{)Cx*p&62c)Z1Z2Lsi z+|38Wh?CF9iz3MPhM;?#nYB)wq8i?Bx#d_WYy5M|`5B;%KV?=-n~Pggn6GBqlX9|n zOF{{CvTWHk{z-pffAo7^xX5HbOYsYE>vd=s`RPrT`jb^kgy!V)@f#>#mW z0|mgn)zzyW$Mx~Jc2QxZ|Br#P!f=K_a3!aUnm<0K82dgYtWiyxY+)S^R|)g6Gh)B0 zX_r)W>?^hr$}Y1MHET*JF|hx0FV(Q(YaM8>c6JTy*!6VJwB0SiN2In7MTW*dKc5gG zHJfVW@VYZe8jP(HQIbofB6JAG^5w+Gj9{uld>AhZVC#&M!e0voaFJ8e)ug?f1Znu> zOLEqTHQizQ6SX=K<;frpJ4NVv;Zizs09KtwYds$hN^`pUN6_?Fd#cA^z5+N4;45r! zf+vHNcVpxaFc=Or&WF9PX0q{Kf+nTn$>4qiAo%s`>FsTFbnOJ`H>=s?)gco1|FutY z=qZ0+M>#OxeyX$fggWn(XZ#9<`pIXtIH^zah#S-q`Pvv}6==)h03GjIUT?q%T*Aa( z)@>N?6nFJntmqq={m;s?YhL2(+lR7tNBM!DxiAs5g>>{gnm1sLcs*COQMj+sPI7f{ zSzFSz+C}6cPd8e$r$5ss@3m~LXUrrKeQqXnX*wxJm4;F+zD{nWEG}(Fste->|TI<>ATbrUHdX$yS`#{Dez@_FG$2rjx-wsGFawN@znJX>N2{6#LDiAmS5CTjI?_1 zlMsrb%IrdqDv{&FW8xieQlb^8Wa~G%V1)uSKCh`>g1zT3rA!A_*nof=j8~W-cd-*A zSvELsO!1#d4$s#+-trUA<-_4HxrOZ47P*sG?*#!ypZ=H1Ip!R9v4v9x44~Adr#CW7 z6Q8Dqm`U=uq)z#ZSHH>4^<+7E@v8bCxJ&3P_Wtvk~gJD zz>lK>nvr@yyn@MjE15384a%L9GJM#su`C#9XL!+_XiVrI-|k1};|PT*4U>18T_ZI8 zx=$LYvh%y9?X(2YHm|iSX}{t-d@-(1*s4x+SM&V)81Q)Wy&LG&(l9%&5gc^zX#bgV zNt6>;G%>YYN&o`oTs%3W(m5$e!lbvJ5 zKN2fWepjMJz5x3CEr?jIKdJYMFe#f?oge66u|7s ziK*Sll-HD)t#JtW*NX>S#yz3`rL_3aXfJ~I~Pgn9o^CexK} zRuq*V$Q4SyHo@Fi!EOAl)Xh=0UnDxeUIdH{3eYWL#SC<<*paK8e`{(=KIaIx(8C1%3QfjVZ|u)O*v% z9FJ<|#N}k?v(2U-M5zu1X=U$6%8FojW+#8f1aoj;$^-g<@&R_aZ{vD>HBzRl+rmY4 zz)(^wI*9MDyAE!Ja=gce?hp)&x6c1Sa1n(U=&P`-c+e#+{PsX^r1Hxi2(Zx&cEB+i zck8h;cXB7GmkCEz+fAMh(NFjLL0duZSGrof(k>qK)XFO{YOOFqFG`%ie#Ffp8O#_l z84OWM&PT3)RRqSe?C}Ly>S=v^G?5_Xd0T?9*kXRA`)l_1RUP{z7v>SPM?t&dK^DhDk6UdkY>3r}xz>o`(9b_t>& zv|f~p)bD4Q>rU0;yLgO$DSjhCmXRpr%_(D6b2cSe*nKESIpM4VsX1Ob@neEXg%y+* zcMlOM93~O)aXwaO1-VGHrDf-xypPIwCGx(*sz3?x^4YX_rwURxjq!1M&kQ zKWd8E4{Tmj8DONQqQh{Y#HHp7wfr(I(nP#rm7>4y?fET|h@8LIL9`)WQfSgr^Q_3f zCQb+H?K)Zcl3U4UwPAGa1mZOk6+GhRmUMRx0lN87ol-`k*sot^QngWV;2P|I$!$Q> zJe_vJMTG8)zcw#NrZBGCy&g3r!CL@+KRNhEs7R5NLwH66JHeXqRVufb$H)*f>hAZn zUBri3B__OYY#J!OtkeNm2z`C#K6MyBZE&*w1#^X*5I~u5c4hiHnyTk~Phnzv->rn1 z;4QY1BOY0^c1Cgu@fP&LYf8GQX$kJKczfcziu8{ub!9tJWYzS9?+;*kGg(pSn?Z`b z^t%ZuDL(>!@ne=SQ2bmgwHqap(V@(Jl|mf@AB;lc_y4B~F01z9@ysd=gEW96F@za* zWM&7iFrjN9MSv3!hy7ItLl68k^rvq#B{{g6%DnDBp_#H2g-5^5YFRaS1A96Bfy8vi zQ0U)2Mpl?@h>j<~=Zx#ip)RL|Bt6%%#L!mfnQnrrjjK@#-0lwD-~bt-u$B1im=yLB#)84-;`x@{o}xsjSHgA($_n?>R@3z-eU740T@fOUjv8M`7mW@p z?I2711RSgSN-5E|Qnnz&B&wcMvxO_!>ZLn*G)c!8zqv2iXzIO+pkNsI;cO8O>9Z8y z?Q}hlXsbwbo-5wjaGs~rx*bVYR4)yl89SP?7``;UM*XZ=XS-wfZ$vU{Ik-xTezXfS_hNB7IwiO1+r<0_S-Jy7^q@Mrm#d=*^{Nc)eTyuDJ#ZoB#r)#xMT)DPP-47j~l#NElnT45eaK{ zyksjK9p;Te0E2k`RewQj#|U!V6C>L*$dG7ISAV*;XISrPth!zz}?eTD4fu7>|scK2^Gwh>A0K9$lQhCY*If7@2v=@ z`DBFnslQS2doB1X@qF1%(HF7vw`=`2!H{wY$#gx!tjDYMJHX<3xSeYG=9+CN1kEer z*BS|h!^Oy@!Ls#BD3-^I7Dn@L|7fFW!pr(3l2I=19j3++c4o)P`DZLP zLJTxpaumqZiRcosu}qRrTBuM?%f-LDLs=09?3Tkf5I^$kc~I7T*r!DEyWnWC^b|V4 zfw_)hWP`Vgl9e#R-`y`<$pOjE&gwdUse1iy*%*ovvWtrv_@0C7+qCbHl(?do9xjF_ zTML7W69PT$lcUKM$155Z`|lGru7aUP?{SP8gvvbJ;-Fl|y|v|gbNzk*u?iDTGm;o$ z>AQ?Hs^;q~YsF4WJ$=5K#N7!W#0C9-CDx=Yq`3;1#t`1>h_@x`3itUcO;?INF&o_g zi8RIqoYYSfK`Ddn+;^pL&B5lo_5{zPPwl*_dYP0!)8eFuRxX*7Wz<4V z%YiA{C}FfwSv6VeSu}fL#LZOvXBNOoEMxQ_`~U`(wpwxHz_fPi?4V}lnr6?BiuToA zqNg`uHio5tn51Ce}7UfWXJ?W^d#a^xu(*?$v|@4|GM^9jVMJ3F$ELxE@jGIgM>jz z+OZp+ol;ZDEN*9Nfio>0@V0)YULK6SqS8XP6 z@19ya)O?}KZVzi+GP}hl4WKG-b(3+qW_>%QgxxkpVD?sq(de>H@j_pTzI84!cj!rn zamVR@)nkfxuLK7aHD#8SY*O+WvWS@Whu@KX%!buB#~0~s zU!Sg)RD2~VG&pXa>5U%h{(QyEZC-xeJQ<;VF?)Vj(fMpfU<3^rm@!7(@KY_uxd=|! zMRRx9bva=Lu(oUQhLY*k3`XHznzzhE2=hX>0~H35(z!J(Z9X)-g&$8;9%mBAN)ksDVM&0;4S*3EyPQG5q?{^hh8pw;`vRPY?k^VN-|kKdMhe*A-`Pry#X8y0 zIscIEarjH_-SsJPZtJXuw`bcOTQ12X?^{V~pxsDxyN@^`yRY3rDTiQvj`H=|PtO3O zjg{>zs-b&z1zk$x@0(6h6I$0St5nL5-htD43ep2}rtlmbSUIxpchMY17E*XzTa#yWtg4Ki;n*G5M*wkC=63#X}eq3Nw2NF&AQB=_8C<{a4q4$L(H( z`1CU~F)shj9C?`>#SYlN3x;QBBR{BsjBi%;_jW@8yp6@yNa$CrPqedu+Vh>Bw{KL1 z5P}aJyIEBm#PjTmH1LYTckj}?6zAS$%$Yoa``5QJjQDlbi>Z~m{8*M2 z8;1Z&{>%M?cr2$!*Q$O+Bs7aaC?z9OH>GP+P}GM;FMuq5ehfBu%MU8+dgNTmWjF%W$kY;y;` zr|yqvr&4=r)Q~PCubM%vi59gn+?AiyV8K-k8JVwwAT)nRjB>k<|Ba5JCsI_|xsO6T za)}8ai>hhOU;{{$Ig3zYNXM8`c$69mu8C@xwT^3P{cB!^WG5R;CK7rZtPu}%1q3H!+mOQSEpmrGs2K0jYJ^5Ud8&B z3^D|4(SWH|sL@7(f$7L-7LNaVA2L%_|I}sO>~!gI!{LFsYpn>GZvVc>+v}6QdzMGN zfbyb5nhrm@!p$__)U~0YZEf@!M`(30P>7=jy_!FiyHwX3{dtuBoojZ|SF6D4Pn+*$ zeR#J2YNd?ukpt}aVdW9XTTTvQQwMT0#GNu06c*A*X}}B0Bxl6NJIYVR<~P;1+SD>> ztzK9UwQsb_G8X4U!V&fb*^v{?kY*B!+tLy78-TTH`DtoJSkgXLpHIq#R}8`~3nE$` zn`~~+NJ@9ouciL@sRBmxEXZW23W03ik3Gfa-v3u;Zw2Qc_0zU8k3Y)sYSG#m3QKJ; z{d;74M5aim8PPGE8JmIaEmYHP*ACHuFaIK@DiSS#KT~`z9Rj{QcpUk$xbHvSb%?(bN96GyOkYeRV+8+w(Ro3oL@LgtV|UN((B@ z(jX<>DFUJhNH?3+h@7DF=dhYSdneu8rp3!H^pdukLlv8yF(}rviH1?Nn`^jVgb%_q$0T&R?Cb z92KQs?;4(;ltU8sri}GL+W1!u;PIBIL6+b`e&f-Jz`oB_uZW^o(Hu2HO%R1XY2u*c z3~{Fo?$ZPr4d1;f&`qkDjiWEP9@wdL()qFJ4J?)7pW4Q~!F>h@Qf%{2mzBRVn*eWMN*kvFksALoJ{w(NspDhq`g5I&Cp~o}N#{wZo^6 zhz5u+7!87Vb}}b?o8QnLw|>byD1JKCNLr3~(f{k-aOkPD2AJUP;amU=d zwgOB>6A)6WGpRESCvS>P-{d*%=qi&U-tt&4ba{`%8Hh32#0qZ)Na|m|demF|)q3G= zVTCMXyR?Zl5E^;qYxpDJkgnEf^x4?h$@3VZwR+~zq^||R@D7O>6_9L?XLz#C47UQ| zh2pPn%|EuH2TX*#mj|@wW<-t3v+hW#4M`dZE#ocY%JOUAcxe)|tHo zp!FTAJkxhV;_Sg-O_TgAQNI7GQMG_-gi?1vUJAWe#bQ6bF|gfJc<;X(di3K}Zu8Jq z{~V9}l}H3z^5$)!MnQ`QOvTIqW+c}`D_t$#QR;m|oCnkodj7G$2T47J#11%) zW#`$Ulm;Oh>@#_qs~hsvUQCc1{c>0hud7mbIKW%^=Ra=y!Q|Fq!|eMXWv^(rE}g6t*6wtc9@ zhghO85+vzWaoi80e63d6JBdowInib|zF0hXoXC+IaQ&Xx}T2n8&9sYoF zcWhRn)O-+-zRM|&6F%5{=-Stv8lO7O{lnXr52eh|2;46jWU{h;(?-9-TDHo!xw!nR z>j443%S<{fO}gM+b(8=^LtwJ*l}xvnx6n)Po+sN{x-^y$xt^Z^@!~qCb?1T5u*^K51Z?jFnRjvkicSiRm;vq!FGN@aeAwu(|7hT zG+)whAeRHHlniflg1Vj0c|!kE+dV8lARK4WjSLI$PDfo|z9d&h0+jNX;wFP}^=w98N}^`4L9ul-uL&GcCGv9<T<5aN)-_w5Y#31z%skGGqaI>>(5anH$d(@~icC?jBpQ z4;oHogQ+9d^+!r~i|bACQ8}y4X5Y-z*)W`+o%Jxz;Nzn`QvW~Q|Gq}vyyL7&77~jMvL^`Ji?A;*iCXBj`!RZVRDZV|F2A$4eOa$j{4ZZp519P| zpezc>?DYEbPQ5HC`_jwT42A##L%Nltui z5qaX${^Tvr9HD~HC4veGF-1DAeWXj6jl*>BPk|i-M96HFVvYv>_1(8J&WAiaGs3}L za;?9)?Yy?OH%8IoG~kOlE4iCq)h2`JsIKnrPbMaQDn%NiL%gRL=a-vws^ZUW@Zelr zhwP6z+1Xo<%v`!;d&(G8k(Nz?2ZsTfR*A#E#3SHrB4|Ze7(S0hT+Pi+L0)4cpK2&M z4~wnrNOdyVPvt6mBd@RgFA1Lm!#;=|qA#GH^Yz$d2iP4Qv?k@^E2<75JPlq;@z)@w z3jNPhb+0c}85?9Py4{P4RgH%N{2gD|gVr#T3F4FxLYSoadE0SM<=ZXdLNC7e>@mYSNqm^dZE zbbh~7s8Sf(0x8K`i|19{*Hi;+FUFW2RwUiSB6TbL=Lz=oI{)JUS{^&Hr`r9kl-U3Z zkt3nZ@Q!BCh(sd^5Cq#mx!t%hq6SF#sa5I(3Z-dCEj937c#5!6f~on%L_CyT1^gN( z9mme*jZY8IrDoEtcgya*AIawkxF&R|4bm1L+*M%wt>2attp-O52`rwj1U@qE^J;6= zQzp)?;OYiU^KepF?QZqFZNgz&fUc{d-!IIKD%xV+LRj>G4F!F~Zq{*#IuL~p`(4my z=0o)ca|oX)Tba87(}FVDzjW94>cD)skUU~%FF#1%e7@hbWuRvKXM@JVc85*`C>M$0 z_FDv?07()*_q@-xY(n#O?)BcDCN`j)mk~Ye-HSo^QSp}Z%TzbU(}7hOL&n}>p0F^( zJL}V`t78UvPoz8fcG$DO<%y)y&W=cgHGS2sVkF8-#C6Kb}vz2cffM0@=vd{QH<^EhOy zQ)s=)bpBWVIpPr+ywrPe+-AZy;YePi`zO@`V*>L7pke6_6L^lyq}Ab0MAUH0^Asx+ z+BQ;Pk@T`J6vTDppu`-nN4-ROk(*m*#7V=l(8s?7k-hC8WL^h0<+C-x7BWA>92BK;5v%gEY8d59NgUbN&E*j ztBf}ISf9AAsN>;ZXt$C)-`+V`#(c?geFS%e9x4v^L@#B4QY2T*M z#AVCjkCa3GuLy{Tm2a-a4Uy-RyC=-&YT|H)ga1#zjk_F3=_yQ)gG}a&EVi%476ebxw4jJ069>qc29O1_Sf#~Fkf5V+STo3iZ?aCk^ z`LJKkkeRQ>J49`5G4mHXtkia2Lj%qLs>{nt_*&U7vx zjsIM5fu&Zt2<2khn7rdF+dGo^QxzdlFJWfkgq5 zft%>8Uua&(9Y8qTzj(@0?Dt;`L<_zm%0&bI#!-k|p8KugFzLDL4TUa(^902LhbN23 zq#BXW6BAqtS&e^aB66W2=b7(5Catfd1)TnZH9->hUfq0efkJk6Zw1G}BiLaOACQ4w zjJEBIoq_76b0(%eDrV=i4Du|iA--yQxvKxc7UF&zV^^!^^Oj#&fq>-D7uYr(eO5`k zCdjsW>T8qr3b2EiFF2RR12+RSr%`7+S=NhZd}&Xt%mT7I&3D1JMCAg@>i7G{ZcoUmy-*%-OznF*WFf3 zxrzK%RcGt_7f0E_DwL>Aacz=rDim+ongcw2wmNS$Q%rvSSsg0BGRDp-a<@WG_uuvZ zhQf6;1>Uc5=K~Oxt%uEg8%&-@nvR(R5cl(bfgo7#M3vyP#uX;Bemdqk!>6wBdiCI5 zS75p3C+*y^LxRDyd<6wXj@}HDl_r_xnzsG5EvyZ_R4k zkshzMCFNtj<>Ei@gixEuc2=83@`EH{V8e|8Nzo3^p2tU90SQbOBnaQ{QC_&A2-r$N zoOfC?hogFOd}xYZ$dGJD+9aW0o&H zGE9ZmPV6)07dCw z%ET89NTrm&t5t+fzcZ4I;}Jme=4+a@OXEGxf4H3Rm(|D4_%FhpMC~5#b-m_>@{kXc zs51Dm%j*;Ggo+3N7J_x!xn}z0Ye6J)z1wZ25BIlYk5Uqcb=$`bB@OB8DT#^WCybgu zq^YnCVIq`iwX8j>a&9+c);HTZeZuXJBu6Pl#SPk3I3EbhY$5Sk_313URn&XA33r7u zUP4<>L@`N8;avB5ame_lypGjKI%ubKKBUP>5( z1aP7)bq2~-9$_&mp63F_rTw{H&JTUiD?Xr&QWP0^0dqg*g{xp#!>QWqKDKw~lVe}& z_oI1yEGWGQ!ZG>I-q)=~NPU}}+k2!s$0GxKZ)6}_qIjAe9;a?(nuM=#@!tw!Kgsa0 z5UdO{m0PD>%tyxZvJtTt{|_w^o@K%%HGyw)Es4Zhr~o=eU;`UAxGZBYvB#hp5Cy6n z3}?VG_{x=xdqtpQP2=FkS>ofE?Q z#l^k;BS_hT1_w)=f`O;60Q?ksb`c+bk@lDLVcQ6rEyBHZumIh5lCz;;-Cr)8HDx@1 ze`Z>>owKeC3MI+^ig+Q%vtOw-=5~LYvb|GKGWgtW|Fdq!hY&7WyFEi=IQ?IvM?$^J z9I*U%kyEF|vRYk4mE4H@^QWXGpZD(mzo$fmFpCOj;c1r#J+-}#VqRpaj|6U|_^8mT zNL5g*EFfSfc-F$s7KGt`=*yD5 zbv@`z>LZ2qHH`|t(?$3f0}LSv$%I6r0HN_c<)E(pviI4=todgbpJ#1wVI{G$*gOAP zQpPhP9s6Zuhpl?__P-UTPgD?4S^S1OQMp6owtZ6D*x{538dSf)=kCtKIsUS<^&{0^ooK-K_m|CMk5GAc=;_ zzo*`)DN+3_Es59I?e_1%v1BV_$g!uqS+YLKySNRv`BZ0S!)<5Uxx(qPni@S)GAd0cUe>{-%JM2I*e3_!0N;#zE7kKGym^w6 zt)($d_n1Op$sK7cJ&-w_h}|ex-RkzIVT9{-pYG`0^kgge$+Y zhMp^vn`XLjmosBzwOPCqLLVYm;2^d#+|fM%VQd)-H-r~qRo1T`U`b@zB%BO2*K5?^ z{qs?9ngIb&ND|V5(;E12WnEj#J7@uMm(Qz__6_eaUO zaq{R#+wdK+ROG%;aa`BgsGi9O3c>ZL;lhLkdtMSCPft%#hY-#ckj!rCmd7^(Jw10l z|D%&Wmd(NR0W9Ywq)O{;g?K)vH}KldNS)2D$^J~$8C*~aukw5()K!U!hLzo;SQ zfBejnT;%|KS1SYDs&QjWX3>TfyVr3q8{~pZZOa6yBQ>GenVMQ)wsSayFbADsV8}OL zb^j-AC4?z}yx_C{Rsyx3fSU$EktB#}6g`>M+^m$?ZRuns)hbsv-xVwMIZHe(I(?0Y z5z%+nhxyEu0j)Bk!NI{Agx#y50t?YR010U@LMdaI3Uby=uvo^~aj2Wt=S?^*I_FUm zi(!QhcJ#MqT)37h{!q~HfcSb9E&Q}|F{p(Ug%yi+GLpXGf=WB`Cey>OgoTKLKh-6A z(zewN9&EqTBBT3r8upLa2W!bvUaW-$NbR3W2N(7t#Vu(5Mq=c4n4kl1ZJb>H8S!_$ zL|yLP{>pA7)ZM7n0~wtotwY;(+ME9@4Qm8Wan`G@)#3*uUM@JXG{R9ZSB%$O=RQxV zEay=R(zaE~EotK>-{Ht0Wy6xOz^%Fmi8p-1lM1@F->H>JW@!}qUc}Dz%9G@%2IHUa zVGRa@XkhP6pP3QQ3y_%xL)_8K-i0AYK*QoevGf%BE7@kdlxayEf>VceF((_xk8^CY zGw#L&hY|9J$@6j$U?N*oEicm=8k_&SaB0--q3;}<%u*w$1evdK zo(w55#=9g3-2iYH*rEt@l}|xZz>3BUZ6?QLJPr&4u6v`jo3t~8r~)C{=>aYerUpLbo;vC zf@tFo9Try)Tk*RwA-{R^JfBsYjlronQ z-c+OeU0#J>6#z@Q|B!g##t`0DH5P=SecdXwi=^d+-fpOH6*eUS!8e@h{s!-wWUZ_7 zq0`01(4cZtWxLB5V8pmUCA_Z~eJy-yZnkY`ET`z@t`%sP3TDU>9k8 z+Y9PmFDwFjh9U!L=|xn*=Hv4QgrRR#C$tUE4fjw6WN$?_h2aAiyUbiTxZ)=J>9qr_ z{Mn^#V$;KS9-DB_OY?QP(2^g9_vPG95B-Tp+&SWor4Xd$1_7-t z>554Vh@ys;$?iS#OoR5A4n7#b#=`<$817Z1sfJ*6;eH<%U{#8o41l&cfoa)B(p#0U zI=X@rUWE77V=340%<=x?h~Zjy7_fXA@RSRMp&X9g+xNgW>QoS9uc?`UFDboB`1)sm zc`e(`NO%#40HWVCT*C@3&^`F@`H;txs;~GI z(_M_}%{REb$R6g~u=@U=S{u~yZ)g~zsAtR9BGwuERIYs=u5-@X(@bKt*A--=^GxLN zL@i$g;B{t+ehr_aiJ4>NLG#40MhgDQLHx93(h`?vjvH}PcA&v}>~>){nSYUQ zlSd9?7>n=QeNZ*$V!E7jHMIF`Pf$5VHjbeGi9VcwpR~x|_B>j(`YvC6^7~KfT>|Ul zddr<{Apwr5?rHoRQa<8TPgaW!3T%`2zV9G4b(|G)Z=KX6rVZpk$36&X-)ugqFee2v zy~>!YaXHkQ3taG`Oa;*c0^H$0m6)&})L;(hG#eJLkhx@#wE_wXZYxA&sk_-#TDQh- z5gl<~;2ws@$17iNYIflwf2lk5Vq}O{xrpc}Qv|jPVuNwjmo&+a(6rrYbZ$7+#k5kKUjyx&h;9>C6_!uRNm#4=Uz* zNroxS=aT(zRe$|}0gp@bAbd`7AYbqj@H`Zn1EQaSb-g?M`SS((iREuz^Q=UihvjGT zksO~9?h~3BPGI3#0q=37}_mt@&JfBPz&-qPW&T+^7v!fQp*zW<$S^_$awWl7?41=Zwm|U5) z5(RqyF=W_xw9}2>?J}1CKKNFQZP0BC#(z`$_Ol9#9>qFbL`K}rwL*jMA*HEKM2>lm z&N#E!Wfs0pCpxKG&z-O*w^zZOK6ZeBIQf<#tEG!xF=dyyNd#P+vG1#eB^LL*y5+ZA z8nf^Eigr}6-vjXwMWK&BupUt5a~N33nd#*DXJOIQcCdTe{C4rUU_*fG@vKNnlY=fE zICPs%haD<#6T3r!5V+{t1Z}=3GNronjH%!1CNHMNdq0`S;Q=2QY5$hJ-eG2T(T@1X z_9hg_I3U9lQeTmfv2R^O@pQo3J8tLAkrGsQGY!I<@q&zU6OpkI_3vdouI5N2bsyvf z@$uPwzTNpl2s+wQHId2vsrw4ld9WoRm|;XS0>$wjkGf68*jS4IPl&le5vjU5ozUiZY(dq7JNtGd}5QO8T)EY zzV7Dx@Pr|mGCD!G2uv;+!!)(bc7vZ|?kLN85y-=egv-(xo2?`i6-|-}s4^fH|KF9B zY5yE!D##iKU?vV}K|;*3*4iJOlT6*wdIsaf-ogX4Qlmjhm$9C}MRRLhir2{wjpVi# z-O8Z1KSa+Tj($)$4t-34xDl--nhCh&NC-ScX-#N9y+|BoX<(N`Z$C&whdg`#u1CtR z2q_N%2O=%F({)g+h|j)P6~8{kIzLyeJ%Tl6%rhQUifV|dK0URJ7gFfS$~}&$SnwJ1 zN_xTd_}R;I?Jt00W^h&6pY=^ zP`SzCSRE0ZR)1auF@aMx*n*20VSP9{$ftb;4JHgWSX!&>qXd|M4aCfc+roEDk8&dw8%U zc(5oAWG#e(GIk4j^5(+ncOXyqSxQPC4K}j^r>Ei+p!ANQWIO$B(DUIdH5Xu;;Bs!4 z6T(nhAfK2cu6E)=Y0OXW@@4gvNZ)BK8<1$^<{X+?G4p`>^mA_gVpl7z`bKGWJGy7h z8;;ulwRU1)Bs3Q$A_rfKH*3$Bt=q&b zX-+nTi*e%!0@^!&$+=|4c!99z5qVsO9lz4NnTB^!Zf))oDC^j_OuM<9d`9-qr9u=< zJqJ}X!BPzZirl!YQHsP|6J`QEvn&Y zpvM#XBRCh)(&#NE&5AnBRlKFDu>|Rcb3S4$kH-0)`)TY9H#r2DFYJO+Oh^j*kv;7Oc)6t^!i=@Os=|2|1jsF-#l%QoF7IRu~ zyYsEWCbnCi|45|_DoZWclg~l@kUjR4D97pTYh39FVDCMT6IU{}qA%7xFsX;Rnm+ zo~x}T4U}HhQJHS9JG`aX%znBwSv+5oKup(i9ERqZH1E<&5c*OP)smI}RmU_!emlYa z?IhOr5WGBfow2;=S{mwlHsTsjRQS4%;dyoIpyR!l>*h7!Gw--je9Kv?4Z;9Yb;QqC zKfi_LZ2KP*hhpZufndI=wpBiDK_m6GN;>c^EiaR-Z8)u8x2Sh~_h%#VU@ahe7?|*7 zk(vO2btiv*a`&*ph7ZVgAjp_XYSqv6jxZFN#SEdK0`m?vmNcqY1W^I)U;{I^M*~%1 z&JU?JglUxbzGM^g(?e5+heMp}lJeb|OUce>9!kWHR`N!B3AZByE{+V-QD^rsZ?_YB zmd3;KYC2@r2FqJArU4n$6CsOt(S7 zRi*n-C$~>a3zW9AVhfR3=5=zeUo2&fkmqJf6g2pGcQCZiU5fOT{z$`u5`X7;yV;&f zint$+R^eDfKuDD33qe1myuf|g<((WR#5B-z<)i0PA7$vz}44}+PO!S+YJ2HoCZGmD+Bc_d?x zmvi%<&HlMJj{({gju+DKarstZ?%O{Ol?Jrn_0mnjL+F9%kKk7a-f9SW!}IgXt4%Dc zb|?5iq4?lwj_#EV>5xp5FNUn;X%}xlcb{nvk>=-x_*7CpY|JKbb|%R~wn>y}aS| zc5YT6tyzb8l;8mWIXgoSDLLtG8o3jPpgAAzyU0^lO~c$8EAs)I-=_ujwT)84F~c~R zh=%pCE6qttO1x#?lcNWf|1p6rUf@g!^gUwdg{%K>5U_s%uc!Ukff_6=hcTBCZ2?-c zYD!=l7bTq%|2?Mq?(CN3`G{kais48h`m5!q6^&;d(rqWwgc3l_Eco=dpL3oQtdS~kU(n!ktbDh%Fk=_)OqXg94}&pVBz=zA zLLI3a4iJ6Bsk8)IzYTv(K8FBC`kMq#;8 z`hMjAGnRUaC0U`)LWrc$xU^RX#jc|J?A=D}*Zn$Qh1gYXqV4Qvt0Mjt=nbx?Pd7FoP4~fAu)Vga^{7pe3UR*v~EL8EbZt>p%#xD$JbnZ zR)-EqTJla^@n^=8llyl+0-%MDw-q2;Qxr2eekRPp^H#aN<1Rr1)Utn-*+9&gDU{=x z4rjvhwsQF1KTLe{Zz}IyMowsLz*(uQ7w?wcN{YGNN|N$#S@F~F?g}`)QSsR@?$%E5 z7}nI3tJj%CUjRu5XQ>r_8?RRgEXiiCuZ;Tn!yccz;SVB7w0krdR>bQ1wuDKIvcmtJDi4Q)(w*)M}`ub)`=E|Go#4g`%;63L@G3XtuNPyylW3dfrk1g&9<1?P~ z^)LSUUK*2gh>oDB7ai}LX&EfcXWQ>6r2@aVbF@*02Qyz4n(Z6XM-gWlrcYYdz=J92 z(5|E#uuIIx#IY?Y_4qLD__fNLH!osT)B3xpim3k0F$hQ=4}$k0a07-Q%srwwC>|Q= zsV$vqosy-E0Z0Htlf)oXn}JT9jj4&7d!S!Wb==)vC5~ErS2e}uo9B4LFZPz5uChU{ zvUeqrB$3b{VNBRa-Q42AZ!3(v-Y|Y`XMBjY(D{V#PeA^tjqjrqR_;w5BGjM~l+~X1BFpvr;uJ=A{Y7CnWn#)o~4Q+zMG) z{F46%f4~AmpqjWKU-5k6g2AP+BAe_z{6s0Afhf==b8 zCrxm3!ZC>O>`s7_H?=7EIWZw&YF=J>xWnZE-{;XlDRkvS*9JRKLJo*q*jF)BC)7OE$S33i3-kGrW2c&1wU7T8pbaib)W1Tj_*RD8? zKhZmBwA7<$fW-HRGHEyg`?8Rw=W~j8o=aFtpI`ptivpmAz?lH3iSY@1L&%qcO(PlH zcyK}b!QDM6yk=9@z(NkYf{z6ES#cvTFI}Z+cPez%)w4ceV%1oG8mXhR=lWtv*b43* zkgHU)ms80m*vMuaKy}W>!o+$VNwGGII`;?>zf3gjNUY~&zCS(s75>L8f}omU5J(+b z*bsdolqwGt;`yw}(Yu@8n7r4S7+gh}GB5^lLXj@xcgN$ka*7SsLN9;Th(rN?N%53% zIF^{~$*8FCZp$j=KzjJt_YC|OAi?o^22E27AE=Atx5O@mBDd(Titx#DZw=4>bJIJ5 zp?zpxwin#2txbMppx{x!dqAsmg>^F#2 QZkw@9hzm5+PpWa%c2h~@p(O16DC1z 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 Xt*|L_6%gZugZ({KP?ay1H3|G5v7qXC literal 0 HcmV?d00001 diff --git a/source/images/supported_brands/nsw-rural-fire-service.png b/source/images/supported_brands/nsw-rural-fire-service.png new file mode 100644 index 0000000000000000000000000000000000000000..7192774bb7cb9e92c0fa224b6ad452a1a500eda0 GIT binary patch literal 78479 zcmXt9V{j#H6OC=#b~d)Hjk!12*tW5;ZCe{{Y}>YN`@8RtuWrqqs;T)g&rCnvr_VVZ z{!>v35e^Ry1Ox<8Mp|42cpd>BpD<9s|JQ47f8YtqNKQ%|jMo8nFJ_27+8dg_|MZ$bQlzAQ4-iwo41S3 zE+Hxi<>}kcF`jF9{haeXvekwk4Q7`vwa2Zw{~(&~>=MJ7I}_TR&X-;_YYv*#F%I=( zFhx-a&_wN}X)+eRUWH-9&c5S6?#`JDTuZ)v3Tm?h{c@$%C0aUH5)14pgZo_Izo*aJ z1}NhJ0c1(%fK)UJG{^vmB9t^{?A=uDpM0ZDAgvCEJvjnun5jnB8%bkRh{Ebt?EYI< z5+HbJw3HwjWl%9?%Jf~tk8mobdhIpXBl^9bt&Oe;R-lgivWl))o~6*F6y|j9l^kJ! z{L!UI9J$M2Xee|nqCcARG#c#IyeKfi{$qD=vSVXqmgsUOq9_?^l^l`6b#iCJTszj1 zl9%GkUU&x+z|oRN&+A0sNwKeE(SMhT&$~ z)mdordJb8@u^XH$hknt~?j^NDfJNu2_7tLeHO6s^k?;oPSQ6V+FF3|!%IPs-_Y=29 z{0ra+9%#PONLXF4f4W}F ztk3X)FqxujWwZ!(aD)*seQ(TyXTDtxe_4)1^+h_iRpjv7G|G?2f9A%10;>VpAVbGW z4|uC7cK8B?=aFhxw%F=L}W(thPD{@4fq`G|Mvx89o=bNiD13BsKl-y8L7 zTXlvn93?b*`gr0X+{XtMle4H*;}jT8RG1B`xo-Noqpw@H2U6Oz7$_j{>ZF1s zA8p-rc%Nna*brN1Qbn?GZ9@(+$KsDIR@6;cBwV35(UJiuV6-BO_6vwbWR!T5Mc@>o z=nDeM;@w?7Gwg_^^Wp24RCJtwdJ%Qevj8Bx#Qo0|M0cUZ2C@H^6s@bnU7SX$n-Qh? z>#lzq)u7}BR02q9EX|UqYE+JmQC(br?UcRZRBF`bcXSXWj*5T2J+gv?r%M>)Mqvy> z2O^Du-(voP&1OFBTq;%vMx%DsQr^oBFKPf)Cj9dtU2p{{CZvUm^w%59Rf1zu7)uPX zfMlZSWLQMhz^;9q!x#TC+YkGsWYyyd3Hi=Ul?8S%1y9hK2i__ZMTV4~HJKX75kzaF zS6q6vB7u+8`Q+K|BDscDqsCR6UZnP4x0U$)jQxLDJRi*0{@H-{!0M7hW#`rC!_@ap zanW}fUY>Ed`w9klbYd3*^v@nWv%dlY0!ns3zS}M{78LKgwVj((Z>|&Tlwz2XVc>XC zl$*C=9ikJuPPb~6M$#wlM_tYq7Zp4YO{nD4gyrSgK|Ep{(S*D*TB)0NLt}gqb!PtA z=<>Rq$^r~YwNss>&F9SRlGk5NE0Hc0iyLkBt(OWUp4zUvzkwOj>hMouNTguFgcNG}enB&95 zKJrhen^Ijbd*hvc-(9&A-;J*I-_a`LcVCeO7I=P(ZDv;;uk2P^Svi~S0Jl%$HH!?c zc2h8c?~QwXyVZ`@tMd6$R-*wz?_8fO%=A!h)eI>`6I7_|oQ*LuVYCzCzOa@hcBBXj z+P_Gjc#V17e5s+tzG?pcJe1ZhueH4pGb-=Ra=Fx_2Gh<^b{dK*&*;E8f~XV&JZLG@9c+|q4u8h|KdaIRx&mnwFr+fDohH#P=TeQ&MX3EJ;^ zn>u%Tx)2I@J+5(kKKSTvdERH|d%0Z`{8CrPv};~xyCUE?J1O(JdS&6{9b+m+__iKR zodhMqbJ~_66`wtpONoFU=KqS0E z$u@e_*ywx9M_gRIO27T8-3#<}CJ6akOGRbQ=4vB0yc%Dw?rhI}2-lOt@|F2o*`@8p z@Yv41ulm6zUiRYxU%Z%WXgF`6I@tNGxyO8zWN)Gs!i^z}t&u1Qoj}}#B=eJjQ>@%;26R4hEvCvkh6_&ujz_f=kdITI6 zknn?Z=5C|g0*R@lq$G46Y-Y!+i&ax!(}u&=aCF@JnV^p6r*@nN&oO#>cb_AKq9p6J zmhgLA+~7Zd<~pU^L`6kk-YO5d36aKR<#0KTxD_%uOg>tuS6hAfJcD+dr#9QJl{>da z1o-|5easz7 zx9HC1+d1`ja4|$Y7wmWlI>0Dp)c3pR0BQB`kk5UitJJJ9_+UeKzkFP-yr#{jO{7kA z{ooc=e))(rX|!BLlTcpi^5KgWeE8d7)9#uX5gCDZXlxb=Pnr}qGBObm6za|HF-C6{ zjPj%tbWW9YT08kNuCQ~}e$}~%ol5M-uPG@dKBh6LJNCSlO<8Hp z3C!!IN~PoLwuB_V$<9aegF;8<=H~FQt!2kG>J9Ze2zcGiCz~D~*y{CjyXy6?yBx2# zd{pMyPaRti$dLsY3dzq#I^UnA@6e9uToqJjSkj0tW0Da!WkGDlN*FG$kES+M=exK7rmcm3#Cjdj~I=u zvuSwV`(rI@YJW9oxXRlw|2`KV4WAZZ{>7v@DL^3TDbHy)rzU3^w?pLqF5GIl*nAhs z+?DY8{*)-t{>*(pmSnN{<@Za7%Z1{z0{b*k3EP!B+x4!W?etXU>q|pLRkiuE-o?t< z^8HC%N($7VPOD`<29-e2Jq}Umqo-E4*-# zpz&0S6!H4%VGL;T@2rT}YO^HG+;3z{kRnae~$eT)Xu+uPfCy#lK+KQcB(@wq??!fCrAtf7Gg6%=q+|HJpo z10ML{`lFTsVlV*!yF9z^FAxGg-z+Y(u7G)4YK9*Pf5O8#T&pH+r54pDe3vbSIw~TT zD^*l<96y6l!D7dKvRSR!(|=;<-vxCK2Ij5?CMBQ`$K3A6o`Z(P#FXeh6MFW0 zy)%MTtE#{tAxX}ja<};TDTH5_-XE!`tA}?lj)5b`kg`)0LGdHva}MOGvZO~%$96a! zgy?#18WFp{lN{sQb+mf*4>TT)MtFdh{pxc%3L_J*z7BoZ*mblVz=e6_SOS&GOAMQw(+e+^4+;ZJt86^sMsyZ4&cZb_I z^Fz^k6JrG}WpP;5D&}idwA$LM1Om=+pg~aA*rLw97q`QU+tA`x3RU0vKb(#-<*gNyT3A3t6DCl_-cMCNw5ezuXWLCnO~e zG*@cuUSBIoo70#^LPieubv|!P#pVcvmvauoMMl(VO}ywbvHt6Yac& zqZ0^uVtA=zetmtNIP>1!)!qz6;SvbBMzy>^ojfj=Y#OldIq#Cg)yaHz`B=toGnU6r<$rsSun}mUxKY#jH zi^2JFHt1b4wnQxSX;~pA39q6ezru2I09HbT2JTI$@v6LjRqOc^*}K)6)=V*XX#X~k z1`fE=GW|L<9=;6kJD70>7`{Xim1=~ zrgq1}-hd9`osdjTiOfXWtLe^BH2yYscFL2vmN<7ZCT7c~ts;TY6gje>d~$V!@8=uq z*J^Zc{NXr`^l(o0`>RK$j{#$7!aRlAtfrDMQ#|3THMa{x@wIy?Eh15c1^TY`ySBg_4L#J5N?bZ%l@;) zy=OUP!MIJsiim(fT3y`)F@1WfO<2N%2Q}V>1qT86=^dUo-5jQUo(n3E5L9G=Z;mMy zK6dyLym47KQL1GAoE7H*Cz>jQ(?ay#w2QwwzED!-r`Eu5!|~0%Qf66IS&wDYo^xwh zcsMCL148rqaNp233#|i|F znnU#L+9zasrK1lk{r&xp6hj~|lpF|#0ENyQ6hD%tHDL;m)E+%oAld;ywk-uOk_>{n zb-r2)VfxiR$C3|jP1r8^A64Lr=l63c_BVLm9$G1s8%(f=L{Jck?!j!pV0(gK7YKsY_8P4 zeO%7s_RU(NwQ)asJ?3`4AsJ6$5K(qkQ`bNvK$902hxl3oVLH?kUu3_I13pS8`)LTV z73iH1I*G4bD%1P$#%e=uTDLu@&01r*$EBk!laiod3i@y?Fn@e$(En<8`F+<|zEFF7 zZ@`S89lh5S5Kv@%Ds4>Yoa!M5#`%~s!F z5OmmFCN2hEaHS%KNyeYr}8FrcFFiNTtz)e^RjhC(yd@6DfG@? zsZn(RtexmsSbs_^5b$}ku9tnDshu49hZML8T_vM%dIz%zd|zM9bc!1duV?!&bpHiI zVLP3eJQRkDC`pH-SFbHz{GiukrzvU`Ac!Y|Bm2$TcrDVYL1?~KPl#oO0;nxrYc&uy zV~O+n!U+9mceL{~3GsG{8}9yS%4E}RTUk$SV0V8Q1`)ons3rLK zaLjCr!|xowC+#`KoC#?eh0FT|wrNX3mGuJ<@Af0UD;&W_AU*TTal7-`Mn=e|&8^$_ z6PQZlQSrs;%F=@XQAM43FId;NFQJXsrsDJZ zRi3Si6TdBWM#U0=lr2jJ4KtJR_m)2GN@sf5{`)B{Ca(pUP$+gRN?DgM%rf2$;C;1B zrf9T>ch}U%n?U_5fZ^4fH9y}FBQ@!+$LIO}@UE68H(ul(YjRdi|M?m5oGXteFaR7n zAv1NjPYK(ei7zouOsYlIB~fQrA~_E%L*+AFg$x8TTm(##5LYt9#unRxb+%>QwNO3v zi`_E)EOObrOH2eani7GEkeDGAT^pYtf%md`n3j^C{W z!xvTz0dL=v&HBkkF}#rXH=$(VY)!>kzA2-Q8Wopi{Q)s?SGOcg{?^F(`JWn@?Y|cH zm-|vrzTkQWeA15`+vA;w1eo z9T;r|e!t9XszSLsX8 z@s+px=|&|5N;+OVXHP7K*Q~frK93=K=|&F+O>nUYA#1n3<@8y42!I0GnTm}10|hrh z%MV4zn>ijw*|9Js>!{x8ZmO2kM^9J;#8Tz+m|%%P`-dLEf7UMn{{F%V35hIt(Tz5# z5fw6BAA9hwHru_sLC`nu{6*RPy*<4_xIe7Z@?B(QH;Uy_6M%}zJ9cVH&UT~4ZyiSH zSG$CUOAqvUfgC zU4+uYPbcOKH!dsdVYf>rI$_$8tPTW6DZX84H#gG%pdrz)@MJAyU^VaVTkXI25z+SI z%EYk&MCZ#`Gyc7!G&yZ z`SV^Dn@z;5w=&j%SKRBad!$sR!<&=ev4%g=aky*=pgMDqxBZCyDlyg7J*+plhhhlj zvd_f)b?j{WL$AAuTRacPo_ZqidDOrDK#Wk|WB+&xm%{ZJz6rVRV!a<+tn8wsph%m{ z^xbKd-QSILWsN`CbfY+ph$60Hq| z&>uTMYn8J=|13C#jSQo#Q+CQ|x)SajDA~9jpz!_m4mqCUBV!^#IW73jZ`wet6y+1x z(ZR0)xSf@XR5SS!Ggd>r>A3+RNml8t());geV%!{1}D=Z_D_-8LCGc zEozxmoOzeL+ati=pBxXzFga~jgn`I2hLCS84;Xm-?kGEzp=ob(6n*E^td1WTj!r*b zjdt6E)sJRd^TLK82ZIYx%3#4<;7t0Y6|GquM9IrG0yOu(d7I{gL@Thxi?fYO6aQ$C zGrzwp>*!6qUw4Q0?+P!nFV%d;T;ea?d;fT?Dht2rosm}G8>#r7wf!2&6zS_BQ zy{MXz5&%uJc=}f+`XUWQk#Kb?0l0-@Ev3Ij+*o(EhGCH+jVBXU%~kIDBAJcY@jOiK z=(G48{(BV+rfd>}lv&dwJAEPW6ciLcwY0=L-yY#>0{1O3x>Ab1p%2y!KShVLsqRNl`+)Rixn*C8U$bbgM*=xQd932R_fF&B-=K9sk^Peh`KwR zqUh-JE$XsSAg~nPVz%OTp4e`ha{E5!96yRB$5H5!@juO#&%{+LpY3UdN4kF{?ch@v zi5I+lNe0G&J^XD`1R+*yd%3G*Hcw0t1ptW9^*wRtYc4wq*$f*!eq!FXOHtPPeV=E6 ze~Y`oYK!eLW>9p;BwyNcl`=w+F_`9X>jn>(?WjShXGqp54+q%OC6$~mLfu8x=-22Ec zMCjv&{JiTuN6w?weeU@lAR_3dSBH9pdQzl>KO!VAowF_`VouTgblIOa`+R@tw$1ud z)9&6qH@;+#4%pnjSnEa?Qm=uy1!j*^tAN3g2>g<+alI8@jSfS1x&e zu(kp_`zGM0?DjD(dzfQcRF_(>E+(ZhV{U)(1%l4M>#_6N&Z+bV=U^26`wIvoqw|7t zI?2L#L${65uKv)~20O0G?)NDaA|k`BuXVfFuE!_7Njq_%S_kj+2NIgdv3;|K-s2U9 z^v2ygGojajgqAk^?~T3Z(^&|hl$?tz_FAKsitigv4E&+Pr#MjZ&=#Sh!_@U-_WZY6 zixHHSFidzjA}9+ecb%IUSx4iLoDU|s3 z&1&8vEl${34P#QLX|F7Is}z&NfkQ>x>6#|62#w3BvV(&7C7M3nY_{m2{8nk#nfLbj z`S=wZ&~te^!^x2xd*m&iJp%LK3C^g)Zgvv33nPK;cQCViqT~OOc?eVzgHcMMkZ@I+ zEDvQ<7=B5HF1X5jI-o^j`%NuX>jD{=5(}4f2P`WRJVd>k{NLAE8$84hVd8fv|fg$l&bPsTv z(~Gw_klH4$Xm|tq&%OzjcC@Hey;4|&?F3Bh>Xm{Es$cMM&X>MXD)mA=BTB`G{7(z> z2t@9Dl8NO`q47--!eqjgKcZ^`lWlY3RG2Tps?u zywCgffB@Cz{&Y687mstSD=u1oy{n<=^0$kp?m|SgU`dyXmq(GEq9Sp$y}cEuF9I3H3Tuc&<@b!I4Ql50sNu9qA^QQHIh#PkGXw{x8Hn;tm`XZ%M*`O@A(Q0rq z|3Hlp0<9~FBc1<_U+r~46YZ@xS;eb-dQDP#!^{`fX~xss-Xe6^fE;bN{sz_0j!?=C zQ2Q$0@6D&#@Mz7-^AwS1W;ni=h{Rzvf1KyeF}T$4(-^ zh^X*r%3(MA1G%eWk>uMpoy|?K+4(%__OaQj?fF#5ppb)PN5#OvAY|6O3Jw-_w`;bL z$LR>c>BvX)q4zWD`HY26J@+y1qf^`Xrc8WAosLenH7W5Po5V&jrdM9@XNkWmNW`7e za&j4<(zQLi?)UKBl&+morE2adQZjVb-=Yn<0G#iQ z?jg{o*SGPnM_5C<4=W7mD}6={Y#3xlvgYmi6XAyMItU&W#X`qcwU?XGZ==!4@qM*7 zTvtM&p*4Ds4HGnet(v{-r-IL|jW@zw^$Izs+5>%&9kzYN;@qQy(ZsYU$%F*FghZ$C zu`#+p(Ljr>HcZn**wX%h)oEnXq{>}{T$$2QE01_lfByzkf$bOC57QrpERZNz7}B3B zZxqy2hBNrJ?=@B$wIZGy59*BWA(7kE+5lpz`(LVp8!svY13Z1s%JhL|jtXilL?gS{<35-+yebMfn1`w_DvF|n|odOl*0x3rsm z1%~(^NSYt67^^hs(Q~{~%I=S0TzGzl7<4P|PA2^DgoM6Jkdlhi6(jo!=R|dXgo6<{ zEmcZ%-8*mrkx^9assR;Oc7TN!{7kCt`at6t7-1Xi0_S_p<`V|v?TjfXFq)fFtb1#} z9^uWFG#T=!f+BZ?q*E{jr2j}(I+`qI;EP0o1yrW*1dC__g9_D@C`~FiU~_G1b=){GiNEi zr?W?Qf=VLkJRrCTyBA|)&&b3ZLqR3Xl^|MB$B+jby&6wl*orF0KtVtl%h685l3s9G zvW4Q~kvwm>eVb+a>U}%+5B%wk6?~!rIW?R5ndOyUgT+=q5TY1=fQyJzWL!AeYY-Wa z1h~{;*h60WSuSHpMAu#w5Jmh+viW5%-}8t>B;&3{Q`>R(BSLZbj;G<2m`Jw42s$SN zrg?w@!nPeqj2}5(t&rlWuj1eyDD}s&kTGJ#1Z%ytY{*!5wk=fa$0Ai^vbr+k_Km-O z=ph+r9Trb!;;?u_9AYLz;M6|J5S`vvgEekb|r`O{d_ULM%?+N7d zrI1_&CBJIjX#k;ryX^soYk!K@=fk}Q+TNMT^M%hiHc;9&TxQy4CA4jZ)|9{vFo%Ja zFcpBNqmwz^NN!2<^gb;euED0!BM!jwS5?-snyp*J>tRz87*AA+A*bMe$z6Z%UQZ{+ z5x^6(XK63`lP_uaGGgaXMmyCxah2W8s?!7Q`^B%aR}v~lUS0%e=Rp}kCM_>dLBo!r z=|O3eZ40GtA>UZ;y+b^b4b_XR?<-=cjQSOE{oz7OS-%#aVz<;Fhv$B>)$Ru!<2R*= zhEK(E9)v7?yM}*P+CMHtSqf5lGv4$Ze9p9Tmq#`GES&h^vs!@G$0uRHIb{|Fc-2gBZF87 zxTzE&Rj57wYQH{Og;jD|sQf!zA(gm1a=(~2KpA9^Jk_%U8q{*#<@NPM1Z;SU8ZnxO z#f*(1!Y6g(5NYn#z!HW1@%iZzP|5#%UYeyQC$pUnV&e+! zY7Z&6|7qU#NWH69(T}a#u4at|Q^=-!)~$|mwR(}!CNzGy>`|-?=(kP2`qiF4Pupm* znc-a?U!tZ72}UGg@XrI63`0`;BaHExr0798?koxfo406z+vy2m+q)s~`TG|2eA%wY z^nE$~2qJ$UyQb4Zocp}VleNwDrho(hLoht@*mV{;b znNpP+>^8)G0f56EQn4ji(y?XV<||2n5f`Vh=kuA2vP`h_uXe3Q zd(>BtSB_=HTt&0Rh~$A1;=#WjY(mvv8BrGu1tCXH=^9ovh$3m4hk(#j4Ru?LYATfg zMOoi^JlaZU7U#5D+jeC~w2~J0C$EhY1X;ut0$vf~_R!;Ox?ZA7PexKos{D9Ot$_!w zZKJD>RqHoPRwvWW;Vqwcs~0qX&Bd>Q!VFFuQ9UEFQ&B)_r{w}g>7=A@RoTvxAvuuP z=K0m;Tq2cPGf~;-#M&1-hr$+tA}%T61k|9;m#Pbu_lJgwaeThP{0+sRf$q_6)jqMH zL!iAVrb%9Awax9>Ha;gu(Q;U^sw-_gz@H?C;2R^m621gv8~kb^WO|bhQ$sbHwrH7R z^pNS|pGt~fXNTzr*Lb(#+yQOJ^Vd6r)?fdK2sn^E{DI%>=`8q&@{cqfs=J3Ai8-#E zh)R=FSMQ}VEPNX@XH8b3vRN8Jf(`8_8~Na)(Ft0OCv5+19kXp;>xNZsD~=^|R9Z?? zX7LtvV!yZSSo!#bU^wVOwVtXD(LcN!80zXqmGz4^#p?8$td@GE|MD5|qFSy}sx?Jx!Sbd*Y z4*26Ka(=pqtxnInyHtIL)k^cyli6}S9TzPBr_>2igGcGMHjcG+b_|JO&5YEzB^w+z zQ+7~LP_@;Ij;}Wa{?lQeB!__g;TSgOlb>*raOpP>5E0D3j1#t`{Wl{q4CW}HCp?e5 zvJi*`{^W~6$Ixm{gc4oiSK5%TuSd7LC6l)4z1kH}Q_#wi6W6JoRC-#IX9aM2dC1sbD@_7O7^ z(*#|;0UROlS}2^=$8|gYkDY!5JoY5j;aHYcBa*I#@QN1@JzLJdqnBij+H$t|_ViHw zk0L`)m+P!%S9*G$Z?|?~7-vzDT9`i3esdt+?Y7zM>j?wd8fn^Bsga0QCv7oewO_EL zsOeMS3(bsWQvu# z<3NUhjD8At9G>}N@@au-s_M@;HApbcZ^WRVCZ9bw z$cYH~QYiI(BsS{A2Z9eYp23VryGo0^RflAmlfP~RUFm<_-5(XP?!4K-Cf&VJ03k~O~%k8 zDw7PZn;d{LtzE4Tb1U?oFIAvJ7c*yXR{f=(8M6%fb9Q%Qk&l0@pC*A8AQ4iG>Y0Mi z=v{w7KP2#ia;zgkB3cFU?H&aZDHIz^C^xK_&F#Je0<-|_0reov!$Y;C)ZagF!(+mW zE#|2CEAatbLOhIBYbgV7(i@jEFe3agT&t<5ny~< z42DPh=C?*DF-vP*cjf`?t%%JHIp)MzXB5pB=p7Aiq%jhALWIe^^zh!12n)n4`PLe3 zG8>#%=iZ2?GpAoNAqecz3G74*hZRqw>x6GW@gh*k|}?>B=Ijsr)95B zc>ksfSOWQjL^wo9eqChIKm`H$qS)u+#cynCTIV#3RHBgH7vh9_g1=m9Y^@|)g|>SO zkn%0K<|lQ~A4Cq#VBU`3!pOyiuwPFddKLH`LCL z&|oDFsN2V6YCKcXQ;>GH4Of<~S^`O7)Q*_9b=wqlAE}f}W$Y{mT3ReoXp1fG4rtL` zuQy&5OQ(Ldq-BmLi@m2)28~{zo!>LS!txS=y21#$!=Be!k1-vRQv?V9F}k}iEXxCFUXSiI=&?i;9*|PT zvVl@)e*!6DzN$IF_^8rA(10gu02OK$Z)OhKQ^f_UjynG=6^vBKfL=>(0!607qXgGC z_SV-_))1(|e{uyy3J9)|%*j+Y;-u9|>a53;&D!wat3dGpw)sybma0x-PT(lxlUp+H;WlA}@j9!IHj zZQPdWb|0#qdFAyW;IXPd)bE!oq4olomyJ$Upo{t7&M&tFXFZJ zxP<6K0+VmoU8T~zqt^J*3#T()9nz`L*_!=^&uADHgNr4g@u>MPm}+ks#3zqHMFs^0 zNBXBUj7vem3@LDOMI6=dQXJ^XRZG(Rsje0>X-huM92Zwa0c=cmWCd4O(_6Bbh)?zLV*78yQ%f-zqaEVc)WBtbd-~Xc%*n*E?|X8C!2Ugg@N!QAteq| zc{jzmeIDN=SNI;-At8`e-@8&wPl`iC7JWaD$f|k*S~nEHOOcuy;jE-lZo?5R;?kt` zg51xBhtV-H6^zAKz7wz2bu<)33`u#g8%FtaWn5jcj;FK5I8IuO=4hVg%MgAztR6_* za^ z)4|fI2*)21en*7s+7b4^qf^g4r|6!{w2l`m34IoAZ72z1D#iHdErA{Qwde^*-$iq6 zSvTy45~om6QF7$I^oav4c`M!DB->S5z4@vZS{v#V0NVWUMe&wpg`erEb12}iC){+q zM(z-(hAt=TmDK6jOgEbq>LY3P2($SV9usNmVKvxd_e<3>mK$MIj2Y2IQ!rOsGzSlTo;}szP0$K#T9>)91Un4gJ0bZTa;Qs((Z;<1B_fE(RUD zOp3@ZSK>}luc&+{HxVw|A5t->`>pot+rxSj{@aJ({C!{%@v>EEwTKN!QK2im!g+l= zZ8%LNCnr0Z>q5_Nccucu(}@Xr#T>!O;tqb`v_TyY!AdsL1eH(}l)#rH`s454Fi3Dl z?@yO{BO`ghLgesxHrwccuJcbO-=k6^_|FFqW>-r~aD4(A-S~KURasGeK_GA#BqCDI zz7lXz^F6rb5h|r_>+`;)$|ghANllRt0n@1&9|I$ett=vO0k;y5R1jz+QWT~|3r8c1 zStMpf9hx79M@B~Ge;|5+gxEPe4AHIjIBy!I9oK7h z52wdQZz1ptn7A{l4^AHdA68y90eC)QdOluFzB(PhKF)~LloaPT;Ljc(=QDAVTP14+ z`IJ38iS1q~$g8otZ7*hT`FQ?r)@sRd%^pppn(Z*Dv^wwlwQkJSsFT`H`WW^sruV(m^b8;!SjwJTCQ8>Tvvq@Gl$Mi*~_ zTR1CiDGNu{5MnxMbUIT`PRQ$A@Tx#rC<-$-KR-G)LM9{>yAdUS2M<5WK)0Va*(bl4vRIEBTj^ua9jz8{=)9=+ z(EE%?S^%KX*49o+NmkXc=rL-_Q!BffIlZ}^LnpwH)-uN#f&2A>?x_`1Stee6bMz&t`o|*(r(&J(Wq1f|4>MsfeOpF0v&hN72v% z)&c;=GXY<`1)f-nm)#8AH&2+T5m41O%hs5ZQKMX-NMCI6Cz>`J>WBG`FcY9_0$Rw< zpwaX225zucLzGyovb}Z@q`St=0(Q>y$@B=9_1h^@Hvm&(YNlr}^ z$nDKoQh8imgQgiLLBNTYc6OgP`7Mv*>i+^oGS}}GQ%OF{A4N3ddF_GPEm!bq>F`TA zzy#G(xKDv*2A@D$sO{cl^MYst4AL6B}&x)fydTmCFF^C zq3_cbc|6tNIPdmh(5dK4PCP?XcEwJ;Stg;G$2GnpNB>hzOF23HXG$7OEkrFC8)`f% zd$^74Ij4>J`aeQMyoGLBTMB7eSuzfex`5L>6ZK#I)@4u$fa%k%W~&7iy%bCbB?U)Me`K-OiuMLslboWxglas))GtZqZZOajciynbTmFl zn#C&}{yitD%B_3l_doJ<31ZD#Wblm)&;6OR&+J znNBZ6)#U{82PIY~p;QA)!$qVB3OLHCNJrRCs{659${0rDVN*j z>EZeteHixxJTCJjbJ5DQF)waINFu$b64Ye5*>h&NR<)L%NM#gE{Uw~@R}Ln^~==XmwK$4b4%B8WMv>cU^Pt#kaPrGY_^}1vXBp)r3+Wrik z?e<#Z5T0l~U${cujqS4X2AeeuXJ+)r2LD`5sl&wyE6_`$=&6H8N-Dx`w-qSp^ZsLJ z%j?#@cHN@xZ(dwwxaNw}4M--^1(hc9KY&8rs~6h657=j+4u6yT>2T$XkZ8sC8)i?_ zMEKv65foKGJkww4z1Q%>)A@Gl$FpTAbt`!X$1x5;{eOY;rF$%%7PQX)qv@Q#Dtp^F z++-V*YjRDtr@P5(}^wCg1chPpB{U`l}w$pVIh|=s5xtHm8Hnw%VBf5oZqo{ z&&Rg+VwUhkampvHH$jIr zut=CGXlOF;PkW5r*Oi${OK((crso94Vu()*54|Q_HY(`6YH7Kchti4GpcNudh(t zA9_{}L#|Zz`>3m1>2$;KNNw*_4Za&QZVO_}cfITiI{q)y+*?L6cP5I-Ucd1LQCz)_ zr^{R6+x%$E76(N@>dlp-)c5(Qz5HPkqd$UBCpPx1nWGaEChws!Z(Y7{jJnMrLF0qF z(!zo-wI78)-&6ku50e;>U|?LIVJRw5vavPjoH~xN$qMQBbu3gSKy}kbq4WuM2Fmsu z{~<3_WF9X4C+cSdF%vfTd={~Ev@*@fa`*P^@o*06FW##x%8-rk5*%g6XCaL7Nd3%u zkV;0RKⅇ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

    KAW16#XS2Z?8wi`f3IeGF zMuh-HQU-)yH<2fm3ynp*~1TmhAj59FS1U>O!1$3bT@ zfKm<`5f27F0TEL8WmmzNUj&zs0GK2^6pJWqGCm|Oa`5C*P$93Hh1QAcLg0)W7=s07 ztpT=D9sG?10=I+^!KyI|jijtakkz^^*&a zXP0U$SM~Rdv)JjX^TGem46lFza<+t zZ^5MTV?Zh84QtcIt>as-OgMV#*z6peo~elTgf3VGi=f)I;kddQ4E>qJQ#F7yO9^-t zCiq{=2d<`q6$#-gQ)=uHKDLLkZXQ|{3r-?H9qa6qXdn%f4Anm;&USu=$A?>XB@|b) zV7-@#;D8{sY1i(sTrQtEZ{FPGzv2wWzY6jf+m`k`P_HV3-uF z6I`3aQ?gY*lTs!GEG6J;O>ikNLUK9{C@zP}Qws@Ij!W#<%P@=MLeFt z3ZdQ#VPPed_X>fuJh=P$Ko}aF(zHd3a~n3Sf1eOiS)GZyv1<0BS8iOr)8&yH6KV@m zN0;+$&~j!}u@r>Qf-e?2jTYr#x7q=l1426m&tivAZ-cN%4|$0ZE(QmzR%@j=C`ik& zyyT*y;(IcgEC9g23i7W7`R~Z&Dern&%!XlQxkb?yUsbz&o|zSRxJH*!GfZ|1Dmg0* zEInu9p|N#3b%c*p~<7%oENfkbKJ^BoR{839B3vs;$Rsf;|csFe4*T0Wddii zLTt3d^r#@uSfSInda4B`izVGJB&giQ&F%KE7hlTm-lfyQntS@!#rju4{wp$N>bqFK zZcXj~%d!jFtX{B;Cy)p_<#cZpj-;AL`ZDu<1w`DsQ*#?Q!RtlO}OAt=Ca cG-3$=0B7SpDdc;z2LJ#707*qoM6N<$g39^A*#H0l literal 0 HcmV?d00001 From f3e22b4ee483fb02763671fa071d5e0dce2a5c05 Mon Sep 17 00:00:00 2001 From: kennedyshead Date: Sun, 14 Oct 2018 21:34:39 +0200 Subject: [PATCH 216/217] Change for speedtest, day option removed (#6807) --- source/_components/sensor.speedtest.markdown | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/source/_components/sensor.speedtest.markdown b/source/_components/sensor.speedtest.markdown index bae1f1f576e..9c5d5e5cc5c 100644 --- a/source/_components/sensor.speedtest.markdown +++ b/source/_components/sensor.speedtest.markdown @@ -20,7 +20,7 @@ web service to measure network bandwidth performance. ## {% linkable_title Configuration %} By default, it will run every hour. The user can change the update frequency in -the configuration by defining the minute, hour, and day for a speed test to run. +the configuration by defining the minute and hour for a speed test to run. For the `server_id` check the list of [available servers](https://www.speedtest.net/speedtest-servers.php). @@ -55,10 +55,6 @@ sensor: description: Specify the speed test server to perform the test against. required: false type: integer - day: - description: Specify the day(s) of the month to schedule the speed test. Use a list for multiple entries. - required: false - type: [int, list] hour: description: Specify the hour(s) of the day to schedule the speed test. Use a list for multiple entries. required: false From fb98bd581efbfe9541390616f3ef5c72c81d3f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=B8yer=20Iversen?= Date: Mon, 15 Oct 2018 03:34:04 +0200 Subject: [PATCH 217/217] Create climate.mill.markdown (#6659) * Create climate.mill.markdown * Update climate.mill.markdown * Update climate.mill.markdown * :pencil2: Tweaks * change to username * Update climate.mill.markdown * Update climate.mill.markdown * Add files via upload * Update climate.mill.markdown * Update climate.mill.markdown * Update climate.mill.markdown * Update climate.mill.markdown --- source/_components/climate.mill.markdown | 39 +++++++++++++++++++++++ source/images/supported_brands/mill.png | Bin 0 -> 17698 bytes 2 files changed, 39 insertions(+) create mode 100644 source/_components/climate.mill.markdown create mode 100644 source/images/supported_brands/mill.png diff --git a/source/_components/climate.mill.markdown b/source/_components/climate.mill.markdown new file mode 100644 index 00000000000..aa13ac75be1 --- /dev/null +++ b/source/_components/climate.mill.markdown @@ -0,0 +1,39 @@ +--- +layout: page +title: "Mill heater" +description: "Instructions on how to integrate Mill heater into Home Assistant." +date: 2018-10-10 15:00 +0200 +sidebar: true +comments: false +sharing: true +footer: true +logo: mill.png +ha_category: Climate +ha_release: 0.81 +ha_iot_class: "Cloud Polling" +--- + +Integrates Mill heater into Home Assistant. + +The component requires that the heater is set as an [independent device](https://millheat.zendesk.com/hc/en-us/articles/115001123491-What-is-an-Independent-device-) in the Mill app. + + +To enable this platform, add the following lines to your `configuration.yaml` file: + +```yaml +climate: + - platform: mill + username: email@gmail.com + password: pswd +``` + +{% configuration %} +username: + description: Your registered Mill email. + required: true + type: string +password: + description: Your Mill password. + required: true + type: string +{% endconfiguration %} diff --git a/source/images/supported_brands/mill.png b/source/images/supported_brands/mill.png new file mode 100644 index 0000000000000000000000000000000000000000..7b8187af5ac922b7afe7dcdb75cf2658b8d1e699 GIT binary patch literal 17698 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 SmYJ4~`}ex-;q3}I|Gxl2FivX# literal 0 HcmV?d00001

2x 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≫2Nz5RQOpuMoX)wn?**N8pQDGA>DPb&&K{@j1 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�kMF^P!etjQ_Z(nHv@pRi?!p*dNvX0tLVC~lbe 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

2x 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≫2Nz5RQOpuMoX)wn?**N8pQDGA>DPb&&K{@j1 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�kMF^P!etjQ_Z(nHv@pRi?!p*dNvX0tLVC~lbe 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