diff --git a/_config.yml b/_config.yml index 413de4a3ab4..f05fc66aca5 100644 --- a/_config.yml +++ b/_config.yml @@ -139,12 +139,12 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 60 -current_patch_version: 1 -date_released: 2018-01-06 +current_minor_version: 61 +current_patch_version: 0 +date_released: 2018-01-14 # 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-0601---january-6" +patch_version_notes: "#" # Minor release (Example #release-0431---april-25): diff --git a/source/_components/alarm_control_panel.alarmdecoder.markdown b/source/_components/alarm_control_panel.alarmdecoder.markdown index fec4f0cb3fd..991bdeb7724 100644 --- a/source/_components/alarm_control_panel.alarmdecoder.markdown +++ b/source/_components/alarm_control_panel.alarmdecoder.markdown @@ -18,3 +18,58 @@ The `alarmdecoder` alarm control panel platform allows you to control your [Alar The requirement is that you have setup your [AlarmDecoder hub](/components/alarmdecoder/). +### {% linkable_title Services %} + +The Alarm Decoder component gives you access to several services for you to control your alarm with. + +- `alarm_arm_away`: Arms the alarm in away mode; all faults will trigger the alarm. +- `alarm_arm_home`: Arms the alarm in stay mode; faults to the doors or windows will trigger the alarm. +- `alarm_arm_night`: Arms the alarm in instant mode; all faults will trigger the alarm. Additionally, the entry delay is turned off on the doors. +- `alarm_disarm`: Disarms the alarm from any state. Also clears a `check_zone` flag after an alarm was triggered. +- `alarmdecoder_alarm_toggle_chime`: Toggles the alarm's chime state. + +**Note**: `alarm_arm_custom_bypass` and `alarm_trigger`, while available in the services list in Home Assistant, are not currently implemented in the Alarm Decoder component. + +### {% linkable_title Attributes %} + +There are several attributes available on the alarm panel to give you more information about your alarm. + +- `ac_power`: Set to `true` if your system has AC power supplying it. +- `backlight_on`: Set to `true` if your keypad's backlight is on. +- `battery_low`: Set to `true` if your system's back-up battery is low. +- `check_zone`: Set to `true` if your system was recently triggered. When `check_zone` is `true`, it must be cleared by entering your code + 1 before attempting to rearm your alarm. +- `chime`: Set to `true` if your system's chime is activated. When activated, your system will beep anytime a door or window is faulted while the alarm is disarmed. +- `entry_delay_off`: Set to `true` if your system is in "Instant" mode, meaning the alarm will sound on any faults. +- `programming_mode`: Set to `true` if your system is in programming mode. +- `ready`: Set to `true` if your system is ready to be armed. Any faults, including motions sensors, will make this value `false`. +- `zone_bypassed`: Set to `true` if your system is currently bypassing a zone. + +### {% linkable_title Examples %} + +Using a combination of the available services and attributes, you can create switch templates. + +#### {% linkable_title Chime Status and Control %} + +{% raw %} +```yaml +- platform: template + switches: + alarm_chime: + friendly_name: Chime + value_template: "{{ is_state_attr('alarm_control_panel.alarm_panel', 'chime', true) }}" + turn_on: + service: alarm_control_panel.alarmdecoder_alarm_toggle_chime + data: + code: !secret alarm_code + turn_off: + service: alarm_control_panel.alarmdecoder_alarm_toggle_chime + data: + code: !secret alarm_code + icon_template: >- + {% if is_state_attr('alarm_control_panel.alarm_panel', 'chime', true) %} + mdi:bell-ring + {% else %} + mdi:bell-off + {% endif %} +``` +{% endraw %} diff --git a/source/_components/alarm_control_panel.egardia.markdown b/source/_components/alarm_control_panel.egardia.markdown index 04bc5bf8819..20c555587e4 100644 --- a/source/_components/alarm_control_panel.egardia.markdown +++ b/source/_components/alarm_control_panel.egardia.markdown @@ -12,11 +12,11 @@ ha_release: 0.51 ha_category: Alarm --- -The `egardia` platform enables the ability to control an [Egardia](http://egardia.com/)/Woonveilig control panel. These alarm panels are known under different brand names across the world, including Woonveilig in the Netherlands. This was tested on a Gate01 version of the Egardia/Woonveilig platform. +The `egardia` platform enables the ability to control an [Egardia](http://egardia.com/)/[Woonveilig](http://woonveilig.nl) control panel. These alarm panels are known under different brand names across the world, including Woonveilig in the Netherlands. This was tested on the GATE-01, GATE-02 and GATE-03 versions of the Egardia/Woonveilig platform. You will need to know the IP of your alarm panel on your local network. Test if you can login to the panel by browsing to the IP address and log in using your Egardia/Woonveilig account. -To enable this, add the following lines to your `configuration.yaml` file: +To enable the integration with your alarm panel, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -32,17 +32,18 @@ Configuration variables: - **host** (*Required*): The local IP address of the Egardia/Woonveilig alarm panel. - **username** (*Required*): Username for the Egardia/Woonveilig account. - **password** (*Required*): Password for Egardia/Woonveilig account. +- **version** (*Optional*): The version of the Egardia system. `GATE-01`, `GATE-02` and `GATE-03` are currently supported. Defaults to `GATE-01`. - **port** (*Optional*): The port of the alarm panel. Defaults to 80. - **name** (*Optional*): Name to use for the alarm panel. Defaults to `Egardia`. - **report_server_enabled** (*Optional*): Enable reporting by server. Defaults to `False`. -- **report_server_port** (*Optional*): Port of the Egardia server. Defaults to 85. +- **report_server_port** (*Optional*): Port of the Egardia server. Defaults to 52010. - **report_server_codes** list (*Optional*): List of codes for the different states. Note that this basic configuration will only enable you to read the armed/armed away/disarmed status of your alarm and will **not** update the status if the alarm is triggered. This is because of how Egardia built their system. The alarm triggers normally go through their servers. You can change this, however, using the following procedure. This is a more advanced configuration. 1. Log in into your alarm system's control panel. You will need to access http://[IP of your control panel]. You know this already since you need it in the basic configuration from above. Log in to the control panel with your Egardia/Woonveilig username and password. -2. Once logged in, go to *System Settings*, *Report* and change the Server Address for your primary server to the IP or hostname of your Home Assistant machine. Also, update the port number 85 or to anything you like. The provided software that you will set up in the next steps runs on port 85 by default. **Make sure to change the settings of the primary server otherwise the messages will not come through. Note that this will limit (or fully stop) the number of alarm messages you will get through Egardia's / Woonveilig services.** Maybe, that is just what you want. Make sure to save your settings by selecting 'OK'. +2. Once logged in, go to *System Settings*, *Report* and change the Server Address for your primary server to the IP or hostname of your Home Assistant machine. You can leave the port number set to 52010 or change it to anything you like. **Make sure to change the settings of the primary server otherwise the messages will not come through. Note that this will limit (or fully stop) the number of alarm messages you will get through Egardia's / Woonveilig services.** Maybe, that is just what you want. Make sure to save your settings by selecting 'OK'. 3. On your Home Assistant machine run `$ sudo python3 egardiaserver.py`. Refer to the [python-egardia repository](https://github.com/jeroenterheerdt/python-egardia) for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. You will need the codes to include in your configuration.yaml. Make sure to change the status of your alarm to all states (disarm, arm, home) by all means possible (all users, remotes, web login, app) as well as trigger the alarm in all ways possible to get 100% coverage. **Before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).** 4. Once you have the codes, update your `configuration.yaml`: ```yaml @@ -53,7 +54,7 @@ alarm_control_panel: username: YOUR_USERNAME password: YOUR_PASSWORD report_server_enabled: True - report_server_port: PORT_OF_EGARDIASERVER (85 as per the instructions above) + report_server_port: PORT_OF_EGARDIASERVER (optional, defaults to 52010) report_server_codes: arm: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX disarm: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX @@ -62,29 +63,6 @@ alarm_control_panel: ignore: XXXXXXXXXXXXXXXX ``` -Note that for triggered, arm and disarm multiple codes can be entered since each sensor triggers with a different code and each user of the system has its own arm and disarm codes. Also note that your system will do regular system checks which will be reported as well. Since Home Assistant provides no way of handling them properly, you can enter those codes as ignore (again, multiple codes can be used here). The egardia component will ignore these codes and continue returning the old status if it receives any of the codes that are listed as ignore. This is useful for example when you have armed your alarm at night: normally a system check will occur at least once during the night and if that code is not specified anywhere Home Assistant will set the status of the alarm to its default, which is unarmed. This is in fact wrong. Listing the code as ignore changes this behavior and Home Assistant will continue to show the status the alarm is in (disarm, arm, home, triggered) even when system checks occur. +Note that for *triggered*, *arm* and *disarm* multiple codes can be entered since each sensor triggers with a different code and each user of the system has its own arm and disarm codes. Also note that your system will do regular system checks which will be reported as well. Since Home Assistant provides no way of handling them properly, you can enter those codes as *ignore* (again, multiple codes can be used here). The egardia component will ignore these codes and continue returning the old status if it receives any of the codes that are listed as ignore. This is useful for example when you have armed your alarm at night: normally a system check will occur at least once during the night and if that code is not specified anywhere Home Assistant will set the status of the alarm to its default, which is unarmed. This is in fact wrong. Listing the code as ignore changes this behavior and Home Assistant will continue to show the status the alarm is in (disarm, arm, home, triggered) even when system checks occur. -5. Start the `egardiaserver.py` script on boot of your Home Assistant machine, for example by using `systemctl` by `systemd`. To use this method, create a shell script named `egardiaserver.sh` that contains something like the following: - -```bash -$ source /srv/homeassistant/bin/activate -$ python3 /srv/homeassistant/lib/python3.5/site-packages/pythonegardia/egardiaserver.py -host [YOURHOST] -password '[YOURPASSWORD]' -ssl True > /tmp/egardiaserver.log 2>&1 -``` - -Mark it as executable (`$ chmod +x`) and run `sudo nano /lib/systemd/system/egardiaserver.service`. Enter the following into the `egardiaserver.service` file: - -```bash -[Unit] -Description=Egardia Server Service - -[Service] -ExecStart=/bin/bash /srv/homeassistant/homeassistant_venv/lib/python3.5/site-packages/pythonegardia/egardiaserver.sh -StandardOutput=journal+console - -[Install] -WantedBy=multi-user.target -Alias=egardiaserver.service -``` - -Save and then run `sudo systemctl enable egardiaserver.service` and `sudo systemctl start egardiaserver.service`. -6. Test your setup and enjoy. The component will update if the alarm status changes, including triggers. You can use this to build your own automations and send notifications as you wish. +5. Test your setup and enjoy. The component will update if the alarm status changes, including triggers. You can use this to build your own automations and send notifications as you wish. *Note*: previous versions required a separate egardiaserver to be set up. This is no longer necessary and corresponding system services can be removed (using systemctl). diff --git a/source/_components/alarm_control_panel.mqtt.markdown b/source/_components/alarm_control_panel.mqtt.markdown index 7e6feaa7a2e..199ebacaee1 100644 --- a/source/_components/alarm_control_panel.mqtt.markdown +++ b/source/_components/alarm_control_panel.mqtt.markdown @@ -35,14 +35,56 @@ alarm_control_panel: command_topic: "home/alarm/set" ``` -Configuration variables: - -- **state_topic** (*Required*): The MQTT topic subscribed to receive state updates. -- **command_topic** (*Required*): The MQTT topic to publish commands to change the alarm state. -- **name** (*Optional*): The name of the alarm. Default is 'MQTT Alarm'. -- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0. This QoS will also be used to publishing messages. -- **payload_disarm** (*Optional*): The payload to disarm your Alarm Panel. Default is "DISARM". -- **payload_arm_home** (*Optional*): The payload to set armed-home mode on your Alarm Panel. Default is "ARM_HOME". -- **payload_arm_away** (*Optional*): The payload to set armed-away mode on your Alarm Panel. Default is "ARM_AWAY". -- **code** (*Optional*): If defined, specifies a code to enable or disable the alarm in the frontend. - +{% configuration %} +name: + description: The name of the alarm. + required: false + type: string + default: MQTT Alarm +state_topic: + description: The MQTT topic subscribed to receive state updates. + required: true + type: string +command_topic: + description: The MQTT topic to publish commands to change the alarm state. + required: true + type: string +qos: + description: The maximum QoS level of the state topic. + required: false + type: integer + default: 0 +payload_disarm: + description: The payload to disarm your Alarm Panel. + required: false + type: string + default: DISARM +payload_arm_home: + description: The payload to set armed-home mode on your Alarm Panel. + required: false + type: string + default: ARM_HOME +payload_arm_away: + description: The payload to set armed-away mode on your Alarm Panel. + required: false + type: string + default: ARM_AWAY +code: + description: If defined, specifies a code to enable or disable the alarm in the frontend. + required: false + type: string +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. + required: false + type: string +payload_available: + description: The payload that represents the available state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the unavailable state. + required: false + type: string + default: offline +{% endconfiguration %} diff --git a/source/_components/alarmdecoder.markdown b/source/_components/alarmdecoder.markdown index 82beb4b5e62..aa1109dbdf7 100644 --- a/source/_components/alarmdecoder.markdown +++ b/source/_components/alarmdecoder.markdown @@ -39,6 +39,7 @@ alarmdecoder: 01: name: 'Smoke Detector' type: 'smoke' + rfid: '0123456' 02: name: 'Front Door' type: 'opening' @@ -53,3 +54,4 @@ Configuration variables: - **baudrate** (*Optional*): The baud rate of the AlarmDecoder device, if using serial type. Default: `115200` - **panel_display** (*Optional*): Create a sensor called sensor.alarm_display to match the Alarm Keypad display. Default: `off` - **zones** (*Optional*): AlarmDecoder has no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/components/binary_sensor.alarmdecoder/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.* +- **rfid** (*Optional*): The RF serial-number associated with RF zones. Providing this field allows Home Assistant to associate raw sensor data to a given zone, allowing direct monitoring of the state, battery, and supervision status. diff --git a/source/_components/binary_sensor.deconz.markdown b/source/_components/binary_sensor.deconz.markdown new file mode 100644 index 00000000000..f06c89241bd --- /dev/null +++ b/source/_components/binary_sensor.deconz.markdown @@ -0,0 +1,33 @@ +--- +layout: page +title: "deCONZ Binary Sensor" +description: "Instructions on how to integrate Zigbee binary sensors from deCONZ into Home Assistant." +date: 2017-11-12 16:30 +sidebar: true +comments: false +sharing: true +footer: true +logo: deconz.jpeg +ha_category: Binary Sensor +ha_release: "0.61" +ha_iot_class: "Local Push" +--- + +See the [deCONZ main component](/components/deconz/) for configuration instructions. + +The following sensor types are supported: + + * Open/Close detection + * Presence detection + +Entity ids will be binary_sensor.device_name, where device_name is defined in deCONZ. + +#### {% linkable_title Verified to be supported binary sensors %} + +- Open/Close Detection + - Xiaomi Smart Home Security Door & Window Contact Sensor +- Presence Detection + - IKEA Trådfri Motion Sensor + - Philips Hue Motion Sensor + - Xiaomi Motion Sensor + - Xiaomi Smart Home Aqara Human Body Sensor diff --git a/source/_components/binary_sensor.doorbird.markdown b/source/_components/binary_sensor.doorbird.markdown deleted file mode 100644 index b16dc68c5e9..00000000000 --- a/source/_components/binary_sensor.doorbird.markdown +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: page -title: "DoorBird Binary Sensor" -description: "Instructions how to integrate DoorBird video doorbell state into Home Assistant." -date: 2017-08-06 11:30 -sidebar: true -comments: false -sharing: true -footer: true -logo: doorbird.png -ha_category: Binary Sensor -ha_release: "0.54" -ha_iot_class: "Local Polling" ---- - -The `doorbird` binary sensor platform allows Home Assistant to monitor when your [DoorBird](http://www.doorbird.com/) doorbell rings. - -
- You must have the [DoorBird component](/components/doorbird/) configured to use this binary sensor. -
- -To enable the binary sensor, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -binary_sensor: - - platform: doorbird -``` diff --git a/source/_components/binary_sensor.hive.markdown b/source/_components/binary_sensor.hive.markdown index 62022aa898c..ef695f46014 100644 --- a/source/_components/binary_sensor.hive.markdown +++ b/source/_components/binary_sensor.hive.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Hive Sensor" +title: "Hive Binary Sensor" description: "Instructions on how to integrate Hive Sensors with Home Assistant." date: 2017-09-24 21:00 sidebar: true diff --git a/source/_components/binary_sensor.markdown b/source/_components/binary_sensor.markdown index 6b6d1d8c5d3..781f4f45576 100644 --- a/source/_components/binary_sensor.markdown +++ b/source/_components/binary_sensor.markdown @@ -15,23 +15,26 @@ The way these sensors are displayed in the frontend can be modified in the [cust - **None**: Generic on/off. This is the default and doesn't need to be set. - **battery**: `On` means low, `Off` means normal -- **cold**: `On` means cold -- **connectivity**: `On` means connection present, `Off` means no connection -- **gas**: `On` means gas detected -- **heat**: `On` means hot -- **light**: Lightness threshold -- **moisture**: `On` means wet -- **motion**: `On` means motion detected -- **moving**: `On` means moving, `Off` means stopped -- **occupancy**: `On` means occupied, `Off` means not occupied +- **cold**: `On` means cold, `Off` means normal +- **connectivity**: `On` means connected, `Off` means disconnected +- **door**: `On` means open, `Off` means closed +- **garage_door**: `On` means open, `Off` means closed +- **gas**: `On` means gas detected, `Off` means no gas (clear) +- **heat**: `On` means hot, `Off` means normal +- **light**: `On` means light detected, `Off` means no light +- **moisture**: `On` means moisture detected (wet), `Off` means no moisture (dry) +- **motion**: `On` means motion detected, `Off` means no motion (clear) +- **moving**: `On` means moving, `Off` means not moving (stopped) +- **occupancy**: `On` means occupied, `Off` means not occupied (clear) - **opening**: `On` means open, `Off` means closed - **plug**: `On` means device is plugged in, `Off` means device is unplugged -- **power**: Power, over-current, etc. -- **presence**: `On` means Home, `Off` means Away -- **problem**: `On` means a problem was detected, `Off` means the status is OK +- **power**: `On` means power detected, `Off` means no power +- **presence**: `On` means home, `Off` means away +- **problem**: `On` means problem detected, `Off` means no problem (OK) - **safety**: `On` means unsafe, `Off` means safe -- **smoke**: `On` means smoke detected -- **sound**: `On` means sound detected, `Off` means no sound -- **vibration**: `On` means vibration detected, `Off` means no vibration +- **smoke**: `On` means smoke detected, `Off` means no smoke (clear) +- **sound**: `On` means sound detected, `Off` means no sound (clear) +- **vibration**: `On` means vibration detected, `Off` means no vibration (clear) +- **window**: `On` means open, `Off` means closed For analog sensors please check the [component overview](https://home-assistant.io/components/#sensor). diff --git a/source/_components/binary_sensor.mqtt.markdown b/source/_components/binary_sensor.mqtt.markdown index 3b1ff864534..65058598382 100644 --- a/source/_components/binary_sensor.mqtt.markdown +++ b/source/_components/binary_sensor.mqtt.markdown @@ -29,18 +29,54 @@ binary_sensor: state_topic: "home-assistant/window/contact" ``` -Configuration variables: - -- **name** (*Optional*): The name of the binary sensor. Default is `MQTT Binary Sensor`. -- **state_topic** (*Required*): The MQTT topic subscribed to receive sensor values. -- **payload_on** (*Optional*): The payload that represents the on state. Default is `ON`. -- **payload_off** (*Optional*): The payload that represents the off state. Default is `OFF`. -- **availability_topic** (*Optional*): The MQTT topic subscribed to receive birth and LWT messages from the MQTT device. If `availability_topic` is not defined, the binary sensor availability state will always be `available`. If `availability_topic` is defined, the binary sensor availability state will be `unavailable` by default. -- **payload_available** (*Optional*): The payload that represents the online state. Default is `online`. -- **payload_not_available** (*Optional*): The payload that represents the offline state. Default is `offline`. -- **qos** (*Optional*): The maximum QoS level to be used when receiving messages. Default is `0`. -- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. -- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. +{% configuration %} +name: + description: The name of the binary sensor. + required: false + type: string + default: MQTT Binary Sensor +state_topic: + description: The MQTT topic subscribed to receive sensor values. + required: true + type: string +payload_on: + description: The payload that represents the on state. + required: false + type: string + default: ON +payload_off: + description: The payload that represents the off state. + required: false + type: string + default: OFF +availability_topic: + description: "The MQTT topic subscribed to receive birth and LWT messages from the MQTT device. If `availability_topic` is not defined, the binary sensor availability state will always be `available`. If `availability_topic` is defined, the binary sensor availability state will be `unavailable` by default." + required: false + type: string +payload_available: + description: The payload that represents the online state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the offline state. + required: false + type: string + default: offline +qos: + description: The maximum QoS level to be used when receiving messages. + required: false + type: integer + default: 0 +device_class: + description: "The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend." + required: false + type: string +value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload." + required: false + type: string +{% endconfiguration %} To test, you can use the command line tool `mosquitto_pub` shipped with `mosquitto` or the `mosquitto-clients` package to send MQTT messages. To set the state of the binary sensor manually: diff --git a/source/_components/binary_sensor.threshold.markdown b/source/_components/binary_sensor.threshold.markdown index c2e9e875b39..aa12fad99f5 100644 --- a/source/_components/binary_sensor.threshold.markdown +++ b/source/_components/binary_sensor.threshold.markdown @@ -14,15 +14,17 @@ ha_release: 0.34 --- -The `threshold` binary sensor platform observes the state of another sensor. If the value is below (`lower`) or higher (`upper`) than the given threshold then state of the threshold sensor is changed. +The `threshold` binary sensor platform observes the state of another sensor. If the value is below (`lower`) or higher (`upper`) than the given threshold then state of the threshold sensor is changed. It support also a range if `lower` and `upper` are given. If the sensor is configured with no hysteresis and the sensor value is equal to the threshold, the sensor is turned off since it is not `lower` or `upper` with respect to the threshold. It's an alternative to the template binary sensor's `value_template:` to get the abnormal/too high/too low states. +{% raw %} ```yaml -{% raw %}{{ states.sensor.furnace.state > 2.5 }}{% endraw %} +{{ states.sensor.furnace.state > 2.5 }} ``` +{% endraw %} To enable the threshold sensor, add the following lines to your `configuration.yaml`: @@ -30,15 +32,32 @@ To enable the threshold sensor, add the following lines to your `configuration.y # Example configuration.yaml entry binary_sensor: - platform: threshold - threshold: 15 - type: lower entity_id: sensor.random + lower: 20 ``` -Configuration variables: +{% configuration %} +entity_id: + description: "The entity to monitor. Only [sensors](/components/sensor/) are supported." + required: true + type: entity_id +lower: + description: The lower threshold which the observed value is compared against. + required: false + type: float +upper: + description: The upper threshold which the observed value is compared against. + required: false + type: float +hysteresis: + description: The distance the observed value must be from the threshold before the state is changed. + required: false + type: float + default: 0.0 +name: + description: Name of the sensor to use in the frontend. + required: false + type: string + default: +{% endconfiguration %} -- **entity_id** (*Required*): The entity to monitor. Only [sensors](/components/sensor/) are supported. -- **threshold** (*Required*): The threshold which the observed value is compared against. -- **type** (*Required*): `lower` if the value needs to be below the threshold or `upper` if higher. -- **hysteresis** (*Optional*): The distance the observed value must be from the threshold before the state is changed. Defaults to `0.0` -- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `Stats`. diff --git a/source/_components/binary_sensor.workday.markdown b/source/_components/binary_sensor.workday.markdown index 3864850d146..7730c514fec 100644 --- a/source/_components/binary_sensor.workday.markdown +++ b/source/_components/binary_sensor.workday.markdown @@ -37,6 +37,7 @@ Configuration variables: Days are specified as follows: `mon`, `tue`, `wed`, `thu`, `fri`, `sat`, `sun`. The keyword `holiday` is used for public holidays identified by the holidays module.+If you use the sensor for Norway (`NO`) you need to wrap `NO`in quotes or write the name in full. Otherwise the value is evaluated as `False`. If you use the sensor for Canada (`CA`) with Ontario (`ON`) as `province:` then you need to wrap `ON` in quotes. Otherwise the value is evaluated as `True` (check the YAML documentation for further details) and the sensor will not work.
diff --git a/source/_components/camera.doorbird.markdown b/source/_components/camera.doorbird.markdown index 55fcb419f8c..d96a1ebe9b7 100644 --- a/source/_components/camera.doorbird.markdown +++ b/source/_components/camera.doorbird.markdown @@ -13,7 +13,7 @@ ha_release: "0.54" ha_iot_class: "Local Polling" --- -The `doorbird` implementation allows you to view the live video and saved images from your [DoorBird](http://www.doorbird.com/) device in Home Assistant. +The `doorbird` implementation allows you to view the live video and previous images from your [DoorBird](http://www.doorbird.com/) device in Home Assistant.You must have the [DoorBird component](/components/doorbird/) configured to use this camera. @@ -26,7 +26,3 @@ To enable the camera, add the following to your `configuration.yaml` file: camera: - platform: doorbird ``` - -Configuration variables: - -- **last_visitor** (*Optional*): Adds a second camera that shows the last picture taken when someone rang the doorbell. Default is `false`. diff --git a/source/_components/climate.daikin.markdown b/source/_components/climate.daikin.markdown new file mode 100644 index 00000000000..5b4c2182a9e --- /dev/null +++ b/source/_components/climate.daikin.markdown @@ -0,0 +1,46 @@ +--- +layout: page +title: "Daikin AC" +description: "Instructions on how to integrate Daikin AC(s) with Home Assistant." +date: 2017-12-03 05:00 +sidebar: false +comments: false +sharing: true +footer: true +logo: N/A +ha_category: Climate +ha_release: 0.59 +ha_iot_class: "Local Polling" +--- + +### Description ### + +The climate component integrates Daikin air conditioning systems into Home Assistant, enabling control of setting the following parameters: +- **mode** (cool, heat, dry, fan only or auto) +- **fan speed** +- **target temperature** +- **swing mode** (on supported models) + +Current temperature is displayed. + +
+ Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant +
+ +### Configuration ### + +Manual configuration and customization is possible by using the sample configuration from below: + +```yaml +# Example configuration.yaml entry +climate: + - platform: daikin + host: 10.0.0.1 + name: optional name +``` + +Configuration variables: + +- **host** (*Required*): IP or hostname of the device +- **name** (*Optional*): If the device has a name previously set by the user than that name will be used + diff --git a/source/_components/climate.econet.markdown b/source/_components/climate.econet.markdown new file mode 100644 index 00000000000..3feb4aa6437 --- /dev/null +++ b/source/_components/climate.econet.markdown @@ -0,0 +1,64 @@ +--- +layout: page +title: "EcoNet water heater" +description: "Instructions how to integrate Rheem EcoNet water heaters into Home Assistant." +date: 2017-12-28 14:51 +sidebar: true +comments: false +sharing: true +footer: true +logo: econet.png +ha_category: Climate +ha_release: 0.61.0 +ha_iot_class: "Cloud Polling" +--- + + +The `econet` water heater platform is consuming the information provided by a [EcoNet enabled Rheem water heater](http://www.rheem.com/EcoNet/Home). This component allows you to set the temperature, the operation mode, and enable vaction mode. + +To enable the `econet` water heater platform add the following to your config. + + +```yaml +# Example configuration.yaml entry +climate: + - platform: econet + username: YOUR_ECONET_EMAIL + password: YOUR_ECONET_PASSWORD +``` + +{% configuration %} +username: + description: The username used to connect to your EcoNet account. + required: true + type: string +password: + description: The password used to connect to your EcoNet account. + required: true + type: string +{% endconfiguration %} + + +### {% linkable_title Service `econet_add_vacation` %} + +You can use the service econet/add_vacation to create a new vacation for your EcoNet water heaters. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | The entity id of the water heater to add the vaction to. +| `start_date` | yes | This is a Unix timestamp for when the vaction should start. +| `end_date` | yes | this is a Unix timestamp for when the vaction should end. + ++The Unix timestamps can be obtained from the input_datetime component. This will allow you to graphically set the start and end date. +
+ +### {% linkable_title Service `econet_delete_vacation` %} + +You can use the service econet/delete_vacation to remove all vactions from an EcoNet water heater. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | The entity id of the water heater to remove the vaction from. + + diff --git a/source/_components/climate.generic_thermostat.markdown b/source/_components/climate.generic_thermostat.markdown index 180f67f04e7..d816c7ac5fe 100644 --- a/source/_components/climate.generic_thermostat.markdown +++ b/source/_components/climate.generic_thermostat.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Local Polling" --- -The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater under the hood. If the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when required temperature is reached. +The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater or air conditioning under the hood. When in heater mode, if the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when the required temperature is reached. When in air conditioning mode, if the measured temperature is hotter then the target temperature, the air conditioning will be turned on and turned off when required temperature is reached. ```yaml # Example configuration.yaml entry @@ -28,20 +28,25 @@ climate: Configuration variables: - **name** (*Required*): Name of thermostat -- **heater** (*Required*): `entity_id` for heater switch, must be a toggle device. +- **heater** (*Required*): `entity_id` for heater switch, must be a toggle device. Becomes air conditioning switch when `ac_mode` is set to `True` - **target_sensor** (*Required*): `entity_id` for a temperature sensor, target_sensor.state must be temperature. - **min_temp** (*Optional*): Set minimum set point available (default: 7) - **max_temp** (*Optional*): Set maximum set point available (default: 35) -- **target_temp** (*Optional*): Set initial target temperature. Failure to set this variable will result in target temperature being set to null on startup. As of version 0.59 it will retain the target temperature set before restart if this variable is not configured. +- **target_temp** (*Optional*): Set initial target temperature. Failure to set this variable will result in target temperature being set to null on startup. As of version 0.59, it will retain the target temperature set before restart if available. - **ac_mode** (*Optional*): Set the switch specified in the *heater* option to be treated as a cooling device instead of a heating device. - **min_cycle_duration** (*Optional*): Set a minimum amount of time that the switch specified in the *heater* option must be in it's current state prior to being switched either off or on. - **cold_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched on. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will start when the sensor equals or goes below 24.5. - **hot_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched off. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will stop when the sensor equals or goes above 25.5. -- **keep_alive** (*Optional*): Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. +- **keep_alive** (*Optional*): Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. Use also with switches that might lose state. The keep-alive call is done with the current valid climate component state (either on or off). - **initial_operation_mode** (*Optional*): Set the initial operation mode. Valid values are `off` or `auto`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state. +- **away_temp** (*Optional*): Set the temperature used by "away_mode" (default: 16). Please specify when using `ac_mode: True` to a higher value. A full configuration example looks like the one below. `min_cycle_duration` and `keep_alive` must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`. +Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' operation modes. You can force your `generic_thermstat` to avoid starting by setting Operation to 'off'. + +Please note that changing Away Mode you will force a target temperature change as well that will get restored once the Away Mode is turned off. + ```yaml # Full example configuration.yaml entry climate: @@ -51,6 +56,7 @@ climate: target_sensor: sensor.study_temperature min_temp: 15 max_temp: 21 + ac_mode: False target_temp: 17 cold_tolerance: 0.3 hot_tolerance: 0 @@ -59,4 +65,5 @@ climate: keep_alive: minutes: 3 initial_operation_mode: "off" + away_temp: 16 ``` diff --git a/source/_components/climate.hive.markdown b/source/_components/climate.hive.markdown index a6c40b14623..dd3fd41ca51 100644 --- a/source/_components/climate.hive.markdown +++ b/source/_components/climate.hive.markdown @@ -15,6 +15,7 @@ ha_iot_class: "Cloud Polling" The 'hive' climate component integrates your Hive thermostat and hot water into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**. +A short boost for Hive Heating or Hive Hot water can be set by using the **Aux Heat** function, this will turn on the boost feature for Hive Heating or Hive Hot water for 30 minutes at 0.5 degrees higher than the current temperature. The Hive climate component supports the following Hive products: - **Hive Active Heating** diff --git a/source/_components/climate.markdown b/source/_components/climate.markdown index ce47cc8a3cb..53cfc080136 100644 --- a/source/_components/climate.markdown +++ b/source/_components/climate.markdown @@ -23,7 +23,7 @@ climate: ## {% linkable_title Services %} ### {% linkable_title Climate control services %} -Available services: `climate.set_aux_heat`, `climate.set_away_mode`, `climate.set_temperature`, `climate.set_humidity`, `climate.set_fan_mode`, `climate.set_operation_mode`, `climate.set_swing_mode`, `climate.set_hold_mode` +Available services: `climate.set_aux_heat`, `climate.set_away_mode`, `climate.set_temperature`, `climate.set_humidity`, `climate.set_fan_mode`, `climate.set_operation_mode`, `climate.set_swing_mode`, `climate.set_hold_mode`, `climate.turn_on`, `climate.turn_off`
Not all climate services may be available for your platform. Be sure to check the available services Home Assistant has enabled by checking **Services**.
@@ -222,6 +222,22 @@ automation:
entity_id: climate.kitchen
swing_mode: 1
```
+### {% linkable_title Service `climate.turn_on` %}
+
+Turn climate device on
+
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Targets all when omitted.
+
+### {% linkable_title Service `climate.turn_off` %}
+
+Turn climate device off
+
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Targets all when omitted.
+
#### {% linkable_title Customization %}
The step for the setpoint can be adjusted (default to 0,5 increments) by adding the following line into configuration
diff --git a/source/_components/climate.mqtt.markdown b/source/_components/climate.mqtt.markdown
index 94a9bf27e70..03c5808ceb6 100644
--- a/source/_components/climate.mqtt.markdown
+++ b/source/_components/climate.mqtt.markdown
@@ -28,34 +28,121 @@ climate:
temperature_command_topic: /sensors/hvac_study/target_temp
```
-Configuration variables *except* for MQTT topics:
-
-- **name** (*Required*): Name of MQTT HVAC.
-- **qos** (*Optional*): The maximum QoS level of the state topic. Default is `0` and will also be used to publishing messages.
-- **retain** (*Optional*): If the published message should have the retain flag on or not.
-- **send_if_off** (*Optional*): Set to `false` to suppress sending of all MQTT messages when the current mode is `Off`. Defaults to `true`.
-- **initial** (*Optional*): Set the initial target temperature. Defaults to 21 degrees.
-- **payload_on** (*Optional*): For MQTT topics that control an `on` / `off` value (e.g., `aux_command_topic`), set the value that should be sent for `on`. Defaults to 'ON'.
-- **payload_off** (*Optional*): For MQTT topics that control an `on` / `off` value (e.g., `aux_command_topic`), set the value that should be sent for `off`. Defaults to 'OFF'.
-
-Configuration of the MQTT topics:
-
-- **current_temperature_topic** (*Optional*): The MQTT topic on which to listen for the current temperature
-- **power_command_topic** (*Optional*): The MQTT topic to publish commands to change the power state. This is useful if your device has a separate power toggle in addition to mode.
-- **mode_command_topic** (*Optional*): The MQTT topic to publish commands to change the HVAC operation mode.
-- **mode_state_topic** (*Optional*): The MQTT topic to subscribe for changes of the HVAC operation mode. If this is not set, the operation mode works in optimistic mode (see below).
-- **temperature_command_topic** (*Optional*): The MQTT topic to publish commands to change the target temperature.
-- **temperature_state_topic** (*Optional*): The MQTT topic to subscribe for changes in the target temperature. If this is not set, the target temperature works in optimistic mode (see below).
-- **fan_mode_command_topic** (*Optional*): The MQTT topic to publish commands to change the fan mode.
-- **fan_mode_state_topic** (*Optional*): The MQTT topic to subscribe for changes of the HVAC fan mode. If this is not set, the fan mode works in optimistic mode (see below).
-- **swing_mode_command_topic** (*Optional*): The MQTT topic to publish commands to change the swing mode.
-- **swing_mode_state_topic** (*Optional*): The MQTT topic to subscribe for changes of the HVAC swing mode. If this is not set, the swing mode works in optimistic mode (see below).
-- **away_mode_command_topic** (*Optional*): The MQTT topic to publish commands to change the away mode.
-- **away_mode_state_topic** (*Optional*): The MQTT topic to subscribe for changes of the HVAC away mode. If this is not set, the away mode works in optimistic mode (see below).
-- **hold_command_topic** (*Optional*): The MQTT topic to publish commands to change the hold mode.
-- **hold_state_topic** (*Optional*): The MQTT topic to subscribe for changes of the HVAC hold mode. If this is not set, the hold mode works in optimistic mode (see below).
-- **aux_command_topic** (*Optional*): The MQTT topic to publish commands to switch auxiliary heat.
-- **aux_state_topic** (*Optional*): The MQTT topic to subscribe for changes of the auxiliary heat mode. If this is not set, the auxiliary heat mode works in optimistic mode (see below).
+{% configuration %}
+name:
+ description: The name of the HVAC.
+ required: false
+ type: string
+ default: MQTT HVAC
+qos:
+ description: The maximum QoS level to be used when receiving and publishing messages.
+ required: false
+ type: integer
+ default: 0
+retain:
+ description: Defines if published messages should have the retain flag set.
+ required: false
+ type: boolean
+ default: false
+send_if_off:
+ description: "Set to `false` to suppress sending of all MQTT messages when the current mode is `Off`."
+ required: false
+ type: boolean
+ default: true
+initial:
+ description: Set the initial target temperature.
+ required: false
+ type: number
+ default: 21
+payload_on:
+ description: The payload that represents enabled state.
+ required: false
+ type: string
+ default: ON
+payload_off:
+ description: The payload that represents disabled state.
+ required: false
+ type: string
+ default: OFF
+availability_topic:
+ description: The MQTT topic subscribed to receive availability (online/offline) updates.
+ required: false
+ type: string
+payload_available:
+ description: The payload that represents the available state.
+ required: false
+ type: string
+ default: online
+payload_not_available:
+ description: The payload that represents the unavailable state.
+ required: false
+ type: string
+ default: offline
+current_temperature_topic:
+ description: The MQTT topic on which to listen for the current temperature.
+ required: false
+ type: string
+power_command_topic:
+ description: The MQTT topic to publish commands to change the power state. This is useful if your device has a separate power toggle in addition to mode.
+ required: false
+ type: string
+mode_command_topic:
+ description: The MQTT topic to publish commands to change the HVAC operation mode.
+ required: false
+ type: string
+mode_state_topic:
+ description: The MQTT topic to subscribe for changes of the HVAC operation mode. If this is not set, the operation mode works in optimistic mode (see below).
+ required: false
+ type: string
+temperature_command_topic:
+ description: The MQTT topic to publish commands to change the target temperature.
+ required: false
+ type: string
+temperature_state_topic:
+ description: The MQTT topic to subscribe for changes in the target temperature. If this is not set, the target temperature works in optimistic mode (see below).
+ required: false
+ type: string
+fan_mode_command_topic:
+ description: The MQTT topic to publish commands to change the fan mode.
+ required: false
+ type: string
+fan_mode_state_topic:
+ description: The MQTT topic to subscribe for changes of the HVAC fan mode. If this is not set, the fan mode works in optimistic mode (see below).
+ required: false
+ type: string
+swing_mode_command_topic:
+ description: The MQTT topic to publish commands to change the swing mode.
+ required: false
+ type: string
+swing_mode_state_topic:
+ description: The MQTT topic to subscribe for changes of the HVAC swing mode. If this is not set, the swing mode works in optimistic mode (see below).
+ required: false
+ type: string
+away_mode_command_topic:
+ description: The MQTT topic to publish commands to change the away mode.
+ required: false
+ type: string
+away_mode_state_topic:
+ description: The MQTT topic to subscribe for changes of the HVAC away mode. If this is not set, the away mode works in optimistic mode (see below).
+ required: false
+ type: string
+hold_command_topic:
+ description: The MQTT topic to publish commands to change the hold mode.
+ required: false
+ type: string
+hold_state_topic:
+ description: The MQTT topic to subscribe for changes of the HVAC hold mode. If this is not set, the hold mode works in optimistic mode (see below).
+ required: false
+ type: string
+aux_command_topic:
+ description: The MQTT topic to publish commands to switch auxiliary heat.
+ required: false
+ type: string
+aux_state_topic:
+ description: The MQTT topic to subscribe for changes of the auxiliary heat mode. If this is not set, the auxiliary heat mode works in optimistic mode (see below).
+ required: false
+ type: string
+{% endconfiguration %}
#### Optimistic mode
diff --git a/source/_components/climate.nuheat.markdown b/source/_components/climate.nuheat.markdown
new file mode 100644
index 00000000000..51ffd6fee4b
--- /dev/null
+++ b/source/_components/climate.nuheat.markdown
@@ -0,0 +1,139 @@
+---
+layout: page
+title: "NuHeat Thermostat"
+description: "Instructions how to integrate your NuHeat Signature thermostats within Home Assistant."
+date: 2017-11-11 18:00
+sidebar: true
+comments: false
+sharing: true
+footer: true
+logo: nuheat.png
+ha_category: Climate
+ha_release: 0.61
+ha_iot_class: "Cloud Polling"
+---
+
+
+To get your [NuHeat Signature](http://www.nuheat.com/products/thermostats/signature-thermostat) thermostats working within Home Assistant, please follow the instructions for the general [NuHeat component](/components/nuheat) +
+ +## {% linkable_title Concepts %} + +The NuHeat Thermostat supports the following key concepts. + +The `target temperature` is the temperature that the device attempts to achieve. The target temperature is either determined by the schedule programmed into the thermostat (`auto mode`) or may be overridden. When the target temperature is set by Home Assistant, the thermostat will hold this temperature until the schedule is resumed. + + +## {% linkable_title Attributes %} + +The following attributes are provided by the NuHeat thermostat: `name`, `temperature_unit`, `current_temperature`, `target_temperature`, `current_hold_mode`, `current_operation`, `operation_list`, `min_temp` and `max_temp`. + + +### {% linkable_title Attribute `name` %} + +Returns the name of the NuHeat Thermostat. + +| Attribute type | Description | +| ---------------| ----------- | +| String | Name of the thermostat + +### {% linkable_title Attribute `temperature_unit` %} + +Returns the unit of measurement used for temperature by the thermostat. + +| Attribute type | Description | +| ---------------| ----------- | +| String | Name of the temperature unit + +### {% linkable_title Attribute `current_temperature` %} + +Returns the current temperature measured by the thermostat. + +| Attribute type | Description | +| ---------------| ----------- | +| Integer | Currently measured temperature + +### {% linkable_title Attribute `target_temperature` %} + +Returns the target temperature of the thermostat, when the thermostat is +not in auto operation mode. + +| Attribute type | Description | +| ---------------| ----------- | +| Integer | Target temperature + +### {% linkable_title Attribute `current_hold_mode` %} + +Returns the current temperature hold, if any. + +| Attribute type | Description | +| ---------------| ----------- | +| String | 'temperature', 'temporary_temperature', 'auto', etc. + +### {% linkable_title Attribute `current_operation` %} + +Returns the current operation of the thermostat. + +| Attribute type | Description | +| ---------------| ----------- | +| String | 'heat', 'idle' + +### {% linkable_title Attribute `operation_list` %} + +Returns the list of available operation modes. + +| Attribute type | Description | +| ---------------| ----------- | +| List of String | Available operation modes + +### {% linkable_title Attribute `min_temp` %} + +Returns the minimum supported temperature by the thermostat + +| Attribute type | Description | +| ---------------| ----------- | +| Integer | Minimum supported temperature + +### {% linkable_title Attribute `max_temp` %} + +Returns the maximum supported temperature by the thermostat + +| Attribute type | Description | +| ---------------| ----------- | +| Integer | Maximum supported temperature + + +## {% linkable_title Services %} + +The following services are provided by the NuHeat Thermostat: `set_temperature`, `set_hold_mode`, `nuheat_resume_program`. + +The services `fan_min_on_time`, `set_aux_heat`, `set_away_mode`, `set_humidity`, `set_fan_mode`, `set_operation_mode` and `set_swing_mode` offered by the [Climate component](/components/climate/) are not implemented for this thermostat. + +### {% linkable_title Service `set_temperature` %} + +Puts the thermostat into an indefinite hold at the given temperature. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. +| `temperature` | no | Desired target temperature (when not in auto mode) + +Only the target temperatures relevant for the current operation mode need to +be provided. + +### {% linkable_title Service `set_hold_mode` %} + +Sets the thermostat's hold mode. The NuHeat thermostat supports "auto" (to run the thermostat's programmed schedule), "temperature" (to indefinitely hold the thermostat's current target temperature), or "temporary_temperature" (to hold the thermostat's current target temperature until the thermostat's next scheduled event). + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. +| `hold_mode` | no | New value of hold mode. + +### {% linkable_title Service `nuheat_resume_program` %} + +Resumes the currently active schedule. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. diff --git a/source/_components/climate.touchline.markdown b/source/_components/climate.touchline.markdown new file mode 100644 index 00000000000..ebc48a9df82 --- /dev/null +++ b/source/_components/climate.touchline.markdown @@ -0,0 +1,32 @@ +--- +layout: page +title: "Roth Touchline" +description: "Instructions how to integrate Roth Touchline within Home Assistant." +date: 2018-01-03 12:35 +sidebar: true +comments: false +sharing: true +footer: true +logo: roth.png +ha_category: Climate +ha_release: 0.61 +ha_iot_class: "Local Polling" +--- + +The `touchline` climate platform let you control [ROTH Touchline](http://www.roth-nordic.dk/dk/roth-touchline-tradloes-gulvvarmeregulering-1475.htm) floor heating thermostats from Roth. + + +To set it up, add the following information to your `configuration.yaml` file: + +```yaml +climate: + - platform: touchline + host: YOUR_IPADDRESS +``` + +{% configuration %} +host: + description: The IP address of your controller, e.g., http://192.168.1.1. + required: false + type: string +{% endconfiguration %} diff --git a/source/_components/cloud.alexa.markdown b/source/_components/cloud.alexa.markdown new file mode 100644 index 00000000000..81a4b09eac6 --- /dev/null +++ b/source/_components/cloud.alexa.markdown @@ -0,0 +1,119 @@ +--- +layout: page +title: "Alexa via Home Assistant Cloud" +description: "Enable the Alexa integration via Home Assistant Cloud integration." +date: 2017-11-17 20:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: home-assistant.png +ha_release: 0.60 +ha_category: Cloud +ha_iot_class: "Cloud Push" +--- + +The Alexa integration allows users to control the entities via the [Home Assistant Smart Home skill for Alexa][alexa skill]. This means that you can say things like "Alexa, turn on the kitchen light" to control your local Home Assistant. + +To use this integration, you need to have: + + - The cloud component set up. [Learn more](/components/cloud/) + - An Alexa enabled device like the Amazon Echo + - Activated the [Home Assistant Smart Home skill for Alexa][alexa skill] + +Only Amazon US is currently supported. Other regions are being certified.
+ +You can use `configuration.yaml` to configure the entities that are being shown to Alexa and how they are exposed. + +```yaml +# Example configuration.yaml entry configuring Alexa +cloud: + alexa: + filter: + include_entities: + - light.kitchen + - light.kitchen_left + include_domains: + - switch + exclude_entities: + - switch.outside + entity_config: + light.kitchen: + name: Custom Name for Alexa + description: The light in the kitchen + switch.stairs: + display_categories: LIGHT +``` + +{% configuration %} +alexa: + description: Configuration options for the Amazon Alexa integration. + required: false + type: map + keys: + filter: + description: Filters for entities to include/exclude from Alexa. + required: false + type: map + keys: + include_entities: + description: Entity IDs to include. + required: false + type: list + include_domains: + description: Domains to include. + required: false + type: list + exclude_entities: + description: Entity IDs to exclude. + required: false + type: list + exclude_domains: + description: Domains to exclude. + required: false + type: list + entity_config: + description: Entity specific configuration for Alexa + required: false + type: map + keys: + '`The Home Assistant Cloud is currently in open beta and will become part of the upcoming Community Support Package. [Learn more](/blog/2017/12/17/introducing-home-assistant-cloud/)
+ +The Home Assistant Cloud allows you to quickly integrate your local Home Assistant with various cloud services like Amazon Alexa. + +The following integrations are currently available: + + - [Amazon Alexa (Amazon Echo)](/components/cloud.alexa/) + + + +### {% linkable_title How does it work? %} + +The Home Assistant Cloud has been designed with security in mind. When you activate the Cloud component, your instance will create a secure connection to the Home Assistant Cloud. There is no need for any further configuration or to expose your instance to the internet. + +Integrations like Alexa will deliver messages to our cloud which we will forward to your local instance for processing. We just forward the response back to Alexa. This means that we do not have to store the state of your house in our cloud, we’re just the messenger! + +You can find a list of frequently asked questions (and their answers) in [this blog post](/blog/2017/12/17/introducing-home-assistant-cloud/#faq). + +### {% linkable_title Enabling the cloud %} + +The Home Assistant Cloud is enabled by default. If not, add this to your configuration: ```yaml # Example configuration.yaml entry to enable the cloud component cloud: ``` -Once activated, go to the configuration panel in Home Assistant and create an account and log in. There is no need to configure your router or expose your instance to the internet in any other way. - -If you are not seeing the **Configuration** panel, make sure you have the following option enabled in your configuration.yaml` file. +Once activated, go to the configuration panel in Home Assistant and create an account and log in. If you are not seeing the **Configuration** panel, make sure you have the following option enabled in your configuration.yaml` file. ```yaml config: ``` - -### {% linkable_title Amazon Alexa %} - -The Alexa integration allows users to control the entities via the [Home Assistant Smart Home skill for Alexa][alexa skill]. This means that you can say things like "Alexa, turn on the kitchen light" to control your local instance. - -```yaml -# Example configuration.yaml entry configuring Alexa -cloud: - alexa: - filter: - include_entities: - - light.kitchen - include_domains: - - switch - exclude_entities: - - light.living_room - exclude_domains: - - script -``` - -{% configuration %} -alexa: - description: Configuration options for the Amazon Alexa integration. - required: false - type: map - keys: - filter: - description: Filters for entities to include/exclude from Alexa. - required: false - type: map - keys: - include_entities: - description: Entity IDs to include. - required: false - type: list - include_domains: - description: Domains to include. - required: false - type: list - exclude_entities: - description: Entity IDs to exclude. - required: false - type: list - exclude_domains: - description: Domains to exclude. - required: false - type: list -{% endconfiguration %} - -### {% linkable_title Possible values for customize %} - -| Attribute | Description | -| --------- | ----------- | -| `alexa_hidden` | Hide the entity from the Alexa smart home devices. -| `alexa_name` | Defines name of the entity for a Alexa smart home device. Useful if you have an entity with a friendly name in a local language that you want to access using an English sounding name. -| `alexa_description` | The description of the device in the Alexa smart home device list. -| `alexa_display_categories` | Set displayCategories, useful for things like media_player (TV/SPEAKERS) or scene (ACTIVITY_TRIGGER/SCENE_TRIGGER). More info can be found [here](https://developer.amazon.com/docs/device-apis/alexa-discovery.html#display-categories). - -### {% linkable_title Available domains %} -Currently, the following domains are available to be used with Alexa: -- alert -- automation (enables/disables) -- cover -- fan (supports on/off and set speed) -- group -- input_boolean -- light -- lock (lock and unlock, but unlock is untested as Amazon has disabled unlock for now) -- media_player (play, pause, stop, set volume, adjust volume, next track and previous track) -- scene -- script (enables/disables) -- switch - -[alexa skill]: https://alexa.amazon.com/spa/index.html#skills/dp/B0772J1QKB/?ref=skill_dsk_skb_sr_2 - -### {% linkable_title Frequently Asked Questions %} - -You can find a list of frequently asked questions (and their answers) in [this blog post](https://home-assistant.io/blog/2017/12/17/introducing-home-assistant-cloud/#faq). diff --git a/source/_components/coinbase.markdown b/source/_components/coinbase.markdown new file mode 100644 index 00000000000..d39e34e3a73 --- /dev/null +++ b/source/_components/coinbase.markdown @@ -0,0 +1,47 @@ +--- +layout: page +title: "coinbase" +description: "Instructions for how to add Coinbase sensors to Home Assistant." +date: 2017-12-08 17:54 +sidebar: true +comments: false +sharing: true +footer: true +logo: coinbase.png +ha_release: 0.61 +ha_iot_class: "Cloud Polling" +--- + + +The `coinbase` component lets you access account balances and exchange rates from [coinbase](https://coinbase.com). + +You will need to obtain an API key from coinbase's [developer site](https://www.coinbase.com/settings/api) to use this component. You need to give read access to `wallet:accounts` in order for the component to access relevant data. + +To set it up, add the following information to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +coinbase: + api_key: asdfghjklqwertyuiopzxcvbnm + api_secret: nkjnewncfghjklqwertyuiopzxcvbnm + exchange_rate_currencies: + - BTC + - ETH + - LTC +======= +``` + +{% configuration %} +api_key: + description: Your API key to access coinbase. + required: true + type: string +api_secret: + description: Your API secret to access coinbase. + required: true + type: string +exchange_rate_currencies: + description: List of currencies to create exchange rate sensors for. + required: false + type: list +{% endconfiguration %} diff --git a/source/_components/cover.mqtt.markdown b/source/_components/cover.mqtt.markdown index e466514cadd..94cc013f787 100755 --- a/source/_components/cover.mqtt.markdown +++ b/source/_components/cover.mqtt.markdown @@ -35,33 +35,125 @@ cover: command_topic: "home-assistant/cover/set" ``` -Configuration variables: - -- **name** (*Optional*): The name of the sensor. Default is `MQTT Cover`. -- **command_topic** (*Optional*): The MQTT topic to publish commands to control the cover. -- **payload_open** (*Optional*): The payload that opens the cover. Default is `OPEN`. -- **payload_close** (*Optional*): The payload that closes the cover. Default is `CLOSE`. -- **payload_stop** (*Optional*): The payload that stops the cover. default is `STOP`. -- **state_topic** (*Optional*): The MQTT topic subscribed to receive cover state messages. -- **state_open** (*Optional*): The payload that represents the open state. Default is `open`. -- **state_closed** (*Optional*): The payload that represents the closed state. Default is `closed`. -- **availability_topic** (*Optional*): The MQTT topic subscribed to to receive birth and LWT messages from the MQTT cover device. If `availability_topic` is not defined, the cover availability state will always be "available". If `availability_topic` is defined, the cover availability state will be "unavailable" by default. -- **payload_available** (*Optional*): The payload that represents the online state. Default is `online`. -- **payload_not_available** (*Optional*): The payload that represents the offline state. Default is `offline`. -- **optimistic** (*Optional*): Flag that defines if switch works in optimistic mode. Default is `true` if no state topic defined, else `false`. -- **qos** (*Optional*): The maximum QoS level to be used when receiving and publishing messages. Default is `0`. -- **retain** (*Optional*): Defines if published messages should have the retain flag set. Default is `false`. -- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. -- **set_position_topic** (*Optional*): The MQTT topic to publish position commands to. -- **set_position_template** (*Optional*): Defines a [template](/topics/templating/) to define the position to be sent to the `set_position_topic` topic. Incoming position value is available for use in the template `{{position}}`. If no template is defined, the numeric position (0-100) will be written directly to the topic. -- **tilt_command_topic** (*Optional*): The MQTT topic to publish commands to control the cover tilt. -- **tilt_status_topic** (*Optional*): The MQTT topic subscribed to receive tilt status update values. -- **tilt_min** (*Optional*): The minimum tilt value. Default is `0` -- **tilt_max** (*Optional*): The maximum tilt value. Default is `100` -- **tilt_closed_value** (*Optional*): The value that will be sent on a `close_cover_tilt` command. Default is `0` -- **tilt_opened_value** (*Optional*): The value that will be sent on an `open_cover_tilt` command. Default is `100` -- **tilt_status_optimistic** (*Optional*): Flag that determines if tilt works in optimistic mode. Default is `true` if `tilt_status_topic` is not defined, else `false` -- **tilt_invert_state** (*Optional*): Flag that determines if open/close are flipped; higher values toward closed and lower values toward open. Default is `False` +{% configuration %} +name: + description: The name of the cover. + required: false + type: string + default: MQTT Cover +command_topic: + description: The MQTT topic to publish commands to control the cover. + required: false + type: string +payload_open: + description: The command payload that opens the cover. + required: false + type: string + default: OPEN +payload_close: + description: The command payload that closes the cover. + required: false + type: string + default: CLOSE +payload_stop: + description: The command payload that stops the cover. + required: false + type: string + default: STOP +state_topic: + description: The MQTT topic subscribed to receive cover state messages. + required: false + type: string +state_open: + description: The payload that represents the open state. + required: false + type: string + default: open +state_closed: + description: The payload that represents the closed state. + required: false + type: string + default: closed +availability_topic: + description: "The MQTT topic subscribed to to receive birth and LWT messages from the MQTT cover device. If `availability_topic` is not defined, the cover availability state will always be `available`. If `availability_topic` is defined, the cover availability state will be `unavailable` by default." + required: false + type: string +payload_available: + description: The payload that represents the online state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the offline state. + required: false + type: string + default: offline +optimistic: + description: Flag that defines if switch works in optimistic mode. + required: false + type: string + default: "`true` if no state topic defined, else `false`." +qos: + description: The maximum QoS level to be used when receiving and publishing messages. + required: false + type: integer + default: 0 +retain: + description: Defines if published messages should have the retain flag set. + required: false + type: boolean + default: false +value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload." + required: false + type: string +set_position_topic: + description: The MQTT topic to publish position commands to. + required: false + type: string +set_position_template: + description: " Defines a [template](/topics/templating/) to define the position to be sent to the `set_position_topic` topic. Incoming position value is available for use in the template `{{position}}`. If no template is defined, the numeric position (0-100) will be written directly to the topic." + required: false + type: string +tilt_command_topic: + description: The MQTT topic to publish commands to control the cover tilt. + required: false + type: string +tilt_status_topic: + description: The MQTT topic subscribed to receive tilt status update values. + required: false + type: string +tilt_min: + description: The minimum tilt value. + required: false + type: integer + default: 0 +tilt_max: + description: The maximum tilt value + required: false + type: integer + default: 100 +tilt_closed_value: + description: The value that will be sent on an `close_cover_tilt` command. + required: false + type: integer + default: 0 +tilt_opened_value: + description: The value that will be sent on an `open_cover_tilt` command. + required: false + type: integer + default: 0 +tilt_status_optimistic: + description: Flag that determines if tilt works in optimistic mode. + required: false + type: boolean + default: "`true` if `tilt_status_topic` is not defined, else `false`" +tilt_invert_state: + description: Flag that determines if open/close are flipped; higher values toward closed and lower values toward open. + required: false + type: boolean + default: false +{% endconfiguration %} ## {% linkable_title Examples %} @@ -78,7 +170,7 @@ cover: name: "MQTT Cover" command_topic: "home-assistant/cover/set" state_topic: "home-assistant/cover/state" - availability_topic: "home-assistant/cover/availability" + availability_topic: "home-assistant/cover/availability" qos: 0 retain: true payload_open: "OPEN" diff --git a/source/_components/daikin.markdown b/source/_components/daikin.markdown new file mode 100644 index 00000000000..548c05ec313 --- /dev/null +++ b/source/_components/daikin.markdown @@ -0,0 +1,63 @@ +--- +layout: page +title: "Daikin AC" +description: "Instructions on how to integrate Hive devices with Home Assistant." +date: 2017-12-10 21:00 +sidebar: false +comments: false +sharing: true +footer: true +logo: N/A +ha_category: Climate +ha_release: 0.59 +ha_iot_class: "Local Polling" +--- + +### Description ### + +The component integrates Daikin air conditioning systems into Home Assistant. + +To automatically add all your Daikin devices (ACs and associated sensors) into your Home Assistant installation, add the following to your 'configuration.yaml' file: + ++ Please note, the Daikin platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant +
+ +```yaml +# Example configuration.yaml entry +daikin: + hosts: + - 192.168.4.161 + + monitored_conditions: + - inside_temperature + - outside_temperature + +``` + +{% configuration %} +hosts: + description: List of IP addresses or hostnames. + required: true + type: array +monitored_conditions: + description: List of items you want to monitor for each device. + required: false + detault: All conditions + type: list + keys: + inside_temperature: + description: The current temperature measured inside the house. + outside_temperature: + description: The current temperature measured outside the house. +{% endconfiguration %} + ++ Please note that some AC devices may report outside temperature only when they are turned on. +
+ + +The Daikin Home Assistant platform currently supports the following Hive devices: + +- [Climate](/components/climate.daikin) +- [Sensor](/components/sensor.daikin) diff --git a/source/_components/deconz.markdown b/source/_components/deconz.markdown new file mode 100644 index 00000000000..8d050e7d43d --- /dev/null +++ b/source/_components/deconz.markdown @@ -0,0 +1,148 @@ +--- +layout: page +title: "deCONZ" +description: "Instructions on how to setup Conbee/Raspbee devices with deCONZ from Dresden Elektronik within Home Assistant." +date: 2017-11-12 16:30 +sidebar: true +comments: false +sharing: true +footer: true +logo: deconz.jpeg +ha_category: Hub +ha_release: "0.61" +ha_iot_class: "Local Push" +--- + +[deCONZ](https://www.dresden-elektronik.de/funktechnik/products/software/pc/deconz/) by [Dresden Elektronik](https://www.dresden-elektronik.de) is a software that communicates with Conbee/Raspbee Zigbee gateways and exposes Zigbee devices that are connected to the gateway. + +[deCONZ REST API](http://dresden-elektronik.github.io/deconz-rest-doc/). + +Home Assistant will automatically discover deCONZ presence on your network, if `discovery:` is present in your `configuration.yaml` file. + +If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to Menu->Settings->Unlock Gateway in deCONZ and then use the deCONZ configurator in Home Assistant GUI to create an API key. When you've generated the API key from Home Assistant, the API key will be stored in deconz.conf inside the home-assistant folder. + +You can add the following to your configuration.yaml file if you are not using the `discovery:` component: + +```yaml +# Example configuration.yaml entry +deconz: + host: IP ADDRESS +``` + +#### {% linkable_title Supported Device types %} + +- [Zigbee Lights](/components/light/deconz/) +- [Humidity Sensors](/components/sensor/deconz/) +- [Light Level Sensors](/components/sensor/deconz/) +- [OpenClose Detectors](/components/binary_sensor/deconz/) +- [Presence Detectors](/components/binary_sensor/deconz/) +- [Pressure Sensors](/components/sensor/deconz/) +- [Switches (Remote Controls)](/components/sensor/deconz/) +- [Temperature Sensors](/components/sensor/deconz/) + +{% configuration %} +host: + description: The IP address of your deCONZ web server. + required: false + type: string +api_key: + description: The API key to access your deCONZ web server. + required: false + type: string +port: + description: Configure port deCONZ web server is accessible from. + required: false + default: 80 + type: int +{% endconfiguration %} + +A full configuration could look like this: + +```yaml +# Example configuration.yaml entry +deconz: + host: 127.0.0.1 + api_key: 0123456789 + port: 80 +``` + +## {% linkable_title Device services %} +Available services: `configure`. + +#### {% linkable_title Service `deconz/configure` %} +Set attribute of device in Deconz using [Rest API](http://dresden-elektronik.github.io/deconz-rest-doc/rest/). + +| Service data attribute | Optional | Description | +|-----------|----------|-------------| +| `field` | No | String representing a specific device in deCONZ. | +| `data` | No | Data is a JSON object with what data you want to alter. | + +{ "field": "/lights/1", "data": {"name": "light2"} } + +{ "field": "/config", "data": {"permitjoin": 60} } + +## {% linkable_title Remote control devices%} + +Remote controls (ZHASwitch category) will be not be exposed as a regular entity, but as events named 'deconz_event' with a payload of 'id' and 'event'. Id will be the device name from deCONZ and Event will be the momentary state of the switch. However, a sensor entity will be created that shows the battery level of the switch as reported by deCONZ, named sensor.device_name_battery_level. + +Typical values for switches, the event codes are 4 numbers where the first and last number are of interest here. + +| Switch code | Description | +|-------------|-------------| +| 1XXX | Button #1 up to #8 | +| XXX1 | Button hold | +| XXX2 | Button short release | +| XXX3 | Button long release | + +Where for example on a Philips Hue Dimmer, 2001 would be holding the dim up button. + +## {% linkable_title Examples %} + +### {% linkable_title Step up and step down input number with wireless dimmer %} + +```yaml +automation: + - alias: 'Toggle lamp from dimmer' + initial_state: 'on' + trigger: + platform: event + event_type: deconz_event + event_data: + id: remote_control_1 + event: 1002 + action: + service: light.toggle + entity_id: light.lamp + + - alias: 'Increase brightness of lamp from dimmer' + initial_state: 'on' + trigger: + platform: event + event_type: deconz_event + event_data: + id: remote_control_1 + event: 2002 + action: + - service: light.turn_on + data_template: + entity_id: light.lamp + brightness: {% raw %}> + {% set bri = states.light.lamp.attributes.brightness | int %} + {{ [bri+30, 249] | min }}{% endraw %} + + - alias: 'Decrease brightness of lamp from dimmer' + initial_state: 'on' + trigger: + platform: event + event_type: deconz_event + event_data: + id: remote_control_1 + event: 3002 + action: + - service: light.turn_on + data_template: + entity_id: light.lamp + brightness: {% raw %}> + {% set bri = states.light.lamp.attributes.brightness | int %} + {{ [bri-30, 0] | max }}{% endraw %} +``` diff --git a/source/_components/device_tracker.gpslogger.markdown b/source/_components/device_tracker.gpslogger.markdown index 6b6a439cdee..994b8c2989a 100644 --- a/source/_components/device_tracker.gpslogger.markdown +++ b/source/_components/device_tracker.gpslogger.markdown @@ -19,7 +19,14 @@ To integrate GPSLogger in Home Assistant, add the following section to your `con # Example configuration.yaml entry device_tracker: - platform: gpslogger + password: !secret gpslogger_password ``` +{% configuration %} +password: + description: Separate password for GPS Logger endpoint. If provided using regular API password to contact endpoint will result in 401 response. + required: false + type: string +{% endconfiguration %} ## {% linkable_title Setup on your smartphone %} diff --git a/source/_components/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown index 20cf68ab97a..f23457ad8d6 100644 --- a/source/_components/device_tracker.owntracks.markdown +++ b/source/_components/device_tracker.owntracks.markdown @@ -32,6 +32,9 @@ Configuration variables: - **waypoints** (*Optional*): Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `True`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions. Defaults to `True`. - **waypoint_whitelist** (*Optional*): A list of user names (as defined for [Owntracks](/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g. owntracks/**username**/iPhone). Defaults to all users who are connected to Home Assistant via Owntracks. - **secret** (*Optional*): [Payload encryption key](http://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present. +- **mqtt_topic** (*Optional*): The topic to subscribe for Owntracks updates on your MQTT instance (defaults to `owntracks/#`). +- **events_only** (*Optional*): Home Assistant will ignore all location updates and rely solely on geofence enter/leave events. +- **region_mapping** (*Optional*): Dictionary to remap names of regions as configured in the Owntracks app to Home Assistant zones. Use this if you have multiple homes or Home Assistant instances and want to map a different label to 'home'. `key: value` maps Owntracks region `key` to Home Assistant zone `value`. A full sample configuration for the `owntracks` platform is shown below: @@ -41,9 +44,14 @@ device_tracker: - platform: owntracks max_gps_accuracy: 200 waypoints: True + mqtt_topic: "owntracks/#" + events_only: True waypoint_whitelist: - jon - ram + region_mapping: + cabin: home + office: work ``` ### {% linkable_title Using Owntracks with other device trackers %} diff --git a/source/_components/device_tracker.tile.markdown b/source/_components/device_tracker.tile.markdown index 7dc534339f4..63ba3d693c8 100644 --- a/source/_components/device_tracker.tile.markdown +++ b/source/_components/device_tracker.tile.markdown @@ -25,9 +25,6 @@ device_tracker: - platform: tile username: email@address.com password: MY_PASSWORD_123 - monitored_variables: - - TILE - - PHONE ``` {% configuration %} @@ -43,4 +40,8 @@ device_tracker: description: the Tile types to monitor; valid values are `TILE` and `PHONE` (default is for all types to be included) required: false type: list + show_inactive: + description: whether to show expired/disabled Tiles + required: false + type: boolean {% endconfiguration %} diff --git a/source/_components/doorbird.markdown b/source/_components/doorbird.markdown index 0b7f1e4120a..4ce686ec640 100644 --- a/source/_components/doorbird.markdown +++ b/source/_components/doorbird.markdown @@ -30,3 +30,8 @@ Configuration variables: - **host** (*Required*): The LAN IP address or hostname of your device. You can find this by going to the [DoorBird Online check](http://www.doorbird.com/checkonline) and entering the information from the paper that was included in the box. - **username** (*Required*): The username of a non-administrator user account on the device. - **password** (*Required*): The password for the user specified. +- **doorbell_events** (*Optional*): Setting this to `true` this will register a callback URL with the device so that events can be published to the event bus when the doorbell rings. + ++Enabling `doorbell_events` will delete all other registered push notification services with the device every time Home Assistant starts. This will not affect notifications delivered by the DoorBird mobile app. +
diff --git a/source/_components/fan.insteon_local.markdown b/source/_components/fan.insteon_local.markdown index 8476fc43d06..359f099477b 100644 --- a/source/_components/fan.insteon_local.markdown +++ b/source/_components/fan.insteon_local.markdown @@ -14,21 +14,4 @@ ha_version: 0.48 The `insteon_local` fan component lets you control your fan connected to an [Insteon Hub](http://www.insteon.com/insteon-hub/) with Home Assistant. -To integrate add a fan, configure your hub Insteon(local) with Home Assistant, add the following section to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml platform entry -insteon_local: - host: YOUR HUB IP - username: YOUR HUB USERNAME - password: YOUR HUB PASSWORD - timeout: 10 - port: 25105 -``` - -To add fans to your set-up, add the platform to your light configuration: -```yaml -fan: - - platform: insteon_local -``` - +To get your insteon fans working with Home Assistant, follow the instructions for the general [Insteon local component](/components/insteon_local/). The fans will be automatically disovered and added to Home Assistant. The device names will be the Insteon address of the fans. diff --git a/source/_components/fan.mqtt.markdown b/source/_components/fan.mqtt.markdown index 82c5193ba30..1a0329404f8 100644 --- a/source/_components/fan.mqtt.markdown +++ b/source/_components/fan.mqtt.markdown @@ -30,30 +30,117 @@ fan: command_topic: "bedroom_fan/on/set" ``` -Configuration variables: - -- **command_topic** (*Required*): The MQTT topic to publish commands to change the fan state. -- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates. -- **name** (*Optional*): The name of the fan. Default is 'MQTT Fan'. -- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates. -- **payload_on** (*Optional*): The payload that represents the running state. Default is "ON". -- **payload_off** (*Optional*): The payload that represents the stop state. Default is "OFF". -- **state_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the state. -- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. -- **optimistic** (*Optional*): Flag that defines if lock works in optimistic mode. Default is `true` if no state topic defined, else `false`. -- **retain** (*Optional*): If the published message should have the retain flag on or not. -- **oscillation_state_topic** (*Optional*): The MQTT topic subscribed to receive oscillation state updates. -- **oscillation_command_topic** (*Optional*): The MQTT topic to publish commands to change the oscillation state. -- **payload_oscillation_on** (*Optional*): The payload that represents the oscillation on state. Default is "oscillate_on". -- **payload_oscillation_off** (*Optional*): The payload that presents the oscillation off state. Default is "oscillate_off". -- **oscillation_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the oscillation. -- **speed_state_topic** (*Optional*): The MQTT topic subscribed to receive speed state updates. -- **speed_command_topic** (*Optional*): The MQTT topic to publish commands to change speed state. -- **payload_low_speed** (*Optional*): The payload that represents the fan's low speed. -- **payload_medium_speed** (*Optional*): The payload that represents the fan's medium speed. -- **payload_high_speed** (*Optional*): The payload that represents the fan's high speed. -- **speed_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the speed payload. -- **speeds** array (*Optional*): Valid entries for the list are `off`, `low`, `medium`, and `high`. +{% configuration %} +name: + description: The name of the fan. + required: false + type: string + default: MQTT Fan +command_topic: + description: The MQTT topic to publish commands to change the fan state. + required: true + type: string +state_topic: + description: The MQTT topic subscribed to receive state updates. + required: false + type: string +payload_on: + description: The payload that represents the running state. + required: false + type: string + default: ON +payload_off: + description: The payload that represents the stop state. + required: false + type: string + default: OFF +state_value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the state." + required: false + type: string +qos: + description: The maximum QoS level of the state topic. + required: false + type: integer + default: 0 +optimistic: + description: Flag that defines if lock works in optimistic mode + required: false + type: boolean + default: "`true` if no state topic defined, else `false`." +retain: + description: If the published message should have the retain flag on or not. + required: false + type: boolean + default: true +oscillation_state_topic: + description: The MQTT topic subscribed to receive oscillation state updates. + required: false + type: string +oscillation_command_topic: + description: The MQTT topic to publish commands to change the oscillation state. + required: false + type: string +payload_oscillation_on: + description: The payload that represents the oscillation on state. + required: false + type: string + default: oscillate_on +payload_oscillation_off: + description: The payload that represents the oscillation off state. + required: false + type: string + default: oscillate_off +oscillation_value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the oscillation." + required: false + type: string +speed_state_topic: + description: The MQTT topic subscribed to receive speed state updates. + required: false + type: string +speed_command_topic: + description: The MQTT topic to publish commands to change speed state. + required: false + type: string +payload_low_speed: + description: The payload that represents the fan's low speed. + required: false + type: string + default: low +payload_medium_speed: + description: The payload that represents the fan's medium speed. + required: false + type: string + default: medium +payload_high_speed: + description: The payload that represents the fan's high speed. + required: false + type: string + default: high +speed_value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the speed payload." + required: false + type: string +speeds: + description: "List of speeds this fan is capable of running at. Valid entries are `off`, `low`, `medium`, and `high`." + required: false + type: string list +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. + required: false + type: string +payload_available: + description: The payload that represents the available state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the unavailable state. + required: false + type: string + default: offline +{% endconfiguration %}Make sure that your topics match exactly. `some-topic/` and `some-topic` are different topics. diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index ea966d4f4aa..3b28d438f59 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -18,7 +18,7 @@ The `google_assistant` component allows you to control things via Google Assista The Google Assistant component requires a bit more setup than most due to the way Google requires Assistant Apps to be set up.
-To use Google Assistant your Home Assistant configuration has to be externally accessible, with a hostname and SSL certificate. If you haven't already configured that you should do so before continuing. +To use Google Assistant, your Home Assistant configuration has to be externally accessible, with a hostname and SSL certificate. If you haven't already configured that you should do so before continuing.
To enable this, add the following lines to your `configuration.yaml` file: @@ -35,26 +35,77 @@ google_assistant: - switch - light - group + entity_config: + switch.kitchen: + name: Custom Name for Alexa + aliases: + - bright lights + - entry lights + type: 'action.devices.types.LIGHT' + light.living_room: + expose: false ``` Configuration variables: -- **expose_by_default** (*Optional*): Expose devices in all supported domains by default. -- **project_id** (*Required*): Project ID from the Google Developer console (looks like `words-2ab12`) -- **client_id** (*Required*): A long random URL safe string (no spaces or special characters) that will be used for Implicit OAuth. -- **access_token** (*Required*): Another different long random URL safe string. -- **agent_user_id** (*Optional*): A string to identify the user, e.g., email address. If not provided, the component will generate one. -- **api_key** (*Optional*): A Homegraph API Key generated for the project from [Google Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see setup below). If not provided then the request_sync service is not exposed. -- **exposed_domains** (*Optional*): An array of Home Assistant domains to expose to Google Assistant. Options include: - - `switch` - - `light` - - `cover` - - `media_player` - - `group` - - `fan` - - `scene` - - `script` - - `climate` +{% configuration %} + +project_id: + description: Project ID from the Google Developer console (looks like `words-2ab12`) + required: true + type: string +client_id: + description: A long random URL safe string (no spaces or special characters) that will be used for Implicit OAuth (example `aBcDeFgHiJkLmNoP`) + required: true + type: string +access_token: + description: Another different long random URL safe string (example `aBcDeFgHiJkLmNoP`) + required: true + type: string +agent_user_id: + description: A string to identify the user, e.g., email address. If not provided, the component will generate one. + required: false + type: string +api_key: + description: An API Key generated for the project from [Google Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see setup below). If not provided then the request_sync service is not exposed. + required: false + type: string +expose_by_default: + description: Expose devices in all supported domains by default. + required: false + default: True + type: boolean +exposed_domains: + description: List of entity domains to expose to Google Assistant. + required: false + type: list +entity_config: + description: Entity specific configuration for Google Assistant + required: false + type: map + keys: + '`diff --git a/source/_components/light.iglo.markdown b/source/_components/light.iglo.markdown new file mode 100644 index 00000000000..5bc12ba1d64 --- /dev/null +++ b/source/_components/light.iglo.markdown @@ -0,0 +1,42 @@ +--- +layout: page +title: "iGlo" +description: "Instructions on how to integrate iGlo lights into Home Assistant." +date: 2017-12-17 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: iglo.png +ha_category: Light +ha_iot_class: "Local Polling" +ha_release: 0.61 +--- + +The `iglo` platform allows you to integrate your [iGlo Lights](https://www.youtube.com/watch?v=oHTS9ji_v-s) into Home Assistant. + +To use your iGlo light in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +light: + - platform: iglo + host: 192.168.1.10 +``` + +{% configuration %} +host: + required: true + description: The IP address for connecting to the light. + type: string +name: + required: false + description: The name for this light. + default: iGlo Light + type: string +port: + required: false + description: The port used to connect to the light. + default: 8080 + type: integer +{% endconfiguration %} diff --git a/source/_components/light.insteon_local.markdown b/source/_components/light.insteon_local.markdown index 14f91598c91..06af902dfd7 100644 --- a/source/_components/light.insteon_local.markdown +++ b/source/_components/light.insteon_local.markdown @@ -15,22 +15,4 @@ ha_iot_class: "Local Push" The `insteon_local` light component lets you control your lights connected to an [Insteon Hub](http://www.insteon.com/insteon-hub/) with Home Assistant. -To integrate add a light, configure your hub Insteon(local) with Home Assistant, add the following section to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml platform entry -insteon_local: - host: YOUR HUB IP - username: YOUR HUB USERNAME - password: YOUR HUB PASSWORD - timeout: 10 - port: 25105 -``` - -To add lights (dimmers) to your set-up, add the platform to your light configuration: - -```yaml -light: - - platform: insteon_local -``` - +To get your insteon lights working with Home Assistant, follow the instructions for the general [Insteon local component](/components/insteon_local/). The lights will be automatically disovered and added to Home Assistant. The device names will be the Insteon address of the lights. diff --git a/source/_components/light.mqtt.markdown b/source/_components/light.mqtt.markdown index 86e2c933a81..33f76eb5cc1 100644 --- a/source/_components/light.mqtt.markdown +++ b/source/_components/light.mqtt.markdown @@ -27,39 +27,153 @@ light: command_topic: "office/rgb1/light/switch" ``` -Configuration variables: - -- **command_topic** (*Required*): The MQTT topic to publish commands to change the light's state. -- **brightness_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's brightness. -- **brightness_scale** (*Optional*): Defines the maximum brightness value (i.e. 100%) of the MQTT device (defaults to 255). -- **brightness_state_topic** (*Optional*): The MQTT topic subscribed to receive brightness state updates. -- **brightness_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the brightness value. -- **color_temp_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's color temperature state. The color temperature command slider has a range of 157 to 500 mireds (micro reciprocal degrees). -- **color_temp_state_topic** (*Optional*): The MQTT topic subscribed to receive color temperature state updates. -- **color_temp_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the color temperature value. -- **effect_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's effect state. -- **effect_state_topic** (*Optional*): The MQTT topic subscribed to receive effect state updates. -- **effect_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the effect value. -- **effect_list** (*Optional*): The list of effects the light supports. -- **name** (*Optional*): The name of the switch. Default is 'MQTT Switch'. -- **on_command_type** (*Optional*): Defines when on the payload_on is sent. Using `last` (the default) will send any style (brightness, color, etc) topics first and then a `payload_on` to the `command_topic`. Using `first` will send the `payload_on` and then any style topics. Using `brightness` will only send brightness commands instead of the `payload_on` to turn the light on. -- **optimistic** (*Optional*): Flag that defines if switch works in optimistic mode. Default is true if no state topic defined, else false. -- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF". -- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON". -- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. -- **retain** (*Optional*): If the published message should have the retain flag on or not. -- **rgb_command_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to compose message which will be sent to `rgb_command_topic`. Available variables: `red`, `green` and `blue`. -- **rgb_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's RGB state. -- **rgb_state_topic** (*Optional*): The MQTT topic subscribed to receive RGB state updates. -- **rgb_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the RGB value. -- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates. -- **state_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the state value. The template should match the payload "on" and "off" values, so if your light uses "power on" to turn on, your `state_value_template` string should return "power on" when the switch is on. For example if the message is just "on", your `state_value_template` should be `power {{ value }}`. -- **white_value_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's white value. -- **white_value_state_topic** (*Optional*): The MQTT topic subscribed to receive white value updates. -- **white_value_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the white value. -- **xy_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's XY state. -- **xy_state_topic** (*Optional*): The MQTT topic subscribed to receive XY state updates. -- **xy_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the XY value. +{% configuration %} +name: + description: The name of the light. + required: false + type: string + default: MQTT Light +command_topic: + description: The MQTT topic to publish commands to change the switch state. + required: true + type: string +brightness_command_topic: + description: The MQTT topic to publish commands to change the light’s brightness. + required: false + type: string +brightness_scale: + description: "Defines the maximum brightness value (i.e. 100%) of the MQTT device." + required: false + type: integer + default: 255 +brightness_state_topic: + description: The MQTT topic subscribed to receive brightness state updates. + required: false + type: string +brightness_value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the brightness value." + required: false + type: string +color_temp_command_topic: + description: The MQTT topic to publish commands to change the light’s color temperature state. The color temperature command slider has a range of 157 to 500 mireds (micro reciprocal degrees). + required: false + type: string +color_temp_state_topic: + description: The MQTT topic subscribed to receive color temperature state updates. + required: false + type: string +color_temp_value_template: + description: "Defines a [template](/topics/templating/) to extract the color temperature value." + required: false + type: string +effect_command_topic: + description: "The MQTT topic to publish commands to change the light's effect state." + required: false + type: string +effect_state_topic: + description: The MQTT topic subscribed to receive effect state updates. + required: false + type: string +effect_value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the effect value." + required: false + type: string +effect_list: + description: The list of effects the light supports. + required: false + type: string list +on_command_type: + description: "Defines when on the payload_on is sent. Using `last` (the default) will send any style (brightness, color, etc) topics first and then a `payload_on` to the `command_topic`. Using `first` will send the `payload_on` and then any style topics. Using `brightness` will only send brightness commands instead of the `payload_on` to turn the light on." + required: false + type: string +optimistic: + description: Flag that defines if switch works in optimistic mode. + required: false + type: boolean + default: "`true` if no state topic defined, else `false`." +payload_on: + description: The payload that represents enabled state. + required: false + type: string + default: ON +payload_off: + description: The payload that represents disabled state. + required: false + type: string + default: OFF +qos: + description: The maximum QoS level of the state topic. + required: false + type: integer + default: 0 +retain: + description: If the published message should have the retain flag on or not. + required: false + type: boolean + default: false +rgb_command_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to compose message which will be sent to `rgb_command_topic`. Available variables: `red`, `green` and `blue`." + required: false + type: string +rgb_command_topic: + description: "The MQTT topic to publish commands to change the light's RGB state." + required: false + type: string +rgb_state_topic: + description: The MQTT topic subscribed to receive RGB state updates. + required: false + type: string +rgb_value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the RGB value." + required: false + type: string +state_topic: + description: The MQTT topic subscribed to receive state updates. + required: false + type: string +state_value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the state value. The template should match the payload `on` and `off` values, so if your light uses `power on` to turn on, your `state_value_template` string should return `power on` when the switch is on. For example if the message is just `on`, your `state_value_template` should be `power {{ value }}`." + required: false + type: string +white_value_command_topic: + description: "The MQTT topic to publish commands to change the light's white value." + required: false + type: string +white_value_state_topic: + description: The MQTT topic subscribed to receive white value updates. + required: false + type: string +white_value_value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the white value." + required: false + type: string +xy_command_topic: + description: "The MQTT topic to publish commands to change the light's XY state." + required: false + type: string +xy_state_topic: + description: The MQTT topic subscribed to receive XY state updates. + required: false + type: string +xy_value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the XY value." + required: false + type: string +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. + required: false + type: string +payload_available: + description: The payload that represents the available state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the unavailable state. + required: false + type: string + default: offline +{% endconfiguration %}
Make sure that your topics match exactly. `some-topic/` and `some-topic` are different topics. diff --git a/source/_components/light.mqtt_json.markdown b/source/_components/light.mqtt_json.markdown index 54732fe5bff..d6ba5ad07d0 100644 --- a/source/_components/light.mqtt_json.markdown +++ b/source/_components/light.mqtt_json.markdown @@ -48,23 +48,94 @@ light: command_topic: "home/rgb1/set" ``` -Configuration variables: - -- **command_topic** (*Required*): The MQTT topic to publish commands to change the light's state. -- **brightness** (*Optional*): Flag that defines if the light supports brightness. Default is false. -- **color_temp** (*Optional*): Flag that defines if the light supports color temperature. Default is false. -- **effect** (*Optional*): Flag that defines if the light supports effects. Default is false. -- **effect_list** (*Optional*): The list of effects the light supports. -- **flash_time_long** (*Optional*): The duration, in seconds, of a "long" flash. Default is 10. -- **flash_time_short** (*Optional*): The duration, in seconds, of a "short" flash. Default is 2. -- **name** (*Optional*): The name of the light. Default is "MQTT JSON Light." -- **optimistic** (*Optional*): Flag that defines if the light works in optimistic mode. Default is true if no state topic defined, else false. -- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. -- **retain** (*Optional*): If the published message should have the retain flag on or not. -- **rgb** (*Optional*): Flag that defines if the light supports RGB colors. Default is false. -- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates. -- **white_value** (*Optional*): Flag that defines if the light supports white values. Default is false. -- **xy** (*Optional*): Flag that defines if the light supports XY colors. Default is false. +{% configuration %} +name: + description: The name of the light. + required: false + type: string + default: MQTT JSON Light +command_topic: + description: The MQTT topic to publish commands to change the light’s state. + required: true + type: string +brightness: + description: Flag that defines if the light supports brightness. + required: false + type: boolean + default: false +color_temp: + description: Flag that defines if the light supports color temperature. + required: false + type: boolean + default: false +effect: + description: Flag that defines if the light supports effects. + required: false + type: boolean + default: false +effect_list: + description: The list of effects the light supports. + required: false + type: string list +flash_time_long: + description: The duration, in seconds, of a “long” flash. + required: false + type: integer + default: 10 +flash_time_short: + description: The duration, in seconds, of a “short” flash. + required: false + type: integer + default: 2 +optimistic: + description: Flag that defines if the light works in optimistic mode. + required: false + type: boolean + default: "`true` if no state topic defined, else `false`." +qos: + description: The maximum QoS level of the state topic. + required: false + type: integer + default: 0 +retain: + description: If the published message should have the retain flag on or not. + required: false + type: boolean + default: false +rgb: + description: Flag that defines if the light supports RGB colors. + required: false + type: boolean + default: false +state_topic: + description: The MQTT topic subscribed to receive state updates. + required: false + type: string +white_value: + description: Flag that defines if the light supports white values. + required: false + type: boolean + default: false +xy: + description: Flag that defines if the light supports XY colors. + required: false + type: boolean + default: false +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. + required: false + type: string +payload_available: + description: The payload that represents the available state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the unavailable state. + required: false + type: string + default: offline +{% endconfiguration %}
Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics. diff --git a/source/_components/light.mqtt_template.markdown b/source/_components/light.mqtt_template.markdown index 3eed0fa3445..5a13ea9dfb6 100644 --- a/source/_components/light.mqtt_template.markdown +++ b/source/_components/light.mqtt_template.markdown @@ -33,24 +33,89 @@ light: command_off_template: "off" ``` -Configuration variables: - -- **name** (*Optional*): The name of the light. Default is "MQTT Template Light." -- **effect_list** (*Optional*): List of possible effects. -- **command_topic** (*Required*): The MQTT topic to publish commands to change the light's state. -- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates. -- **command_on_template** (*Required*): The [template](/docs/configuration/templating/#processing-incoming-data) for *on* state changes. Available variables: `state`, `brightness`, `red`, `green`, `blue`, `flash`, `transition` and `effect`. -- **command_off_template** (*Required*): The [template](/docs/configuration/templating/#processing-incoming-data) for *off* state changes. Available variables: `state` and `transition`. -- **state_template** (*Optional*): [Template](/docs/configuration/templating/#processing-incoming-data) to extract state from the state payload value. -- **brightness_template** (*Optional*): [Template](/docs/configuration/templating/#processing-incoming-data) to extract brightness from the state payload value. -- **red_template** (*Optional*): [Template](/docs/configuration/templating/#processing-incoming-data) to extract red color from the state payload value. -- **green_template** (*Optional*): [Template](/docs/configuration/templating/#processing-incoming-data) to extract green color from the state payload value. -- **blue_template** (*Optional*): [Template](/docs/configuration/templating/#processing-incoming-data) to extract blue color from the state payload value. -- **color_temp_template** (*Optional*): [Template](/docs/configuration/templating/#processing-incoming-data) to extract color temperature from the state payload value. -- **effect_template** (*Optional*): [Template](/docs/configuration/templating/#processing-incoming-data) to extract effect from the state payload value. -- **white_value_template** (*Optional*): [Template](/docs/configuration/templating/#processing-incoming-data) to extract white value from the state payload value. -- **optimistic** (*Optional*): Flag that defines if the light works in optimistic mode. Default is true if no state topic or state template is defined, else false. -- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. +{% configuration %} +name: + description: The name of the light. + required: false + type: string + default: MQTT Template Light +effect_list: + description: List of possible effects. + required: false + type: string list +command_topic: + description: The MQTT topic to publish commands to change the light’s state. + required: true + type: string +state_topic: + description: The MQTT topic subscribed to receive state updates. + required: false + type: string +command_on_template: + description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *on* state changes. Available variables: `state`, `brightness`, `red`, `green`, `blue`, `flash`, `transition` and `effect`." + required: true + type: string +command_off_template: + description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *off* state changes. Available variables: `state` and `transition`." + required: true + type: string +state_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract state from the state payload value." + required: false + type: string +brightness_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract brightness from the state payload value." + required: false + type: string +red_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract red color from the state payload value." + required: false + type: string +green_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract green color from the state payload value." + required: false + type: string +blue_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract blue color from the state payload value." + required: false + type: string +color_temp_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract color temperature from the state payload value." + required: false + type: string +effect_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract effect from the state payload value." + required: false + type: string +white_value_template: + description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract white value from the state payload value." + required: false + type: string +optimistic: + description: Flag that defines if the light works in optimistic mode. + required: false + type: string + default: "`true` if no state topic or state template is defined, else `false`." +qos: + description: The maximum QoS level of the state topic. + required: false + type: integer + default: 0 +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. + required: false + type: string +payload_available: + description: The payload that represents the available state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the unavailable state. + required: false + type: string + default: offline +{% endconfiguration %}
Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics. diff --git a/source/_components/light.tplink.markdown b/source/_components/light.tplink.markdown index 68fff983950..71fc4e97171 100644 --- a/source/_components/light.tplink.markdown +++ b/source/_components/light.tplink.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "TPLink Bulb" -description: "Instructions how to integrate TPLink bulbs into Home Assistant." +title: "TP-Link Bulb" +description: "Instructions how to integrate TP-Link bulbs into Home Assistant." date: 2017-07-25 08:00 sidebar: true comments: false @@ -14,7 +14,7 @@ ha_release: "0.50" --- -The `tplink` light platform allows you to control the state of your [TPLink smart bulb](http://www.tp-link.com/en/products/list-5609.html). +The `tplink` light platform allows you to control the state of your [TP-Link smart bulb](http://www.tp-link.com/en/products/list-5609.html). Supported units: @@ -23,7 +23,7 @@ Supported units: - LB120 - LB130 -To use your TPLink light in your installation, add the following to your `configuration.yaml` file: +To use your TP-Link light in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -32,9 +32,15 @@ light: host: IP_ADDRESS ``` -Configuration variables: - -- **host** (*Required*): The IP address of your TP-Link bulb, eg. `192.168.1.32`. -- **name** (*Optional*): The name to use when displaying this bulb. - +{% configuration %} +name: + description: The name to use when displaying this bulb. + required: false + type: string + default: TP-Link Light +host: + description: "The IP address of your TP-Link bulb, eg. `192.168.1.32`." + required: true + type: string +{% endconfiguration %} diff --git a/source/_components/lock.mqtt.markdown b/source/_components/lock.mqtt.markdown index 6f91de7d133..8ed47ccf4ab 100644 --- a/source/_components/lock.mqtt.markdown +++ b/source/_components/lock.mqtt.markdown @@ -30,17 +30,64 @@ lock: command_topic: "home/frontdoor/set" ``` -Configuration variables: - -- **command_topic** (*Required*): The MQTT topic to publish commands to change the lock state. -- **name** (*Optional*): The name of the lock. Default is 'MQTT Lock'. -- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates. -- **payload_lock** (*Optional*): The payload that represents enabled/locked state. Default is "LOCK". -- **payload_unlock** (*Optional*): The payload that represents disabled/unlocked state. Default is "UNLOCK". -- **optimistic** (*Optional*): Flag that defines if lock works in optimistic mode. Default is `true` if no `state_topic` defined, else `false`. -- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. -- **retain** (*Optional*): If the published message should have the retain flag on or not. -- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. +{% configuration %} +name: + description: The name of the lock. + required: false + type: string + default: MQTT Lock +command_topic: + description: The MQTT topic to publish commands to change the lock state. + required: true + type: string +state_topic: + description: The MQTT topic subscribed to receive state updates. + required: false + type: string +payload_lock: + description: The payload that represents enabled/locked state. + required: false + type: string + default: LOCK +payload_unlock: + description: The payload that represents disabled/unlocked state. + required: false + type: string + default: UNLOCK +optimistic: + description: Flag that defines if lock works in optimistic mode. + required: false + type: string + default: "`true` if no `state_topic` defined, else `false`." +qos: + description: The maximum QoS level of the state topic. + required: false + type: integer + default: 0 +retain: + description: If the published message should have the retain flag on or not. + required: false + type: boolean + default: false +value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload." + required: false + type: string +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. + required: false + type: string +payload_available: + description: The payload that represents the available state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the unavailable state. + required: false + type: string + default: offline +{% endconfiguration %}
Make sure that your topics match exactly. `some-topic/` and `some-topic` are different topics. @@ -58,7 +105,7 @@ The example below shows a full configuration for a MQTT lock. # Example configuration.yml entry lock: - platform: mqtt - name: Frontdoor + name: Frontdoor state_topic: "home-assistant/frontdoor/" command_topic: "home-assistant/frontdoor/set" payload_lock: "LOCK" @@ -69,7 +116,7 @@ lock: value_template: '{% raw %}{{ value.x }}{% endraw %}' ``` -Keep an eye on retaining messages to keep the state as you don't want to unlock your door by accident when you restart something. +Keep an eye on retaining messages to keep the state as you don't want to unlock your door by accident when you restart something. For a check you can use the command line tools `mosquitto_pub` shipped with `mosquitto` to send MQTT messages. This allows you to operate your lock manually: diff --git a/source/_components/media_player.markdown b/source/_components/media_player.markdown index 18350ce1326..5e19cf34e9c 100644 --- a/source/_components/media_player.markdown +++ b/source/_components/media_player.markdown @@ -58,7 +58,7 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, #### {% linkable_title Service `media_player/shuffle_set` %} -Currently only supported on [Spotify](/components/media_player.spotify/), [MPD](/components/media_player.mpd/), [Kodi](/components/media_player.kodi/), and [Universal](/components/media_player.universal/). +Currently only supported on [Spotify](/components/media_player.spotify/), [MPD](/components/media_player.mpd/), [Kodi](/components/media_player.kodi/), [Squeezebox](/components/media_player.squeezebox/) and [Universal](/components/media_player.universal/). | Service data attribute | Optional | Description | | ---------------------- | -------- | ---------------------------------------------------- | diff --git a/source/_components/media_player.monoprice.markdown b/source/_components/media_player.monoprice.markdown index 7487e75b1e8..75e41d9b631 100644 --- a/source/_components/media_player.monoprice.markdown +++ b/source/_components/media_player.monoprice.markdown @@ -47,3 +47,25 @@ Configuration variables: - **port** (*Required*): The serial port to which Monoprice amplifier is connected - **zones** (*Required*): This is the list of zones available. Valid zones are 11,12,13,14,15,16. In case multiple Monoprice devices are stacked together the list of valid zones is extended by 21,22,23,24,25,26 for the second device and 31,32,33,34,35,36 for the third device. Each zone must have a name assigned to it. - **sources** (*Required*): The list of sources available. Valid source numbers are 1,2,3,4,5,6. Each source number corresponds to the input number on the Monoprice amplifier. Similar to zones, each source must have a name assigned to it. + +### {% linkable_title Service `snapshot` %} + +Take a snapshot of one or more zones' states. This service, and the following one are useful if you want to play a doorbell or notification sound and resume playback afterward. If no `entity_id` is provided, all zones are snapshotted. + +The following attributes are stored in a snapshot: +- Power status (On/Off) +- Mute status (On/Off) +- Volume level +- Source + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`s of zones. + +### {% linkable_title Service `restore` %} + +Restore a previously taken snapshot of one or more speakers. If no `entity_id` is provided, all zones are restored. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`s of zones. diff --git a/source/_components/media_player.squeezebox.markdown b/source/_components/media_player.squeezebox.markdown index d091d13b6d9..b226960e31b 100644 --- a/source/_components/media_player.squeezebox.markdown +++ b/source/_components/media_player.squeezebox.markdown @@ -33,3 +33,25 @@ Configuration variables: - **password** (*Optional*): The password, if password protection is enabled.
This platform now uses the web interface of the Logitech Media Server to send commands. The default port of the web interface is 9000. It is the same port that you use to access the LMS through your web browser. Originally, this platform used the telnet interface, which defaults to 9090. If you previously specified the port in your configuration file, you will likely need to update it.
+ +### {% linkable_title Service `squeezebox_call_method` %} + +Call a custom Squeezebox JSONRPC API. + +See documentation for this interface on http://HOST:PORT/html/docs/cli-api.html?player= where HOST and PORT are the host name and port for your Logitech Media Server. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | no | Name(s) of the Squeezebox entities where to run the API method. +| `command` | no | Command to pass to Logitech Media Server (p0 in the CLI documentation). +| `parameters` | yes | Array of additional parameters to pass to Logitech Media Server (p1, ..., pN in the CLI documentation). + +This service can be used to integrate any Squeezebox action to an automation. + +It can also be used to target a Squeezebox from IFTT (or DialogFlow, Alexa...). + +For example, to play an album from your collection, create an IFTT applet like this: +- Trigger: Google assistant, with sentence: `I want to listen to album $` +- Action: JSON post query with such JSON body: +`{ "entity_id": "media_player.squeezebox_radio", "command": "playlist", "parameters": ["loadtracks", "album.titlesearch={{TextField}}"] }` +This can work with title search and basically any thing. The same wouldn't have worked by calling directly Squeezebox server as IFTT cannot escape the text field. diff --git a/source/_components/media_player.yamaha.markdown b/source/_components/media_player.yamaha.markdown index 8ab1d511144..c958aa1466c 100644 --- a/source/_components/media_player.yamaha.markdown +++ b/source/_components/media_player.yamaha.markdown @@ -36,7 +36,9 @@ Configuration variables: default name (often model number) that is returned by the device. - **host** (*Optional*): IP address or hostname of the device - **source_ignore** (*Optional*): List of sources to hide in the front-end -- **source_names** (*Optional*): Mapping of internal AVR source names to custom ones, allowing to rename e.g. `HDMI1` to `ChromeCast` +- **source_names** (*Optional*): Mapping of internal AVR source names to custom ones, allowing one to rename e.g. `HDMI1` to `ChromeCast` +- **zone_ignore** (*Optional*): List of zones to hide in the front-end +- **zone_names** (*Optional*): Mapping of zone names to custom ones, allowing one to rename e.g. `Main_Zone` to `Family Room` ### {% linkable_title Discovery notes %} @@ -76,6 +78,10 @@ media_player: source_names: HDMI1: "ChromeCast" AV4: "Vinyl" + zone_ignore: + - "Zone_2" + zone_names: + Main_Zone: "Family Room" ``` ### {% linkable_title Example `play_media` script %} diff --git a/source/_components/modbus.markdown b/source/_components/modbus.markdown index f673298d82e..9d560058290 100644 --- a/source/_components/modbus.markdown +++ b/source/_components/modbus.markdown @@ -30,7 +30,10 @@ modbus: Configuration variables: -- **type** (*Required*): Type of the connection to Modbus. +- **type** (*Required*): Type of the connection to Modbus. Possible values are: + - *tcp*: Modbus TCP protocol according to "MODBUS Messaging Implementation Guide version 1.0b" provided by Schneider Automation, + - *udp*: Modbus TCP form, but using UDP for transport (removes the overheads required for TCP), + - *rtuovertcp*: Modbus RTU message transmitted with a TCP/IP wrapper and sent over a network instead of serial lines. - **host** (*Required*): The IP address of your Modbus device, eg. 192.168.1.1. - **port** (*Required*): The port for the communication. - **timeout** (*Optional*): Timeout for slave response in seconds. (default: 3) @@ -51,7 +54,7 @@ modbus: Configuration variables: -- **type** (*Required*): Type of the connection to Modebus. +- **type** (*Required*): Type of the connection to Modbus. - **method** (*Required*): Method of the connection to Modbus. - **port** (*Required*): The port where your Modbus device is connected to your Home Assistant host. - **baudrate** (*Required*): The speed for the serial connection. diff --git a/source/_components/notify.pushsafer.markdown b/source/_components/notify.pushsafer.markdown index 4b003d97d82..a62e213e747 100644 --- a/source/_components/notify.pushsafer.markdown +++ b/source/_components/notify.pushsafer.markdown @@ -2,7 +2,7 @@ layout: page title: "Pushsafer" description: "Instructions how to add Pushsafer notifications to Home Assistant." -date: 2017-02-17 20:46 +date: 2018-01-05 11:15 sidebar: true comments: false sharing: true @@ -27,11 +27,78 @@ notify: private_key: ABCDEFGHJKLMNOPQRSTUVXYZ ``` -Configuration variables: +**Configuration variables:** - **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. - **private_key** (*Required*): Your private or alias key. Private key = send the notification to all devices with standard params, alias key send the notification to the devices stored in the alias with predefined params. +### {% linkable_title Examples %} + +Message to two devices with formated text. + +```json +{ + "title": "Test to 2 devices", + "message": "Attention [b]bold[/b] text[br][url=https://www.pushsafer.com]Link to Pushsafer[/url]", + "target": ["1111", "2222"], + "data": { + "icon": "2", + "iconcolor": "#FF0000", + "sound": "2", + "vibration": "1", + "url": "https://home-assistant.io/", + "urltitle": "Open Home Assistant", + "time2live": "0" + } +} +``` + +Message to one device with formated text and image from an external URL. + +```json +{ + "title": "Test to 1 device with image from an url", + "message": "Attention [i]italic[/i] Text[br][url=https://home-assistant.io/]Testlink[/url]", + "target": ["1111"], + "data": { + "icon": "14", + "iconcolor": "#FFFF00", + "sound": "22", + "vibration": "3", + "url": "https://home-assistant.io/", + "urltitle": "Open Home Assistant", + "time2live": "60", + "picture1": { + "url":"https://home-assistant.io/images/components/alexa/alexa-512x512.png" + } + } +} +``` + +Message to two devices and one device group with formated text and local image. + +```json +{ + "title": "Test to 3 devices with local image", + "message": "Attention [i]italic[/i] Text[br][url=https://home-assistant.io/]Testlink[/url]", + "target": ["1111","2222","gs3333"], + "data": { + "icon": "20", + "iconcolor": "#FF00FF", + "sound": "33", + "vibration": "0", + "url": "https://home-assistant.io/", + "urltitle": "Open Home Assistant", + "time2live": "10", + "picture1": { + "path":"C:\\Users\\Kevin\\AppData\\Roaming\\.homeassistant\\image-760-testimage.jpg" + } + } +} +``` + +To customize your push-notification you can take a look at the [Pushsafer API description](https://www.pushsafer.com/en/pushapi). + When setting up the application you can use this [icon](https://home-assistant.io/images/favicon-192x192.png). To use notifications, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/_components/notify.webostv.markdown b/source/_components/notify.webostv.markdown index 408c31eef02..8064c8fbf85 100644 --- a/source/_components/notify.webostv.markdown +++ b/source/_components/notify.webostv.markdown @@ -33,7 +33,7 @@ Configuration variables: - **host** (*Required*): The IP of the LG WebOS Smart TV, e.g. 192.168.0.10 - **name** (*Required*): The name you would like to give to the LG WebOS Smart TV. - **filename** (*Optional*): The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. It defaults to `webostv.conf`. -- **icon** (*Optional*): The path to an image file to use as the icon in notifications. If provided, this image will override the Home Assistant logo. +- **icon** (*Optional*): The path to an image file to use as the icon in notifications. A possible automation could be: diff --git a/source/_components/nuheat.markdown b/source/_components/nuheat.markdown new file mode 100644 index 00000000000..a261aececba --- /dev/null +++ b/source/_components/nuheat.markdown @@ -0,0 +1,51 @@ +--- +layout: page +title: "NuHeat" +description: "Instructions how to integrate your NuHeat Signature thermostats within Home Assistant." +date: 2017-11-11 18:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: nuheat.png +ha_category: Hub +ha_release: 0.61 +ha_iot_class: "Cloud Polling" +--- + +The `nuheat` component lets you control connected floor heating thermostats from [NuHeat](http://www.nuheat.com/). + +First, you will need to obtain your thermostat's numeric serial number or ID by logging into [MyNuHeat.com](https://mynuheat.com/) and selecting your thermostat(s). + +Once you have the Thermostat ID(s), add the following information to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +nuheat: + username: you@example.com + password: very-secure-password + devices: 12345 + +# Example configuration.yaml entry with multiple thermostats +nuheat: + username: you@example.com + password: very-secure-password + devices: + - 12345 + - 67890 +``` + +{% configuration %} +username: + description: The username for accessing your MyNuHeat account. + required: true + type: string +password: + description: The password for accessing your MyNuHeat account. + required: true + type: string +devices: + description: The serial number/ID of each thermostat you would like to integrate. + required: true + type: [string, int] +{% endconfiguration %} diff --git a/source/_components/rainbird.markdown b/source/_components/rainbird.markdown new file mode 100644 index 00000000000..4257826b7d4 --- /dev/null +++ b/source/_components/rainbird.markdown @@ -0,0 +1,33 @@ +--- +layout: page +title: "Rain Bird" +description: "Instructions on how to integrate your Rain Bird LNK WiFi Module within Home Assistant." +date: 2017-12-07 12:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: rainbird.png +ha_category: Hub +ha_release: 0.61 +ha_iot_class: "Local Polling" +--- + +This `rainbird` component allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant. + +To enable it, add the following to your `configuration.yaml` file: + +```yaml +rainbird: + host: '1.1.1.1' + password: 'XXXXXXX' +``` + +Configuration variables: + +- **host** (*Required*): The IP address of your LNK WiFi Module. +- **password** (*Required*): The password for accessing the module. + +Finish its configuration by visiting the [Rain Bird sensor](/components/sensor.rainbird/) and [Rain Bird switch](/components/switch.rainbird/) documentation. + +Please note that due to the implementation of the API within the LNK Module, there is a concurrency issue. For example, the Rain Bird app will give connection issues (like already a connection active). diff --git a/source/_components/remember_the_milk.markdown b/source/_components/remember_the_milk.markdown index d4cc22fa10d..1c3169028b1 100644 --- a/source/_components/remember_the_milk.markdown +++ b/source/_components/remember_the_milk.markdown @@ -59,12 +59,61 @@ If the registration was successful, the Configuration panel will disappear from In the background Home Assistant downloaded a "token" from the Remember The Milk server which is stored in the `remember_the_milk.conf` file locally. So you only need to register once. After that the token is used to authenticate with the server. -## {% linkable_title Creating tasks %} +## {% linkable_title Creating/updating tasks with service ```create_task```%} -This component offers a new service domain ```remember_the_milk``` with the service ```create_task```. You can call this service with the argument ```name``` to create a new task in your Remember The Milk account. You can call this service from your usual automations. +This component offers a new service domain ```remember_the_milk``` with the services ```+ Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant +
+ +### Configuration ### + +Manual configuration and customization is possible by using the sample configuration from below: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: daikin + host: 10.0.0.1 + name: optional name + monitored_conditions: + - inside_temperature + - outside_temperature + +``` + +{% configuration %} +host: + description: IP or hostname of the device. + required: true + type: string +monitored_conditions: + description: List of items you want to monitor for each device. + required: false + detault: All conditions + type: list + keys: + inside_temperature: + description: The current temperature measured inside the house. + outside_temperature: + description: The current temperature measured outside the house. +{% endconfiguration %} + ++ Please note that some AC devices may report outside temperature only when they are turned on. +
diff --git a/source/_components/sensor.darksky.markdown b/source/_components/sensor.darksky.markdown index ee366dfa66e..427d5afb683 100644 --- a/source/_components/sensor.darksky.markdown +++ b/source/_components/sensor.darksky.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Dark Sky" +title: "Dark Sky Sensor" description: "How to integrate Dark Sky within Home Assistant." date: 2016-09-26 08:00 sidebar: true @@ -20,7 +20,7 @@ The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as You need an API key which is free but requires [registration](https://darksky.net/dev/register). You can make up to 1000 calls per day for free which means that you could make one approximately every 86 seconds.-[Dark Sky](https://darksky.net/) will charge you $0.0001 per API call if you enter your credit card details and create more than 1000 calls per day. +[Dark Sky](https://darksky.net/dev/) will charge you $0.0001 per API call if you enter your credit card details and create more than 1000 calls per day.
To add Dark Sky to your installation, add the following to your `configuration.yaml` file: @@ -67,7 +67,7 @@ Configuration variables: - **apparent_temperature_min**: Today's expected apparent low temperature. - **precip_intensity_max**: Today's expected maximum intensity of precipitation. - **uv_index**: The current UV index. -- **units** (*Optional*): Specify the unit system. Default to `si` or `us` based on the temperature preference in Home Assistant. Other options are `auto`, `us`, `si`, `ca`, and `uk2`. +- **units** (*Optional*): Specify the unit system. Default to `si` or `us` based on the temperature preference in Home Assistant. Other options are `auto`, `us`, `si`, `ca`, `uk` and `uk2`. `auto` will let Dark Sky decide the unit system based on location. - **update_interval** (*Optional*): Minimum time interval between updates. Default is 2 minutes. Supported formats: - `update_interval: 'HH:MM:SS'` diff --git a/source/_components/sensor.deconz.markdown b/source/_components/sensor.deconz.markdown new file mode 100644 index 00000000000..6844c88d833 --- /dev/null +++ b/source/_components/sensor.deconz.markdown @@ -0,0 +1,45 @@ +--- +layout: page +title: deCONZ Sensor +description: "Instructions on how to integrate Zigbee sensors from deCONZ into Home Assistant." +date: 2017-11-12 16:30 +sidebar: true +comments: false +sharing: true +footer: true +logo: deconz.jpeg +ha_category: Sensor +ha_release: "0.61" +ha_iot_class: "Local Push" +--- + +See the [deCONZ main component](/components/deconz/) for configuration instructions. + +The following sensor types are supported: + + * Humidity sensor + * Light level sensor + * Pressure sensor + * Switches + * Temperature sensor + +Entity ids will be sensor.device_name, where device_name is defined in deCONZ. Switches aren't exposed as ordinary entities, see the [deCONZ main component](/components/deconz/) for more details. + +#### {% linkable_title Verified to be supported sensors %} + +- Humidity Sensor + - Xiaomi Aqara Humidity/Temperature Sensor + - Xiaomi MiJia Smart Temperature & Humidity Sensor +- Light Level Sensor +- Pressure Sensor +- Switches + - IKEA Trådfri Wireless Dimmer + - Philips Hue Motion Sensor + - IKEA Trådfri Remote + - Philips Hue Dimmer Switch + - Xiaomi Cube + - Xiaomi Aqara Smart Light Switch + - Xiaomi Aqara Smart Wireless Switch + - Xiaomi Smart Home Wireless Switch +- Temperature Sensor + - Xiaomi Temperature/Humidity Sensor diff --git a/source/_components/sensor.discogs.markdown b/source/_components/sensor.discogs.markdown new file mode 100644 index 00000000000..281852abc79 --- /dev/null +++ b/source/_components/sensor.discogs.markdown @@ -0,0 +1,40 @@ +--- +layout: page +title: Discogs Sensor +description: "Instructions on how to set up Discogs sensors within Home Assistant." +date: 2017-12-04 22:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: https://www.magneticmag.com/.image/t_share/MTQ5OTE1NzU4NTczMzk3OTYw/discogs-vinyl-record-mark.png +ha_category: Sensor +ha_release: 0.61 +logo: discogs.png +ha_iot_class: "Cloud Polling" +--- + +The `discogs` platform allows you to see the current amount of records in your [Discogs](https://discogs.com) collection. + +First, you'll need to get a personal access token from your Discogs account. +You can generate a token from your profile's [Developer settings](https://www.discogs.com/settings/developers). + +To enable this sensor, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: discogs + token: YOUR_TOKEN +``` + +{% configuration %} +token: + description: The Discogs API token to use as identification to get your collection. + required: true + type: string +name: + description: Name to use in the frontend. + required: false + type: string +{% endconfiguration %} diff --git a/source/_components/sensor.eliqonline.markdown b/source/_components/sensor.eliqonline.markdown index 7d8452595fc..87dd5ac8fd6 100644 --- a/source/_components/sensor.eliqonline.markdown +++ b/source/_components/sensor.eliqonline.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Cloud Polling" --- -Integrate your [ELIQ Online](http://eliq.se) smart meter information into Home Assistant. To get an [access token](https://my.eliq.se/user/settings/api) and the [Channel ID](https://my.eliq.se/user/settings/data), log in to your account. +Integrate your [ELIQ Online](http://eliq.io) smart meter information into Home Assistant. To get an [access token](https://my.eliq.io/user/settings/api) and the [Channel ID](https://my.eliq.io/user/settings/locations), log in to your account. To enable this sensor in your installation, add the following to your `configuration.yaml` file: @@ -23,6 +23,7 @@ To enable this sensor in your installation, add the following to your `configura sensor: - platform: eliqonline access_token: ACCESS_TOKEN + channel_id: CHANNEL_ID ``` Configuration variables: @@ -31,5 +32,5 @@ Configuration variables: - **channel_id** (*Required*): Channel ID (as integer) of your device. - **name** (*Optional*): The name of the sensor, eg. the city. -For details please check the [API documentation](https://my.eliq.se/knowledge/sv-SE/49-eliq-online/299-eliq-online-api). +For details please check the [API documentation](https://eliq.zendesk.com/hc/en-us/articles/115002708449-API-Eliq-Online). diff --git a/source/_components/sensor.imap_email_content.markdown b/source/_components/sensor.imap_email_content.markdown index cb639b436cf..35f9d2d694a 100644 --- a/source/_components/sensor.imap_email_content.markdown +++ b/source/_components/sensor.imap_email_content.markdown @@ -38,7 +38,7 @@ Configuration variables: - **username** (*Required*): Username for the IMAP server. - **password** (*Required*): Password for the IMAP server. - **senders** (*Required*): A list of sender email addresses that are allowed to report state via email. Only emails received from these addresses will be processed. -- **value_template** (*Optional*): If specified this template will be used to render the state of sensor. If a template is not supplied the raw message body will be used for the sensor value. The following attributes will be supplied to the template: +- **value_template** (*Optional*): If specified this template will be used to render the state of the sensor. If a template is not supplied the message subject will be used for the sensor value. The following attributes will be supplied to the template: * **from**: The from address of the email * **body**: The body of the email diff --git a/source/_components/sensor.metoffice.markdown b/source/_components/sensor.metoffice.markdown index 8a327524c0e..ff622357718 100644 --- a/source/_components/sensor.metoffice.markdown +++ b/source/_components/sensor.metoffice.markdown @@ -15,8 +15,8 @@ ha_iot_class: "Cloud Polling" The `metoffice` sensor platform uses the Met Office's [DataPoint API][datapoint] for weather data. -- Each sensor will be given the `device_id` of "Met Office [condition]" -- The sensor checks for new data every minute, starting 30 minutes after the timestamp of the most recent data as the data is updated every half-hour. +- Each sensor will be given the `device_id` of "Met Office [condition]" if `name:` is not set. +- The sensor checks for new data every minute, starting 30 minutes after the timestamp of the most recent data as the data is updated every half hour. To add the Met Office weather to your installation you'll need to register for a free api key at the link above and then add the following to your `configuration.yaml` file: @@ -24,7 +24,7 @@ To add the Met Office weather to your installation you'll need to register for a # Example configuration.yaml entry sensor: - platform: metoffice - api_key: "my-api-key" + api_key: YOUR_API_KEY monitored_conditions: - weather - temperature @@ -43,12 +43,25 @@ Your location will be detected from your home `latitude` and `longitude` setting Configuration variables: -- **api_key** (*Required*): Your personal API key from the [Datapoint website][datapoint]. -- **name** (*Optional*): Name to use in the frontend, will be the prefix. +- **api_key** (*Required*): Your personal API key from the [Datapoint website](http://www.metoffice.gov.uk/datapoint). +- **name** (*Optional*): Additional name for the sensors. Default to platform name. +- **latitude** (*Optional*): Latitude coordinate to monitor weather of (required if **longitude** is specified), defaults to coordinates defined in your `configuration.yaml`. +- **longitude** (*Optional*): Longitude coordinate to monitor weather of (required if **latitude** is specified), defaults to coordinates defined in your `configuration.yaml`. +- **monitored_conditions** array (*Required*): Conditions to display in the frontend. + - **weather**: A human-readable text summary of the current conditions. + - **temperature**: The current temperature. + - **feels_like_temperature**: A numerical value representing the apparent (or "feels like") temperature. + - **wind_speed**: The wind speed. + - **wind_direction**: Where the wind is coming from. + - **wind_gust**: If there are wind gusts. + - **visibility**: The average visibility. + - **visibility_distance**: The visibility distance. + - **uv**: The UV index. + - **precipitation**: The average expected intensity of precipitation occurring. + - **humidity**: The relative humidity.This sensor is an alternative to the [`metoffice`](/components/weather.metoffice/) weather platform. The weather platform is easier to configure but less customizable.
-[datapoint]: http://www.metoffice.gov.uk/datapoint diff --git a/source/_components/sensor.mqtt.markdown b/source/_components/sensor.mqtt.markdown index 0fb3ab1175f..2f80c563b15 100644 --- a/source/_components/sensor.mqtt.markdown +++ b/source/_components/sensor.mqtt.markdown @@ -58,6 +58,24 @@ force_update: reqired: false type: boolean default: False +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. + required: false + type: string +payload_available: + description: The payload that represents the available state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the unavailable state. + required: false + type: string + default: offline +json_attributes: + description: A list of keys to extract values from a JSON dictionary payload and then set as sensor attributes. + reqired: false + type: list, string {% endconfiguration %} ## {% linkable_title Examples %} diff --git a/source/_components/sensor.plex.markdown b/source/_components/sensor.plex.markdown index f3dcd7affae..34781716237 100644 --- a/source/_components/sensor.plex.markdown +++ b/source/_components/sensor.plex.markdown @@ -36,3 +36,4 @@ Configuration variables: - **password** (*Optional*): The password for your given account on the remote Plex server. - **server** (*Optional*): The name of your remote Plex server. - **token** (*Optional*): X-Plex-Token of your remote Plex server. +- **ssl** (*Optional*): Use HTTPS to connect to Plex server, *NOTE* host *must not* be an IP when this option is enabled. Defaults to "False" diff --git a/source/_components/sensor.rainbird.markdown b/source/_components/sensor.rainbird.markdown new file mode 100644 index 00000000000..aebb59be073 --- /dev/null +++ b/source/_components/sensor.rainbird.markdown @@ -0,0 +1,32 @@ +--- +layout: page +title: "Rain Bird Sensor" +description: "Instructions on how to integrate your Rain Bird LNK WiFi Module rain sensor within Home Assistant." +date: 2017-08-25 12:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: rainbird.png +ha_category: Hub +ha_release: 0.61 +ha_iot_class: "Local Polling" +--- + +This `rainbird` sensor allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant. + +Once you have enabled the [Rain Bird component](/components/rainburd), add the following to your `configuration.yaml` file to enable the rain sensor: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: rainbird + monitored_conditions: + - rainsensor +``` + +Configuration variables: + +- **monitored_conditions**: Currently only rainsensor is supported. Returns the sensor level. + +Please note that due to the implementation of the API within the LNK Module, there is a concurrency issue. For example, the Rain Bird app will give connection issues (like already a connection active). diff --git a/source/_components/sensor.sochain.markdown b/source/_components/sensor.sochain.markdown new file mode 100644 index 00000000000..77bf1c78364 --- /dev/null +++ b/source/_components/sensor.sochain.markdown @@ -0,0 +1,50 @@ +--- +layout: page +title: "SoChain" +description: "Instructions how to integrate chain.so data within Home Assistant." +date: 2017-06-01 16:20 +sidebar: true +comments: false +sharing: true +footer: true +logo: sochain.png +ha_category: Finance +ha_release: 0.61 +ha_iot_class: "Cloud Polling" +--- + + +The `SoChain` sensor platform displays supported cryptocurrency wallet balances from [SoChain](https://chain.so). + +To add the SoChain sensor to your installation, specify a network and address to watch in the `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: sochain + network: LTC + address: 'M9m37h3dVkLDS13wYK7vcs7ck6MMMX6yhK' +``` + +{% configuration %} +network: + description: The network or blockchain of the cryptocurrency to watch. + required: true + type: string +address: + description: Cryptocurrency wallet address to watch. + required: true + type: string +name: + description: The name of the sensor used in the frontend. (recommended) + required: false + type: string + default: Crypto Balance +{% endconfiguration %} + +Supported networks (which can also be found [here](https://chain.so/api#networks-supported)) are: + +* BTC +* LTC +* DOGE +* DASH diff --git a/source/_components/sensor.zoneminder.markdown b/source/_components/sensor.zoneminder.markdown index 5ab384d0020..e60e2742058 100644 --- a/source/_components/sensor.zoneminder.markdown +++ b/source/_components/sensor.zoneminder.markdown @@ -32,3 +32,10 @@ sensor: Configuration variables: - **include_archived** (*Optional*): Whether to include archived ZoneMinder events in event counts. Default is `false`. +- **monitored_conditions** array (*Optional*): Event count sensors to display in the frontend. Default is 'all'. + - **all**: All events. + - **month**: Events in the last month. + - **week**: Events in the last week. + - **day**: Events in the last day. + - **hour**: Events in the last hour. + diff --git a/source/_components/switch.insteon_local.markdown b/source/_components/switch.insteon_local.markdown index 0200b5cd439..0d8c71aa8d8 100644 --- a/source/_components/switch.insteon_local.markdown +++ b/source/_components/switch.insteon_local.markdown @@ -14,20 +14,4 @@ ha_version: 0.36 The `insteon_local` switch component lets you control your switches connected to an [Insteon Hub](http://www.insteon.com/insteon-hub/) with Home Assistant. -To integrate add a switch, configure your hub Insteon(local) with Home Assistant, add the following section to your `configuration.yaml` file: -```yaml -# Example configuration.yaml platform entry -insteon_local: - host: YOUR HUB IP - username: YOUR HUB USERNAME - password: YOUR HUB PASSWORD - timeout: 10 - port: 25105 -``` - -To add switches to your set-up, add the platform to your light configuration: -```yaml -switch: - - platform: insteon_local -``` - +To get your insteon switches working with Home Assistant, follow the instructions for the general [Insteon local component](/components/insteon_local/). The switches will be automatically disovered and added to Home Assistant. The device names will be the Insteon address of the switch. diff --git a/source/_components/switch.mqtt.markdown b/source/_components/switch.mqtt.markdown index 4ad0a6c1f87..3804130cc61 100644 --- a/source/_components/switch.mqtt.markdown +++ b/source/_components/switch.mqtt.markdown @@ -30,20 +30,64 @@ switch: command_topic: "home/bedroom/switch1/set" ``` -Configuration variables: - -- **name** (*Optional*): The name of the switch. Default is 'MQTT Switch'. -- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates. -- **command_topic** (*Required*): The MQTT topic to publish commands to change the switch state. -- **availability_topic** (*Optional*): The MQTT topic subscribed to receive availability (online/offline) updates. -- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON". -- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF". -- **payload_available** (*Optional*): The payload that represents the available state, e.g. 'online'. Default is "ON". -- **payload_not_available** (*Optional*): The payload that represents the unavailable state, e.g. 'offline'. Default is "OFF". -- **optimistic** (*Optional*): Flag that defines if switch works in optimistic mode. Default is `true` if no `state_topic` defined, else `false`. -- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. -- **retain** (*Optional*): If the published message should have the retain flag on or not. -- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. +{% configuration %} +name: + description: The name to use when displaying this switch. + required: false + type: string + default: MQTT Switch +state_topic: + description: The MQTT topic subscribed to receive state updates. + required: false + type: string +command_topic: + description: The MQTT topic to publish commands to change the switch state. + required: false + type: string +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. + required: false + type: string +payload_on: + description: The payload that represents enabled state. + required: false + type: string + default: ON +payload_off: + description: The payload that represents disabled state. + required: false + type: string + default: OFF +payload_available: + description: The payload that represents the available state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the unavailable state. + required: false + type: string + default: offline +optimistic: + description: Flag that defines if switch works in optimistic mode. + required: false + type: boolean + default: "`true` if no `state_topic` defined, else `false`." +qos: + description: The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages. + required: false + type: integer + default: 0 +retain: + description: If the published message should have the retain flag on or not. + required: false + type: boolean + default: false +value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload." + required: false + type: string +{% endconfiguration %}Make sure that your topic matches exactly. `some-topic/` and `some-topic` are different topics. diff --git a/source/_components/switch.rainbird.markdown b/source/_components/switch.rainbird.markdown index 5a8598c3021..eee1d471b9e 100644 --- a/source/_components/switch.rainbird.markdown +++ b/source/_components/switch.rainbird.markdown @@ -15,13 +15,10 @@ ha_iot_class: "Local Polling" This `rainbird` switch platform allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant. -To enable stations as switches inside Home Assistant, add the following to your `configuration.yaml` file: +Once you have enabled the [Rain Bird component](/components/rainbird), add the following to your `configuration.yaml` file: ```yaml switch: - platform: rainbird - host: '1.1.1.1' - password: 'secretpassword' sprinkler_1: zone: 1 friendly_name: "Front sprinklers" @@ -36,8 +33,6 @@ switch: Configuration variables: -- **stickip** (*Required*): The IP address of your LNK WiFi Module. -- **password** (*Required*): The password for accessing the module. - **zone** (*Required*): Station zone identifier. - **friendly_name** (*Optional*): Just a friendly name for the station. - **trigger_time** (*Required*): The default duration to sprinkle the zone. diff --git a/source/_components/switch.tplink.markdown b/source/_components/switch.tplink.markdown index ee56f356880..5839ff2cef0 100644 --- a/source/_components/switch.tplink.markdown +++ b/source/_components/switch.tplink.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "TPLink Switch" -description: "Instructions how to integrate TPLink switches into Home Assistant." +title: "TP-Link Switch" +description: "Instructions how to integrate TP-Link switches into Home Assistant." date: 2016-07-13 08:00 sidebar: true comments: false @@ -14,7 +14,7 @@ ha_release: "0.24" --- -The `tplink` switch platform allows you to control the state of your [TPLink smart switch](http://www.tp-link.com/en/products/list-5258.html). +The `tplink` switch platform allows you to control the state of your [TP-Link smart switch](http://www.tp-link.com/en/products/list-5258.html). Supported units: @@ -23,7 +23,7 @@ Supported units: - HS110 - HS200 -To use your TPLink switch in your installation, add the following to your `configuration.yaml` file: +To use your TP-Link switch in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -37,7 +37,7 @@ name: description: The name to use when displaying this switch. required: false type: string - default: Random Sensor + default: TP-Link Switch host: description: "The IP address of your TP-Link switch, eg. `192.168.1.32`." required: true @@ -46,8 +46,5 @@ enable_leds: description: If the LEDs on the switch (WiFi and power) should be lit. required: false type: boolean - default: true {% endconfiguration %} - - diff --git a/source/_components/vacuum.mqtt.markdown b/source/_components/vacuum.mqtt.markdown index df5a01a8cf8..65ed9679cef 100644 --- a/source/_components/vacuum.mqtt.markdown +++ b/source/_components/vacuum.mqtt.markdown @@ -53,36 +53,133 @@ vacuum: send_command_topic: 'vacuum/send_command' ``` -Basic Configuration variables: - -- **name** (*Optional*): The name of the vacuum. Defaults to `MQTT Vacuum`. -- **supported_features** (*Optional*): List of features that the vacuum supports (possible values are `turn_on`, `turn_off`, `pause`, `stop`, `return_home`, `battery`, `status`, `locate`, `clean_spot`, `fan_speed`, `send_command`). Defaults to `turn_on`, `turn_off`, `stop`, `return_home`, `status`, `battery`, `clean_spot`. -- **command_topic** (*Optional*): The MQTT topic to publish commands to control the vacuum. - -Advanced Configuration variables: - -- **qos** (*Optional*): The maximum QoS level of the state topic. Defaults to `0`. Will also be used when publishing messages. -- **retain** (*Optional*): If the published message should have the retain flag on or not. Defaults to `false`. -- **payload_turn_on** (*Optional*): The payload to send to the `command_topic` to begin the cleaning cycle. Defaults to `turn_on`. -- **payload_turn_off** (*Optional*): The payload to send to the `command_topic` to turn the vacuum off. Defaults to `turn_off`. -- **payload_return_to_base** (*Optional*): The payload to send to the `command_topic` to tell the vacuum to return to base. Defaults to `return_to_base`. -- **payload_stop** (*Optional*): The payload to send to the `command_topic` to stop the vacuum. Defaults to `stop`. -- **payload_clean_spot** (*Optional*): The payload to send to the `command_topic` to begin a spot cleaning cycle. Defaults to `clean_spot`. -- **payload_locate** (*Optional*): The payload to send to the `command_topic` to locate the vacuum (typically plays a song). Defaults to `locate`. -- **payload_start_pause** (*Optional*): The payload to send to the `command_topic` to start or pause the vacuum. Defaults to `start_pause`. -- **battery_level_topic** (*Optional*): The MQTT topic subscribed to receive battery level values from the vacuum. -- **battery_level_template** (*Optional*): Defines a [template](/topics/templating/) to define the battery level of the vacuum. -- **charging_topic** (*Optional*): The MQTT topic subscribed to receive charging state values from the vacuum. -- **charging_template** (*Optional*): Defines a [template](/topics/templating/) to define the charging state of the vacuum. -- **cleaning_topic** (*Optional*): The MQTT topic subscribed to receive cleaning state values from the vacuum. -- **cleaning_template** (*Optional*): Defines a [template](/topics/templating/) to define the cleaning state of the vacuum. -- **docked_topic** (*Optional*): The MQTT topic subscribed to receive docked state values from the vacuum. -- **docked_template** (*Optional*): Defines a [template](/topics/templating/) to define the docked state of the vacuum. -- **fan_speed_topic** (*Optional*): The MQTT topic subscribed to receive fan speed values from the vacuum. -- **fan_speed_template** (*Optional*): Defines a [template](/topics/templating/) to define the fan speed of the vacuum. -- **set_fan_speed_topic** (*Optional*): The MQTT topic to publish commands to control the vacuum's fan speed. -- **fan_speed_list** (*Optional*): List of possible fan speeds for the vacuum. -- **send_command_topic** (*Optional*): The MQTT topic to publish custom commands to the vacuum. +{% configuration %} +name: + description: The name of the vacuum. + required: false + type: string + default: MQTT Vacuum +supported_features: + description: "List of features that the vacuum supports (possible values are `turn_on`, `turn_off`, `pause`, `stop`, `return_home`, `battery`, `status`, `locate`, `clean_spot`, `fan_speed`, `send_command`)." + required: false + type: string list + default: "`turn_on`, `turn_off`, `stop`, `return_home`, `status`, `battery`, `clean_spot`" +command_topic: + description: The MQTT topic to publish commands to control the vacuum. + required: false + type: string +qos: + description: The maximum QoS level of the state topic. + required: false + type: integer + default: 0 +retain: + description: If the published message should have the retain flag on or not. + required: false + type: boolean + default: false +payload_turn_on: + description: "The payload to send to the `command_topic` to begin the cleaning cycle." + required: false + type: string + default: turn_on +payload_turn_off: + description: "The payload to send to the `command_topic` to turn the vacuum off." + required: false + type: string + default: turn_off +payload_return_to_base: + description: The payload to send to the `command_topic` to tell the vacuum to return to base. + required: false + type: string + default: return_to_base +payload_stop: + description: The payload to send to the `command_topic` to stop the vacuum. + required: false + type: string + default: stop +payload_clean_spot: + description: The payload to send to the `command_topic` to begin a spot cleaning cycle. + required: false + type: string + default: clean_spot +payload_locate: + description: The payload to send to the `command_topic` to locate the vacuum (typically plays a song). + required: false + type: string + default: locate +payload_start_pause: + description: The payload to send to the `command_topic` to start or pause the vacuum. + required: false + type: string + default: start_pause +battery_level_topic: + description: The MQTT topic subscribed to receive battery level values from the vacuum. + required: false + type: string +battery_level_template: + description: "Defines a [template](/topics/templating/) to define the battery level of the vacuum." + required: false + type: string +charging_topic: + description: The MQTT topic subscribed to receive charging state values from the vacuum. + required: false + type: string +charging_template: + description: "Defines a [template](/topics/templating/) to define the charging state of the vacuum." + required: false + type: string +cleaning_topic: + description: The MQTT topic subscribed to receive cleaning state values from the vacuum. + required: false + type: string +cleaning_template: + description: "Defines a [template](/topics/templating/) to define the cleaning state of the vacuum." + required: false + type: string +docked_topic: + description: The MQTT topic subscribed to receive docked state values from the vacuum. + required: false + type: string +docked_template: + description: "Defines a [template](/topics/templating/) to define the docked state of the vacuum." + required: false + type: string +fan_speed_topic: + description: The MQTT topic subscribed to receive fan speed values from the vacuum. + required: false + type: string +fan_speed_template: + description: "Defines a [template](/topics/templating/) to define the fan speed of the vacuum." + required: false + type: string +set_fan_speed_topic: + description: The MQTT topic to publish commands to control the vacuum's fan speed. + required: false + type: string +fan_speed_list: + description: List of possible fan speeds for the vacuum. + required: false + type: string list +send_command_topic: + description: The MQTT topic to publish custom commands to the vacuum. + required: false + type: string +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. + required: false + type: string +payload_available: + description: The payload that represents the available state. + required: false + type: string + default: online +payload_not_available: + description: The payload that represents the unavailable state. + required: false + type: string + default: offline +{% endconfiguration %} ### {% linkable_title Default MQTT Protocol %} diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index e14e1506578..4abc27588cb 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -155,7 +155,7 @@ To fetch the token follow these instructions depending on your mobile phone plat Follow the pairing process using your phone and Mi-Home app. You will be able to retrieve the token from a SQLite file inside your phone. -Before you begin you need to install `libffi-dev` and `libssl-dev` by running the command below. This is needed for `python-mirobo` to be installed correctly. +Before you begin you need to install `libffi-dev` and `libssl-dev` by running the command below. This is needed for `python-miio` to be installed correctly. ```bash $ sudo apt-get install libffi-dev libssl-dev @@ -185,7 +185,7 @@ To fetch the token follow these instructions depending on your mobile phone plat Follow the pairing process using your phone and Mi-Home app. You will be able to retrieve the token from a SQLite file inside your phone. -Before you begin you need to install `libffi-dev` and `libssl-dev` by running the command below. This is needed for `python-mirobo` to be installed correctly. +Before you begin you need to install `libffi-dev` and `libssl-dev` by running the command below. This is needed for `python-miio` to be installed correctly. ```bash $ sudo apt-get install libffi-dev libssl-dev diff --git a/source/_components/weather.darksky.markdown b/source/_components/weather.darksky.markdown new file mode 100644 index 00000000000..0352ef6074e --- /dev/null +++ b/source/_components/weather.darksky.markdown @@ -0,0 +1,70 @@ +--- +layout: page +title: "Dark Sky" +description: "Instructions how to integrate Dark Sky within Home Assistant." +date: 2016-09-29 09:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: dark_sky.png +ha_category: Weather +ha_release: 0.61 +ha_iot_class: "Cloud Polling" +--- + +The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as +a source for meteorological data for your location. + +You need an API key which is free but requires +[registration](https://darksky.net/dev/register). The free tier allows up to +1000 calls per day, this platform updates at most every 3 minutes, using up to +480 of those calls. + +
+[Dark Sky](https://darksky.net/dev/) will charge you $0.0001 per API call if you +enter your credit card details and create more than 1000 calls per day. +
+ +To add Dark Sky to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +weather: + - platform: darksky + api_key: YOUR_API_KEY +``` + +{% configuration %} +api_key: + description: "Your API key for [Dark Sky](https://darksky.net/dev/)." + required: true + type: string +latitude: + description: Manually specify latitude. By default the value will be taken from the Home Assistant configuration. + required: false + type: number + default: Provided by Home Assistant configuration +longitude: + description: Manually specify longitude. By default the value will be taken from the Home Assistant configuration. + required: false + type: number + default: Provided by Home Assistant configuration +units: + description: "Manually specify unit system. Valid values are: `auto`, `us`, `si`, `ca`, `uk` and `uk2`." + required: false + type: string + default: "`si` if Home Assistant unit system is metric, `us` if imperial." +name: + description: Name to use in the frontend. + required: false + type: string + default: Open Sky +{% endconfiguration %} + ++This platform is an alternative to the [`darksky`](/components/sensor.darksky/) +sensor. +
+ +Details about the API are available in the [Dark Sky documentation](https://darksky.net/dev/docs). diff --git a/source/_components/weather.metoffice.markdown b/source/_components/weather.metoffice.markdown index d05b55431e6..58751218063 100644 --- a/source/_components/weather.metoffice.markdown +++ b/source/_components/weather.metoffice.markdown @@ -20,16 +20,15 @@ To add the Met Office weather platform to your installation, you'll need to regi ```yaml weather: - platform: metoffice - api_key: "my-api-key" + api_key: YOUR_API_KEY ``` Configuration variables: -- **api_key** (*Required*): Your personal API key from the [Datapoint website][datapoint]. +- **api_key** (*Required*): Your personal API key from the [Datapoint website](http://www.metoffice.gov.uk/datapoint).This platform is an alternative to the [`metoffice`](/components/sensor.metoffice/) sensor. The weather platform is easier to configure but less customizable.
-[datapoint]: http://www.metoffice.gov.uk/datapoint diff --git a/source/_posts/2017-12-17-introducing-home-assistant-cloud.markdown b/source/_posts/2017-12-17-introducing-home-assistant-cloud.markdown index ddc52e5ab7c..b55eabb3e31 100644 --- a/source/_posts/2017-12-17-introducing-home-assistant-cloud.markdown +++ b/source/_posts/2017-12-17-introducing-home-assistant-cloud.markdown @@ -14,7 +14,9 @@ Today we’re introducing the next step in the Home Assistant saga: the Home Ass The first service that is supported via the Home Assistant Cloud is the Amazon Alexa Smart Home skill. This integration will allow you to control all your devices in Home Assistant via Amazon Alexa. You will be able to say _“Alexa, turn on the kitchen lights”_ and your local Home Assistant will turn on the lights. Because Alexa talks to Home Assistant, it doesn’t matter what kind of lights they are! Anything that is linked to Home Assistant will work. IKEA lights, a 10 year old X10 switch or something you’ve made yourself. As long as Home Assistant can control it, you can control it via Alexa. -We have designed the Home Assistant Cloud with security in mind. When you activate the new Cloud component, your instance will setup a secure connection to the Home Assistant Cloud. Alexa will deliver messages to our cloud which we will forward to your local instance for processing. We just forward the response back to Alexa. This means that we do not have to store the state of your house in our cloud, we’re just the messenger! +We have designed the Home Assistant Cloud with security in mind. When you activate the new Cloud component, your instance will create a secure connection to the Home Assistant Cloud. There is no need for any further configuration or to expose your instance to the internet. + +Integrations like Alexa will deliver messages to our cloud which we will forward to your local instance for processing. We just forward the response back to Alexa. This means that we do not have to store the state of your house in our cloud, we’re just the messenger! We are making the beta of the Home Assistant Cloud publicly available today. During the beta period the Home Assistant Cloud will be free to use. We are currently planning to run a beta till March 1, 2018 0:00 UTC. Once the beta ends, the Home Assistant Cloud will be part of our Community Support package which will run at $5 USD/month. diff --git a/source/_posts/2018-01-14-release-61.markdown b/source/_posts/2018-01-14-release-61.markdown new file mode 100644 index 00000000000..230b737f83b --- /dev/null +++ b/source/_posts/2018-01-14-release-61.markdown @@ -0,0 +1,732 @@ +--- +layout: post +title: "0.61: Coinbase, Discogs, iGlo, Sochain" +description: "New crypto currency sensors and other new stuff including breaking changes." +date: 2018-01-14 18:00:00 +date_formatted: "January 14, 2018" +author: Fabian Affolter +author_twitter: fabaff +comments: true +categories: Release-Notes +og_image: /images/blog/2018-01-0.61/components.png +--- + +