From b39bd81c6e7b70184dec07c5e4e47a97a428214b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 28 Jan 2018 23:28:56 +0200 Subject: [PATCH] Spelling fixes (#4532) * Spelling fixes * "It's" -> "its" fixes * Fix capitalization of "Pi" in "Raspberry Pi" "Pi", not "PI" or "pi". --- source/_components/alarmdecoder.markdown | 2 +- .../_components/binary_sensor.arest.markdown | 2 +- .../_components/binary_sensor.gc100.markdown | 2 +- .../binary_sensor.raspihats.markdown | 4 ++-- .../binary_sensor.rpi_gpio.markdown | 4 ++-- source/_components/camera.generic.markdown | 2 +- source/_components/climate.mqtt.markdown | 2 +- source/_components/climate.oem.markdown | 2 +- source/_components/cover.mqtt.markdown | 2 +- source/_components/cover.rflink.markdown | 2 +- .../device_tracker.icloud.markdown | 2 +- .../device_tracker.owntracks.markdown | 2 +- .../_components/device_tracker.tado.markdown | 2 +- source/_components/envisalink.markdown | 2 +- source/_components/hue.markdown | 2 +- ..._processing.microsoft_face_detect.markdown | 2 +- ...rocessing.microsoft_face_identify.markdown | 2 +- source/_components/light.ihc.markdown | 2 +- source/_components/light.rflink.markdown | 4 ++-- source/_components/logbook.markdown | 2 +- source/_components/mailbox.markdown | 2 +- source/_components/media_player.cast.markdown | 2 +- .../media_player.gstreamer.markdown | 4 ++-- .../_components/media_player.yamaha.markdown | 2 +- source/_components/mycroft.markdown | 2 +- source/_components/notify.clickatell.markdown | 2 +- source/_components/notify.html5.markdown | 2 +- source/_components/notify.pushsafer.markdown | 2 +- source/_components/raspihats.markdown | 2 +- source/_components/rflink.markdown | 2 +- source/_components/rpi_gpio.markdown | 4 ++-- source/_components/satel_integra.markdown | 2 +- source/_components/sensor.arduino.markdown | 2 +- source/_components/sensor.buienradar.markdown | 2 +- source/_components/sensor.dsmr.markdown | 2 +- source/_components/sensor.miflora.markdown | 2 +- .../sensor.modem_callerid.markdown | 2 +- .../sensor.openweathermap.markdown | 2 +- .../_components/sensor.supervisord.markdown | 2 +- source/_components/sensor.vera.markdown | 2 +- source/_components/sensor.yr.markdown | 2 +- source/_components/sensor.yweather.markdown | 2 +- source/_components/switch.gc100.markdown | 2 +- source/_components/switch.raspihats.markdown | 4 ++-- source/_components/switch.rflink.markdown | 2 +- source/_components/switch.rpi_gpio.markdown | 4 ++-- source/_components/updater.markdown | 2 +- source/_components/waterfurnace.markdown | 2 +- ...n_using_timeinterval_inputboolean.markdown | 2 +- source/_cookbook/track_battery_level.markdown | 2 +- source/_docs/asterisk_mbox.markdown | 2 +- .../_docs/configuration/state_object.markdown | 2 +- source/_docs/ecosystem/appdaemon/api.markdown | 20 +++++++++---------- .../_docs/ecosystem/appdaemon/reboot.markdown | 2 +- .../ecosystem/appdaemon/tutorial.markdown | 4 ++-- .../ecosystem/backup/backup_usb.markdown | 2 +- .../certificates/lets_encrypt.markdown | 2 +- .../ecosystem/hass-configurator.markdown | 2 +- .../hassbian/integrations.markdown | 4 ++-- source/_docs/scripts.markdown | 2 +- source/_docs/z-wave/control-panel.markdown | 2 +- source/_docs/z-wave/entities.markdown | 2 +- source/_docs/z-wave/services.markdown | 2 +- ...rry-pi-squeezebox-asuswrt-support.markdown | 10 +++++----- ...ings-with-MQTT-and-Home-Assistant.markdown | 2 +- .../_posts/2016-04-07-static-website.markdown | 2 +- ...asonic-gtfs-and-config-validation.markdown | 2 +- ...luetooth-lg-webos-tvs-and-roombas.markdown | 2 +- ...hat-cant-track-themselves-part-ii.markdown | 2 +- ...anels--jupyter-notebooks--directv.markdown | 2 +- .../2016-08-16-we-have-apps-now.markdown | 4 ++-- ...10-08-hassbian-rest-digital-ocean.markdown | 2 +- .../2017-01-28-face-coffee-wink.markdown | 2 +- source/_posts/2017-02-04-babyphone.markdown | 6 +++--- ...onfig-panel-and-state-restoration.markdown | 4 ++-- source/_posts/2017-10-07-release-55.markdown | 2 +- .../_posts/2017-11-10-ttn-with-mqtt.markdown | 2 +- source/_posts/2017-11-12-tor.markdown | 2 +- .../developers/code_review_component.markdown | 2 +- .../hassio/addon_communication.markdown | 2 +- .../developers/hassio/addon_config.markdown | 2 +- .../hassio/addon_repository.markdown | 2 +- .../developers/hassio/addon_testing.markdown | 2 +- source/developers/websocket_api.markdown | 2 +- source/getting-started/index.markdown | 2 +- 85 files changed, 111 insertions(+), 111 deletions(-) diff --git a/source/_components/alarmdecoder.markdown b/source/_components/alarmdecoder.markdown index aa1109dbdf7..8cfc24d2152 100644 --- a/source/_components/alarmdecoder.markdown +++ b/source/_components/alarmdecoder.markdown @@ -20,7 +20,7 @@ Please visit the [AlarmDecoder website](https://www.alarmdecoder.com/) for furth There is currently support for the following device types within Home Assistant: - [Binary Sensor](/components/binary_sensor.alarmdecoder/): Reports on zone status -- [Sensor](/components/sensor.alarmdecoder/): Emulates an keypad display +- [Sensor](/components/sensor.alarmdecoder/): Emulates a keypad display - [Alarm Control Panel](/components/alarm_control_panel.alarmdecoder/): Reports on alarm status, and can be used to arm/disarm the system This is a fully event-based component. Any event sent by the AlarmDecoder device will be immediately reflected within Home Assistant. diff --git a/source/_components/binary_sensor.arest.markdown b/source/_components/binary_sensor.arest.markdown index a03c972e7b8..8b359f464aa 100644 --- a/source/_components/binary_sensor.arest.markdown +++ b/source/_components/binary_sensor.arest.markdown @@ -14,7 +14,7 @@ ha_release: 0.9 --- -The `arest` binary sensor platform allows you to get all data from your devices (like Arduinos with a ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework. +The `arest` binary sensor platform allows you to get all data from your devices (like Arduinos with an ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework. To use your aREST binary sensor in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/binary_sensor.gc100.markdown b/source/_components/binary_sensor.gc100.markdown index 3be8c013046..80d828723bd 100644 --- a/source/_components/binary_sensor.gc100.markdown +++ b/source/_components/binary_sensor.gc100.markdown @@ -1,7 +1,7 @@ --- layout: page title: gc100 Binary Sensor -description: "Instructions on how to set up an gc100 binary sensor within Home Assistant." +description: "Instructions on how to set up a gc100 binary sensor within Home Assistant." date: 2017-10-27 17:26 sidebar: true comments: false diff --git a/source/_components/binary_sensor.raspihats.markdown b/source/_components/binary_sensor.raspihats.markdown index 4815aa2de7b..83f355aaf55 100644 --- a/source/_components/binary_sensor.raspihats.markdown +++ b/source/_components/binary_sensor.raspihats.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Raspihats Binary Sensor" -description: "Instructions how to integrate Raspihats add-on boards for Raspberry PI into Home Assistant as a binary_sensor." +description: "Instructions how to integrate Raspihats add-on boards for Raspberry Pi into Home Assistant as a binary_sensor." date: 2017-05-01 04:09 sidebar: true comments: false @@ -87,4 +87,4 @@ It will output a table like this: 70: -- -- -- -- -- -- -- 77 ``` -For more details about the `raspihats` add-on boards for Raspberry PI, visit [raspihats.com](http://www.raspihats.com/). +For more details about the `raspihats` add-on boards for Raspberry Pi, visit [raspihats.com](http://www.raspihats.com/). diff --git a/source/_components/binary_sensor.rpi_gpio.markdown b/source/_components/binary_sensor.rpi_gpio.markdown index 99a7eda5eb4..dbae9b1b8d3 100644 --- a/source/_components/binary_sensor.rpi_gpio.markdown +++ b/source/_components/binary_sensor.rpi_gpio.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "Raspberry PI GPIO Binary Sensor" -description: "Instructions how to integrate the GPIO sensor capability of a Raspberry PI into Home Assistant." +title: "Raspberry Pi GPIO Binary Sensor" +description: "Instructions how to integrate the GPIO sensor capability of a Raspberry Pi into Home Assistant." date: 2015-08-30 19:00 sidebar: true comments: false diff --git a/source/_components/camera.generic.markdown b/source/_components/camera.generic.markdown index c6f41ac3376..3f99910e1c4 100644 --- a/source/_components/camera.generic.markdown +++ b/source/_components/camera.generic.markdown @@ -60,7 +60,7 @@ camera: ### {% linkable_title Local image with Hass.io %} -You can show an static image with this platform. Just place the image here: `/config/www/your_image.png` +You can show a static image with this platform. Just place the image here: `/config/www/your_image.png` ```yaml camera: diff --git a/source/_components/climate.mqtt.markdown b/source/_components/climate.mqtt.markdown index 85675df1f62..504610dea47 100644 --- a/source/_components/climate.mqtt.markdown +++ b/source/_components/climate.mqtt.markdown @@ -201,7 +201,7 @@ climate: ``` {% endraw %} -This will parse the incoming `"auto"` as JSON, resulting in `auto`. Obvisouly, in this case you could also just set `value_template: {% raw %}"{{ value_json }}"{% endraw %}`. +This will parse the incoming `"auto"` as JSON, resulting in `auto`. Obviously, in this case you could also just set `value_template: {% raw %}"{{ value_json }}"{% endraw %}`. ### {% linkable_title Example %} diff --git a/source/_components/climate.oem.markdown b/source/_components/climate.oem.markdown index c123b0e0f7b..be9b8cda217 100644 --- a/source/_components/climate.oem.markdown +++ b/source/_components/climate.oem.markdown @@ -15,7 +15,7 @@ ha_iot_class: "Local Polling" This platform supports the ESP82666 based "WiFi MQTT Relay / Thermostat" sold by [OpenEnergyMonitor](https://shop.openenergymonitor.com/wifi-mqtt-relay-thermostat/). The underlying [library](http://oemthermostat.readthedocs.io/) only supports this single relay variant of the [original device](https://harizanov.com/2014/12/wifi-iot-3-channel-relay-board-with-mqtt-and-http-api-using-esp8266/). -This platform controls the setpoint of the thermostat in it's "manual" mode, therefore there is a configuration option the away setpoint. +This platform controls the setpoint of the thermostat in its "manual" mode, therefore there is a configuration option the away setpoint. To set it up, add the following information to your `configuration.yaml` file: diff --git a/source/_components/cover.mqtt.markdown b/source/_components/cover.mqtt.markdown index 94cc013f787..f06204cfaa4 100755 --- a/source/_components/cover.mqtt.markdown +++ b/source/_components/cover.mqtt.markdown @@ -134,7 +134,7 @@ tilt_max: type: integer default: 100 tilt_closed_value: - description: The value that will be sent on an `close_cover_tilt` command. + description: The value that will be sent on a `close_cover_tilt` command. required: false type: integer default: 0 diff --git a/source/_components/cover.rflink.markdown b/source/_components/cover.rflink.markdown index 5bbe5e2f6ed..1bd3a1a50c7 100644 --- a/source/_components/cover.rflink.markdown +++ b/source/_components/cover.rflink.markdown @@ -85,7 +85,7 @@ Device configuration variables: - **name** (*Optional*): Name for the device, defaults to Rflink ID. - **aliases** (*Optional*): Alternative Rflink ID's this device is known by. -- **fire_event** (*Optional*): Fire an `button_pressed` event if this device is turned on or off (default: False). +- **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). diff --git a/source/_components/device_tracker.icloud.markdown b/source/_components/device_tracker.icloud.markdown index e98b8271577..74f22f02f6b 100644 --- a/source/_components/device_tracker.icloud.markdown +++ b/source/_components/device_tracker.icloud.markdown @@ -50,5 +50,5 @@ To disable the drainage of the battery, a dynamic interval is being used for eac 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. - **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 it's default dynamic interval based on it's current zone, it's distance towards home and it's battery level. +- **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/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown index 0bd137c0ab7..631d8dc669d 100644 --- a/source/_components/device_tracker.owntracks.markdown +++ b/source/_components/device_tracker.owntracks.markdown @@ -96,7 +96,7 @@ iBeacons don't need to be stationary. You could put one on your key ring, or in When your phone sees a mobile iBeacon that it knows about, it will tell HA the location of that iBeacon. If your phone moves while you are connected to the iBeacon, HA will update the location of the iBeacon. But when your phone loses the connection, HA will stop updating the iBeacon location. -To use mobile iBeacons with HA, you just set up a region that doesn't match your Zone names. If HA sees an entry event for a iBeacon region that doesn't match a Zone name (say `keys`) - it will start tracking it, calling the device `device_tracker.beacon_keys`). +To use mobile iBeacons with HA, you just set up a region that doesn't match your Zone names. If HA sees an entry event for an iBeacon region that doesn't match a Zone name (say `keys`) - it will start tracking it, calling the device `device_tracker.beacon_keys`). This allows you to write zone automations for devices that can't track themselves (for example *alert me if I leave the house and my keys are still at home*). Another example would be *open the gates if my car arrives home*. diff --git a/source/_components/device_tracker.tado.markdown b/source/_components/device_tracker.tado.markdown index 446c79131d6..bc1d91b37bc 100644 --- a/source/_components/device_tracker.tado.markdown +++ b/source/_components/device_tracker.tado.markdown @@ -12,7 +12,7 @@ ha_category: Presence Detection ha_release: 0.37 --- -The `tado` device tracker is using the [Tado Smart Thermostat](https://www.tado.com/) and it's support for person presence detection based on smartphone location by geofencing. +The `tado` device tracker is using the [Tado Smart Thermostat](https://www.tado.com/) and its support for person presence detection based on smartphone location by geofencing. This tracker uses the Tado API to determine if a mobile device is at home. It tracks all devices in your home that Tado knows about. diff --git a/source/_components/envisalink.markdown b/source/_components/envisalink.markdown index 02d0746982c..57deb9f53fb 100644 --- a/source/_components/envisalink.markdown +++ b/source/_components/envisalink.markdown @@ -13,7 +13,7 @@ ha_release: 0.23 ha_iot_class: "Local Push" --- -The `envisalink` component will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and it's sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Eyez On, known as the Envisalink. The Envisalink evl3 and evl4 boards provide a TCP/IP interface to the alarm panel, where it emulates an alarm keypad. This board also exposes a raw TCP/IP based API, upon which this component is built. Currently, the Envisalink version 4 is the latest model. This component supports both the evl3 and the evl4. +The `envisalink` component will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and its sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Eyez On, known as the Envisalink. The Envisalink evl3 and evl4 boards provide a TCP/IP interface to the alarm panel, where it emulates an alarm keypad. This board also exposes a raw TCP/IP based API, upon which this component is built. Currently, the Envisalink version 4 is the latest model. This component supports both the evl3 and the evl4. Please visit the [eyezon website](http://www.eyezon.com/) for further information about the evl3 and evl4 boards. diff --git a/source/_components/hue.markdown b/source/_components/hue.markdown index 46d8f2cc9f3..40623c9a95a 100644 --- a/source/_components/hue.markdown +++ b/source/_components/hue.markdown @@ -103,7 +103,7 @@ More information can be found on the [Philips Hue API documentation](https://www ### {% linkable_title Using Hue Scenes in Home Assistant %} -The Hue platform has it's own concept of scenes for setting the colors of a group of lights at once. Hue Scenes are very cheap, get created by all kinds of apps (as it is the only way to have 2 or more lights change at the same time), and are rarely deleted. A typical Hue hub might have hundreds of scenes stored in them, many that you've never used, almost all very poorly named. +The Hue platform has its own concept of scenes for setting the colors of a group of lights at once. Hue Scenes are very cheap, get created by all kinds of apps (as it is the only way to have 2 or more lights change at the same time), and are rarely deleted. A typical Hue hub might have hundreds of scenes stored in them, many that you've never used, almost all very poorly named. To avoid user interface overload we don't expose scenes directly. Instead there is a hue.hue_activate_scene service which can be used by `automation` or `script` components. This will have all the bulbs transitioned at once, instead of one at a time using standard scenes in Home Assistant. diff --git a/source/_components/image_processing.microsoft_face_detect.markdown b/source/_components/image_processing.microsoft_face_detect.markdown index c15e5baab07..39aecb15340 100644 --- a/source/_components/image_processing.microsoft_face_detect.markdown +++ b/source/_components/image_processing.microsoft_face_detect.markdown @@ -13,7 +13,7 @@ featured: false ha_release: 0.38 --- -The `microsoft_face_detect` image processing platform allows you to use the [Microsoft Face Identify](https://www.microsoft.com/cognitive-services/en-us/) API through Home Assistant. This platform enables you do detect face on camera and fire a event with attributes. +The `microsoft_face_detect` image processing platform allows you to use the [Microsoft Face Identify](https://www.microsoft.com/cognitive-services/en-us/) API through Home Assistant. This platform enables you do detect face on camera and fire an event with attributes. Please refer to the [component](/components/microsoft_face/) configuration on how to setup the API key. diff --git a/source/_components/image_processing.microsoft_face_identify.markdown b/source/_components/image_processing.microsoft_face_identify.markdown index e600ae36a61..76fb2ad1be0 100644 --- a/source/_components/image_processing.microsoft_face_identify.markdown +++ b/source/_components/image_processing.microsoft_face_identify.markdown @@ -13,7 +13,7 @@ featured: false ha_release: 0.37 --- -The `microsoft_face_identify` image processing platform lets you use [Microsoft Face identify](https://www.microsoft.com/cognitive-services/en-us/) API through Home Assistant. This platform allow you do identify persons on camera and fire a event with identify persons. +The `microsoft_face_identify` image processing platform lets you use [Microsoft Face identify](https://www.microsoft.com/cognitive-services/en-us/) API through Home Assistant. This platform allow you do identify persons on camera and fire an event with attributes. Please refer to the [component](/components/microsoft_face/) configuration on how to setup the API key. diff --git a/source/_components/light.ihc.markdown b/source/_components/light.ihc.markdown index a289ea942f3..741d2168cd9 100644 --- a/source/_components/light.ihc.markdown +++ b/source/_components/light.ihc.markdown @@ -61,5 +61,5 @@ lights: {% endconfiguration %} In the example above 12345 is ihc resource id and "tablelight" is the name. -The IHC resource id can be a light level for dimmers or an boolean output of a relay. +The IHC resource id can be a light level for dimmers or a boolean output of a relay. For more information about IHC resource ids see [Manual Setup](/components/ihc/#manual-setup) diff --git a/source/_components/light.rflink.markdown b/source/_components/light.rflink.markdown index 0bd73b588ef..ebba128f88a 100644 --- a/source/_components/light.rflink.markdown +++ b/source/_components/light.rflink.markdown @@ -50,7 +50,7 @@ Device configuration variables: - **name** (*Optional*): Name for the device, defaults to Rflink ID. - **type** (*Optional*): Override automatically detected type of the light device, can be: switchable, dimmable, hybrid or toggle. See 'Light Types' below. (default: Switchable) - **aliases** (*Optional*): Alternative Rflink ID's this device is known by. -- **fire_event** (*Optional*): Fire an `button_pressed` event if this device is turned on or off (default: False). +- **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). @@ -86,7 +86,7 @@ Any on/off command from any alias ID updates the current state of the light. How Light devices can come in different forms. Some only switch on and off, other support dimming. Dimmable devices might not always respond nicely to repeated `on` command as they turn into a pulsating state until `on` is pressed again (for example KlikAanKlikUit). The RFLink component support three types of lights to make things work in every situation: -- *Hybrid*: This type sends a `dim` followed by an a `on` command; and `off` commands. This will make dimmable devices turn on at the requested dim level and on/off devices on. One caveat is this type is not compatible with signal repetition as multiple `on` signals will cause dimmers to go into disco mode. +- *Hybrid*: This type sends a `dim` followed by an an `on` command; and `off` commands. This will make dimmable devices turn on at the requested dim level and on/off devices on. One caveat is this type is not compatible with signal repetition as multiple `on` signals will cause dimmers to go into disco mode. - *Switchable*: Device type that sends only `on` and `off` commands. It work for both on/off and dimmable type switches. However dimmables might have issues with signal repetition (see above). - *Dimmable*: Sends only `dim` and `off` commands. This does not work on on/off type devices as they don't understand the `dim` command. For dimmers this does not cause issues with signal repetitions. - *Toggle*: Device type that sends only `on` commands to turn on or off the device. Some switches like for example Livolo light switches use the same 'on' command to switch on and switch off the lights. If the light is on and 'on' gets sent, the light will turn off and if the light is off and 'on' gets sent, the light will turn on. If the device has an unknown state, it will assume it is off by default. diff --git a/source/_components/logbook.markdown b/source/_components/logbook.markdown index 74e493fc9bf..adabef99d19 100644 --- a/source/_components/logbook.markdown +++ b/source/_components/logbook.markdown @@ -73,7 +73,7 @@ logbook: ### {% linkable_title Exclude Events %} -Entities customized as hidden are excluded from the logbook by default, but sometimes you want to show the entity in the UI and not in the logbook. For instance you use the `sensor.date`to show the current date in the UI, but you do not want an logbook entry for that sensor every day. +Entities customized as hidden are excluded from the logbook by default, but sometimes you want to show the entity in the UI and not in the logbook. For instance you use the `sensor.date`to show the current date in the UI, but you do not want a logbook entry for that sensor every day. To exclude these entities just add them to the `exclude` > `entities` list in the configuration of the logbook. To exclude all events from a whole domain add it to the `exclude` > `domain` list. For instance you use the `sun` domain only to trigger automations on the `azimuth attribute, then you possible are not interested in the logbook entries for sun rise and sun set. diff --git a/source/_components/mailbox.markdown b/source/_components/mailbox.markdown index 88ff203523f..28f4d77f436 100644 --- a/source/_components/mailbox.markdown +++ b/source/_components/mailbox.markdown @@ -10,7 +10,7 @@ ha_version: 0.51 footer: true --- -Mailboxes provide an list of messages with short information about each. Mailbox messages appear on a separate panel in the frontend. +Mailboxes provide a list of messages with short information about each. Mailbox messages appear on a separate panel in the frontend. Home Assistant currently supports only the [Asterisk Voicemail](/component/mailbox.asterisk_mbox) mailbox. diff --git a/source/_components/media_player.cast.markdown b/source/_components/media_player.cast.markdown index 63271c16760..c97f391dab8 100644 --- a/source/_components/media_player.cast.markdown +++ b/source/_components/media_player.cast.markdown @@ -15,7 +15,7 @@ ha_iot_class: "Local Polling" --- -Google Cast devices like Android TVs and Chromecasts will be automatically discovered if you enable [the discovery component]({{site_root}}/components/discovery/). There is a issue where Chromecasts can only be discovered if your device is connected to the same subnet as your Chromecast. +Google Cast devices like Android TVs and Chromecasts will be automatically discovered if you enable [the discovery component]({{site_root}}/components/discovery/). There is an issue where Chromecasts can only be discovered if your device is connected to the same subnet as your Chromecast. The Chromecast platform can also be forced to load by adding the following lines to your `configuration.yaml`: diff --git a/source/_components/media_player.gstreamer.markdown b/source/_components/media_player.gstreamer.markdown index c77e8c40496..288ef12120c 100644 --- a/source/_components/media_player.gstreamer.markdown +++ b/source/_components/media_player.gstreamer.markdown @@ -58,7 +58,7 @@ If you're running Home Assistant in a virtual environment, you'll need to symlin ln -s /path/to/your/installation/of/gi /path/to/your/venv/lib/python3.4/site-packages ``` -On a Raspberry PI, you may need to add the Home Assistant user to the `audio` group: +On a Raspberry Pi, you may need to add the Home Assistant user to the `audio` group: ```bash sudo usermod -a -G audio @@ -68,7 +68,7 @@ sudo usermod -a -G audio ### {% linkable_title Using with TTS %} -To play TTS on your local computer (for example, if you have speakers attached to your Raspberry PI: +To play TTS on your local computer (for example, if you have speakers attached to your Raspberry Pi: ```yaml media_player: diff --git a/source/_components/media_player.yamaha.markdown b/source/_components/media_player.yamaha.markdown index bfe7c81c9c1..c306b1d5272 100644 --- a/source/_components/media_player.yamaha.markdown +++ b/source/_components/media_player.yamaha.markdown @@ -52,7 +52,7 @@ Configuration variables: have your receiver switched off. - In some cases, auto-discovery fails due to a known bug in the receiver's firmware. It is possible to manually specify the - receiver's IP address or via it's hostname (if it is discoverable by + receiver's IP address or via its hostname (if it is discoverable by your DNS) then. ### {% linkable_title Supported operations %} diff --git a/source/_components/mycroft.markdown b/source/_components/mycroft.markdown index 50241b7a2f1..705800f6e34 100644 --- a/source/_components/mycroft.markdown +++ b/source/_components/mycroft.markdown @@ -12,7 +12,7 @@ ha_category: Voice ha_release: 0.53 --- -[Mycroft](https://mycroft.ai) is a open source voice assistant that allows you to send notifications and more to Mycroft from Home Assistant. +[Mycroft](https://mycroft.ai) is an open source voice assistant that allows you to send notifications and more to Mycroft from Home Assistant. ```yaml # Example configuration.yaml entry diff --git a/source/_components/notify.clickatell.markdown b/source/_components/notify.clickatell.markdown index 0c274c9a1b7..783f3deb588 100644 --- a/source/_components/notify.clickatell.markdown +++ b/source/_components/notify.clickatell.markdown @@ -16,7 +16,7 @@ ha_release: 0.56 The `clickatell` platform uses [Clickatell](https://clickatell.com) to deliver SMS notifications from Home Assistant. ### Get your Clickatell API Credentials -Go to your [Clickatell SMS Platform Portal](https://portal.clickatell.com/#/) section and create a new SMS integration. There are three screens of information required to creater an integration. Please ensure the following: +Go to your [Clickatell SMS Platform Portal](https://portal.clickatell.com/#/) section and create a new SMS integration. There are three screens of information required to create an integration. Please ensure the following: 1. Give the new Integration an identification name. 2. Ensure it is set for 'production' use. diff --git a/source/_components/notify.html5.markdown b/source/_components/notify.html5.markdown index 1adf5f015e1..04df895ccd1 100644 --- a/source/_components/notify.html5.markdown +++ b/source/_components/notify.html5.markdown @@ -250,7 +250,7 @@ You will receive an event named `html5_notification.closed` when the notificatio ### {% linkable_title Making notifications work with NGINX proxy %} -If you use [NGINX](/ecosystem/nginx/) as an proxy with authentication in front of your Home Assistant instance, you may have trouble with receiving events back to Home Assistant. It's because of authentication token that cannot be passed through the proxy. +If you use [NGINX](/ecosystem/nginx/) as a proxy with authentication in front of your Home Assistant instance, you may have trouble with receiving events back to Home Assistant. It's because of authentication token that cannot be passed through the proxy. To solve the issue put additional location into your nginx site's configuration: diff --git a/source/_components/notify.pushsafer.markdown b/source/_components/notify.pushsafer.markdown index e7664866497..61edbe9d8d7 100644 --- a/source/_components/notify.pushsafer.markdown +++ b/source/_components/notify.pushsafer.markdown @@ -15,7 +15,7 @@ ha_release: 0.39 The [Pushsafer service](https://www.pushsafer.com/) is a platform for the notify component. This allows you to send messages to the user using Pushsafer. -In order to get an private or alias key you need to go to the [Pushsafer website](https://www.pushsafer.com) and register. +In order to get a private or alias key you need to go to the [Pushsafer website](https://www.pushsafer.com) and register. To use Pushsafer notifications, add the following to your `configuration.yaml` file: diff --git a/source/_components/raspihats.markdown b/source/_components/raspihats.markdown index 3c1d33ed1e7..b20878e6482 100644 --- a/source/_components/raspihats.markdown +++ b/source/_components/raspihats.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Raspihats" -description: "Instructions how to integrate Raspihats add-on boards for Raspberry PI into Home Assistant." +description: "Instructions how to integrate Raspihats add-on boards for Raspberry Pi into Home Assistant." date: 2017-05-01 04:06 sidebar: true comments: false diff --git a/source/_components/rflink.markdown b/source/_components/rflink.markdown index 26515b5f8c3..33e21132150 100644 --- a/source/_components/rflink.markdown +++ b/source/_components/rflink.markdown @@ -135,7 +135,7 @@ If you find a device is recognized differently, with different protocols or the ### {% linkable_title Technical Overview %} -- The`rflink` Python module is a asyncio transport/protocol which is setup to fire a callback for every (valid/supported) packet received by the RFLink gateway. +- The`rflink` Python module is an asyncio transport/protocol which is setup to fire a callback for every (valid/supported) packet received by the RFLink gateway. - This component uses this callback to distribute 'rflink packet events' over [Home Assistant's event bus](https://home-assistant.io/docs/configuration/events/) which can be subscribed to by entities/platform implementations. - The platform implementation takes care of creating new devices (if enabled) for unseen incoming packet ID's. - Device entities take care of matching to the packet ID, interpreting and performing actions based on the packet contents. Common entity logic is maintained in this main component. diff --git a/source/_components/rpi_gpio.markdown b/source/_components/rpi_gpio.markdown index b0f2fdc3703..642804ffff0 100644 --- a/source/_components/rpi_gpio.markdown +++ b/source/_components/rpi_gpio.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "Raspberry PI GPIO" -description: "Instructions how to integrate the GPIO capability of a Raspberry PI into Home Assistant." +title: "Raspberry Pi GPIO" +description: "Instructions how to integrate the GPIO capability of a Raspberry Pi into Home Assistant." date: 2016-08-30 19:00 sidebar: true comments: false diff --git a/source/_components/satel_integra.markdown b/source/_components/satel_integra.markdown index 4cbe5957bfd..8e71d59e7f0 100644 --- a/source/_components/satel_integra.markdown +++ b/source/_components/satel_integra.markdown @@ -56,7 +56,7 @@ Configuration variables: - **port** (*Optional*): The port on which the ETHM module listens for clients using integration protocol. Default: `7094` - **partition** (*Optional*): The partition to operate on. Integra can support multiple partitions, this platform only supports one. Default: `1` - **arm_home_mode** (*Optional*): The mode in which arm Satel Integra when 'arm home' is used. Possible options are `1`,`2` or `3`, default being `1`. For more information on what are the differences between them, please refer to Satel Integra manual. -- **zones** (*Optional*): This module does not discover currently which zones are actually in use, so it will only monitor the ones defined in the config. For each zone, a proper ID must be given as well as it's name (does not need to match the one specified in Satel Integra alarm). For more information on the available zone types, take a look at the [Binary Sensor](/components/binary_sensor.alarmdecoder/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.* +- **zones** (*Optional*): This module does not discover currently which zones are actually in use, so it will only monitor the ones defined in the config. For each zone, a proper ID must be given as well as its name (does not need to match the one specified in Satel Integra alarm). For more information on the available zone types, take a look at the [Binary Sensor](/components/binary_sensor.alarmdecoder/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.* List of all zone IDs can be taken from DloadX program. diff --git a/source/_components/sensor.arduino.markdown b/source/_components/sensor.arduino.markdown index 02fa7f6aaac..b7e4c1c6d7a 100644 --- a/source/_components/sensor.arduino.markdown +++ b/source/_components/sensor.arduino.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Local Polling" --- -The `arduino` sensor platform allows you to get an numerical values from an analog input pin of an [Arduino](https://www.arduino.cc/) board. Usually the value is between 0 and 1024. +The `arduino` sensor platform allows you to get numerical values from an analog input pin of an [Arduino](https://www.arduino.cc/) board. Usually the value is between 0 and 1024. To enable an Arduino sensor with Home Assistant, add the following section to your `configuration.yaml` file: diff --git a/source/_components/sensor.buienradar.markdown b/source/_components/sensor.buienradar.markdown index 1cdebf9290a..cb1cd65660d 100644 --- a/source/_components/sensor.buienradar.markdown +++ b/source/_components/sensor.buienradar.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Cloud Polling" --- -The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as an source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a web service that provides detailed weather information for users in The Netherlands. The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0). +The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a web service that provides detailed weather information for users in The Netherlands. The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0). The selected weather station will provide all weather data, with the exception of the forecasted precipitation. The forecasted precipitation data will be retrieved from buienradar using your actual gps-location (and not the location of the nearest weather station). diff --git a/source/_components/sensor.dsmr.markdown b/source/_components/sensor.dsmr.markdown index a83d5a8ac0e..b073aae82ff 100644 --- a/source/_components/sensor.dsmr.markdown +++ b/source/_components/sensor.dsmr.markdown @@ -131,7 +131,7 @@ DSMR is a standard to which Dutch smartmeters must comply. It specifies that the The contents of this telegram differ between version but they generally consist of lines with 'obis' (Object Identification System, a numerical ID for a value) followed with the value and unit. -This module sets up a asynchronous reading loop using the `dsmr_parser` module which waits for a complete telegram, parser it and puts it on an async queue as a dictionary of `obis`/object mapping. The numeric value and unit of each value can be read from the objects attributes. Because the `obis` are know for each DSMR version the Entities for this component are create during bootstrap. +This module sets up an asynchronous reading loop using the `dsmr_parser` module which waits for a complete telegram, parser it and puts it on an async queue as a dictionary of `obis`/object mapping. The numeric value and unit of each value can be read from the objects attributes. Because the `obis` are know for each DSMR version the Entities for this component are create during bootstrap. Another loop (DSMR class) is setup which reads the telegram queue, stores/caches the latest telegram and notifies the Entities that the telegram has been updated. diff --git a/source/_components/sensor.miflora.markdown b/source/_components/sensor.miflora.markdown index 4d15463a1c7..8fcfca3d09d 100644 --- a/source/_components/sensor.miflora.markdown +++ b/source/_components/sensor.miflora.markdown @@ -20,7 +20,7 @@ Depending on the operating system you're running, you have to configure the prop - On [Hass.io](https://home-assistant.io/hassio/installation/): Miflora will work out of the box. - On other Linux systems: - - Prefered solution: Install the `bluepy` library (via pip). When using a virtual environment, make sure to use install the library in the right one. + - Preferred solution: Install the `bluepy` library (via pip). When using a virtual environment, make sure to use install the library in the right one.    - Fallback solution: Install `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated` - Windows and MacOS are currently not supported by the [miflora library](https://github.com/open-homeautomation/miflora/). diff --git a/source/_components/sensor.modem_callerid.markdown b/source/_components/sensor.modem_callerid.markdown index 30f1c98f9e6..d2d0340bb39 100644 --- a/source/_components/sensor.modem_callerid.markdown +++ b/source/_components/sensor.modem_callerid.markdown @@ -37,7 +37,7 @@ If Home Assistant (`hass`) runs with another user (e.g. `homeassistant` on Hassb Depending on what's plugged into your USB ports, the name found above may change. You can lock in a name, such as `/dev/modem`, by following [these instructions](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/). -When the sensor detects a new call, it's state changes to 'ring' for each ring and 'callerid' when caller id information is received. It returns to 'idle' once ringing stops. The state event includes an attribute payload that includes the time of the call, name and number. +When the sensor detects a new call, its state changes to 'ring' for each ring and 'callerid' when caller id information is received. It returns to 'idle' once ringing stops. The state event includes an attribute payload that includes the time of the call, name and number. Some example automations: ```yaml diff --git a/source/_components/sensor.openweathermap.markdown b/source/_components/sensor.openweathermap.markdown index f672ff07291..6f9186a6f6e 100644 --- a/source/_components/sensor.openweathermap.markdown +++ b/source/_components/sensor.openweathermap.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Cloud Polling" --- -The `openweathermap` platform uses [OpenWeatherMap](http://openweathermap.org/) as an source for current meteorological data for your location. The `forecast` will show you the condition in 3 h. +The `openweathermap` platform uses [OpenWeatherMap](http://openweathermap.org/) as a source for current meteorological data for your location. The `forecast` will show you the condition in 3 h. You need an API key which is free but requires a [registration](http://home.openweathermap.org/users/sign_up). diff --git a/source/_components/sensor.supervisord.markdown b/source/_components/sensor.supervisord.markdown index 4fcb8f24157..93a191fc9cb 100644 --- a/source/_components/sensor.supervisord.markdown +++ b/source/_components/sensor.supervisord.markdown @@ -22,7 +22,7 @@ It required that you enable the HTTP feature in the `/etc/supervisord.conf` conf port=127.0.0.1:9001 ``` -After a restart of `supervisord` you should be able to access the web interface. If needed then this could be added as a [iFrame panel](/components/panel_iframe/). +After a restart of `supervisord` you should be able to access the web interface. If needed then this could be added as an [iFrame panel](/components/panel_iframe/).

diff --git a/source/_components/sensor.vera.markdown b/source/_components/sensor.vera.markdown index bd32fdd408e..c1e7b16a374 100644 --- a/source/_components/sensor.vera.markdown +++ b/source/_components/sensor.vera.markdown @@ -17,7 +17,7 @@ The `vera` platform allows you to get data from your [Vera](http://getvera.com/) They will be automatically discovered if the vera component is loaded. -Please note that some vera sensors (such as _motion_ and _flood_ sensors) are _armable_ which means that vera will send alerts (email messages to txts) when they are _armed_ an change state. +Please note that some vera sensors (such as _motion_ and _flood_ sensors) are _armable_ which means that vera will send alerts (email messages to txts) when they are _armed_ and change state. Home Assistant will display the state of these sensors regardless of the _armed_ state. diff --git a/source/_components/sensor.yr.markdown b/source/_components/sensor.yr.markdown index 362c3aaedbf..35813cb4598 100644 --- a/source/_components/sensor.yr.markdown +++ b/source/_components/sensor.yr.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Cloud Polling" --- -The `yr` platform uses [YR.no](http://www.yr.no/) as an source for current meteorological data for your location. The +The `yr` platform uses [YR.no](http://www.yr.no/) as a source for current meteorological data for your location. The weather forecast is delivered by the Norwegian Meteorological Institute and the NRK. To add YR to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/sensor.yweather.markdown b/source/_components/sensor.yweather.markdown index 7ac041c1cb1..0f9bcd7a859 100644 --- a/source/_components/sensor.yweather.markdown +++ b/source/_components/sensor.yweather.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Cloud Polling" --- -The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/) as an source for current meteorological data. The `forecast` will show you the condition for 5 days, 0 is the current day. You can use only `weather`, `temp_min`, and `temp_max` with forecast. It's important to note that a yweather sensor will only show ONE days forecast at a time so to show multiple days forecasts, you will need to use the 'name:' option and give each sensor a unique name. +The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/) as a source for current meteorological data. The `forecast` will show you the condition for 5 days, 0 is the current day. You can use only `weather`, `temp_min`, and `temp_max` with forecast. It's important to note that a yweather sensor will only show ONE days forecast at a time so to show multiple days forecasts, you will need to use the 'name:' option and give each sensor a unique name.

Use of the Yahoo Weather API should not exceed reasonable request volume. Access is limited to 2000 signed calls per day. diff --git a/source/_components/switch.gc100.markdown b/source/_components/switch.gc100.markdown index 9fcf7217b66..59649d72d15 100644 --- a/source/_components/switch.gc100.markdown +++ b/source/_components/switch.gc100.markdown @@ -1,7 +1,7 @@ --- layout: page title: gc100 Switch -description: "Instructions on how to set up an gc100 switch within Home Assistant." +description: "Instructions on how to set up a gc100 switch within Home Assistant." date: 2017-10-27 17:26 sidebar: true comments: false diff --git a/source/_components/switch.raspihats.markdown b/source/_components/switch.raspihats.markdown index b2fa067e130..23f7afb96f6 100644 --- a/source/_components/switch.raspihats.markdown +++ b/source/_components/switch.raspihats.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Raspihats Switch" -description: "Instructions how to integrate Raspihats add-on boards for Raspberry PI into Home Assistant as a switch." +description: "Instructions how to integrate Raspihats add-on boards for Raspberry Pi into Home Assistant as a switch." date: 2017-05-15 04:20 sidebar: true comments: false @@ -89,4 +89,4 @@ It will output a table like this: 70: -- -- -- -- -- -- -- 77 ``` -For more details about the Raspihats add-on boards for Raspberry PI, visit [raspihats.com](http://www.raspihats.com/). +For more details about the Raspihats add-on boards for Raspberry Pi, visit [raspihats.com](http://www.raspihats.com/). diff --git a/source/_components/switch.rflink.markdown b/source/_components/switch.rflink.markdown index fc7ab2b7a9f..08b5e614585 100644 --- a/source/_components/switch.rflink.markdown +++ b/source/_components/switch.rflink.markdown @@ -50,7 +50,7 @@ Device configuration variables: - **name** (*Optional*): Name for the device, defaults to RFLink ID. - **aliases** (*Optional*): Alternative RFLink ID's this device is known by. -- **fire_event** (*Optional*): Fire an `button_pressed` event if this device is turned on or off (default: False). +- **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) - **group** (*Optional*): Allow switch to respond to group commands (ALLON/ALLOFF). (default: yes) - **group_aliases** (*Optional*): `aliases` which only respond to group commands. diff --git a/source/_components/switch.rpi_gpio.markdown b/source/_components/switch.rpi_gpio.markdown index 2e1d74786d1..192bb82544e 100644 --- a/source/_components/switch.rpi_gpio.markdown +++ b/source/_components/switch.rpi_gpio.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "Raspberry PI GPIO Switch" -description: "Instructions how to integrate the GPIO of a Raspberry PI into Home Assistant as a switch." +title: "Raspberry Pi GPIO Switch" +description: "Instructions how to integrate the GPIO of a Raspberry Pi into Home Assistant as a switch." date: 2015-08-07 14:00 sidebar: true comments: false diff --git a/source/_components/updater.markdown b/source/_components/updater.markdown index 4a5b9777b35..b87d554bb91 100644 --- a/source/_components/updater.markdown +++ b/source/_components/updater.markdown @@ -11,7 +11,7 @@ logo: home-assistant.png ha_category: Other --- -The `updater` component will check daily for new releases. It will show a badge in the frontend if a new version is found. As [Hass.io](/hassio/) has it's own schedule for release it doesn't make sense to use this component on Hass.io. +The `updater` component will check daily for new releases. It will show a badge in the frontend if a new version is found. As [Hass.io](/hassio/) has its own schedule for release it doesn't make sense to use this component on Hass.io. The updater component will also collect basic information about the running Home Assistant instance and its environment. The information includes the current Home Assistant version, the time zone, Python version and operating system information. No identifiable information (i.e., IP address, GPS coordinates, etc.) will ever be collected. If you are concerned about your privacy, you are welcome to scrutinize the Python [source code](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/updater.py#L91). For further information about the Updater's data, please check the [detailed overview](/docs/backend/updater/). diff --git a/source/_components/waterfurnace.markdown b/source/_components/waterfurnace.markdown index b747ff597a2..9bf884e0c29 100644 --- a/source/_components/waterfurnace.markdown +++ b/source/_components/waterfurnace.markdown @@ -64,5 +64,5 @@ every polling cycle. While this is communicating with a thermostat, geothermal systems operate most efficiently when setbacks are not used, and the home is kept at a constant temperature. It remains useful to collect the data -from the system to understand it's performance, but a full climate +from the system to understand its performance, but a full climate interface won't be implemented. diff --git a/source/_cookbook/automation_using_timeinterval_inputboolean.markdown b/source/_cookbook/automation_using_timeinterval_inputboolean.markdown index 499bc7aa5bb..d5edc5e9613 100644 --- a/source/_cookbook/automation_using_timeinterval_inputboolean.markdown +++ b/source/_cookbook/automation_using_timeinterval_inputboolean.markdown @@ -10,7 +10,7 @@ footer: true ha_category: Automation Examples --- -#### {% linkable_title Change Hue light on interval to random color based on state of a input boolean %} +#### {% linkable_title Change Hue light on interval to random color based on state of an input boolean %} _Note, Philips Hue is currently the only light platform that support the random effect._ diff --git a/source/_cookbook/track_battery_level.markdown b/source/_cookbook/track_battery_level.markdown index 9de6b14cfb0..b623f46b04e 100644 --- a/source/_cookbook/track_battery_level.markdown +++ b/source/_cookbook/track_battery_level.markdown @@ -43,7 +43,7 @@ sensor: ``` {% endraw %} -The `else` part is used to have the sensor keep it's last state if the newest [iCloud](/components/device_tracker.icloud/) update doesn't have any battery state in it (which happens sometimes). Otherwise the sensor will be blank. +The `else` part is used to have the sensor keep its last state if the newest [iCloud](/components/device_tracker.icloud/) update doesn't have any battery state in it (which happens sometimes). Otherwise the sensor will be blank. ### {% linkable_title Android and iOS Devices %} diff --git a/source/_docs/asterisk_mbox.markdown b/source/_docs/asterisk_mbox.markdown index 65c570aab89..fae79de9276 100644 --- a/source/_docs/asterisk_mbox.markdown +++ b/source/_docs/asterisk_mbox.markdown @@ -44,7 +44,7 @@ Before beginning make sure that you have the following: 3. Create a configuration file for the server - As the `asterisk` user create a `asterisk_mbox.ini` file (You can place this in any directory you choose, but the rommended location is `/etc/asterisk/asterisk_mbox.ini`) + As the `asterisk` user create an `asterisk_mbox.ini` file (You can place this in any directory you choose, but the rommended location is `/etc/asterisk/asterisk_mbox.ini`) ```ini [default] diff --git a/source/_docs/configuration/state_object.markdown b/source/_docs/configuration/state_object.markdown index 72e62321477..c9ee1f94036 100644 --- a/source/_docs/configuration/state_object.markdown +++ b/source/_docs/configuration/state_object.markdown @@ -27,7 +27,7 @@ Field | Description `state.last_changed` | Time the state changed. This is not updated when there are only updated attributes. Example: `2017-10-28 08:13:36.715874+00:00`. `state.attributes` | A dictionary with extra attributes related to the current state. -The attributes of an entity are optional. There are a few attributes that are used by Home Assistant for representing the entity in a specific way. Each component will also have it's own attributes to represent extra state data about the entity. For example, the light component has attributes for the current brightness and color of the light. When an attribute is not available, Home Assistant will not write it to the state. +The attributes of an entity are optional. There are a few attributes that are used by Home Assistant for representing the entity in a specific way. Each component will also have its own attributes to represent extra state data about the entity. For example, the light component has attributes for the current brightness and color of the light. When an attribute is not available, Home Assistant will not write it to the state. When using templates, attributes will be available by their name. For example `state.attributes.assumed_state`. diff --git a/source/_docs/ecosystem/appdaemon/api.markdown b/source/_docs/ecosystem/appdaemon/api.markdown index 384dab6d3a9..48c8d994ba3 100755 --- a/source/_docs/ecosystem/appdaemon/api.markdown +++ b/source/_docs/ecosystem/appdaemon/api.markdown @@ -22,13 +22,13 @@ import homeassistant.appapi as appapi class MotionLights(appapi.AppDaemon): ``` -When configured as an app in the config file (more on that later) the lifecycle of the App begins. It will be instantiated as an object by AppDaemon, and immediately, it will have a call made to it's `initialize()` function - this function must appear as part of every app: +When configured as an app in the config file (more on that later) the lifecycle of the App begins. It will be instantiated as an object by AppDaemon, and immediately, it will have a call made to its `initialize()` function - this function must appear as part of every app: ```python def initialize(self): ``` -The initialize function allows the app to register any callbacks it might need for responding to state changes, and also any setup activities. When the `initialize()` function returns, the App will be dormant until any of it's callbacks are activated. +The initialize function allows the app to register any callbacks it might need for responding to state changes, and also any setup activities. When the `initialize()` function returns, the App will be dormant until any of its callbacks are activated. There are several circumstances under which `initialize()` might be called: @@ -93,7 +93,7 @@ class = NewApp When AppDaemon sees the following configuration it will expect to find a class called `NewApp` defined in a module called `new.py` in the apps subdirectory. Apps can be placed at the root of the Apps directory or within a subdirectory, an arbitrary depth down - wherever the App is, as long as it is in some subdirectory of the Apps dir, or in the Apps dir itself, AppDaemon will find it. There is no need to include information about the path, just the name of the file itself (without the `.py`) is sufficient. If names in the subdirectories overlap, AppDir will pick one of them but the exact choice it will make is undefined. -When starting the system for the first time or when reloading an App or Module, the system will log the fact in it's main log. It is often the case that there is a problem with the class, maybe a syntax error or some other problem. If that is the case, details will be output to the error log allowing the user to remedy the problem and reload. +When starting the system for the first time or when reloading an App or Module, the system will log the fact in its main log. It is often the case that there is a problem with the class, maybe a syntax error or some other problem. If that is the case, details will be output to the error log allowing the user to remedy the problem and reload. ## {% linkable_title Steps to writing an App %} @@ -154,7 +154,7 @@ Callback constraints are a feature of AppDaemon that removes the need for repeti Put simply, callback constraints are one or more conditions on callback execution that can be applied to an individual App. An App's callbacks will only be executed if all of the constraints are met. If a constraint is absent it will not be checked for. -For example, the presence callback constraint can be added to an App by adding a parameter to it's configuration like this: +For example, the presence callback constraint can be added to an App by adding a parameter to its configuration like this: ```ini [some_app] @@ -565,7 +565,7 @@ self.cancel_listen_state(self.office_light_handle) ### {% linkable_title info_listen_state() %} -Get information on state a callback from it's handle. +Get information on state a callback from its handle. #### {% linkable_title Synopsis %} @@ -909,7 +909,7 @@ self.cancel_timer(handle) ### {% linkable_title info_timer() %} -Get information on a scheduler event from it's handle. +Get information on a scheduler event from its handle. #### {% linkable_title Synopsis %} @@ -944,7 +944,7 @@ All of the scheduler calls above support 2 additional optional arguments, `rando - `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 a 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 spcified amount. If not specified, they will default to `0`. For example: @@ -1463,7 +1463,7 @@ self.cancel_listen_event(handle) ### {% linkable_title info_listen_event() %} -Get information on an event callback from it's handle. +Get information on an event callback from its handle. #### {% linkable_title Synopsis %} @@ -1552,7 +1552,7 @@ The custom event `MODE_CHANGE` would be subscribed to with: self.listen_event(self.mode_event, "MODE_CHANGE") ``` -Home Assistant can send these events in a variety of other places - within automations, and also directly from Alexa intents. Home Assistant can also listen for custom events with it's automation component. This can be used to signal from AppDaemon code back to Home Assistant. Here is a sample automation: +Home Assistant can send these events in a variety of other places - within automations, and also directly from Alexa intents. Home Assistant can also listen for custom events with its automation component. This can be used to signal from AppDaemon code back to Home Assistant. Here is a sample automation: ```yaml automation: @@ -2058,7 +2058,7 @@ OK, time travel sadly isn't really possible but it can be very useful when testi ### {% linkable_title Choosing a Start Time %} -Internally, AppDaemon keeps track of it's own time relative to when it was started. This make is possible to start AppDaemon with a different start time and date to the current time. For instance to test that sunset App, start AppDaemon at a time just before sunset and see if it works as expected. To do this, simply use the "-s" argument on AppDaemon's command line. e,g,: +Internally, AppDaemon keeps track of its own time relative to when it was started. This make is possible to start AppDaemon with a different start time and date to the current time. For instance to test that sunset App, start AppDaemon at a time just before sunset and see if it works as expected. To do this, simply use the "-s" argument on AppDaemon's command line. e,g,: ```bash $ appdaemon -s "2016-06-06 19:16:00" diff --git a/source/_docs/ecosystem/appdaemon/reboot.markdown b/source/_docs/ecosystem/appdaemon/reboot.markdown index 1ccdd8773a9..2eba9f75a6c 100644 --- a/source/_docs/ecosystem/appdaemon/reboot.markdown +++ b/source/_docs/ecosystem/appdaemon/reboot.markdown @@ -10,4 +10,4 @@ footer: true redirect_from: /ecosystem/appdaemon/reboot/ --- -To run `AppDaemon` at reboot, I have provided a sample init script in the `./scripts` directory. These have been tested on a Raspberry PI - your mileage may vary on other systems. There is also a sample Systemd script. +To run `AppDaemon` at reboot, I have provided a sample init script in the `./scripts` directory. These have been tested on a Raspberry Pi - your mileage may vary on other systems. There is also a sample Systemd script. diff --git a/source/_docs/ecosystem/appdaemon/tutorial.markdown b/source/_docs/ecosystem/appdaemon/tutorial.markdown index 6eee88e98b0..6a9998bced3 100755 --- a/source/_docs/ecosystem/appdaemon/tutorial.markdown +++ b/source/_docs/ecosystem/appdaemon/tutorial.markdown @@ -23,14 +23,14 @@ So given the importance of Automation, what should Automation allow us to do? I - Is it open and expandable? - Does it run locally without any reliance on the cloud? -In my opinion, Home Assistant accomplishes the majority of these very well with a combination of Automations, Scripts and Templates, and it's Restful API. +In my opinion, Home Assistant accomplishes the majority of these very well with a combination of Automations, Scripts and Templates, and its Restful API. So why `AppDaemon`? AppDaemon is not meant to replace Home Assistant Automations and Scripts, rather complement them. For a lot of things, automations work well and can be very succinct. However, there is a class of more complex automations for which they become harder to use, and appdeamon then comes into its own. It brings quite a few things to the table: - New paradigm - some problems require a procedural and/or iterative approach, and `AppDaemon` Apps are a much more natural fit for this. Recent enhancements to Home Assistant scripts and templates have made huge strides, but for the most complex scenarios, Apps can do things that Automations can't - Ease of use - AppDaemon's API is full of helper functions that make programming as easy and natural as possible. The functions and their operation are as "Pythonic" as possible, experienced Python programmers should feel right at home. - Reuse - write a piece of code once and instantiate it as an app as many times as you need with different parameters e.g. a motion light program that you can use in 5 different places around your home. The code stays the same, you just dynamically add new instances of it in the config file -- Dynamic - AppDaemon has been designed from the start to enable the user to make changes without requiring a restart of Home Assistant, thanks to it's loose coupling. However, it is better than that - the user can make changes to code and AppDaemon will automatically reload the code, figure out which Apps were using it and restart them to use the new code with out the need to restart `AppDaemon` itself. It is also possible to change parameters for an individual or multiple apps and have them picked up dynamically, and for a final trick, removing or adding apps is also picked up dynamically. Testing cycles become a lot more efficient as a result. +- Dynamic - AppDaemon has been designed from the start to enable the user to make changes without requiring a restart of Home Assistant, thanks to its loose coupling. However, it is better than that - the user can make changes to code and AppDaemon will automatically reload the code, figure out which Apps were using it and restart them to use the new code with out the need to restart `AppDaemon` itself. It is also possible to change parameters for an individual or multiple apps and have them picked up dynamically, and for a final trick, removing or adding apps is also picked up dynamically. Testing cycles become a lot more efficient as a result. - Complex logic - Python's If/Else constructs are clearer and easier to code for arbitrarily complex nested logic - Durable variables and state - variables can be kept between events to keep track of things like the number of times a motion sensor has been activated, or how long it has been since a door opened - All the power of Python - use any of Python's libraries, create your own modules, share variables, refactor and re-use code, create a single app to do everything, or multiple apps for individual tasks - nothing is off limits! diff --git a/source/_docs/ecosystem/backup/backup_usb.markdown b/source/_docs/ecosystem/backup/backup_usb.markdown index 279c76c3bda..6bd62768830 100644 --- a/source/_docs/ecosystem/backup/backup_usb.markdown +++ b/source/_docs/ecosystem/backup/backup_usb.markdown @@ -103,7 +103,7 @@ Change below path to where you placed the `usb_backup.sh` and run the following This does not automatically mount your USB drive at boot. You need to do that manually or add a line to your `/etc/fstab` file. -If your drive is on `/dev/sda1`, you could add a entry to your `/etc/fstab` like so: +If your drive is on `/dev/sda1`, you could add an entry to your `/etc/fstab` like so: ```text /dev/sda1 /media ext4 defaults,noatime 0 1 diff --git a/source/_docs/ecosystem/certificates/lets_encrypt.markdown b/source/_docs/ecosystem/certificates/lets_encrypt.markdown index b2ca1f4bea6..ee9cb80892f 100644 --- a/source/_docs/ecosystem/certificates/lets_encrypt.markdown +++ b/source/_docs/ecosystem/certificates/lets_encrypt.markdown @@ -241,7 +241,7 @@ In cases where your ISP blocks port 80 you will need to change the port forward Now SSH in to the device your Home Assistant is running on.

-If you're running the 'standard' setup on a Raspberry Pi the chances are you just logged in as the 'pi' user. If not, you may have logged in as the Home Assistant user. There are commands below that require the Home Assistant user to be on the `sudoers` list. If you are not using the 'standard' pi setup it is presumed you will know how to get your Home Assistant user on the `sudoers` list before continuing. If you are running the 'standard' pi setup, from your 'pi' user issue the following command (where `hass` is the Home Assistant user): +If you're running the 'standard' setup on a Raspberry Pi the chances are you just logged in as the 'pi' user. If not, you may have logged in as the Home Assistant user. There are commands below that require the Home Assistant user to be on the `sudoers` list. If you are not using the 'standard' Pi setup it is presumed you will know how to get your Home Assistant user on the `sudoers` list before continuing. If you are running the 'standard' Pi setup, from your 'pi' user issue the following command (where `hass` is the Home Assistant user): ``` $ sudo adduser hass sudo diff --git a/source/_docs/ecosystem/hass-configurator.markdown b/source/_docs/ecosystem/hass-configurator.markdown index d88d4a2d7fe..c9fac261ec8 100644 --- a/source/_docs/ecosystem/hass-configurator.markdown +++ b/source/_docs/ecosystem/hass-configurator.markdown @@ -109,7 +109,7 @@ Since the configurator script on its own is no service, you will have to take so 1. Fork the process into the background with the command: `nohup sudo ./configurator.py &` -2. If your system is using systemd (that's usually what you'll find on a Raspberry PI), there's a [template file](https://github.com/danielperna84/hass-configurator/blob/master/hass-poc-configurator.systemd) you can use and then apply the same process to integrate it as mentioned in the [Home Assistant documentation](https://home-assistant.io/docs/autostart/systemd/). If you use this method you have to set the `BASEPATH` variable according to your environment. +2. If your system is using systemd (that's usually what you'll find on a Raspberry Pi), there's a [template file](https://github.com/danielperna84/hass-configurator/blob/master/hass-poc-configurator.systemd) you can use and then apply the same process to integrate it as mentioned in the [Home Assistant documentation](https://home-assistant.io/docs/autostart/systemd/). If you use this method you have to set the `BASEPATH` variable according to your environment. 3. If you have [supervisor](http://supervisord.org/) running on your system, [hass-poc-configurator.supervisor](https://github.com/danielperna84/hass-configurator/blob/master/hass-poc-configurator.supervisor) would be an example configuration you could use to control the configurator. 4. A tool called [tmux](https://tmux.github.io/), which should be pre-installed with [HASSbian](https://home-assistant.io/docs/hassbian/). 5. A tool called [screen](http://ss64.com/bash/screen.html) (alternative to tmux). If it's not already installed on your system, you can do `sudo apt-get install screen` or `sudo yum install screen` to get it. When it's installed, start a screen session by executing `screen`. Then navigate to your Home Assistant directory and start the configurator like described above. Put the screen session into the background by pressing `CTRL+A` and then `CTRL+D`. It is now safe to disconnect from your SSH session. diff --git a/source/_docs/installation/hassbian/integrations.markdown b/source/_docs/installation/hassbian/integrations.markdown index e48f9e35367..5658ce712eb 100644 --- a/source/_docs/installation/hassbian/integrations.markdown +++ b/source/_docs/installation/hassbian/integrations.markdown @@ -28,8 +28,8 @@ Just follow the component pages for each on how to add them to your Home Assista - [DHT Sensor](/components/sensor.dht/). - [Raspberry Pi Cover](/components/cover.rpi_gpio/). - - [Raspberry PI GPIO Binary Sensor](/components/binary_sensor.rpi_gpio/). - - [Raspberry PI GPIO Switch](/components/switch.rpi_gpio/). + - [Raspberry Pi GPIO Binary Sensor](/components/binary_sensor.rpi_gpio/). + - [Raspberry Pi GPIO Switch](/components/switch.rpi_gpio/). - [Raspberry Pi RF Switch](/components/switch.rpi_rf/). ### {% linkable_title Raspberry Pi Camera %} diff --git a/source/_docs/scripts.markdown b/source/_docs/scripts.markdown index c0c23fe63ca..f630d283d4d 100644 --- a/source/_docs/scripts.markdown +++ b/source/_docs/scripts.markdown @@ -155,7 +155,7 @@ The following automation shows how to raise a custom event called `event_light_t ``` {% endraw %} -The following automation shows how to capture the custom event `event_light_turned_on`, and retrieve corresponsing `entity_id` that was passed as the event data. +The following automation shows how to capture the custom event `event_light_turned_on`, and retrieve corresponding `entity_id` that was passed as the event data. {% raw %} ```yaml diff --git a/source/_docs/z-wave/control-panel.markdown b/source/_docs/z-wave/control-panel.markdown index f204afed4f6..06c9bd741b4 100644 --- a/source/_docs/z-wave/control-panel.markdown +++ b/source/_docs/z-wave/control-panel.markdown @@ -52,7 +52,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 it's friendly name, the ID of the node, etc) +* **Entity Attributes** to display the attributes of that entity (eg 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/_docs/z-wave/entities.markdown b/source/_docs/z-wave/entities.markdown index b5a597b4ebf..d3c856d8352 100644 --- a/source/_docs/z-wave/entities.markdown +++ b/source/_docs/z-wave/entities.markdown @@ -147,7 +147,7 @@ binary_sensor: - **254**: Deep sleep - **255**: Case open -If your device has an `burglar` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/components/binary_sensor.template/) to create one: +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: ``` binary_sensor: diff --git a/source/_docs/z-wave/services.markdown b/source/_docs/z-wave/services.markdown index 61c2ff7a860..0a6499d2d4e 100644 --- a/source/_docs/z-wave/services.markdown +++ b/source/_docs/z-wave/services.markdown @@ -15,7 +15,7 @@ The `zwave` component exposes multiple services to help maintain the network. Al | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | | add_node | Put the Z-Wave controller in inclusion mode. Allows you to add a new device to the Z-Wave network. | | 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 a 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. | +| 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_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. diff --git a/source/_posts/2015-08-09-mqtt-raspberry-pi-squeezebox-asuswrt-support.markdown b/source/_posts/2015-08-09-mqtt-raspberry-pi-squeezebox-asuswrt-support.markdown index 7c810aee00d..14d83f62020 100644 --- a/source/_posts/2015-08-09-mqtt-raspberry-pi-squeezebox-asuswrt-support.markdown +++ b/source/_posts/2015-08-09-mqtt-raspberry-pi-squeezebox-asuswrt-support.markdown @@ -1,7 +1,7 @@ --- layout: post -title: "MQTT, Rasperry PI, Logitech Squeezebox and ASUSWRT routers now supported" -description: "New support for MQTT, Rasperry PI GPIO, Logitech Squeezebox and ASUSWRT routers" +title: "MQTT, Rasperry Pi, Logitech Squeezebox and ASUSWRT routers now supported" +description: "New support for MQTT, Rasperry Pi GPIO, Logitech Squeezebox and ASUSWRT routers" date: 2015-08-09 18:01 0000 date_formatted: "August 9, 2015" author: Paulus Schoutsen @@ -10,7 +10,7 @@ comments: true categories: Release-Notes --- -It's time for the August release and there is some serious good stuff this time. The core of Home Assistant has gone some serious clean up and a bump in test coverage thanks to [@balloob](https://github.com/balloob). If you're a developer, make sure you read up on [the deprecation notices](https://github.com/home-assistant/home-assistant/pull/251). [@fabaff](https://github.com/fabaff) did another great round of documentating all the various components. +It's time for the August release and there is some serious good stuff this time. The core of Home Assistant has gone some serious clean up and a bump in test coverage thanks to [@balloob](https://github.com/balloob). If you're a developer, make sure you read up on [the deprecation notices](https://github.com/home-assistant/home-assistant/pull/251). [@fabaff](https://github.com/fabaff) did another great round of documenting all the various components. __MQTT Support__ The big new addition in this release is the support for the MQTT protocol by [@fabaff](https://github.com/fabaff) with some help from [@balloob](https://github.com/balloob). It will now be possible to integrate any IoT device that talks via MQTT. For the initial release we support connecting Home Assistant to a broker (no TLS yet). Components can now subscribe and publish to MQTT topics ([see the example][mqtt-example]) and also support for the automation component [has been added][mqtt-automation]. For more information, see [the MQTT component page][mqtt-component]. @@ -33,8 +33,8 @@ mqtt: -__Raspberry PI GPIO Support__ - [@gbarba](https://github.com/gbarba) has contributed support to use the general purpose input and output pins on a Raspberry PI as switches inside Home Assistant. +__Raspberry Pi GPIO Support__ + [@gbarba](https://github.com/gbarba) has contributed support to use the general purpose input and output pins on a Raspberry Pi as switches inside Home Assistant. ```yaml # Example configuration.yaml entry diff --git a/source/_posts/2016-02-09-Smarter-Smart-Things-with-MQTT-and-Home-Assistant.markdown b/source/_posts/2016-02-09-Smarter-Smart-Things-with-MQTT-and-Home-Assistant.markdown index 33ada39515d..2420da03999 100644 --- a/source/_posts/2016-02-09-Smarter-Smart-Things-with-MQTT-and-Home-Assistant.markdown +++ b/source/_posts/2016-02-09-Smarter-Smart-Things-with-MQTT-and-Home-Assistant.markdown @@ -198,7 +198,7 @@ Here is the final sequence of events: There are a lot of stops along the way for these events, but each piece is a simple translation layer to shuttle the events between systems. ### Future Improvements -- **Raspberry pi**: There is a lot of interest in getting this running on the Raspberry Pi. It only requires binaries compiled for ARM, so we plan to get ARM-compatible versions of the containers going at some point. +- **Raspberry Pi**: There is a lot of interest in getting this running on the Raspberry Pi. It only requires binaries compiled for ARM, so we plan to get ARM-compatible versions of the containers going at some point. - **Authentication for MQTT**: At the moment, the MQTT bridge doesn't understand how to authenticate to MQTT, so only unauthenticated MQTT is supported. This is mitigated to some degree if you use our Docker Compose config, because MQTT's port is not actually shared publicly. - **Authentication for MQTT Bridge**: Right now the bridge expects that anyone subscribing is the SmartThings hub. This could use proper authentication. diff --git a/source/_posts/2016-04-07-static-website.markdown b/source/_posts/2016-04-07-static-website.markdown index a4ec4f90b1f..e7bb788ce9b 100644 --- a/source/_posts/2016-04-07-static-website.markdown +++ b/source/_posts/2016-04-07-static-website.markdown @@ -25,7 +25,7 @@ In the past the buzz word "Smart mirror" was used a couple of times in our [chat There are plenty of ways to achieve this...[RESTful API](/developers/rest_api/), [Python API](/developers/python_api/), or one of the [history components](/components/#history). If it is to be a web page I'm using the [MQTT Eventstream component](/components/mqtt_eventstream/) and [mqttws31.js](http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.javascript.git/tree/src). -The [HBMQTT](https://pypi.python.org/pypi/hbmqtt) broker provides websockets support for MQTT and mqttws31.js included in web page gives you access to the MQTT messages. It's a matter of minutes. OK, it took a little longer because I'm not a Javascript guy to create the software part that will show details about your environment. The source is available at [https://github.com/fabaff/home-assistant-display](https://github.com/fabaff/home-assistant-display) and the screenshot above shows the result. I guess that every person who is familiar with Javascript would be able to reduce the amount of code and to make it more flexible. Well, it's a only prototype and showcase to include an image in this blog post. +The [HBMQTT](https://pypi.python.org/pypi/hbmqtt) broker provides websockets support for MQTT and mqttws31.js included in web page gives you access to the MQTT messages. It's a matter of minutes. OK, it took a little longer because I'm not a Javascript guy to create the software part that will show details about your environment. The source is available at [https://github.com/fabaff/home-assistant-display](https://github.com/fabaff/home-assistant-display) and the screenshot above shows the result. I guess that every person who is familiar with Javascript would be able to reduce the amount of code and to make it more flexible. Well, it's only a prototype and showcase to include an image in this blog post. I hope that this little article could give you an idea of extending Home Assistant in an unconventional way. diff --git a/source/_posts/2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown b/source/_posts/2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown index 33c8d3e97c5..d2067b9be87 100644 --- a/source/_posts/2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown +++ b/source/_posts/2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown @@ -10,7 +10,7 @@ comments: true categories: Release-Notes --- -Another awesome release ready to hit your homes. YAML can be hard for beginners and more experienced automators. So to help catch those pesky errors that sneak into your files we've been hard at work to introduce config validation! Especially huge thanks to [@jaharkes] for his hard work on this. Config validation is still in it's early stages. More common platforms and components have been added but we didn't do everything yet. +Another awesome release ready to hit your homes. YAML can be hard for beginners and more experienced automators. So to help catch those pesky errors that sneak into your files we've been hard at work to introduce config validation! Especially huge thanks to [@jaharkes] for his hard work on this. Config validation is still in its early stages. More common platforms and components have been added but we didn't do everything yet. When we encounter an invalid config we will now write a warning to your logs. You can see those in the frontend by clicking on the last developer tool. We're looking into options to make it more clear - it is a work in progress. diff --git a/source/_posts/2016-04-21-bluetooth-lg-webos-tvs-and-roombas.markdown b/source/_posts/2016-04-21-bluetooth-lg-webos-tvs-and-roombas.markdown index 72b13a6c8a7..af96dc1778f 100644 --- a/source/_posts/2016-04-21-bluetooth-lg-webos-tvs-and-roombas.markdown +++ b/source/_posts/2016-04-21-bluetooth-lg-webos-tvs-and-roombas.markdown @@ -13,7 +13,7 @@ og_image: /images/blog/2016-04-release-18/social.png It's time for 0.18. This release cycle is 2 days shorter than usual as I'll be traveling to Europe. This also means that it can take some more time before you get feedback on PRs. -Since the last release we have moved all Home Assistant source code etc into it's own [organization on GitHub](https://github.com/home-assistant). We're growing up! This sadly did cause us to have to move all Docker images. Check the breaking changes section for more info. +Since the last release we have moved all Home Assistant source code etc into its own [organization on GitHub](https://github.com/home-assistant). We're growing up! This sadly did cause us to have to move all Docker images. Check the breaking changes section for more info. diff --git a/source/_posts/2016-05-26-ibeacons-how-to-track-things-that-cant-track-themselves-part-ii.markdown b/source/_posts/2016-05-26-ibeacons-how-to-track-things-that-cant-track-themselves-part-ii.markdown index 579cde5579f..89a0a442cc1 100644 --- a/source/_posts/2016-05-26-ibeacons-how-to-track-things-that-cant-track-themselves-part-ii.markdown +++ b/source/_posts/2016-05-26-ibeacons-how-to-track-things-that-cant-track-themselves-part-ii.markdown @@ -122,7 +122,7 @@ script: ### {% linkable_title Using both types of iBeacons at the same time %} -Of course you can use both fixed and mobile beacons at the same time. I want my gates to open when I arrive home in the car - so I use an iBeacon in the car so that I can track the car, and a iBeacon on my drive so that a location update is triggered when I arrive. I've been experimenting with a high power beacon in a waterproof box on my drive which seems to work well to notice when I get home. +Of course you can use both fixed and mobile beacons at the same time. I want my gates to open when I arrive home in the car - so I use an iBeacon in the car so that I can track the car, and an iBeacon on my drive so that a location update is triggered when I arrive. I've been experimenting with a high power beacon in a waterproof box on my drive which seems to work well to notice when I get home.

diff --git a/source/_posts/2016-07-30-custom-frontend-panels--jupyter-notebooks--directv.markdown b/source/_posts/2016-07-30-custom-frontend-panels--jupyter-notebooks--directv.markdown index 48a43201b78..93bec4b2156 100644 --- a/source/_posts/2016-07-30-custom-frontend-panels--jupyter-notebooks--directv.markdown +++ b/source/_posts/2016-07-30-custom-frontend-panels--jupyter-notebooks--directv.markdown @@ -12,7 +12,7 @@ categories: Release-Notes When Home Assistant started the focus has always been on making a great developer experience. Allowing anyone to add support for their favorite devices to Home Assistant easily. This focus has been a great success since we now have 339 components and platforms! -Starting with this release, we are extending our extensibility to the frontend. Starting this release, any component can [add it's own page to the frontend][custom-panels]. Examples of this today are the map, logbook and history. We are looking forward to all the crazy panels you'll come up with! +Starting with this release, we are extending our extensibility to the frontend. Starting this release, any component can [add its own page to the frontend][custom-panels]. Examples of this today are the map, logbook and history. We are looking forward to all the crazy panels you'll come up with! We have also seen an exciting trend of people starting to visualize their Internet of Things data using [Jupyter] Notebooks, which are a great way to create and share documents that contain code, visualizations, and explanatory text. In case you missed it, the [blog] post by [@kireyeu] shows an advanced usecase while our [Notebooks][jupyter-notebooks] in the [Home Assistant Notebooks repository][jupyter-repo] cover the basics. diff --git a/source/_posts/2016-08-16-we-have-apps-now.markdown b/source/_posts/2016-08-16-we-have-apps-now.markdown index 535a88e0365..6edf3f8f4b2 100644 --- a/source/_posts/2016-08-16-we-have-apps-now.markdown +++ b/source/_posts/2016-08-16-we-have-apps-now.markdown @@ -26,14 +26,14 @@ So given the importance of Automation, what should Automation allow us to do? I - Is it open and expandable? - Does it run locally without any reliance on the cloud? -In my opinion, Home Assistant accomplishes the majority of these very well with a combination of Automations, Scripts and Templates, and it's Restful API. +In my opinion, Home Assistant accomplishes the majority of these very well with a combination of Automations, Scripts and Templates, and its Restful API. So why `AppDaemon`? `AppDaemon` is not meant to replace Home Assistant Automations and Scripts, rather complement them. For a lot of things, automations work well and can be very succinct. However, there is a class of more complex automations for which they become harder to use, and appdeamon then comes into its own. It brings quite a few things to the table: - New paradigm - some problems require a procedural and/or iterative approach, and `AppDaemon` Apps are a much more natural fit for this. Recent enhancements to Home Assistant scripts and templates have made huge strides, but for the most complex scenarios, Apps can do things that Automations can't - Ease of use - `AppDaemon`'s API is full of helper functions that make programming as easy and natural as possible. The functions and their operation are as "Pythonic" as possible, experienced Python programmers should feel right at home. - Reuse - write a piece of code once and instantiate it as an app as many times as you need with different parameters e.g. a motion light program that you can use in 5 different places around your home. The code stays the same, you just dynamically add new instances of it in the config file -- Dynamic - `AppDaemon` has been designed from the start to enable the user to make changes without requiring a restart of Home Assistant, thanks to it's loose coupling. However, it is better than that - the user can make changes to code and `AppDaemon` will automatically reload the code, figure out which Apps were using it and restart them to use the new code without the need to restart `AppDaemon` itself. It is also possible to change parameters for an individual or multiple apps and have them picked up dynamically, and for a final trick, removing or adding apps is also picked up dynamically. Testing cycles become a lot more efficient as a result. +- Dynamic - `AppDaemon` has been designed from the start to enable the user to make changes without requiring a restart of Home Assistant, thanks to its loose coupling. However, it is better than that - the user can make changes to code and `AppDaemon` will automatically reload the code, figure out which Apps were using it and restart them to use the new code without the need to restart `AppDaemon` itself. It is also possible to change parameters for an individual or multiple apps and have them picked up dynamically, and for a final trick, removing or adding apps is also picked up dynamically. Testing cycles become a lot more efficient as a result. - Complex logic - Python's If/Else constructs are clearer and easier to code for arbitrarily complex nested logic - Durable variables and state - variables can be kept between events to keep track of things like the number of times a motion sensor has been activated, or how long it has been since a door opened - All the power of Python - use any of Python's libraries, create your own modules, share variables, refactor and re-use code, create a single app to do everything, or multiple apps for individual tasks - nothing is off limits! diff --git a/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown b/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown index a7386785f15..1c4f4ea6a63 100644 --- a/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown +++ b/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown @@ -36,7 +36,7 @@ With the [statistics sensor][stats-sensor] we would like to introduce a new sens

-As the results are processed on-the-fly you still need to use the data from your database for a in-depth analysis of your stored information. Check the latest [notebook] for doing statistics with your Home Assistant database. +As the results are processed on-the-fly you still need to use the data from your database for an in-depth analysis of your stored information. Check the latest [notebook] for doing statistics with your Home Assistant database. ### {% linkable_title REST! We don't... %} diff --git a/source/_posts/2017-01-28-face-coffee-wink.markdown b/source/_posts/2017-01-28-face-coffee-wink.markdown index 6201e628ec6..26d05a6d945 100644 --- a/source/_posts/2017-01-28-face-coffee-wink.markdown +++ b/source/_posts/2017-01-28-face-coffee-wink.markdown @@ -152,7 +152,7 @@ Bugfix: [@balloob], [@fabaff], [@freol35241], [@pvizeli], [@Danielhiversen], [@t - Due to massive improvements of the [Wink][wink] integration, the names of your binary sensors will change and new devices can show up. - The [MySensors][mysensors] component now requires all persistence file paths to be set if any is set by the user. This is to avoid name conflicts for the paths. If no path is set Home Assistant will set all paths for you. - The [Sonos][sonos] service `sonos_group_players` was removed. Use now `sonos_join` for this function. -- TTS cache have change for the last time. Files use now also a option hash as part of the name. If you want to use the cache, it need to be renamed or cleared, new created. E. g. `HASH_LANG_PLATFORM.xxx` -> `HASH_LANG_OPTIONS_PLATFORM.xxx`, replace *OPTIONS* with `-` on exiting platforms. +- TTS cache have change for the last time. Files use now also an option hash as part of the name. If you want to use the cache, it need to be renamed or cleared, new created. E. g. `HASH_LANG_PLATFORM.xxx` -> `HASH_LANG_OPTIONS_PLATFORM.xxx`, replace *OPTIONS* with `-` on exiting platforms. ### {% linkable_title If you need help... %} ...don't hesitate to use our [Forum](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. diff --git a/source/_posts/2017-02-04-babyphone.markdown b/source/_posts/2017-02-04-babyphone.markdown index 3703bcd1938..9da9d97c458 100644 --- a/source/_posts/2017-02-04-babyphone.markdown +++ b/source/_posts/2017-02-04-babyphone.markdown @@ -26,7 +26,7 @@ Next, we attach a `ffmpeg_noise` binary sensor to our IP camera. The sensor has We change the platform name for binary sensor in 0.38 from `ffmpeg` to `ffmpeg_noise`. Also all service going to component and was rename from `binary_sensor.ffmpeg_xy` to `ffmpeg.xy`.

-On Raspbian Jessie, you can setup [FFmpeg](/components/ffmpeg) and install a [icecast2](http://icecast.org/) server using: +On Raspbian Jessie, you can setup [FFmpeg](/components/ffmpeg) and install an [icecast2](http://icecast.org/) server using: ```bash $ sudo echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list @@ -35,7 +35,7 @@ $ sudo apt-get -t jessie-backports install ffmpeg $ sudo apt-get install icecast2 ``` -We setup a icecast mount point for our babyphone and update `/etc/icecast2/icecast.xml`: +We setup an icecast mount point for our babyphone and update `/etc/icecast2/icecast.xml`: ``` @@ -93,7 +93,7 @@ automation: entity_id: binary_sensor.ffmpeg_noise ``` -### {% linkable_title Trigger a alarm %} +### {% linkable_title Trigger an alarm %} Now we can make a lot stuff. Here is a simple example of an automation what should be possible with Sonos speakers. diff --git a/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown b/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown index ee59872448f..e92643be510 100644 --- a/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown +++ b/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown @@ -71,9 +71,9 @@ So starting this release, we had to make some breaking changes to right the wron [**Update: the online tool can be found here.**](https://jsfiddle.net/balloob/d2e56q6f/74/) -#### Customize has been reverted to it's original config +#### Customize has been reverted to its original config -The old customize is back. The options to match by domain or using glob have been moved to it's own options. It will now look like this: +The old customize is back. The options to match by domain or using glob have been moved to its own options. It will now look like this: ```yaml homeassistant: diff --git a/source/_posts/2017-10-07-release-55.markdown b/source/_posts/2017-10-07-release-55.markdown index bbe1bc77380..65175467125 100644 --- a/source/_posts/2017-10-07-release-55.markdown +++ b/source/_posts/2017-10-07-release-55.markdown @@ -63,7 +63,7 @@ Experiencing issues introduced by this release? Please report them in our [issue ## {% linkable_title Breaking Changes %} -- history_graph component: If your component used `history.get_significant_states` function then you need to adjust the string `entitity_id` parameter has been changed to a list of strings `entity_ids` parameter. ([@andrey-git] - [#9472]) ([history_graph docs]) (breaking change) +- history_graph component: If your component used `history.get_significant_states` function then you need to adjust the string `entity_id` parameter has been changed to a list of strings `entity_ids` parameter. ([@andrey-git] - [#9472]) ([history_graph docs]) (breaking change) - UPNP component: The `external_port` configuration option was removed. ([@balloob] - [#9560]) ([upnp docs]) (breaking change) - New Wink services: pair new device, rename, delete and add new lock key code. All device attributes that are multi-words are now separated by "_" and no longer " ". ([@w1ll1am23] - [#9303]) ([wink docs]) ([binary_sensor.wink docs]) ([lock.wink docs]) (breaking change) - TP-Link Switch: Attribute names now uses underscores and unnecessary capitalization was removed. ([@djchen] - [#9607]) ([switch.tplink docs]) (breaking change) diff --git a/source/_posts/2017-11-10-ttn-with-mqtt.markdown b/source/_posts/2017-11-10-ttn-with-mqtt.markdown index d619623c020..38341bdc9f2 100644 --- a/source/_posts/2017-11-10-ttn-with-mqtt.markdown +++ b/source/_posts/2017-11-10-ttn-with-mqtt.markdown @@ -195,4 +195,4 @@ sensor: state_topic: "home/ttn/garden_temp" ``` -This solution is not production-ready, scalable or stable but it could fill the gape till Home Assistant is able to connect to multiple MQTT brokers. If you have multiple devices relay all messages to your local broker and add an configuration variable to `mqtt_ttn` sensor which allows you to select the device. +This solution is not production-ready, scalable or stable but it could fill the gape till Home Assistant is able to connect to multiple MQTT brokers. If you have multiple devices relay all messages to your local broker and add a configuration variable to `mqtt_ttn` sensor which allows you to select the device. diff --git a/source/_posts/2017-11-12-tor.markdown b/source/_posts/2017-11-12-tor.markdown index 612faf1ffc2..cd4e018f7a7 100644 --- a/source/_posts/2017-11-12-tor.markdown +++ b/source/_posts/2017-11-12-tor.markdown @@ -27,7 +27,7 @@ The most amazing part? It is super easy to set up! ## {% linkable_title Setting up Tor %} -Our [documentation](/docs/ecosystem/tor/) provides an detailed guide about seting up a [Tor's Hidden Service](https://www.torproject.org/docs/hidden-services.html.en). The setup is straight-forward: +Our [documentation](/docs/ecosystem/tor/) provides a detailed guide about setting up a [Tor's Hidden Service](https://www.torproject.org/docs/hidden-services.html.en). The setup is straight-forward: 1. Install Tor. On a Debian-based system: `$ sudo apt-get install tor`. On Fedora: `$ sudo dnf install tor` 2. Modify Tor's main configuration file `/etc/tor/torrc` to include the following lines: diff --git a/source/developers/code_review_component.markdown b/source/developers/code_review_component.markdown index 9b7bdff4601..bebe3dc7847 100644 --- a/source/developers/code_review_component.markdown +++ b/source/developers/code_review_component.markdown @@ -33,4 +33,4 @@ Not all existing platforms follow the requirements in this checklist. This canno ### {% linkable_title 3. Component/platform communication %} 1. If you need to share global data with platforms, use the dictionary `hass.data`. `hass.data[DATA_XY]` while `XY` is the component is preferred over `hass.data[DOMAIN]`. - 2. If the component fetches data that causes it's related platform entities to update, you can notify them using the dispatcher code in `homeassistant.helpers.dispatcher`. + 2. If the component fetches data that causes its related platform entities to update, you can notify them using the dispatcher code in `homeassistant.helpers.dispatcher`. diff --git a/source/developers/hassio/addon_communication.markdown b/source/developers/hassio/addon_communication.markdown index 9b4d3fbdc16..c95be391a57 100644 --- a/source/developers/hassio/addon_communication.markdown +++ b/source/developers/hassio/addon_communication.markdown @@ -14,7 +14,7 @@ There are different ways to communication between add-ons inside Home Assistant. ## {% linkable_title Network %} -We use a internal network. That allow to speak with every add-on or from Home Assistant to add-on by name or alias. Only the add-ons which runs on the host network are a bit limited. They can speak with all internal add-ons over their name but all other add-on can't address the add-on in question with its name. But using an alias work well. Thus the name/alias is used to communicate inside Hass.io. The name have the following format `{REPO}-{SLUG}`, e.g. `local-xy` or `3283fh-myaddon`. +We use an internal network. That allow to speak with every add-on or from Home Assistant to add-on by name or alias. Only the add-ons which runs on the host network are a bit limited. They can speak with all internal add-ons over their name but all other add-on can't address the add-on in question with its name. But using an alias work well. Thus the name/alias is used to communicate inside Hass.io. The name have the following format `{REPO}-{SLUG}`, e.g. `local-xy` or `3283fh-myaddon`. Use `hassio` to speak with the internal API. diff --git a/source/developers/hassio/addon_config.markdown b/source/developers/hassio/addon_config.markdown index 005c8a0cd83..cf91e022b4d 100644 --- a/source/developers/hassio/addon_config.markdown +++ b/source/developers/hassio/addon_config.markdown @@ -140,7 +140,7 @@ The config for an add-on is stored in `config.json`. ### {% linkable_title Options / Schema %} -The `options` dictionary contains all available options and their default value. Set the default value to `null` if the value is required to be given by the user before the add-on can start, and it show it inside default values. Only nested arrays and dictionaries are supported with a deep of two size. If you want make a option optional, put `?` to the end of data type, otherwise it will be a required value. +The `options` dictionary contains all available options and their default value. Set the default value to `null` if the value is required to be given by the user before the add-on can start, and it show it inside default values. Only nested arrays and dictionaries are supported with a deep of two size. If you want make an option optional, put `?` to the end of data type, otherwise it will be a required value. ```json { diff --git a/source/developers/hassio/addon_repository.markdown b/source/developers/hassio/addon_repository.markdown index 645fb1cf819..9a8373fa514 100644 --- a/source/developers/hassio/addon_repository.markdown +++ b/source/developers/hassio/addon_repository.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /hassio/addon_repository/ --- -An add-on repository can contain one or more add-ons. Each add-on is stored in it's own unique folder. To be indentified as a repository, the repository must contain a configuration file. +An add-on repository can contain one or more add-ons. Each add-on is stored in its own unique folder. To be indentified as a repository, the repository must contain a configuration file. Check the [Example add-on repository](https://github.com/home-assistant/hassio-addons-example) for further details. diff --git a/source/developers/hassio/addon_testing.markdown b/source/developers/hassio/addon_testing.markdown index d1a2dfc17f8..f2f562f4431 100644 --- a/source/developers/hassio/addon_testing.markdown +++ b/source/developers/hassio/addon_testing.markdown @@ -16,7 +16,7 @@ Right now add-ons will work with images that are stored on Docker Hub (using `im ## {% linkable_title Local build %} -You can build an try the addon on your developer machine also. Move all addon stuff into a temp folder. If you use `FROM $BUILD_FROM` you need set a base image with build args. Normally you can use follow base images: +You can build and try the addon on your developer machine also. Move all addon stuff into a temp folder. If you use `FROM $BUILD_FROM` you need set a base image with build args. Normally you can use follow base images: - armhf: `homeassistant/armhf-base:latest` - aarch64: `homeassistant/aarch64-base:latest` diff --git a/source/developers/websocket_api.markdown b/source/developers/websocket_api.markdown index 4f226bc668b..76f7f0b0c7a 100644 --- a/source/developers/websocket_api.markdown +++ b/source/developers/websocket_api.markdown @@ -35,7 +35,7 @@ If you are not using the [`frontend`](/components/frontend/) in your setup then 1. Server can send results of previous commands. 1. Client or server disconnects session. -During the command phase, the client attaches a unique identifier to each message. The server will add this identifier to each message so that the client can link each message to it's origin. +During the command phase, the client attaches a unique identifier to each message. The server will add this identifier to each message so that the client can link each message to its origin. ## {% linkable_title Message format %} diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index 766e76eef2e..472503ae24c 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -The goal of this getting started guide is to install Hass.io on a Raspberry Pi 3. Hass.io is our own all in one solution that turns your Raspberry PI into the ultimate home automation hub. +The goal of this getting started guide is to install Hass.io on a Raspberry Pi 3. Hass.io is our own all in one solution that turns your Raspberry Pi into the ultimate home automation hub. Follow this guide if you want to easily get started with Home Assistant, or if you have no or little Linux experience. For advanced users, check our [alternative installation methods](/docs/installation/).