mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-21 08:16:53 +00:00
Merge remote-tracking branch 'origin/rc' into next
This commit is contained in:
commit
f0d494bfd4
@ -65,7 +65,7 @@ Screenshot of the HASS Configurator.
|
||||
|
||||
### {% linkable_title Embedding into Home-Assistant %}
|
||||
|
||||
Using the Home Assistant component [panel_iframe](https://home-assistant.io/components/panel_iframe/) it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration from within the Home Assistant frontend.
|
||||
Using the Home Assistant component [panel_iframe](/components/panel_iframe/) it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration from within the Home Assistant frontend.
|
||||
|
||||
An example configuration would look like this:
|
||||
|
||||
|
@ -11,7 +11,7 @@ featured: true
|
||||
---
|
||||
|
||||
<p class='note'>
|
||||
If you want to integrate your Google Home, or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component](https://home-assistant.io/components/google_assistant/).
|
||||
If you want to integrate your Google Home, or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component](/components/google_assistant/).
|
||||
</p>
|
||||
|
||||
[Google Assistant][GoogleAssistant] is an AI-powered voice assistant that runs on the Raspberry Pi and x86 platforms and interact via the [DialogFlow][comp] integration with Home-Assistant. You can also use [Google Actions][GoogleActions] to extend its functionality.
|
||||
@ -66,7 +66,7 @@ Configuration example that uses the USB microphone and the built-in headset audi
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **mic**: This is the hardware address of your microphone. Look at the add-on output
|
||||
- **mic**: This is the hardware address of your microphone. Look at the add-on output
|
||||
- **speaker**: This is the hardware address of your speakers. Look at the add-on output
|
||||
|
||||
### {% linkable_title Home Assistant configuration %}
|
||||
|
@ -19,9 +19,9 @@ After any changes have been made to the configuration, you need to restart the a
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **id** (*Required*): A number and must be unique for each device.
|
||||
- **name** (*Required*): A name for easy identification of the device.
|
||||
- **protocol** (*Required*): This is the protocol the device uses. More on the different protocols later down.
|
||||
- **id** (*Required*): A number and must be unique for each device.
|
||||
- **name** (*Required*): A name for easy identification of the device.
|
||||
- **protocol** (*Required*): This is the protocol the device uses. More on the different protocols later down.
|
||||
- **model** (*Optional*): The model parameter is only used by some protocols where there exists different types of devices using the same protocol. This can be dimmers versus non-dimmers, codeswitch versus self-learning, etc.
|
||||
- **house** (*Optional*): Depending on protocol the values here can vary a lot to identify or group per house or type.
|
||||
- **unit** (*Optional*): Unit identifier, in most cases a value between 1 to 16 and often used in combination with the house.
|
||||
@ -37,10 +37,10 @@ You will need to add internal communication details to `configuration.yaml` to e
|
||||
tellstick:
|
||||
host: core-tellstick
|
||||
port: [50800, 50801]
|
||||
|
||||
|
||||
```
|
||||
|
||||
To add [lights](https://home-assistant.io/components/light.tellstick/), [sensors](https://home-assistant.io/components/sensor.tellstick/) and [switches](https://home-assistant.io/components/switch.tellstick/) you follow the guidelines for each type individually that is [described for Home Assistant](https://home-assistant.io/components/tellstick/)
|
||||
To add [lights](/components/light.tellstick/), [sensors](/components/sensor.tellstick/) and [switches](/components/switch.tellstick/) you follow the guidelines for each type individually that is [described for Home Assistant](/components/tellstick/)
|
||||
|
||||
The add-on will also enable you to interact with the `tdtool` via a Home Assistant services call, see example below for self-learning device.
|
||||
|
||||
|
@ -46,7 +46,7 @@ Additionally, note that at the time of this writing, your Alexa skill endpoint *
|
||||
OR
|
||||
2. Change your Home Assistant serving port to 443 this is done in the [`http`](/components/http/) section with the `server_port` entry in your `configuration.yaml` file
|
||||
|
||||
[blog-lets-encrypt]: https://home-assistant.io/blog/2015/12/13/setup-encryption-using-lets-encrypt/
|
||||
[blog-lets-encrypt]: /blog/2015/12/13/setup-encryption-using-lets-encrypt/
|
||||
|
||||
To get started with Alexa skills:
|
||||
|
||||
|
@ -56,7 +56,7 @@ Configuration variables:
|
||||
**Note:** Amcrest cameras with newer firmware no longer have the ability to stream `high` definition video with MJPEG encoding. You may need to use `low` resolution stream or the `snapshot` stream source instead. If the quality seems too poor, lower the `Frame Rate (FPS)` and max out the `Bit Rate` settings in your camera's configuration manager. If you defined the *stream_source* to **mjpeg**, make sure your camera supports *Basic* HTTP authentication. Newer Amcrest firmware may not work, then **rtsp** is recommended instead.
|
||||
|
||||
**Note:** If you set the `stream_source` option to `rtsp`, make sure to follow the steps mentioned at
|
||||
[FFMPEG](https://home-assistant.io/components/ffmpeg/) documentation to install the `ffmpeg`.
|
||||
[FFMPEG](/components/ffmpeg/) documentation to install the `ffmpeg`.
|
||||
|
||||
Finish its configuration by visiting the [Amcrest sensor page](/components/sensor.amcrest/) or [Amcrest camera page](/components/camera.amcrest/).
|
||||
|
||||
|
@ -38,4 +38,4 @@ The way these sensors are displayed in the frontend can be modified in the [cust
|
||||
- **vibration**: `On` means vibration detected, `Off` means no vibration (clear)
|
||||
- **window**: `On` means open, `Off` means closed
|
||||
|
||||
For analog sensors please check the [component overview](https://home-assistant.io/components/#sensor).
|
||||
For analog sensors please check the [component overview](/components/#sensor).
|
||||
|
@ -63,7 +63,7 @@ calendar:
|
||||
- Calculus II
|
||||
```
|
||||
|
||||
(See [here](https://home-assistant.io/docs/configuration/secrets/) for more details about what that `!secret` does -- it's not exclusive to Todoist, and can help keep your API keys and passwords a little safer!)
|
||||
(See [here](/docs/configuration/secrets/) for more details about what that `!secret` does -- it's not exclusive to Todoist, and can help keep your API keys and passwords a little safer!)
|
||||
|
||||
As you can see, there are 4 custom projects here:
|
||||
|
||||
|
@ -30,4 +30,4 @@ Configuration variables:
|
||||
|
||||
- **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g., image quality or video filter options.
|
||||
|
||||
**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](https://home-assistant.io/components/ffmpeg/) documentation.
|
||||
**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/) documentation.
|
||||
|
@ -13,7 +13,7 @@ ha_release: 0.57
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
To get your [Ring.com](https://ring.com/) cameras working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring). Please note that downloading and playing Ring video will require a Ring Protect plan.
|
||||
To get your [Ring.com](https://ring.com/) cameras working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring). Please note that downloading and playing Ring video will require a Ring Protect plan.
|
||||
|
||||
Once you have enabled the [Ring component](/components/ring), add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -28,7 +28,7 @@ Configuration variables:
|
||||
- **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g., image quality or video filter options.
|
||||
- **scan_interval**: (*Optional*): How frequently to query for new video. Defaults to 90 seconds.
|
||||
|
||||
**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](https://home-assistant.io/components/ffmpeg/) documentation.
|
||||
**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/) documentation.
|
||||
|
||||
Currently it supports doorbell and stickup cameras.
|
||||
|
||||
|
@ -12,7 +12,7 @@ ha_category: Other
|
||||
---
|
||||
|
||||
|
||||
The `demo` platform allows you to use components which are providing a demo of their implementation. The demo entities are dummies but show you how the actual platform looks like. This way you can run own demonstration instance like the online [Home Assistant demo](https://home-assistant.io/demo/) or `hass --demo-mode` but combined with your own real/functional platforms.
|
||||
The `demo` platform allows you to use components which are providing a demo of their implementation. The demo entities are dummies but show you how the actual platform looks like. This way you can run own demonstration instance like the online [Home Assistant demo](/demo/) or `hass --demo-mode` but combined with your own real/functional platforms.
|
||||
|
||||
Available demo platforms:
|
||||
|
||||
|
@ -39,8 +39,8 @@ device_tracker:
|
||||
|
||||
To configure Geofency, you must configure (via the Webhook feature) to send a POST request to your Home Assistant server at `http://<ha_server>/api/geofency`. Use the default POST format, and make sure to include the API password if you have configured a password in Home Assistant (add `?api_password=<password>` to the end of the URL). Make sure to enable the 'Update Geo-Position' functionality for mobile beacons.
|
||||
|
||||
Geofency will automatically generate the device tracker name used for geofences, and you will find it in `known_devices.yaml` after the first request. For beacons, the device name will be `beacon_<name from Geofency>`, e.g., `device_tracker.beacon_car`.
|
||||
Geofency will automatically generate the device tracker name used for geofences, and you will find it in `known_devices.yaml` after the first request. For beacons, the device name will be `beacon_<name from Geofency>`, e.g., `device_tracker.beacon_car`.
|
||||
|
||||
When you enter a geofence or stationary beacon, your location name in Home Assistant will be set to the name of the geofence or beacon location in Geofency. When you exit a geofence or stationary beacon, your location name in Home Assistant will be set to 'not home'. For mobile beacons, the location name will be 'not_home' whenever the beacon is entered or exited outside of a [zone](https://home-assistant.io/components/zone/), otherwise, it will be set to the name of the zone.
|
||||
When you enter a geofence or stationary beacon, your location name in Home Assistant will be set to the name of the geofence or beacon location in Geofency. When you exit a geofence or stationary beacon, your location name in Home Assistant will be set to 'not home'. For mobile beacons, the location name will be 'not_home' whenever the beacon is entered or exited outside of a [zone](/components/zone/), otherwise, it will be set to the name of the zone.
|
||||
|
||||
To make Geofency work better with the [proximity](https://home-assistant.io/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited.
|
||||
To make Geofency work better with the [proximity](/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited.
|
@ -13,7 +13,7 @@ Home Assistant can get information from your wireless router or third party serv
|
||||
|
||||
There are also trackers available which use different technologies like [MQTT](/components/mqtt/) or [Nmap](/components/device_tracker.nmap_tracker/) to scan the network for devices.
|
||||
|
||||
An [event](/getting-started/automation-trigger/#event-trigger) (`device_tracker_new_device`) will be fired when a device is discovered for the first time.
|
||||
An [event](/getting-started/automation-trigger/#event-trigger) (`device_tracker_new_device`) will be fired when a device is discovered for the first time.
|
||||
|
||||
## {% linkable_title Configuring a `device_tracker` platform %}
|
||||
|
||||
@ -65,7 +65,7 @@ Here's an example configuration for a single device:
|
||||
devicename:
|
||||
name: Friendly Name
|
||||
mac: EA:AA:55:E7:C6:94
|
||||
picture: https://home-assistant.io/images/favicon-192x192.png
|
||||
picture: https://www.home-assistant.io/images/favicon-192x192.png
|
||||
track: yes
|
||||
hide_if_away: no
|
||||
```
|
||||
|
@ -15,12 +15,6 @@ ha_release: 0.7.4
|
||||
|
||||
This platform allows you to detect presence using [Owntracks](http://owntracks.org/). OwnTracks allows users to track their location on iOS phones and publish it to an MQTT broker. This platform will connect to the broker and monitor for new locations.
|
||||
|
||||
<p class='note'>
|
||||
<del>The Android app for OwnTracks is no longer developed or supported, Zanzito is a drop in replacement for OwnTracks MQTT.
|
||||
<a href="#using-owntracks-with-zanzito">See Instructions</a></del>
|
||||
As of February 2018 it appears that development of the Android app for OwnTracks is being done again. It is currently in beta status and a direct play store link is https://play.google.com/apps/testing/org.owntracks.android
|
||||
</p>
|
||||
|
||||
This component requires [the MQTT component](/components/mqtt/) to be set up and works very well together with [the zone component](/components/zone/).
|
||||
|
||||
To integrate Owntracks in Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
@ -69,16 +63,12 @@ An example showing the inclusion of the `mac` field for multiple component track
|
||||
USERNAME_DEVICE_ID:
|
||||
name: Friendly Name
|
||||
mac: EA:AA:55:E7:C6:94
|
||||
picture: https://home-assistant.io/images/favicon-192x192.png
|
||||
picture: https://www.home-assistant.io/images/favicon-192x192.png
|
||||
gravatar: test@example.com
|
||||
track: yes
|
||||
hide_if_away: no
|
||||
```
|
||||
|
||||
### {% linkable_title Using Owntracks with Zanzito %}
|
||||
|
||||
To use the Owntracks component with Zanzito set the `mqtt_topic` parameter to `"zanzito/#"`
|
||||
|
||||
### {% linkable_title Using Owntracks regions %}
|
||||
|
||||
Owntracks can track regions, and send region entry and exit information to Home Assistant (HA). You set up a region in the Owntracks app which you should name the same as your HA Zone, and then make sure to turn on the `share` option for the region in the owntracks app. Please see the [owntracks documentation](http://owntracks.org/booklet/guide/waypoints/).
|
||||
|
@ -13,7 +13,7 @@ ha_release: 0.59
|
||||
---
|
||||
|
||||
|
||||
This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ubnt.com/products/#unifi). This device tracker differs form [Ubiquiti Unifi WAP](https://home-assistant.io/components/device_tracker.unifi/) because it doesn't require the Unifi controller software.
|
||||
This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ubnt.com/products/#unifi). This device tracker differs form [Ubiquiti Unifi WAP](/components/device_tracker.unifi/) because it doesn't require the Unifi controller software.
|
||||
|
||||
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -14,31 +14,31 @@ ha_category: Other
|
||||
|
||||
Home Assistant can discover and automatically configure [zeroconf](https://en.wikipedia.org/wiki/Zero-configuration_networking)/[mDNS](https://en.wikipedia.org/wiki/Multicast_DNS) and [uPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play) devices on your network. Currently the `discovery` component can detect:
|
||||
|
||||
* [Apple TV](https://home-assistant.io/components/apple_tv/)
|
||||
* [Axis Communications security devices](https://home-assistant.io/components/axis/)
|
||||
* [Belkin WeMo switches](https://home-assistant.io/components/wemo/)
|
||||
* [Bluesound speakers](https://home-assistant.io/components/media_player.bluesound/)
|
||||
* [Bose Soundtouch speakers](https://home-assistant.io/components/media_player.soundtouch/)
|
||||
* [Denon network receivers](https://home-assistant.io/components/media_player.denonavr/)
|
||||
* [DirecTV receivers](https://home-assistant.io/components/media_player.directv/)
|
||||
* [Frontier Silicon internet radios](https://home-assistant.io/components/media_player.frontier_silicon/)
|
||||
* [Google Cast](https://home-assistant.io/components/media_player.cast/)
|
||||
* [IKEA Trådfri (Tradfri)](https://home-assistant.io/components/tradfri/)
|
||||
* [Linn / Openhome](https://home-assistant.io/components/media_player.openhome/)
|
||||
* [Logitech Harmony Hub](https://home-assistant.io/components/remote.harmony/)
|
||||
* [Logitech media server (Squeezebox)](https://home-assistant.io/components/media_player.squeezebox/)
|
||||
* [Netgear routers](https://home-assistant.io/components/device_tracker.netgear/)
|
||||
* [Panasonic Viera](https://home-assistant.io/components/media_player.panasonic_viera/)
|
||||
* [Philips Hue](https://home-assistant.io/components/light.hue/)
|
||||
* [Plex media server](https://home-assistant.io/components/media_player.plex/)
|
||||
* [Roku media player](https://home-assistant.io/components/media_player.roku/)
|
||||
* [SABnzbd downloader](https://home-assistant.io/components/sensor.sabnzbd/)
|
||||
* [Samsung TVs](https://home-assistant.io/components/media_player.samsungtv/)
|
||||
* [Sonos speakers](https://home-assistant.io/components/media_player.sonos/)
|
||||
* [Telldus Live](https://home-assistant.io/components/tellduslive/)
|
||||
* [Wink](https://home-assistant.io/components/wink/)
|
||||
* [Yamaha media player](https://home-assistant.io/components/media_player.yamaha/)
|
||||
* [Yeelight Sunflower bulb](https://home-assistant.io/components/light.yeelightsunflower/)
|
||||
* [Apple TV](/components/apple_tv/)
|
||||
* [Axis Communications security devices](/components/axis/)
|
||||
* [Belkin WeMo switches](/components/wemo/)
|
||||
* [Bluesound speakers](/components/media_player.bluesound/)
|
||||
* [Bose Soundtouch speakers](/components/media_player.soundtouch/)
|
||||
* [Denon network receivers](/components/media_player.denonavr/)
|
||||
* [DirecTV receivers](/components/media_player.directv/)
|
||||
* [Frontier Silicon internet radios](/components/media_player.frontier_silicon/)
|
||||
* [Google Cast](/components/media_player.cast/)
|
||||
* [IKEA Trådfri (Tradfri)](/components/tradfri/)
|
||||
* [Linn / Openhome](/components/media_player.openhome/)
|
||||
* [Logitech Harmony Hub](/components/remote.harmony/)
|
||||
* [Logitech media server (Squeezebox)](/components/media_player.squeezebox/)
|
||||
* [Netgear routers](/components/device_tracker.netgear/)
|
||||
* [Panasonic Viera](/components/media_player.panasonic_viera/)
|
||||
* [Philips Hue](/components/light.hue/)
|
||||
* [Plex media server](/components/media_player.plex/)
|
||||
* [Roku media player](/components/media_player.roku/)
|
||||
* [SABnzbd downloader](/components/sensor.sabnzbd/)
|
||||
* [Samsung TVs](/components/media_player.samsungtv/)
|
||||
* [Sonos speakers](/components/media_player.sonos/)
|
||||
* [Telldus Live](/components/tellduslive/)
|
||||
* [Wink](/components/wink/)
|
||||
* [Yamaha media player](/components/media_player.yamaha/)
|
||||
* [Yeelight Sunflower bulb](/components/light.yeelightsunflower/)
|
||||
|
||||
It will be able to add Google Chromecasts and Belkin WeMo switches automatically, for Philips Hue it will require some configuration from the user.
|
||||
|
||||
@ -100,7 +100,7 @@ If you are on Windows and you're using Python 3.5, download the [Netifaces](http
|
||||
|
||||
<p class='note'>
|
||||
If you see `Not initializing discovery because could not install dependency netdisco==0.6.1` in the logs, you will need to install the `python3-dev` or `python3-devel` package on your system manually (eg. `sudo apt-get install python3-dev` or `sudo dnf -y install python3-devel`). On the next restart of Home Assistant, the discovery should work. If you still get an error, check if you have a compiler (`gcc`) available on your system.
|
||||
|
||||
|
||||
For DSM/Synology, install via debian-chroot [see this forum post](https://community.home-assistant.io/t/error-starting-home-assistant-on-synology-for-first-time/917/15).
|
||||
</p>
|
||||
|
||||
|
@ -14,7 +14,7 @@ ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
<p class='note warning'>
|
||||
Be aware that `emulated_hue` doesn't work for new **Google Home** users. If you're a new user of Google Home, use the [Google Assistant component](https://home-assistant.io/components/google_assistant/).
|
||||
Be aware that `emulated_hue` doesn't work for new **Google Home** users. If you're a new user of Google Home, use the [Google Assistant component](/components/google_assistant/).
|
||||
</p>
|
||||
|
||||
The `emulated_hue` component provides a virtual Philips Hue bridge, written entirely in software, which allows services that work with the Hue API to interact with Home Assistant
|
||||
@ -126,7 +126,7 @@ An additional step is required to run Home Assistant as a non-root user and use
|
||||
```bash
|
||||
sudo setcap 'cap_net_bind_service=+ep' /srv/homeassistant/homeassistant_venv/bin/python3
|
||||
```
|
||||
Please note that your path may be different depending on your installation method. For example, if you followed the [Virtualenv instructions](https://home-assistant.io/docs/installation/virtualenv/), your path will be `/srv/homeassistant/bin/python3`.
|
||||
Please note that your path may be different depending on your installation method. For example, if you followed the [Virtualenv instructions](/docs/installation/virtualenv/), your path will be `/srv/homeassistant/bin/python3`.
|
||||
|
||||
### {% linkable_title License %}
|
||||
|
||||
|
@ -20,7 +20,7 @@ To use RSS feeds in your installation, add the following to your `configuration.
|
||||
# Example configuration.yaml entry
|
||||
feedreader:
|
||||
urls:
|
||||
- https://home-assistant.io/atom.xml
|
||||
- https://www.home-assistant.io/atom.xml
|
||||
- https://github.com/blog.atom
|
||||
- https://hasspodcast.io/feed/podcast
|
||||
```
|
||||
|
@ -14,7 +14,7 @@ ha_release: 0.57
|
||||
The Global Caché [GC-100](https://www.globalcache.com/products/gc-100/) can be integrated into Home Assistant. GC-100 is a TCP-controllable
|
||||
hardware device which has an array of relays, RS232 serial ports, and flexible ports which can be programmed to be either digital inputs or IR blaster outputs. There are a variety of submodels of the GC-100 which have different amounts of each I/O type.
|
||||
|
||||
Currently, only relays and ports configured to be digital inputs are supported in Home Assistant. For IR support, please use the iTach remote platform (https://home-assistant.io/components/remote.itach/), but note that it will likely not function concurrently on the same GC100 due to limitations in the TCP socket server implementation used by Global Caché.
|
||||
Currently, only relays and ports configured to be digital inputs are supported in Home Assistant. For IR support, please use the iTach remote platform (/components/remote.itach/), but note that it will likely not function concurrently on the same GC100 due to limitations in the TCP socket server implementation used by Global Caché.
|
||||
|
||||
To enable this device, add the following lines to your `configuration.yaml`:
|
||||
|
||||
|
@ -13,7 +13,7 @@ ha_iot_class: "Local Push"
|
||||
featured: false
|
||||
---
|
||||
|
||||
The [Homematic](http://www.homematic.com/) component provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit.
|
||||
The [Homematic](http://www.homematic.com/) component provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit.
|
||||
If you are using Homegear with paired [Intertechno](http://intertechno.at/) devices, uni-directional communication is possible as well.
|
||||
|
||||
Device support is available for most of the wired and wireless devices, as well as a few IP devices. If you have a setup with mixed protocols, you have to configure additional hosts with the appropriate ports. The default is using port 2001, which are wireless devices. Wired devices usually are available through port 2000 and IP devices through port 2010. The virtual thermostatgroups the CCU provides use port 9292 **and** require you to set the `path` setting to `/groups`.
|
||||
@ -89,7 +89,7 @@ homematic:
|
||||
host: 127.0.0.1
|
||||
username: Admin
|
||||
password: secret
|
||||
|
||||
|
||||
```
|
||||
|
||||
### {% linkable_title The `resolvenames` option %}
|
||||
@ -110,7 +110,7 @@ This does *not* affect the entities in Home Assistant. They all use their own co
|
||||
|
||||
### {% linkable_title Reading attributes of entities %}
|
||||
|
||||
Most devices have, besides their state, additional attributes like their battery state or valve position. These can be accessed using templates in automations, or even as their own entities using the [template sensor](https://home-assistant.io/components/sensor.template/) component. Here's an example of a template sensor that exposes the valve state of a thermostat.
|
||||
Most devices have, besides their state, additional attributes like their battery state or valve position. These can be accessed using templates in automations, or even as their own entities using the [template sensor](/components/sensor.template/) component. Here's an example of a template sensor that exposes the valve state of a thermostat.
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
|
@ -35,13 +35,13 @@ Configuration variables:
|
||||
- **base_url** (*Optional*): The URL that Home Assistant is available on the internet. For example: `hass-example.duckdns.org:8123`. Defaults to the local IP address. The iOS app finds local installations, if you have an outside URL use this so that you can auto-fill when discovered in the app.
|
||||
- **ssl_certificate** (*Optional*): Path to your TLS/SSL certificate to serve Home Assistant over a secure connection.
|
||||
- **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection.
|
||||
- **cors_allowed_origins** (*Optional*): A list of origin domain names to allow [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests from. Enabling this will set the `Access-Control-Allow-Origin` header to the Origin header if it is found in the list, and the `Access-Control-Allow-Headers` header to `Origin, Accept, X-Requested-With, Content-type, X-HA-access`. You must provide the exact Origin, i.e. `https://home-assistant.io` will allow requests from `https://home-assistant.io` but __not__ `http://home-assistant.io`.
|
||||
- **cors_allowed_origins** (*Optional*): A list of origin domain names to allow [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests from. Enabling this will set the `Access-Control-Allow-Origin` header to the Origin header if it is found in the list, and the `Access-Control-Allow-Headers` header to `Origin, Accept, X-Requested-With, Content-type, X-HA-access`. You must provide the exact Origin, i.e. `https://www.home-assistant.io` will allow requests from `https://www.home-assistant.io` but __not__ `http://www.home-assistant.io`.
|
||||
- **use_x_forwarded_for** (*Optional*): Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You should only enable this in a trustworthy network environment, as clients passing that header could easily spoof their source IP address. Defaults to False.
|
||||
- **trusted_networks** (*Optional*): List of trusted networks, consisting of IP addresses or networks, that are allowed to bypass password protection when accessing Home Assistant. It should be noted that if you use a reverse proxy, all requests to Home Assistant, regardless of source, will arrive from the reverse proxy IP address. Therefore in a reverse proxy scenario, this option should be used with extreme care.
|
||||
- **ip_ban_enabled** (*Optional*): Flag indicating whether additional IP filtering is enabled. Defaults to False.
|
||||
- **login_attempts_threshold** (*Optional*): Number of failed login attempt from single IP after which it will be automatically banned if `ip_ban_enabled` is True. Defaults to -1, meaning that no new automatic bans will be added.
|
||||
|
||||
The sample below shows a configuration entry with possible values:
|
||||
The sample below shows a configuration entry with possible values:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -52,7 +52,7 @@ http:
|
||||
ssl_key: /etc/letsencrypt/live/hass.example.com/privkey.pem
|
||||
cors_allowed_origins:
|
||||
- https://google.com
|
||||
- https://home-assistant.io
|
||||
- https://www.home-assistant.io
|
||||
use_x_forwarded_for: True
|
||||
trusted_networks:
|
||||
- 127.0.0.1
|
||||
@ -69,7 +69,7 @@ Or use a self signed certificate following the instructions here [Self-signed ce
|
||||
|
||||
On top of the `http` component is a [REST API](/developers/rest_api/), [Python API](/developers/python_api/) and [WebSocket API](/developers/websocket_api/) available. There is also support for [Server-sent events](/developers/server_sent_events/).
|
||||
|
||||
The `http` platforms are not real platforms within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) sends and receives messages over HTTP.
|
||||
The `http` platforms are not real platforms within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) sends and receives messages over HTTP.
|
||||
|
||||
To use those kind of [sensors](/components/sensor.http/) or [binary sensors](components/binary_sensor.http/) in your installation no configuration in Home Assistant is needed. All configuration is done on the devices themselves. This means that you must be able to edit the target URL or endpoint and the payload. The entity will be created after the first message has arrived.
|
||||
|
||||
@ -77,15 +77,15 @@ All [requests](/developers/rest_api/#post-apistatesltentity_id) need to be sent
|
||||
|
||||
If you want to use Home Assistant to host or serve static files then create a directory called `www` under the `.homeassistant` configuration path. The static files in `.homeassistant/www/` can be accessed by the following URL `http://your.domain:8123/local/`.
|
||||
|
||||
If you want to apply additional IP filtering, and automatically ban brute force attempts, set `ip_ban_enabled` to `True` and the maximum number of attempts. After the first ban, an `ip_bans.yaml` file will be created in the root configuration folder. It will have the banned IP address and time in UTC when it was added:
|
||||
If you want to apply additional IP filtering, and automatically ban brute force attempts, set `ip_ban_enabled` to `True` and the maximum number of attempts. After the first ban, an `ip_bans.yaml` file will be created in the root configuration folder. It will have the banned IP address and time in UTC when it was added:
|
||||
|
||||
```yaml
|
||||
127.0.0.1:
|
||||
banned_at: '2016-11-16T19:20:03'
|
||||
```
|
||||
|
||||
After a ban is added a Persistent Notification is populated to the Home Assistant frontend.
|
||||
After a ban is added a Persistent Notification is populated to the Home Assistant frontend.
|
||||
|
||||
<p class='note warning'>
|
||||
Please note, that sources from `trusted_networks` won't be banned automatically.
|
||||
Please note, that sources from `trusted_networks` won't be banned automatically.
|
||||
</p>
|
||||
|
@ -13,7 +13,7 @@ featured: false
|
||||
ha_release: 0.36
|
||||
---
|
||||
|
||||
[OpenALPR](http://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 or trigger any other [automation](https://home-assistant.io/components/automation/).
|
||||
[OpenALPR](http://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 or trigger any other [automation](/components/automation/).
|
||||
|
||||
For using the result inside an automation rule, take a look at the [component](/components/image_processing/) page.
|
||||
|
||||
|
@ -14,7 +14,7 @@ ha_release: 0.36
|
||||
redirect_from: /components/openalpr/
|
||||
---
|
||||
|
||||
[OpenALPR](http://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 or trigger any other [automation](https://home-assistant.io/components/automation/).
|
||||
[OpenALPR](http://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 or trigger any other [automation](/components/automation/).
|
||||
|
||||
For using inside automation look on [component](/components/image_processing) page.
|
||||
|
||||
|
@ -37,7 +37,7 @@ Configuration variables:
|
||||
- **max_retries** (*Optional*): Allow the component to retry if there was a network error when transmitting data
|
||||
- **default_measurement** (*Optional*): Measurement name to use when an entity doesn't have a unit. Defaults to entity id.
|
||||
- **override_measurement** (*Optional*): Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement.
|
||||
- **component_config**, **component_config_domain**, **component_config_glob** (*Optional*): These attributes contains component-specific override values. See [Customizing devices and services](https://home-assistant.io/getting-started/customizing-devices/) for format.
|
||||
- **component_config**, **component_config_domain**, **component_config_glob** (*Optional*): These attributes contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format.
|
||||
- **override_measurement** (*Optional*): Measurement name to use for this component, takes precedence over the global 'override_measurement' and component-specific 'unit_of_measurement' attribute.
|
||||
- **exclude** (*Optional*): Configure which components should be excluded from recording to InfluxDB.
|
||||
- **entities** (*Optional*): The list of entity ids to be excluded from recording to InfluxDB.
|
||||
|
@ -45,7 +45,7 @@ Once the ISY controller is configured, it will automatically import any binary s
|
||||
|
||||
An Insteon door/window sensor will show up as a single Binary Sensor rather than two discrete devices like it does in the ISY994 admin panel. Note that when in "Two Nodes" mode, the sensor will have an UNKNOWN state until the sensor changes for the first time since the last Home Assistant reboot. If you do not use Insteon scenes that are controlled directly from the door sensor, you may prefer to set the sensor to "One Node" mode using the ISY Admin Panel.
|
||||
|
||||
Each Insteon leak sensor will also show up as a single Binary Sensor as opposed to the two nodes seen in the ISY994. The name of the device will be based on what the parent node is named in the ISY994, which is typically the one with "-Dry" at the end of the name. This may be confusing, because "On" means wet in Home Assistant. You can rename this node either in the ISY994 Admin Panel (which will change the entity_id in Home Assistant) or assign a `friendly_name` in the [Customization section](https://home-assistant.io/docs/configuration/customizing-devices/) of your configuration.
|
||||
Each Insteon leak sensor will also show up as a single Binary Sensor as opposed to the two nodes seen in the ISY994. The name of the device will be based on what the parent node is named in the ISY994, which is typically the one with "-Dry" at the end of the name. This may be confusing, because "On" means wet in Home Assistant. You can rename this node either in the ISY994 Admin Panel (which will change the entity_id in Home Assistant) or assign a `friendly_name` in the [Customization section](/docs/configuration/customizing-devices/) of your configuration.
|
||||
|
||||
If your leak or door/window sensor supports heartbeats, a new binary_sensor device will be added to Home Assistant to represent the battery state. The sensor will stay "Off" so long as the daily heartbeats occur. If a heartbeat is missed, the sensor will flip to "On". The name of this device will be based on the heartbeat node in the ISY.
|
||||
|
||||
@ -125,7 +125,7 @@ My Programs
|
||||
```
|
||||
|
||||
A device is created by creating a directory, with the name for the device, under any of the following root directories:
|
||||
* *HA.binary_sensor* will create a binary sensor (see [Customizing Devices](https://home-assistant.io/getting-started/customizing-devices/) to set the sensor class)
|
||||
* *HA.binary_sensor* will create a binary sensor (see [Customizing Devices](/getting-started/customizing-devices/) to set the sensor class)
|
||||
* *HA.cover* will create a cover
|
||||
* *HA.fan* will create a fan
|
||||
* *HA.lock* will create a lock
|
||||
|
@ -185,7 +185,7 @@ payload_not_available:
|
||||
|
||||
## {% linkable_title Comparison of light MQTT platforms %}
|
||||
|
||||
| Function | [`mqtt`](https://home-assistant.io/components/light.mqtt/) | [`mqtt_json`](https://home-assistant.io/components/light.mqtt_json/) | [`mqtt_template`](https://home-assistant.io/components/light.mqtt_template/) |
|
||||
| Function | [`mqtt`](/components/light.mqtt/) | [`mqtt_json`](/components/light.mqtt_json/) | [`mqtt_template`](/components/light.mqtt_template/) |
|
||||
|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------|
|
||||
| Brightness | ✔ | ✔ | ✔ |
|
||||
| Color temperature | ✔ | ✔ | ✔ |
|
||||
|
@ -152,7 +152,7 @@ payload_not_available:
|
||||
|
||||
## {% linkable_title Comparison of light MQTT platforms %}
|
||||
|
||||
| Function | [`mqtt`](https://home-assistant.io/components/light.mqtt/) | [`mqtt_json`](https://home-assistant.io/components/light.mqtt_json/) | [`mqtt_template`](https://home-assistant.io/components/light.mqtt_template/) |
|
||||
| Function | [`mqtt`](/components/light.mqtt/) | [`mqtt_json`](/components/light.mqtt_json/) | [`mqtt_template`](/components/light.mqtt_template/) |
|
||||
|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------|
|
||||
| Brightness | ✔ | ✔ | ✔ |
|
||||
| Color temperature | ✔ | ✔ | ✔ |
|
||||
|
@ -123,7 +123,7 @@ payload_not_available:
|
||||
|
||||
## {% linkable_title Comparison of light MQTT platforms %}
|
||||
|
||||
| Function | [`mqtt`](https://home-assistant.io/components/light.mqtt/) | [`mqtt_json`](https://home-assistant.io/components/light.mqtt_json/) | [`mqtt_template`](https://home-assistant.io/components/light.mqtt_template/) |
|
||||
| Function | [`mqtt`](/components/light.mqtt/) | [`mqtt_json`](/components/light.mqtt_json/) | [`mqtt_template`](/components/light.mqtt_template/) |
|
||||
|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------|
|
||||
| Brightness | ✔ | ✔ | ✔ |
|
||||
| Color temperature | ✔ | ✔ | ✔ |
|
||||
|
@ -15,7 +15,7 @@ ha_iot_class: "Assumed State"
|
||||
|
||||
This `tellstick` light platform allows you to control your [TellStick](http://www.telldus.se/products/tellstick) dimmers.
|
||||
|
||||
To use your TellStick device, you first have to set up your [Tellstick hub](https://home-assistant.io/components/tellstick/) and then add the following to your `configuration.yaml` file:
|
||||
To use your TellStick device, you first have to set up your [Tellstick hub](/components/tellstick/) and then add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -14,9 +14,9 @@ ha_release: 0.21
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
[LIRC](http://www.lirc.org/) integration for Home Assistant allows you to receive signals from an infrared remote control and control actions based on the buttons you press. You can use them to set scenes or trigger any other [automation](https://home-assistant.io/components/automation/).
|
||||
[LIRC](http://www.lirc.org/) integration for Home Assistant allows you to receive signals from an infrared remote control and control actions based on the buttons you press. You can use them to set scenes or trigger any other [automation](/components/automation/).
|
||||
|
||||
Sending IR commands is not supported in this component (yet), but can be accomplished using the [shell_command component](https://home-assistant.io/components/shell_command/) in conjunction with the `irsend` command.
|
||||
Sending IR commands is not supported in this component (yet), but can be accomplished using the [shell_command component](/components/shell_command/) in conjunction with the `irsend` command.
|
||||
|
||||
### {% linkable_title Installation %}
|
||||
|
||||
@ -32,8 +32,8 @@ The configuration is slightly different :
|
||||
|
||||
- The `hardware.conf` file is not supported, obsoleted by a new `lirc_options.conf` file and systemd unit definitions.
|
||||
- The former single `lirc` service is replaced with the three systemd services `lircd.service`, `lircmd.service` and `irexec.service`. There is no counterpart to the 0.9.0 `lirc` service which covered all of these. Using a separate transmitter device requires yet another service.
|
||||
- 0.9.4 defaults to using systemd for controlling the services. This is not just start/stop functionality, systemd is used to implement new features and to address shortcomings in 0.9.0. However, traditional systemV scripts are also installed and could be used although this is less tested and not really documented.
|
||||
|
||||
- 0.9.4 defaults to using systemd for controlling the services. This is not just start/stop functionality, systemd is used to implement new features and to address shortcomings in 0.9.0. However, traditional systemV scripts are also installed and could be used although this is less tested and not really documented.
|
||||
|
||||
For more information have a look at `/usr/share/doc/lirc/README.Debian.gz` where the update process is explained when you have updated from jessie to stretch.
|
||||
</p>
|
||||
|
||||
|
@ -14,17 +14,17 @@ ha_release: 0.22
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
If you have a Pandora account, you can control it from Home Assistant with this media player.
|
||||
If you have a Pandora account, you can control it from Home Assistant with this media player.
|
||||
|
||||
|
||||
### {% linkable_title Installation of Pianobar %}
|
||||
|
||||
This media player uses the [Pianobar command-line Pandora client](https://github.com/PromyLOPh/pianobar), which you have to install separately. This can be done on a Raspberry Pi 2/3 with Raspbian Jessie as follows . _(Note: Other platforms may have different installation processes)_
|
||||
|
||||
The version of pianobar that comes with Jessie has a bug, so you have to build a more recent version. The latest version depends on a recent version of libraries associated with ffmpeg, so you should make sure you go through the backport process documented in [The FFmpeg component](https://home-assistant.io/components/ffmpeg/) before doing this. Install the following basic dependencies:
|
||||
The version of pianobar that comes with Jessie has a bug, so you have to build a more recent version. The latest version depends on a recent version of libraries associated with ffmpeg, so you should make sure you go through the backport process documented in [The FFmpeg component](/components/ffmpeg/) before doing this. Install the following basic dependencies:
|
||||
|
||||
```bash
|
||||
$ sudo apt-get install git libao-dev libgcrypt11-dev libfaad-dev libmad0-dev libjson0-dev make pkg-config libcurl4-openssl-dev
|
||||
$ sudo apt-get install git libao-dev libgcrypt11-dev libfaad-dev libmad0-dev libjson0-dev make pkg-config libcurl4-openssl-dev
|
||||
```
|
||||
|
||||
And now install the backported ffmpeg-related libraries (note that if you're using an older version of ffmpeg for other things on this machine, you may encounter issues after doings this):
|
||||
@ -61,7 +61,7 @@ media_player:
|
||||
- platform: pandora
|
||||
```
|
||||
|
||||
That's it! Now you will find a media player. If you click it you will find all your stations listed as different sources. If you switch to one, the station will begin playing.
|
||||
That's it! Now you will find a media player. If you click it you will find all your stations listed as different sources. If you switch to one, the station will begin playing.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/pandora_player.png' />
|
||||
|
@ -52,7 +52,7 @@ See [python-songpal's documentation](https://github.com/rytilahti/python-songpal
|
||||
|
||||
## {% linkable_title Services %}
|
||||
|
||||
In addition to the general [media player services](https://home-assistant.io/components/media_player/#services), the following services are provided:
|
||||
In addition to the general [media player services](/components/media_player/#services), the following services are provided:
|
||||
|
||||
### {% linkable_title Service `media_player/songpal_set_sound_setting` %}
|
||||
|
||||
|
@ -29,7 +29,7 @@ To create the required Spotify Application:
|
||||
|
||||
- Login to [Spotify Developer](https://developer.spotify.com)
|
||||
- Visit the [My Applications](https://developer.spotify.com/my-applications/#!/applications) page
|
||||
- Select **Create An App**. Enter any name and description. Once your application is created, view it and copy your **Client ID** and **Client Secret**, which are used in the Home Assistant configuration file.
|
||||
- Select **Create An App**. Enter any name and description. Once your application is created, view it and copy your **Client ID** and **Client Secret**, which are used in the Home Assistant configuration file.
|
||||
- Add a **Redirect URI** in the following forms:
|
||||
|
||||
No SSL: `http://<your_home_assistant_url_or_local_ip>:<port>/api/spotify`
|
||||
@ -38,7 +38,7 @@ To create the required Spotify Application:
|
||||
|
||||
The URL is whatever you use to access Home Assistant from outside your network (including port if applicable).
|
||||
|
||||
- Click **Save** after adding the URI. You may also need to set the `base_url` attribute of the [HTTP Component](https://home-assistant.io/components/http/).
|
||||
- Click **Save** after adding the URI. You may also need to set the `base_url` attribute of the [HTTP Component](/components/http/).
|
||||
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
@ -14,7 +14,7 @@ ha_release: 0.49
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `vizio` component will allow you to control [SmartCast](https://www.vizio.com/smartcast-app) compatible TVs (2016+ models).
|
||||
The `vizio` component will allow you to control [SmartCast](https://www.vizio.com/smartcast-app) compatible TVs (2016+ models).
|
||||
|
||||
## Pairing
|
||||
|
||||
@ -36,7 +36,7 @@ Make sure that your TV is on before continuing.
|
||||
|
||||
If you don't know IP address of your TV run following command:
|
||||
|
||||
```bash
|
||||
```bash
|
||||
$ pyvizio --ip=0 --auth=0 discover
|
||||
```
|
||||
|
||||
@ -56,14 +56,14 @@ Initiation will show you two different values:
|
||||
Finally, at this point a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing:
|
||||
|
||||
```bash
|
||||
$ pyvizio --ip={ip} pair_finish --token={challenge_token} --pin={tv_pin}
|
||||
$ pyvizio --ip={ip} pair_finish --token={challenge_token} --pin={tv_pin}
|
||||
```
|
||||
|
||||
You will need the authentication token returned by this command to configure Home Assistant.
|
||||
You will need the authentication token returned by this command to configure Home Assistant.
|
||||
|
||||
## Configuration
|
||||
|
||||
To add your Vizio TV to your installation, add the following to your `configuration.yaml` file:
|
||||
To add your Vizio TV to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -84,9 +84,9 @@ Configuration variables:
|
||||
|
||||
If the `Power Mode` of your TV is set to `Eco Mode`, turning the device ON won't work.
|
||||
|
||||
### Changing tracks
|
||||
### Changing tracks
|
||||
|
||||
Changing tracks works like channels switching. If you have source other than regular TV it might end do nothing.
|
||||
Changing tracks works like channels switching. If you have source other than regular TV it might end do nothing.
|
||||
|
||||
### Sources
|
||||
|
||||
@ -96,7 +96,7 @@ Source list shows all external devices connected to the TV through HDMI plus lis
|
||||
Vizio SmartCast service is accessible through HTTPS with self-signed certificate. If you have low LOGLEVEL in your Home Assistant configuration, you'll see a lot of warnings like this:
|
||||
`InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised.`
|
||||
|
||||
You can adjust the log level for `media_player` components with the [logger](https://home-assistant.io/components/logger/) component, or if you need to keep a low log level for `media_player` you could proxy calls to your TV through an NGINX reverse proxy.
|
||||
You can adjust the log level for `media_player` components with the [logger](/components/logger/) component, or if you need to keep a low log level for `media_player` you could proxy calls to your TV through an NGINX reverse proxy.
|
||||
|
||||
If you want to only ignore only this specific [python urllib3 SSL warning](https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings), you will need to run Home Assistant with the python flag `-W` or the environment variable `PYTHONWARNINGS` set to:
|
||||
`ignore:Unverified HTTPS request is being made`
|
||||
|
@ -43,4 +43,4 @@ Configuration variables:
|
||||
* **recipient** (Required): Your phone number. This is where you want to send your notification SMS messages. e.g., `61444333444`.
|
||||
|
||||
|
||||
To use notifications, please see the [getting started with automation page](https://home-assistant.io/getting-started/automation/).
|
||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||
|
@ -54,4 +54,4 @@ sender:
|
||||
default: recipient
|
||||
{% endconfiguration %}
|
||||
|
||||
To use notifications, please see the [getting started with automation page](https://home-assistant.io/getting-started/automation/).
|
||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||
|
@ -38,5 +38,5 @@ Configuration variables:
|
||||
* **language** (Optional): The language you want to use to convert the message to audio. Accepted values are found in the [ClickSend Documentation](http://docs.clicksend.apiary.io/#reference/voice/voice-languages). Default value is `en-us`.
|
||||
* **voice** (Optional): The voice that needs to be used to play the message to the recipient. Allowed values are `female` or `male`. Default value is `female`.
|
||||
|
||||
To use notifications, please see the [getting started with automation page](https://home-assistant.io/getting-started/automation/).
|
||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||
|
||||
|
@ -16,7 +16,7 @@ The [Discord service](https://discordapp.com/) is a platform for the notify comp
|
||||
|
||||
In order to get a token you need to go to the [Discord My Apps page](https://discordapp.com/developers/applications/me) and create a new application. Once the application is ready, create a [bot](https://discordapp.com/developers/docs/topics/oauth2#bots) user (**Create a Bot User**) and activate **Require OAuth2 Code Grant**. Retrieve the **Client ID** and the (hidden) **Token** of your bot for later.
|
||||
|
||||
When setting up the application you can use this [icon](https://home-assistant.io/demo/favicon-192x192.png).
|
||||
When setting up the application you can use this [icon](/demo/favicon-192x192.png).
|
||||
|
||||
To use Discord notifications, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -35,11 +35,11 @@ Configuration variables:
|
||||
|
||||
### {% linkable_title Setting up the bot %}
|
||||
|
||||
Bots can only send messages to servers. To add the bot to a server you are an admin on, get the details of the bot from the [Discord My Apps page](https://discordapp.com/developers/applications/me).
|
||||
Bots can only send messages to servers. To add the bot to a server you are an admin on, get the details of the bot from the [Discord My Apps page](https://discordapp.com/developers/applications/me).
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/discord-bot.png' />
|
||||
</p>
|
||||
</p>
|
||||
|
||||
Now use the Discord Authorization page with the **Client ID** of your [bot](https://discordapp.com/developers/docs/topics/oauth2#bots).
|
||||
|
||||
|
@ -37,7 +37,7 @@ Configuration variables:
|
||||
|
||||
### {% linkable_title Getting ready for Chrome %}
|
||||
|
||||
1. Make sure you can access your Home Assistant installation from outside your network over https ([see docs](https://home-assistant.io/docs/configuration/remote/)).
|
||||
1. Make sure you can access your Home Assistant installation from outside your network over https ([see docs](/docs/configuration/remote/)).
|
||||
2. Create a new project at [https://console.cloud.google.com/home/dashboard](https://console.cloud.google.com/home/dashboard).
|
||||
3. Go to [https://console.cloud.google.com/apis/credentials/domainverification](https://console.cloud.google.com/apis/credentials/domainverification) and verify your domain via Google Webmaster Central / Search Console - [instructions](#verify-your-domain).
|
||||
4. With the domain verified, go to [https://console.firebase.google.com](https://console.firebase.google.com), select import Google project, and select the project you created.
|
||||
|
@ -36,7 +36,7 @@ Once loaded, the `notify` platform will expose a service that can be called to s
|
||||
|
||||
The notification component supports specifying [templates](/topics/templating/) with `data_template`. This will allow you to use the current state of Home Assistant in your notifications.
|
||||
|
||||
In an [action](https://home-assistant.io/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) it could look like this with a customized subject.
|
||||
In an [action](/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) it could look like this with a customized subject.
|
||||
|
||||
```yaml
|
||||
action:
|
||||
@ -59,8 +59,8 @@ For services which have support for sending images.
|
||||
|
||||
```json
|
||||
{ "message": "Test plugin",
|
||||
"data": {
|
||||
"photo": {
|
||||
"data": {
|
||||
"photo": {
|
||||
"url": "http://www.gbsun.de/gbpics/berge/berge106.jpg"
|
||||
}
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ Example Automation:
|
||||
message: "This is the message"
|
||||
title: "Title of message"
|
||||
data:
|
||||
url: "https://home-assistant.io/"
|
||||
url: "https://www.home-assistant.io/"
|
||||
sound: pianobar
|
||||
priority: 0
|
||||
```
|
||||
@ -53,7 +53,7 @@ This is a quote from the Pushover website regarding free/open source apps:
|
||||
If you are creating a client-side library, application, or open source project that will be redistributed and installed by end-users, you may want to require each of your users to register their own application rather than including your own API token with the software.
|
||||
</blockquote>
|
||||
|
||||
When setting up the application you can use this [icon](https://home-assistant.io/images/favicon-192x192.png).
|
||||
When setting up the application you can use this [icon](/images/favicon-192x192.png).
|
||||
|
||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||
|
||||
@ -75,5 +75,5 @@ alexa:
|
||||
data:
|
||||
sound: falling
|
||||
device: pixel
|
||||
url: "https://home-assistant.io/"
|
||||
url: "https://www.home-assistant.io/"
|
||||
```
|
||||
|
@ -42,11 +42,11 @@ Message to two devices with formatted text.
|
||||
"message": "Attention [b]bold[/b] text[br][url=https://www.pushsafer.com]Link to Pushsafer[/url]",
|
||||
"target": ["1111", "2222"],
|
||||
"data": {
|
||||
"icon": "2",
|
||||
"icon": "2",
|
||||
"iconcolor": "#FF0000",
|
||||
"sound": "2",
|
||||
"vibration": "1",
|
||||
"url": "https://home-assistant.io/",
|
||||
"url": "https://www.home-assistant.io/",
|
||||
"urltitle": "Open Home Assistant",
|
||||
"time2live": "0"
|
||||
}
|
||||
@ -58,18 +58,18 @@ Message to one device with formatted text and image from an external URL.
|
||||
```json
|
||||
{
|
||||
"title": "Test to 1 device with image from an url",
|
||||
"message": "Attention [i]italic[/i] Text[br][url=https://home-assistant.io/]Testlink[/url]",
|
||||
"message": "Attention [i]italic[/i] Text[br][url=https://www.home-assistant.io/]Testlink[/url]",
|
||||
"target": ["1111"],
|
||||
"data": {
|
||||
"icon": "14",
|
||||
"icon": "14",
|
||||
"iconcolor": "#FFFF00",
|
||||
"sound": "22",
|
||||
"vibration": "3",
|
||||
"url": "https://home-assistant.io/",
|
||||
"url": "https://www.home-assistant.io/",
|
||||
"urltitle": "Open Home Assistant",
|
||||
"time2live": "60",
|
||||
"picture1": {
|
||||
"url":"https://home-assistant.io/images/components/alexa/alexa-512x512.png"
|
||||
"url":"https://www.home-assistant.io/images/components/alexa/alexa-512x512.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -80,14 +80,14 @@ Message to two devices and one device group with formatted text and local image.
|
||||
```json
|
||||
{
|
||||
"title": "Test to 3 devices with local image",
|
||||
"message": "Attention [i]italic[/i] Text[br][url=https://home-assistant.io/]Testlink[/url]",
|
||||
"message": "Attention [i]italic[/i] Text[br][url=https://www.home-assistant.io/]Testlink[/url]",
|
||||
"target": ["1111","2222","gs3333"],
|
||||
"data": {
|
||||
"icon": "20",
|
||||
"icon": "20",
|
||||
"iconcolor": "#FF00FF",
|
||||
"sound": "33",
|
||||
"vibration": "0",
|
||||
"url": "https://home-assistant.io/",
|
||||
"url": "https://www.home-assistant.io/",
|
||||
"urltitle": "Open Home Assistant",
|
||||
"time2live": "10",
|
||||
"picture1": {
|
||||
@ -99,6 +99,6 @@ Message to two devices and one device group with formatted text and local image.
|
||||
|
||||
To customize your push-notification you can take a look at the [Pushsafer API description](https://www.pushsafer.com/en/pushapi).
|
||||
|
||||
When setting up the application you can use this [icon](https://home-assistant.io/images/favicon-192x192.png).
|
||||
When setting up the application you can use this [icon](/images/favicon-192x192.png).
|
||||
|
||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||
|
@ -148,7 +148,7 @@ The optional `html` field makes a custom text/HTML multi-part message, allowing
|
||||
</html>
|
||||
|
||||
```
|
||||
Obviously, this kind of complex html email reporting is done much more conveniently using Jinja2 templating from an [AppDaemon app](https://home-assistant.io/docs/ecosystem/appdaemon/tutorial/), for example.
|
||||
Obviously, this kind of complex html email reporting is done much more conveniently using Jinja2 templating from an [AppDaemon app](/docs/ecosystem/appdaemon/tutorial/), for example.
|
||||
|
||||
This platform is fragile and not able to catch all exceptions in a smart way because of the large number of possible configuration combinations.
|
||||
|
||||
|
@ -30,7 +30,7 @@ The service `persistent_notification/create` takes in `message`, `title`, and `n
|
||||
|
||||
The `persistent_notification` component supports specifying [templates](/topics/templating/) for both the `message` and the `title`. This will allow you to use the current state of Home Assistant in your notifications.
|
||||
|
||||
In an [action](https://home-assistant.io/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) it could look like this with a customized subject.
|
||||
In an [action](/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) it could look like this with a customized subject.
|
||||
|
||||
```yaml
|
||||
action:
|
||||
|
@ -20,7 +20,7 @@ This component allows you to write Python scripts that are exposed as services i
|
||||
| `data` | The data passed to the Python Script service call.
|
||||
| `logger` | A logger to allow you to log messages: `logger.info()`, `logger.warning()`, `logger.error()`. [API reference][logger-api]
|
||||
|
||||
[hass-api]: https://home-assistant.io/developers/development_hass_object/
|
||||
[hass-api]: /developers/development_hass_object/
|
||||
[logger-api]: https://docs.python.org/3.4/library/logging.html#logger-objects
|
||||
|
||||
## {% linkable_title Writing your first script %}
|
||||
|
@ -16,7 +16,7 @@ ha_release: 0.39
|
||||
|
||||
The `itach` remote platform allows you to control IR devices with a [Global Caché iTach Device](https://www.globalcache.com/products/itach/ip2irspecs) and GC-100 devices. The Global Cache IR API are similar across their product line. See API documentation links at the end of this page.
|
||||
|
||||
In order to utilize the digital input (binary sensor) and relay (switch) features of your Global Cache device you will need to use the [gc100 component](https://home-assistant.io/components/gc100) and associated platforms.
|
||||
In order to utilize the digital input (binary sensor) and relay (switch) features of your Global Cache device you will need to use the [gc100 component](/components/gc100) and associated platforms.
|
||||
|
||||
To use your iTach remote in your installation, you will need to know the IR commands for your devices in Pronto hex format and add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -68,7 +68,7 @@ $ socat /dev/ttyACM0,b57600 TCP-LISTEN:1234,reuseaddr
|
||||
|
||||
Other methods of exposing the serial interface over TCP are possible (eg: ESP8266 or using Arduino Wifi shield). Essentially the serial stream should be directly mapped to the TCP stream.
|
||||
|
||||
Tested with Wifi serial bridge [esp-link V2.2.3](https://github.com/jeelabs/esp-link/releases/tag/v2.2.3) running on a NodeMCU (ESP8266 Wifi module) with ESP8266 TXD0 (pin D10) and RXD0 (pin D9) connected to Arduino MEGA 2560 RX (Pin 2) and TX (Pin 3) respectively.
|
||||
Tested with Wifi serial bridge [esp-link V2.2.3](https://github.com/jeelabs/esp-link/releases/tag/v2.2.3) running on a NodeMCU (ESP8266 Wifi module) with ESP8266 TXD0 (pin D10) and RXD0 (pin D9) connected to Arduino MEGA 2560 RX (Pin 2) and TX (Pin 3) respectively.
|
||||
|
||||
<p class='note warning'>
|
||||
Due to different logic levels, a voltage level shifter is required between the 3.3V NodeMCU and 5V Arduino MEGA 2560 pins. The BSS138 bidirectional logic level converter has been tested for serial pins and the [link](https://www.aliexpress.com/item/8CH-IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-DC-DC-5V-to-3-3V-Setp/32238089139.html) is recommended for the CC2500 transceiver (used for Ikea Ansluta and Philips Living Colors)
|
||||
@ -136,7 +136,7 @@ If you find a device is recognized differently, with different protocols or the
|
||||
### {% linkable_title Technical Overview %}
|
||||
|
||||
- The`rflink` Python module is an asyncio transport/protocol which is setup to fire a callback for every (valid/supported) packet received by the RFLink gateway.
|
||||
- This component uses this callback to distribute 'rflink packet events' over [Home Assistant's event bus](https://home-assistant.io/docs/configuration/events/) which can be subscribed to by entities/platform implementations.
|
||||
- This component uses this callback to distribute 'rflink packet events' over [Home Assistant's event bus](/docs/configuration/events/) which can be subscribed to by entities/platform implementations.
|
||||
- The platform implementation takes care of creating new devices (if enabled) for unseen incoming packet ID's.
|
||||
- Device entities take care of matching to the packet ID, interpreting and performing actions based on the packet contents. Common entity logic is maintained in this main component.
|
||||
|
||||
|
@ -31,7 +31,7 @@ Configuration variables:
|
||||
- **name** (*Optional*): Name of the command sensor.
|
||||
- **unit_of_measurement** (*Optional*): Defines the unit of measurement of the sensor, if any.
|
||||
- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload.
|
||||
- **scan_interval** (*Optional*): Defines number of seconds for polling interval (defaults to 60 seconds).
|
||||
- **scan_interval** (*Optional*): Defines number of seconds for polling interval (defaults to 60 seconds).
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
@ -84,7 +84,7 @@ sensor:
|
||||
command: "grep -c 'Login attempt' /home/hass/.homeassistant/home-assistant.log"
|
||||
```
|
||||
|
||||
Make sure to configure the [logger component](/components/logger) to monitor the [http component](https://home-assistant.io/components/http/) at least the `warning` level.
|
||||
Make sure to configure the [logger component](/components/logger) to monitor the [http component](/components/http/) at least the `warning` level.
|
||||
|
||||
```yaml
|
||||
# Example working logger settings that works
|
||||
|
@ -14,7 +14,7 @@ ha_release: 0.57
|
||||
---
|
||||
|
||||
|
||||
The `fail2ban` sensor allows for IPs banned by [fail2ban](https://www.fail2ban.org/wiki/index.php/Main_Page) to be displayed in the Home Assistant frontend.
|
||||
The `fail2ban` sensor allows for IPs banned by [fail2ban](https://www.fail2ban.org/wiki/index.php/Main_Page) to be displayed in the Home Assistant frontend.
|
||||
|
||||
<p class='note'>
|
||||
Your system must have `fail2ban` installed and correctly configured for this sensor to work. In addition, Home Assistant must be able to read the `fail2ban` log file.
|
||||
@ -72,7 +72,7 @@ logger:
|
||||
|
||||
#### {% linkable_title Edit the `jail.local` file %}
|
||||
|
||||
Next, we need to edit the `jail.local` file that is included with the Let's Encrypt docker linked above. Note, for this tutorial, we'll only be implementing the `[hass-iptables]` jail from the [previously linked tutorial](https://home-assistant.io/cookbook/fail2ban/).
|
||||
Next, we need to edit the `jail.local` file that is included with the Let's Encrypt docker linked above. Note, for this tutorial, we'll only be implementing the `[hass-iptables]` jail from the [previously linked tutorial](/cookbook/fail2ban/).
|
||||
|
||||
Edit `/mnt/user/appdata/letsencrypt/fail2ban/jail.local` and append the following to the end of the file:
|
||||
|
||||
@ -123,7 +123,7 @@ Now do the same for the Home Assistant docker, but this time we'll be mapping th
|
||||
|
||||
By default, the IP address that Home Assistant sees will be that of the container (something like `172.17.0.16`). What this means is that for any failed login attempt, assuming you have correctly configured `fail2ban`, the Docker IP will be logged as banned, but the originating IP is still allowed to make attempts. We need `fail2ban` to recognize the originating IP to properly ban it.
|
||||
|
||||
First, we have to add the following to the nginx configuration file located in `/mnt/user/appdata/letsencrypt/nginx/site-confs/default`.
|
||||
First, we have to add the following to the nginx configuration file located in `/mnt/user/appdata/letsencrypt/nginx/site-confs/default`.
|
||||
|
||||
```bash
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
@ -136,7 +136,7 @@ This snippet should be added within your Home Assistant server config, so you ha
|
||||
server {
|
||||
...
|
||||
location / {
|
||||
proxy_pass http://192.168.0.100:8123;
|
||||
proxy_pass http://192.168.0.100:8123;
|
||||
proxy_set_header Host $host;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
@ -153,7 +153,7 @@ server {
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
}
|
||||
...
|
||||
}
|
||||
```
|
||||
|
@ -13,7 +13,7 @@ ha_iot_class: "Local Polling"
|
||||
ha_release: 0.64
|
||||
---
|
||||
|
||||
Component for displaying the size in MB of a file. Note that paths must be added to [whitelist_external_dirs](https://home-assistant.io/docs/configuration/basic/).
|
||||
Component for displaying the size in MB of a file. Note that paths must be added to [whitelist_external_dirs](/docs/configuration/basic/).
|
||||
Add to your config:
|
||||
|
||||
```yaml
|
||||
|
@ -13,7 +13,7 @@ ha_iot_class: "Local Polling"
|
||||
ha_release: 0.64
|
||||
---
|
||||
|
||||
Sensor for monitoring the contents of a folder. Note that folder paths must be added to [whitelist_external_dirs](https://home-assistant.io/docs/configuration/basic/). Optionally a [wildcard filter](https://docs.python.org/3.6/library/fnmatch.html) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria. The number of filtered files in the folder and total size in bytes of those files are exposed as attributes.
|
||||
Sensor for monitoring the contents of a folder. Note that folder paths must be added to [whitelist_external_dirs](/docs/configuration/basic/). Optionally a [wildcard filter](https://docs.python.org/3.6/library/fnmatch.html) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria. The number of filtered files in the folder and total size in bytes of those files are exposed as attributes.
|
||||
|
||||
To enable the `folder` sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -59,7 +59,7 @@ Configuration variables:
|
||||
|
||||
- **locations** array (*Required*): At least one entry required.
|
||||
|
||||
To explore the data available within the `data` attribute of a sensor use the `dev-template` tool on the Home-assistant frontend. `data` contains a list of monitored sites, where the number of monitored sites are given by the `sites` attribute. If a sensor has four sites, access the fourth site by indexing the list of sites using data[3]. Each site is a dictionary with multiple fields, with entries for the `latitude` and `longitude` of that site, a `pollution_status`, `site_code`, `site_name` and `site_type`. The field `number_of_pollutants` states how many pollutants are monitored (of the possible six) and the field `pollutants` returns a list with data for each pollutant. To access the first pollutant in the list for site zero use `attributes.data[0].pollutants[0]`. Each entry in `pollutants` is a dictionary with fields for the pollutant `code`, `description`, `index`, `quality` and a `summary`. [Template sensors](https://home-assistant.io/components/sensor.template/) can then be added to display these attributes, for example:
|
||||
To explore the data available within the `data` attribute of a sensor use the `dev-template` tool on the Home-assistant frontend. `data` contains a list of monitored sites, where the number of monitored sites are given by the `sites` attribute. If a sensor has four sites, access the fourth site by indexing the list of sites using data[3]. Each site is a dictionary with multiple fields, with entries for the `latitude` and `longitude` of that site, a `pollution_status`, `site_code`, `site_name` and `site_type`. The field `number_of_pollutants` states how many pollutants are monitored (of the possible six) and the field `pollutants` returns a list with data for each pollutant. To access the first pollutant in the list for site zero use `attributes.data[0].pollutants[0]`. Each entry in `pollutants` is a dictionary with fields for the pollutant `code`, `description`, `index`, `quality` and a `summary`. [Template sensors](/components/sensor.template/) can then be added to display these attributes, for example:
|
||||
|
||||
```yaml
|
||||
# Example template sensors
|
||||
|
@ -18,8 +18,8 @@ The `miflora` sensor platform allows one to monitor plants. The [Mi Flora plant
|
||||
# Installation
|
||||
Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system:
|
||||
|
||||
- On [Hass.io](https://home-assistant.io/hassio/installation/): Miflora will work out of the box.
|
||||
- On other Linux systems:
|
||||
- On [Hass.io](/hassio/installation/): Miflora will work out of the box.
|
||||
- On other Linux systems:
|
||||
- Preferred solution: Install the `bluepy` library (via pip). When using a virtual environment, make sure to use install the library in the right one.
|
||||
- Fallback solution: Install `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated`
|
||||
- Windows and MacOS are currently not supported by the [miflora library](https://github.com/open-homeautomation/miflora/).
|
||||
@ -38,7 +38,7 @@ C4:D3:8C:12:4C:57 Flower mate
|
||||
Or if your distribution is using bluetoothctl:
|
||||
|
||||
```bash
|
||||
$ bluetoothctl
|
||||
$ bluetoothctl
|
||||
[bluetooth]# scan on
|
||||
[NEW] Controller <your Bluetooth adapter> [default]
|
||||
[NEW] F8:04:33:AF:AB:A2 [TV] UE48JU6580
|
||||
@ -68,13 +68,13 @@ sensor:
|
||||
- **battery**: Battery details.
|
||||
- **name** (*Optional*): The name displayed in the frontend.
|
||||
- **force_update** (*Optional*): Sends update events even if the value hasn't changed.
|
||||
- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine.
|
||||
- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine.
|
||||
- **timeout** (*Optional*): Define the timeout value in seconds when polling (defaults to 10 if not defined)
|
||||
- **retries** (*Optional*): Define the number of retries when polling (defaults to 2 if not defined)
|
||||
- **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 1200 if not defined)
|
||||
- **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters.
|
||||
|
||||
Note that by default the sensor is only polled once every 20 minutes. This means with the `median: 3` setting will take as least 40 minutes before the sensor will report a value after a Home Assistant restart. As the values usually change very slowly, this isn't a big problem.
|
||||
Note that by default the sensor is only polled once every 20 minutes. This means with the `median: 3` setting will take as least 40 minutes before the sensor will report a value after a Home Assistant restart. As the values usually change very slowly, this isn't a big problem.
|
||||
Reducing polling intervals will have a negative effect on the battery life.
|
||||
|
||||
A full configuration example could look like the one below:
|
||||
|
@ -25,7 +25,7 @@ Supported devices:
|
||||
- [DS2406/TAI-8570](https://datasheets.maximintegrated.com/en/ds/DS2406.pdf) Temperature and pressure sensor made by AAG
|
||||
- [DS2438/B1-R1-A](https://datasheets.maximintegrated.com/en/ds/DS2438.pdf) Temperature, pressure and humidity sensor by AAG
|
||||
|
||||
The 1-Wire bus can be connected directly to the IO pins of Raspberry Pi or using dedicated interface adapter (e.g [DS9490R](https://datasheets.maximintegrated.com/en/ds/DS9490-DS9490R.pdf)).
|
||||
The 1-Wire bus can be connected directly to the IO pins of Raspberry Pi or using dedicated interface adapter (e.g [DS9490R](https://datasheets.maximintegrated.com/en/ds/DS9490-DS9490R.pdf)).
|
||||
|
||||
#### Raspberry Pi setup
|
||||
In order to setup 1-Wire support on Raspberry Pi, you'll need to edit `/boot/config.txt` following [this documentation](https://www.waveshare.com/wiki/Raspberry_Pi_Tutorial_Series:_1-Wire_DS18B20_Sensor#Enable_1-Wire). Don't use the `mount_dir` option.
|
||||
@ -37,12 +37,12 @@ When an interface adapter is used, sensors can be accessed on Linux hosts via [o
|
||||
This component has been modified to work with devices with multiple sensors which will cause a discontinuity in recorded values. Existing devices will receive a new ID and therefore show up as new devices.
|
||||
If you wish to maintain continuity it can be resolved in the database by renaming the old devices to the new names.
|
||||
|
||||
Connect to your database using the instructions from [home-assistant.io/docs/backend/database/](https://home-assistant.io/docs/backend/database/). Check the names of sensors:
|
||||
Connect to your database using the instructions from [home-assistant.io/docs/backend/database/](/docs/backend/database/). Check the names of sensors:
|
||||
|
||||
```sql
|
||||
SELECT entity_id, COUNT(*) as count FROM states GROUP BY entity_id ORDER BY count DESC LIMIT 10;
|
||||
```
|
||||
Alter the names of sensors using the following examples:
|
||||
Alter the names of sensors using the following examples:
|
||||
|
||||
```sql
|
||||
UPDATE states SET entity_id='sensor.<sensor_name>_temperature' WHERE entity_id LIKE 'sensor.<sensor_name>%' AND attributes LIKE '%\u00b0C%';
|
||||
|
@ -48,4 +48,4 @@ unit_of_measurement:
|
||||
|
||||
See the [entity component options][entity-docs] to control how often the main component polls the random sensor. The default is 30 seconds.
|
||||
|
||||
[entity-docs]: https://home-assistant.io/docs/configuration/platform_options/
|
||||
[entity-docs]: /docs/configuration/platform_options/
|
||||
|
@ -22,7 +22,7 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: scrape
|
||||
resource: https://home-assistant.io
|
||||
resource: https://www.home-assistant.io
|
||||
select: ".current-version h1"
|
||||
```
|
||||
|
||||
@ -43,14 +43,14 @@ In this section you find some real life examples of how to use this sensor. Ther
|
||||
|
||||
### {% linkable_title Home Assistant %}
|
||||
|
||||
The current release Home Assistant is published on [https://home-assistant.io/](https://home-assistant.io/)
|
||||
The current release Home Assistant is published on [https://www.home-assistant.io/](/)
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
sensor:
|
||||
# Example configuration.yaml entry
|
||||
- platform: scrape
|
||||
resource: https://home-assistant.io
|
||||
resource: https://www.home-assistant.io
|
||||
name: Release
|
||||
select: ".current-version h1"
|
||||
value_template: '{{ value.split(":")[1] }}'
|
||||
@ -66,7 +66,7 @@ Get the counter for all our implementations from the [Component overview](/compo
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: scrape
|
||||
resource: https://home-assistant.io/components/
|
||||
resource: https://www.home-assistant.io/components/
|
||||
name: Home Assistant impl.
|
||||
select: 'a[href="#all"]'
|
||||
value_template: '{{ value.split("(")[1].split(")")[0] }}'
|
||||
|
@ -35,7 +35,7 @@ Configuration variables:
|
||||
- 'humidity'
|
||||
- 'pressure'
|
||||
is_hat_attached (Optional): True|False boolean; Default value is True declaring that the SenseHAT _is_ physically on the Raspberry Pi
|
||||
|
||||
|
||||
|
||||
#### Customizing the Sense HAT data
|
||||
|
||||
@ -145,10 +145,10 @@ These issues have been discussed in the repository issue (#5093)[https://github.
|
||||
|
||||
This fix has been tested with a clean install of:
|
||||
|
||||
* [Raspbian Jessie - version January 2017](https://downloads.raspberrypi.org/raspbian/images/raspbian-2017-01-10/)
|
||||
|
||||
* [Raspbian Jessie - version January 2017](https://downloads.raspberrypi.org/raspbian/images/raspbian-2017-01-10/)
|
||||
|
||||
and
|
||||
|
||||
* [Home-Assistant 0.37.1](https://home-assistant.io/getting-started/installation-raspberry-pi-all-in-one/)
|
||||
|
||||
* [Home-Assistant 0.37.1](/getting-started/installation-raspberry-pi-all-in-one/)
|
||||
|
||||
For setting up the Sense HAT's RGB LED matrix as lights within Home Assistant, please see the [Sense HAT light component](/components/light.sensehat/).
|
||||
|
@ -16,7 +16,7 @@ ha_iot_class: "Local Polling"
|
||||
The `tellstick` sensor platform allows you to get current meteorological data from a [TellStick](http://www.telldus.se/products/tellstick) device.
|
||||
|
||||
|
||||
To use your TellStick device, you first have to set up your [Tellstick hub](https://home-assistant.io/components/tellstick/) and then add the following to your `configuration.yaml` file:
|
||||
To use your TellStick device, you first have to set up your [Tellstick hub](/components/tellstick/) and then add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -48,7 +48,7 @@ Configuration variables:
|
||||
- **origin** (*Required*): Specify the three character long origin station code.
|
||||
- **destination** (*Required*): Specify the three character long destination station code.
|
||||
|
||||
A large amount of information about upcoming departures is available within the attributes of the sensor. The example above creates a sensor with ID `sensor.next_train_to_wat` with the attribute `next_trains` which is a list of the next 25 departing trains. The status of the next departing train is accessed using the [template sensor](https://home-assistant.io/components/sensor.template/) below, as are the train origin, estimated and scheduled departure times, and the departure platform.
|
||||
A large amount of information about upcoming departures is available within the attributes of the sensor. The example above creates a sensor with ID `sensor.next_train_to_wat` with the attribute `next_trains` which is a list of the next 25 departing trains. The status of the next departing train is accessed using the [template sensor](/components/sensor.template/) below, as are the train origin, estimated and scheduled departure times, and the departure platform.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for a template sensor to access the attributes of the next departing train.
|
||||
|
@ -43,7 +43,7 @@ Configuration variables:
|
||||
- **slot_3** (*Optional*)
|
||||
- **slot_4** (*Optional*)
|
||||
|
||||
Information about how to install on Windows can be found [here](https://home-assistant.io/components/sensor.broadlink/#microsoft-windows-installation)
|
||||
Information about how to install on Windows can be found [here](/components/sensor.broadlink/#microsoft-windows-installation)
|
||||
|
||||
|
||||
### {% linkable_title How to obtain IR/RF packets? %}
|
||||
@ -90,8 +90,8 @@ switch:
|
||||
friendly_name: "Phillips Tv"
|
||||
command_on: 'JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA='
|
||||
command_off: 'JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA='
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
Example config for `sp1`, `sp2`, `honeywell_sp2`, `sp3`, `spmini2` and `spminiplus` devices:
|
||||
|
||||
```yaml
|
||||
@ -106,7 +106,7 @@ switch:
|
||||
mac: 'MAC_ADDRESS'
|
||||
type: sp2
|
||||
friendly_name: 'Humidifier'
|
||||
```
|
||||
```
|
||||
|
||||
Example config for `mp1` device:
|
||||
|
||||
@ -142,10 +142,10 @@ script:
|
||||
sequence:
|
||||
- service: switch.broadlink_send_packet_192_168_0_107
|
||||
data:
|
||||
packet:
|
||||
packet:
|
||||
- "JgCMAJSSFDYUNhQ2FBEUERQRFBEUERQ2FDYUNhQRFBEUERQRFBEUERQRFDYUERQRFBEUERQRFDYUNhQRFDYUNhQ2FDYUNhQABfWUkhQ2FDYUNhQRFBEUERQRFBEUNhQ2FDYUERQRFBEUERQRFBEUERQ2FBEUERQRFBEUERQ2FDYUERQ2FDYUNhQ2FDYUAA0FAAAAAAAAAAAAAAAA"
|
||||
- "JgBGAJSTFDUUNhM2ExITEhMSExITEhM2EzYTNhQRFBEUERQRFBEUNRQ2ExITNhMSExITNhMSExITEhM2ExITNhQ1FBEUNhMADQUAAA=="
|
||||
```
|
||||
```
|
||||
|
||||
### {% linkable_title Using E-Control Remotes %}
|
||||
|
||||
@ -168,7 +168,7 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro
|
||||
jsonSubIr
|
||||
jsonButton
|
||||
jsonIrCode
|
||||
|
||||
|
||||
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".
|
||||
|
@ -40,7 +40,7 @@ Configuration variables:
|
||||
|
||||
A note on `friendly_name`:
|
||||
|
||||
When set, the `friendly_name` had been previously used for API calls and backend configuration instead of the `object_id` ("identifier"), but [this behavior is changing](https://github.com/home-assistant/home-assistant/pull/4343) to make the `friendly_name` for display purposes only. This allows users to set an `identifier` that emphasizes uniqueness and predictability for API and config purposes but have a prettier `friendly_name` still show up in the UI. As an additional benefit, if a user wanted to change the `friendly_name` / display name (e.g., from "Kitchen Lightswitch" to "Kitchen Switch" or "Living Room Light", or remove the `friendly_name` altogether), he or she could do so without needing to change existing automations or API calls. See aREST device below for an example.
|
||||
When set, the `friendly_name` had been previously used for API calls and backend configuration instead of the `object_id` ("identifier"), but [this behavior is changing](https://github.com/home-assistant/home-assistant/pull/4343) to make the `friendly_name` for display purposes only. This allows users to set an `identifier` that emphasizes uniqueness and predictability for API and config purposes but have a prettier `friendly_name` still show up in the UI. As an additional benefit, if a user wanted to change the `friendly_name` / display name (e.g., from "Kitchen Lightswitch" to "Kitchen Switch" or "Living Room Light", or remove the `friendly_name` altogether), he or she could do so without needing to change existing automations or API calls. See aREST device below for an example.
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
@ -63,7 +63,7 @@ switch:
|
||||
friendly_name: Kitchen Lightswitch
|
||||
```
|
||||
|
||||
Given this example, in the UI one would see the `friendly_name` of "Kitchen Light". However, the `identifier` is `arest_pin_four`, making the `entity_id` `switch.arest_pin_four`, which is what one would use in [`automation`](https://home-assistant.io/components/automation/) or in [API calls](https://home-assistant.io/developers/).
|
||||
Given this example, in the UI one would see the `friendly_name` of "Kitchen Light". However, the `identifier` is `arest_pin_four`, making the `entity_id` `switch.arest_pin_four`, which is what one would use in [`automation`](/components/automation/) or in [API calls](/developers/).
|
||||
|
||||
### {% linkable_title Shutdown your local host %}
|
||||
|
||||
@ -85,7 +85,7 @@ switch:
|
||||
|
||||
### {% linkable_title Control your VLC player %}
|
||||
|
||||
This switch will control a local VLC media player ([Source](https://community.home-assistant.io/t/vlc-player/106)).
|
||||
This switch will control a local VLC media player ([Source](https://community.home-assistant.io/t/vlc-player/106)).
|
||||
|
||||
|
||||
```yaml
|
||||
|
@ -15,7 +15,7 @@ ha_iot_class: "Assumed State"
|
||||
|
||||
This `tellstick` switch platform allows you to control [TellStick](http://www.telldus.se/products/tellstick) devices.
|
||||
|
||||
To use your TellStick device, you first have to set up your [Tellstick hub](https://home-assistant.io/components/tellstick/) and then add the following to your `configuration.yaml` file:
|
||||
To use your TellStick device, you first have to set up your [Tellstick hub](/components/tellstick/) and then add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -12,8 +12,8 @@ ha_category: "History"
|
||||
ha_release: 0.32
|
||||
---
|
||||
|
||||
The `thingspeak` components makes Home Assistant communicate with the [ThingSpeak API](https://thingspeak.com/).
|
||||
For now, it records exactly one entity at once, which is great for testing purposes. For long-time storage you should rely on the [InfluxDB component](https://home-assistant.io/components/influxdb/).
|
||||
The `thingspeak` components makes Home Assistant communicate with the [ThingSpeak API](https://thingspeak.com/).
|
||||
For now, it records exactly one entity at once, which is great for testing purposes. For long-time storage you should rely on the [InfluxDB component](/components/influxdb/).
|
||||
|
||||
You will have to create a [new channel](https://thingspeak.com/channels/new) on ThingSpeak and grab your Write API Key from the "API Keys" tab of the channel you want to use.
|
||||
|
||||
|
@ -32,4 +32,4 @@ Configuration variables:
|
||||
- **auth_token** (*Required*): Your Twilio AUTH TOKEN which can be found in your [console](https://www.twilio.com/console). It should be directly under where you found the `account_sid`.
|
||||
|
||||
### {% linkable_title Usage %}
|
||||
After configuring the base Twilio component, add and configure either or both of the [twilio SMS](https://home-assistant.io/components/notify.twilio_sms/) and [twilio Phone](https://home-assistant.io/components/notify.twilio_call) components to utilize the notification functionality.
|
||||
After configuring the base Twilio component, add and configure either or both of the [twilio SMS](/components/notify.twilio_sms/) and [twilio Phone](/components/notify.twilio_call) components to utilize the notification functionality.
|
||||
|
@ -24,7 +24,7 @@ weblink:
|
||||
url: http://192.168.1.1/
|
||||
icon: mdi:router-wireless
|
||||
- name: Home Assistant
|
||||
url: https://home-assistant.io
|
||||
url: https://www.home-assistant.io
|
||||
- name: Grafana
|
||||
url: /grafana
|
||||
```
|
||||
|
@ -12,7 +12,7 @@ ha_category: Automation Examples
|
||||
|
||||
This requires a [Kodi](/components/media_player.kodi/) media player, and consists of commands that perform queries in the Kodi library, and a selection box (`input_select`) that shows the available options. By clicking the commands, the selection box is updated, and when selecting an option, Kodi plays the media.
|
||||
|
||||
Option filling is done in an [AppDaemon](https://home-assistant.io/docs/ecosystem/appdaemon/tutorial/) app, which listens for events that are triggered with the results of the Kodi JSONRPC API queries when scripts run. This application also listens to the selection box and calls the play media service with the corresponding parameters.
|
||||
Option filling is done in an [AppDaemon](/docs/ecosystem/appdaemon/tutorial/) app, which listens for events that are triggered with the results of the Kodi JSONRPC API queries when scripts run. This application also listens to the selection box and calls the play media service with the corresponding parameters.
|
||||
|
||||
The media player yaml config:
|
||||
|
||||
|
@ -12,7 +12,7 @@ ha_category: Automation Examples
|
||||
|
||||
Like it how the lights dim up/down at the movies? Do it at home as well!
|
||||
|
||||
This example uses the [media player](https://home-assistant.io/components/media_player/), [lights](https://home-assistant.io/components/light/) (transitions) and the [sun](https://home-assistant.io/components/sun/) component. We'll use actions to detect media player state changes and [scenes](https://home-assistant.io/components/scene/) to control multiple lights and transition between scenes.
|
||||
This example uses the [media player](/components/media_player/), [lights](/components/light/) (transitions) and the [sun](/components/sun/) component. We'll use actions to detect media player state changes and [scenes](/components/scene/) to control multiple lights and transition between scenes.
|
||||
|
||||
#### {% linkable_title Scenes %}
|
||||
One scene for normal light, one for when movies are on. A 2 second transition gives a nice 'feel' to the switch.
|
||||
|
@ -12,7 +12,7 @@ ha_category: Automation Examples
|
||||
|
||||
#### {% linkable_title Sonos say script to speak with text-to-speech %}
|
||||
|
||||
This script allows you to use [TTS](https://home-assistant.io/components/#text-to-speech) on Sonos.
|
||||
This script allows you to use [TTS](/components/#text-to-speech) on Sonos.
|
||||
|
||||
```yaml
|
||||
script:
|
||||
@ -46,7 +46,7 @@ automation:
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.mytest
|
||||
action:
|
||||
action:
|
||||
- service: script.sonos_say
|
||||
data:
|
||||
sonos_entity: media_player.office
|
||||
|
@ -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)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{% capture fb_description %}{% if page.description %}{{ page.description }}{% endif %}{% endcapture %}
|
||||
{% capture description %}{% if page.description %}{{ page.description }}{% else site.description %}{{ site.description }}{% endif %}{% endcapture %}
|
||||
{% capture social_image %}{% if page.og_image %}{{ page.og_image | prepend: site.url }}{% else %}https://home-assistant.io/images/default-social.png{% endif %}{% endcapture %}
|
||||
{% capture social_image %}{% if page.og_image %}{{ page.og_image | prepend: site.url }}{% else %}https://www.home-assistant.io/images/default-social.png{% endif %}{% endcapture %}
|
||||
<!doctype html>
|
||||
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
|
||||
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
|
||||
|
@ -87,4 +87,4 @@ This Code of Conduct was first adopted January 21st, 2017 and announced in [this
|
||||
[homepage]: http://contributor-covenant.org
|
||||
[version]: http://contributor-covenant.org/version/1/4/
|
||||
[email]: mailto:safety@home-assistant.io
|
||||
[coc-blog]: https://home-assistant.io/blog/2017/01/21/home-assistant-governance/
|
||||
[coc-blog]: /blog/2017/01/21/home-assistant-governance/
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,2 +1,2 @@
|
||||
<html><head><meta charset="UTF-8"></head><body><dom-module id="ha-panel-dev-info"><template><style include="iron-positioning ha-style">:host{background-color:#fff;-ms-user-select:initial;-webkit-user-select:initial;-moz-user-select:initial}.content{padding:24px}.about{text-align:center;line-height:2em}.version{@apply(--paper-font-headline)}.develop{@apply(--paper-font-subhead)}.about a{color:var(--dark-primary-color)}.error-log-intro{margin-top:16px;border-top:1px solid var(--light-primary-color);padding-top:16px}paper-icon-button{float:right}.error-log{@apply(--paper-font-code1)
|
||||
clear: both;white-space:pre-wrap}</style><app-header-layout has-scrolling-region=""><app-header fixed=""><app-toolbar><ha-menu-button narrow="[[narrow]]" show-menu="[[showMenu]]"></ha-menu-button><div main-title="">About</div></app-toolbar></app-header><div class="content fit"><div class="about"><p class="version"><a href="https://home-assistant.io"><img src="/static/icons/favicon-192x192.png" height="192"></a><br>Home Assistant<br>[[hassVersion]]</p><p class="develop"><a href="https://home-assistant.io/developers/credits/" target="_blank">Developed by a bunch of awesome people.</a></p><p>Published under the MIT license<br>Source: <a href="https://github.com/balloob/home-assistant" target="_blank">server</a> — <a href="https://github.com/balloob/home-assistant-polymer" target="_blank">frontend-ui</a> — <a href="https://github.com/balloob/home-assistant-js" target="_blank">frontend-core</a></p><p>Built using <a href="https://www.python.org">Python 3</a>, <a href="https://www.polymer-project.org" target="_blank">Polymer [[polymerVersion]]</a>, <a href="https://optimizely.github.io/nuclear-js/" target="_blank">NuclearJS [[nuclearVersion]]</a><br>Icons by <a href="https://www.google.com/design/icons/" target="_blank">Google</a> and <a href="https://MaterialDesignIcons.com" target="_blank">MaterialDesignIcons.com</a>.</p></div><p class="error-log-intro">The following errors have been logged this session:<paper-icon-button icon="mdi:refresh" on-tap="refreshErrorLog"></paper-icon-button></p><div class="error-log">[[errorLog]]</div></div></app-header-layout></template></dom-module><script>Polymer({is:"ha-panel-dev-info",behaviors:[window.hassBehavior],properties:{hass:{type:Object},narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},hassVersion:{type:String,bindNuclear:function(r){return r.configGetters.serverVersion}},polymerVersion:{type:String,value:Polymer.version},nuclearVersion:{type:String,value:"1.3.0"},errorLog:{type:String,value:""}},attached:function(){this.refreshErrorLog()},refreshErrorLog:function(r){r&&r.preventDefault(),this.errorLog="Loading error log…",this.hass.errorLogActions.fetchErrorLog().then(function(r){this.errorLog=r||"No errors have been reported."}.bind(this))}})</script></body></html>
|
||||
clear: both;white-space:pre-wrap}</style><app-header-layout has-scrolling-region=""><app-header fixed=""><app-toolbar><ha-menu-button narrow="[[narrow]]" show-menu="[[showMenu]]"></ha-menu-button><div main-title="">About</div></app-toolbar></app-header><div class="content fit"><div class="about"><p class="version"><a href="https://www.home-assistant.io"><img src="/static/icons/favicon-192x192.png" height="192"></a><br>Home Assistant<br>[[hassVersion]]</p><p class="develop"><a href="https://www.home-assistant.io/developers/credits/" target="_blank">Developed by a bunch of awesome people.</a></p><p>Published under the MIT license<br>Source: <a href="https://github.com/balloob/home-assistant" target="_blank">server</a> — <a href="https://github.com/balloob/home-assistant-polymer" target="_blank">frontend-ui</a> — <a href="https://github.com/balloob/home-assistant-js" target="_blank">frontend-core</a></p><p>Built using <a href="https://www.python.org">Python 3</a>, <a href="https://www.polymer-project.org" target="_blank">Polymer [[polymerVersion]]</a>, <a href="https://optimizely.github.io/nuclear-js/" target="_blank">NuclearJS [[nuclearVersion]]</a><br>Icons by <a href="https://www.google.com/design/icons/" target="_blank">Google</a> and <a href="https://MaterialDesignIcons.com" target="_blank">MaterialDesignIcons.com</a>.</p></div><p class="error-log-intro">The following errors have been logged this session:<paper-icon-button icon="mdi:refresh" on-tap="refreshErrorLog"></paper-icon-button></p><div class="error-log">[[errorLog]]</div></div></app-header-layout></template></dom-module><script>Polymer({is:"ha-panel-dev-info",behaviors:[window.hassBehavior],properties:{hass:{type:Object},narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},hassVersion:{type:String,bindNuclear:function(r){return r.configGetters.serverVersion}},polymerVersion:{type:String,value:Polymer.version},nuclearVersion:{type:String,value:"1.3.0"},errorLog:{type:String,value:""}},attached:function(){this.refreshErrorLog()},refreshErrorLog:function(r){r&&r.preventDefault(),this.errorLog="Loading error log…",this.hass.errorLogActions.fetchErrorLog().then(function(r){this.errorLog=r||"No errors have been reported."}.bind(this))}})</script></body></html>
|
File diff suppressed because one or more lines are too long
@ -23,5 +23,5 @@ The backwards compatible API works by scheduling a task from a different thread
|
||||
|
||||
### [Next step: asyncio 101 »](/developers/asyncio_101/)
|
||||
|
||||
[0.29]: https://home-assistant.io/blog/2016/09/29/async-sleepiq-emoncms-stocks/
|
||||
[0.29]: /blog/2016/09/29/async-sleepiq-emoncms-stocks/
|
||||
[ben]: https://github.com/bbangert/
|
||||
|
@ -30,7 +30,7 @@ By making a contribution to this project, I certify that:
|
||||
(d) I understand and agree that this project and the contribution
|
||||
are public and that a record of the contribution (including all
|
||||
personal information I submit with it) is maintained indefinitely
|
||||
and may be redistributed consistent with this project or the open
|
||||
and may be redistributed consistent with this project or the open
|
||||
source license(s) involved.
|
||||
```
|
||||
|
||||
@ -47,4 +47,4 @@ If you have not signed the CLA and you submit a pull request to a repository und
|
||||
|
||||
This Contributor License Agreement (CLA) was first announced on January 21st, 2017 in [this][cla-blog] blog post and adopted January 28th, 2017.
|
||||
|
||||
[cla-blog]: https://home-assistant.io/blog/2017/01/21/home-assistant-governance/
|
||||
[cla-blog]: /blog/2017/01/21/home-assistant-governance/
|
||||
|
@ -15,6 +15,6 @@ Before you commit any changes, check your work against these requirements:
|
||||
- All dependencies from [pypi](https://pypi.python.org/pypi) are included via the `REQUIREMENTS` variable in your platform or component and only imported inside functions that use them
|
||||
- New dependencies are added to `requirements_all.txt` (if applicable), using `script/gen_requirements_all.py`
|
||||
- The `.coveragerc` file is updated to exclude your platform if there are no tests available or your new code uses a third-party library for communication with the device, service, or sensor
|
||||
- Documentation is developed for [home-assistant.io](https://home-assistant.io/)
|
||||
- Documentation is developed for [home-assistant.io](/)
|
||||
* It's OK to start with adding a docstring with configuration details (for example, sample entry for `configuration.yaml` file) to the file header. Visit the [website documentation](/developers/documentation/) for more information about contributing to [home-assistant.io](https://github.com/home-assistant/home-assistant.github.io).
|
||||
|
||||
|
@ -31,7 +31,7 @@ $ sudo apt-get install libssl-dev libxml2-dev libxslt1-dev libjpeg-dev libffi-de
|
||||
Different distributions have different package installation mechanisms and sometimes packages names as well. For example Centos would use: `sudo yum install epel-release && sudo yum install python34 python34-devel mysql-devel`
|
||||
</p>
|
||||
|
||||
Additional dependencies exist if you plan to perform Frontend Development, please read the [Frontend](https://home-assistant.io/developers/frontend/) section to learn more.
|
||||
Additional dependencies exist if you plan to perform Frontend Development, please read the [Frontend](/developers/frontend/) section to learn more.
|
||||
|
||||
#### {% linkable_title Developing on Windows %}
|
||||
|
||||
@ -83,7 +83,7 @@ $ cd home-assistant
|
||||
$ git remote add upstream https://github.com/home-assistant/home-assistant.git
|
||||
```
|
||||
|
||||
### {% linkable_title Setting up virtual environment %}
|
||||
### {% linkable_title Setting up virtual environment %}
|
||||
|
||||
To isolate your environment from the rest of the system, set up a [`venv`](https://docs.python.org/3/library/venv.html). Within the `home-assistant` directory, create and activate your virtual environment.
|
||||
|
||||
|
@ -27,7 +27,7 @@ Those points may require that you adjust your IDE or editor settings.
|
||||
|
||||
## {% linkable_title Our recommendations %}
|
||||
|
||||
For some cases [PEPs](https://www.python.org/dev/peps/) don't make a statement. This section covers our recommendations about the code style. Those points were collected from the existing code and based on what contributors and developers were using the most. This is basically a majority decision, thus you may not agree with it. But we would like to encourage you follow those recommendations to keep the code unified.
|
||||
For some cases [PEPs](https://www.python.org/dev/peps/) don't make a statement. This section covers our recommendations about the code style. Those points were collected from the existing code and based on what contributors and developers were using the most. This is basically a majority decision, thus you may not agree with it. But we would like to encourage you follow those recommendations to keep the code unified.
|
||||
|
||||
### {% linkable_title Quotes %}
|
||||
|
||||
@ -43,7 +43,7 @@ SENSOR_TYPES = {
|
||||
|
||||
### {% linkable_title File headers %}
|
||||
|
||||
The docstring in the file header should contain a link to the documentation to make it easy to find further information, especially about the configuration or details which are not mentioned in the code.
|
||||
The docstring in the file header should contain a link to the documentation to make it easy to find further information, especially about the configuration or details which are not mentioned in the code.
|
||||
|
||||
```python
|
||||
"""
|
||||
@ -56,7 +56,7 @@ https://home-assistant.io/components/light.mqtt/
|
||||
|
||||
### {% linkable_title Requirements %}
|
||||
|
||||
Please place [Platform requirements](/developers/code_review_platform/#1-requirements) right after the imports.
|
||||
Please place [Platform requirements](/developers/code_review_platform/#1-requirements) right after the imports.
|
||||
|
||||
```python
|
||||
[...]
|
||||
|
@ -137,4 +137,4 @@ def device_state_attributes(self):
|
||||
Entities also have a similar property `state_attributes`, which normally doesn't need to be defined by new platforms. This property is used by base components to add standard sets of attributes to a state. Example: The light component uses `state_attributes` to add brightness to the state dictionary. If you are designing a new component, you should define `state_attributes` instead.
|
||||
</p>
|
||||
|
||||
To get your component included in the Home Assistant releases, follow the steps described in the [Submit your work](https://home-assistant.io/developers/development_submitting/) section. Basically you only need to move your component in the `homeassistant/component/` directory of your fork and create a Pull Request.
|
||||
To get your component included in the Home Assistant releases, follow the steps described in the [Submit your work](/developers/development_submitting/) section. Basically you only need to move your component in the `homeassistant/component/` directory of your fork and create a Pull Request.
|
||||
|
@ -10,7 +10,7 @@ footer: true
|
||||
redirect_from: /developers/website/
|
||||
---
|
||||
|
||||
The website you are reading now is the home of Home Assistant: [https://home-assistant.io](https://home-assistant.io). This is the place where we provide documentation and additional details about Home Assistant for end users and developers.
|
||||
The website you are reading now is the home of Home Assistant: [https://www.home-assistant.io](/). This is the place where we provide documentation and additional details about Home Assistant for end users and developers.
|
||||
|
||||
home-assistant.io is built using [Jekyll](http://github.com/mojombo/jekyll) and [these available dependencies](https://pages.github.com/versions/). The pages are written in [markdown](http://daringfireball.net/projects/markdown/). To add a page, you don't need to know about HTML.
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user