diff --git a/.textlintrc.json b/.textlintrc.json index 8d83be6ca3b..4121d5ca2ec 100644 --- a/.textlintrc.json +++ b/.textlintrc.json @@ -13,6 +13,7 @@ "ABB Solar PV", "ABB", "Abode", + "AC", "Acer", "Actiontec", "AdGuard Home", @@ -46,6 +47,7 @@ "APC Smart UPS", "apcupsd", "APNS", + "AppDaemon", "Apple iCloud", "Apple TV", "AppleScript", @@ -65,27 +67,43 @@ "AVM FRITZ!Box", "AWS", "Axis", + "BeagleBone", "Beckhoff", + "Belkin", + "Bluetooth", + "Bosch", "Bravia", "BSSID", + "CalDAV", + "CardDAV", "Cisco IOS", + "Daikin", + "Danfoss", "Dark Sky", "Debian", "deCONZ", "DNS", "Docker Hub", "Docker", + "DSMR", "ecobee", + "Efergy", "Elgato Key Light", "Elgato", "Emoncms", "Entur", + "EPH Controls", + "eQ-3 MAX\\!", + "eQ-3", "ESPHome", + "Essent", "Everspring", "FFmpeg", "Fibaro", + "Flexit", "FreeNAS", "FRITZ!Box", + "Genius Hub", "GitHub", "Google Assistant", "Google Home", @@ -93,6 +111,8 @@ "Google", "GraphiQL", "GraphQL", + "Growatt", + "Heatmiser", "Home Assistant Companion", "Home Assistant Core", "Home Assistant Operating System", @@ -101,9 +121,11 @@ "Home Assistant Supervisor", "Home Assistant", "HomeKit", + "Homematic", "Honeywell", "HTTP", "HTTPS", + "HVAC", "iCloud", "IFTTT", "IKEA", @@ -111,11 +133,17 @@ "iOS", "IoT", "IP", + "iPad", + "iPhone", "ISY994", "iTunes", + "JSON-RPC", "JSON", + "JuiceNet", "Kafka", "KEF", + "KNX", + "LaCrosse", "LED", "Let's Encrypt", "Life360", @@ -123,6 +151,7 @@ "Linky", "Linux", "Lovelace", + "LTE", "MacBook", "macOS", "Markdown", @@ -131,31 +160,48 @@ "MIME", "MJPEG", "MQTT", + "MySensors", "NAS", + "NETGEAR", "Network Information Server", "NGINX", "NodeMCU", "Norway", + "NuHeat", + "NZBGet", + "OpenTherm", "OpenWrt", "PayPal", "PDU", + "Philips Hue", "Philips", "PlayStation", "Plex Media Server", "Plex", "PTZ", + "pyLoad", + "Python", + "qBittorrent", + "Radarr", + "Raspberry Pi", + "Remember The Milk", "REST API", "RFXtrx", "RouterOS", + "rTorrent", "RTSP", + "SABnzbd", "Samung", + "Sensibo", "Sentry", + "Siemens", "Signal Messenger", "SkyBell", "Slack", "SleepIQ", "SmartThings", "SMS", + "Sonarr", "Sonos", "Sony", "Spotify", @@ -169,8 +215,10 @@ "Sure Petcare", "SwitchBot", "Synology", + "Tado", "Tahoma", "TCP/IP", + "TensorFlow", "Tesla", "TMB", "Todoist", @@ -201,11 +249,15 @@ "VIVOTEK", "Vizio", "Vultr", + "WebDAV", + "WeMo", "Wink", "WLED", "Wunderlist", "WWLLN", "Xiaomi", + "XML-RPC", + "XML", "Yamaha MusicCast", "Yamaha", "YAML", @@ -223,32 +275,42 @@ ["2 ?steps? authentication", "two-step authentication"], ["Alarm ?dot ?com", "Alarm.com"], ["an URL", "a URL"], + ["analyse", "analyze"], ["API['’]?s", "APIs"], ["backwards compatible", "backward compatible"], + ["behaviour", "behavior"], + ["cancelled", "canceled"], ["client ?side", "client-side"], ["colour", "color"], + ["config\\b", "configuration"], ["DarkSky", "Dark Sky"], ["end ?to ?end", "end-to-end"], ["FRITZ!? ?Box", "FRITZ!Box"], + ["grey", "gray"], ["hass", "Home Assistant"], ["he or she", "they"], ["he/she", "they"], ["Home-?Ass?s?iss?tt?ant", "Home Assistant"], ["ISY ?994", "ISY994"], + ["licence", "license"], + ["licences", "licenses"], ["Mac ?OS", "macOS"], + ["millimetre", "millimeter"], + ["motorised", "motorized"], + ["optimising", "optimizing"], ["OS ?X", "macOS"], + ["RaspberryPi", "Raspberry Pi"], + ["recognise", "recognize"], + ["recognised", "recognized"], ["repo\\b", "repository"], - ["config\\b", "configuration"], + ["rpi", "Raspberry Pi"], ["Sky Bell", "SkyBell"], ["Sleep IQ", "SleepIQ"], - ["Twill?o", "Twilio"], - ["analyse", "analyze"], - ["recognise", "recognize"], ["travelled", "traveled"], - ["licence", "license"], - ["behaviour", "behavior"], + ["Twill?o", "Twilio"], ["two ?steps? authentication", "two-step authentication"], ["URL['’]?s", "URLs"], + ["XMLRPC", "XML-RPC"], ["ZWave", "Z-Wave"] ] } diff --git a/source/_docs/asterisk_mbox.markdown b/source/_docs/asterisk_mbox.markdown index 05fe5a34bcc..8c6ba581112 100644 --- a/source/_docs/asterisk_mbox.markdown +++ b/source/_docs/asterisk_mbox.markdown @@ -25,14 +25,14 @@ Before beginning make sure that you have the following: - A functional Asterisk PBX setup which is using the default `voicemail` application. - Both Home Assistant and Asterisk PBX running on the same LAN (or the same server). - The Asterisk PBX server has Python 3.5 or newer installed. -- Administrator access on the Asterisk PBX (for python module installation). +- Administrator access on the Asterisk PBX (for Python module installation). - Account access to the `asterisk` user that runs the Asterisk PBX software. ### Installation 1. Apply for a Google API key to enable speech-transcription services -2. Install the `asterisk_mbox_server` python module: +2. Install the `asterisk_mbox_server` Python module: ```bash pip3 install asterisk_mbox_server diff --git a/source/_docs/ecosystem/appdaemon.markdown b/source/_docs/ecosystem/appdaemon.markdown index fbaffb82e9f..59a6d36d097 100644 --- a/source/_docs/ecosystem/appdaemon.markdown +++ b/source/_docs/ecosystem/appdaemon.markdown @@ -4,7 +4,7 @@ description: "AppDaemon is a loosely coupled, multithreaded, sandboxed Python ex redirect_from: /ecosystem/appdaemon/ --- -AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant. +AppDaemon is a loosely coupled, multithreaded, sandboxed Python execution environment for writing automation apps for Home Assistant. # Another Take on Automation diff --git a/source/_docs/ecosystem/appdaemon/api.markdown b/source/_docs/ecosystem/appdaemon/api.markdown index cf135c6046d..1cdd701f14f 100644 --- a/source/_docs/ecosystem/appdaemon/api.markdown +++ b/source/_docs/ecosystem/appdaemon/api.markdown @@ -364,7 +364,7 @@ There are 3 types of callbacks within AppDaemon: - State Callbacks - react to a change in state - Scheduler Callbacks - react to a specific time or interval -- Event Callbacks - react to specific Home Assistant and Appdaemon events. +- Event Callbacks - react to specific Home Assistant and AppDaemon events. All callbacks allow the user to specify additional parameters to be handed to the callback via the standard Python `**kwargs` mechanism for greater flexibility. @@ -1712,7 +1712,7 @@ if self.noone_home(): ### time() -Returns a python `time` object representing the current time. Use this in preference to the standard Python ways to discover the current time, especially when using the "Time Travel" feature for testing. +Returns a Python `time` object representing the current time. Use this in preference to the standard Python ways to discover the current time, especially when using the "Time Travel" feature for testing. #### Synopsis @@ -1736,7 +1736,7 @@ now = self.time() ### date() -Returns a python `date` object representing the current date. Use this in preference to the standard Python ways to discover the current date, especially when using the "Time Travel" feature for testing. +Returns a Python `date` object representing the current date. Use this in preference to the standard Python ways to discover the current date, especially when using the "Time Travel" feature for testing. #### Synopsis @@ -1760,7 +1760,7 @@ today = self.date() ### datetime() -Returns a python `datetime` object representing the current date and time. Use this in preference to the standard Python ways to discover the current time, especially when using the "Time Travel" feature for testing. +Returns a Python `datetime` object representing the current date and time. Use this in preference to the standard Python ways to discover the current time, especially when using the "Time Travel" feature for testing. #### Synopsis @@ -2130,4 +2130,4 @@ $ appdaemon -s "2016-06-06 19:16:00" -s "2016-06-06 20:16:00" -t 0 ### A Note on Times -Some Apps you write may depend on checking times of events relative to the current time. If you are time traveling this will not work if you use standard python library calls to get the current time and date etc. For this reason, always use the AppDamon supplied `time()`, `date()` and `datetime()` calls, documented earlier. These calls will consult with AppDaemon's internal time rather than the actual time and give you the correct values. +Some Apps you write may depend on checking times of events relative to the current time. If you are time traveling this will not work if you use standard Python library calls to get the current time and date etc. For this reason, always use the AppDamon supplied `time()`, `date()` and `datetime()` calls, documented earlier. These calls will consult with AppDaemon's internal time rather than the actual time and give you the correct values. diff --git a/source/_docs/ecosystem/appdaemon/configuration.markdown b/source/_docs/ecosystem/appdaemon/configuration.markdown index 785cf0728fd..599a8fa9af4 100644 --- a/source/_docs/ecosystem/appdaemon/configuration.markdown +++ b/source/_docs/ecosystem/appdaemon/configuration.markdown @@ -4,6 +4,6 @@ description: "AppDaemon Configuration" redirect_from: /ecosystem/appdaemon/configuration/ --- -the documentation for configuring Appdaemon can be found in its own documentation. +the documentation for configuring AppDaemon can be found in its own documentation. https://appdaemon.readthedocs.io/en/latest/CONFIGURE.html diff --git a/source/_docs/installation/raspberry-pi.markdown b/source/_docs/installation/raspberry-pi.markdown index 89b92ca9428..c25e90461a1 100644 --- a/source/_docs/installation/raspberry-pi.markdown +++ b/source/_docs/installation/raspberry-pi.markdown @@ -67,13 +67,13 @@ cd /srv/homeassistant python3 -m venv . source bin/activate ``` -Once you have activated the virtual environment (notice the prompt change to `(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $`) you will need to run the following command to install a required python package. +Once you have activated the virtual environment (notice the prompt change to `(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $`) you will need to run the following command to install a required Python package. ```bash python3 -m pip install wheel ``` -Once you have installed the required python package it is now time to install Home Assistant! +Once you have installed the required Python package it is now time to install Home Assistant! ```bash pip3 install homeassistant diff --git a/source/_docs/installation/synology.markdown b/source/_docs/installation/synology.markdown index 59cd1a28b20..306ff710362 100644 --- a/source/_docs/installation/synology.markdown +++ b/source/_docs/installation/synology.markdown @@ -180,7 +180,7 @@ esac ``` -Create links to python folders to make things easier in the future: +Create links to Python folders to make things easier in the future: ```bash # ln -s /volume1/@appstore/py3k/usr/local/bin/python3 python3 diff --git a/source/_docs/z-wave/control-panel.markdown b/source/_docs/z-wave/control-panel.markdown index 0822378bed0..8f82c1a1239 100644 --- a/source/_docs/z-wave/control-panel.markdown +++ b/source/_docs/z-wave/control-panel.markdown @@ -26,7 +26,7 @@ Here is where you [include and exclude](/docs/z-wave/adding/) Z-Wave devices fro * **Stop Network** stops the Z-Wave network * **Soft Reset** tells the controller to do a "soft reset." This is not supposed to lose any data, but different controllers can behave differently to a "soft reset" command, and may cause the Z-Wave network to hang. * **Test Network** tells the controller to send no-op commands to each node and measure the time for a response. In theory, this can also bring back nodes which have been marked "presumed dead". -* **Save Configuration** Saves the current cache of the network to zwcfg_[home_id].xml +* **Save Configuration** Saves the current cache of the network to `zwcfg_[home_id].xml`. ## Z-Wave Node Management diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown index 69b2ac6d322..d8a9d66bbdd 100644 --- a/source/_docs/z-wave/device-specific.markdown +++ b/source/_docs/z-wave/device-specific.markdown @@ -457,7 +457,7 @@ Press circle and plus simultaneously to wake up the device. -Once you've added the NanoMote to your Z-Wave network, you'll need to update your zwcfg_\*.xml file with the below xml data. Stop Home Assistant and open your zwcfg_\*.xml file (located in your configuration folder). Find the NanoMote device section and then its corresponding `CommandClass` section with id="91". Replace the entire CommandClass section with the below xml data. Save the file and restart Home Assistant. +Once you've added the NanoMote to your Z-Wave network, you'll need to update your `zwcfg_*.xml` file with the below XML data. Stop Home Assistant and open your `zwcfg_*.xml` file (located in your configuration folder). Find the NanoMote device section and then its corresponding `CommandClass` section with id="91". Replace the entire CommandClass section with the below XML data. Save the file and restart Home Assistant. ```xml diff --git a/source/_docs/z-wave/entities.markdown b/source/_docs/z-wave/entities.markdown index 830fcde6212..089ccf628f9 100644 --- a/source/_docs/z-wave/entities.markdown +++ b/source/_docs/z-wave/entities.markdown @@ -21,7 +21,7 @@ This is for a single purpose sensor, multi sensors are explained under Multi Sen Devices (usually sensors) that support the Alarm command class will create entities starting with `sensor`, and with some generic suffixes, and a suffix that relates to the supported alarm class. For example, the smoke detector `lounge` will have an entity `sensor.lounge_smoke`, and possibly also `sensor.lounge_alarm_type` and `sensor.lounge_alarm_level`. If the device creates a `binary_sensor` entity, it is recommended to use that rather then the `sensor` entity. -Note that the older Z-Wave alarm command class version 1 didn't have standardized types, and so each manufacturer specified their own version and type info. With Version 2 the alarm type was standardized to the below list. See the [openzwave alarm command class documents](https://github.com/OpenZWave/open-zwave/wiki/Alarm-Command-Class) for more info. You can see which version your sensor supports via the zwcfg_0x\*.xml file. An example with version 2 support: +Note that the older Z-Wave alarm command class version 1 didn't have standardized types, and so each manufacturer specified their own version and type info. With Version 2 the alarm type was standardized to the below list. See the [openzwave alarm command class documents](https://github.com/OpenZWave/open-zwave/wiki/Alarm-Command-Class) for more info. You can see which version your sensor supports via the `zwcfg_0x*.xml` file. An example with version 2 support: ```xml diff --git a/source/_integrations/bluetooth_le_tracker.markdown b/source/_integrations/bluetooth_le_tracker.markdown index e37cb796311..8a9f3634116 100644 --- a/source/_integrations/bluetooth_le_tracker.markdown +++ b/source/_integrations/bluetooth_le_tracker.markdown @@ -21,7 +21,7 @@ sudo apt install bluetooth Before you get started with this platform, please note that: - This platform is incompatible with Windows - - This platform requires access to the bluetooth stack, see [Rootless Setup section](#rootless-setup) for further information + - This platform requires access to the Bluetooth stack, see [Rootless Setup section](#rootless-setup) for further information To use the Bluetooth tracker in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/bluetooth_tracker.markdown b/source/_integrations/bluetooth_tracker.markdown index 98f853de28f..9f3b8dd4cb9 100644 --- a/source/_integrations/bluetooth_tracker.markdown +++ b/source/_integrations/bluetooth_tracker.markdown @@ -31,10 +31,10 @@ request_rssi: type: boolean default: false device_id: - description: The ID of the bluetooth adapter to be used by the tracker, e.g., use `0` for `hci0`, `1` for `hci1`, and so on. + description: The ID of the Bluetooth adapter to be used by the tracker, e.g., use `0` for `hci0`, `1` for `hci1`, and so on. required: false type: integer - default: "`-1` (The first available bluetooth adapter)" + default: "`-1` (The first available Bluetooth adapter)" {% endconfiguration %} In some cases it can be that your device is not discovered. In that case let your phone scan for Bluetooth devices while you restart Home Assistant. Just hit `Scan` on your phone all the time until Home Assistant is fully restarted and the device should appear in `known_devices.yaml`. diff --git a/source/_integrations/broadlink.markdown b/source/_integrations/broadlink.markdown index aef068f9f9e..d71d66f4f3f 100644 --- a/source/_integrations/broadlink.markdown +++ b/source/_integrations/broadlink.markdown @@ -495,7 +495,7 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro 4. Install Requirements - Run `pip install simplejson`. You must install simplejson in the same python version you will use to run the scripts. You can ensure that the current version is installed by attempting to install again and confirming that you see "Requirement already satisfied". + Run `pip install simplejson`. You must install `simplejson` in the same Python version you will use to run the scripts. You can ensure that the current version is installed by attempting to install again and confirming that you see "Requirement already satisfied". 5. Get the data from the device @@ -526,15 +526,15 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro 2. Install Requirements - Download and install Python 2.7 on your windows PC. - - Run `pip install simplejson`. You must install simplejson in the same python version you will use to run the scripts. You can ensure that the current version is installed by attempting to install again and confirming that you see "Requirement already satisfied". + - Run `pip install simplejson`. You must install `simplejson` in the same Python version you will use to run the scripts. You can ensure that the current version is installed by attempting to install again and confirming that you see "Requirement already satisfied". - Download and install [iBackup Viewer](https://www.imactools.com/iphonebackupviewer/). - Download [these](https://github.com/NightRang3r/Broadlink-e-control-db-dump) GitHub files. Make sure you place them in the \Python27 path in Windows. Be sure that the getBroadlinkSharedData.py from the download is in this directory. -3. Plug your iphone into your windows PC, open iTunes and create a non-encrypted backup of your device. +3. Plug your iPhone into your Windows PC, open iTunes and create a non-encrypted backup of your device. 4. Open iBackup viewer then select the iOS backup that you created. Navigate to the App icon and then scroll until you find e-control.app, select this. Select and extract the files jsonButton, jsonIrCode and jsonSublr; they will be located in the Documents/SharedData section. Put these in the same location as the getBroadlinkSharedData.py. -5. Now open a Command Prompt and navigate to the directory where the aforementioned files are located e.g. C:\Python27. Now run the command python getBroadlinkSharedData.py, you should see something like this: +5. Now open a Command Prompt and navigate to the directory where the aforementioned files are located e.g., `C:\Python27`. Now run the command `python getBroadlinkSharedData.py`, you should see something like this: ```bash C:\Python27>python getBroadlinkSharedData.py diff --git a/source/_integrations/caldav.markdown b/source/_integrations/caldav.markdown index fea972820d4..05a0d67d05b 100644 --- a/source/_integrations/caldav.markdown +++ b/source/_integrations/caldav.markdown @@ -1,5 +1,5 @@ --- -title: CalDav +title: CalDAV description: Instructions on how to integrate a WebDav calendar into Home Assistant. ha_category: - Calendar @@ -7,22 +7,22 @@ ha_iot_class: Cloud Polling ha_release: '0.60' --- -The `caldav` platform allows you to connect to your WebDav calendar and generate +The `caldav` platform allows you to connect to your WebDAV calendar and generate binary sensors. A different sensor will be created for each individual calendar, or you can specify custom calendars which match a criteria you define (more on that below). These sensors will be `on` if you have an on going event in that calendar or `off` if the event is later in time, or if there is no event at all. -The WebDav calendar get updated roughly every 15 minutes. +The WebDAV calendar get updated roughly every 15 minutes. ### Prerequisites -You need to have a CalDav server and credentials for it. This integration was +You need to have a CalDAV server and credentials for it. This integration was tested against [Baikal](http://sabre.io/baikal/) but any integration complying with the RFC4791 should work. [Nextcloud](https://nextcloud.com/) and [Owncloud](https://owncloud.org/) work fine. You might need some additional system packages to compile the -Python caldav library. On a Debian based system, install them by: +Python CalDAV library. On a Debian based system, install them by: ```bash $ sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev @@ -30,7 +30,7 @@ $ sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev ### Basic Setup -To integrate a WebDav calendar in Home Assistant, +To integrate a WebDAV calendar in Home Assistant, add the following section to your `configuration.yaml` file: ```yaml diff --git a/source/_integrations/climate.markdown b/source/_integrations/climate.markdown index ad8f8452f41..a7a4fba80ce 100644 --- a/source/_integrations/climate.markdown +++ b/source/_integrations/climate.markdown @@ -215,7 +215,7 @@ Turn climate device on. This is only supported if the climate device supports be ### Service `climate.turn_off` -Turn climate device off. This is only supported if the climate device has the hvac mode `off`. +Turn climate device off. This is only supported if the climate device has the HVAC mode `off`. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | diff --git a/source/_integrations/daikin.markdown b/source/_integrations/daikin.markdown index 5516f98fbbf..621834f0299 100644 --- a/source/_integrations/daikin.markdown +++ b/source/_integrations/daikin.markdown @@ -26,7 +26,7 @@ There is currently support for the following device types within Home Assistant: ## Supported hardware - The European versions of the Wifi Controller Unit (BRP069A41, 42, 43, 45), which is powered by the [Daikin Online Controller](https://play.google.com/store/apps/details?id=eu.daikin.remoapp) application. The new versions of WiFi Controller Unit (BRP069Bxx) also should work but it have to be confirmed by users. Tested and working device is BRP069B45. -- The Australian version of the Daikin Wifi Controller Unit BRP072A42. Confirmed working on a Daikin Cora Series Reverse Cycle Split System Air Conditioner 2.5kW Cooling FTXM25QVMA with operation mode, temp, fan swing (3d, horizontal, vertical) which is powered by the [DAIKIN Mobile Controller](https://itunes.apple.com/au/app/daikin-mobile-controller/id917168708?mt=8) ([Android version](https://play.google.com/store/apps/details?id=eu.daikin.remoapp)) application. +- The Australian version of the Daikin Wifi Controller Unit BRP072A42. Confirmed working on a Daikin Cora Series Reverse Cycle Split System Air Conditioner 2.5kW Cooling FTXM25QVMA with operation mode, temp, fan swing (3d, horizontal, vertical) which is powered by the [Daikin Mobile Controller](https://itunes.apple.com/au/app/daikin-mobile-controller/id917168708?mt=8) ([Android version](https://play.google.com/store/apps/details?id=eu.daikin.remoapp)) application. - The Australian version of the Daikin Wifi Controller for **AirBase** units (BRP15B61), which is powered by the [Daikin Airbase](https://play.google.com/store/apps/details?id=au.com.daikin.airbase) application. ## Configuration diff --git a/source/_integrations/deconz.markdown b/source/_integrations/deconz.markdown index fdead68dbb1..68ae500ee7f 100644 --- a/source/_integrations/deconz.markdown +++ b/source/_integrations/deconz.markdown @@ -230,9 +230,9 @@ automation: {% endraw %} -### Appdaemon +### AppDaemon -#### Appdaemon event helper +#### AppDaemon event helper Helper app that creates a sensor `sensor.deconz_event` with a state that represents the id from the last event and an attribute to show the event data. @@ -277,7 +277,7 @@ class DeconzHelper(hass.Hass): Note: the event will not be visible before one event gets sent. -#### Appdaemon remote template +#### AppDaemon remote template {% raw %} @@ -313,7 +313,7 @@ class RemoteControl(hass.Hass): {% endraw %} -#### Appdaemon IKEA Tradfri remote template +#### AppDaemon IKEA Tradfri remote template Community app from [Teachingbirds](https://community.home-assistant.io/u/teachingbirds/summary). This app uses an IKEA Tradfri remote to control Sonos speakers with play/pause, volume up and down, next and previous track. diff --git a/source/_integrations/decora.markdown b/source/_integrations/decora.markdown index d4ad3028714..566f15c131f 100644 --- a/source/_integrations/decora.markdown +++ b/source/_integrations/decora.markdown @@ -31,7 +31,7 @@ devices: keys: mac_address: required: true - description: The bluetooth address of the switch. + description: The Bluetooth address of the switch. type: list keys: name: diff --git a/source/_integrations/discovery.markdown b/source/_integrations/discovery.markdown index feed89e53af..ba492edc60c 100644 --- a/source/_integrations/discovery.markdown +++ b/source/_integrations/discovery.markdown @@ -22,7 +22,7 @@ Home Assistant can discover and automatically configure [zeroconf](https://en.wi * [Linn / Openhome](/integrations/openhome) * [Logitech Harmony Hub](/integrations/harmony) * [Logitech media server (Squeezebox)](/integrations/squeezebox) - * [Netgear routers](/integrations/netgear) + * [NETGEAR routers](/integrations/netgear) * [Panasonic Viera](/integrations/panasonic_viera) * [Philips Hue](/integrations/hue) * [Plex Media Server](/integrations/plex#media-player) @@ -81,7 +81,7 @@ Valid values for ignore are: * `harmony`: Logitech Harmony Hub * `igd`: Internet Gateway Device * `logitech_mediaserver`: Logitech media server (Squeezebox) - * `netgear_router`: Netgear routers + * `netgear_router`: NETGEAR routers * `octoprint`: Octoprint * `openhome`: Linn / Openhome * `panasonic_viera`: Panasonic Viera diff --git a/source/_integrations/dlna_dmr.markdown b/source/_integrations/dlna_dmr.markdown index d7031865e9d..b6eaba0fd22 100644 --- a/source/_integrations/dlna_dmr.markdown +++ b/source/_integrations/dlna_dmr.markdown @@ -25,7 +25,7 @@ media_player: {% configuration %} url: - description: The URL to the device description .xml file, e.g., `http://192.168.0.10:9197/description.xml`. + description: The URL to the device description XML file, e.g., `http://192.168.0.10:9197/description.xml`. required: true type: string listen_ip: diff --git a/source/_integrations/doods.markdown b/source/_integrations/doods.markdown index e0ba3775c23..8d927615bb4 100644 --- a/source/_integrations/doods.markdown +++ b/source/_integrations/doods.markdown @@ -16,7 +16,7 @@ You need to have DOODS running somewhere. It's easiest to run as a Docker contai ## Configuration -The configuration loosely follows the tensorflow configuration. To enable this platform in your installation, add the following to your `configuration.yaml` file: +The configuration loosely follows the TensorFlow configuration. To enable this platform in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/eddystone_temperature.markdown b/source/_integrations/eddystone_temperature.markdown index 6041b40bda9..2fee3c7045c 100644 --- a/source/_integrations/eddystone_temperature.markdown +++ b/source/_integrations/eddystone_temperature.markdown @@ -19,7 +19,7 @@ As this platform uses `bluez` to scan for Bluetooth LE devices **a Linux OS with sudo apt-get install libbluetooth-dev ``` -Scanning for Bluetooth LE devices also requires special permissions. To grant these to the python executable execute the following: +Scanning for Bluetooth LE devices also requires special permissions. To grant these to the Python executable execute the following: ```bash sudo apt-get install libcap2-bin diff --git a/source/_integrations/efergy.markdown b/source/_integrations/efergy.markdown index 725ccc2e194..1a8c255665b 100644 --- a/source/_integrations/efergy.markdown +++ b/source/_integrations/efergy.markdown @@ -14,7 +14,7 @@ Integrate your [Efergy](https://efergy.com) meter information into Home Assistan To get an app token: -1. Log in to your efergy account +1. Log in to your Efergy account 2. Go to the Settings page 3. Click on App tokens 4. Click "Add token" @@ -69,7 +69,7 @@ monitored_variables: amount: description: The amount of energy consumed over a given period. current_values: - description: This returns the current energy usage of each device on your account, as `efergy_\`. If you only have one device in your account, this is effectively the same as instant_readings. + description: This returns the current energy usage of each device on your account. If you only have one device in your account, this is effectively the same as `instant_readings`. period: description: Some variables take a period argument. Valid options are "day", "week", "month", and "year". required: false diff --git a/source/_integrations/ffmpeg.markdown b/source/_integrations/ffmpeg.markdown index 61ca3b6948f..e89bd511916 100644 --- a/source/_integrations/ffmpeg.markdown +++ b/source/_integrations/ffmpeg.markdown @@ -37,7 +37,7 @@ ffmpeg_bin: {% endconfiguration %} ### Raspbian Debian Jessie Lite Installations -To get the binary on Raspbian Debian Jessie Lite on a RPi you need to perform the following: +To get the binary on Raspbian Debian Jessie Lite on a Raspberry Pi you need to perform the following: ```bash sudo echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list diff --git a/source/_integrations/generic_thermostat.markdown b/source/_integrations/generic_thermostat.markdown index ae4ec732e2f..0a560fb39e3 100644 --- a/source/_integrations/generic_thermostat.markdown +++ b/source/_integrations/generic_thermostat.markdown @@ -87,7 +87,7 @@ precision: Time for `min_cycle_duration` and `keep_alive` must be set as "hh:mm:ss" or it must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`. Alternatively, it can be an integer that represents time in seconds. -Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' hvac modes. You can force your `generic_thermostat` to avoid starting by setting HVAC mode to 'off'. +Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' HVAC modes. You can force your `generic_thermostat` to avoid starting by setting HVAC mode to 'off'. Please note that when changing the preset mode to away, you will force a target temperature change as well that will get restored once the preset mode is set to none again. diff --git a/source/_integrations/glances.markdown b/source/_integrations/glances.markdown index 362b6444430..2bd6b8fb9ea 100644 --- a/source/_integrations/glances.markdown +++ b/source/_integrations/glances.markdown @@ -24,7 +24,7 @@ $ sudo glances -w Glances web server started on http://0.0.0.0:61208/ ``` -Check if you are able to access the API located at `http://IP_ADRRESS:61208/api/3`. Don't use `-s` as this will start the XMLRPC server on port 61209. Home Assistant only supports the REST API of GLANCES. +Check if you are able to access the API located at `http://IP_ADRRESS:61208/api/3`. Don't use `-s` as this will start the XML-RPC server on port 61209. Home Assistant only supports the REST API of GLANCES. The details about your memory usage is provided as a JSON response. If so, you are good to proceed. diff --git a/source/_integrations/heatmiser.markdown b/source/_integrations/heatmiser.markdown index 0064cb994b0..be9600c0a93 100644 --- a/source/_integrations/heatmiser.markdown +++ b/source/_integrations/heatmiser.markdown @@ -12,7 +12,7 @@ ha_codeowners: The `heatmiser` climate platform let you control [Heatmiser DT/DT-E/PRT/PRT-E](https://www.heatmisershop.co.uk/room-thermostats/) thermostats from Heatmiser. The module itself is currently setup to work over a RS232 -> RS485 converter, therefore it connects over IP. -Further work would be required to get this setup to connect over Wifi, but the HeatmiserV3 python module being used is a full implementation of the V3 protocol. +Further work would be required to get this setup to connect over Wi-Fi, but the HeatmiserV3 Python module being used is a full implementation of the V3 protocol. To set it up, add the following information to your `configuration.yaml` file: diff --git a/source/_integrations/homematic.markdown b/source/_integrations/homematic.markdown index 52b2438c1df..60e9c1e2d3f 100644 --- a/source/_integrations/homematic.markdown +++ b/source/_integrations/homematic.markdown @@ -44,7 +44,7 @@ Since CCU Version 3, the internal firewalls are enabled by default. You have to If you want to see if a specific device you have is supported, head over to the [pyhomematic](https://github.com/danielperna84/pyhomematic/tree/master/pyhomematic/devicetypes) repository and browse through the source code. A dictionary with the device identifiers (e.g., HM-Sec-SC-2) can be found within the relevant modules near the bottom. If your device is not supported, feel free to contribute. We automatically detect all devices we currently support and try to generate useful names. If you enable name-resolving, we try to fetch names from Metadata (Homegear), via JSON-RPC or the XML-API you may have installed on your CCU. Since this may fail this is disabled by default. -You can manually rename the created entities by using Home Assistant's [Customizing](/docs/configuration/customizing-devices/) feature. With it you are also able to hide entities you don't want to see in the UI. The HomeMatic integration is also supported by the [Entity Registry](https://developers.home-assistant.io/docs/en/entity_registry_index.html), which allows you to change the friendly name and the entity ID directly in the Home Assistant UI. +You can manually rename the created entities by using Home Assistant's [Customizing](/docs/configuration/customizing-devices/) feature. With it you are also able to hide entities you don't want to see in the UI. The Homematic integration is also supported by the [Entity Registry](https://developers.home-assistant.io/docs/en/entity_registry_index.html), which allows you to change the friendly name and the entity ID directly in the Home Assistant UI. To set up the component, add the following information to your `configuration.yaml` file: @@ -223,7 +223,7 @@ The values of variables are polled from the CCU/Homegear in an interval of 30 se ### Events -When HomeMatic devices change their state or some other internal value, the CCU/Homegear sends event messages to Home Assistant. These events are automatically parsed and the entities in Home Assistant are updated. However, you can also manually use these events to trigger automations. Two event-types are available: +When Homematic devices change their state or some other internal value, the CCU/Homegear sends event messages to Home Assistant. These events are automatically parsed and the entities in Home Assistant are updated. However, you can also manually use these events to trigger automations. Two event-types are available: - **homematic.keypress**: For devices with buttons, see information below - **homematic.impulse**: For impulse sensors @@ -263,9 +263,9 @@ You can test whether your button works within Home Assistant if you look at the It may happen that "your_nice_name" is not resolved correctly; the according message (#2 in the above example) will be missing. This might be due to secure communication between your HM interface and the HM device. You can change the communication from "secure" to "standard" within your HM-interface to solve that issue (in "Einstellungen" - "Geräte" find your device and change "Übertragungsmodus" from secure to standard) - not recommended for devices that should have secure communication. -#### `homematic.keypress` events for HomeMatic IP devices +#### `homematic.keypress` events for Homematic IP devices -To get the `homematic.keypress` event for some HomeMatic IP devices like WRC2 / WRC6 (wall switch) or SPDR (passage sensor) or the KRC4 (key ring remote control) you have to temporary create an empty program for each channel in the CCU: +To get the `homematic.keypress` event for some Homematic IP devices like WRC2 / WRC6 (wall switch) or SPDR (passage sensor) or the KRC4 (key ring remote control) you have to temporary create an empty program for each channel in the CCU: 1. In the menu of your CCU's admin panel go to `Programs and connections` > `Programs & CCU connection` 2. Go to `New` in the footer menu @@ -325,7 +325,7 @@ action: #### Advanced examples -If you are familiar with the internals of HomeMatic devices, you can manually set values on the devices. This can serve as a workaround if support for a device is currently not available, or only limited functionality has been implemented. +If you are familiar with the internals of Homematic devices, you can manually set values on the devices. This can serve as a workaround if support for a device is currently not available, or only limited functionality has been implemented. Using this service provides you direct access to the setValue-method of the primary connection. If you have multiple hosts, you may select the one hosting a specific device by providing the proxy-parameter with a value equivalent to the name you have chosen. In the example configuration from above `rf`, `wired` and `ip` would be valid values. Manually turn on a switch actor: @@ -402,7 +402,7 @@ action: #### Detecting lost connections -When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant will stop getting updates from devices. This may happen after rebooting the CCU for example. Due to the nature of the communication protocol this cannot be handled automatically, so you must call *homematic.reconnect* in this case. That's why it is usually a good idea to check if your HomeMatic integrations are still updated properly, in order to detect connection losses. This can be done in several ways through an automation: +When the connection to your Homematic CCU or Homegear is lost, Home Assistant will stop getting updates from devices. This may happen after rebooting the CCU for example. Due to the nature of the communication protocol this cannot be handled automatically, so you must call *homematic.reconnect* in this case. That's why it is usually a good idea to check if your Homematic integrations are still updated properly, in order to detect connection losses. This can be done in several ways through an automation: - If you have a sensor which you know will be updated frequently (e.g., an outdoor temperature sensor, voltage sensor or light sensor) you could set up a helper binary sensor and an automation like this: @@ -445,7 +445,7 @@ When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant wi obj.State(now); ``` - The HomeMatic CCU will execute all active programs which meet their conditions (none in this case) on every reboot. + The Homematic CCU will execute all active programs which meet their conditions (none in this case) on every reboot. 3. Set up a template sensor in Home Assistant, which contains the value of the system variable: diff --git a/source/_integrations/homematicip_cloud.markdown b/source/_integrations/homematicip_cloud.markdown index a0703020881..870a8897c17 100644 --- a/source/_integrations/homematicip_cloud.markdown +++ b/source/_integrations/homematicip_cloud.markdown @@ -121,7 +121,7 @@ Within this delay the device registration should be completed in the App, otherw * Floor Heating Actuator – 10x channels, 230V (*HMIP-FAL230-C10*) * Floor Heating Actuator – 6x channels, 24V (*HMIP-FAL24-C6*) * Floor Heating Actuator – 10x channels, 24V (*HMIP-FAL24-C10*) - * Floor Heating Actuator – 12x channels, motorised (*HMIP-FALMOT-C12*) + * Floor Heating Actuator – 12x channels, motorized (*HMIP-FALMOT-C12*) * homematicip_cloud.cover * Shutter actuator for brand-mount (*HmIP-BROLL*) diff --git a/source/_integrations/image_processing.markdown b/source/_integrations/image_processing.markdown index ab00a547f39..4c78e8c67b1 100644 --- a/source/_integrations/image_processing.markdown +++ b/source/_integrations/image_processing.markdown @@ -54,7 +54,7 @@ automation: The following event attributes will be present (platform-dependent): `entity_id`, `name`, `confidence`, `age`, `gender`, `motion`, `glasses` -## scan_interval and Optimising Resources +## scan_interval and optimizing Resources Image processing integrations process the image from a camera at a fixed period given by the `scan_interval`. This leads to excessive processing if the image on the camera hasn't changed, as the default `scan_interval` is 10 seconds. You can override this by adding to your configuration `scan_interval: 10000` (setting the interval to 10,000 seconds), and then call the `image_processing.scan` service when you actually want to perform processing. diff --git a/source/_integrations/juicenet.markdown b/source/_integrations/juicenet.markdown index 9c23e753381..ea7a6ab5c50 100644 --- a/source/_integrations/juicenet.markdown +++ b/source/_integrations/juicenet.markdown @@ -38,7 +38,7 @@ The `juicenet` sensor platform allows you to get data from your [JuiceNet](https ### Added sensors -These sensors will be added for each juicenet device in your account: +These sensors will be added for each JuiceNet device in your account: - Status - Temperature (inside the device) diff --git a/source/_integrations/keyboard.markdown b/source/_integrations/keyboard.markdown index 6731612aa71..0aa71836b3b 100644 --- a/source/_integrations/keyboard.markdown +++ b/source/_integrations/keyboard.markdown @@ -34,4 +34,4 @@ pip3 install [package name] x64 Windows users may have trouble installing pywin through pip. Using an [executable installer](https://sourceforge.net/projects/pywin32/files/pywin32/) should work around this issue. -[Similar installers](https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook) (unofficial) for pyhook have been ported to python 3.4 and should help with x64 pip issues with pyhook. +[Similar installers](https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook) (unofficial) for pyhook have been ported to Python 3.4 and should help with x64 pip issues with pyhook. diff --git a/source/_integrations/keyboard_remote.markdown b/source/_integrations/keyboard_remote.markdown index 4c58c8d2531..69e928ebfd8 100644 --- a/source/_integrations/keyboard_remote.markdown +++ b/source/_integrations/keyboard_remote.markdown @@ -52,7 +52,7 @@ device_name: type: string {% endconfiguration %} -Either `device_name` or `device_descriptor` must be present in the configuration entry. Indicating a device name is useful in case of repeating disconnections and re-connections of the device (for example, a bluetooth keyboard): the local input device file might change, thus breaking the configuration, while the name remains the same. +Either `device_name` or `device_descriptor` must be present in the configuration entry. Indicating a device name is useful in case of repeating disconnections and re-connections of the device (for example, a Bluetooth keyboard): the local input device file might change, thus breaking the configuration, while the name remains the same. In case of presence of multiple devices of the same model, `device_descriptor` must be used. A list of possible device descriptors and names is reported in the debug log at startup when the device indicated in the configuration entry could not be found. @@ -96,7 +96,7 @@ automation: entity_id: light.all ``` -`device_descriptor` or `device_name` may be specificed in the trigger so the automation will be fired only for that keyboard. This is especially useful if you wish to use several bluetooth remotes to control different devices. Omit them to ensure the same key triggers the automation for all keyboards/remotes. +`device_descriptor` or `device_name` may be specificed in the trigger so the automation will be fired only for that keyboard. This is especially useful if you wish to use several Bluetooth remotes to control different devices. Omit them to ensure the same key triggers the automation for all keyboards/remotes. ## Disconnections diff --git a/source/_integrations/knx.markdown b/source/_integrations/knx.markdown index 69fb7dbab09..88b468bfcf9 100644 --- a/source/_integrations/knx.markdown +++ b/source/_integrations/knx.markdown @@ -138,7 +138,7 @@ payload: type: [integer, list] {% endconfiguration %} -### Exposing sensor values or time to knx bus +### Exposing sensor values or time to KNX bus KNX integration is able to expose time or sensor values to KNX bus. The integration will broadcast any change of the exposed value to the KNX bus and answer read requests to the specified group address: diff --git a/source/_integrations/lacrosse.markdown b/source/_integrations/lacrosse.markdown index 66aa1f2da55..bbc034a6ac3 100644 --- a/source/_integrations/lacrosse.markdown +++ b/source/_integrations/lacrosse.markdown @@ -96,7 +96,7 @@ sensor: ## Examples -To setup a lacrosse sensor with multiple sensors, add the following to your `configuration.yaml` file: +To setup a LaCrosse sensor with multiple sensors, add the following to your `configuration.yaml` file: {% raw %} ```yaml diff --git a/source/_integrations/light.knx.markdown b/source/_integrations/light.knx.markdown index 7df94c5cb68..ba9d102c38c 100644 --- a/source/_integrations/light.knx.markdown +++ b/source/_integrations/light.knx.markdown @@ -14,7 +14,7 @@ The `knx` integration must be configured correctly to use this integration, see -The `knx light` integration is used as an interface to control knx actuators for lighting applications such as: +The `knx light` integration is used as an interface to control KNX actuators for lighting applications such as: - switching actuators - dimming actuators diff --git a/source/_integrations/matrix.markdown b/source/_integrations/matrix.markdown index 7d66028403b..fa4ccd4e343 100644 --- a/source/_integrations/matrix.markdown +++ b/source/_integrations/matrix.markdown @@ -65,7 +65,7 @@ commands: required: false type: string expression: - description: "Specifies a regular expression (in python regexp syntax) that the bot should listen to. The bot will react to any message that matches the regular expression." + description: "Specifies a regular expression (in Python regexp syntax) that the bot should listen to. The bot will react to any message that matches the regular expression." required: false type: string name: diff --git a/source/_integrations/nest.markdown b/source/_integrations/nest.markdown index 28549686d42..3a8b098cc42 100644 --- a/source/_integrations/nest.markdown +++ b/source/_integrations/nest.markdown @@ -308,19 +308,19 @@ monitored_conditions: The following conditions are available by device: - Nest Home: - - eta: Estimated time of arrival. - - security\_state: `ok` or `deter`. [Security State](#security-state). Only available when Nest Camera exists. + - `eta`: Estimated time of arrival. + - `security_state`: `ok` or `deter`. [Security State](#security-state). Only available when Nest Camera exists. - Nest Thermostat: - - humidity - - preset\_mode - - temperature - - target - - hvac\_state: The currently active state of the HVAC system, `heat`, `cool` or `off` (previously `heating`, `cooling` or `off`). + - `humidity` + - `preset_mode` + - `temperature` + - `target` + - `hvac_state`: The currently active state of the HVAC system, `heat`, `cool` or `off` (previously `heating`, `cooling` or `off`). - Nest Protect: - - co\_status: `Ok`, `Warning` or `Emergency` - - smoke\_status: `Ok`, `Warning` or `Emergency` - - battery\_health: `Ok` or `Replace` - - color\_status: `gray`, `green`, `yellow` or `red`. Indicates device status by color in the Nest app UI. It is an aggregate condition for battery+smoke+CO states, and reflects the actual color indicators displayed in the Nest app. + - `co_status`: `Ok`, `Warning` or `Emergency` + - `smoke_status`: `Ok`, `Warning` or `Emergency` + - `battery_health`: `Ok` or `Replace` + - `color_status`: `gray`, `green`, `yellow` or `red`. Indicates device status by color in the Nest app UI. It is an aggregate condition for battery+smoke+CO states, and reflects the actual color indicators displayed in the Nest app. - Nest Camera: none ## Security State diff --git a/source/_integrations/netgear.markdown b/source/_integrations/netgear.markdown index 62e9d62b469..01e55ca0515 100644 --- a/source/_integrations/netgear.markdown +++ b/source/_integrations/netgear.markdown @@ -8,7 +8,7 @@ ha_iot_class: Local Polling ha_release: pre 0.7 --- -This platform allows you to detect presence by looking at connected devices to a [Netgear](https://www.netgear.com/) device. +This platform allows you to detect presence by looking at connected devices to a [NETGEAR](https://www.netgear.com/) device.
@@ -49,7 +49,7 @@ password: required: true type: string devices: - description: If provided only specified devices will be reported. Can be MAC address or the device name as reported in the Netgear UI. + description: If provided only specified devices will be reported. Can be MAC address or the device name as reported in the NETGEAR UI. required: false type: list exclude: @@ -67,6 +67,7 @@ When `accesspoints` is specified an extra device will be reported for each devic The use of `devices` or `exclude` is recommended when using `accesspoints` to avoid having a lot of entries. List of models that are known to use port 80: + - Nighthawk X4S - AC2600 (R7800) - Orbi - XR500 diff --git a/source/_integrations/netgear_lte.markdown b/source/_integrations/netgear_lte.markdown index 985bccd573b..c340dd6cb98 100644 --- a/source/_integrations/netgear_lte.markdown +++ b/source/_integrations/netgear_lte.markdown @@ -11,7 +11,7 @@ ha_category: ha_iot_class: Local Polling --- -The Netgear LTE integration for Home Assistant allows you to observe and control [Netgear LTE modems](https://www.netgear.com/home/products/mobile-broadband/lte-modems/default.aspx). +The NETGEAR LTE integration for Home Assistant allows you to observe and control [NETGEAR LTE modems](https://www.netgear.com/home/products/mobile-broadband/lte-modems/default.aspx). There is currently support for the following device types within Home Assistant: @@ -27,7 +27,6 @@ Splitting of long SMS messages is not supported so notifications can contain a m
- ## Configuration To enable the integration, add the following lines to your `configuration.yaml` file: @@ -184,6 +183,7 @@ This service can set modem configuration options (otherwise available in the mod The following automation example processes incoming SMS messages with the [Conversation](/integrations/conversation/) integration and then deletes the message from the inbox. {% raw %} + ```yaml automation: - alias: SMS conversation @@ -199,4 +199,5 @@ automation: host: '{{ trigger.event.data.host }}' sms_id: '{{ trigger.event.data.sms_id }}' ``` + {% endraw %} diff --git a/source/_integrations/onkyo.markdown b/source/_integrations/onkyo.markdown index 7f5d4d87459..7641cd3515e 100644 --- a/source/_integrations/onkyo.markdown +++ b/source/_integrations/onkyo.markdown @@ -88,7 +88,7 @@ If your source is not listed above, and you want to figure out how to format tha onkyo --host 192.168.0.100 source=query ``` -To find your receivers max volume use the onkyo-eiscp python module set the receiver to its maximum volume +To find your receivers max volume use the onkyo-eiscp Python module set the receiver to its maximum volume (don't do this whilst playing something!) and run: ```bash diff --git a/source/_integrations/openalpr_cloud.markdown b/source/_integrations/openalpr_cloud.markdown index cea6dd46ff2..ed50164be1c 100644 --- a/source/_integrations/openalpr_cloud.markdown +++ b/source/_integrations/openalpr_cloud.markdown @@ -8,7 +8,7 @@ ha_release: 0.36 --- [OpenALPR](https://www.openalpr.com/) integration for Home Assistant allows you -to process licences plates from a camera. You can use them to open a garage door +to process license plates from a camera. You can use them to open a garage door or trigger any other [automation](/integrations/automation/). For using the result inside an automation rule, diff --git a/source/_integrations/openalpr_local.markdown b/source/_integrations/openalpr_local.markdown index 39d02fc2182..25af79e4481 100644 --- a/source/_integrations/openalpr_local.markdown +++ b/source/_integrations/openalpr_local.markdown @@ -8,7 +8,7 @@ ha_release: 0.36 --- [OpenALPR](https://www.openalpr.com/) integration for Home Assistant allows you -to process licences plates from a camera. You can use them to open a garage door +to process license plates from a camera. You can use them to open a garage door or trigger any other [automation](/integrations/automation/). For using the result inside an automation rule, take a look at the diff --git a/source/_integrations/opencv.markdown b/source/_integrations/opencv.markdown index 2115d3009dd..e6ba96bb72d 100644 --- a/source/_integrations/opencv.markdown +++ b/source/_integrations/opencv.markdown @@ -30,7 +30,7 @@ image_processing: - **source** array (*Required*): List of image sources. - **entity_id** (*Required*): A camera entity id to get picture from. - **name** (*Optional*): This parameter allows you to override the name of your `image_processing` entity. -- **classifier** (*Optional*): Dictionary of name to path to the classifier xml file. If this field is not provided, a face classifier will be downloaded from OpenCV's GitHub repository. +- **classifier** (*Optional*): Dictionary of name to path to the classifier XML file. If this field is not provided, a face classifier will be downloaded from OpenCV's GitHub repository. **classifier** may also be defined as a dictionary of names to classifier configurations: @@ -42,6 +42,6 @@ image_processing: scale: 1.1f ``` -- **file** (*Required*): The path to the classifier xml file. +- **file** (*Required*): The path to the classifier XML file. - **scale** (*Optional*): The scale to perform when processing, this is a `float` value that must be greater than or equal to `1.0`, default is `1.1`. - **neighbors** (*Optional*): The minimum number of neighbors required for a match, default is `4`. The higher this number, the more picky the matching will be; lower the number, the more false positives you may experience. diff --git a/source/_integrations/opentherm_gw.markdown b/source/_integrations/opentherm_gw.markdown index 2af80d9b91c..c950c25b75d 100644 --- a/source/_integrations/opentherm_gw.markdown +++ b/source/_integrations/opentherm_gw.markdown @@ -513,8 +513,8 @@ Possible modes and their meaning for the GPIO pins are listed here: Possible LED modes and their meaning are listed here: -* R. Receiving an Opentherm message from the thermostat or boiler. -* X. Transmitting an Opentherm message to the thermostat or boiler. +* R. Receiving an OpenTherm message from the thermostat or boiler. +* X. Transmitting an OpenTherm message to the thermostat or boiler. * T. Transmitting or receiving a message on the thermostat interface. * B. Transmitting or receiving a message on the boiler interface. * O. Remote setpoint override is active. diff --git a/source/_integrations/otp.markdown b/source/_integrations/otp.markdown index d4a3ec4d983..ad9ae1b99d6 100644 --- a/source/_integrations/otp.markdown +++ b/source/_integrations/otp.markdown @@ -36,7 +36,7 @@ token: ## Generating a token -A simple way to generate a `token` for a new sensor is to run this snippet of python code in your Home Assistant virtual environment: +A simple way to generate a `token` for a new sensor is to run this snippet of Python code in your Home Assistant virtual environment: ```shell $ pip3 install pyotp diff --git a/source/_integrations/ps4.markdown b/source/_integrations/ps4.markdown index 3450aec70a1..c8ae4aa1851 100644 --- a/source/_integrations/ps4.markdown +++ b/source/_integrations/ps4.markdown @@ -88,7 +88,7 @@ To find your system Python path: whereis python3.5.3 ``` - The output which has the directory `/bin/` is likely your system python path which should look like this `/usr/bin/python3.5` + The output which has the directory `/bin/` is likely your system Python path which should look like this `/usr/bin/python3.5` - If Home Assistant is installed in a virtual environment, use terminal to `cd` to the root/top directory of your environment and run: diff --git a/source/_integrations/remote_rpi_gpio.markdown b/source/_integrations/remote_rpi_gpio.markdown index b86f279c628..d2d7cf01695 100644 --- a/source/_integrations/remote_rpi_gpio.markdown +++ b/source/_integrations/remote_rpi_gpio.markdown @@ -12,7 +12,7 @@ ha_iot_class: Local Push The `rpi_gpio` integration is the base for all related GPIO platforms in Home Assistant. For the platform configurations, please check their corresponding sections. -The remote RPi and the control computer where Home Assistant is running must be prepared to run remote_rpi_gpio, see details [here](https://gpiozero.readthedocs.io/en/stable/remote_gpio.html). +The remote Raspberry Pi and the control computer where Home Assistant is running must be prepared to run remote_rpi_gpio, see details [here](https://gpiozero.readthedocs.io/en/stable/remote_gpio.html). Note that for virtual environments you may need to set an environment variable when starting the environment to set the pin factory, example: diff --git a/source/_integrations/rtorrent.markdown b/source/_integrations/rtorrent.markdown index ab97991454f..63490bcea8c 100644 --- a/source/_integrations/rtorrent.markdown +++ b/source/_integrations/rtorrent.markdown @@ -1,6 +1,6 @@ --- title: rTorrent -description: Instructions on how to integrate rtorrent sensors within Home Assistant. +description: Instructions on how to integrate rTorrent sensors within Home Assistant. logo: rtorrent.png ha_category: - Downloading @@ -8,7 +8,7 @@ ha_release: 0.81 ha_iot_class: Local Polling --- -The `rtorrent` platform allows you to monitor your downloads with [rtorrent](https://rakshasa.github.io/rtorrent/) from within Home Assistant and setup automations based on the information. +The `rtorrent` platform allows you to monitor your downloads with [rTorrent](https://rakshasa.github.io/rtorrent/) from within Home Assistant and setup automations based on the information. To enable this sensor, add the following lines to your `configuration.yaml`: @@ -23,19 +23,19 @@ sensor: - 'upload_speed' ``` -This sensor requires the rtorrent XMLRPC API exposed on an HTTP interface. -Note that for security reasons, simply using the SCGI interface (default `localhost:5000`) of rtorrent won't work. +This sensor requires the rTorrent XML-RPC API exposed on an HTTP interface. +Note that for security reasons, simply using the SCGI interface (default `localhost:5000`) of rTorrent won't work. The [official reference](https://github.com/rakshasa/rtorrent/wiki/RPC-Setup-XMLRPC) describes how to set up that HTTP interface. Alternatively, the [arch-rtorrentvpn](https://github.com/binhex/arch-rtorrentvpn) container can be used with `url` set to `http://admin:rutorrent@127.0.0.1:9080/RPC2`. {% configuration %} url: - description: The URL to the HTTP endpoint of the rtorrent XMLRPC API. + description: The URL to the HTTP endpoint of the rTorrent XML-RPC API. required: true type: string name: - description: The name to use when displaying this rtorrent instance. + description: The name to use when displaying this rTorrent instance. required: false type: string monitored_variables: @@ -44,7 +44,7 @@ monitored_variables: type: list keys: current_status: - description: The status of your rtorrent daemon. + description: The status of your rTorrent daemon. download_speed: description: The current download speed. upload_speed: diff --git a/source/_integrations/sensor.modbus.markdown b/source/_integrations/sensor.modbus.markdown index 600eca91fbd..a1549c7f35f 100644 --- a/source/_integrations/sensor.modbus.markdown +++ b/source/_integrations/sensor.modbus.markdown @@ -109,7 +109,7 @@ registers: default: int type: string structure: - description: "If data_type is custom specify here a double quoted python struct format string to unpack the value. See python documentation for details. Ex: >i." + description: "If data_type is custom specify here a double quoted Python struct format string to unpack the value. See Python documentation for details. Ex: >i." required: false type: string {% endconfiguration %} diff --git a/source/_integrations/solax.markdown b/source/_integrations/solax.markdown index b5db11ff36b..349ffa98235 100644 --- a/source/_integrations/solax.markdown +++ b/source/_integrations/solax.markdown @@ -59,7 +59,7 @@ sensors: ### Note -Inverter models with newer firmware (and also those using devices like PocketWifi) no longer expose an API when connected to your wireless network, they do however continue to expose it on their own broadcasted SSID. To use this sensor in this case it is necessary to set up a reverse proxy with something like NGINX and use a raspberry pi (or similar) with two network connections (one being Wi-Fi that connects to the inverters SSID). +Inverter models with newer firmware (and also those using devices like PocketWifi) no longer expose an API when connected to your wireless network, they do however continue to expose it on their own broadcasted SSID. To use this sensor in this case it is necessary to set up a reverse proxy with something like NGINX and use a Raspberry Pi (or similar) with two network connections (one being Wi-Fi that connects to the inverters SSID). Example NGINX configuration diff --git a/source/_integrations/tado.markdown b/source/_integrations/tado.markdown index d66cc6bf56e..6e4e60285c6 100644 --- a/source/_integrations/tado.markdown +++ b/source/_integrations/tado.markdown @@ -17,13 +17,13 @@ The `tado` integration platform is used as an interface to the [my.tado.com](htt There is currently support for the following device types within Home Assistant: -- Climate - for every tado zone. +- Climate - for every Tado zone. - [Presence Detection](#presence-detection) - Sensor - for some additional information of the zones. ## Configuration -To use your tado thermostats in your installation, add the following to your `configuration.yaml` file: +To use your Tado thermostats in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -48,7 +48,7 @@ fallback: default: true {% endconfiguration %} -The tado thermostats are internet connected thermostats. There exists an unofficial API at [my.tado.com](https://my.tado.com/), which is used by their website and now by this component. +The Tado thermostats are internet connected thermostats. There exists an unofficial API at [my.tado.com](https://my.tado.com/), which is used by their website and now by this component. It currently supports presenting the current temperature, the setting temperature and the current operation mode. Switching the mode is also supported. If no user is at home anymore, the devices are showing the away-state. Switching to away-mode is not supported. diff --git a/source/_integrations/tensorflow.markdown b/source/_integrations/tensorflow.markdown index 551e1fccb0d..4fe8feb8f6d 100644 --- a/source/_integrations/tensorflow.markdown +++ b/source/_integrations/tensorflow.markdown @@ -95,10 +95,10 @@ model: type: string default: tensorflow/object_detection/data/mscoco_label_map.pbtxt model_dir: - description: Full path to tensorflow models directory. + description: Full path to TensorFlow models directory. required: false type: string - default: /tensorflow inside configuration + default: "`/tensorflow` inside configuration" area: description: Custom detection area. Only objects fully in this box will be reported. Top of image is 0, bottom is 1. Same left to right. required: false @@ -155,7 +155,7 @@ image_processing: - truck ``` -## Optimising resources +## Optimizing resources [Image processing components](/integrations/image_processing/) process the image from a camera at a fixed period given by the `scan_interval`. This leads to excessive processing if the image on the camera hasn't changed, as the default `scan_interval` is 10 seconds. You can override this by adding to your configuration `scan_interval: 10000` (setting the interval to 10,000 seconds), and then call the `image_processing.scan` service when you actually want to perform processing. @@ -171,7 +171,7 @@ image_processing: ```yaml # Example advanced automations.yaml entry -- alias: Tensorflow scanning +- alias: TensorFlow scanning trigger: - platform: state entity_id: diff --git a/source/_integrations/tikteck.markdown b/source/_integrations/tikteck.markdown index 5fdb5957cb8..c091a5fe2ff 100644 --- a/source/_integrations/tikteck.markdown +++ b/source/_integrations/tikteck.markdown @@ -25,7 +25,7 @@ light: {% configuration %} devices: - description: A list of devices with their bluetooth address. + description: A list of devices with their Bluetooth address. required: false type: list keys: diff --git a/source/_integrations/timer.markdown b/source/_integrations/timer.markdown index 9239df07f6d..b5e5d1b5789 100644 --- a/source/_integrations/timer.markdown +++ b/source/_integrations/timer.markdown @@ -54,11 +54,11 @@ Pick an icon that you can find on [materialdesignicons.com](https://materialdesi | Event | Description | | --------------- | ----------- | -| timer.cancelled | Fired when a timer has been canceled | -| timer.finished | Fired when a timer has completed | -| timer.started | Fired when a timer has been started| -| timer.restarted | Fired when a timer has been restarted | -| timer.paused | Fired when a timer has been paused | +| `timer.cancelled` | Fired when a timer has been canceled | +| `timer.finished` | Fired when a timer has completed | +| `timer.started` | Fired when a timer has been started| +| `timer.restarted` | Fired when a timer has been restarted | +| `timer.paused` | Fired when a timer has been paused | ## Services diff --git a/source/_integrations/tof.markdown b/source/_integrations/tof.markdown index 5ff221b1101..34a8e05480d 100644 --- a/source/_integrations/tof.markdown +++ b/source/_integrations/tof.markdown @@ -63,7 +63,7 @@ sensor: xshut: 16 ``` -Several devices may be attached and a GPIO port from RPI is used for reset. XSHUT signal is generated pulsing LOW at initialization and after that, it is kept HIGH all time. This version uses VL53L1X long-range mode that may reach up to 4 meters. +Several devices may be attached and a GPIO port from Raspberry Pi is used for reset. XSHUT signal is generated pulsing LOW at initialization and after that, it is kept HIGH all time. This version uses VL53L1X long-range mode that may reach up to 4 meters. ## Directions for installing i2c on Raspberry Pi diff --git a/source/_integrations/ubus.markdown b/source/_integrations/ubus.markdown index d132b58b54c..07a1a966782 100644 --- a/source/_integrations/ubus.markdown +++ b/source/_integrations/ubus.markdown @@ -104,7 +104,7 @@ logger: ```bash $ tail -f home-assistant.log | grep device_tracker ``` -4. If you see a python stack trace like the following, check your configuration for correct username/password. +4. If you see a Python stack trace like the following, check your configuration for correct username/password. ```txt 17-04-28 10:43:30 INFO (MainThread) [homeassistant.loader] Loaded device_tracker from homeassistant.components.device_tracker 17-04-28 10:43:30 INFO (MainThread) [homeassistant.loader] Loaded device_tracker.ubus from homeassistant.components.device_tracker.ubus diff --git a/source/_integrations/verisure.markdown b/source/_integrations/verisure.markdown index 1339d16f6a3..e6cb3bebcb7 100644 --- a/source/_integrations/verisure.markdown +++ b/source/_integrations/verisure.markdown @@ -90,7 +90,7 @@ code_digits: type: integer default: 4 giid: - description: The GIID of your installation (If you have more then one alarm system). To find the GIID for your systems run 'python verisure.py EMAIL PASSWORD installations'. + description: The GIID of your installation (If you have more then one alarm system). To find the GIID for your systems run `python verisure.py` EMAIL PASSWORD installations'. required: false type: string {% endconfiguration %} diff --git a/source/_integrations/wemo.markdown b/source/_integrations/wemo.markdown index 42edb2fa475..3762e7f78f2 100644 --- a/source/_integrations/wemo.markdown +++ b/source/_integrations/wemo.markdown @@ -21,13 +21,13 @@ There is currently support for the following device types within Home Assistant: - Binary Sensor - Fan (Belkin WeMo (Holmes) Smart Humidifier) - Light (Belkin WeMo LED lights and [Smart Dimmer Switch](https://www.belkin.com/us/F7C059-Belkin/p/P-F7C059/)) -- Switch ([Belkin WeMo Switches](https://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) and includes support for Wemo enabled [Mr. Coffee](https://www.mrcoffee.com/wemo-landing-page.html) smart coffee makers.) +- Switch ([Belkin WeMo Switches](https://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) and includes support for WeMo enabled [Mr. Coffee](https://www.mrcoffee.com/wemo-landing-page.html) smart coffee makers.) ## Configuration {% configuration %} discovery: - description: Setting this value to false will prevent the automatic discovery of WeMo devices by the wemo platform and the discovery platform (static devices will still be discovered) + description: Setting this value to false will prevent the automatic discovery of WeMo devices by the WeMo platform and the discovery platform (static devices will still be discovered) required: false type: boolean default: true diff --git a/source/_integrations/workday.markdown b/source/_integrations/workday.markdown index b09b454699c..33c5b66f255 100644 --- a/source/_integrations/workday.markdown +++ b/source/_integrations/workday.markdown @@ -12,7 +12,7 @@ ha_codeowners: --- The `workday` binary sensor indicates, whether the current day is a workday or not. It allows specifying, which days of the week counts as workdays and also -uses the python module [holidays](https://pypi.python.org/pypi/holidays) to incorporate information about region-specific public holidays. +uses the Python module [holidays](https://pypi.python.org/pypi/holidays) to incorporate information about region-specific public holidays. ## Setup @@ -88,7 +88,7 @@ binary_sensor: country: DE workdays: [mon, wed, fri] excludes: [sat, sun, holiday] - add_holidays: + add_holidays: - '2018-12-26' - '2018-12-31' ``` diff --git a/source/hassio/enable_i2c.markdown b/source/hassio/enable_i2c.markdown index 98986b6d378..4ac3a14928c 100644 --- a/source/hassio/enable_i2c.markdown +++ b/source/hassio/enable_i2c.markdown @@ -37,7 +37,7 @@ Format a USB stick with FAT32/EXT4/NTFS and name the drive `CONFIG` (uppercase). ### Step 3 - Load the new USB configuration -- Insert the USB drive into your Raspberry PI. +- Insert the USB drive into your Raspberry Pi. - Now go to your Home Assistant web interface, in the sidebar click **Hass.io** > **System**. - Now click `Import from USB`. - This will restart your Hass.io instance, and load the new USB configuration.