diff --git a/_config.yml b/_config.yml index 018bcd66b51..d5aa5c751ed 100644 --- a/_config.yml +++ b/_config.yml @@ -139,8 +139,8 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 93 -current_patch_version: 0 -date_released: 2019-05-16 +current_patch_version: 2 +date_released: 2019-05-22 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/source/_components/axis.markdown b/source/_components/axis.markdown index 824fc2ada6a..b1f99ee480c 100644 --- a/source/_components/axis.markdown +++ b/source/_components/axis.markdown @@ -11,6 +11,7 @@ logo: axis.png ha_category: - Camera - Binary Sensor + - Switch ha_config_flow: true ha_release: 0.45 ha_iot_class: Local Push @@ -43,3 +44,11 @@ The following sensor types are supported: - Passive IR motion detection - Sound detection - Day/night mode +- Inputs and Supervised Inputs + +## {% linkable_title Switch %} + +The following controllable port types are supported: + +- Output +- Relay diff --git a/source/_components/binary_sensor.template.markdown b/source/_components/binary_sensor.template.markdown index a5648394bca..71cb01894b7 100644 --- a/source/_components/binary_sensor.template.markdown +++ b/source/_components/binary_sensor.template.markdown @@ -215,3 +215,30 @@ binary_sensor: or is_state('binary_sensor.family_room_144', 'on') }} ``` {% endraw %} + +### {% linkable_title Change the icon when state changes %} + +This example demonstrates how to use `icon_template` to change the entity's +icon as its state changes, it evaluates the state of its own sensor and uses a +conditional statement to output the appropriate icon. + + +{% raw %} +```yaml +sun: +binary_sensor: + - platform: template + sensors: + sun_up: + entity_id: + - sun.sun + value_template: >- + {{ is_state("sun.sun", "above_horizon") }} + icon_template: >- + {% if is_state("binary_sensor.sun_up", "on") %} + mdi:weather-sunset-up + {% else %} + mdi:weather-sunset-down + {% endif %} +``` +{% endraw %} diff --git a/source/_components/blink.markdown b/source/_components/blink.markdown index 0232e4de8d4..483831ff3c7 100644 --- a/source/_components/blink.markdown +++ b/source/_components/blink.markdown @@ -73,6 +73,16 @@ sensors: required: false type: list default: all (`battery`, `temperature`, `wifi_strength`) +offset: + description: How far back in time (minutes) to look for motion. Motion is determined if a new video has been recorded between now and the last time you refreshed plus this offset. + required: false + type: integer + default: 1 +mode: + description: Set to 'legacy' to enable use of old API endpoint subdomains (APIs can differ based on region, so use this if you are having issues with the integration). + required: false + type: string + default: not set {% endconfiguration %} Once Home Assistant starts, the `blink` component will create the following platforms: diff --git a/source/_components/epsonworkforce.markdown b/source/_components/epsonworkforce.markdown index 50cca9c1754..135767fa12f 100644 --- a/source/_components/epsonworkforce.markdown +++ b/source/_components/epsonworkforce.markdown @@ -67,6 +67,7 @@ Tested devices: - Epson WF3620 - Epson WF3640 - Epson EcoTank ET-77x0 +- Epson ET-2650 To make this module work you need to connect your printer to your LAN. The best is to navigate to the status page of the printer to check if it shows the page with the ink levels on the URL http:///PRESENTATION/HTML/TOP/PRTINFO.HTML diff --git a/source/_components/geniushub.markdown b/source/_components/geniushub.markdown index 00789f70031..23aa01aa395 100644 --- a/source/_components/geniushub.markdown +++ b/source/_components/geniushub.markdown @@ -11,17 +11,47 @@ logo: geniushub.png ha_category: - Climate - Water heater + - Sensor + - Binary sensor ha_release: 0.92 ha_iot_class: Local Polling --- -The `geniushub` integration links Home Assistant with your Genius Hub (the hub does not have to be in the same network as HA). +The `geniushub` integration links Home Assistant with your Genius Hub for controlling its Zones and Devices. Currently, there is no support for Zone schedules. -Currently only **Radiator** and **Hot Water Temperature** zones are supported. Within HA, each **Radiator** zone will appear as a `Climate` device, and each **Hot Water Temperature** zone will appear as a `WaterHeater` device. +It uses the [geniushub-client](https://pypi.org/project/geniushub-client/) library. -The device's `operating_mode` can be set to one of `off`, `timer`, `on` (i.e. **Override** mode) or `eco`. The `eco` mode is a proxy for the **Footprint** mode and so is only available to **Radiator** zones that have room sensors. +### {% linkable_title Zones %} -Other properties are available via the device's state attributes, which includes a JSON data structure called `status`. For example, in the case of **Radiator** zones/`Climate` devices: +Each Zone controlled by your Genius hub will be exposed as either a: + + - `Climate` entity, for **Radiator** Zones, and + - `Water Heater`, for **Hot Water Temperature** Zones + +Other Zone types, such as **On / Off** Zones, are not currently supported. + +Each such entity will report back its mode, state, setpoint and current temperature; other properties are available via its attributes (see below). + +In addition, the entity's mode and setpoint can be changed. The entity's `operating_mode` can be set to one of `off`, `timer`, `on` (i.e. **Override** mode) or `eco`. The `eco` mode is a proxy for the **Footprint** mode and so is only available to **Radiator** Zones that have room sensors. + +### {% linkable_title Devices %} + +If the Hub is directly polled using the v3 API (see below), then each Device controlled by your Genius hub will be exposed as either a: + + - `Sensor` entity with a % battery, for any Device with a battery (e.g. a Genius Valve), or + - `Binary Sensor` entity with on/off state for any Device that is a switch (e.g. a Smart Plug) + +Each such entity will report back its primary state; in addition, `assigned_zone` and `last_comms` (last communications time) are available via the entity's attributes. + +### {% linkable_title Issues %} + +There are three `Sensor` entities that will indicate the number of **Errors**, **Warnings** and **Information** issues. + +Each such entity has a state attribute that will contain a list of any such issues. For example, `error_list`. + +### {% linkable_title State Attributes %} + +Other properties are available via each entity's state attributes. For example, in the case of **Radiator** Zones/`Climate` devices: ```json { @@ -35,7 +65,6 @@ Other properties are available via the device's state attributes, which includes } } } - ``` This data can be accessed in automations, etc. via a value template. For example: @@ -54,8 +83,6 @@ value_template: "{{ state_attr('climate.main_room', 'status').occupied }}" ``` {% endraw %} -Currently, there is no support for modifying schedules and neither do they appear in the state attributes. - ## {% linkable_title Configuration %} To add your Genius Hub into your Home Assistant installation, add one of the following to your `configuration.yaml` file. diff --git a/source/_components/google_pubsub.markdown b/source/_components/google_pubsub.markdown index f644e671fe3..52413354f72 100644 --- a/source/_components/google_pubsub.markdown +++ b/source/_components/google_pubsub.markdown @@ -55,9 +55,8 @@ credentials_json: type: string filter: description: Filter domains and entities for Google Cloud Pub/Sub. - required: false + required: true type: map - default: Includes all entities from all domains keys: include_domains: description: List of domains to include (e.g., `light`). diff --git a/source/_components/mcp23017.markdown b/source/_components/mcp23017.markdown new file mode 100644 index 00000000000..4629de4e426 --- /dev/null +++ b/source/_components/mcp23017.markdown @@ -0,0 +1,121 @@ +--- +layout: page +title: "MCP23017 I2C GPIO expander" +description: "Instructions on how to integrate the MCP23017 GPIO pin expander with I2C interface into Home Assistant." +date: 2019-04-14 07:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: raspberry-pi.png +ha_category: + - DIY + - Binary Sensor + - Switch +ha_release: 0.94 +ha_iot_class: Local Polling +--- + +The `mcp23017` component is the base for all related mcp23017 platforms in Home Assistant. There is no setup needed for the component itself, for the platforms please check their corresponding sections. + +For more details about the MCP23017 I2C I/O port expander you can find its datasheet here: [MCP23017](https://www.microchip.com/wwwproducts/en/MCP23017). + +## {% linkable_title Binary Sensor %} + +The `mcp23017` binary sensor platform allows you to read sensor values from the I/O pins of your [MCP23017 I2C I/O expander](https://www.adafruit.com/product/732). + +The pin numbers are from 0 to 15 where: 0-7 correspond to port A (A1-A8) and 8-15 to port B (B1-B8). + +### {% linkable_title Configuration %} + +To use the I/O pins of an mcp23017 connected to an I2C bus of your Raspberry Pi as binary sensors, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +binary_sensor: + - platform: mcp23017 + i2c_address: 0x20 + pins: + 0: PIR Office + 1: PIR Bedroom +``` + +{% configuration %} +i2c_address: + description: i2c address of MCP23017 chip. + required: false + type: integer + default: "`0x20`" +pins: + description: List of used pins. + required: true + type: map + keys: + "pin: name": + description: The pin numbers (from 0 to 15) and corresponding names. + required: true + type: [integer, string] +scan_interval: + description: Interval to scan for sensor state changes in seconds. + required: false + type: integer + default: 15 +invert_logic: + description: If `true`, inverts the output logic to ACTIVE LOW. + required: false + type: boolean + default: "`false` (ACTIVE HIGH)" +pull_mode: + description: > + Type of internal pull resistor to use. + Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor. + required: false + type: string + default: "`UP`" +{% endconfiguration %} + +

+ MCP23017 only has internal pull-up resistors, if you want to use pull-down you will have to wire your own pull-down resistors. +

+ +## {% linkable_title Switch %} + +The `mcp23017` switch platform allows you to write to the I/O pins of your [MCP23017 I2C I/O expander](https://www.adafruit.com/product/732). + +The pin numbers are from 0 to 15 where: 0-7 correspond to port A (A1-A8) and 8-15 to port B (B1-B8). + +### {% linkable_title Configuration %} + +To use the I/O pins of an mcp23017 connected to an I2C bus of your Raspberry Pi as switches, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +switch: + - platform: mcp23017 + i2c_address: 0x20 + pins: + 11: Fan Office + 12: Light Desk +``` + +{% configuration %} +i2c_address: + description: i2c address of MCP23017 chip. + required: false + type: integer + default: "`0x20`" +ports: + description: Array of used pins. + required: true + type: list + keys: + port: + description: The pin numbers (from 0 to 15) and corresponding names. + required: true + type: [integer, string] +invert_logic: + description: If true, inverts the output logic to ACTIVE LOW. + required: false + default: false + type: boolean +{% endconfiguration %} diff --git a/source/_components/meteoalarm.markdown b/source/_components/meteoalarm.markdown index a8ec7771e5c..0dfd60cd43f 100644 --- a/source/_components/meteoalarm.markdown +++ b/source/_components/meteoalarm.markdown @@ -54,7 +54,7 @@ language: You will find an example below when the state is "on". -{% raw %} +``` attribution: Information provided by MeteoAlarm language: en-GB category: Met @@ -76,7 +76,7 @@ awareness_type: 8; forest-fire unit_of_measurement: friendly_name: meteoalarm icon: mdi:alert -{% endraw %} +``` There are a few awareness levels: @@ -89,6 +89,7 @@ There are a few awareness levels: Below you find an example of an automation. {% raw %} +```yaml automation: - alias: Alert me about weather warnings trigger: @@ -100,6 +101,7 @@ automation: data_template: title: '{{state_attr('binary_sensor.meteoalarm', 'headline')}}' message: "{{state_attr('binary_sensor.meteoalarm', 'description')}} is effective on {{state_attr('binary_sensor.meteoalarm', 'effective')}}" +``` {% endraw %}

diff --git a/source/_components/netgear.markdown b/source/_components/netgear.markdown index 1aade18f142..689bbc7b193 100644 --- a/source/_components/netgear.markdown +++ b/source/_components/netgear.markdown @@ -18,6 +18,10 @@ redirect_from: This platform allows you to detect presence by looking at connected devices to a [Netgear](http://www.netgear.com/) device. +

+A recent updates of Orbi APs introduced a bug which takes several hours to detects presence on your local network. The current workaround is to force this component to use the Orbi's API v2 by adding the `accesspoints:` node to your configuration. +

+ To use this device tracker in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/plex.markdown b/source/_components/plex.markdown index baa6590079a..be6245d2861 100644 --- a/source/_components/plex.markdown +++ b/source/_components/plex.markdown @@ -93,8 +93,6 @@ You can customize the Plex component by adding any of the variables below to you # Example configuration.yaml entry media_player: - platform: plex - include_non_clients: true - scan_interval: 5 show_all_controls: false use_episode_art: true remove_unavailable_clients: true @@ -102,16 +100,6 @@ media_player: ``` {% configuration %} -include_non_clients: - description: "Display non-recontrollable clients (ex. remote clients, PlexConnect Apple TV's)." - required: false - default: false - type: boolean -scan_interval: - description: "Amount in seconds in between polling for device’s current activity." - required: false - default: 10 - type: int show_all_controls: description: "Forces all controls to display. Ignores dynamic controls (ex. show volume controls for client A but not for client B) based on detected client capabilities. This option allows you to override this detection if you suspect it to be incorrect." required: false diff --git a/source/_components/python_script.markdown b/source/_components/python_script.markdown index b6ff87d258e..574a426b159 100644 --- a/source/_components/python_script.markdown +++ b/source/_components/python_script.markdown @@ -38,7 +38,7 @@ hass.bus.fire(name, { "wow": "from a Python script!" }) ``` - Start Home Assistant - - Call service `python_script/hello_world` with parameters + - Call service `python_script.hello_world` with parameters ```json { diff --git a/source/_components/remote_rpi_gpio.markdown b/source/_components/remote_rpi_gpio.markdown new file mode 100644 index 00000000000..50f75828065 --- /dev/null +++ b/source/_components/remote_rpi_gpio.markdown @@ -0,0 +1,127 @@ +--- +layout: page +title: "Remote Raspberry Pi GPIO" +description: "Instructions on how to integrate the GPIO capability of a Remote Raspberry Pi into Home Assistant." +date: 2019-02-20 19:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: raspberry-pi.png +ha_category: + - DIY + - Binary Sensor + - Switch +ha_release: 0.94 +ha_iot_class: Local Push +--- + +The `rpi_gpio` component is the base for all related GPIO platforms in Home Assistant. There is no setup needed for the component itself, for the platforms please check their corresponding pages. + +## {% linkable_title Binary Sensor %} + +The `remote_rpi_gpio` binary sensor platform allows you to read sensor values of the GPIOs of a [Remote Raspberry Pi](https://www.raspberrypi.org/). + +To use your Remote Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +binary_sensor: + - platform: remote_rpi_gpio + address:
+ ports: + 11: PIR Office + 12: PIR Bedroom + +switch: + - platform: remote_rpi_gpio + address:
+ ports: + 4: Garage Relay +``` + +{% configuration %} +address: + description: IP Address of remote Raspberry Pi + required: true + type: string +ports: + description: List of used ports. + required: true + type: map + keys: + "port: name": + description: The port numbers (BCM mode pin numbers) and corresponding names. + required: true + type: string +invert_logic: + description: If `true`, inverts the output logic + required: false + type: boolean + default: "`false` (ACTIVE HIGH)" +pull_mode: + description: > + Type of internal pull resistor to use. + Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor. + Pull-Up defaults to active LOW and Pull-down defaults to active HIGH. This can be adjusted with invert_logic + required: false + type: string + default: "`UP`" +{% endconfiguration %} + +For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi. + +## {% linkable_title Switch %} + +The `remote_rpi_gpio` switch platform allows you to control the GPIOs of a [Remote Raspberry Pi](https://www.raspberrypi.org/). + +To use your Remote Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +switch: + - platform: remote_rpi_gpio + address: 192.168.0.123 + ports: + 11: Fan Office + 12: Light Desk +``` + +{% configuration %} +address: + description: IP Address of remote Raspberry Pi + required: true + type: string +ports: + description: Array of used ports. + required: true + type: list + keys: + port: + description: Port numbers and corresponding names (GPIO #). + required: true + type: [integer, string] +invert_logic: + description: If true, inverts the output logic to ACTIVE LOW. + required: false + default: false + type: boolean +{% endconfiguration %} + +For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi. + +

+Note that a pin managed by HASS is expected to be exclusive to HASS. +

+ +A common question is what does Port refer to, this number is the actual GPIO #, not the pin #. +For example, if you have a relay connected to pin 11 its GPIO # is 17. + +```yaml +# Example configuration.yaml entry +switch: + - platform: remote_rpi_gpio + address: 192.168.0.123 + ports: + 17: Speaker Relay +``` diff --git a/source/_components/repetier.markdown b/source/_components/repetier.markdown new file mode 100644 index 00000000000..15654ed411a --- /dev/null +++ b/source/_components/repetier.markdown @@ -0,0 +1,111 @@ +--- +layout: page +title: Repetier-Server Component +description: "Instructions how to add Repetier-Server sensors to Home Assistant." +date: 2019-05-01 +sidebar: true +comments: false +sharing: true +footer: true +logo: repetier.png +ha_category: + - Hub + - Sensor +featured: false +ha_release: 0.94 +ha_iot_class: Local Polling +--- + +[Repetier-Server](https://www.repetier-server.com/) is a 3D printer/CNC server, able to control multiple devices on the same server. +This component handles the main integration to the server. + +There is currently support for the following device types within Home Assistant: + +- Sensor + +## {% linkable_title Configuration %} + +```yaml +repetier: + - host: REPETIER_HOST + api_key: YOUR_API_KEY +``` + +{% configuration %} +repetier: + type: list + required: true + keys: + host: + description: The host IP or hostname of your Repetier-Server. + required: true + type: string + api_key: + description: API-key for the user used to connect to Repetier-Server + required: true + type: string + port: + description: The port used to connect to the host + required: false + type: integer + default: 3344 + sensors: + description: Configuration for the sensors. + required: false + type: map + keys: + monitored_conditions: + description: The sensors to activate. + type: list + default: all + keys: + "current_state": + description: Text of current state. + "extruder_temperature": + description: Temperatures of all available extruders. These will be displayed as `printer_name_extruder_N`. + "bed_temperature": + description: Temperatures of all available heated beds. These will be displayed as `printer_name_bed_N`. + "chamber_temperature": + description: Temperatures of all available heated chambers. These will be displayed as `printer_name_chamber_N`. + "current_job": + description: Returns percentage done of current job in state, and current job information as attributes. + "job_start": + description: Start timestamp of job start. + "job_end": + description: Estimated job end timestamp. +{% endconfiguration %} + +Example with multiple Repetier Servers: + +```yaml +repetier: + - host: REPETIER_HOST + api_key: YOUR_API_KEY + sensors: + monitored_conditions: + - 'current_state' + - 'current_job' + - host: REPETIER_HOST + api_key: YOUR_API_KEY + port: 3344 +``` + +If the Repetier-Server host is equipped with a web camera it is possible to add this as well. + +```yaml +camera: + - platform: mjpeg + name: Repetier + still_image_url: http://YOUR_REPETIER_HOST_IP:8080/?action=snapshot + mjpeg_url: http://YOUR_REPETIER_HOST_IP:8080/?action=stream +``` + +### {% linkable_title Retrieve API-key %} + +To generate the needed API-key do the following: + +* Go to your Repetier Server web-console +* Push the settings icon (the gear icon) +* Select User Profiles. +* Create a new user, deselect all options and click Create User. +* Edit the newly created user and take note of the API-key for this user, that's the one to use in the Home Assistant Settings diff --git a/source/_components/roomba.markdown b/source/_components/roomba.markdown index 4633d20ca54..ec0f7b30b6a 100644 --- a/source/_components/roomba.markdown +++ b/source/_components/roomba.markdown @@ -18,7 +18,7 @@ redirect_from: The `roomba` component allows you to control your [iRobot Roomba](http://www.irobot.com/For-the-Home/Vacuuming/Roomba.aspx) vacuum.

-This platform has only been tested with an iRobot Roomba 980 but should work find with any Wi-Fi enabled Roomba like the 690, 890 or the 960. +This platform has only been tested with an iRobot Roomba 980 but should work fine with any Wi-Fi enabled Roomba like the 690, 890 or the 960.

## {% linkable_title Configuration %} diff --git a/source/_components/samsungtv.markdown b/source/_components/samsungtv.markdown index f1368c96cad..9ea5d6c3fdc 100644 --- a/source/_components/samsungtv.markdown +++ b/source/_components/samsungtv.markdown @@ -16,11 +16,13 @@ redirect_from: - /components/media_player.samsungtv/ --- -The `samsungtv` platform allows you to control a -[Samsung Smart TV](http://www.samsung.com/uk/consumer/tv-audio-video/televisions/). +The `samsungtv` platform allows you to control a [Samsung Smart TV](http://www.samsung.com/uk/consumer/tv-audio-video/televisions/). -When the TV is first connected, -you will need to accept Home Assistant on the TV to allow communication. +### {% linkable_title Setup %} + +When the TV is first connected, you will need to accept Home Assistant on the TV to allow communication. + +### {% linkable_title Configuration %} To add a TV to your installation without relying on the [discovery component](/components/discovery/), add the following to your `configuration.yaml` file: @@ -28,7 +30,7 @@ To add a TV to your installation without relying on the [discovery component](/c # Example configuration.yaml entry media_player: - platform: samsungtv - host: 192.168.0.10 + host: IP_ADDRESS ``` {% configuration %} @@ -100,6 +102,7 @@ Currently known supported models: - UE6199UXZG (port must be set to 8001, On/Off, Forward/Backward, Volume control, but no Play button) - UE65KS8005 (port must be set to 8001, On/Off, Forward/Backward, Volume are OK, but no Play button) - UE49KU6470 (port must be set to 8001, On/Off, Forward/Backward, Volume are OK, but no Play button) +- UE46ES5500 (partially supported, turn on doesn't works) Currently tested but not working models: @@ -116,16 +119,11 @@ Currently tested but not working models: - MU6125 - Unable to see state and unable to control (Tested on UE58MU6125 on port 8001 and 8801) - MU6300 - Port set to 8001, `pip3 install websocket-client` must be executed, turning on works, status not working reliably, turning off is not permanent (it comes back on) -None of the 2014 (H) and 2015 (J) model series (e.g., J5200) will work, -since Samsung have used a different (encrypted) type of interface for these. +None of the 2014 (H) and 2015 (J) model series (e.g., J5200) will work, since Samsung have used a different (encrypted) type of interface for these. -If your model is not on the list then give it a test, -if everything works correctly then add it to the list on +If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_components/samsungtv.markdown). -The first letter (U, P, L, H & K) represent the screen type, e.g., LED or -Plasma. The second letter represents the region, E is Europe, N is North America -and A is Asia & Australia. -The two numbers following that represent the screen size. +The first letter (U, P, L, H & K) represent the screen type, e.g., LED or Plasma. The second letter represents the region, E is Europe, N is North America and A is Asia & Australia. The two numbers following that represent the screen size. If you add your model remember to remove these first 4 characters before adding to the list. Changing channels can be done by calling the `media_player.play_media` service diff --git a/source/_components/sesame.markdown b/source/_components/sesame.markdown index 9502fd58853..68c0852b70c 100644 --- a/source/_components/sesame.markdown +++ b/source/_components/sesame.markdown @@ -22,24 +22,20 @@ The `sesame` platform allows you to control your [Sesame](https://candyhouse.co/ Your Sesame needs to be paired with a mobile device running the app in *virtual station* mode, or a standalone [Wi-Fi Access Point](https://candyhouse.co/collections/frontpage/products/wi-fi-access-point). +You will also need to generate an API key from [my.candyhouse.co](https://my.candyhouse.co/#/credentials). + Once you have remote access enabled using one of the above AND the Integration - cloud option enabled on the Sesame app for that lock settings, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry lock: - platform: sesame - email: YOUR_E_MAIL_ADDRESS - password: YOUR_PASSWORD + api_key: YOUR_SESAME_API_KEY ``` {% configuration %} -email: - description: The email address for your Sesame account. - required: true - type: string -password: - description: The password for your Sesame account. +api_key: + description: The API key for your Sesame account. required: true type: string {% endconfiguration %} - diff --git a/source/_components/solax.markdown b/source/_components/solax.markdown new file mode 100644 index 00000000000..180fee62291 --- /dev/null +++ b/source/_components/solax.markdown @@ -0,0 +1,57 @@ +--- +layout: page +title: "Solax Sensor" +description: "Instructions on how to integrate Solax sensor within Home Assistant." +date: 2019-03-31 04:20 +sidebar: true +comments: false +sharing: true +footer: true +logo: solax-logo.png +ha_category: + - Energy + - Sensor +ha_release: 0.94 +ha_iot_class: Local Polling +--- + +The `solax` component connects home-assistant to Solax solar power inverters. Solax inverters may be connected to a home Wi-Fi network and expose a REST API. This component retrieves information such as photovoltaic power production, battery levels and power, and how much power is being fed back into the grid. + +## {% linkable_title Configuration %} + +To use the Solax sensors in your installation, add the following to your configuration.yaml file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: solax + ip_address: IP_ADDRESS +``` + +{% configuration %} +ip_address: + description: The IP address of your Solax system. + required: true + type: string +{% endconfiguration %} + +### {% linkable_title Optional template sensor %} + +If you would like to convert the values from multiple panels or view the total power the house is using, you can use the [template platform](/components/sensor.template/). + +{% raw %} +```yaml +# Example configuration.yaml entry for template platform +sensors: +- platform: template + sensors: + total_pv_power: + friendly_name: "Total PV Power" + unit_of_measurement: 'W' + value_template: "{{ (states('sensor.pv1_power') | float) + (states('sensor.pv2_power') | float) }}" + load_power: + friendly_name: "Load Power" + unit_of_measurement: 'W' + value_template: "{{ (states('sensor.power_now') | float) - (states('sensor.exported_power') | float) }}" +``` +{% endraw %} diff --git a/source/_components/spaceapi.markdown b/source/_components/spaceapi.markdown index 8f83f10ab3c..34d9add3420 100644 --- a/source/_components/spaceapi.markdown +++ b/source/_components/spaceapi.markdown @@ -114,6 +114,20 @@ sensors: type: entity_id {% endconfiguration %} +The list of sensors can be any sensor, not just temperature or humidity. + +## {% linkable_title Sensor specific location %} + +The [SpaceAPI specification](https://spaceapi.io/pages/docs.html) requires every sensor to provide a location. +In order to set a sensor specific location do the following steps: + +1. Go to Configuration -> Customization +2. Select the sensor entity +3. Pick "Other" from the attribute override pulldown +4. Set the attribute name to location and the attribute value to your desired location + +If no location is set, the location defined in the HA config is used. + ## {% linkable_title Examples %} In this section you find some real-life examples of how to use this component. diff --git a/source/_components/sql.markdown b/source/_components/sql.markdown index bf3ba0cfb08..a2ee887e342 100644 --- a/source/_components/sql.markdown +++ b/source/_components/sql.markdown @@ -131,6 +131,8 @@ sensor: #### {% linkable_title MariaDB/MySQL %} +Change `table_schema="hass"` to the name that you use as the database name, to ensure that your sensor will work properly. + {% raw %} ```yaml sensor: diff --git a/source/_components/system_log.markdown b/source/_components/system_log.markdown index 79229d5cdc8..3096336ea0f 100644 --- a/source/_components/system_log.markdown +++ b/source/_components/system_log.markdown @@ -141,8 +141,9 @@ automation: to: 'on' action: service: system_log.write - message: 'Door opened!' - level: info + data_template: + message: 'Door opened!' + level: info ``` {% endraw %} diff --git a/source/_docs/ecosystem/apache.markdown b/source/_docs/ecosystem/apache.markdown index 92c27eb51a7..ec06ed63eb9 100644 --- a/source/_docs/ecosystem/apache.markdown +++ b/source/_docs/ecosystem/apache.markdown @@ -28,7 +28,7 @@ Enable [`mod_proxy_wstunnel`](https://httpd.apache.org/docs/2.4/mod/mod_proxy_ws $ sudo a2enmod proxy_wstunnel ``` -To be able to access to your Home Assistant instance by using https://home.example.org, add to following file to `/etc/httpd/conf/extra/` as `hass.conf` +To be able to access to your Home Assistant instance by using https://home.example.org, add the following file to `/etc/httpd/conf/extra/` as `hass.conf` ```text diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown index 497b788520c..397b7cbc608 100644 --- a/source/_docs/ecosystem/backup/backup_github.markdown +++ b/source/_docs/ecosystem/backup/backup_github.markdown @@ -162,6 +162,7 @@ python: - "3.5" before_install: - mv travis_secrets.yaml secrets.yaml + - sudo apt-get install -y libudev-dev install: - pip3 install homeassistant script: diff --git a/source/_docs/ecosystem/certificates/lets_encrypt.markdown b/source/_docs/ecosystem/certificates/lets_encrypt.markdown index bcbecfaccce..024044abddc 100644 --- a/source/_docs/ecosystem/certificates/lets_encrypt.markdown +++ b/source/_docs/ecosystem/certificates/lets_encrypt.markdown @@ -10,7 +10,7 @@ footer: true ---

-If you are using Hass.io or Hassbian, do not use this guide. Instead, use the [DuckDNS add-on](/addons/duckdns/) for Hass.io or the [DuckDNS suite](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/duckdns.md) for Hassbian to automatically maintain a subdomain including HTTPS certificates via Let's Encrypt. +If you are using Hass.io or Hassbian, do not use this guide. Instead, use the [DuckDNS add-on](/addons/duckdns/) for Hass.io or the [DuckDNS suite](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/duckdns.md) for Hassbian to automatically maintain a subdomain including HTTPS certificates via Let's Encrypt.

diff --git a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown index c4f7c536741..5efe94ec42e 100644 --- a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown +++ b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown @@ -44,4 +44,11 @@ http: A restart of Home Assistant is required for the changes to take effect. +If you get any log error about *ssl_key* or *ssl_certificate* that is **not a file for dictionary value** when run Home Assistant, you need to change owner or access permission of the `.pem` files as following: + +```bash +$ sudo chown homeassistant:homeassistant certificate.pem privkey.pem +$ sudo chmod 755 certificate.pem privkey.pem +``` + A tutorial "[Working with SSL Certificates, Private Keys and CSRs](https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs)" could give you some insight about special cases. diff --git a/source/_docs/ecosystem/hadashboard.markdown b/source/_docs/ecosystem/hadashboard.markdown index 8f06247ee0d..9daa0518206 100755 --- a/source/_docs/ecosystem/hadashboard.markdown +++ b/source/_docs/ecosystem/hadashboard.markdown @@ -37,4 +37,4 @@ HADashboard is a modular, skinnable dashboard for [Home Assistant](/) that is in Glassic Theme

-For full installation instructions see the HADashboard section in the [AppDaemon Project Documentation](http://appdaemon.readthedocs.io/en/stable/DASHBOARD_INSTALL.html). If you're using Hassbian, then the [Hassbian scripts](https://github.com/home-assistant/hassbian-scripts/blob/dev/docs/appdaemon.md) make it easy to install AppDaemon. +For full installation instructions see the HADashboard section in the [AppDaemon Project Documentation](http://appdaemon.readthedocs.io/en/stable/DASHBOARD_INSTALL.html). If you're using Hassbian, then the [Hassbian scripts](https://github.com/home-assistant/hassbian-scripts/blob/dev/docs/suites/appdaemon.md) make it easy to install AppDaemon. diff --git a/source/_docs/ecosystem/nginx_subdomain.markdown b/source/_docs/ecosystem/nginx_subdomain.markdown index 64831bd8194..2c15ad8d7fb 100644 --- a/source/_docs/ecosystem/nginx_subdomain.markdown +++ b/source/_docs/ecosystem/nginx_subdomain.markdown @@ -64,7 +64,7 @@ You want another instance available at https://countryside.example.org You can either : * Create a new user, `bob`, to hold the configuration file in `/home/bob/.homeassistant/configuration.yaml` and run Home Assistant as this new user - * Create another configuration directory in `/home/alice/.homeassistan2/configuration.yaml` and run Home Assistant using `hass --config /home/alice/.homeassistant2/` + * Create another configuration directory in `/home/alice/.homeassistant2/configuration.yaml` and run Home Assistant using `hass --config /home/alice/.homeassistant2/` In both solution, change port number used by modifying `configuration.yaml` file. diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index 01bf2e37a54..f9c7affff37 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -49,7 +49,8 @@ $ docker run --init -d --name="home-assistant" -v /PATH_TO_YOUR_CONFIG:/config - ``` When running Home Assistant in Docker on Windows, you may have some difficulty getting ports to map for routing (since the `--net=host` switch actually applies to the hypervisor's network interface). To get around this, you will need to add port proxy ipv4 rules to your local Windows machine, like so (Replacing '192.168.1.10' with whatever your Windows IP is, and '10.0.50.2' with whatever your Docker container's IP is): -``` + +```bash netsh interface portproxy add v4tov4 listenaddress=192.168.1.10 listenport=8123 connectaddress=10.0.50.2 connectport=8123 netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8123 connectaddress=10.0.50.2 connectport=8123 ``` @@ -125,7 +126,8 @@ The steps would be: - Install "Container Station" package on your Qnap NAS - Launch Container Station and move to "Create Container"-section - - Search image "homeassistant/home-assistant" with Docker hub and click on "Install" + - Search image "homeassistant/home-assistant" with Docker hub and click on "Install" + Make attention to CPU architecture of your NAS. For ARM CPU types the correct image is "homeassistant/armhf-homeassistant" - Choose "latest" version and click next - Choose a container-name you want (e.g., "homeassistant") - Click on "Advanced Settings" diff --git a/source/_docs/scripts/service-calls.markdown b/source/_docs/scripts/service-calls.markdown index 6a706456f13..616ef6ffd3e 100644 --- a/source/_docs/scripts/service-calls.markdown +++ b/source/_docs/scripts/service-calls.markdown @@ -41,6 +41,8 @@ data: rgb_color: [255, 0, 0] ``` +A full list of the parameters for a service can be found on the documentation page of each component, in the same way as it's done for the `light.turn_on` [service](/components/light/#service-lightturn_on). + ### {% linkable_title Use templates to decide which service to call %} You can use [templating] support to dynamically choose which service to call. For example, you can call a certain service based on if a light is on. diff --git a/source/_lovelace/picture-entity.markdown b/source/_lovelace/picture-entity.markdown index 792ea1ab73f..e375c25a9cb 100644 --- a/source/_lovelace/picture-entity.markdown +++ b/source/_lovelace/picture-entity.markdown @@ -132,3 +132,21 @@ state_image: "on": /local/bed_light_on.png "off": /local/bed_light_off.png ``` + +Displaying a live feed from an FFMPEG camera: + +{% raw %} +```yaml +type: picture-entity +entity: camera.backdoor +camera_view: live +tap_action: + action: call-service + service: camera.snapshot + service_data: + entity_id: camera.backdoor + filename: '/shared/backdoor-{{ now().strftime("%Y-%m-%d-%H%M%S") }}.jpg' +``` +{% endraw %} + +The filename needs to be a path that is writable by Home Assistant in your system. You may need to configure `whitelist_external_dirs` ([documentation](https://www.home-assistant.io/docs/configuration/basic/)). diff --git a/source/_posts/2019-05-08-nest-data-bye-bye.markdown b/source/_posts/2019-05-08-nest-data-bye-bye.markdown index 9a070545e14..ce0a0a5886e 100644 --- a/source/_posts/2019-05-08-nest-data-bye-bye.markdown +++ b/source/_posts/2019-05-08-nest-data-bye-bye.markdown @@ -1,6 +1,6 @@ --- layout: post -title: "Nest to turn off their API" +title: "[Update: new users only] Nest to turn off their API" description: "Nest has announced that they will shut down their API in August, no longer allowing you to access your data." date: 2019-05-08 00:01:00 date_formatted: "May 8, 2019" @@ -11,6 +11,12 @@ categories: Public-Service-Announcement og_image: /images/blog/2019-05-nest-data-bye-bye/notice.png --- +**Update May 16:** Nest just announced [in a blog post](https://blog.google/products/google-nest/updates-works-with-nest/) that they changed their plan. It will still retire the Works with Nest program at the end of August, but it will no longer cut off existing users of the API. It will however still stop accepting new users at the end of August. + +Currently each Home Assistant user is required to create their own developer account to configure their Nest integration. We will reach out to Nest to see if we can become a partner so that users joining Home Assistant after August can still use Nest. + +--- + Sigh. Another one. This time it's not a small one either: Nest is disabling their APIs. We already saw [the writing on the wall in January](/blog/2019/01/24/nest-cannot-access-data/), but now [it's official](https://developers.nest.com/): Google announced that the Nest API will be turned off at the end of August, 2019. This means that in a little over three months, you will no longer be able to get your own data, that Google has collected in your home, and use it like you see fit. diff --git a/source/_posts/2019-05-16-release-93.markdown b/source/_posts/2019-05-16-release-93.markdown index a17cfe0b8dd..685225332f2 100644 --- a/source/_posts/2019-05-16-release-93.markdown +++ b/source/_posts/2019-05-16-release-93.markdown @@ -24,10 +24,15 @@ It's time for our 0.93 release and it is a whopping cool one. It's a day later t Last week we also wrote about [our updated plans](/blog/2019/05/03/update-from-the-field/) for Home Assistant for this year. If you haven't read it yet, worth the read! -If you are a Nest user, we have some sad news: Google announced that they are [shutting down the Nest API](/blog/2019/05/08/nest-data-bye-bye/) at the end of August. This will cause Nest hardware to no longer work with Home Assistant (╯°□°)╯︵ ┻━┻ +If you are a Nest user, we have some sad news: Google announced that they are [shutting down the Nest API](/blog/2019/05/08/nest-data-bye-bye/) at the end of August. This will cause Nest hardware to no longer work with Home Assistant (╯°□°)╯︵ ┻━┻. **Update:** they have changed their plans, will only impact new users. As always, this release is accompanied by [a new episode of the Home Assistant podcast](https://hasspodcast.io/ha050/). Rohan and Phil discuss the new release, the Nest API and a lot more. This episode is their 50th episode already, congratulations on this milestone! +Pascal has updated the way we are building Hass.io. It is now keeping the build up to date while we develop Home Assistant, which means that the Hass.io build was ready before the release blog post was up! + + + ## {% linkable_title Home Assistant 1.0 %} As we mentioned in [our updated plans post](/blog/2019/05/03/update-from-the-field/), we're working hard on Home Assistant 1.0. Over the next releases we will work on polishing the UI, the backend architecture, and everything in between. @@ -94,6 +99,50 @@ For those of you that like to power down your Sonos, Home Assistant should now h - Add water_heater to geniushub, bump client library ([@zxdavb] - [#23384]) ([geniushub docs]) (new-platform) - New cover platform for ADS integration ([@carstenschroeder] - [#23377]) ([ads docs]) (new-platform) +## {% linkable_title Release 0.93.1 - May 17 %} + +- Fix Hassio-version for Azure Pipelines ([@pvizeli] - [#23895]) +- Update Honeywell warning ([@balloob] - [#23913]) ([honeywell docs]) +- Switch media player to SWITCH type ([@elupus] - [#23914]) ([google_assistant docs]) +- Fix problem with cameras that don't support time ([@karlkar] - [#23924]) ([onvif docs]) + +[#23895]: https://github.com/home-assistant/home-assistant/pull/23895 +[#23913]: https://github.com/home-assistant/home-assistant/pull/23913 +[#23914]: https://github.com/home-assistant/home-assistant/pull/23914 +[#23924]: https://github.com/home-assistant/home-assistant/pull/23924 +[@balloob]: https://github.com/balloob +[@elupus]: https://github.com/elupus +[@karlkar]: https://github.com/karlkar +[@pvizeli]: https://github.com/pvizeli +[google_assistant docs]: /components/google_assistant/ +[honeywell docs]: /components/honeywell/ +[onvif docs]: /components/onvif/ + +## {% linkable_title Release 0.93.2 - May 22 %} + +- Fix auto version update Hass.io ([@pvizeli] - [#23935]) +- Bump pytraccar ([@ludeeus] - [#23939]) ([traccar docs]) +- Fixes issue with multiple alerts ([@ludeeus] - [#23945]) ([alert docs]) +- Setup integration dependencies before loading it ([@aerialls] - [#23957]) +- Make Discord payload data key not required ([@cyrosy] - [#23964]) ([discord docs]) +- upgrade broadlink library ([@Danielhiversen] - [#23966]) ([broadlink docs]) + +[#23935]: https://github.com/home-assistant/home-assistant/pull/23935 +[#23939]: https://github.com/home-assistant/home-assistant/pull/23939 +[#23945]: https://github.com/home-assistant/home-assistant/pull/23945 +[#23957]: https://github.com/home-assistant/home-assistant/pull/23957 +[#23964]: https://github.com/home-assistant/home-assistant/pull/23964 +[#23966]: https://github.com/home-assistant/home-assistant/pull/23966 +[@Danielhiversen]: https://github.com/Danielhiversen +[@aerialls]: https://github.com/aerialls +[@cyrosy]: https://github.com/cyrosy +[@ludeeus]: https://github.com/ludeeus +[@pvizeli]: https://github.com/pvizeli +[alert docs]: /components/alert/ +[broadlink docs]: /components/broadlink/ +[discord docs]: /components/discord/ +[traccar docs]: /components/traccar/ + ## {% linkable_title If you need help... %} ...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. @@ -154,6 +203,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - platform: sesame api_key: !secret sesame_api_key ``` +- __Z-Wave__ - Not a breaking change perse, just a note: Open Z-Wave has released version 1.6. The configuration files are not compatible with Open Z-Wave 1.4, the version that we are currently using. Don't copy config files over! We're waiting for Open Z-Wave Python bindings to update before we can update our code. ## {% linkable_title Beta Fixes %} diff --git a/source/components/epsonworkforce.markdown b/source/components/epsonworkforce.markdown deleted file mode 100644 index 9fa39a3d101..00000000000 --- a/source/components/epsonworkforce.markdown +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: page -title: "Epson Workforce" -description: "Instructions on how to setup Epson Workforce with Home Assistant." -date: 2019-04-24 07:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_release: 0.92 ---- - -The Epson workforce integration. diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index bef555bf76c..2ff644bea37 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -95,12 +95,14 @@ If you would like to test next release before anyone else, you can install the b 3. Select _System_ from the _Hass.io_ menu, then select _Join Beta Channel_ under _Hass.io supervisor_, then select _Reload_. 4. Select _Dashboard_ from the _Hass.io_ menu, and then select _Update_. -## {% linkable_title Alternative: install on generic Linux server %} +## {% linkable_title Alternative: install on a generic Linux host %} For advanced users, it is also possible to try Hass.io on your [Linux server or inside a virtual machine][linux]. -Examples given here are tested on Ubuntu, but the instructions should work as a guideline for installing on other Linux distrubutions. +Examples given here are tested on Ubuntu and Arch Linux, but the instructions should work as a guideline for installing on other Linux distrubutions. -This is the list of packages you need to have available on your system that will run Hass.io if you are using Debian/Ubuntu: +The packages you need to have available on your system that will run Hass.io may vary. + +### {% linkable_title Debian/Ubuntu %} - apparmor-utils - apt-transport-https @@ -113,6 +115,17 @@ This is the list of packages you need to have available on your system that will - socat - software-properties-common +### {% linkable_title Arch Linux %} + + - apparmor + - avahi + - ca-certificates + - curl + - dbus + - docker + - jq + - socat + You also need to have Docker-CE installed. There are well-documented procedures for installing Docker on Ubuntu at [Docker.com](https://docs.docker.com/install/linux/docker-ce/ubuntu/), you can find installation steps for your Linux distribution in the menu on the left.

@@ -120,22 +133,21 @@ You also need to have Docker-CE installed. There are well-documented procedures Be sure to install the official Docker-CE from the above listed URL.

-To perform the Hass.io installation, run the following commands: +To perform the Hass.io installation on Ubuntu, run the following commands: ```bash -sudo -i +$ sudo -i +# apt-get install software-properties-common +# add-apt-repository universe +# apt-get update +# apt-get install -y apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat +# curl -fsSL get.docker.com | sh +``` -apt-get install software-properties-common +And to intall Hass.io the one below. That one is used also for other distributions. -add-apt-repository universe - -apt-get update - -apt-get install -y apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat - -curl -fsSL get.docker.com | sh - -curl -sL "https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh" | bash -s +```bash +# curl -sL "https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh" | bash -s ```

diff --git a/source/images/supported_brands/repetier.png b/source/images/supported_brands/repetier.png new file mode 100755 index 00000000000..7cbba43ad45 Binary files /dev/null and b/source/images/supported_brands/repetier.png differ diff --git a/source/images/supported_brands/solax-logo.png b/source/images/supported_brands/solax-logo.png new file mode 100644 index 00000000000..a9dce20ba7b Binary files /dev/null and b/source/images/supported_brands/solax-logo.png differ diff --git a/source/lovelace/index.markdown b/source/lovelace/index.markdown index 65e8f8753f9..20364d518e3 100644 --- a/source/lovelace/index.markdown +++ b/source/lovelace/index.markdown @@ -12,7 +12,7 @@ redirect_from: /components/lovelace/ Lovelace is the name of the Home Assistant user interface. It is a fast, customizable and powerful way for users to manage their homes, working both on mobile and desktop. - - [24 cards](https://www.home-assistant.io/lovelace/alarm-panel/) to place and configure as you like. + - 24 different cards to place and configure as you like. - UI Editor. A configuration UI to manage your Lovelace UI including live preview when editing cards. - Fast. Using a static config allows us to build up the UI once. - Customizable.