All Projects → kirichkov → home_assistant-ble

kirichkov / home_assistant-ble

Licence: other
Companion application for home-assistant, sending bluetooth low energy detection

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to home assistant-ble

pycalima
Python interface for Pax Calima Fan via Bluetooth LE
Stars: ✭ 34 (+61.9%)
Mutual labels:  home-automation, bluetooth, bluetooth-low-energy
Node Eq3ble
node.js package to control an EQ3 bluetooth thermostat
Stars: ✭ 22 (+4.76%)
Mutual labels:  home-automation, bluetooth
Room Assistant
Presence tracking and more for automation on the room-level
Stars: ✭ 764 (+3538.1%)
Mutual labels:  home-automation, bluetooth
Ct Smart Home
A ready-to-use Node-RED setup for home automation
Stars: ✭ 132 (+528.57%)
Mutual labels:  home-automation, bluetooth-low-energy
soma-ctrl
Node util for controlling SOMA smart shade via MQTT or HTTP
Stars: ✭ 19 (-9.52%)
Mutual labels:  home-automation, bluetooth
csrmesh
Reverse engineered bridge implementation of the CSRMesh BTLE protocol
Stars: ✭ 65 (+209.52%)
Mutual labels:  home-automation, bluetooth-low-energy
Xiaomi Flower Care Api
Xiaomi Flower Care (MiFlora) API wrapper.
Stars: ✭ 111 (+428.57%)
Mutual labels:  home-automation, bluetooth-low-energy
Gatt Python
Bluetooth GATT SDK for Python
Stars: ✭ 233 (+1009.52%)
Mutual labels:  bluetooth, bluetooth-low-energy
Platypush
A versatile and extensible platform for home and life automation with hundreds of supported integrations
Stars: ✭ 192 (+814.29%)
Mutual labels:  home-automation, bluetooth
bluetooth-terminal
ES6 class for serial communication with your own Bluetooth Low Energy (Smart) devices
Stars: ✭ 43 (+104.76%)
Mutual labels:  bluetooth, bluetooth-low-energy
py-bluetooth-utils
Python module containing bluetooth utility functions, in particular for easy BLE scanning and advertising
Stars: ✭ 60 (+185.71%)
Mutual labels:  bluetooth, bluetooth-low-energy
ESP32 Thing Plus
ESP32 Thing-compatible board using the WROOM module and a QWIIC connector.
Stars: ✭ 18 (-14.29%)
Mutual labels:  bluetooth, bluetooth-low-energy
ruuvidriver
Serves your Ruuvitag Weather Station data over HTTP.
Stars: ✭ 13 (-38.1%)
Mutual labels:  home-automation, bluetooth
switchmate
A python-based command line utility for controlling Switchmate switches
Stars: ✭ 34 (+61.9%)
Mutual labels:  home-automation, bluetooth-low-energy
Bluetooth
Cross-platform Bluetooth API for Go and TinyGo.
Stars: ✭ 246 (+1071.43%)
Mutual labels:  bluetooth, bluetooth-low-energy
Ha Bt Proximity
Distributed Bluetooth Room Presence Sensor for Home Assistant
Stars: ✭ 77 (+266.67%)
Mutual labels:  home-automation, bluetooth
Radareeye
A tool made for specially scanning nearby devices[BLE, Bluetooth & Wifi] and execute our given command on our system when the target device comes in-between range.
Stars: ✭ 218 (+938.1%)
Mutual labels:  bluetooth, bluetooth-low-energy
Python Bluezero
A simple Python interface to Bluez
Stars: ✭ 222 (+957.14%)
Mutual labels:  bluetooth, bluetooth-low-energy
Ha Tts Bluetooth Speaker
TTS Bluetooth Speaker for Home Assistant
Stars: ✭ 140 (+566.67%)
Mutual labels:  home-automation, bluetooth
ble
Bluetooth Low Energy for Linux / macOS
Stars: ✭ 264 (+1157.14%)
Mutual labels:  bluetooth, bluetooth-low-energy

HomeAssistant::Ble

Build Status Gem Version

Companion app from home-assistant sending BLE events.

Since HA does not cope well with bluetooth device tracking (https://home-assistant.io/components/device_tracker.bluetooth_le_tracker/) this app runs along home-assistant and sends device tracking to it.

Installation

For raspbian install required packages:

$ sudo apt-get install ruby-dev libcap-dev

Build the gem from source to use the latest version:

$ git clone https://github.com/kirichkov/home_assistant-ble.git
$ cd home_assistant-ble
$ gem build home_assistant-ble.gemspec
$ sudo gem install home_assistant-ble-1.4.2.gem

Usage

Run home_assistant-ble [your config file] binary.

Systemd

To launch as a systemd service, you can copy home_assistant-ble.service file present in this repo.

I'll probably build an archlinux package at some point (TODO).

Non noot

Running as non-root on recent Raspbian, Ubuntu and Debian-based distros requires changes to DBus configuration and adding the user to the bluetooth group. For more information check this stackexchange post.

Make sure you have the following in your /etc/dbus-1/system.d/bluetooth.conf:

<!-- allow users of bluetooth group to communicate -->
<policy group="bluetooth">
  <allow send_destination="org.bluez"/>
  <allow send_interface="org.bluez.GattCharacteristic1"/>
  <allow send_interface="org.bluez.GattDescriptor1"/>
  <allow send_interface="org.freedesktop.DBus.ObjectManager"/>
  <allow send_interface="org.freedesktop.DBus.Properties"/>
</policy>

Then reload DBus:

sudo service dbus reload

In other Linux distros to be able to run with a non-root user, read http://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root. In short (adapt if using a non-debian distribution):

sudo apt install libcap2-bin
sudo setcap 'cap_net_raw,cap_net_admin+eip' `readlink -f \`which ruby\``

Note: these instructions are probably not sufficient, see #1

Configuration

interval: 30                              # in seconds, interval between device scan. Defaults to 30
grace_period: 60                          # in seconds, delay before considering a device has disappeared. Defaults to 60
home_assistant_url: http://localhost:8123 # url to contact home-assistant. Defaults to http://localhost:8123
home_assistant_token: token               # Long lived access token if you're using the `homeassistant` http auth type.
home_assistant_password: xxxxx            # non mandatory password to authenticate to home-assistant api. Default is nil. If `home_assistant_token` is provided this setting has no effect
home_assistant_devices:                   # devices whose activity will be sent to home-assistant. Default is empty (no tracked devices)
  F0:5C:F4:EA:BF:C8: nut1                 # [macaddress]: [identifier for home-assistant]

home_assistant_devices_file: /var/lib/hass/known_devices.yaml # read devices whose activity will be sent to home-assistant. Default is empty (devices from home-assistant are not tracked). This can easily replace home_assistant_devices setting.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].