Merge branch 'current' into next

This commit is contained in:
Fabian Affolter 2018-07-13 10:25:36 +02:00
commit bc2e5d01d6
No known key found for this signature in database
GPG Key ID: DDF3D6F44AAB1336
64 changed files with 626 additions and 702 deletions

View File

@ -142,8 +142,8 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 73
current_patch_version: 0
date_released: 2018-07-06
current_patch_version: 1
date_released: 2018-07-08
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -51,7 +51,7 @@ Screenshot of the HASS Configurator.
}
```
- **username** (*Optional*): Set a username to access your configuration is protected.
- **username** (*Required*): Set a username to access your configuration is protected.
- **password** (*Required*): Set a password for access.
- **ssl** (*Optional*): Enable or Disable SSL/TLS for the editor.
- **allowed_networks** (*Optional*): Limit access to the configurator by adding allowed IP addresses/networks to the list.

View File

@ -38,7 +38,7 @@ Configuration variables:
- **map** (*Optional*): Control which folders will be exposed. `config` shares the Home Assistant configuration folder. `addons` shares the local custom repository. `share` shares a folder that can be accessed by add-ons and Home Assistant. `backup` shares access to snapshot files. `ssl` shares certificate storage. Be careful with the `ssl` option! Defaults are all set to `true`, except for `ssl`.
- **username** (*Optional*): Username for logging in if guest login is not used.
- **password** (*Optional*): Password for `username`. An empty password is not supported.
- **interface** (*Optional*): Interface that will start the share. Normally this is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
- **interface** (*Optional*): Interface that will start the share. Normally this is `eth0` for ethernet wired connection and `wlan0` for wireless connection. If you are running on an Intel NUC this could also be `enp3s0` for ethernet or `wlp5s0` for wireless connection.
<p class='note warning'>
Be careful when setting up port forwarding to the remote access. If you don't restrict access by requiring authentication and guest access is enabled, your configuration could be exposed to the internet!

View File

@ -58,7 +58,7 @@ Configuration variables:
- **sdcard**: Return the SD card usage by reporting the total and used space
- **ptz_preset**: Return the number of PTZ preset positions configured for the given camera
- **switches** array (*Optional*): Switches to display in the frontend. By default, *none* of the switches are shown. The following switches can be monitored.
- **motion_detection**: Enable/disable motion detection setting
- **motion_detection**: Enable/disable motion detection setting
- **motion_recording**: Enable/disable recording on motion detection setting
**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.

View File

@ -19,10 +19,9 @@ See the [Axis main component](/components/axis/) for configuration instructions.
The following sensor types are supported:
* Motion detection
* Passive IR motion detection
* Sound detection
* Day/night mode
* Tampering detection
* Input port
- Motion detection
- Passive IR motion detection
- Sound detection
- Day/night mode
- Tampering detection
- Input port

View File

@ -13,7 +13,6 @@ ha_release: 0.14
ha_iot_class: "Cloud Polling"
---
The `bloomsky` component allows you to access your [BloomSky](https://www.bloomsky.com/) weather station's [sensors](/components/sensor.bloomsky), [binary sensors](/components/binary_sensor.bloomsky), and [camera](/components/camera.bloomsky) from Home Assistant.
Obtain your API key from your [BloomSky dashboard](https://dashboard.bloomsky.com). Click `developers` in the bottom left of the screen.

View File

@ -13,7 +13,6 @@ ha_iot_class: "Local Polling"
ha_release: 0.62
---
The `Xeoma` camera platform allows you to view the video feeds from a [Xeoma](http://felenasoft.com/xeoma) video surveillance server.
To enable Xeoma camera feeds, add the following lines to your `configuration.yaml`:
@ -48,7 +47,7 @@ cameras:
required: false
type: list
keys:
image_name:
image_name:
description: The name of the JPEG image for this camera as configured in Xeoma (without .jpg extension).
required: true
type: string
@ -82,8 +81,7 @@ camera:
```
To use this platform, you must have the Xeoma Web Server module enabled in at least one of your camera chains.
This platform will parse the Xeoma web interface to find all enabled cameras and add them all to Home Assistant. You can
hide individual cameras using the platform configuration.
This platform will parse the Xeoma web interface to find all enabled cameras and add them all to Home Assistant. You can hide individual cameras using the platform configuration.
The `image_name` configuration value for each camera should match the name supplied to the Xeoma Web Server configuration (under _Path to access images_) with the _.jpg_ extension removed.

View File

@ -12,8 +12,7 @@ ha_category: Cover
ha_release: 0.44
---
The `opengarage` cover platform lets you control the open-source [OpenGarage.io](https://opengarage.io/) device through Home Assistant.
The `opengarage` cover platform lets you control the open-source [OpenGarage.io](https://opengarage.io/) device through Home Assistant.
To enable OpenGarage Covers in your installation, add the following to your `configuration.yaml` file:
@ -36,12 +35,10 @@ Configuration variables:
- **covers** array (*Required*): List of your doors.
- **identifier** (*Required*): Name of the cover as slug. Multiple entries are possible.
- **host** (*Required*): IP address of device.
- **port** (*Optional*): HTTP Port. Default is `80`.
- **device_key** (*Required*): Access key to control device. Default is `opendoor`.
- **name** (*Optional*): Name to use in the Frontend. If not provided, it will use name configured in device.
- **host** (*Required*): IP address of device.
- **port** (*Optional*): HTTP Port. Default is `80`.
- **device_key** (*Required*): Access key to control device. Default is `opendoor`.
- **name** (*Optional*): Name to use in the Frontend. If not provided, it will use name configured in device.
**Example with more detail:**
<p class='img'>
@ -53,7 +50,7 @@ Configuration variables:
cover:
platform: opengarage
covers:
garage:
garage:
host: 192.168.1.12
device_key: opendoor
name: honda
@ -93,12 +90,12 @@ sensor:
{% endif %}'{% endraw %}
group:
garage:
garage:
name: Garage
entities:
- cover.honda
- sensor.garage_status
- sensor.garage_car_present
- sensor.garage_car_present
customize:
cover.honda:

View File

@ -12,12 +12,11 @@ logo: linksys.png
ha_release: 0.48
---
The `linksys_smart` platform offers presence detection by looking at connected devices to a Linksys Smart Wifi based router.
The `linksys_smart` platform offers presence detection by looking at connected devices to a Linksys Smart Wifi based router.
Tested routers:
Tested routers:
LINKSYS WRT3200ACM MU-MIMO Gigabit Wi-Fi Wireless Router
LINKSYS WRT1900ACS Dual-band Wi-Fi Router
<p class='note'>
For this platform to work correctly, it is necessary to disable the "Access via wireless" feature in the Local Management Access section of the router administration page. If "Access via wireless" is not disabled, a connectivity conflict arises because the Home Assistant integration is trying to pass userid and password, but the router is only expecting a password.

View File

@ -70,14 +70,13 @@ Configuration variables:
- **password** (*Required*): The password for your given account.
- **dhcp_software** (*Optional*): The DHCP software used in your router: `dnsmasq`, `dhcpd`, or `none`. Defaults to `dnsmasq`.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
## Troubleshooting
## {% linkable_title Troubleshooting %}
If you find that this never creates `known_devices.yaml`, or if you need more information on the communication chain between Home Assistant and OpenWRT, follow these steps to grab the packet stream and gain insight into what's happening.
### Increase Log Level
### {% linkable_title Increase Log Level %}
1. On your Home Assistant device, stop Home Assistant
2. Adjust `configuration.yaml` to log more detail for the `device_tracker` component
@ -167,6 +166,6 @@ Connection: keep-alive
```
11. In this case we are actually receiving a valid response with no data. The request says that we are looking for ARP information from `hostapd.*`, which is the access point on the router. In my environment I don't use the AP on the router, and so it was correctly returning no data. Armed with this information, I know that I cannot use this component for device tracking or presence.
### Cleanup
### {% linkable_title Cleanup %}
When you're done troubleshooting, remember to reset your logging configuration and delete any capture files that contain sensitive information.

View File

@ -14,25 +14,24 @@ ha_release: 0.9
ha_iot_class: "Cloud Push"
---
The `ecobee` component lets you control a thermostats and view sensor data from [ecobee](https://ecobee.com) thermostats.
You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this component. To get the key, first you need to register your thermostat which should be done as part of the ecobee installation. Once you have done that perform the following steps.
1. Click on the **Become a developer** link on the [developer site](https://www.ecobee.com/developers/).
1. Click on the **Become a developer** link on the [developer site](https://www.ecobee.com/developers/).
2. Login with your ecobee credentials.
3. Accept the SDK agreement.
4. Fill in the fields.
5. Click **save**.
5. Click **save**.
Now login to the regular consumer portal, and in the hamburger menu there will be a new option **Developer**. Now we can create the Application to hook up to Home Assistant.
1. Select the Developer option.
2. Select **Create New**.
3. Give your app a name (it appears to need to be unique across all users, as I tried 'home-assistant' and it said it was already in use. Try <yournameoralias>-home-assistant) and a summary (neither of these are important as they are not used anywhere).
4. For Authorization method select **ecobee PIN**.
5. You don't need an Application Icon or Detailed Description.
6. Click **Create**.
1. Select the Developer option.
2. Select **Create New**.
3. Give your app a name (it appears to need to be unique across all users, as I tried 'home-assistant' and it said it was already in use. Try <yournameoralias>-home-assistant) and a summary (neither of these are important as they are not used anywhere).
4. For Authorization method select **ecobee PIN**.
5. You don't need an Application Icon or Detailed Description.
6. Click **Create**.
Now under the Name and Summary Section you will have an API key. Copy this key and use it in you configuration section below. Click the **X** to close the Developer section.
@ -40,8 +39,8 @@ The first time you run Home Assistant with this component it will give you a PIN
The PIN can be found from the Home Assistant portal on the Ecobee card or from the **configurator.ecobee** entity in states in the portal.
- If you do not have an ecobee card, you may be using groups with `default_view` that don't show the card. To get around this you can temporarily comment out the `default_view` section or add the `configurator.ecobee` component to your `default_view` and restart Home Assistant.
- If you do not have an ecobee card, you may be using groups with `default_view` that don't show the card. To get around this you can temporarily comment out the `default_view` section or add the `configurator.ecobee` component to your `default_view` and restart Home Assistant.
Once you enter the PIN on the ecobee site, wait approximately 5 minutes and then click on the **I have authorized the app** link at the bottom of the ecobee pop-up window. If everything worked correctly, you should now be able to restart Home Assistant again to see the full ecobee card with all of the sensors populated or see the list of sensors in the developer tools. Now you can re-enable your `default_view` (if you had to disable it) and add the ecobee sensors to a group and/or view.
To set it up, add the following information to your `configuration.yaml` file:
@ -62,4 +61,4 @@ Configuration variables:
<img src='{{site_root}}/images/screenshots/ecobee-thermostat-card.png' />
</p>
If for whatever reason you delete and re-create your ecobee app at ecobee.com such that your developer API key changes, you will need to delete your `/conf/ecobee.conf file`. You will also need to update the `api_key:` in the `configuration.yaml` or `secrets.yaml` file.
If for whatever reason you delete and re-create your ecobee app at ecobee.com such that your developer API key changes, you will need to delete your `/conf/ecobee.conf file`. You will also need to update the `api_key:` in the `configuration.yaml` or `secrets.yaml` file.

View File

@ -19,13 +19,13 @@ The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and
### Air Purifier 2 et al.
* Power (on, off)
* Operation modes (auto, silent, favorite, idle)
* Buzzer (on, off)
* Child lock (on, off)
* LED (on, off), LED brightness (bright, dim, off)
* Favorite Level (0...16)
* Attributes
- Power (on, off)
- Operation modes (auto, silent, favorite, idle)
- Buzzer (on, off)
- Child lock (on, off)
- LED (on, off), LED brightness (bright, dim, off)
- Favorite Level (0...16)
- Attributes
- model
- temperature
- humidity
@ -53,12 +53,12 @@ The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and
### Air Purifier Pro (zhimi.airpurifier.v6)
* Power (on, off)
* Operation modes (auto, silent, favorite)
* Child lock (on, off)
* LED (on, off)
* Favorite Level (0...16)
* Attributes
- Power (on, off)
- Operation modes (auto, silent, favorite)
- Child lock (on, off)
- LED (on, off)
- Favorite Level (0...16)
- Attributes
- model
- temperature
- humidity
@ -89,11 +89,11 @@ The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and
### Air Purifier V3 (zhimi.airpurifier.v3)
* Power (on, off)
* Operation modes (auto, silent, favorite, idle, medium, high, strong)
* Child lock (on, off)
* LED (on, off)
* Attributes
- Power (on, off)
- Operation modes (auto, silent, favorite, idle, medium, high, strong)
- Child lock (on, off)
- LED (on, off)
- Attributes
- model
- aqi
- mode
@ -121,13 +121,13 @@ The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and
### Air Humidifier (zhimi.humidifier.v1)
* On, Off
* Operation modes (silent, medium, high)
* Buzzer (on, off)
* Child lock (on, off)
* LED brightness (bright, dim, off)
* Target humidity (30, 40, 50, 60, 70, 80)
* Attributes
- On, Off
- Operation modes (silent, medium, high)
- Buzzer (on, off)
- Child lock (on, off)
- LED brightness (bright, dim, off)
- Target humidity (30, 40, 50, 60, 70, 80)
- Attributes
- model
- temperature
- humidity
@ -143,14 +143,14 @@ The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and
### Air Humidifier CA (zhimi.humidifier.ca1)
* On, Off
* Operation modes (silent, medium, high, auto)
* Buzzer (on, off)
* Child lock (on, off)
* LED brightness (bright, dim, off)
* Target humidity (30, 40, 50, 60, 70, 80)
* Dry mode (on, off)
* Attributes
- On, Off
- Operation modes (silent, medium, high, auto)
- Buzzer (on, off)
- Child lock (on, off)
- LED brightness (bright, dim, off)
- Target humidity (30, 40, 50, 60, 70, 80)
- Dry mode (on, off)
- Attributes
- model
- temperature
- humidity

View File

@ -131,8 +131,8 @@ The values of variables are polled from the CCU/Homegear in an interval of 30 se
When HomeMatic devices change their state or some other internal value, the CCU/Homegear sends event messages to Home Assistant. These events are automatically parsed and the entities in Home Assistant are updated. However, you can also manually use these events to trigger automations. Two event-types are available:
* **homematic.keypress**: For devices with buttons, see information below
* **homematic.impulse**: For impulse sensors
- **homematic.keypress**: For devices with buttons, see information below
- **homematic.impulse**: For impulse sensors
#### {% linkable_title Devices with buttons %}
@ -171,13 +171,15 @@ It may happen that "your_nice_name" is not resolved correctly; the according mes
### {% linkable_title Services %}
* *homematic.virtualkey*: Simulate a keypress (or other valid action) on CCU/Homegear with device or virtual keys.
* *homematic.reconnect*: Reconnect to CCU/Homegear without restarting Home Assistant (useful when CCU has been restarted)
* *homematic.set_variable_value*: Set the value of a system variable.
* *homematic.set_device_value*: Control a device manually (even devices without support). Equivalent to setValue-method from XML-RPC.
- *homematic.virtualkey*: Simulate a keypress (or other valid action) on CCU/Homegear with device or virtual keys.
- *homematic.reconnect*: Reconnect to CCU/Homegear without restarting Home Assistant (useful when CCU has been restarted)
- *homematic.set_variable_value*: Set the value of a system variable.
- *homematic.set_device_value*: Control a device manually (even devices without support). Equivalent to setValue-method from XML-RPC.
#### {% linkable_title Examples %}
Simulate a button being pressed
Simulate a button being pressed:
```yaml
...
action:
@ -188,7 +190,8 @@ action:
param: PRESS_LONG
```
Open KeyMatic
Open KeyMatic:
```yaml
...
action:
@ -199,7 +202,8 @@ action:
param: OPEN
```
Set boolean variable to true
Set boolean variable to true:
```yaml
...
action:
@ -215,7 +219,8 @@ action:
If you are familiar with the internals of HomeMatic devices, you can manually set values on the devices. This can serve as a workaround if support for a device is currently not available, or only limited functionality has been implemented.
Using this service provides you direct access to the setValue-method of the primary connection. If you have multiple hosts, you may select the one hosting a specific device by providing the proxy-parameter with a value equivalent to the name you have chosen. In the example configuration from above `rf`, `wired` and `ip` would be valid values.
Manually turn on a switch actor
Manually turn on a switch actor:
```yaml
...
action:
@ -227,7 +232,8 @@ action:
value: true
```
Manually set temperature on thermostat
Manually set temperature on thermostat:
```yaml
...
action:
@ -239,7 +245,8 @@ action:
value: 23.0
```
Manually set lock on KeyMatic devices
Manually set lock on KeyMatic devices:
```yaml
...
action:
@ -247,7 +254,8 @@ action:
entity_id: lock.leq1234567
```
Manually set unlock on KeyMatic devices
Manually set unlock on KeyMatic devices:
```yaml
...
action:
@ -259,7 +267,7 @@ action:
When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant will stop getting updates from devices. This may happen after rebooting the CCU for example. Due to the nature of the communication protocol this cannot be handled automatically, so you must call *homematic.reconnect* in this case. That's why it is usually a good idea to check if your HomeMatic components are still updated properly, in order to detect connection losses. This can be done in several ways through an automation:
* If you have a sensor which you know will be updated frequently (e.g. an outdoor temperature sensor or light sensor) you could set up an automation like this:
- If you have a sensor which you know will be updated frequently (e.g. an outdoor temperature sensor or light sensor) you could set up an automation like this:
```yaml
automation:
@ -273,7 +281,8 @@ When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant wi
# Reconnect, if sensor has not been updated for over 3 hours
service: homematic.reconnect
```
* If you have a CCU you can also create a system variable on the CCU, which stores it's last reboot time. Since Home Assistant can still refresh system variables from the CCU (even after a reboot), this is a pretty reliable way to detect situations where you need to call *homematic.reconnect*. This is how this can be done:
- If you have a CCU you can also create a system variable on the CCU, which stores it's last reboot time. Since Home Assistant can still refresh system variables from the CCU (even after a reboot), this is a pretty reliable way to detect situations where you need to call *homematic.reconnect*. This is how this can be done:
1. Create a string variable **V_Last_Reboot** on the CCU
@ -309,4 +318,3 @@ When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant wi
action:
service: homematic.reconnect
```

View File

@ -29,6 +29,7 @@ isy994:
username: ISY_USERNAME
password: ISY_PASSWORD
```
Configuration variables:
- **host** (*Required*): The host entry should be in full URL format, eg. http://192.168.10.100:80
@ -69,15 +70,15 @@ automation:
All `isy994_control` events will have an `entity_id` and `control` parameter in its `event_data`. You'll need to refer to ISY994 documentation for the list of every possible control type, but the common ones are:
- `DON`: On button
- `DOF`: Off button
- `DFON`: "Fast On", usually from double-tapping an On button
- `DFOF`: "Fast Off", usually from double-tapping an Off button
- `FDUP`: "Fade Up", usually while holding down an On button
- `FDDOWN`: "Fade Down", usually while holding down an Off button
- `FDSTOP`: "Fade Stop", when releasing a long-held button
- `BRT`: "Brighten", from controllers that issue a single command to slightly brighten a light
- `DIM`: "Dim", from controllers that issue a single command to slightly dim a light
- `DON`: On button.
- `DOF`: Off button.
- `DFON`: "Fast On", usually from double-tapping an On button.
- `DFOF`: "Fast Off", usually from double-tapping an Off button.
- `FDUP`: "Fade Up", usually while holding down an On button.
- `FDDOWN`: "Fade Down", usually while holding down an Off button.
- `FDSTOP`: "Fade Stop", when releasing a long-held button.
- `BRT`: "Brighten", from controllers that issue a single command to slightly brighten a light.
- `DIM`: "Dim", from controllers that issue a single command to slightly dim a light.
### {% linkable_title Insteon Scenes %}
@ -87,7 +88,7 @@ All Insteon scenes configured in the ISY994 will show up as switches in Home Ass
Using the Programs tab in the controller's Administrative Console, custom devices can be created that will appear natively inside of Home Assistant. Home Assistant will scan the following folders and build the device to the associated domains:
```
```text
My Programs
├── HA.binary_sensor
| ├── Movement In House
@ -125,11 +126,12 @@ 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](/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
* *HA.switch* will create a switch
- *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.
- *HA.switch* will create a switch.
A program, named *status*, is required under the program device directory. A program, named *actions*, is required for all program devices except for binary_sensor. Any other programs in these device directories will be ignored. The *status* program requires that you create a variable with the name of your choice. This variable will store the actual status of the new device and will be updated by the *action* program.
@ -138,21 +140,23 @@ A program, named *status*, is required under the program device directory. A pro
</p>
The *status* program in this directory is what indicates the state of the device:
* *binary_sensor* on if the clause returns true, otherwise off
* *cover* closed if the clause returns true, otherwise open
* *fan* on if the clause returns true, otherwise off
* *lock* locked if the clause returns true, otherwise unlocked
* *switch* on if the clause returns true, otherwise off
- *binary_sensor* on if the clause returns true, otherwise off.
- *cover* closed if the clause returns true, otherwise open.
- *fan* on if the clause returns true, otherwise off.
- *lock* locked if the clause returns true, otherwise unlocked.
- *switch* on if the clause returns true, otherwise off.
<p class='img'>
<img src='{{site_root}}/images/isy994/isy994_SwitchStatusExample.png' />
</p>
The *actions* program indicates what should be performed for the following device services:
* *cover* the THEN clause is evaluated for the open_cover service, the ELSE clause is evaluated for the close_cover service
* *fan* the THEN clause is evaluated for the turn_on service, the ELSE clause is evaluated for the turn_off service
* *lock* the THEN clause is evaluated for the lock service, the ELSE clause is evaluated for the unlock service
* *switch* the THEN clause is evaluated for the turn_on service, the ELSE clause is evaluated for the turn_off service
- *cover* the THEN clause is evaluated for the open_cover service, the ELSE clause is evaluated for the close_cover service.
- *fan* the THEN clause is evaluated for the turn_on service, the ELSE clause is evaluated for the turn_off service.
- *lock* the THEN clause is evaluated for the lock service, the ELSE clause is evaluated for the unlock service.
- *switch* the THEN clause is evaluated for the turn_on service, the ELSE clause is evaluated for the turn_off service.
<p class='img'>
<img src='{{site_root}}/images/isy994/isy994_SwitchActionsExample.png' />

View File

@ -12,7 +12,6 @@ ha_category: Hub
ha_release: "0.24"
---
The `joaoapps_join` component exposes services from [Join](http://joaoapps.com/join). In Home Assistant, the Join features are divided up in two locations, the Join component, and the Join notify platform. The notify platform allows us to send messages to Join devices, the component allows us to access the other special features that Join offers.
In the `configuration.yaml` file you need to provide the api key and device id or name of the target device. You can find your device id and api key [here](https://joinjoaomgcd.appspot.com/).
@ -57,4 +56,3 @@ The services exposed in the `joaoapps_join` component can be used with the servi
| joaoapps_join/send_url | `{"url":"http://google.com"}` |
| joaoapps_join/send_wallpaper | `{"url":"http://www.planwallpaper.com/static/images/ZhGEqAP.jpg"}` |
| joaoapps_join/send_file | `{"url":"http://download.thinkbroadband.com/5MB.zip"}` |

View File

@ -12,7 +12,6 @@ ha_category: Hub
ha_release: 0.47
---
The `juicenet` sensor platform pulls data from a [JuiceNet](https://emotorwerks.com/products/juicenet/) charging station equipped with a wifi connection. It will access and make available all of the devices attached to your account.
## {% linkable_title Configuration %}

View File

@ -12,15 +12,14 @@ ha_category: Automation
ha_release: pre 0.7
---
The `keyboard` component simulates key presses on the host machine. It currently offers the following Buttons as a Service (BaaS):
* `keyboard/volume_up`
* `keyboard/volume_down`
* `keyboard/volume_mute`
* `keyboard/media_play_pause`
* `keyboard/media_next_track`
* `keyboard/media_prev_track`
- `keyboard/volume_up`
- `keyboard/volume_down`
- `keyboard/volume_mute`
- `keyboard/media_play_pause`
- `keyboard/media_next_track`
- `keyboard/media_prev_track`
To load this component, add the following lines to your `configuration.yaml`:
@ -33,7 +32,7 @@ keyboard:
You may need to install platform-specific [dependencies for PyUserInput](https://github.com/PyUserInput/PyUserInput#dependencies) in order to use the keyboard component. In most cases this can be done by running:
```bash
$ pip3 install [package name]
pip3 install [package name]
```
#### {% linkable_title Windows %}

View File

@ -19,7 +19,6 @@ This component allows you to use one or more keyboards as remote controls. It wi
The `evdev` package is used to interface with the keyboard and thus this is Linux only. It also means you can't use your normal keyboard for this because `evdev` will block it.
```yaml
# Example configuration.yaml entry
keyboard_remote:
@ -47,7 +46,7 @@ keyboard_remote:
type: 'key_up'
```
or like the following for one keyboard:
Or like the following for one keyboard:
```yaml
keyboard_remote:
@ -70,15 +69,18 @@ automation:
service: light.turn_on
entity_id: light.all
```
`device_descriptor` or `device_name` may be specificed in the trigger so the automation will be fired only for that keyboard. This is especially useful if you wish to use several bluetooth remotes to control different devices. Omit them to ensure the same key triggers the automation for all keyboards/remotes.
## {% linkable_title Disconnections %}
This component manages disconnections and re-connections of the keyboard, for example in the case of a Bluetooth device that turns off automatically to preserve battery.
If the keyboard disconnects, the component will fire an event `keyboard_remote_disconnected`.
When the keyboard reconnects, an event `keyboard_remote_connected` will be fired.
Here's an automation example that plays a sound through a media player whenever the keyboard connects/disconnects:
```yaml
automation:
- alias: Keyboard Connected
@ -104,13 +106,14 @@ automation:
```
## {% linkable_title Permissions %}
There might be permissions problems with the event input device file. If this is the case, the user that Home Assistant runs as must be allowed read and write permissions with:
```bash
$ sudo setfacl -m u:HASS_USER:rw /dev/input/event*
sudo setfacl -m u:HASS_USER:rw /dev/input/event*
```
where `HASS_USER` is the user who runs Home Assistant.
Where `HASS_USER` is the user who runs Home Assistant.
If you want to make this permanent, you can use a udev rule that sets it for all event input devices. Add a file `/etc/udev/rules.d/99-userdev-input.rules` containing:
@ -118,8 +121,8 @@ If you want to make this permanent, you can use a udev rule that sets it for all
KERNEL=="event*", SUBSYSTEM=="input", RUN+="/usr/bin/setfacl -m u:HASS_USER:rw $env{DEVNAME}"
```
You can check ACLs permissions with
You can check ACLs permissions with:
```bash
$ getfacl /dev/input/event*
getfacl /dev/input/event*
```

View File

@ -39,6 +39,7 @@ kira:
```
Configuration variables:
- **sensors** (*Optional*): Kira sensors to register
- **name** (*Optional*): Name of this sensor.
- **host** (*Optional*): Bind address for this sensor. 0.0.0.0 is default.
@ -70,6 +71,7 @@ The first time the Kira component is loaded, `kira_codes.yaml` will be created i
```
Configuration variables:
- **name** (*Required*): The name of this code.
- **code** (*Required*): The data for this code (see below).
- **device** (*Optional*): The device this code is associated with. Default is "unknown".
@ -81,6 +83,7 @@ Some manufacturers (e.g., Samsung) require an IR code to be sent a number of tim
### {% linkable_title Code Types %}
When creating an entry in `kira_codes.yaml`, a few different kinds of codes can be used.
- **kira**: This is the native wire protocol used by Kira modules. These can be captured using netcat.
- **pronto**: Pronto codes are supported.
- **nec**: If the device uses NEC IR codes and the manufacturer has published them, they can be used here.

View File

@ -14,7 +14,7 @@ ha_release: "0.70"
The `konnected` component lets you connect wired sensors and switches to a NodeMCU ESP8226 based device running the [open source Konnected software](https://github.com/konnected-io/konnected-security). Reuse the wired sensors and siren from an old or pre-wired alarm system installation and integrate them directly into Home Assistant.
Visit the [Konnected.io website](https://konnected.io) for more information about the Konnected Alarm Panel board and compatible hardware.
Visit the [Konnected.io website](https://konnected.io) for more information about the Konnected Alarm Panel board and compatible hardware.
The component currently supports the following device types in Home Assistant:
@ -45,7 +45,7 @@ konnected:
switches:
- pin: 5
```
{% configuration %}
access_token:
description: Any random string. This is used to ensure that only those devices which you have configured can authenticate to Home Assistant to change a device state.
@ -55,7 +55,7 @@ api_host:
description: Override the IP address/host (and port number) of Home Assistant that the Konnected device(s) will use to communicate sensor state updates. If omitted, this is defaulted to the value of `base_url` in the `http` component. If you've set `base_url` to an external hostname, then you'll want to set this value back to your _local_ IP address and port (e.g. `http://192.168.1.101:8123`).
required: false
type: url
default: value of `base_url`
default: value of `base_url`
devices:
description: A list of Konnected devices that you have on your network.
required: true
@ -71,15 +71,15 @@ devices:
type: list
keys:
pin:
description: The number corresponding to the _IO index_ of the labeled pin on the NodeMCU dev board. See the [NodeMCU GPIO documentation](https://nodemcu.readthedocs.io/en/master/en/modules/gpio/) for more details. Valid values are 1, 2, 5, 6, 7 and 9.
description: The number corresponding to the _IO index_ of the labeled pin on the NodeMCU dev board. See the [NodeMCU GPIO documentation](https://nodemcu.readthedocs.io/en/master/en/modules/gpio/) for more details. Valid values are 1, 2, 5, 6, 7 and 9.
required: exclusive
zone:
description: The number corresponding to the labeled zone on the [Konnected Alarm Panel](https://konnected.io) board. Valid values are 1, 2, 3, 4, 5 and 6.
required: exclusive
type:
description: Any [binary sensor](/components/binary_sensor/) class, typically `door`, `window`, `motion` or `smoke`.
required: true
name:
required: true
name:
description: The name of the device used in the front end.
required: false
default: automatically generated
@ -89,12 +89,12 @@ devices:
type: list
keys:
pin:
description: The number corresponding to the _IO index_ of the labeled pin on the NodeMCU dev board. See the [NodeMCU GPIO documentation](https://nodemcu.readthedocs.io/en/master/en/modules/gpio/) for more details. Valid values are 1, 2, 5, 6, 7 and 8.
description: The number corresponding to the _IO index_ of the labeled pin on the NodeMCU dev board. See the [NodeMCU GPIO documentation](https://nodemcu.readthedocs.io/en/master/en/modules/gpio/) for more details. Valid values are 1, 2, 5, 6, 7 and 8.
required: exclusive
zone:
description: The number corresponding to the labeled zone on the [Konnected Alarm Panel](https://konnected.io) board or the word `out` to specify the dedicated ALARM/OUT terminal on the Konnected board. Valid values are 1, 2, 3, 4, 5 and out.
required: exclusive
name:
name:
description: The name of the device used in the front end.
required: false
default: automatically generated
@ -104,7 +104,7 @@ devices:
required: false
{% endconfiguration%}
#### Configuration Notes
#### {% linkable_title Configuration Notes %}
- Either **pin** or **zone** is required for each actuator or sensor. Do not use both in the same definition.
- Pin `D8` or the `out` zone will only work when activation is set to high (the default).
@ -145,12 +145,12 @@ konnected:
Konnected runs on an ESP8266 board with the NodeMCU firmware. It is commonly used with the NodeMCU dev kit WiFi module and optionally Konnected's Alarm Panel hardware. The following table shows the pin mapping between the Konnected hardware labeled zones, the NodeMCU labeled pins and the ESP8266 GPIO pins.
| Konnected Alarm Panel Zone | NodeMCU pin | IO Index | ESP8266 GPIO |
| Konnected Alarm Panel Zone | NodeMCU pin | IO Index | ESP8266 GPIO |
|---|---|---|---|
| 1 | D1 | 1 | GPIO5 |
| 2 | D2 | 2 | GPIO4 |
| 1 | D1 | 1 | GPIO5 |
| 2 | D2 | 2 | GPIO4 |
| 3 | D5 | 5 | GPIO14 |
| 4 | D6 | 6 | GPIO12 |
| 5 | D7 | 7 | GPIO13 |
| 6 | RX | 9 | GPIO3 |
| ALARM or OUT | D8 | 8 | GPIO15 |
| ALARM or OUT | D8 | 8 | GPIO15 |

View File

@ -13,13 +13,11 @@ ha_release: 0.9
ha_iot_class: "Cloud Polling"
---
The Wink lock platform allows you to control your [Wink](http://www.wink.com/) locks.
The requirement is that you have setup [Wink](/components/wink/).
### Supported lock devices
### {% linkable_title Supported lock devices %}
- Kwikset
- Schlage
@ -56,7 +54,7 @@ You can use the service wink/wink_set_lock_alarm_sensitivity to set the alarm se
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `sensitivity` | no | String one of low, medium_low, medium, medium_high, high
| `sensitivity` | no | String one of low, medium_low, medium, medium_high, high.
| `entity_id` | yes | String or list of strings that point at `entity_id`s of locks.
Example:
@ -140,7 +138,6 @@ You can use the service wink/wink_add_new_lock_key_code to add a new user code t
| `name` | no | the name of the new key code
| `code` | no | The new code. Must match length of existing codes.
<p class='note'>
Calling service wink/pull_newly_added_wink_devices will add the new key code to Home Assistant. The device will also show up on the next restart of Home Assistant.
</p>

View File

@ -12,7 +12,6 @@ ha_category: Notifications
ha_release: 0.67
---
The `mastodon` platform uses [MAstodon](https://joinmastodon.org/) to delivery notifications from Home Assistant.
Go to **Preferences** in the Mastodon web interface, then to **Development** and create a new application.

View File

@ -13,7 +13,6 @@ ha_release: pre 0.7
ha_iot_class: "Cloud Polling"
---
Integrate your [Efergy](https://efergy.com) meter information into Home Assistant.
## {% linkable_title Setup %}
@ -49,15 +48,13 @@ sensor:
Configuration variables:
- **app_token** (*Required*): The App Token for your account.
- **utc_offset** (*Required*): Some variables (currently only the daily_cost) require that the
negative number of minutes your timezone is ahead/behind UTC time.
- **utc_offset** (*Required*): Some variables (currently only the daily_cost) require that the negative number of minutes your timezone is ahead/behind UTC time.
- **monitored_variables** array (*Required*): Variables to monitor.
- **type** (*Required*): Name of the variable.
- **instant_readings**: Instant energy consumption.
- **budget**: Monthly budget.
- **cost**: The cost for energy consumption (with the tariff that has been set in Efergy) over a given period.
- **amount**: The amount of energy consumed over a given period.
- **current_values**: This returns the current energy usage of each device on your account, as `efergy_\<sid of device\>`. If you only have one device in your account, this is effectively the same as instant_readings.
- **instant_readings**: Instant energy consumption.
- **budget**: Monthly budget.
- **cost**: The cost for energy consumption (with the tariff that has been set in Efergy) over a given period.
- **amount**: The amount of energy consumed over a given period.
- **current_values**: This returns the current energy usage of each device on your account, as `efergy_\<sid of device\>`. If you only have one device in your account, this is effectively the same as instant_readings.
- **period** (*Optional*): Some variables take a period argument. Valid options are "day", "week", "month", and "year".
- **currency** (*Optional*): This is used to display the cost/period as the unit when monitoring the cost. It should correspond to the actual currency used in your dashboard.

View File

@ -13,12 +13,12 @@ ha_release: 0.36
ha_iot_class: "Local Polling"
---
The `fritzbox_netmonitor` sensor monitors the network statistics exposed by [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) routers.
<p class='note warning'>
It might be necessary to install additional packages: <code>$ sudo apt-get install libxslt-dev libxml2-dev python3-lxml</code>
If you are working with the All-in-One installation, you may also need to execute also within your virtual environment the command <code> pip install lxml</code>; be patient this will take a while.</p>
If you are working with the All-in-One installation, you may also need to execute also within your virtual environment the command <code> pip install lxml</code>; be patient this will take a while.
</p>
To use the Fritz!Box network monitor in your installation, add the following to your `configuration.yaml` file:

View File

@ -20,6 +20,7 @@ Direct connection via serial (RS485) or via telnet terminal server is supported.
Since this serial protocol is proprietary and closed, only most temperature sensors and a few control relays are supported, the rest is still WIP (see https://www.mikrocontroller.net/topic/274137).
Direct connection via serial port:
```yaml
# Example configuration.yaml entry
- platform: kwb
@ -30,6 +31,7 @@ Direct connection via serial port:
```
Telnet terminal server with a serial-ethernet converter:
```yaml
# Example configuration.yaml entry
- platform: kwb

View File

@ -14,7 +14,6 @@ ha_iot_class: "Cloud Push"
redirect_from: /components/sensor.loop_energy/
---
Integrate your [Loop Energy](https://www.your-loop.com/) meter information into Home Assistant. To use this sensor you need the client serial number and secret keys for your devices.
The library used to get the data isn't officially supported and the only way to get the keys is to log into loop energy's website and type a command into your browser console.

View File

@ -13,7 +13,6 @@ ha_release: 0.58
ha_iot_class: "Local Polling"
---
The `pyload` platform allows you to monitor your downloads with [pyLoad](https://pyload.net/) from within Home Assistant and setup automation based on the information.
To enable this sensor, add the following lines to your `configuration.yaml`:
@ -55,10 +54,8 @@ ssl:
default: false
{% endconfiguration %}
If everything is setup correctly, the download speed will show up in the frontend.
<p class='img'>
<img src='{{site_root}}/images/components/pyload/pyload_speed.png' />
</p>

View File

@ -14,12 +14,16 @@ ha_release: 0.14
---
The Steam component will allow you to track the online status of public [Steam](https://steamcommunity.com) accounts.
The `steam` sensor platform will allow you to track the online status of public [Steam](https://steamcommunity.com) accounts.
You need a [free API key](https://steamcommunity.com/dev/apikey) to use the component
## {% linkable_title Setup %}
You need a [free API key](https://steamcommunity.com/dev/apikey) to use the platform.
To find an account's 64-bit SteamID on profiles without a custom URL you can check the URL of the profile page, the long string of numbers at the end is the 64-bit SteamID. If the profile has a custom URL you will have to copy the URL into [STEAMID I/O](https://steamid.io/) to find the 64-bit SteamID.
## {% linkable_title Configuration %}
To use Steam in your installation, add the following to your `configuration.yaml` file:
```yaml
@ -32,12 +36,23 @@ sensor:
- account2
```
Configuration variables:
- **api_key** (*Required*): Your API key from [https://steamcommunity.com/dev/apikey](https://steamcommunity.com/dev/apikey).
- **accounts** array (*Required*): Array of accounts.
- **account_id** (*Required*): 64-bit SteamID.
{% configuration %}
api_key:
required: true
description: Your API key from [https://steamcommunity.com/dev/apikey](https://steamcommunity.com/dev/apikey).
type: string
accounts:
required: true
description: List of accounts.
type: map
keys:
account_id:
required: true
description: The 64-bit SteamID.
type: string
{% endconfiguration %}
## {% linkable_title Examples %}
If you want to add the accounts to a group for example you will have to use:

View File

@ -13,7 +13,6 @@ ha_iot_class: "Cloud Polling"
ha_release: "0.50"
---
The `uk_transport` sensor will display the time in minutes until the next departure in a specified direction from of a configured train station or bus stop. The sensor uses [transportAPI](http://www.transportapi.com/) to query live departure data and requires a developer application ID and key which can be obtained [here](https://developer.transportapi.com/). The [free tier](http://www.transportapi.com/plans/) allows 1000 requests daily, which is sufficient for a single sensor refreshing every 87 seconds.
<p class='note warning'>
@ -26,7 +25,6 @@ Train departure sensors require three character long `origin` and `destination`
To add a single train departure sensor add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry for a single sensor
sensor:
@ -69,17 +67,15 @@ A large amount of information about upcoming departures is available within the
next_trains_platform:
friendly_name: 'Next train platform'
value_template: {% raw %}'{{states.sensor.next_train_to_wat.attributes.next_trains[0].platform}}'{% endraw %}
```
Bus sensors require as their `origin` a bus stop ATCO code which can be found by browsing OpenStreetMap data as
follows:
1. On [OpenStreetMap.org](http://www.openstreetmap.org/) zoom right in on a bus
stop you're interested in
2. Click the layers picker button on the right hand side
3. Tick the 'map data' layer, and wait for clickable objects to load
4. Click the bus stop node to reveal its tags on the left
1. On [OpenStreetMap.org](http://www.openstreetmap.org/) zoom right in on a bus stop you're interested in.
2. Click the layers picker button on the right hand side.
3. Tick the 'map data' layer, and wait for clickable objects to load.
4. Click the bus stop node to reveal its tags on the left.
The `destination` must be a valid location in the "direction" field returned by a GET query to `/uk/bus/stop/{atcocode}/live.json` as described in the [API reference webpage](https://developer.transportapi.com/docs?raml=https://transportapi.com/v3/raml/transportapi.raml##bus_information). A bus sensor is added in the following `configuration.yaml` file entry:
@ -116,7 +112,6 @@ And the template sensor for viewing the next bus attributes.
next_bus_estimated:
friendly_name: 'Next bus estimated'
value_template: {% raw %}'{{states.sensor.next_bus_to_wantage.attributes.next_buses[0].estimated}}'{% endraw %}
```
Powered by [transportAPI](http://www.transportapi.com/)

View File

@ -15,8 +15,7 @@ ha_release: 0.37
The `wsdot` sensor will give you travel time information from the [Washington State Department of Transportation (WSDOT)](http://wsdot.com/).
First, you need to get a free Traveler Information `api_key` from the [WSDOT API webpage](http://wsdot.com/traffic/api/). Just enter your email address to instantly get the key.
First, you need to get a free Traveler Information `api_key` from the [WSDOT API webpage](http://wsdot.com/traffic/api/). Just enter your email address to instantly get the key.
Once you have the code, create `wsdot` sensors by editing your `configuration.yaml` file as follows:
@ -38,11 +37,11 @@ Configuration variables:
- **id** (*Required*): Name of the route.
- **name** (*Optional*): Name of the route. Default just uses `id`.
Figuring out which Travel Time ID (`id`) is associated with your routes is a bit of a challenge. If you visit `http://wsdot.com/Traffic/api/TravelTimes/TravelTimesREST.svc/GetTravelTimesAsJson?AccessCode=[your_api_key_here]` substituting your `api_key`, you will get a list of all available routes. Search through it and then find the key `TravelTimeID`. That tells you the number you need.
Figuring out which Travel Time ID (`id`) is associated with your routes is a bit of a challenge. If you visit `http://wsdot.com/Traffic/api/TravelTimes/TravelTimesREST.svc/GetTravelTimesAsJson?AccessCode=[your_api_key_here]` substituting your `api_key`, you will get a list of all available routes. Search through it and then find the key `TravelTimeID`. That tells you the number you need.
Some common examples include:
```
```text
73 Issaquah-Seattle (WB PM)
74 Seattle-Issaquah (EB AM)
75 HOV Issaquah-Seattle (WB REV)
@ -78,4 +77,3 @@ Here's an example of the sensor in use:
<p class='img'>
<img src='{{site_root}}/images/screenshots/wsdot_sensor.png' />
</p>

View File

@ -13,7 +13,6 @@ ha_release: 0.27
ha_iot_class: "Cloud Polling"
---
The `wunderground` platform uses [Weather Underground](http://www.wunderground.com) as a source for current weather information.
<p class='note warning'>
@ -119,8 +118,7 @@ in the `_1h_` part of the sensor name with `1` to `36`. e.g., `weather_24h` will
### {% linkable_title Additional examples %}
#### Daily forecast
#### {% linkable_title Daily forecast %}
```yaml
sensor:
@ -152,8 +150,7 @@ group:
![Daily Forecast](/images/screenshots/wunderground_daily_forecast.png)
#### Weather overview
#### {% linkable_title Weather overview %}
```yaml
sensor:
@ -190,13 +187,12 @@ group:
![Weather overview](/images/screenshots/wunderground_weather_overview.png)
<p class='note warning'>
Note: While the platform is called “wunderground” the sensors will show up in Home Assistant as “PWS” (eg: sensor.pws_weather).
</p>
Note that the Weather Underground sensor is added to the entity_registry, so second and subsequent Personal Weather Station ID (pws_id) will have their monitored conditions suffixed with an index number e.g.
- sensor.pws_weather_1d_metric_2
- sensor.pws_weather_1d_metric_2
Additional details about the API are available [here](https://www.wunderground.com/weather/api/d/docs).

View File

@ -17,8 +17,8 @@ The `xiaomi_miio` sensor platform is observing your Xiaomi Mi Air Quality Monito
Currently, the supported features are:
* Air Quality Index (AQI)
* Attributes
- Air Quality Index (AQI)
- Attributes
- power
- charging
- battery

View File

@ -24,7 +24,6 @@ Info on how to get API access is described in the [smappy wiki](https://github.c
To use the `smappee` component in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
smappee:

View File

@ -18,7 +18,7 @@ The `rachio` switch platform allows you to toggle zones connected to your [Rachi
Once configured, a switch will be added for every zone that is enabled on every controller in the account provided, as well as a switch to toggle each controller's standby mode.
<p class='note'>
You must have the [Rachio component](/components/rachio/) configured to use this switch.
You must have the [Rachio component](/components/rachio/) configured to use this switch.
</p>
To add this platform to your installation, add the following to your `configuration.yaml` file:
@ -44,7 +44,6 @@ In this section, you find some real-life examples of how to use this switch.
### {% linkable_title `groups.yaml` example %}
```yaml
irrigation:
name: Irrigation

View File

@ -13,7 +13,6 @@ ha_release: 0.41
ha_iot_class: "Cloud Polling"
---
The `tado` component platform is used as an interface to the [my.tado.com](https://my.tado.com/webapp/#/account/sign-in) website. It adds climate devices for every tado zone and sensors for some additional information of the zones.
To use your tado thermostats in your installation, add the following to your `configuration.yaml` file:

View File

@ -136,13 +136,13 @@ easily via a hidden menu item at the Mi-Home app or using the `miio` command lin
You can install the command line tool with:
```bash
$ npm install -g miio
npm install -g miio
```
Discovering devices on current network
```bash
$ miio discover
miio discover
```
This will list devices that are connected to the same network as your computer. Let it run for a while so it has a chance to reach all devices, as it might take a minute or two for all devices to answer.
@ -159,10 +159,10 @@ Support: At least basic
The information output is:
* __Device ID__ - the unique identifier of the device, does not change if the device is reset.
* __Model ID__ - the model id if it could be determined, this indicates what type of device it is
* __Address__ - the IP that the device has on the network
* __Token__ - the token of the device or ??? if it could not be automatically determined
- __Device ID__ - the unique identifier of the device, does not change if the device is reset.
- __Model ID__ - the model id if it could be determined, this indicates what type of device it is
- __Address__ - the IP that the device has on the network
- __Token__ - the token of the device or ??? if it could not be automatically determined
#### {% linkable_title Windows and Android %}
@ -174,7 +174,7 @@ To fetch the token follow these instructions depending on your mobile phone plat
4. Change the MiToolKit language to English if you need to.
5. Click "Extract Token"
6. On the phone, you must confirm the backup. DO NOT enter any password and press the button to make the backup.
8. Once you have confirmed the backup the token extraction will begin, it should appear in the MiToolKit shortly.
7. Once you have confirmed the backup the token extraction will begin, it should appear in the MiToolKit shortly.
#### {% linkable_title Linux and Android (not rooted) %}
@ -183,14 +183,14 @@ Follow the pairing process using your phone and Mi-Home app. You will be able to
Before you begin you need to install `libffi-dev` and `libssl-dev` by running the command below. This is needed for `python-miio` to be installed correctly.
```bash
$ sudo apt-get install libffi-dev libssl-dev
sudo apt-get install libffi-dev libssl-dev
```
If your Home Assistant installation is running in a [Virtualenv](/docs/installation/virtualenv/#upgrading-home-assistant), make sure you activate it by running the commands below.
```bash
$ sudo -u homeassistant -H -s
$ source /srv/homeassistant/bin/activate
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
```
To fetch the token follow these instructions depending on your mobile phone platform.
@ -205,7 +205,6 @@ To fetch the token follow these instructions depending on your mobile phone plat
8. Untar the unpacked data: `tar -xvf unpacked.tar`
9. `sqlite3 apps/com.xiaomi.smarthome/db/miio2.db 'select token from devicerecord where name like "%Vacuum%";'` returns the token for your Xiaomi vacuum bot.
#### {% linkable_title Linux and Android (rooted!) %}
Follow the pairing process using your phone and Mi-Home app. You will be able to retrieve the token from a SQLite file inside your phone.
@ -213,14 +212,14 @@ Follow the pairing process using your phone and Mi-Home app. You will be able to
Before you begin you need to install `libffi-dev` and `libssl-dev` by running the command below. This is needed for `python-miio` to be installed correctly.
```bash
$ sudo apt-get install libffi-dev libssl-dev
sudo apt-get install libffi-dev libssl-dev
```
If your Home Assistant installation is running in a [Virtualenv](/docs/installation/virtualenv/#upgrading-home-assistant), make sure you activate it by running the commands below.
```bash
$ sudo -u homeassistant -H -s
$ source /srv/homeassistant/bin/activate
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
```
To fetch the token follow these instructions depending on your mobile phone platform.

View File

@ -22,4 +22,4 @@ It is HIGHLY recommended that you set the `api_password`, especially if you are
websocket_api:
```
For details to use the WebSocket API, please refer to the [WebSocket API documentation](/developers/websocket_api/) .
For details to use the WebSocket API, please refer to the [WebSocket API documentation](/developers/websocket_api/) .

View File

@ -19,9 +19,9 @@ To allow WebSocket by default for all service exposed by NGINX, you can enable i
Open `/usr/syno/share/nginx/Portal.mustache` and add the followings in the `Location` section:
```
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
```
Then restart the NGINX daemon:

View File

@ -14,8 +14,8 @@ Hassbian is our customized operating system for the Raspberry Pi Zero, 2,3 and 3
- [Install Hassbian](/docs/hassbian/installation/)
- [Customize your installation](/docs/hassbian/customization/)
- [Pi specific integrations](/docs/hassbian/common-tasks/)
- [Learn how to perform common tasks](/docs/hassbian/integrations/)
- [Pi specific integrations](/docs/hassbian/integrations/)
- [Learn how to perform common tasks](/docs/hassbian/common-tasks/)
### {% linkable_title Activating the virtual environment %}

View File

@ -9,9 +9,8 @@ footer: true
ha_category: Usage
---
After upgrading to a new version, you may notice your browser gets stuck at the "loading data" login screen. Close the window/tab and go into your browser settings and delete all the cookies for your URL. You can then log back in and it should work.
After upgrading to a new version, you may notice your browser gets stuck at the "loading data" login screen. Close the window/tab and go into your browser settings and delete all the cookies for your URL. You can then log back in and it should work.
Android Chrome
Android Chrome:
chrome -> settings -> site settings -> storage -> search for your URL for Home Assistant-> "clear & reset"

View File

@ -9,5 +9,4 @@ footer: true
ha_category: Usage
---
Close the windows or tab and clear the cache. The frontend is aggressively caching and clearing the cache ensures that the frontend is reloaded when you access it the next time.

View File

@ -9,7 +9,6 @@ footer: true
ha_category: Configuration
---
When a component does not show up, many different things can be the case. Before you try any of these steps, make sure to look at the `home-assistant.log` file and see if there are any errors related to your component you are trying to set up.
If you have incorrect entries in your configuration files you can use the `check_config` script to assist in identifying them: `hass --script check_config`.

View File

@ -9,5 +9,4 @@ footer: true
ha_category: Configuration
---
And not JSON or XML for the [configuration file](/docs/configuration/)? Because [YAML](/docs/configuration/yaml/) can be written by hand, you don't have to care about commas or tag and it's a superset of JSON.

View File

@ -9,7 +9,6 @@ footer: true
ha_category: Usage
---
It can happen that you get a traceback that notify you about connection issues while running Home Assistant. Eg.
```bash

View File

@ -19,17 +19,8 @@ type:
type: string
entities:
required: true
description: "A list of entity IDs or an `entity` object."
description: "A list of entity IDs or `entity` objects, see below."
type: list
keys:
entity:
required: true
description: "An `entity_id` to use in the frontend."
type: string
name:
required: true
description: "The name for the `entity_id` to use in the frontend."
type: string
title:
required: false
description: The card title.
@ -41,6 +32,25 @@ show_header_toggle:
default: true
{% endconfiguration %}
## {% linkable_title Options For Entities %}
If you define entities as objects instead of strings, you can add more customization and configuration:
{% configuration %}
entity:
required: true
description: Home Assistant entity ID.
type: string
type:
required: false
description: "Sets a custom card type: `custom:my-custom-card`"
type: string
name:
required: false
description: Overwrites friendly name.
type: string
{% endconfiguration %}
## {% linkable_title Example %}
```yaml

View File

@ -26,26 +26,17 @@ type:
type: string
entities:
required: true
description: "List of entities to show."
description: "List of entities to filter."
type: list
keys:
name:
required: false
description: The name to use in the front for the entity.
type: string
entity:
required: false
description: "The `entity_id` to show in the frontend."
type: string
state_filter:
required: true
description: Array of strings representing states.
type: array
description: List of strings representing states.
type: list
card:
required: false
description: Extra options to pass down to the card rendering the result.
type: object
default: entities type
default: entities card
show_empty:
required: false
description: Allows hiding of card when no entities returned by filter.
@ -53,7 +44,7 @@ show_empty:
default: true
{% endconfiguration %}
## {% linkable_title Examples %}
### {% linkable_title Examples %}
Show only active switches or lights in the house
```yaml
@ -64,9 +55,7 @@ Show only active switches or lights in the house
- light.kitchen_lights
- light.ceiling_lights
state_filter:
- 'on'
card:
title: Eating power
- "on"
```
Show only people that are at home using [glance](/lovelace/glance/):
@ -78,13 +67,13 @@ Show only people that are at home using [glance](/lovelace/glance/):
- device_tracker.demo_anne_therese
- device_tracker.demo_home_boy
state_filter:
- 'home'
- home
card:
type: glance
title: People at home
```
<p class='img'>
<img src='/images/lovelace/lovelace_entity_filter_glance.png' alt='Screenshot of the entity filter used on a Glance card'>
Screenshot of the entity filter used on a Glance card.
<img src='/images/lovelace/lovelace_entity_filter_glance.png' alt='Entity filter combined with glance card'>
Entity filter combined with glance card.
</p>

View File

@ -26,15 +26,6 @@ entities:
required: true
description: "A list of entity IDs or an `entity` object."
type: list
keys:
entity:
required: true
description: "The `entity_id` to show."
type: string
name:
required: true
description: "A name for `the entity_id`."
type: string
title:
required: false
description: Card title
@ -64,7 +55,7 @@ Basic example:
Screenshot of the glance card with custom title.
</p>
Example with a custom name:
Define entities as objects and apply a custom name:
```yaml
- type: glance

View File

@ -2,7 +2,7 @@
layout: page
title: "Horizontal Stack Card"
sidebar_label: Horizontal Stack
description: "Horizontal stack card will allow you to stack together multiple cards so they always sit next to each other in the space of one column."
description: "Horizontal stack card allows you to stack together multiple cards, so they always sit next to each other in the space of one column."
date: 2018-07-01 10:28 +00:00
sidebar: true
comments: false
@ -10,7 +10,7 @@ sharing: true
footer: true
---
Horizontal stack card will allow you to stack together multiple cards, so they always sit next to each other in the space of one column.
Horizontal stack card allows you to stack together multiple cards, so they always sit next to each other in the space of one column.
{% configuration %}
type:
@ -21,19 +21,6 @@ cards:
required: true
description: List of cards.
type: list
keys:
type:
required: true
description: The type of the card to stack.
type: string
entity:
required: true
description: "An `entity_id` to use in the frontend."
type: string
image:
required: true
description: The URL to an image.
type: string
{% endconfiguration %}
## {% linkable_title Example %}
@ -42,14 +29,14 @@ cards:
- type: horizontal-stack
cards:
- type: picture-entity
image: https://images.pexels.com/photos/164595/pexels-photo-164595.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=240&w=495
image: /local/bed_1.png
entity: light.ceiling_lights
- type: picture-entity
image: https://images.pexels.com/photos/545012/pexels-photo-545012.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=240&w=495
image: /local/bed_2.png
entity: light.bed_light
```
<p class='img'>
<img src='/images/lovelace/lovelace_horizontal_stack.PNG' alt='Screenshot of the 2 cards in a horizontal stack card'>
Screenshot of the 2 cards in a horizontal stack card.
<img src='/images/lovelace/lovelace_horizontal_stack.PNG' alt='Two picture cards in a horizontal stack card'>
Two picture cards in a horizontal stack card.
</p>

View File

@ -2,7 +2,7 @@
layout: page
title: "iFrame Card"
sidebar_label: iFrame
description: "Iframe cards are useful to embed outside websites in your dashboard with little effort. One such example is a Grafana view."
description: "Embed data from other webservices in your dashboard."
date: 2018-07-01 10:28 +00:00
sidebar: true
comments: false
@ -10,19 +10,15 @@ sharing: true
footer: true
---
Iframe cards are useful to embed outside websites in your dashboard with little effort. One such example is a Grafana view. You can also embed files stored in your `config/www` folder and reference them using `/local/<file>`.
Embed data from other webservices in your dashboard. You can also embed files stored in your `<config-directory>/www` folder and reference them using `/local/<file>`.
You can't embed sites using HTTP if you are using HTTPS for your Home Assistant.
<p class='img'>
<img width="500" src='/images/lovelace/lovelace_iframe.png' alt='Screenshot of the iframe card'>
Screenshot of the iframe card.
<img width="500" src='/images/lovelace/lovelace_iframe.png' alt='Windy weather radar as iframe'>
Windy weather radar as iframe.
</p>
Make sure the URL you're embedding has the right protocol and allows to be embedded in an iframe on a different domain. For example, if your Home Assistant setup uses HTTPS, you won't be able to embed HTTP URLs.
## {% linkable_title Options %}
Create a new file `<config>/ui-lovelace.yaml` and add the following content. Adjust the entity names to entities that exist in your Home Assistant installation.
{% configuration %}
type:
required: true
@ -30,32 +26,23 @@ type:
type: string
url:
required: true
description: The iframe source URL.
description: Website URL.
type: string
aspect_ratio:
required: false
description: The iframe height-width-ratio.
description: Height-width-ratio.
type: string
default: "50%"
title:
required: false
description: The card title.
type: string
default: none
{% endconfiguration %}
## {% linkable_title Examples %}
```yaml
- type: iframe
url: https://worldpingdemo.grafana.net/d/000000027/worldping-endpoint-summary?var-endpoint=www_amazon_com&var-probe=All&panelId=2&fullscreen&orgId=3&theme=light
aspect_ratio: 100%
```
Local HTML for custom content. Place `example.html` in your `config/www` folder and reference it as below:
### {% linkable_title Examples %}
```yaml
- type: iframe
url: /local/example.html
title: Sample local file
url: https://grafana.localhost/d/000000027/worldping-endpoint-summary?var-probe=All&panelId=2&fullscreen&orgId=3&theme=light
aspect_ratio: 75%
```

View File

@ -14,11 +14,9 @@ Picture elements card is one of the most versatile type of cards.
The cards allows you to position icons or text and even services! On an image based on coordinates. Imagine floor plan, imagine [picture-glance](/lovelace/picture-glance/) with no restrictions!
You can customize tap action and even icon color.
<p class='img'>
<img src='/images/lovelace/lovelace_picture_elements.gif' alt='Screenshot of the picture elements card'>
Screenshot of the picture elements card.
<img src='/images/lovelace/lovelace_picture_elements.gif' alt='A functional floorplan powered by picture elements'>
A functional floorplan powered by picture elements.
</p>
{% configuration %}
@ -40,183 +38,124 @@ title:
type: string
{% endconfiguration %}
Different `elements` types:
## {% linkable_title Elements %}
### {% linkable_title Navigate to other views %}
{% configuration %}
elements:
type:
required: true
description: List of elements
type: list
keys:
type:
required: true
description: navigation
type: string
navigation_path:
required: true
description: "The `navigation_path` of URL to navigate to."
type: string
icon:
required: false
description: Icon
type: string
description: navigation
type: string
navigation_path:
required: true
description: URL path to another view.
type: string
icon:
required: false
description: Material Design Icon.
type: string
{% endconfiguration %}
{% configuration %}
elements:
required: true
description: List of elements
type: list
keys:
type:
required: true
description: state-badge
type: string
entity:
required: true
description: Entity id
type: string
style:
required: true
description: See "Style options"
type: object
{% endconfiguration %}
### {% linkable_title State Badge %}
{% configuration %}
elements:
type:
required: true
description: List of elements
type: list
keys:
type:
required: true
description: state-icon
type: string
entity:
required: true
description: The entity id to use.
type: string
style:
required: true
description: Additional style options to use.
type: list
keys:
left:
required: true
description: Position from left, "25%".
type: string
top:
required: true
description: Position from top, "50%".
type: string
...:
required: inherit
description: ...
type: string
"--paper-item-icon-color":
required: inherit
description: "Badge-icon off-color, `green`"
type: string
tap_action:
required: false
description: "Set to `toggle` to change state"
type: string
default: more-info
tap_action:
description: state-badge
type: string
entity:
required: true
description: Entity id
type: string
style:
required: true
description: Position and style the element using CSS.
type: object
{% endconfiguration %}
{% configuration %}
elements:
required: true
description: List of elements
type: list
keys:
type:
required: true
description: state-label
type: string
entity:
required: true
description: Entity id
type: string
style:
required: true
description: Additional style options to use.
type: list
keys:
left:
required: true
description: Position from left, "25%".
type: string
top:
required: true
description: Position from top, "50%".
type: string
...:
required: inherit
description: ...
type: string
"--paper-item-icon-color":
required: inherit
description: "Badge-icon off-color, `green`"
type: string
{% endconfiguration %}
### {% linkable_title Icon representing an entity state %}
{% configuration %}
elements:
type:
required: true
description: List of elements
type: list
keys:
type:
required: true
description: service-button
type: string
service:
required: true
description: light.turn_on
type: string
service_data:
required: false
description: The service data to use."
type: list
keys:
entity_id:
required: true
description: light.floor
type: string
style:
required: true
description: Additional style options to use.
type: object
keys:
left:
required: true
description: Position from left, "25%".
type: string
top:
required: true
description: Position from top, "50%".
type: string
...:
required: inherit
description: ...
type: string
"--paper-item-icon-color":
required: inherit
description: "Badge-icon off-color, `green`"
type: string
title:
required: false
description: Button label
type: string
description: state-icon
type: string
entity:
required: true
description: The entity id to use.
type: string
tap_action:
required: false
description: "Set to `toggle` to change state"
type: string
default: more-info
style:
required: true
description: Position and style the element using CSS.
type: object
{% endconfiguration %}
### {% linkable_title Label with state text %}
{% configuration %}
type:
required: true
description: state-label
type: string
entity:
required: true
description: Entity id
type: string
style:
required: true
description: Position and style the element using CSS.
type: object
{% endconfiguration %}
### {% linkable_title Service Call Button %}
{% configuration %}
type:
required: true
description: service-button
type: string
title:
required: true
description: Button label
type: string
service:
required: true
description: light.turn_on
type: string
service_data:
required: false
description: The service data to use."
type: object
style:
required: true
description: Position and style the element using CSS.
type: object
{% endconfiguration %}
## {% linkable_title How-to use the style object %}
Position and style your elements using [CSS](https://en.wikipedia.org/wiki/Cascading_Style_Sheets). More/other keys are also possible.
```yaml
style:
# Positioning of the element
left: 50%
top: 50%
# Overwrite color for icons
"--paper-item-icon-color": pink
```
## {% linkable_title Example %}
```yaml
- type: picture-elements
image: https://static.vecteezy.com/system/resources/previews/000/102/594/large_2x/free-floor-plan-vector.jpg
image: /local/floorplan.png
elements:
- type: state-icon
tap_action: toggle

View File

@ -2,7 +2,7 @@
layout: page
title: "Picture Glance Card"
sidebar_label: Picture Glance
description: "A very useful type of card that can display sensors, switches, lights and other entities grouped on top of a custom image. Use this card for easy visual recognition inside a large dashboard."
description: "Show an image card and corresponding entity states as icon"
date: 2018-07-01 10:28 +00:00
sidebar: true
comments: false
@ -10,17 +10,11 @@ sharing: true
footer: true
---
A very useful type of card that can display sensors, switches, lights and other entities grouped on top of a custom image. Use this card for easy visual recognition inside a large dashboard. You also can add `navigation_path` to take the user to a specific view and use these cards in an overview dashboard.
What sets this card apart is the ability to **control** entities directly from the card without the need to open the details of that entity.
You can also use `camera` domain entities to use that as the image. You can also use `state_image` just like in [picture-entity](/lovelace/picture-entity/) together with an `entity` entry to change the image in a dynamic way.
Picture glance supports a display of maximum 10 items.
Show an image card and corresponding entity states as icon. The entities on the right side allow toggle actions, others show the more-info-dialog.
<p class='img'>
<img src='/images/lovelace/lovelace_picture_glance.gif' alt='Screenshot of the picture glance card'>
Screenshot of the picture glance card.
<img src='/images/lovelace/lovelace_picture_glance.gif' alt='Picture glance card for a living room'>
Picture glance card for a living room.
</p>
{% configuration %}
@ -28,102 +22,76 @@ type:
required: true
description: picture-glance
type: string
image:
required: true
description: The URL of an image.
type: string
navigation_path:
required: false
description: Path of URL to use in navigation.
type: string
entities:
required: true
description: A list of entity IDs.
type: list
navigation_path:
required: false
description: Path of URL to use in navigation.
type: string
camera_image:
required: false
description: The entity ID of a camera.
type: string
state_image:
required: false
description: Path of URL to use in navigation.
type: list
keys:
"on":
type: string
required: false
description: URL of an image used for on state.
"off":
type: string
required: false
description: URL of an image used for off state.
home:
type: string
required: false
description: URL of an image used for home state.
not_home:
type: string
required: false
description: URL of an image used for not_home state.
ANYTHING:
type: string
required: false
description: Any state that is supported by the entity works.
entity:
required: false
description: "An entity to use for state_image state."
description: List of entities.
type: list
title:
required: false
description: The card title.
type: string
navigation_path:
required: false
description: Navigate to path on tap action.
type: string
image:
required: false
description: Background image URL.
type: string
camera_image:
required: false
description: Camera entity as Background image.
type: string
state_image:
required: false
description: Background image based on entity state.
type: object
keys:
state:
type: string
required: false
description: "`state: image-url`, check the example below."
entity:
required: false
description: Entity to use for `state_image`.
type: string
{% endconfiguration %}
## {% linkable_title Examples %}
```yaml
- type: picture-glance
image: https://images.pexels.com/photos/276724/pexels-photo-276724.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=240&w=495
title: Living
title: Living room
entities:
- switch.decorative_lights
- light.ceiling_lights
- lock.front_door
- binary_sensor.movement_backyard
- binary_sensor.basement_floor_wet
image: /local/living_room.png
```
Picture glance used together with 'camera_image'.
Display a camera image as background:
```yaml
- type: picture-glance
image:
camera_image: camera.demo_camera
title: Living
title: Living room
entities:
- switch.decorative_lights
- light.ceiling_lights
- lock.front_door
- binary_sensor.movement_backyard
- binary_sensor.basement_floor_wet
camera_image: camera.demo_camera
```
Picture glance used together with 'entity-filter'.
Use different images based on entity state:
```yaml
- type: entity-filter
- type: picture-glance
title: Living room
entities:
- light.bed_light
- light.kitchen_lights
- switch.decorative_lights
- light.ceiling_lights
state_filter:
- 'on'
card: picture-glance
card_config:
title: Lights
image: https://images.pexels.com/photos/356048/pexels-photo-356048.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=295&w=490
state_image:
"on": /local/living_room_on.png
"off": /local/living_room_off.png
entity: group.living.room
```

View File

@ -38,30 +38,25 @@ service_data:
required: false
description: The service data.
type: object
keys:
entity_id:
required: true
description: The ID of the entity to use.
type: string
{% endconfiguration %}
## {% linkable_title Examples %}
Basic navigation example:
Navigate to another view:
```yaml
- type: picture
image: /local/exit.jpg
navigation_path: /lovelace/arsaboo
image: /local/home.jpg
navigation_path: /lovelace/home
```
Check the [views](/lovelace/views/) setup on how to setup custom IDs.
Basic navigation example:
Toggle entity using a service:
```yaml
- type: picture
image: /local/exit.jpg
image: /local/light.png
service: light.toggle
service_data:
entity_id: light.ceiling_lights

View File

@ -31,7 +31,6 @@ entity:
## {% linkable_title Example %}
```yaml
cards:
- type: plant-status
entity: plant.bonsai
```

View File

@ -10,9 +10,7 @@ sharing: true
footer: true
---
Stack card will allow you to stack together multiple cards so they always sit together in the same column one on top of the other. Keep in mind this can be used with any cards and even used alongside a [horizontal-stack](/lovelace/horizontal-stack/).
## {% linkable_title Options %}
Vertical stack allows you to group multiple cards so they always sit in the same column.
{% configuration %}
type:
@ -21,24 +19,11 @@ type:
type: string
cards:
required: true
description: List of cards
description: List of cards.
type: list
keys:
type:
required: true
description: The type of the card to stack.
type: string
entity:
required: true
description: "An `entity_id` to use in the frontend."
type: string
image:
required: true
description: The URL to an image.
type: string
{% endconfiguration %}
## {% linkable_title Example %}
### {% linkable_title Examples %}
Basic example:
@ -53,30 +38,30 @@ Basic example:
- binary_sensor.movement_backyard
```
<p class='img'>
<img src='/images/lovelace/lovelace_vertical-stack.png' alt='Screenshot of the vertical stack card'>
Screenshot of the vertical stack card.
<p class="img">
<img src="/images/lovelace/lovelace_vertical-stack.png" alt="Picture- and entities-card in a stack">
Picture- and entities-card in a stack.
</p>
Example using both a vertical and horizontal stack card:
Combination of vertical and horizontal stack card:
```yaml
- type: vertical-stack
cards:
- type: picture-entity
entity: group.all_lights
image: https://images.pexels.com/photos/106399/pexels-photo-106399.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260
image: /local/house.png
- type: horizontal-stack
cards:
- type: picture-entity
image: https://images.pexels.com/photos/164595/pexels-photo-164595.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=240&w=495
entity: light.ceiling_lights
image: /local/bed_1.png
- type: picture-entity
image: https://images.pexels.com/photos/545012/pexels-photo-545012.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=240&w=495
entity: light.bed_light
image: /local/bed_2.png
```
<p class='img'>
<img src='/images/lovelace/lovelace_vertical-horizontal-stack.png' alt='Screenshot of the vertical stack and horizontal stack combined in a card'>
Screenshot of the vertical stack and horizontal stack combined in a card.
<p class="img">
<img src="/images/lovelace/lovelace_vertical-horizontal-stack.png" alt="Create a grid layout using vertical and horizontal stack">
Create a grid layout using vertical and horizontal stack.
</p>

View File

@ -0,0 +1,64 @@
---
layout: post
title: "New Hass.io images, based on HassOS"
description: "We have released HassOS, a brand new operating system for the purpose of running Hass.io"
date: 2018-07-11 00:00:00
date_formatted: "July 11, 2018"
author: Pascal Vizeli
author_twitter: pvizeli
comments: true
categories: Announcements
og_image: /images/blog/2018-07-hassio-images/blogpost.png
---
After 4 months of hard work, we are happy to announce our new images for Hass.io, based on HassOS. HassOS is a brand new operating system that we have created specifically for the purpose of running Hass.io. And yes, this supports the Raspberry Pi 3 B+!
## {% linkable_title What is new %}
We have built HassOS on top of the [Buildroot] framework. The focus of the system is to be a very small and highly efficient operating system to run Docker like a hypervisor. It has just enough software installed, to run a supervisor. We have also focused on security, there are, for example, no default passwords and we use [AppArmor] to protect the applications and containers on HassOS.
Key features:
- Safe and secure updating with [Rauc] over USB or internet (OTA)
- Uses an LZ4 compressed root filesystem and parts of the memory
- Read-only root filesystem, designed to run on embedded systems
- Dbus connected hosts services
- Latest LT Linux kernel
- Latest Docker-ce version
- Fully supported NetworkManager
- Bluetooth support using Bluez
- Supports lot different hardware
## {% linkable_title Migration %}
The design of HassOS is different from ResinOS. Because of this, we can't provide an OTA update from the old ResinOS system to the new HassOS based system.
You need to perform the following steps to upgrade:
1. If you have installed the Bluetooth add-on, please remove it, since it is no longer required.
2. Make a Hass.io snapshot of your current system and download it to your computer.
3. Download the latest [Hass.io stable][installation] version.
4. Flash the downloaded Hass.io image with [Etcher] to your SD card.
5. Raspberry Pi: In case you have modified the `config.txt` (in the boot partition), you will also need to apply these changes to HassOS. Do **NOT** simply copy the file from your old setup into HassOS! Apply those changes manually!
6. If you use a custom network configuration or have configured SSH development access, you need to create a configuration [USB stick]. Copy the resin-sample into the `network` folder on a USB stick and insert it into your device.
7. Take the freshly flashed SD card with HassOS and place it into your device, and boot it by turning it on.
8. Copy the snapshot into the host with the SSH or Samba add-on.
9. Restore your snapshot via the Hass.io panel.
10. Done!
## {% linkable_title Future %}
HassOS is a wonderful base system and allows us to start working on integrating all kinds of amazing features into Hass.io (and bring them to the UI as well). For example, we are planning on bringing network and Bluetooth configuration possibilities into the UI. The goal is a full featured hub system that allows anybody to use Home Assistant.
The Hass.io API is extensive, and we are going to adopt more of its features into Home Assistant as well. For example, sensors that allows you to monitor the system usage of an add-on or even Home Assistant itself.
A big shout out to all people who donated money for us to buy hardware! Thank you! We have already started on making HassOS compatible with all kinds of hardware and are currently aiming to release support for new devices every 7-14 days and keeping this up until we support all major IoT boards.
Feel free to jump into the project and help us to improve the documentation or other tasks that are going to help us moving forward.
[Rauc]: Safe and Secure Updating
[Buildroot]: https://buildroot.org/
[AppArmor]: https://gitlab.com/apparmor/apparmor/wikis/home/
[USB stick]: https://github.com/home-assistant/hassos/blob/rel-1/Documentation/configuration.md#automatic
[installation]: https://www.home-assistant.io/hassio/installation/
[Etcher]: https://etcher.io/

View File

@ -11,7 +11,7 @@ footer: true
The goal of this getting started guide is to install [Hass.io](/hassio/) on a Raspberry Pi 3. Hass.io is our own all in one solution that turns your Raspberry Pi into the ultimate home automation hub.
Follow this guide if you want to easily get started with Home Assistant, or if you have no or little Linux experience. For advanced users or if you have no Raspberry Pi at hand, check our [alternative installation methods](/docs/installation/). The [FAQ](/faq/#home-assistant-vs-hassio) explains more about the differences.
Follow this guide if you want to get started with Home Assistant easily, or if you have no or little Linux experience. For advanced users or if you have no Raspberry Pi at hand, check our [alternative installation methods](/docs/installation/). The [FAQ](/faq/#home-assistant-vs-hassio) explains more about the differences.
<p class='note warning'>
Please remember to [secure your installation](/docs/configuration/securing/) once you've finished with the installation process.
@ -24,38 +24,35 @@ We will need a few things to get started with installing Home Assistant. Links b
- [Raspberry Pi 3 model B](http://a.co/gEfMqL4) + [Power Supply](https://www.raspberrypi.org/help/faqs/#powerReqs) (at least 2.5A)
- [Micro SD Card](http://a.co/gslOydD). Get one that is Class 10 as they are more reliable. Size 32 GB or bigger recommended.
- SD Card reader. Part of most laptops, and also available as [standalone USB sticks](http://a.co/5FCyb0N) (the brand doesn't matter, just pick the cheapest)
- Ethernet cable (optional, Hass.io can work with WiFi too)
<p class='note'>
Support for the Raspberry Pi 3 model B+ is available in the alternative installation method [Hassbian](/docs/hassbian/installation/).
The recently released Raspberry Pi 3 model B+ is not yet supported by Hass.io.
</p>
- Ethernet cable (optional, Hass.io can work with WiFi as well)
- A USB-Stick (optional, allows for unattended configuration)
### {% linkable_title Software requirements %}
- Download [Hass.io image for Raspberry Pi 3][pi3]
- Download Hass.io image for Raspberry Pi 3 as [32bit][pi3-32] or [64bit][pi3-64] variant
- Download [Etcher] to write the image to an SD card
- Text Editor like [Visual Studio Code](https://code.visualstudio.com/)
[Etcher]: https://etcher.io/
[pi3]: https://github.com/home-assistant/hassio-build/releases/download/1.3/resinos-hassio-1.3-raspberrypi3.img.bz2
[pi3-32]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi3-1.5.img.gz
[pi3-64]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi3-64-1.5.img.gz
### {% linkable_title Installing Hass.io %}
1. Put the SD card in your SD card reader.
1. Open Etcher, select the Hass.io image and flash it to the SD card.
1. WiFi setup only: open the file `system-connections/resin-sample` (from the `resin-boot` volume on the SD card) with a text editor. Change `ssid` to be your network name and `psk` to be your password. Note: When connecting to a 5 GHz-only network, make sure your device supports that. If you don't know what that means, then you probably have nothing to worry about.
1. WiFi setup only: Format a USB-Stick with name `CONFIG` and copy one of [the examples] to the file `network/hassos-wifi`.
1. Unmount the SD card and remove it from your SD card reader.
1. Insert the SD card into your Raspberry Pi 3. If you are going to use an Ethernet cable, connect that too.
1. Connect your Raspberry Pi to the power supply so it turns on.
1. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant. This will take about 20 minutes. Do not expect anything but the Home Assistant logo on the HDMI display, or any use for a keyboard or mouse.
1. Connect your Raspberry Pi to the power supply, so it turns on.
1. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant, which will take about 20 minutes.
1. Home Assistant will be available at [http://hassio.local:8123][local]. Shortly after the download has started, a simple preparation status page will be available at this URL. Point your browser there. The page refreshes automatically, and Home Assistant will be shown when the download is complete.
[local]: http://hassio.local:8123
[the examples]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md
<p class='note'>
When you're done, remember to set up regular backups of your configuration. This will protect you from hardware failure and mistakes. On Hass.io you have snapshots, but you can back up to [GitHub](/docs/ecosystem/backup/backup_github/), [DropBox](/docs/ecosystem/backup/backup_usb/) and many other ways. All that matters is that you set them up and test them regularly.
When you're done, remember to set up regular backups of your configuration. These backups will protect you from hardware failure and mistakes. On Hass.io you have snapshots, but you can back up to [GitHub](/docs/ecosystem/backup/backup_github/), [DropBox](/docs/ecosystem/backup/backup_dropbox/) and many other ways. All that matters is that you set them up and test them regularly.
</p>
### [Next step: Configuring Home Assistant &raquo;](/getting-started/configuration/)

View File

@ -19,10 +19,10 @@ The advantages of using Hass.io:
- Free and open source
- Optimized for embedded devices like Raspberry Pi
- 100% local home automation
- Easy installation and updates (powered by [ResinOS] and [Docker])
- Management user interface integrated into Home Assistant
- Easily create and restore full backups of your whole configuration.
- Easily install many popular add-ons including [Google Assistant], encryption via [Let's Encrypt] and dynamic DNS via [Duck DNS].<br><br>[Browse available add-ons &raquo;][all]<br><br>
- Easy installation and updates (powered by [HassOS] and [Docker])
- Management web interface integrated into Home Assistant
- Create and restore full backups of your whole configuration with ease
- Install many popular add-ons with a single click! For example [Google Assistant], encryption via [Let's Encrypt] and dynamic DNS via [Duck DNS].<br><br>[Browse available add-ons &raquo;][all]<br><br>
- Active community that is helpful and sharing add-ons including AppDaemon, Homebridge and InfluxDB.<br><br>[Browse the forums &raquo;][forums]<br>[Join the Hass.io chat &raquo;][chat]<br>[Browse community add-on repositories &raquo;][comm-add-ons]<br><br>
<div class='videoWrapper'>
@ -31,7 +31,7 @@ The advantages of using Hass.io:
### {% linkable_title Upgrading %}
Hass.io users can update Home Assistant via the 'Hass.io' page in the UI. However please note that Home Assistant updates take time to roll into the Hass.io builds. Therefore there is often a slight delay between the availability of a Home Assistant update and an update being available in Hass.io, be patient. When a Hass.io update is available, it will be shown as available on the Hass.io' page in your UI.
Hass.io users can update Home Assistant via the 'Hass.io' page in the UI. However, please note that a Home Assistant updates take time to roll into the Hass.io builds. Therefore there is often a slight delay between the availability of a Home Assistant update and the update being available in Hass.io, so be patient. When a Hass.io update is available, it will be shown as a notification in the Hass.io' page in the web interface.
<p class='img'>
<img src='/images/hassio/screenshots/dashboard.png'>
@ -51,13 +51,13 @@ Hass.io upgrade process from the SSH command line
[comm-add-ons]: https://community.home-assistant.io/tags/hassio-repository
[all]: /addons/
[chat]: https://discord.gg/K3UVxJd
[ResinOS]: https://resinos.io/
[HassOS]: https://github.com/home-assistant/hassos
[Docker]: https://www.docker.com/
[install]: /hassio/installation/
## {% linkable_title hassio command %}
On the SSH command line you can use the `hassio` command to retrieve logs, check the details of connected hardware, and more.
On the SSH command line, you can use the `hassio` command to retrieve logs, check the details of connected hardware, and more.
Home Assistant:
@ -92,7 +92,7 @@ You can get a better description of the CLI capabilities by typing `hassio help`
```bash
NAME:
hassio - Commandline tool to allow interation with hass.io
hassio - Commandline tool to allow interaction with hass.io
USAGE:
hassio [global options] command [command options] [arguments...]

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Installing Hass.io"
description: "Instructions on how-to install Hass.io."
description: "Instructions on how to install Hass.io."
date: 2017-04-30 13:28
sidebar: true
comments: false
@ -9,34 +9,24 @@ sharing: true
footer: true
---
Hass.io images are available for all available Raspberry Pi and Intel NUC platforms.
Hass.io images are available for:
<p class='note warning'>
The recently released Raspberry Pi 3 model B+ is not yet supported.
</p>
- Download the appropriate image for your Raspberry Pi / Intel NUC:
- Download the appropriate image for your IoT:
- [Raspberry Pi / Zero][pi1]
- [Raspberry Pi / Zero][pi0-w]
- [Raspberry Pi 2][pi2]
- [Raspberry Pi 3][pi3]
- [Intel NUC][nuc]
- [Raspberry Pi 3 32bit][pi3-32]
- [Raspberry Pi 3 64bit][pi3-64]
- As [Virtual Appliance]:
- [VMDK][vmdk]
<p class='note'>
Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/help/faqs/#powerReqs) with your Pi. Mobile chargers may not be suitable since some are designed to only provide the full power with that manufacturer's handsets.
Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/help/faqs/#powerReqs) with your Pi. Mobile chargers may not be suitable since some were only designed to provide just enough power to the device it was designed for by the manufacturer.
</p>
- Flash the downloaded image to an SD card using [Etcher].
<p class='note warning'>
There is an [issue in the Etcher flashing process on Mac OS High Sierra](https://github.com/resin-io/etcher/issues/1908).
There is an easy workaround, just uncompress the image first.
```bash
$ bunzip2 -c resinos-hassio-1.3-raspberrypi3.img.bz2 > image.img
```
</p>
- Optional - Setup the WiFi or static IP: On the SD-card, edit the `system-connections/resin-sample` file and follow the [ResinOS howto][resinos-network].
- Optional - Setup the WiFi or static IP: On the SD-card, create the `network/my-network` file and follow the [HassOS howto][hassos-network].
- Insert SD card to Raspberry Pi and turn it on. On first boot, it downloads the latest version of Home Assistant which takes ~20 minutes (slower/faster depending on the platform).
<img src='/images/hassio/screenshots/first-start.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 12px;' width='150' />
@ -45,7 +35,7 @@ Please remember to ensure you're using an [appropriate power supply](https://www
- Enable either the [Samba add-on][samba] or the [SSH add-on][ssh] to manage your configuration in `/config/` (From the UI choose **Hass.io** which is located in the sidebar).
<p class='note'>
If your router doesn't support mDNS then you'll have to use the IP address of your Pi, instead of `hassio.local`, for example `http://192.168.0.9:8123`. You should be able to find the IP address of your Pi from the admin interface of your router.
If your router doesn't support mDNS, then you'll have to use the IP address of your Pi instead of `hassio.local`. For example, `http://192.168.0.9:8123`. You should be able to find the IP address of your Pi from the admin interface of your router.
</p>
<p class='note'>
@ -82,11 +72,14 @@ When you use this installation method, the core SSH add-on may not function corr
A detailed guide about running Hass.io as a virtual machine is available in the [blog](/blog/2017/11/29/hassio-virtual-machine/).
[Etcher]: https://etcher.io/
[resinos-network]: https://docs.resin.io/deployment/network/2.0.0/
[pi1]: https://github.com/home-assistant/hassio-build/releases/download/1.3/resinos-hassio-1.3-raspberrypi.img.bz2
[pi2]: https://github.com/home-assistant/hassio-build/releases/download/1.3/resinos-hassio-1.3-raspberrypi2.img.bz2
[pi3]: https://github.com/home-assistant/hassio-build/releases/download/1.3/resinos-hassio-1.3-raspberrypi3.img.bz2
[nuc]: https://github.com/home-assistant/hassio-build/releases/download/1.3/resinos-hassio-1.3-intel-nuc.img.bz2
[Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md
[hassos-network]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md
[pi0-w]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi0-w-1.5.img.gz
[pi1]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi-1.5.img.gz
[pi2]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi2-1.5.img.gz
[pi3-32]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi3-1.5.img.gz
[pi3-64]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi3-64-1.5.img.gz
[vmdk]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_ova-1.5.vmdk
[linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio
[local]: http://hassio.local:8123
[samba]: /addons/samba/

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -120,6 +120,6 @@ This is probably because your version of Firefox doesn't have custom components
### Custom components don't load on my IOS device?
This is because for IOS devices by default javascript served is `es5`. You can allow custom components to load by forcing `javascript: latest` in your `configuration.yaml` under `frontend:`.
This is because for IOS devices by default javascript served is `es5`. You can allow custom components to load by forcing `javascript_version: latest` in your `configuration.yaml` under `frontend:`.
> Note: Enabling `latest` on IOS could cause automation and script editor to crash.

View File

@ -9,88 +9,118 @@ sharing: true
footer: true
---
These are exactly as before, tab views with icons or text that help you manage large dashboards with many entities. The views have now deep-links like `/lovelace/0`. You can also assign your own [custom IDs](/lovelace/views/#custom-id).
To display cards on the UI you have to define them in views. Views sort cards in columns based on their `card size`. If you want to group some cards you have to use `stack` cards.
- Using custom id in view, for [nicer navigation paths](/lovelace/views/#custom-id) in URLs.
- Using [icons](/lovelace/views/#icons) instead of text.
- Using a card to [fill a complete view](/lovelace/views/#panel-view), just like panels.
- Using [themes](/lovelace/views/#themes) in views.
| Name | Type | Default | Description
| ---- | ---- | ------- | -----------
| title | string | Optional | Text title of the view
| id | string | number | The id to use in URL path of this view
| icon | string | Optional | The material design icon for the view, uses this instead of title
| panel | boolean | false | Marks view as a panel reusing the first card in the list
<p class='img'>
<img src='/images/lovelace/lovelace_views.gif' alt='Screenshot of views'>
Screenshot of views.
<p class="img">
<img src="/images/lovelace/lovelace_views.png" alt="Views toolbar">
Use titles and icons to describe the content of views.
</p>
{% configuration views %}
views:
required: true
description: A list of view configurations.
type: list
keys:
title:
required: true
description: The title or name.
type: string
cards:
required: true
description: Cards to display in this view.
type: list
id:
required: false
description: IDs are used in the URL, more info below.
type: string
default: view index
icon:
required: false
description: Icon-name from Material Design Icons.
type: string
panel:
required: false
description: Renders the view in panel mode, more info below.
type: boolean
default: "false"
background:
required: false
description: Style the background using CSS, more info below.
type: string
theme:
required: false
description: Themes view and cards, more info below.
type: string
{% endconfiguration %}
## {% linkable_title IDs %}
You can link to one view from another view by its ID. For this use cards that support navigation (`navigation_path`). Do not use special characters in IDs.
### {% linkable_title Example %}
View config:
```yaml
- title: Living room
# the final path is /lovelace/living_room
id: living_room
```
Picture card config:
```yaml
- type: picture
image: /local/living_room.png
navigation_path: /lovelace/living_room
```
## {% linkable_title Icons %}
You can use icons instead of text for your view tabs. The title in the example will be used as a tooltip.
If you define an icon the title will be used as a tooltip.
### {% linkable_title Example %}
```yaml
views:
- icon: mdi:settings
title: Debugging
- title: Garden
icon: mdi:flower
```
## {% linkable_title Panel view %}
## {% linkable_title Panel mode %}
This type of view uses the first card in the `cards` list to expand it to ocuppy the complete view space, similar to panels. One very good practical use will be for floor plan type of cards.
This renders the first card on full width, other cards in this view will not be rendered. Good for cards like `map`, `stack` or `picture-elements`.
### {% linkable_title Example %}
```yaml
views:
- icon: mdi:settings
id: debug
title: Floorplan
panel: true
cards:
- type: picture-elements
image: /local/floorplans/main.jpg
elements:
- type: state-icon
tap_action: toggle
entity: light.ceiling_lights
- title: Map
panel: true
cards:
- type: map
entities:
- device_tracker.demo_paulus
- zone.home
```
## {% linkable_title Background %}
Style the background of views using [CSS](https://en.wikipedia.org/wiki/Cascading_Style_Sheets). For wallpapers you probably want to use the example below, more options can be found [here](https://developer.mozilla.org/en-US/docs/Web/CSS/background).
### {% linkable_title Example %}
```yaml
- title: Living room
background: center / cover no-repeat url("/local/background.png") fixed
```
## {% linkable_title Themes %}
You can also set a [theme](/frontend/#themes) per view. Theme is currently only partially usable (font color works).
```yaml
views:
- icon: mdi:heart
id: debug
title: Home
theme: dark-mode
```
## {% linkable_title Custom ID %}
You can now assign a custom ID to a view, for nicer navigation paths in URLs. This id allows you to deep-link navigation to this view from cards that allow `navigation_path`.
Set a separate [theme](/components/frontend/#themes) for the view and its cards.
### {% linkable_title Example %}
View:
```yaml
views:
- icon: mdi:settings
id: debugging
```
Picture card:
```yaml
- type: picture
image: /local/debug.jpg
navigation_path: /lovelace/debugging
- title: Home
theme: happy
```