From c283ad68192f30caed86e09592ae01af3797e146 Mon Sep 17 00:00:00 2001 From: gross1989 Date: Wed, 21 Sep 2016 18:28:01 +0200 Subject: [PATCH] Instructions for Nuimo controller component based on SDK (#865) --- source/_components/nuimo_controller.markdown | 71 +++++++++++++++++++ source/images/supported_brands/nuimo.png | Bin 0 -> 10966 bytes 2 files changed, 71 insertions(+) create mode 100644 source/_components/nuimo_controller.markdown create mode 100644 source/images/supported_brands/nuimo.png diff --git a/source/_components/nuimo_controller.markdown b/source/_components/nuimo_controller.markdown new file mode 100644 index 00000000000..6e28f092ac0 --- /dev/null +++ b/source/_components/nuimo_controller.markdown @@ -0,0 +1,71 @@ +--- +layout: page +title: "Nuimo controller" +description: "Instructions how to setup and use a Nuimo device in Home Assistant." +date: 2016-08-30 12:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: nuimo.png +ha_category: Hub +ha_release: 0.28 +ha_iot_class: "Local Poll" +--- + +The `nuimo_controller` component allows you to connect to a [Nuimo](http://www.senic.com/) device for receiving input events and displaying on the led matrix via the [Nuimo SDK for Python on Linux](https://github.com/getSenic/nuimo-linux-python). + +To connect to a Nuimo device add the following section to your `configuration.yaml` file: + +```yaml +nuimo_controller: + mac: 'CE:B5:12:25:21:89' +``` + + +Configuration variables: + +- **mac** (*Optional*): skip discovery and connect to this device address +- **name** (*Optional*): handle more than one device by names + + +Example for testing rotation value and sending to led matrix: + +```yaml +automation Nuimo_rotate_right: + trigger: + platform: event + event_type: nuimo_input + event_data: + type: ROTATE + condition: + condition: template + value_template: {% raw %}'{{ trigger.event.data.value > 100 }}'{% endraw %} + action: + service: nuimo_controller.led_matrix + data: + matrix: + '........ + 0000000. + .000000. + ..00000. + .0.0000. + .00.000. + .000000. + .000000. + ........ ' + interval: 0.5 +``` + +Troubleshooting: + +- use `hcitool lescan` to see the mac address of your device + +- allow non-root user access to Bluetooth LE with `sudo setcap cap_net_raw+eip $(eval readlink -f $(which python))` + +- install the newest version of [pygattlib](https://bitbucket.org/OscarAcena/pygattlib) from +the repository, either because there is no binary package for your system or the pip version +contains errors, with `pip install hg+https://bitbucket.org/OscarAcena/pygattlib --target $HOME/.homeassistant/deps`. +( dependencies of pygattlib: `sudo apt-get install pkg-config libboost-python-dev +libboost-thread-dev libbluetooth-dev libglib2.0-dev python-dev` ) +Then invoke home-assistant with `hass --skip-pip`. diff --git a/source/images/supported_brands/nuimo.png b/source/images/supported_brands/nuimo.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc4549b42487dc9b439d368a44a2c52c2e0a6d6 GIT binary patch literal 10966 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