Merge branch 'current' into next

This commit is contained in:
Paulus Schoutsen 2017-06-08 22:25:43 -07:00
commit 70deaf5832
45 changed files with 698 additions and 236 deletions

View file

@ -43,16 +43,16 @@ automation:
trigger:
- platform: state
entity_id: sensor.pir1
state: 'active'
to: 'active'
- platform: state
entity_id: sensor.pir2
state: 'active'
to: 'active'
- platform: state
entity_id: sensor.door
state: 'open'
to: 'open'
- platform: state
entity_id: sensor.window
state: 'open'
to: 'open'
condition:
- condition: state
entity_id: alarm_control_panel.ha_alarm

View file

@ -16,8 +16,57 @@ ha_release: "0.45"
Home Assistant will automatically discover their presence on your network.
## {% linkable_title Dependencies %}
```bash
$ sudo apt-get install python3-gi gir1.2-gstreamer-1.0
```
Depending on how you run Home Assistant you might be needed to symlink the `gi` module into your environment.
Hassbian:
```bash
$ ln -s /usr/lib/python3/dist-packages/gi /srv/homeassistant/lib/python3.4/site-packages
```
Raspberry Pi All-In-One Installer:
```bash
$ ln -s /usr/lib/python3/dist-packages/gi /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages
```
You can also manually configure your devices by adding the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
axis:
m1065lw:
host: IP ADDRESS
include:
- camera
```
Configuration variables:
- **device** (*Required*): Unique name for the Axis device.
- **host** (*Required*): The IP address to your Axis device.
- **username** (*Optional*): The username to your Axis device. Defaults to `root`.
- **password** (*Optional*): The password to your Axis device. Defaults to `pass`.
- **trigger_time** (*Optional*): Minimum time (in seconds) a sensor should keep its positive value. Defaults to 0.
- **location** (*Optional*): Physical location of your Axis device. Default not set.
- **include** (*Required*): This cannot be empty else there would be no use adding the device at all.
- **camera**: Stream MJPEG video to Home Assistant.
- **motion**: The built-in motion detection in Axis cameras.
- **vmd3**: ACAP Motion Detection app which has better algorithms for motion detection.
- **pir**: PIR sensor that can trigger on motion.
- **sound**: Sound detector.
- **daynight**: Certain cameras have day/night mode if they have built-in IR lights.
- **tampering**: Signals when camera believes that it has been tampered with.
- **input**: Trigger on whatever you have connected to device input port.
A full configuration example could look like this:
```yaml
# Example configuration.yaml entry
axis:
@ -26,46 +75,15 @@ axis:
username: USERNAME
password: PASSWORD
include:
- camera
- motion
- pir
- sound
- daynight
- camera
- motion
- pir
- sound
- daynight
trigger_time: 0
location: köket
```
## {% linkable_title Dependencies %}
```bash
sudo apt-get install python3-gi gir1.2-gstreamer-1.0
```
Depending on how you run Home Assistant you might be needed to symlink the `gi` module into your environment (e.g. in Hassbian):
```bash
ln -s /usr/lib/python3/dist-packages/gi /srv/homeassistant/lib/python3.4/site-packages
```
## {% linkable_title Configuration variables %}
- **device** (*Required*): Unique name
- **host** (*Required*): The IP address to your Axis device.
- **username** (*Optional*): The username to your Axis device. Default 'root'.
- **password** (*Optional*): The password to your Axis device. Default 'pass'.
- **trigger_time** (*Optional*): Minimum time (in seconds) a sensor should keep its positive value. Default 0.
- **location** (*Optional*): Physical location of your Axis device. Default not set.
- **include** (*Required*): This cannot be empty else there would be no use adding the device at all.
- **camera**: Stream MJPEG video to Home Assistant
- **motion**: The Built in motion detection in Axis cameras
- **vmd3**: ACAP Motion Detection app which has better algorithms for motion detection
- **pir**: PIR sensor that can trigger on motion
- **sound**: Sound detector
- **daynight**: Certain cameras have day/night mode if they have built-in IR lights
- **tampering**: signals when camera believes that it has been tampered with
- **input**: trigger on whatever you have connected to device input port
<p class='note'>
Any specific levels for triggers needs to be configured on the device.
</p>

View file

@ -25,7 +25,13 @@ blink:
password: YOUR_PASSWORD
```
Configuration variables:
- **username** (*Required*): Your username to login to Blink.
- **password** (*Required*): Your password to login to Blink.
Once loaded, your front end will have the following components:
* A camera image for each camera in your system.
* A binary_sensor per camera that indicates whether motion detection is enabled.
* A binary_sensor for the system that indicates if the system is armed or disarmed.
@ -33,25 +39,27 @@ Once loaded, your front end will have the following components:
* A sensor per camera that reports battery level.
* A sensor per camera that reports unread notification (ie. detected motion events).
Since the cameras are battery operated, the images are only updated in Home Assistant when the user manually forces a new photo. This image can be updated with the `blink.snap_picture` service followed by a `blink.force_update` service call to force Home Assistant to request an update from Blink's servers. If the `blink.force_update` service is not called, the image will be updated within a 180 second interval, set so that automatic server requests don't overwhelm the Blink API. As a note, all of the camera-specific sensors are only polled when a new image is requested from the camera. This means that relying on any of these sensors to provide timely and accurate data is not recommended.
Since the cameras are battery operated, the images are only updated in Home Assistant when the user manually forces a new photo. This image can be updated with the `snap_picture` service to force Home Assistant to request an update from Blink's servers. As a note, all of the camera-specific sensors are only polled when a new image is requested from the camera. This means that relying on any of these sensors to provide timely and accurate data is not recommended.
Services:
There are three services availiabe for the blink platform:
This services are available for the `blink` component:
- arm_system
- arm_camera
- snap_picture
- force_update
For `blink.arm_system`, the value sent can be either "True" or "False" and will arm and disarm the whole blink system, respectively
Arm system example
For `arm_system`, the value sent can be either `True` or `False` and will arm and disarm the whole Blink system. Arm system example:
```json
{
"device_armed": "True"
}
```
Arm camera follows a similar structure, but each indidivual camera can have motion detection enabled or disabled. Because of this, you also need to supply a name. For example, if I have a camera named "Living Room" and I want to turn off motion detection on that camera, I'd call the `blink.arm_camera` service with the following payload:
Arm camera follows a similar structure, but each indidivual camera can have motion detection enabled or disabled. Because of this, you also need to supply a name. For example, if you have a camera named "Living Room" and you want to turn off motion detection on that camera, you would call the `arm_camera` service with the following payload:
```json
{
"friendly_name": "Living Room",
@ -59,20 +67,14 @@ Arm camera follows a similar structure, but each indidivual camera can have moti
}
```
The `blink.snap_picture` service takes the camera name as the payload and with take a new picture with your camera.
```
The `snap_picture` service takes the camera name as the payload and with take a new picture with your camera.
```json
{
"friendly_name": "Living Room"
}
```
The `blink.force_update` service can simply be called with no payload to force a server update.
Configuration variables:
- **username** (*Required*): Your username to login to Blink
- **password** (*Required*): Your password to login to Blink
<p class='img'>
<img src='{{site_root}}/images/screenshots/blink_example_frontend.png' />
</p>

View file

@ -12,7 +12,7 @@ ha_category: Camera
ha_release: 0.46
---
To get your [Arlo](https://arlo.netgear.com/) sensors working within Home Assistant, please follow the instructions for the general [Arlo component](/components/arlo).
To get your [Arlo](https://arlo.netgear.com/) cameras working within Home Assistant, please follow the instructions for the general [Arlo component](/components/arlo).
This component is not yet able to live stream from your Arlo camera, but it will be able to playback the last video capture.

View file

@ -33,4 +33,5 @@ See the [device tracker component page](/components/device_tracker/) for instruc
Also known to be working with the following devices:
- Irish Virgin Media Super Hub 3.0
- Ziggo Connectbox NL

View file

@ -28,6 +28,8 @@ To enable the emulated Hue bridge, add one of the following configs to your `con
```yaml
# Google Home example configuration.yaml entry
emulated_hue:
type: google_home
listen_port: 80
# Google Home does not work on different ports.
```
@ -111,6 +113,8 @@ You can verify that the `emulated_hue` component has been loaded and is respondi
- `http://<HA IP Address>:8300/description.xml` - This URL should return a descriptor file in the form of an XML file.
- `http://<HA IP Address>:8300/api/pi/lights` - This will return a list of devices, lights, scenes, groups, etc.. that `emulated_hue` is exposing to Alexa.
For Google Home, verify that the URLs above are using port 80, rather than port 8300 (i.e. http://<HA IP Address>:80/description.xml).
An additional step is required to run Home Assistant as non-root user and use port 80 when using the AiO script. Execute the following command to allow `emulated_hue` to use port 80 as non-root user.
```bash

View file

@ -52,7 +52,7 @@ automation:
data_template: "{{ trigger.event.data.title }}"
```
*Any field under the `<entry>` tag in the feed can be used for example `tigger.event.data.content` will get the body of the feed entry.
*Any field under the `<entry>` tag in the feed can be used for example `trigger.event.data.content` will get the body of the feed entry.
For more advanced use cases, a custom component registering to the `feedreader` event type could be used instead:

View file

@ -1,6 +1,6 @@
---
layout: page
title: "Home Assistant 0.45"
title: "Home Assistant 0.46"
description: ""
date: 2016-12-16 17:00
sidebar: true
@ -9,7 +9,7 @@ sharing: true
footer: true
logo: home-assistant.png
ha_category: Other
ha_release: 0.45
ha_release: 0.46
---
Details about the latest release can always be found at:

View file

@ -26,22 +26,22 @@ automation:
trigger:
- platform: state
entity_id: group.all_devices
state: 'not_home'
to: 'not_home'
condition:
- platform: state
entity_id: sun.sun
state: 'above_horizon'
state: 'above_horizon'
action:
service: ifttt.trigger
data: {"event":"manything_on"}
- alias: 'ManyThing Recording OFF'
# This calls an IFTTT recipe to turn off recording of the ManyThing Camera
# when we are home unless it's nighttime.
# when we get home unless it's nighttime.
trigger:
- platform: state
entity_id: group.all_devices
state: 'home'
to: 'home'
condition:
- condition: state
entity_id: sun.sun

View file

@ -68,8 +68,8 @@ You need to setup a unique trigger for each event you sent to IFTTT.
automation:
alias: Startup Notification
trigger:
platform: event
event_type: homeassistant_start
platform: homeassistant
event: start
action:
service: ifttt.trigger
data: {"event":"TestHA_Trigger", "value1":"Hello World!"}
@ -82,8 +82,8 @@ IFTTT can also be used in scripts and with `data_template`. Here is the above a
automation:
alias: Startup Notification
trigger:
platform: event
event_type: homeassistant_start
platform: homeassistant
event: start
action:
service: script.ifttt_notify
data_template:

View file

@ -36,6 +36,27 @@ Most lights do not support all attributes. You can check the platform documentat
| `flash` | yes | Tell light to flash, can be either value `short` or `long`.
| `effect`| yes | Applies an effect such as `colorloop` or `random`.
<p class='note'>
In order to apply attributes to an entity you will need to add `data:` to the configuration. See example below
</p>
```yaml
# Example configuration.yaml entry
automation:
- id: one
alias: Turn on light when motion is detected
trigger:
- platform: state
entity_id: binary_sensor.motion_1
to: 'on'
action:
- service: light.turn_on
data:
entity_id: light.living_room
brightness: 255
kelvin: 2700
```
### {% linkable_title Service `light.turn_off` %}
Turns one or multiple lights off.

View file

@ -53,10 +53,8 @@ alias: "Bathroom Motion Detected"
trigger:
platform: state
entity_id: binary_sensor.motion_sensor_166d0001171111
from: 'off'
to: 'on'
state: 'on'
action:
service: media_player.turn_on
data:

View file

@ -47,7 +47,7 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`,
| -----------------------| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | yes | Target a specific media player. Defaults to all. |
| `media_content_id` | no | A media identifier. The format of this is component dependent. For example, you can provide URLs to Sonos and Cast but only a playlist ID to iTunes. |
| `media_content_type` | no | A media type. Must be one of `MUSIC`, `TVSHOW`, `VIDEO`, `EPISODE`, `CHANNEL` or `PLAYLIST`. For example, to play music you would set `media_content_type` to `MUSIC`. |
| `media_content_type` | no | A media type. Must be one of `music`, `tvshow`, `video`, `episode`, `channel` or `playlist`. For example, to play music you would set `media_content_type` to `music`. |
#### {% linkable_title Service `media_player/select_source` %}

View file

@ -13,7 +13,7 @@ ha_release: 0.7.5
---
The `telegram` platform uses [Telegram](https://web.telegram.org) to delivery notifications from Home Assistant to your Android device, your Windows phone, or your iOS device.
The `telegram` platform uses [Telegram](https://web.telegram.org) to deliver notifications from Home Assistant to your Android device, your Windows phone, or your iOS device.
The requirements are:
@ -89,7 +89,7 @@ Configuration variables:
- **message** (*Required*): Message text.
- **title** (*Optional*): Will be composed as '%title\n%message'.
- **keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom keyboard.
- **inline_keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with asociated callback data.
- **inline_keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data.
### {% linkable_title Photo support %}
@ -119,7 +119,7 @@ Configuration variables:
- **password** (*Optional*): Username for a URL which require HTTP authentication.
- **authentication** (*Optional*): Set to 'digest' to use HTTP digest authentication, defaults to 'basic'.
- **keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom keyboard.
- **inline_keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with asociated callback data.
- **inline_keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data.
### {% linkable_title Document support %}
@ -148,7 +148,7 @@ Configuration variables:
- **password** (*Optional*): Username for a URL which require HTTP authentication.
- **authentication** (*Optional*): Set to 'digest' to use HTTP digest authentication, defaults to 'basic'.
- **keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom keyboard.
- **inline_keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with asociated callback data.
- **inline_keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data.
### {% linkable_title Location support %}
@ -171,4 +171,4 @@ Configuration variables:
- **latitude** (*Required*): The latitude to send.
- **longitude** (*Required*): The longitude to send.
- **keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom keyboard.
- **inline_keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with asociated callback data.
- **inline_keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data.

View file

@ -59,7 +59,7 @@ automation:
trigger:
platform: state
entity_id: binary_sensor.front_door_motion
state: 'on'
to: 'on'
action:
service: notify.livingroom_tv
data:

View file

@ -14,7 +14,7 @@ ha_release: 0.39
---
The `itach` remote platform allows you to control IR devices with a [Global Caché iTach Device](https://www.globalcache.com/products/itach/ip2irspecs)
The `itach` remote platform allows you to control IR devices with a [Global Caché iTach Device](https://www.globalcache.com/products/itach/ip2irspecs) and GC-100 devices. The Global Cache IR API are similar accross their product line. See API documentation links at the end of this page.
To use your iTach remote in your installation, you will need to know the IR commands for your devices in Pronto hex format and add the following to your `configuration.yaml` file:
@ -35,13 +35,21 @@ remote:
```
Configuration variables:
- **name** (*Required*): The iTach's name to display in the front end.
- **name** (*Optional*): The iTach's name to display in the front end.
- **host** (*Required*): The iTach's IP address.
- **port** (*Optional*): The iTach's port. 4998 is default.
- **devices** array (*Required*): Devices controlled by the iTach.
- **name** (*Required*): Name of the device.
- **modaddr** (*Optional*): iTach module address for the IR emitter. 1 is default.
- **connaddr** (*Required*): iTach connection address for the IR emitter.
- **connaddr** (*Required*): iTach connection location for the IR emitter. (Note connaddr is a misleading label. Do not put the connection address here. Technically the connection address is the combination of the module address plus the connection location).
- **commands** array (*Required*): Commands available to send to the device.
- **name** (*Required*): Command name.
- **data** (*Required*): Hex command data.
An example to call the component from developer tools using the remote, send_command service `{ "entity_id":"remote.tv", "device":"0", "command":"menu" }`
Note: Global Cache devices expect data in their own format of "sendir...". This component converts hex code to Global Cache IR form.
API Docs:
- [iTach](https://www.globalcache.com/files/docs/API-iTach.pdf)
- [GC-100](http://www.globalcache.com/files/docs/API-GC-100.pdf)

View file

@ -147,6 +147,5 @@ Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekd
```
<p class='note'>
The `/dev-template` page of your home-assistant UI can help you check if the values for `start`, `end` or `duration` are correct.
If you want to check if your period is right, just click on your component, the `from` and `to` attributes will show the start and end of the period, nicely formatted.
The `/dev-template` page of your home-assistant UI can help you check if the values for `start`, `end` or `duration` are correct. If you want to check if your period is right, just click on your component, the `from` and `to` attributes will show the start and end of the period, nicely formatted.
</p>

View file

@ -45,7 +45,7 @@ Some example automations:
trigger:
platform: state
entity_id: sensor.modem_callerid
state: "callerid"
to: "callerid"
action:
service: notify.notify
data:
@ -54,7 +54,7 @@ Some example automations:
trigger:
platform: state
entity_id: sensor.modem_callerid
state: "callerid"
to: "callerid"
action:
service: persistent_notification.create
data:
@ -64,7 +64,7 @@ Some example automations:
trigger:
platform: state
entity_id: sensor.modem_callerid
state: "callerid"
to: "callerid"
action:
service: tts.google_say
data_template:

View file

@ -2,7 +2,7 @@
layout: page
title: "Sense HAT"
description: "Instructions how to integrate Sense HAT within Home Assistant."
date: 2016-12-05 07:00
date: 2017-06-03 04:00
sidebar: true
comments: false
sharing: true
@ -124,18 +124,18 @@ As all of the following steps should be under the `pi` user environment.
###### Install _RTIMU_
```bash
# Install RTIMU to pi user environment
# pi user environment: Install RTIMU
pip3 install rtimulib
# Add symlink to RTIMU in _homeassistant_venv_
# Create a symlink using the following command:
ln -s /usr/lib/python3/dist-packages/RTIMU.cpython-34m-arm-linux-gnueabihf.so /srv/homeassistant/homeassistant_venv/lib/python3.4/
# Add _homeassistant_ user to the _input_ and the _i2c_ groups
# pi user environment: Add _homeassistant_ user to the _input_, _video_ and the _i2c_ groups
sudo addgroup homeassistant input
sudo addgroup homeassistant i2c
sudo addgroup homeassistant video
# Reboot Raspberry Pi to apply changes
# HA environment: Add symlink to RTIMU
ln -s /usr/lib/python3/dist-packages/RTIMU.cpython-35m-arm-linux-gnueabihf.so /srv/homeassistant/lib/python3.5/site-packages/
# pi user environment: Reboot Raspberry Pi to apply changes
sudo reboot
```

View file

@ -15,13 +15,15 @@ ha_iot_class: "Local Polling"
The `waqi` sensor platform will query [World Air Quality Index](http://aqicn.org) service to check AQI value for a specific set of locations. The resulting indexes will be added to the Home Assistant as sensor outputs.
This sensor requires an API token. Please obtain one at [AQICN API token](http://aqicn.org/data-platform/token/#/).
To enable this sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: waqi
token: AQICN_API_TOKEN
token: AQICN_API_TOKEN
locations:
- beijing
stations:
@ -30,11 +32,9 @@ sensor:
Configuration variables:
- **locations** (*Required*): a list of location names to look for air quality data. In case a specific location has multiple registered stations all of them will be added to Home Assistant
- **token** (*Required*): a token for the AQICN public API. Please obtain one at [AQICN API token](http://aqicn.org/data-platform/token/#/)
- **stations** (*Optional*): a list of station names to look for air quality data. Station should be within locations specified above.
- **locations** (*Required*): A list of location names to look for air quality data. In case a specific location has multiple registered stations all of them will be added to Home Assistant.
- **token** (*Required*): The token for the AQICN public API.
- **stations** (*Optional*): A list of station names to look for air quality data. Station should be within locations specified above.
The value reported is an overall AQ index for the location. The values of the index can be interpreted as following:

View file

@ -19,107 +19,93 @@ To enable it, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
switch:
platform: broadlink
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
switches:
reciever:
command_on: 'switch_packet on'
command_off: 'switch_packet off'
- platform: broadlink
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
switches:
reciever:
command_on: 'switch_packet on'
command_off: 'switch_packet off'
```
Configuration variables:
- **host** (*Required*): The hostname/IP address to connect to.
- **mac** (*Required*): Device mac address.
- **timeout** (*Optional*): Timeout in seconds for the connection to the device
- **mac** (*Required*): Device MAC address.
- **timeout** (*Optional*): Timeout in seconds for the connection to the device.
- **friendly_name** (*Optional*): The name used to display the switch in the frontend.
- **type** (*Optional*): Switch type. (rm, rm2, rm_mini, rm_pro_phicomm, rm2_home_plus, rm2_home_plus_gdt, rm2_pro_plus, rm2_pro_plus2, rm2_pro_plus_bl, rm_mini_shate, sp1, sp2, honeywell_sp2, sp3, spmini2 or spminiplus)
- **type** (*Optional*): Switch type. Choose one from: `rm`, `rm2`, `rm_mini`, `rm_pro_phicomm`, `rm2_home_plus`, `rm2_home_plus_gdt`, `rm2_pro_plus`, `rm2_pro_plus2`, `rm2_pro_plus_bl`, `rm_mini_shate`, `sp1`, `sp2`, `honeywell_sp2`, `sp3`, `spmini2` or `spminiplus`.
- **switches** (*Optional*): The array that contains all switches.
- **identifier** (*Required*): Name of the command switch as slug. Multiple entries are possible.
- **friendly_name** (*Optional*): The name used to display the switch in the frontend.
- **command_on** (*Required*): Base64 encoded packet from RM device to take for on.
- **command_off** (*Required*): Base64 encoded packet from RM device to take for off.
Information about how to install on Windows can be found [here](https://home-assistant.io/components/sensor.broadlink/#microsoft-windows-installation)
### {% linkable_title How to obtain IR/RF packets? %}
Choose Call Service from the Developer Tools. Choose the service broadlink/learn_command from the list of Available services: and hit CALL SERVICE. Press the button on your remote with in 20 seconds. The packet will be printed in the log and as a persistent notification.
Choose Call Service from the Developer Tools. Choose the service broadlink/learn_command from the list of **Available services:** and hit **CALL SERVICE**. Press the button on your remote with in 20 seconds. The packet will be printed as a persistent notification in the States page of the web interface.
Example config for rm, rm2, rm_mini, rm_pro_phicomm, rm2_home_plus, rm2_home_plus_gdt, rm2_pro_plus, rm2_pro_plus2, rm2_pro_plus_bl and rm_mini_shate devices:
Example config for `rm`, `rm2`, `rm_mini`, `rm_pro_phicomm`, `rm2_home_plus`, `rm2_home_plus_gdt`, `rm2_pro_plus`, `rm2_pro_plus2`, `rm2_pro_plus_bl` and `rm_mini_shate` devices:
```yaml
switch 2:
platform: broadlink
host: 192.168.1.2
mac: 'B4:43:0D:CC:0F:58'
timeout: 15
switches:
# Will work on most Phillips tvs:
tv_phillips:
friendly_name: "Phillips Tv Power"
command_on: 'JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA='
command_off: 'JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA='
# Will work on most LG tvs
tv_lg:
friendly_name: "LG Tv Power"
command_on: 'JgBYAAABIJISExETETcSEhISEhQQFBETETcROBESEjcRNhM1EjcTNRMTERISNxEUERMSExE2EjYSNhM2EhIROBE3ETcREhITEgAFGwABH0oSAAwzAAEfShEADQU='
command_off: 'JgBYAAABIJISExETETcSEhISEhQQFBETETcROBESEjcRNhM1EjcTNRMTERISNxEUERMSExE2EjYSNhM2EhIROBE3ETcREhITEgAFGwABH0oSAAwzAAEfShEADQU='
tv_lg_hdmi1_hdmi2:
friendly_name: "LG Tv HDMI12"
command_on: 'JgBIAAABIZMRExITEjYSExMRERURExEUEDkRNxEUEjYSNhM3ETcSNxITETgSNhI2ExMQExE4ETYSNxIUERMSExE4ETcRFBETEQANBQ=='
command_off: 'JgBQAAABJJMSEhISETgSEhITEBMSEhMSETcSNxMREjcSNxI3EjcSOBETERITNhM2EhITERM2EzcRNxI3ExISEhI3EjcRExETEgAFLQABJEoRAA0FAAAAAAAAAAA='
tv_lg_hdmi3:
friendly_name: "LG Tv HDMI3"
command_on: 'JgBIAAABIZMSFBISETgRExEUERQQFBETEjcTNhMSETgRNxE3EjcROBM2ERMSFBE4ERMSNxM2EjUSFBE2ETgRExM2ExITEhATEwANBQ=='
tv_lg_av1_av2:
friendly_name: "LG Tv AV12"
command_on: 'JgBIAAABIpQPFBITETgSEw8UEhQSEhEVDzgSOBAUETgQOQ84EjgRNxITETgSExA5EDgREhI3EhMROBMSEDkQFBETEjYTEhE4EQANBQ=='
command_off: 'JgBIAAABH5YPFBETETgUERAUEBURFBATETgROBEUETcSNxE4ETcSOBISEBUQFREUEjUSFBA5ETcRNxE4ETkQOBAUEjcRFRAUEQANBQ=='
switch 2:
platform: broadlink
host: 192.168.1.2
mac: 'B4:43:0D:CC:0F:58'
timeout: 15
switches:
# Will work on most Phillips tvs:
tv:
friendly_name: "Phillips Tv"
command_on: 'JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA='
command_off: 'JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA='
switch:
- platform: broadlink
host: 192.168.1.2
mac: 'B4:43:0D:CC:0F:58'
timeout: 15
switches:
# Will work on most Phillips TVs:
tv_phillips:
friendly_name: "Phillips Tv Power"
command_on: 'JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA='
command_off: 'JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA='
# Will work on most LG TVs
tv_lg:
friendly_name: "LG Tv Power"
command_on: 'JgBYAAABIJISExETETcSEhISEhQQFBETETcROBESEjcRNhM1EjcTNRMTERISNxEUERMSExE2EjYSNhM2EhIROBE3ETcREhITEgAFGwABH0oSAAwzAAEfShEADQU='
command_off: 'JgBYAAABIJISExETETcSEhISEhQQFBETETcROBESEjcRNhM1EjcTNRMTERISNxEUERMSExE2EjYSNhM2EhIROBE3ETcREhITEgAFGwABH0oSAAwzAAEfShEADQU='
tv_lg_hdmi1_hdmi2:
friendly_name: "LG Tv HDMI12"
command_on: 'JgBIAAABIZMRExITEjYSExMRERURExEUEDkRNxEUEjYSNhM3ETcSNxITETgSNhI2ExMQExE4ETYSNxIUERMSExE4ETcRFBETEQANBQ=='
command_off: 'JgBQAAABJJMSEhISETgSEhITEBMSEhMSETcSNxMREjcSNxI3EjcSOBETERITNhM2EhITERM2EzcRNxI3ExISEhI3EjcRExETEgAFLQABJEoRAA0FAAAAAAAAAAA='
tv_lg_hdmi3:
friendly_name: "LG Tv HDMI3"
command_on: 'JgBIAAABIZMSFBISETgRExEUERQQFBETEjcTNhMSETgRNxE3EjcROBM2ERMSFBE4ERMSNxM2EjUSFBE2ETgRExM2ExITEhATEwANBQ=='
tv_lg_av1_av2:
friendly_name: "LG Tv AV12"
command_on: 'JgBIAAABIpQPFBITETgSEw8UEhQSEhEVDzgSOBAUETgQOQ84EjgRNxITETgSExA5EDgREhI3EhMROBMSEDkQFBETEjYTEhE4EQANBQ=='
command_off: 'JgBIAAABH5YPFBETETgUERAUEBURFBATETgROBEUETcSNxE4ETcSOBISEBUQFREUEjUSFBA5ETcRNxE4ETkQOBAUEjcRFRAUEQANBQ=='
- platform: broadlink
host: 192.168.1.2
mac: 'B4:43:0D:CC:0F:58'
timeout: 15
switches:
# Will work on most Phillips TVs:
tv:
friendly_name: "Phillips Tv"
command_on: 'JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA='
command_off: 'JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA='
```
Example config for sp1, sp2, honeywell_sp2, sp3, spmini2 and spminiplus devices:
Example config for `sp1`, `sp2`, `honeywell_sp2`, `sp3`, `spmini2` and `spminiplus` devices:
```yaml
switch 1:
platform: broadlink
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
type: sp1
friendly_name: 'Humidifier'
switch 2:
platform: broadlink
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
type: sp2
friendly_name: 'Humidifier'
switch:
- platform: broadlink
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
type: sp1
friendly_name: 'Humidifier'
- platform: broadlink
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
type: sp2
friendly_name: 'Humidifier'
```
### {% linkable_title Service `send_packet` %}
You can use the service broadlink/send_packet to directly send IR packets without the need to assign a switch entity for each command.
@ -141,12 +127,11 @@ script:
- "JgBGAJSTFDUUNhM2ExITEhMSExITEhM2EzYTNhQRFBEUERQRFBEUNRQ2ExITNhMSExITNhMSExITEhM2ExITNhQ1FBEUNhMADQUAAA=="
```
### {% linkable_title Using E-Control Remotes %}
If you already have your remotes learned on E-Control app you can use this method to "copy" trem to HA.
If you already have your remotes learned on E-Control app you can use this method to "copy" them to Home Assistant.
First get or learn all the remotes you want to add on HA in E-Control
First get or learn all the remotes you want to add to Home Assistant in E-Control
1. Download
@ -158,7 +143,7 @@ First get or learn all the remotes you want to add on HA in E-Control
3. Get data from your Android device
Connect your Android device to your computer and browse the SD card / External Storage folder "/broadlink/newremote/SharedData/". You need to get the following files and put them in the same folder as this script.:
Connect your Android device to your computer and browse the SD card/External Storage folder "/broadlink/newremote/SharedData/". You need to get the following files and put them in the same folder as this script:
jsonSubIr
jsonButton
@ -179,11 +164,11 @@ First get or learn all the remotes you want to add on HA in E-Control
3. `sudo python setup.py install`
7. Test the codes
Use the `sendcode` script you have already downloded to test the codes you got from the device
You need to edit the script with your RM Pro IP Address and MAC Address and with the code in hex format.
When run the script, you know the code works when get message
Use the `sendcode` script you have already downloded to test the codes you got from the device.
You need to edit the script with your RM Pro IP Address and MAC Address and with the code in HEX format.
When run the script, you know the code works when get message .
Code sent...
Not every code works.
8. Convert the hex codes to base64
8. Convert the HEX codes to base64
Use [this](http://tomeko.net/online_tools/hex_to_base64.php?lang=en1) tool to convert the hex codes to base64 for use with Home Assistant.

View file

@ -18,7 +18,7 @@ The component will update your lights based on the the time of day. It will only
During the day (in between `start time` and `sunset time`), it will fade the lights from the `start_colortemp` to the `sunset_colortemp`. After sunset (between `sunset_time` and `stop_time`), the lights will fade from the the `sunset_colortemp` to the `stop_colortemp`. If the lights are still on after the `stop_time` it will continue to change the light to the `stop_colortemp` until the light is turned off. The fade effect is created by updating the lights every 30 seconds with a 30 second transition time.
If you don't wish to have flux update on 30 second intervals, you can leave the switch turned off and use automation rules that call the service `switch.flux_update` whenever you want the lights updated.
If you don't wish to have flux update on 30 second intervals, you can leave the switch turned off and use automation rules that call the service `switch.<name>_update` whenever you want the lights updated, where `<name>` equals the `name:` property in the switch configuration.
To use the Flux switch in your installation, add the following to your `configuration.yaml` file:

View file

@ -33,7 +33,7 @@ switch:
Configuration variables:
- **access_token** (*Required3): Your Rachio API Access Token.
- **access_token** (*Required): Your Rachio API Access Token.
- **manual_run_mins** (*Optional*): For how long, in minutes, to turn on a station when the switch is enabled. Defaults to 10 minutes.
## {% linkable_title Examples %}

View file

@ -32,7 +32,7 @@ Send a notification.
| `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. |
| `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. |
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with asociated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
#### {% linkable_title Service `telegram_bot/send_photo` %}
Send a photo.
@ -44,10 +44,11 @@ Send a photo.
| `caption` | yes | The title of the image. |
| `username` | yes | Username for a URL which require HTTP basic authentication. |
| `password` | yes | Password for a URL which require HTTP basic authentication. |
| `authentication` | yes | Define which authentication method to use. Set to `digest` to use HTTP digest authentication. Defaults to `basic`. |
| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. |
| `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. |
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with asociated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
#### {% linkable_title Service `telegram_bot/send_document` %}
Send a document.
@ -59,10 +60,11 @@ Send a document.
| `caption` | yes | The title of the document. |
| `username` | yes | Username for a URL which require HTTP basic authentication. |
| `password` | yes | Password for a URL which require HTTP basic authentication. |
| `authentication` | yes | Define which authentication method to use. Set to `digest` to use HTTP digest authentication. Defaults to `basic`. |
| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. |
| `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. |
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with asociated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
#### {% linkable_title Service `telegram_bot/send_location` %}
Send a location.
@ -74,7 +76,7 @@ Send a location.
| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. |
| `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. |
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with asociated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
#### {% linkable_title Service `telegram_bot/edit_message` %}
Edit a previusly sent message in a conversation.
@ -87,7 +89,7 @@ Edit a previusly sent message in a conversation.
| `title` | yes | Optional title for your notification. Will be composed as '%title\n%message'. |
| `parse_mode` | yes | Parser for the message text: `html` or `markdown`. |
| `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with asociated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
#### {% linkable_title Service `telegram_bot/edit_caption` %}
Edit the caption of a previusly sent message.
@ -98,7 +100,7 @@ Edit the caption of a previusly sent message.
| `chat_id` | no | The chat_id where to edit the caption. |
| `caption` | no | Message body of the notification. |
| `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with asociated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
#### {% linkable_title Service `telegram_bot/edit_replymarkup` %}
Edit the inline keyboard of a previusly sent message.
@ -108,7 +110,7 @@ Edit the inline keyboard of a previusly sent message.
| `message_id` | no | Id of the message to edit. When answering a callback from a pressed button, the id of the origin message is in: `{{ trigger.event.data.message.message_id }}`. |
| `chat_id` | no | The chat_id where to edit the reply_markup. |
| `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with asociated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
#### {% linkable_title Service `telegram_bot/answer_callback_query` %}
Respond to a callback query originated by clicking on an online keyboard button. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert.