mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-04-19 10:57:33 +00:00
Adds GitHub Action for Remark, fixes code flag on fences (#10475)
* Adds basics for adding Remark * Adds GitHub Action for remark * Adds GitHub Action for remark * Ensure all fenced code blocks have a code flag
This commit is contained in:
parent
3fd46529c7
commit
da5e1aad0e
20
.github/workflows/markdown.yml
vendored
Normal file
20
.github/workflows/markdown.yml
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
name: Markdown
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
remark:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checking out files from GitHub
|
||||
uses: actions/checkout@v1
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.x
|
||||
- name: Installing dependencies
|
||||
run: npm install
|
||||
env:
|
||||
CI: true
|
||||
- name: Running remark lint
|
||||
run: npm run markdown:lint
|
17
.remarkrc.js
Normal file
17
.remarkrc.js
Normal file
@ -0,0 +1,17 @@
|
||||
var remarkrc = {
|
||||
settings: {
|
||||
bullet: '-',
|
||||
commonmark: true,
|
||||
emphasis: '_',
|
||||
fence: '`',
|
||||
incrementListMarker: true,
|
||||
listItemIndent: 1,
|
||||
strong: '*'
|
||||
},
|
||||
plugins: [
|
||||
["frontmatter"],
|
||||
["lint-fenced-code-flag"]
|
||||
]
|
||||
};
|
||||
|
||||
module.exports = remarkrc;
|
@ -170,7 +170,7 @@ c. No term or condition of this Public License will be waived and no failure to
|
||||
|
||||
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
|
||||
|
||||
```
|
||||
```txt
|
||||
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
|
||||
|
||||
Creative Commons may be contacted at creativecommons.org
|
||||
|
1191
package-lock.json
generated
Normal file
1191
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
16
package.json
Normal file
16
package.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "home-assistant.io",
|
||||
"description": "Home Assistant Website & Documentation",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"remark-cli": "^7.0.0",
|
||||
"remark-frontmatter": "^1.3.2",
|
||||
"remark-lint": "^6.0.5",
|
||||
"remark-lint-fenced-code-flag": "^1.0.3",
|
||||
"remark-stringify": "^7.0.3"
|
||||
},
|
||||
"scripts": {
|
||||
"markdown:lint": "remark --quiet --frail ."
|
||||
}
|
||||
}
|
@ -17,7 +17,7 @@ The Snips add-on by default comes with an assistant that allows you to turn on l
|
||||
|
||||
If using a USB microphone and speakers plugged into the Raspberry Pi output, Snips will work without any change to the configuration. Trying saying things like:
|
||||
|
||||
```
|
||||
```txt
|
||||
Turn on kitchen light
|
||||
Open garage door
|
||||
What is on my shopping list
|
||||
|
@ -179,7 +179,7 @@ Assuming that you have flashed your ESP8266 unit with [ESPEasy](https://github.c
|
||||
|
||||
As soon as the unit is online, you will get the state of the attached button.
|
||||
|
||||
```
|
||||
```txt
|
||||
home/bathroom/status Connected
|
||||
...
|
||||
home/bathroom/switch/button 1
|
||||
|
@ -93,7 +93,7 @@ filename:
|
||||
|
||||
### Valid `location` values
|
||||
|
||||
```
|
||||
```txt
|
||||
Adelaide Albany AliceSprings Bairnsdale Bowen
|
||||
Brisbane Broome Cairns Canberra Carnarvon
|
||||
Ceduna Dampier Darwin Emerald Esperance
|
||||
|
@ -120,7 +120,7 @@ Consider to use the [`ping` sensor ](/components/binary_sensor.ping/) as an alte
|
||||
|
||||
The services running is listed in `/etc/systemd/system` and can be checked with the `systemctl` command:
|
||||
|
||||
```
|
||||
```bash
|
||||
$ systemctl is-active home-assistant@rock64.service
|
||||
active
|
||||
$ sudo service home-assistant@rock64.service stop
|
||||
|
@ -138,6 +138,6 @@ group:
|
||||
|
||||
Since the Enviro pHAT communicates over I2C, you might also need to make sure that the I2C devices are enabled, by adding or uncommenting the following line in `/boot/config.txt` (see the [DT Parameters section](https://www.raspberrypi.org/documentation/configuration/device-tree.md) in the Raspberry Pi documentation):
|
||||
|
||||
```
|
||||
```txt
|
||||
dtparam=i2c_arm=on
|
||||
```
|
||||
|
@ -79,7 +79,7 @@ Next, we need to edit the `jail.local` file that is included with the Let's Encr
|
||||
|
||||
Edit `/mnt/user/appdata/letsencrypt/fail2ban/jail.local` and append the following to the end of the file:
|
||||
|
||||
```
|
||||
```txt
|
||||
[hass-iptables]
|
||||
enabled = true
|
||||
filter = hass
|
||||
@ -92,7 +92,7 @@ maxretry = 5
|
||||
|
||||
Now we need to create a filter for `fail2ban` so that it can properly parse the log. This is done with a `failregex`. Create a file called `hass.local` within the `filter.d` directory in `/mnt/user/appdata/letsencrypt/fail2ban` and add the following:
|
||||
|
||||
```
|
||||
```txt
|
||||
[INCLUDES]
|
||||
before = common.conf
|
||||
|
||||
@ -109,7 +109,7 @@ datepattern = ^%%Y-%%m-%%d %%H:%%M:%%S
|
||||
|
||||
First, we need to make sure that fail2ban log can be passed to Home Assistant and that the Home Assistant log can be passed to fail2ban. When starting the Let's Encrypt docker, you need to add the following argument (adjust paths based on your setup):
|
||||
|
||||
```
|
||||
```txt
|
||||
/mnt/user/appdata/home-assistant:/hass
|
||||
```
|
||||
|
||||
@ -117,7 +117,7 @@ This will map the Home Assistant configuration directory to the Let's Encrypt do
|
||||
|
||||
Now do the same for the Home Assistant docker, but this time we'll be mapping the `fail2ban` log directory to Home Assistant so that the fail2ban sensor is able to read that log:
|
||||
|
||||
```
|
||||
```txt
|
||||
/mnt/user/appdata/letsencrypt/log/fail2ban:/fail2ban
|
||||
```
|
||||
|
||||
@ -191,7 +191,7 @@ If, after following these steps, you're unable to get the `fail2ban` sensor work
|
||||
- Add `logencoding = utf-8` to the `[hass-iptables]` entry
|
||||
- Ensure the `failregex` you added to `filter.d/hass.local` matches the output within `home-assistant.log`
|
||||
- Try changing the datepattern in `filter.d/hass/local` by adding the following entry (change the datepattern to fit your needs). [source](https://github.com/fail2ban/fail2ban/issues/174)
|
||||
```
|
||||
```txt
|
||||
[Init]
|
||||
datepattern = ^%%Y-%%m-%%d %%H:%%M:%%S
|
||||
```
|
||||
|
@ -48,7 +48,7 @@ $ sudo apt-get -t jessie-backports install ffmpeg
|
||||
|
||||
We can use now following in the configuration:
|
||||
|
||||
```
|
||||
```yaml
|
||||
ffmpeg:
|
||||
ffmpeg_bin: /usr/bin/ffmpeg
|
||||
```
|
||||
@ -59,7 +59,7 @@ In most cases, `ffmpeg` automatically detects all needed options to read a video
|
||||
|
||||
First, check that your stream is playable by `ffmpeg` outside of Home Assistant with (use option `-an` or `-vn` to disable video or audio stream):
|
||||
|
||||
```
|
||||
```bash
|
||||
$ ffmpeg -i INPUT -an -f null -
|
||||
```
|
||||
|
||||
|
@ -34,7 +34,7 @@ After you have registered your APP on your [My Apps Page](https://foursquare.com
|
||||
`REDIRECT_URL` which can be any URL you like, but since it will get your access token via an HTTP GET request, it should be a URL which will ignore the `access_token` HTTP GET variable. A good idea is to choose the URL of your Home Assistant.
|
||||
Visit the following URL in your browser:
|
||||
|
||||
```
|
||||
```txt
|
||||
https://foursquare.com/oauth2/authenticate?client_id=CLIENT_ID&response_type=token&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
|
||||
```
|
||||
|
||||
|
@ -94,7 +94,7 @@ So let's call the API on `habitica.api_call`.
|
||||
Combining all together:
|
||||
call `habitica.api_call` with data
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"name": "xxxNotAValidNickxxx",
|
||||
"path": ["tasks", "user", "post"],
|
||||
@ -108,7 +108,7 @@ This call will create a new todo on `xxxNotAValidNickxxx`'s account with text `U
|
||||
|
||||
Also an event `habitica_api_call_success` will be fired with the following data:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"name": "xxxNotAValidNickxxx",
|
||||
"path": ["tasks", "user", "post"],
|
||||
|
@ -80,7 +80,7 @@ automation:
|
||||
|
||||
To have the lights playing a effect when pausing, idle or turn off a media player like plex you can use this example:
|
||||
|
||||
```
|
||||
```yaml
|
||||
- alias: Set hyperion effect after playback
|
||||
trigger:
|
||||
- platform: state
|
||||
@ -101,7 +101,7 @@ To have the lights playing a effect when pausing, idle or turn off a media playe
|
||||
|
||||
To capture the screen when playing something of a media_player you can use this example:
|
||||
|
||||
```
|
||||
```yaml
|
||||
- alias: Set hyperion when playback starts
|
||||
trigger:
|
||||
- platform: state
|
||||
|
@ -120,7 +120,7 @@ state_updater:
|
||||
|
||||
In order to directly interact with the KNX bus, you can use the following service:
|
||||
|
||||
```
|
||||
```txt
|
||||
Domain: knx
|
||||
Service: send
|
||||
Service Data: {"address": "1/0/15", "payload": 0}
|
||||
|
@ -339,7 +339,7 @@ Whenever the address of a module or a group has to be specified, it can be addre
|
||||
|
||||
Example for modules:
|
||||
|
||||
```
|
||||
```txt
|
||||
connid.s000.m007
|
||||
connid.s0.m7
|
||||
s0.m7
|
||||
@ -348,7 +348,7 @@ s0.m7
|
||||
|
||||
Example for groups:
|
||||
|
||||
```
|
||||
```txt
|
||||
connid.s000.g007
|
||||
connid.s0.g7
|
||||
s0.g7
|
||||
|
@ -48,7 +48,7 @@ Example output
|
||||
|
||||
You will find an example below when the state is "on".
|
||||
|
||||
```
|
||||
```yaml
|
||||
attribution: Information provided by MeteoAlarm
|
||||
language: en-GB
|
||||
category: Met
|
||||
|
@ -110,7 +110,7 @@ The endpoint that is receiving the data is `http://[IP address Home Assistant]:8
|
||||
|
||||
With `api_password:`
|
||||
|
||||
```
|
||||
```bash
|
||||
$ curl -d "[action]=get://[IP address Home Assistant]:8123/api/mystrom?api_password%3D[api_password]%26[action]%3D[ID of the button]" \
|
||||
http://[IP address of the button]/api/v1/device/[MAC address of the button]
|
||||
```
|
||||
|
@ -72,7 +72,7 @@ Normally the `/sys/class/gpio` path is owned by root, so Home Assistant does not
|
||||
|
||||
Create a new file in `/etc/udev/rules.d/` named `10-gpio.rules` with the following contents:
|
||||
|
||||
```
|
||||
```txt
|
||||
SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c 'find -L /sys/class/gpio/ -maxdepth 2 -exec chown root:gpio {} \; -exec chmod 770 {} \; || true'"
|
||||
```
|
||||
|
||||
|
@ -163,7 +163,7 @@ Plays a song, playlist, TV episode, or video on a connected client.
|
||||
* At this moment, the Plex platform only supports one Plex Media Server.
|
||||
* It is possible to get errors that look like the following.
|
||||
|
||||
```
|
||||
```txt
|
||||
ERROR:plexapi:http://192.168.1.10:32400: ('Connection aborted.', BadStatusLine("''",))
|
||||
INFO:homeassistant.components.media_player.plex:No server found at: http://192.168.1.10:32400
|
||||
```
|
||||
|
@ -174,7 +174,7 @@ $ sudo nano /etc/systemd/system/home-assistant@homeassistant.service
|
||||
|
||||
and add the service for the database, for example, PostgreSQL:
|
||||
|
||||
```
|
||||
```txt
|
||||
[Unit]
|
||||
Description=Home Assistant
|
||||
After=network.target postgresql.service
|
||||
|
@ -95,7 +95,7 @@ When the Home Assistant Roku integration is enabled and has found a Roku device,
|
||||
|
||||
The api calls are like this:
|
||||
|
||||
```
|
||||
```txt
|
||||
GET http:// ROKU_IP:8060/query/apps
|
||||
POST http://ROKU_IP:8060/launch/APP_ID
|
||||
```
|
||||
@ -104,10 +104,10 @@ More details can be found on the [Roku dev pages](https://developer.roku.com/doc
|
||||
|
||||
To use this in Home Assistant, for instance in an automation, the format is as follows. Note that ```source: ``` is the appID you discovered in the API call:
|
||||
|
||||
```
|
||||
action:
|
||||
- data:
|
||||
entity_id: media_player.roku
|
||||
source: 20197
|
||||
service: media_player.select_source
|
||||
```yaml
|
||||
action:
|
||||
- data:
|
||||
entity_id: media_player.roku
|
||||
source: 20197
|
||||
service: media_player.select_source
|
||||
```
|
||||
|
@ -29,7 +29,7 @@ On the AWS side, you need to do the following;
|
||||
|
||||
Here is an IAM Policy sample, don't forget to update your Zone ID on the Resource line.
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
"Statement": [
|
||||
|
@ -43,7 +43,7 @@ devices:
|
||||
|
||||
The password can be obtained from an Android device using an app like [aLogcat](https://play.google.com/store/apps/details?id=rs.pedjaapps.alogcatroot.app&hl=en) or the `adb logcat` command for phones in developer mode. Look for a line like:
|
||||
|
||||
```
|
||||
```txt
|
||||
E LedoBleSDK: login =skName=======[Smart Light]=======skPw==[password]
|
||||
```
|
||||
|
||||
|
@ -103,11 +103,11 @@ logger:
|
||||
homeassistant.components.device_tracker: debug
|
||||
```
|
||||
3. In another window, tail the logfile in the configuration directory:
|
||||
```
|
||||
```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.
|
||||
```
|
||||
```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
|
||||
17-04-28 10:43:30 INFO (MainThread) [homeassistant.setup] Setting up device_tracker
|
||||
@ -122,7 +122,7 @@ $ tail -f home-assistant.log | grep device_tracker
|
||||
17-04-28 10:43:31 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=device_tracker>
|
||||
```
|
||||
5. If you see lines like the following repeated at intervals that correspond to the check interval from the config (12 seconds by default), then Home Assistant is correctly polling the router, and you'll need to look at what the router is sending back.
|
||||
```
|
||||
```txt
|
||||
17-04-28 10:50:34 INFO (Thread-7) [homeassistant.components.device_tracker.ubus] Checking ARP
|
||||
```
|
||||
|
||||
@ -140,7 +140,7 @@ $ sudo tcpdump -nnvXSs 0 -w /var/tmp/dt.out 'host <router_ip> and port 80'
|
||||
6. Transfer `/var/tmp/dt.out` to the machine where you're running Wireshark and either drag/drop it onto the Wireshark window or use File/Open to open the capture file.
|
||||
7. In the window that opens, look for the first line that reads `POST /ubus`. Right click on this line, choose Follow and then HTTP Stream to view just the HTTP stream for this connection.
|
||||
8. The first `POST` will show Home Assistant logging into ubus and receiving a session identifier back. It will look something like this:
|
||||
```
|
||||
```txt
|
||||
POST /ubus HTTP/1.1
|
||||
Host: 10.68.0.1
|
||||
Accept: */*
|
||||
@ -160,7 +160,7 @@ Connection: keep-alive
|
||||
```
|
||||
9. In the response above, the portion that reads `"result":[0,` indicates that ubus accepted the login without issue. If this is not `0`, search online for what ubus status corresponds to the number you're receiving and address any issues that it brings to light.
|
||||
10. Otherwise, back in the main Wireshark window click the `x` in the right side of the filter bar where it reads `tcp.stream eq 0`. Scroll down until you find the next `POST /ubus` line and view the HTTP stream again. This request is Home Assistant actually requesting information and will look something like the following:
|
||||
```
|
||||
```txt
|
||||
POST /ubus HTTP/1.1
|
||||
Host: 10.68.0.1
|
||||
Accept: */*
|
||||
|
@ -419,7 +419,7 @@ Vacuum send_command allows three parameters:
|
||||
If params are not provided it sends command as payload to MQTT send_command topic.
|
||||
If params are provided service sends json as payload with such structure:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
'command': 'command',
|
||||
'param1-key': 'param1-value'
|
||||
@ -428,7 +428,7 @@ If params are provided service sends json as payload with such structure:
|
||||
|
||||
Service trigger example:
|
||||
|
||||
```
|
||||
```yaml
|
||||
- alias: Push command based on sensor
|
||||
trigger:
|
||||
- platform: state
|
||||
@ -494,7 +494,7 @@ Vacuum send_command allows three parameters:
|
||||
If params are not provided it sends command as payload to MQTT send_command topic.
|
||||
If params are provided service sends json as payload with such structure:
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
'command': 'command',
|
||||
'param1-key': 'param1-value'
|
||||
@ -503,7 +503,7 @@ If params are provided service sends json as payload with such structure:
|
||||
|
||||
Service trigger example:
|
||||
|
||||
```
|
||||
```yaml
|
||||
- alias: Push command based on sensor
|
||||
trigger:
|
||||
- platform: state
|
||||
|
@ -33,7 +33,7 @@ $ pip3 install -I .
|
||||
```
|
||||
|
||||
Find your device using the following command:
|
||||
```
|
||||
```txt
|
||||
pyvizio --ip=0 discover
|
||||
```
|
||||
|
||||
|
@ -50,12 +50,12 @@ automation:
|
||||
```
|
||||
Note that this example uses the `voicerss` text-to-speech platform. There are many platforms that can be used. The one installed by default with Home Assistant is Google TTS. This appears in your `configuration.yaml` file as:
|
||||
|
||||
```
|
||||
tts:
|
||||
- platform: google
|
||||
```yaml
|
||||
tts:
|
||||
- platform: google
|
||||
```
|
||||
|
||||
If you want to use this TTS engine, change the line in the example provided to:
|
||||
```
|
||||
```txt
|
||||
- service: tts.google_translate_say
|
||||
```
|
||||
|
@ -165,7 +165,7 @@ homeassistant:
|
||||
|
||||
When `meta: true` is set in the auth provider's configuration, your command can write some variables to standard output to populate the user account created in Home Assistant with additional data. These variables have to be printed in the form:
|
||||
|
||||
```
|
||||
```txt
|
||||
name = John Doe
|
||||
```
|
||||
|
||||
|
@ -46,7 +46,7 @@ homeassistant:
|
||||
|
||||
The file `my_package.yaml` contains the "top-level" configuration:
|
||||
|
||||
```
|
||||
```yaml
|
||||
switch:
|
||||
- platform: rest
|
||||
...
|
||||
|
@ -96,7 +96,7 @@ More information about this feature can also be found at [splitting configuratio
|
||||
|
||||
If you see the following message:
|
||||
|
||||
```
|
||||
```txt
|
||||
found character '\t' that cannot start any token
|
||||
```
|
||||
|
||||
|
@ -45,7 +45,7 @@ $ appdaemon -c conf/appdaemon.cfg
|
||||
|
||||
If all is well, you should see something like the following:
|
||||
|
||||
```
|
||||
```bash
|
||||
$ appdaemon -c conf/appdaemon.cfg
|
||||
2016-08-22 10:08:16,575 INFO Got initial state
|
||||
2016-08-22 10:08:16,576 INFO Loading Module: /export/hass/appdaemon_test/conf/apps/hello.py
|
||||
@ -56,7 +56,7 @@ $ appdaemon -c conf/appdaemon.cfg
|
||||
|
||||
## AppDaemon arguments
|
||||
|
||||
```
|
||||
```txt
|
||||
usage: appdaemon [-h] [-c CONFIG] [-p PIDFILE] [-t TICK] [-s STARTTIME]
|
||||
[-e ENDTIME] [-i INTERVAL]
|
||||
[-D {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-v] [-d]
|
||||
|
@ -36,11 +36,11 @@ Go to the folder you have placed `dropbox.py`.
|
||||
- **Option B:**
|
||||
Edit `dropbox.py`:
|
||||
Change the following line:
|
||||
```
|
||||
```txt
|
||||
uploader = "/home/homeassistant/.homeassistant/extraconfig/shell_code/dropbox_uploader.sh"
|
||||
```
|
||||
to where you placed your file: (for example):
|
||||
```
|
||||
```txt
|
||||
uploader = "/home/homeassistant/MyFolder/dropbox_uploader.sh"
|
||||
```
|
||||
|
||||
|
@ -304,7 +304,7 @@ Did all of that go without a hitch? Wahoo! Your Let's Encrypt certificate is now
|
||||
|
||||
Following on from Step 4 your SSH will still be in the certbot folder. If you edit your configuration files over SSH you will need to change to our `homeassistant` folder:
|
||||
|
||||
```
|
||||
```bash
|
||||
cd ~/.homeassistant
|
||||
```
|
||||
|
||||
|
@ -49,7 +49,7 @@ Notes:
|
||||
|
||||
### Preinstalled notification sounds
|
||||
|
||||
```
|
||||
```txt
|
||||
US-EN-Alexa-Back-Door-Opened.wav
|
||||
US-EN-Alexa-Back-Door-Unlocked.wav
|
||||
US-EN-Alexa-Basement-Door-Opened.wav
|
||||
|
@ -54,7 +54,7 @@ You will need to enable the software collection each time you log on before you
|
||||
|
||||
To autostart Home Assistant using systemd follow the main [instructions](/docs/autostart/systemd/) and adjust the template as follows:
|
||||
|
||||
```
|
||||
```txt
|
||||
[Unit]
|
||||
Description=Home Assistant
|
||||
After=network.target
|
||||
|
@ -22,23 +22,23 @@ It should not contain any OS specific instructions.
|
||||
### Install
|
||||
|
||||
1. Create a virtual environment in your current directory:
|
||||
```
|
||||
```bash
|
||||
$ python3 -m venv homeassistant
|
||||
```
|
||||
2. Open the virtual environment:
|
||||
```
|
||||
```bash
|
||||
$ cd homeassistant
|
||||
```
|
||||
3. Activate the virtual environment:
|
||||
```
|
||||
```bash
|
||||
$ source bin/activate
|
||||
```
|
||||
4. Install Home Assistant:
|
||||
```
|
||||
```bash
|
||||
$ python3 -m pip install homeassistant
|
||||
```
|
||||
5. Run Home Assistant:
|
||||
```
|
||||
```bash
|
||||
$ hass --open-ui
|
||||
```
|
||||
6. You can now reach the web interface on `http://ipaddress:8123/` - the first start may take a couple of minutes before the web interface is available. This can take longer if you're using lower-end hardware like a Raspberry Pi Zero.
|
||||
|
@ -73,7 +73,7 @@ If you get this error `AttributeError: module 'ssl' has no attribute 'PROTOCOL_T
|
||||
|
||||
If you are running a Mosquitto instance on the same server as Home Assistant then you must ensure that the Mosquitto service starts before Home Assistant. For a Linux instance running Systemd (Raspberry Pi, Debian, Ubuntu and others) then you should edit the file `/etc/systemd/system/home-assistant@homeassistant.service` as `root` (e.g., `sudo nano /etc/systemd/system/home-assistant@homeassistant.service`) and add the Mosquitto service:
|
||||
|
||||
```
|
||||
```txt
|
||||
[Unit]
|
||||
Description=Home Assistant
|
||||
After=network.target mosquitto.service
|
||||
|
@ -72,7 +72,7 @@ In the value of configuration variables ending with `_topic`, `~` will be replac
|
||||
Configuration variable names in the discovery payload may be abbreviated to conserve memory when sending a discovery message from memory constrained devices.
|
||||
|
||||
Supported abbreviations:
|
||||
```
|
||||
```txt
|
||||
'aux_cmd_t': 'aux_command_topic',
|
||||
'aux_stat_tpl': 'aux_state_template',
|
||||
'aux_stat_t': 'aux_state_topic',
|
||||
@ -207,7 +207,7 @@ Supported abbreviations:
|
||||
```
|
||||
|
||||
Supported abbreviations for device registry configuration:
|
||||
```
|
||||
```txt
|
||||
'cns': 'connections',
|
||||
'ids': 'identifiers',
|
||||
'name': 'name',
|
||||
|
@ -247,7 +247,7 @@ $ ls -l /dev/ttyAMA0
|
||||
|
||||
You should then see something like this:
|
||||
|
||||
```
|
||||
```txt
|
||||
crw-rw---- 1 root dialout 204, 64 Apr 1 12:34 /dev/ttyAMA0
|
||||
```
|
||||
|
||||
@ -282,7 +282,7 @@ Then the problem is that you're missing `libudev-dev` (or the equivalent for you
|
||||
|
||||
If you're having random failures of the mesh, devices going missing, things randomly not working, check your `OZW_Log.txt` for the following messages:
|
||||
|
||||
```
|
||||
```txt
|
||||
WARNING: 500ms passed without reading the rest of the frame...aborting frame read
|
||||
WARNING: Out of frame flow! (0xfe). Sending NAK
|
||||
WARNING: Checksum incorrect - sending NAK
|
||||
|
@ -37,7 +37,7 @@ $ sudo apt-get install icecast2
|
||||
|
||||
We setup an icecast mount point for our babyphone and update `/etc/icecast2/icecast.xml`:
|
||||
|
||||
```
|
||||
```xml
|
||||
<mount>
|
||||
<mount-name>/babyphone.mp3</mount-name>
|
||||
<stream-name>Babyphone</stream-name>
|
||||
|
@ -12,7 +12,7 @@ TL; DR: We have just released version 0.40.2 that includes a fix related to the
|
||||
|
||||
Some users in the last few days have been reporting that their Home Assistant installation fails to start with an error in the http component:
|
||||
|
||||
```
|
||||
```txt
|
||||
ImportError: No module named 'aiohttp.file_sender'
|
||||
```
|
||||
|
||||
@ -21,4 +21,4 @@ The problem is that Home Assistant did not handle the case where a dependency wo
|
||||
- AppleTV (0.38+)
|
||||
- Android IP Webcam (0.40+)
|
||||
|
||||
This issue has been resolved by 0.40.2. If you are on an impacted version and cannot upgrade to the latest version just yet, a temporary workaround will be to remove the `<config dir>/deps` directory and stop using the above mentioned integrations. In the case of AppleTV, you will also have to disable the discovery component to prevent it from being auto-detected.
|
||||
This issue has been resolved by 0.40.2. If you are on an impacted version and cannot upgrade to the latest version just yet, a temporary workaround will be to remove the `<config dir>/deps` directory and stop using the above mentioned integrations. In the case of AppleTV, you will also have to disable the discovery component to prevent it from being auto-detected.
|
||||
|
@ -17,7 +17,7 @@ Instead of running [InfluxDB](https://www.influxdata.com/) and Grafana on a Rasp
|
||||
2. Download the [docker-statsd-influxdb-grafana]( https://hub.docker.com/r/samuelebistoletti/docker-statsd-influxdb-grafana/) image using the command:
|
||||
`docker pull samuelebistoletti/docker-statsd-influxdb-grafana`
|
||||
3. To start the container for the first-time launch:
|
||||
```
|
||||
```bash
|
||||
docker run -d \
|
||||
--name docker-statsd-influxdb-grafana \
|
||||
-p 3003:3003 \
|
||||
@ -34,7 +34,7 @@ Instead of running [InfluxDB](https://www.influxdata.com/) and Grafana on a Rasp
|
||||
<img src='/images/blog/2017-04-influxdb-grafana/create_HA_database.png' />
|
||||
</p>
|
||||
7. Now, you need to configure Home Assistant to use InfluxDB. Since, we did not add any username/password to our database, we can simply add the following to our configuration.yaml (replace the IP address with that of the device running Docker) and restart Home Assistant to setup InfluxDB (you will have to fine tune it based on your preferences):
|
||||
```
|
||||
```yaml
|
||||
influxdb:
|
||||
host: 192.168.2.113
|
||||
```
|
||||
@ -45,7 +45,7 @@ Instead of running [InfluxDB](https://www.influxdata.com/) and Grafana on a Rasp
|
||||
9. You should see `Data source is working` if you have configured everything correctly.
|
||||
10. With all that configured, you are now ready for the fun stuff. You can create as many dashboards as you want and then import the same in Home Assistant.
|
||||
11. To add the Grafana dashboard in HA, use the following config:
|
||||
```
|
||||
```yaml
|
||||
panel_iframe:
|
||||
router:
|
||||
title: 'Temperature'
|
||||
|
@ -46,7 +46,7 @@ Right in there, not in any folders, create a file called `wpa_supplicant.conf`.
|
||||
The contents of the configuration file should be something like this:
|
||||
(You may have to adjust for your configuration, hints [here](https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md) )
|
||||
|
||||
```
|
||||
```txt
|
||||
network={
|
||||
ssid="YOUR_WIFI_NETWORK_NAME_HERE"
|
||||
psk="YOUR_WIFI_PASSWORD_HERE"
|
||||
@ -62,7 +62,7 @@ It's a good idea to change the password. To do so, use the `passwd` command.
|
||||
|
||||
Next, type the following two commands into the SSH console:
|
||||
|
||||
```
|
||||
```bash
|
||||
$ sudo systemctl enable install_homeassistant.service
|
||||
$ sudo systemctl start install_homeassistant.service
|
||||
```
|
||||
|
@ -87,7 +87,7 @@ homeassistant:
|
||||
- Vera battery levels will no longer have the percent sign appended ([@philhawthorne] - [#8069]) ([vera docs]) (breaking change)
|
||||
- Notify - SMTP: Added SMTP SSL/TLS support so now you should specify which encryption to use. ([@sn0oz] - [#7960]) ([notify.smtp docs]) (breaking change)
|
||||
|
||||
```
|
||||
```yaml
|
||||
notify:
|
||||
- name: mail
|
||||
platform: smtp
|
||||
|
@ -92,7 +92,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
* `custom_ui_state_card` now specifies the exact element name and not a suffix after `state-card`. So if you had `state_card_custom_ui: custom-ui` in your config, you should change it to `state_card_custom_ui: state-card-custom-ui`
|
||||
* `custom_ui_state_card` no longer makes the html fetch, you should make it separately:
|
||||
|
||||
```
|
||||
```yaml
|
||||
frontend:
|
||||
extra_html_url:
|
||||
- /local/custom_ui/state-card-custom-ui.html
|
||||
|
@ -29,13 +29,13 @@ As an add-on developer, you will only have to change one line in your template t
|
||||
|
||||
Old:
|
||||
|
||||
```
|
||||
```dockerfile
|
||||
FROM %%BASE_IMAGE%%
|
||||
```
|
||||
|
||||
New:
|
||||
|
||||
```
|
||||
```dockerfile
|
||||
ARG BUILD_FROM
|
||||
FROM $BUILD_FROM
|
||||
```
|
||||
|
@ -186,7 +186,7 @@ Store it in `<config_dir>/custom_components/sensor/mqtt_ttn.py` and it will hand
|
||||
|
||||
Now create the [`mqtt_ttn` sensor](/components/sensor.mqtt/) entry for your device.
|
||||
|
||||
```
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: mqtt_ttn
|
||||
name: TTN Sensor
|
||||
|
@ -31,7 +31,7 @@ Thanks to [@Andrey-git] we now are able to serve the frontend in modern JavaScri
|
||||
|
||||
To try it once, add `?latest` to your Home Assistant bookmark. To make it the default on your installation, update your config to look like this:
|
||||
|
||||
```
|
||||
```yaml
|
||||
frontend:
|
||||
javascript_version: latest
|
||||
```
|
||||
|
@ -144,7 +144,7 @@ Note however, that this feature was replaced by a new ignore_string config optio
|
||||
- The `climate.set_aux_heat` service is no longer available for the Sensibo climate platform. Now call `climate.turn_on` or `climate.turn_off`. ([@andrey-git] - [#11579]) ([climate.sensibo docs]) (breaking change)
|
||||
- Release 0.61.0 introduced a lazy service loading strategy that relied on all components and platforms following our naming convention. After the release we realized that not all services did, which have been addressed by this fix. This results in certain services changing names:
|
||||
|
||||
```
|
||||
```yaml
|
||||
todoist.new_task -> calendar.todoist_new_task
|
||||
|
||||
snapcast.snapcast_snapshot -> media_player.snapcast_snapshot
|
||||
|
@ -159,7 +159,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
* The IQVIA component no longer provides historical data for allergen and asthma conditions. Tactically, this means all historical sensors – including "Yesterday" sensors – will no longer appear; users will need to update any automations that previously relied on these sensors. ([@bachya] - [#23258]) ([iqvia docs])
|
||||
|
||||
Example configuration:
|
||||
```
|
||||
```yaml
|
||||
iqvia:
|
||||
zip_code: "12345"
|
||||
```
|
||||
@ -177,7 +177,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- __Epson Workforce__ - This change adds the option to add photo black cartridge as a setting. It also corrects the spelling of "Inklevel" to "Ink level"([@ThaStealth] - [#23433]) ([epsonworkforce docs])
|
||||
|
||||
Example configuration:
|
||||
```
|
||||
```yaml
|
||||
- platform: epsonworkforce
|
||||
host: IP_ADDRESS
|
||||
monitored_conditions:
|
||||
@ -196,7 +196,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- __Sesame Smart Lock__ - The Sesame smart lock's 1.0 API uses a username/password pair to authenticate, and may be deprecated in the future. The V3 API uses an API key, so it will require users to update their HA config. ([@zanglang] - [#23621]) ([sesame docs])
|
||||
|
||||
Example configuration:
|
||||
```
|
||||
```yaml
|
||||
lock:
|
||||
- platform: sesame
|
||||
api_key: !secret sesame_api_key
|
||||
|
@ -189,7 +189,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
- __Doorbird__ -_Refactored_- This change cleans up the code for the component quite a bit. Schedule manipulation has been removed and HTTP views have been consolidated. The configuration changes should result in an overall easier experience for setting up a Doorbird in HA and allow for new Doorbird events to be utilized without having to update the component as often. No changes for switches or camera integrations of this component. ([@oblogic7] - [#23892]) ([doorbird docs])
|
||||
|
||||
Example configuration:
|
||||
```
|
||||
```yaml
|
||||
doorbird:
|
||||
devices:
|
||||
- host: 10.10.10.10
|
||||
|
@ -5,7 +5,7 @@ description: "The Code of Conduct for Home Assistant projects."
|
||||
|
||||
# Contributor License Agreement
|
||||
|
||||
```
|
||||
```txt
|
||||
By making a contribution to this project, I certify that:
|
||||
|
||||
(a) The contribution was created in whole or in part by me and I
|
||||
|
@ -5,7 +5,7 @@ description: "The License that all Home Assistant projects are licensed under"
|
||||
|
||||
The Home Assistant source code is released under the following license.
|
||||
|
||||
```
|
||||
```txt
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
@ -25,12 +25,12 @@ Format a USB stick with FAT32/EXT4/NTFS and name the drive `CONFIG` (uppercase).
|
||||
|
||||
- In the root of the USB drive add a folder called `/modules`.
|
||||
- Inside that folder add a text file called `rpi-i2c.conf` with the following contents:
|
||||
```
|
||||
```txt
|
||||
i2c-bcm2708
|
||||
i2c-dev
|
||||
```
|
||||
- In the root of the USB drive add a file called `config.txt` with the following contents:
|
||||
```
|
||||
```txt
|
||||
dtparam=i2c1=on
|
||||
dtparam=i2c_arm=on
|
||||
```
|
||||
|
@ -14,7 +14,7 @@ zwave:
|
||||
|
||||
If you need GPIO on Raspberry Pi 3 for your Z-Wave module, add the following line into `config.txt` (you have to access that on the SD card directly. Simply plug it into your PC and edit it there. The `config.txt` is not accessible from your Hass.io system, you may need to open the SD card on a Windows or Linux system.):
|
||||
|
||||
```
|
||||
```txt
|
||||
dtoverlay=pi3-miniuart-bt
|
||||
```
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user