From 9fba4155ba4f162cfda50d6ed2245f3dd97f32ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Oldag?= Date: Tue, 6 Dec 2016 09:09:22 +0100 Subject: [PATCH] Added documentation for flic smart button component. (#1527) * Added documentation for flic component. --- .../_components/binary_sensor.flic.markdown | 63 ++++++++++++++++++ source/images/supported_brands/flic.png | Bin 0 -> 20031 bytes 2 files changed, 63 insertions(+) create mode 100644 source/_components/binary_sensor.flic.markdown create mode 100644 source/images/supported_brands/flic.png diff --git a/source/_components/binary_sensor.flic.markdown b/source/_components/binary_sensor.flic.markdown new file mode 100644 index 00000000000..8bcc790d429 --- /dev/null +++ b/source/_components/binary_sensor.flic.markdown @@ -0,0 +1,63 @@ +--- +layout: page +title: Flic Smart Button +description: "Instructions how to integrate flic buttons within Home Assistant." +date: 2016-12-02 22:03 +sidebar: true +comments: false +sharing: true +footer: true +logo: flic.png +ha_category: Binary Sensor +ha_iot_class: "Local Push" +ha_release: 0.33.4 +--- + +The `flic` platform allows you to connect with multiple [flic](https://flic.io) smart buttons. + +The platform does not directly interact with the buttons, but communicates with the flic service that manages the buttons. The service can run on the same instance as home assistant or any other reachable machine. For setup instructions visit the [GitHub repository](https://github.com/50ButtonsEach/fliclib-linux-hci#quick-start) of the service. + +### {% linkable_title Configuration %} + +```yaml +# Example configuration.yaml entry +binary_sensor: + - platform: flic +``` + +Configuration variables: + +- **host** (*Optional*): The IP or hostname of the flic service server. (default: `localhost`) +- **port** (*Optional*): The port of the flic service. (default: `5551`) +- **discovery** (*Optional*): If `true`, the component is configured to constantly scan for new buttons. (default: `true`) + + +#### {% linkable_title Discovery %} + +If discovery is enabled, you can add a new button by pressing it for at least 7s. The button will be paired with the flic service and added to Home Assistant. Otherwise, you have to manually pair it with the flic service. The Home Assistant platform will not scan for new buttons and will only connect to buttons already paired. + + +#### {% linkable_title Events %} + +The flic component fires `flic_click` events on the bus. You can capture the events and respond to them in automation scripts like this: + +```yaml +# Example configuration.yaml automation entry +automation: + - alias: Turn on lights in living room if flic is pressed once + trigger: + platform: event + event_type: flic_click + event_data: + button_name: flic_81e4ac74b6d2 + click_type: single + action: + service: homeassistant.turn_off + entity_id: group.lights_livingroom +``` + +Event data: + +- **button_name**: The name of the button, that triggered the event. +- **button_address**: The bluetooth address of the button, that triggered the event. +- **click_type**: The type of click. Possible values are `single`, `double` and `hold`. diff --git a/source/images/supported_brands/flic.png b/source/images/supported_brands/flic.png new file mode 100644 index 0000000000000000000000000000000000000000..eb25784c3028bf081ef8ee69b7275a370754e766 GIT binary patch literal 20031 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