Merge remote-tracking branch 'origin/current' into rc
This commit is contained in:
commit
3b4e3111ce
102 changed files with 243 additions and 257 deletions
|
@ -21,7 +21,7 @@ If the preceding command returns the string `systemd`, continue with the instruc
|
|||
A service file is needed to control Home Assistant with `systemd`. The template below should be created using a text editor. Note, root permissions via `sudo` will likely be needed. The following should be noted to modify the template:
|
||||
|
||||
- `ExecStart` contains the path to `hass` and this may vary. Check with `whereis hass` for the location.
|
||||
- For most systems, the file is `/etc/systemd/system/home-assistant@[your user].service` with [your user] replaced by the user account that Home Assistant will run as (normally `homeassistant`). In particular, this is the case for Ubuntu 16.04.
|
||||
- For most systems, the file is `/etc/systemd/system/home-assistant@[your user].service` with [your user] replaced by the user account that Home Assistant will run as (normally `homeassistant`). In particular, this is the case for Ubuntu 16.04.
|
||||
- If unfamiliar with command-line text editors, `sudo nano -w [filename]` can be used with `[filename]` replaced with the full path to the file. Ex. `sudo nano -w /etc/systemd/system/home-assistant@[your user].service`. After text entered, press CTRL-X then press Y to save and exit.
|
||||
- If you're running Home Assistant in a Python virtual environment or a Docker container, please skip to the appropriate template listed below.
|
||||
|
||||
|
@ -41,7 +41,7 @@ WantedBy=multi-user.target
|
|||
|
||||
### {% linkable_title Python virtual environment %}
|
||||
|
||||
If you've setup Home Assistant in `virtualenv` following our [Python installation guide](https://home-assistant.io/getting-started/installation-virtualenv/) or [manual installation guide for Raspberry Pi](https://home-assistant.io/getting-started/installation-raspberry-pi/), the following template should work for you. If Home Assistant install is not located at `/srv/homeassistant`, please modify the `ExecStart=` line appropriately.
|
||||
If you've setup Home Assistant in `virtualenv` following our [Python installation guide](/getting-started/installation-virtualenv/) or [manual installation guide for Raspberry Pi](/getting-started/installation-raspberry-pi/), the following template should work for you. If Home Assistant install is not located at `/srv/homeassistant`, please modify the `ExecStart=` line appropriately.
|
||||
|
||||
```
|
||||
[Unit]
|
||||
|
@ -80,7 +80,7 @@ WantedBy=multi-user.target
|
|||
|
||||
### Next Steps
|
||||
|
||||
You need to reload `systemd` to make the daemon aware of the new configuration.
|
||||
You need to reload `systemd` to make the daemon aware of the new configuration.
|
||||
|
||||
```bash
|
||||
$ sudo systemctl --system daemon-reload
|
||||
|
|
|
@ -15,7 +15,7 @@ The most common approach is to set up port forwarding from your router to port 8
|
|||
|
||||
A problem with making a port accessible is that some Internet Service Providers only offer dynamic IPs. This can cause you to lose access to Home Assistant while away. You can solve this by using a free Dynamic DNS service like [DuckDNS](https://www.duckdns.org/).
|
||||
|
||||
Remember: Just putting a port up is not secure. You should definitely consider encrypting your traffic if you are accessing your Home Assistant installation remotely. For details please check the [set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post, or this [detailed guide](https://home-assistant.io/docs/ecosystem/certificates/lets_encrypt/) to using Let's Encrypt with HA.
|
||||
Remember: Just putting a port up is not secure. You should definitely consider encrypting your traffic if you are accessing your Home Assistant installation remotely. For details please check the [set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post, or this [detailed guide](/docs/ecosystem/certificates/lets_encrypt/) to using Let's Encrypt with HA.
|
||||
|
||||
Protect your communication with a [self-signed certificate](/cookbook/tls_self_signed_certificate/) between your client and the Home Assistant instance.
|
||||
|
||||
|
|
|
@ -14,10 +14,10 @@ One major advantage of Home Assistant is that it's not dependent on cloud servic
|
|||
|
||||
### {% linkable_title Checklist %}
|
||||
|
||||
- [Protect your web interface with a password](https://home-assistant.io/getting-started/basic/#password-protecting-the-web-interface)
|
||||
- [Protect your web interface with a password](/getting-started/basic/#password-protecting-the-web-interface)
|
||||
- Secure your host. Sources could be [Red Hat Enterprise Linux 7 Security Guide](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/pdf/Security_Guide/Red_Hat_Enterprise_Linux-7-Security_Guide-en-US.pdf), [CIS Red Hat Enterprise Linux 7 Benchmark](https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.0.0.pdf), or the [Securing Debian Manual](https://www.debian.org/doc/manuals/securing-debian-howto/index.en.html).
|
||||
- Restrict network access to your devices. Set `PermitRootLogin no` in your sshd config (usually `/etc/ssh/sshd_config`) and to use SSH keys for authentication instead of passwords.
|
||||
- Don't run Home Assistant as root – consider the Principle of Least Privilege.
|
||||
- Don't run Home Assistant as root – consider the Principle of Least Privilege.
|
||||
- Keep your [secrets](/topics/secrets/) safe.
|
||||
|
||||
If you want to allow remote access, consider these additional points:
|
||||
|
|
|
@ -10,9 +10,9 @@ footer: true
|
|||
redirect_from: /topics/splitting_configuration/
|
||||
---
|
||||
|
||||
So you've been using Home Assistant for a while now and your [configuration.yaml file brings people to tears](https://home-assistant.io/cookbook/configuration_yaml_from_bassclarinetl2/) or you simply want to start off with the distributed approach, here's how to "split the configuration.yaml" into more manageable (read: humanly readable) pieces.
|
||||
So you've been using Home Assistant for a while now and your [configuration.yaml file brings people to tears](/cookbook/configuration_yaml_from_bassclarinetl2/) or you simply want to start off with the distributed approach, here's how to "split the configuration.yaml" into more manageable (read: humanly readable) pieces.
|
||||
|
||||
First off, several community members have sanitized (read: without api keys/passwords etc) versions of their configurations available for viewing, you can see a list of them [here](https://home-assistant.io/cookbook/#example-configurationyaml).
|
||||
First off, several community members have sanitized (read: without api keys/passwords etc) versions of their configurations available for viewing, you can see a list of them [here](/cookbook/#example-configurationyaml).
|
||||
|
||||
As commenting code doesn't always happen, please read on for the details.
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ Attribute | Description
|
|||
`icon` | Icon to use for the entity in the frontend. Example: `mdi:home`.
|
||||
`hidden` | Boolean if the entity should not be shown in the frontend. Example: `true`.
|
||||
`entity_picture` | URL to a picture that should be used instead of showing the domain icon. Example: `http://example.com/picture.jpg`.
|
||||
`assumed_state` | Boolean if the current state is an assumption. [More info](https://home-assistant.io/blog/2016/02/12/classifying-the-internet-of-things/#classifiers) Example: `True`.
|
||||
`assumed_state` | Boolean if the current state is an assumption. [More info](/blog/2016/02/12/classifying-the-internet-of-things/#classifiers) Example: `True`.
|
||||
`unit_of_measurement` | The unit of measurement the state is expressed in. Used for grouping graphs or understanding the entity. Example: `°C`.
|
||||
|
||||
When an attribute contains spaces, you can retrieve it like this: `states.sensor.livingroom.attributes["Battery numeric"]`.
|
||||
|
|
|
@ -12,7 +12,7 @@ redirect_from: /ecosystem/appdaemon/tutorial/
|
|||
|
||||
## {% linkable_title Another Take on Automation %}
|
||||
|
||||
If you haven't yet read Paulus' excellent Blog entry on [Perfect Home Automation](https://home-assistant.io/blog/2016/01/19/perfect-home-automation/) I would encourage you to take a look. As a veteran of several Home Automation systems with varying degrees success, it was this article more than anything else that convinced me that Home Assistant had the right philosophy behind it and was on the right track. One of the most important points made is that being able to control your lights from your phone, 9 times out of 10 is harder than using a lightswitch - where Home Automation really comes into its own is when you start removing the need to use a phone or the switch - the "Automation" in Home Automation. A surprisingly large number of systems out there miss this essential point and have limited abilities to automate anything which is why a robust and open system such as Home Assistant is such an important part of the equation in bring this all together in the vast and chaotic ecosystem that is the "Internet of Things".
|
||||
If you haven't yet read Paulus' excellent Blog entry on [Perfect Home Automation](/blog/2016/01/19/perfect-home-automation/) I would encourage you to take a look. As a veteran of several Home Automation systems with varying degrees success, it was this article more than anything else that convinced me that Home Assistant had the right philosophy behind it and was on the right track. One of the most important points made is that being able to control your lights from your phone, 9 times out of 10 is harder than using a lightswitch - where Home Automation really comes into its own is when you start removing the need to use a phone or the switch - the "Automation" in Home Automation. A surprisingly large number of systems out there miss this essential point and have limited abilities to automate anything which is why a robust and open system such as Home Assistant is such an important part of the equation in bring this all together in the vast and chaotic ecosystem that is the "Internet of Things".
|
||||
|
||||
So given the importance of Automation, what should Automation allow us to do? I am a pragmatist at heart so I judge individual systems by the ease of accomplishing a few basic but representative tasks:
|
||||
|
||||
|
@ -69,7 +69,7 @@ different scenes in a different version of the App.
|
|||
def initialize(self):
|
||||
self.run_at_sunrise(self.sunrise_cb)
|
||||
self.run_at_sunset(self.before_sunset_cb, offset=-900)
|
||||
|
||||
|
||||
def sunrise_cb(self, kwargs):
|
||||
self.turn_on(self.args["off_scene"])
|
||||
|
||||
|
@ -91,12 +91,12 @@ class FlashyMotionLights(appapi.AppDaemon):
|
|||
|
||||
def initialize(self):
|
||||
self.listen_state(self.motion, "binary_sensor.drive", new = "on")
|
||||
|
||||
|
||||
def motion(self, entity, attribute, old, new, kwargs):
|
||||
if self.sun_down():
|
||||
self.turn_on("light.drive")
|
||||
self.run_in(self.light_off, 60)
|
||||
|
||||
|
||||
def light_off(self, kwargs):
|
||||
self.turn_off("light.drive")
|
||||
```
|
||||
|
@ -112,17 +112,17 @@ class MotionLights(appapi.AppDaemon):
|
|||
|
||||
def initialize(self):
|
||||
self.listen_state(self.motion, "binary_sensor.drive", new = "on")
|
||||
|
||||
|
||||
def motion(self, entity, attribute, old, new, kwargs):
|
||||
if self.self.sun_down():
|
||||
self.turn_on("light.drive")
|
||||
self.run_in(self.light_off, 60)
|
||||
self.flashcount = 0
|
||||
self.run_in(self.flash_warning, 1)
|
||||
|
||||
|
||||
def light_off(self, kwargs):
|
||||
self.turn_off("light.drive")
|
||||
|
||||
|
||||
def flash_warning(self, kwargs):
|
||||
self.toggle("light.living_room")
|
||||
self.flashcount += 1
|
||||
|
@ -138,7 +138,7 @@ I have spent the last few weeks moving all of my (fairly complex) automations ov
|
|||
|
||||
Some people will maybe look at all of this and say "what use is this, I can already do all of this", and that is fine, as I said this is an alternative not a replacement, but I am hopeful that for some users this will seem a more natural, powerful and nimble way of building potentially very complex automations.
|
||||
|
||||
If this has whet your appetite, feel free to give it a try.
|
||||
If this has whet your appetite, feel free to give it a try.
|
||||
|
||||
Happy Automating!
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ footer: true
|
|||
redirect_from: /cookbook/dropboxbackup/
|
||||
---
|
||||
|
||||
Backing up and regularly syncing your Home Assistant configuration to [Dropbox](http://dropbox.com) similar to [Github Backup](https://home-assistant.io/docs/ecosystem/backup/backup_github/)
|
||||
Backing up and regularly syncing your Home Assistant configuration to [Dropbox](http://dropbox.com) similar to [Github Backup](/docs/ecosystem/backup/backup_github/)
|
||||
|
||||
### {% linkable_title Requirements %}
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ This will not create a full backup of your Home Assistant files or your OS. In a
|
|||
|
||||
Some best practices to consider before putting your configuration on GitHub:
|
||||
|
||||
- Extensive use of [secrets.yaml](https://home-assistant.io/topics/secrets/) to hide sensitive information like usernames, passwords, device information, and location
|
||||
- Extensive use of [secrets.yaml](/topics/secrets/) to hide sensitive information like usernames, passwords, device information, and location
|
||||
- Exclusion of some files, including `secrets.yaml` and device-specific information using a [`.gitignore`](https://git-scm.com/docs/gitignore) file
|
||||
- Regularly committing your configuration to GitHub to make sure that your backup is up to date
|
||||
- Use a README.md to document your configuration and include screenshots of your Home Assistant GUI
|
||||
|
@ -42,7 +42,7 @@ $ sudo apt-get update
|
|||
$ sudo apt-get install git
|
||||
```
|
||||
|
||||
### {% linkable_title Step 2: Creating %} `.gitignore`
|
||||
### {% linkable_title Step 2: Creating %} `.gitignore`
|
||||
|
||||
<p class='note warning'>
|
||||
Before creating and pushing your Home Assistant configuration to GitHub, please make sure to follow the `secrets.yaml` best practice mentioned above and scrub your configuration for any passwords or sensitive information.
|
||||
|
|
|
@ -13,8 +13,8 @@ footer: true
|
|||
If you are using Hass.io or Hassbian, do not use this guide. Instead, use the [DuckDNS add-on](/addons/duckdns/) for Hass.io or the [DuckDNS suite](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/duckdns.md) for Hassbian to automatically maintain a subdomain including HTTPS certificates via Let's Encrypt.
|
||||
</p>
|
||||
|
||||
<p class=' note warning'>
|
||||
Before exposing your Home Assistant instance to the outside world it is ESSENTIAL that you have set a password following the advice on the [http](https://home-assistant.io/docs/configuration/basic/) page.
|
||||
<p class='note warning'>
|
||||
Before exposing your Home Assistant instance to the outside world it is ESSENTIAL that you have set a password following the advice on the [http](/docs/configuration/basic/) page.
|
||||
</p>
|
||||
|
||||
|
||||
|
@ -22,7 +22,7 @@ This guide was added by mf_social on 16/03/2017 and was valid at the time of wri
|
|||
|
||||
* You can access your Home Assistant instance across your local network, and access the device that it is on via SSH from your local network.
|
||||
* You know the internal IP address of your router and can access your router's configuration pages.
|
||||
* You have already set up a password for your Home Assistant instance, following the advice on this page: [http](https://home-assistant.io/docs/configuration/basic/)
|
||||
* You have already set up a password for your Home Assistant instance, following the advice on this page: [http](/docs/configuration/basic/)
|
||||
* You want to access your Home Assistant instance when you are away from home (ie, not connected to your local network) and secure it with a TLS/SSL certificate.
|
||||
* You have a basic understanding of the phrases I have used so far.
|
||||
* You are not currently running anything on port 80 on your network (you'd know if you were).
|
||||
|
@ -341,7 +341,7 @@ http:
|
|||
base_url: examplehome.duckdns.org
|
||||
```
|
||||
|
||||
You may wish to set up other options for the [http](https://home-assistant.io/components/http/) component at this point, these extra options are beyond the scope of this guide.
|
||||
You may wish to set up other options for the [http](/components/http/) component at this point, these extra options are beyond the scope of this guide.
|
||||
|
||||
Save the changes to configuration.yaml. Restart Home Assistant.
|
||||
|
||||
|
@ -367,11 +367,7 @@ https://YOUR-HA-IP:8123
|
|||
|
||||
Some cases such as this are where your router does not allow 'loopback' or where there is a problem with incoming connections due to technical failure. In these cases you can still use your internal connection and safely ignore the warnings.
|
||||
|
||||
If you were previously using a webapp on your phone/tablet to access your Home Assistant you should delete the old one and create a new one with the new address. The old one will no longer work as it is not keyed to your new, secure URL. Instructions for creating your new webapp can be found here:
|
||||
|
||||
```text
|
||||
https://home-assistant.io/docs/frontend/mobile/
|
||||
```
|
||||
If you were previously using a webapp on your phone/tablet to access your Home Assistant you should delete the old one and create a new one with the new address. The old one will no longer work as it is not keyed to your new, secure URL. Instructions for creating your new webapp can be found [here](/docs/frontend/mobile/).
|
||||
|
||||
All done? Accessing your Home Assistant from across the world with your DuckDNS URL and a lovely secure logo on your browser? Ace! Now let's clean up our port forwards so that we are only exposing the parts of our network that are absolutely necessary to the outside world.
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ footer: true
|
|||
redirect_from: /ecosystem/hadashboard/
|
||||
---
|
||||
|
||||
HADashboard is a modular, skinnable dashboard for [Home Assistant](https://home-assistant.io/) that is intended to be wall mounted, and is optimized for distance viewing.
|
||||
HADashboard is a modular, skinnable dashboard for [Home Assistant](/) that is intended to be wall mounted, and is optimized for distance viewing.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/hadashboard/dash1.png' />
|
||||
|
|
|
@ -12,7 +12,7 @@ redirect_from: /ecosystem/hass-configurator/
|
|||
|
||||
### {% linkable_title Configuration UI for Home Assistant %}
|
||||
|
||||
Since there currently is no nice way to edit the yaml-files Home Assistant is using through the frontend, here is a small webapp that hopefully makes the configuration easier. It is a customized and embedded [Ace editor](https://ace.c9.io/), which has syntax highlighting for yaml, the format used for Home Assistants configuration files. There is an integrated file browser to select whatever file you want to edit. When you're done with editing the file, click the save-button and it will replace the original.
|
||||
Since there currently is no nice way to edit the yaml-files Home Assistant is using through the frontend, here is a small webapp that hopefully makes the configuration easier. It is a customized and embedded [Ace editor](https://ace.c9.io/), which has syntax highlighting for yaml, the format used for Home Assistants configuration files. There is an integrated file browser to select whatever file you want to edit. When you're done with editing the file, click the save-button and it will replace the original.
|
||||
Essentially this is a browser-based alternative to modifying your configuration through SSH, Windows + SMB, Github etc..
|
||||
|
||||
<p class='img'>
|
||||
|
@ -38,7 +38,7 @@ This tool allows you to browse your filesystem and modify files. So be careful w
|
|||
Consider running the configurator as a user with limited privileges to limit possible damage.</p>
|
||||
|
||||
### {% linkable_title Installation (Linux, OS X) %}
|
||||
There are no dependencies on Python modules that are not part of the standard library. And all the fancy JavaScript libraries are loaded from CDN (which means this doesn't work when you're offline).
|
||||
There are no dependencies on Python modules that are not part of the standard library. And all the fancy JavaScript libraries are loaded from CDN (which means this doesn't work when you're offline).
|
||||
- Copy [configurator.py](https://github.com/danielperna84/hass-configurator/blob/master/configurator.py) to your Home Assistant configuration directory (e.g `/home/homeassistant/.homeassistant`): `wget https://raw.githubusercontent.com/danielperna84/hass-configurator/master/configurator.py`
|
||||
- Make it executable: `sudo chmod 755 configurator.py`
|
||||
- (Optional) Set the `GIT` variable in configurator.py to `True` if [GitPython](https://gitpython.readthedocs.io/) is installed on your system. This is required if you want to make use of the Git integration.
|
||||
|
@ -46,7 +46,7 @@ There are no dependencies on Python modules that are not part of the standard li
|
|||
- To terminate the process do the usual `CTRL+C`, maybe once or twice
|
||||
|
||||
### {% linkable_title Configuration %}
|
||||
Near the top of the `configurator.py`-file you will find some global variables you can change to customize the configurator. If you are unfamiliar with Python: when setting variables of the type _string_, you have to write that within quotation marks. The default settings are fine for just checking out the configurator quickly. With more customized setups you should change some settings though.
|
||||
Near the top of the `configurator.py`-file you will find some global variables you can change to customize the configurator. If you are unfamiliar with Python: when setting variables of the type _string_, you have to write that within quotation marks. The default settings are fine for just checking out the configurator quickly. With more customized setups you should change some settings though.
|
||||
To keep your settings across updates it is also possible to save settings in an external file. In that case copy [settings.conf](https://github.com/danielperna84/hass-configurator/blob/master/settings.conf) wherever you like and append the full path to the file to the command when starting the configurator. e.g., `sudo .configurator.py /home/homeassistant/.homeassistant/mysettings.conf`. This file is in JSON format. So make sure it has a valid syntax (you can set the editor to JSON to get syntax highlighting for the settings). The major difference to the settings in the py-file is, that `None` becomes `null`.
|
||||
|
||||
#### LISTENIP (string)
|
||||
|
@ -76,8 +76,8 @@ If set to `True`, directories will be displayed at the top of the filebrowser.
|
|||
#### GIT (bool)
|
||||
Set this variable to `True` to enable Git integration. This feature requires [GitPython](https://gitpython.readthedocs.io)
|
||||
to be installed on the system that is running the configurator. For technical reasons this feature can not be enabled with the static settings file.
|
||||
|
||||
__Note regarding `ALLOWED_NETWORKS`, `BANNED_IPS` and `BANLIMIT`__:
|
||||
|
||||
__Note regarding `ALLOWED_NETWORKS`, `BANNED_IPS` and `BANLIMIT`__:
|
||||
The way this is implemented works in the following order:
|
||||
|
||||
1. (Only if `CREDENTIALS` is set) Check credentials
|
||||
|
@ -91,7 +91,7 @@ The way this is implemented works in the following order:
|
|||
- Yes: Continue and display UI of configurator
|
||||
|
||||
### {% linkable_title Embedding into Home Assistant %}
|
||||
Home Assistant has the [panel_iframe](https://home-assistant.io/components/panel_iframe/) component. With this it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration through the Home Assistant frontend.
|
||||
Home Assistant has the [panel_iframe](/components/panel_iframe/) component. With this it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration through the Home Assistant frontend.
|
||||
An example configuration would look like this:
|
||||
|
||||
```yaml
|
||||
|
@ -107,11 +107,11 @@ Be careful when setting up port forwarding to the configurator while embedding i
|
|||
### {% linkable_title Daemonizing / Keeping the configurator running %}
|
||||
Since the configurator script on its own is no service, you will have to take some extra steps to keep it running. Here are five options (for Linux), but there are more, depending on your usecase.
|
||||
|
||||
1. Fork the process into the background with the command:
|
||||
1. Fork the process into the background with the command:
|
||||
`nohup sudo ./configurator.py &`
|
||||
2. If your system is using systemd (that's usually what you'll find on a Raspberry Pi), there's a [template file](https://github.com/danielperna84/hass-configurator/blob/master/hass-configurator.systemd) you can use and then apply the same process to integrate it as mentioned in the [Home Assistant documentation](https://home-assistant.io/docs/autostart/systemd/). If you use this method you have to set the `BASEPATH` variable according to your environment.
|
||||
2. If your system is using systemd (that's usually what you'll find on a Raspberry Pi), there's a [template file](https://github.com/danielperna84/hass-configurator/blob/master/hass-configurator.systemd) you can use and then apply the same process to integrate it as mentioned in the [Home Assistant documentation](/docs/autostart/systemd/). If you use this method you have to set the `BASEPATH` variable according to your environment.
|
||||
3. If you have [supervisor](http://supervisord.org/) running on your system, [hass-poc-configurator.supervisor](https://github.com/danielperna84/hass-configurator/blob/master/hass-configurator.supervisor) would be an example configuration you could use to control the configurator.
|
||||
4. A tool called [tmux](https://tmux.github.io/), which should be pre-installed with [HASSbian](https://home-assistant.io/docs/hassbian/).
|
||||
4. A tool called [tmux](https://tmux.github.io/), which should be pre-installed with [HASSbian](/docs/hassbian/).
|
||||
5. A tool called [screen](http://ss64.com/bash/screen.html) (alternative to tmux). If it's not already installed on your system, you can do `sudo apt-get install screen` or `sudo yum install screen` to get it. When it's installed, start a screen session by executing `screen`. Then navigate to your Home Assistant directory and start the configurator like described above. Put the screen session into the background by pressing `CTRL+A` and then `CTRL+D`. It is now safe to disconnect from your SSH session.
|
||||
To resume the screen session, log in to your machine and execute `screen -r`.
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ Query parameters are passed as a dictionary in the call.
|
|||
Example: `homeassistant://call_service/device_tracker.see?entity_id=device_tracker.entity`
|
||||
|
||||
## Fire event
|
||||
You can create an [event trigger](https://home-assistant.io/docs/automation/trigger/#event-trigger) and fire the event.
|
||||
You can create an [event trigger](/docs/automation/trigger/#event-trigger) and fire the event.
|
||||
|
||||
Example: `homeassistant://fire_event/custom_event?entity_id=MY_CUSTOM_EVENT`
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ redirect_from: /ecosystem/ios/notifications/
|
|||
|
||||
The `ios` notify platform enables sending push notifications to the Home Assistant iOS app.
|
||||
|
||||
The 'ios' component will automatically load the notify service.
|
||||
The 'ios' component will automatically load the notify service.
|
||||
The service component can be called using `service: notify.ios_<your_device_ID>`.
|
||||
Your device ID can be found in the `ios.conf` file in your configuration folder. The file is compressed JSON. You can view it easier by copying the file contents and pasting them into [JSONLint](http://jsonlint.com).
|
||||
|
||||
|
@ -21,4 +21,4 @@ In this example, the device ID is `robbiet480_7plus`, so the notify service to u
|
|||
{"devices":{"robbiet480_7plus":{"app":{"bundleIdentifer":"io.robbie.HomeAssistant","versionNumber":1,"buildNumber":53},"pushSounds":[],"permissions":["location"],"deviceId":"robbiet480_7plus","device":{"type":"iPhone 7 Plus","systemName":"iOS","systemVersion":"10.3","permanentID":"AB9F02FE-6AC6-47B8-ADEB-5DD87B489156","localizedModel":"iPhone","name":"Robbie's iPhone 7 Plus","model":"iPhone"},"battery":{"state":"Full","level":100},"pushToken":"SECRET","pushId":"SECRET"}}}
|
||||
```
|
||||
|
||||
You can find more information in the [Basic Notifications](https://home-assistant.io/docs/ecosystem/ios/notifications/basic/) documentation and the [Actionable Notifications](https://home-assistant.io/docs/ecosystem/ios/notifications/actions/) documentation.
|
||||
You can find more information in the [Basic Notifications](/docs/ecosystem/ios/notifications/basic/) documentation and the [Actionable Notifications](/docs/ecosystem/ios/notifications/actions/) documentation.
|
||||
|
|
|
@ -59,7 +59,7 @@ automation
|
|||
```
|
||||
|
||||
### {% linkable_title Sending notifications to multiple phones %}
|
||||
To send notifications to multiple phones, create a [notification group](https://home-assistant.io/components/notify.group/):
|
||||
To send notifications to multiple phones, create a [notification group](/components/notify.group/):
|
||||
```yaml
|
||||
notify:
|
||||
- name: NOTIFIER_NAME
|
||||
|
|
|
@ -10,7 +10,7 @@ footer: true
|
|||
redirect_from: /ecosystem/scenegen/
|
||||
---
|
||||
|
||||
Scenegen is a scene generation tool for [Home Assistant](https://home-assistant.io/) home automation software. It creates scenes by example, by reading the current states of devices and outputting a corresponding scene. Scenegen is written in python using Home Assistant's RESTFul API so can be run from anywhere. It currently supports lights and switches only.
|
||||
Scenegen is a scene generation tool for [Home Assistant](/) home automation software. It creates scenes by example, by reading the current states of devices and outputting a corresponding scene. Scenegen is written in python using Home Assistant's RESTFul API so can be run from anywhere. It currently supports lights and switches only.
|
||||
|
||||
## {% linkable_title Installation %}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ footer: true
|
|||
redirect_from: /getting-started/mobile/
|
||||
---
|
||||
|
||||
Home Assistant has [a companion app for iOS](https://home-assistant.io/docs/ecosystem/ios/).
|
||||
Home Assistant has [a companion app for iOS](/docs/ecosystem/ios/).
|
||||
|
||||
On both Android and iOS, you can add the Home Assistant "web app" to your homescreen as if it was native (Home Assistant leverages the W3C [manifest.json](https://w3c.github.io/manifest/) support).
|
||||
|
||||
|
|
|
@ -35,13 +35,13 @@ $ python --version
|
|||
Python 3.6.3
|
||||
```
|
||||
|
||||
You will be in a command shell set up with Python 3.6 as your default version. The virtualenv and pip commands will be correct for this version, so you can now create a virtual environment and install Home Assistant following the main [instructions](https://home-assistant.io/docs/installation/virtualenv/#step-4-set-up-the-virtualenv).
|
||||
You will be in a command shell set up with Python 3.6 as your default version. The virtualenv and pip commands will be correct for this version, so you can now create a virtual environment and install Home Assistant following the main [instructions](/docs/installation/virtualenv/#step-4-set-up-the-virtualenv).
|
||||
|
||||
You will need to enable the software collection each time you log on before you activate your virtual environment.
|
||||
|
||||
### {% linkable_title Systemd with Software Collections %}
|
||||
|
||||
To autostart Home Assistant using systemd follow the main [instructions](https://home-assistant.io/docs/autostart/systemd/) and adjust the template as follows:
|
||||
To autostart Home Assistant using systemd follow the main [instructions](/docs/autostart/systemd/) and adjust the template as follows:
|
||||
|
||||
```
|
||||
[Unit]
|
||||
|
|
|
@ -9,5 +9,5 @@ redirect_from: /getting-started/installation-raspberry-pi-all-in-one/
|
|||
---
|
||||
|
||||
<p class='note warning'>
|
||||
The All-In-One Installer is deprecated, you will have problems updating Home Assistant in 2018. Please move to another [installation method](https://home-assistant.io/getting-started/).
|
||||
The All-In-One Installer is deprecated, you will have problems updating Home Assistant in 2018. Please move to another [installation method](/getting-started/).
|
||||
</p>
|
||||
|
|
|
@ -9,7 +9,7 @@ sharing: true
|
|||
footer: true
|
||||
---
|
||||
|
||||
The frontend contains a section called "Developer Tools".
|
||||
The frontend contains a section called "Developer Tools".
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/developer-tools.png' />
|
||||
|
@ -63,7 +63,7 @@ For ex: Changing the `light.bedroom` state from `off` to `on` does not turn on t
|
|||
|
||||
This Events section is as basic as it can get. It does only one thing – fires events on the event bus.
|
||||
To fire an event, simply type the name of the event, and pass the event data in JSON format.
|
||||
For ex: To fire a custom event, enter the `event_type` as `event_light_state_changed` and the event data JSON as
|
||||
For ex: To fire a custom event, enter the `event_type` as `event_light_state_changed` and the event data JSON as
|
||||
|
||||
```json
|
||||
{ "state":"on" }
|
||||
|
@ -83,19 +83,19 @@ If there is an automation that handles that event, it will be automatically trig
|
|||
|
||||
{% linkable_title Template Editor %}
|
||||
|
||||
The Template Editor provides a way to test the template code quickly. When the Template Editor page is loaded, it comes with a sample template code that illustrates how the code can be written and tested.
|
||||
The Template Editor provides a way to test the template code quickly. When the Template Editor page is loaded, it comes with a sample template code that illustrates how the code can be written and tested.
|
||||
|
||||
It has two sections, code goes on the left hand side, and the output is shown on the right hand side. The code can be removed and replaced, and when the page is loaded/refreshed, the default sample code will be loaded back.
|
||||
It has two sections, code goes on the left hand side, and the output is shown on the right hand side. The code can be removed and replaced, and when the page is loaded/refreshed, the default sample code will be loaded back.
|
||||
|
||||
It is a good practice to test the template code in the template editor prior to putting it in automations and scripts.
|
||||
|
||||
For more information about jinja2, visit [jinja2 documentation](http://jinja.pocoo.org/docs/dev/templates/), and also read templating document [here](https://home-assistant.io/topics/templating/)
|
||||
For more information about jinja2, visit [jinja2 documentation](http://jinja.pocoo.org/docs/dev/templates/), and also read templating document [here](/topics/templating/)
|
||||
|
||||
|
||||
{% linkable_title mqtt %}
|
||||
|
||||
This section is only visible if the MQTT is configured. To configure MQTT, add `mqtt:` to the `configuration.yaml` file. For more information, refer to [mqtt]( https://home-assistant.io/components/mqtt/)
|
||||
Even though MQTT in general provides deeper functionality, the developer tools section of MQTT is limited to publishing messages to a given topic. It supports templates for the payload. To publish a message, simply specify the topic name and the payload and click “PUBLISH” button.
|
||||
This section is only visible if the MQTT is configured. To configure MQTT, add `mqtt:` to the `configuration.yaml` file. For more information, refer to [mqtt](/components/mqtt/)
|
||||
Even though MQTT in general provides deeper functionality, the developer tools section of MQTT is limited to publishing messages to a given topic. It supports templates for the payload. To publish a message, simply specify the topic name and the payload and click “PUBLISH” button.
|
||||
|
||||
{% linkable_title Info %}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ To add (include) a non-secure Z-Wave [device](/docs/z-wave/devices/) to your sys
|
|||
3. Activate your device to be included by following the instructions provided with the device
|
||||
4. With the device in its final location, run a *Heal Network*
|
||||
|
||||
Don't use this for [secure devices](https://home-assistant.io/docs/z-wave/adding/#adding-secure-devices), since this is likely to limit the features the device supports.
|
||||
Don't use this for [secure devices](/docs/z-wave/adding/#adding-secure-devices), since this is likely to limit the features the device supports.
|
||||
|
||||
<p class='note warning'>
|
||||
Don't use the OpenZWave control panel (OZWCP), **or the physical button on a controller**, to add or remove devices. Many devices will only send the information about their capabilities at the time you include them. If you use the OpenZWave control panel, or the button on a device, then Home Assistant won't have that information. Using the physical button on a controller will also result in a non-security inclusion being performed, which may limit the features the device supports.
|
||||
|
|
|
@ -33,7 +33,7 @@ Here is where you [include and exclude](/docs/z-wave/adding/) Z-Wave devices fro
|
|||
## {% linkable_title Z-Wave Node Management %}
|
||||
|
||||
<p class='note warning'>
|
||||
Since 0.63 and the new experimental [entity registry](https://home-assistant.io/docs/configuration/entity-registry/) **Rename Node** no longer changes the entity id for anything other than the `zwave.` entity for the node (it does change, the default *friendly_name* and *old_entity_id* and *new_entity_id* attributes for all the entities). See [this issue](https://github.com/home-assistant/home-assistant/issues/12430).
|
||||
Since 0.63 and the new experimental [entity registry](/docs/configuration/entity-registry/) **Rename Node** no longer changes the entity id for anything other than the `zwave.` entity for the node (it does change, the default *friendly_name* and *old_entity_id* and *new_entity_id* attributes for all the entities). See [this issue](https://github.com/home-assistant/home-assistant/issues/12430).
|
||||
</p>
|
||||
|
||||
* **Refresh Node** refreshes the information on the node and its entities. If used on a battery powered device, the device will first need to wake for this to work.
|
||||
|
@ -41,7 +41,7 @@ Since 0.63 and the new experimental [entity registry](https://home-assistant.io/
|
|||
* **Replace Failed Node** will replace a failed device with another. If the node is not in the controller's Failed Node List, or the node responds, this command will fail.
|
||||
* **Print Node** prints all state of Z-Wave node to the console log
|
||||
|
||||
* **Rename Node** sets the name of the `zwave` entity - this won't happen immediately, and requires you to restart Home Assistant (not reboot) to set the new name. Other entities of a device are renamed using the [entity registry](https://home-assistant.io/docs/configuration/entity-registry/).
|
||||
* **Rename Node** sets the name of the `zwave` entity - this won't happen immediately, and requires you to restart Home Assistant (not reboot) to set the new name. Other entities of a device are renamed using the [entity registry](/docs/configuration/entity-registry/).
|
||||
|
||||
* **Heal Node** starts healing of the node.(Update neighbor list and update return routes)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue