diff --git a/_config.yml b/_config.yml index 6de62f081e9..c6dbb537997 100644 --- a/_config.yml +++ b/_config.yml @@ -140,13 +140,13 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 45 +current_minor_version: 46 current_patch_version: 1 -date_released: 2017-05-22 +date_released: 2017-06-09 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. # Major release: -patch_version_notes: "#release-0451---may-22" +patch_version_notes: "#release-0461---june-9" # Minor release (Example #release-0431---april-25): -#patch_version_notes: "#release-0451---may-X" + diff --git a/source/_addons/bluetooth_bcm43xx.markdonw b/source/_addons/bluetooth_bcm43xx.markdonw new file mode 100644 index 00000000000..86fdf43922d --- /dev/null +++ b/source/_addons/bluetooth_bcm43xx.markdonw @@ -0,0 +1,12 @@ +--- +layout: page +title: "Bluetooth BCM43xx" +description: "Activate bluetooth for bcm43xx" +date: 2017-04-30 13:28 +sidebar: true +comments: false +sharing: true +footer: true +--- + +Start Bluetooth for BCM43xx chipset on startup. Like Raspberry Pi3 diff --git a/source/_components/alarm_control_panel.manual.markdown b/source/_components/alarm_control_panel.manual.markdown index e500f2603ec..b30ceb63a2c 100644 --- a/source/_components/alarm_control_panel.manual.markdown +++ b/source/_components/alarm_control_panel.manual.markdown @@ -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 diff --git a/source/_components/axis.markdown b/source/_components/axis.markdown index 6e9ad277ae7..5e0fe5819b5 100644 --- a/source/_components/axis.markdown +++ b/source/_components/axis.markdown @@ -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 -
Any specific levels for triggers needs to be configured on the device.
diff --git a/source/_components/blink.markdown b/source/_components/blink.markdown index 086bb9a1799..e14d68d0d55 100644 --- a/source/_components/blink.markdown +++ b/source/_components/blink.markdown @@ -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 -
+In order to apply attributes to an entity you will need to add `data:` to the configuration. See example below +
+ +```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. diff --git a/source/_components/media_player.frontier_silicon.markdown b/source/_components/media_player.frontier_silicon.markdown index 6507bd0ad82..3300f8dffd1 100644 --- a/source/_components/media_player.frontier_silicon.markdown +++ b/source/_components/media_player.frontier_silicon.markdown @@ -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: diff --git a/source/_components/media_player.markdown b/source/_components/media_player.markdown index d69b770fa69..e0a5fc8ff94 100644 --- a/source/_components/media_player.markdown +++ b/source/_components/media_player.markdown @@ -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` %} diff --git a/source/_components/notify.telegram.markdown b/source/_components/notify.telegram.markdown index 7dde8c1dca1..aa49ca3d955 100644 --- a/source/_components/notify.telegram.markdown +++ b/source/_components/notify.telegram.markdown @@ -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. diff --git a/source/_components/notify.webostv.markdown b/source/_components/notify.webostv.markdown index 8bfdc9cd640..408c31eef02 100644 --- a/source/_components/notify.webostv.markdown +++ b/source/_components/notify.webostv.markdown @@ -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: diff --git a/source/_components/remote.itach.markdown b/source/_components/remote.itach.markdown index bd6862fdded..cdfd5eff7c5 100755 --- a/source/_components/remote.itach.markdown +++ b/source/_components/remote.itach.markdown @@ -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) diff --git a/source/_components/sensor.history_stats.markdown b/source/_components/sensor.history_stats.markdown index 75f7a469f34..d1fa2cfa1dc 100644 --- a/source/_components/sensor.history_stats.markdown +++ b/source/_components/sensor.history_stats.markdown @@ -147,6 +147,5 @@ Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekd ```- 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.
diff --git a/source/_components/sensor.modem_callerid.markdown b/source/_components/sensor.modem_callerid.markdown index 3226f51990d..1c17c3f4742 100644 --- a/source/_components/sensor.modem_callerid.markdown +++ b/source/_components/sensor.modem_callerid.markdown @@ -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: diff --git a/source/_components/sensor.sensehat.markdown b/source/_components/sensor.sensehat.markdown index 03a4a95a6d0..f2b28881bad 100644 --- a/source/_components/sensor.sensehat.markdown +++ b/source/_components/sensor.sensehat.markdown @@ -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 ``` diff --git a/source/_components/sensor.waqi.markdown b/source/_components/sensor.waqi.markdown index 2e6de105df7..30ac8d193a3 100644 --- a/source/_components/sensor.waqi.markdown +++ b/source/_components/sensor.waqi.markdown @@ -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: diff --git a/source/_components/switch.broadlink.markdown b/source/_components/switch.broadlink.markdown index 4a56445d2b3..e04f7d7d7ca 100644 --- a/source/_components/switch.broadlink.markdown +++ b/source/_components/switch.broadlink.markdown @@ -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. diff --git a/source/_components/switch.flux.markdown b/source/_components/switch.flux.markdown index e90b4b59f97..a48b0367b13 100644 --- a/source/_components/switch.flux.markdown +++ b/source/_components/switch.flux.markdown @@ -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.+Be carefull not to forget to place `customize`, `customize_domain`, and `customize_glob` inside `homeassistant:` or it will fail. +
+ ```yaml homeassistant: name: Home diff --git a/source/_docs/ecosystem/apache.markdown b/source/_docs/ecosystem/apache.markdown index 31747c477a2..9e5806fe59d 100644 --- a/source/_docs/ecosystem/apache.markdown +++ b/source/_docs/ecosystem/apache.markdown @@ -22,7 +22,7 @@ This is useful if you want to have: So you already have a working Apache server available at example.org. Your Home Assistant is correctly working on this web server and available at http://localhost:8123 -Enable [`mod_proxy_wstunnel`](https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.htm) by running if you encounter issues while serving Home Assistant through your proxy: +Enable [`mod_proxy_wstunnel`](https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html) by running if you encounter issues while serving Home Assistant through your proxy: ```bash $ sudo a2enmod proxy_wstunnel diff --git a/source/_docs/hassbian/common-tasks.markdown b/source/_docs/hassbian/common-tasks.markdown index 4b97ac1fd91..262770e8d20 100644 --- a/source/_docs/hassbian/common-tasks.markdown +++ b/source/_docs/hassbian/common-tasks.markdown @@ -84,7 +84,7 @@ Log in as the `pi` account and execute the following commands: ```bash $ sudo su -s /bin/bash homeassistant $ cd /home/homeassistant/.homeassistant -$ nano homeassistant.log +$ nano home-assistant.log ``` This will in order do the following: diff --git a/source/_docs/installation/raspberry-pi-all-in-one.markdown b/source/_docs/installation/raspberry-pi-all-in-one.markdown index 97da2ba5a98..bff307a8b50 100644 --- a/source/_docs/installation/raspberry-pi-all-in-one.markdown +++ b/source/_docs/installation/raspberry-pi-all-in-one.markdown @@ -19,14 +19,15 @@ Note that as of 2016-11-30 SSH is disabled by default in the official Raspbian i Irrespective of whether you use SSH to connect to the Pi from another computer or not, you need SSH to install Home Assistant. So go ahead and enable SSH. * Login to Raspberry Pi. For example with `ssh pi@your_raspberry_pi_ip` -* Run the following command +* Run the following command: + ++ This command is a one-liner and not run as sudo. +
```bash $ curl -O https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && sudo chown pi:pi hass_rpi_installer.sh && bash hass_rpi_installer.sh ``` -- Note this command is one-line and not run as sudo. -
Installation will take approx. 1-2 hours depending on the Raspberry Pi model the installer is being run against. The installer will identitfy what Raspberry Pi hardware revision you are using and adjust commands accordingly. A complete log of the install is located at: `/home/pi/fabric-home-assistant/installation_report.txt` The installer has been updated to simply log any errors encountered, but resume installing. Please consult the "installation report" if your install encountered issues. diff --git a/source/_docs/scripts/conditions.markdown b/source/_docs/scripts/conditions.markdown index ac33901d7ee..5763106da34 100644 --- a/source/_docs/scripts/conditions.markdown +++ b/source/_docs/scripts/conditions.markdown @@ -68,9 +68,9 @@ condition: ### {% linkable_title Numeric state condition %} -This type of condition attempts to parse the state of specified entity as a number and triggers if the value matches all of the above or below thresholds. +This type of condition attempts to parse the state of specified entity as a number and triggers if the value matches the thresholds. -For above, the condition passes if `value >= above`. For below, the condition passes if `value <= below`. If both `below` and `above` are specified, both tests have to pass. +If both `below` and `above` are specified, both tests have to pass. You can optionally use a `value_template` to process the value of the state before testing it. diff --git a/source/_includes/asides/developers_navigation.html b/source/_includes/asides/developers_navigation.html index 1f7c6f02f23..7a595c2da4d 100644 --- a/source/_includes/asides/developers_navigation.html +++ b/source/_includes/asides/developers_navigation.html @@ -83,7 +83,6 @@
diff --git a/source/developers/python_api.markdown b/source/developers/python_api.markdown
index 8b7c74e0329..727e94f071e 100644
--- a/source/developers/python_api.markdown
+++ b/source/developers/python_api.markdown
@@ -9,9 +9,11 @@ sharing: true
footer: true
---
-In the package [`homeassistant.remote`](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/remote.py) a Python API on top of the [HTTP API](/developers/api/) can be found.
+See the [developer documentation][devdocs] for a full overview of the documentation. The rest of this page will contain examples on how to use it.
-Note: This page is not full documentation for this API, but a collection of examples showing its use.
+[devdocs]: https://dev-docs.home-assistant.io/en/master/api/homeassistant.html#module-homeassistant.remote
+
+In the package [`homeassistant.remote`](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/remote.py) a Python API on top of the [HTTP API](/developers/api/) can be found.
A simple way to get all current entities is to visit the "Set State" page in the "Developer Tools". For the examples below just choose one from the available entries. Here the sensor `sensor.office_temperature` and the switch `switch.livingroom_pin_2` are used.
@@ -24,17 +26,6 @@ api = remote.API('127.0.0.1', 'password')
print(remote.validate_api(api))
```
-Here's another way to use the `homeassistant.remote` package:
-
-```python
-import homeassistant.remote as remote
-
-api = remote.API('127.0.0.1', 'password')
-hass = remote.HomeAssistant(api)
-hass.start()
-living_room = hass.states.get('group.living_room')
-```
-
### {% linkable_title Get configuration %}
Get the current configuration of a Home Assistant instance:
@@ -81,7 +72,7 @@ import homeassistant.remote as remote
api = remote.API('127.0.0.1', 'YOUR_PASSWORD')
office_temperature = remote.get_state(api, 'sensor.office_temperature')
-print('{} is {} {}.'.format(office_temperature.attributes['friendly_name'],
+print('{} is {} {}.'.format(office_temperature.name,
office_temperature.state,
office_temperature.attributes['unit_of_measurement']
)
@@ -101,7 +92,7 @@ import homeassistant.remote as remote
api = remote.API('127.0.0.1', 'YOUR_PASSWORD')
switch_livingroom = remote.get_state(api, 'switch.livingroom_pin_2')
-print('{} is {}.'.format(switch_livingroom.attributes['friendly_name'],
+print('{} is {}.'.format(switch_livingroom.name,
switch_livingroom.state
)
)
@@ -193,5 +184,3 @@ data = {"title":"Test", "message":"A simple test message from HA."}
remote.call_service(api, domain, 'jabber', data)
```
-
-For more details, please check the source of [homeassistant.remote](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/remote.py).
diff --git a/source/hassio/addon_config.markdown b/source/hassio/addon_config.markdown
index 76a2df6470d..382bf4be477 100644
--- a/source/hassio/addon_config.markdown
+++ b/source/hassio/addon_config.markdown
@@ -91,7 +91,8 @@ The config for an add-on is stored in `config.json`.
| boot | yes | `auto` by system and manual or only `manual`
| ports | no | Network ports to expose from the container. Format is `"container-port/type": host-port`.
| host_network | no | If that is True, the add-on run on host network.
-| devices | no | Device list to map into add-on. Format is: `