This project is a library and command-line interface for communicating with and programming a Plugable PS-BTAPS1 Bluetooth Home Automation Switch.
- libbtaps.py
- Serves as a Python implementation of the BTAPS protocol, either to be used directly in your programs, or to be used as a reference in developing your own implementation in a different language.
- btaps.py
- A simple command-line UI that implements all the features exposed by libbtaps.py.
USAGE: python btaps.py [Bluetooth address] EXAMPLE: python btaps.py 00:00:FF:FF:00:00
- The following functions of the Plugable PS-BTAPS1 are currently present in the library:
- Setting Switch On/Off
- Reading current status of switch (name, on/off state, timer settings)
- Creating, modifying and deleting timers
- Changing the device's name
- Updating the device's date and time to your PC's current date and time
- The following features and items are still to come:
- NFControl (Device proximity on/off functionality)
- Security PIN
- Better error handling
- Better documentation
- Mac OS X support
Due to PyBluez limitations, this library will currently only work on Linux and Windows systems.
First, install PyBluez using the appropriate link or command for your OS:
- Windows
- Download and install PyBluez for Python 2.7, or `PyBlues on Windows with Python 3.3+`_
Ubuntu/Debian:
- For Python 2, there's a system package:
- sudo apt install python-bluez
- For Python 3, install dependencies, and use pip:
- sudo apt install libbluetooth-dev sudo pip install pybluez
Fedora:
sudo yum install pybluez
Arch:
sudo pacman -S python2-pybluez
Then, simply pip install our module::
pip install plugable-btaps
Find some usage examples and documentation for libbtaps in our GitHub Wiki
- When I try to pip install plugable-btaps I get a compilation error:
- This means that you have not installed PyBluez and pip is trying to compile PyBluez from source, but you don't have the necessary compilation dependencies installed on your system. Install PyBluez as outlined above.