Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 68 additions & 6 deletions .textlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"ABB Solar PV",
"ABB",
"Abode",
"AC",
"Acer",
"Actiontec",
"AdGuard Home",
Expand Down Expand Up @@ -46,6 +47,7 @@
"APC Smart UPS",
"apcupsd",
"APNS",
"AppDaemon",
"Apple iCloud",
"Apple TV",
"AppleScript",
Expand All @@ -65,34 +67,52 @@
"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",
"Google Wifi",
"Google",
"GraphiQL",
"GraphQL",
"Growatt",
"Heatmiser",
"Home Assistant Companion",
"Home Assistant Core",
"Home Assistant Operating System",
Expand All @@ -101,28 +121,37 @@
"Home Assistant Supervisor",
"Home Assistant",
"HomeKit",
"Homematic",
"Honeywell",
"HTTP",
"HTTPS",
"HVAC",
"iCloud",
"IFTTT",
"IKEA",
"IntesisHome",
"iOS",
"IoT",
"IP",
"iPad",
"iPhone",
"ISY994",
"iTunes",
"JSON-RPC",
"JSON",
"JuiceNet",
"Kafka",
"KEF",
"KNX",
"LaCrosse",
"LED",
"Let's Encrypt",
"Life360",
"LinkedIn",
"Linky",
"Linux",
"Lovelace",
"LTE",
"MacBook",
"macOS",
"Markdown",
Expand All @@ -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",
Expand All @@ -169,8 +215,10 @@
"Sure Petcare",
"SwitchBot",
"Synology",
"Tado",
"Tahoma",
"TCP/IP",
"TensorFlow",
"Tesla",
"TMB",
"Todoist",
Expand Down Expand Up @@ -201,11 +249,15 @@
"VIVOTEK",
"Vizio",
"Vultr",
"WebDAV",
"WeMo",
"Wink",
"WLED",
"Wunderlist",
"WWLLN",
"Xiaomi",
"XML-RPC",
"XML",
"Yamaha MusicCast",
"Yamaha",
"YAML",
Expand All @@ -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"]
]
}
Expand Down
4 changes: 2 additions & 2 deletions source/_docs/asterisk_mbox.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion source/_docs/ecosystem/appdaemon.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
10 changes: 5 additions & 5 deletions source/_docs/ecosystem/appdaemon/api.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -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

Expand All @@ -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

Expand All @@ -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

Expand Down Expand Up @@ -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.
2 changes: 1 addition & 1 deletion source/_docs/ecosystem/appdaemon/configuration.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 2 additions & 2 deletions source/_docs/installation/raspberry-pi.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion source/_docs/installation/synology.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion source/_docs/z-wave/control-panel.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion source/_docs/z-wave/device-specific.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ Press circle and plus simultaneously to wake up the device.

<!-- from https://products.z-wavealliance.org/products/2817 -->

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
<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="4" innif="true" scenecount="0">
Expand Down
2 changes: 1 addition & 1 deletion source/_docs/z-wave/entities.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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
<CommandClass id="113" name="COMMAND_CLASS_ALARM" version="2" request_flags="2" innif="true">
Expand Down
2 changes: 1 addition & 1 deletion source/_integrations/bluetooth_le_tracker.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
4 changes: 2 additions & 2 deletions source/_integrations/bluetooth_tracker.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
Expand Down
Loading