Lighthouse is small application that can controls Bluetooth Low Energy smart lights, as well as your computer with the help of Bluetooth Low Energy remotes (or with the mobile companion app).
At the moment, it is not intended to be used by anyone who doesn't know what they're doing.
Application developed by Emeric Grange.
Remotes and beacons:
- Yeelight S1 button (YLAI003)
- Yeelight Remote Control (YLYK01YL)
- Yeelight Wireless Smart Dimmer (YLKG07YL and YLKG08YL)
The YLKG07YL and YLKG08YL dimmers will NEED a beacon key. You can use the get_beacon_key.py python script to extract yours, then set it directly in the app.
Nintendo devices:
- Pokeball Plus (PBP)
- Pokemon Go Plus (PGP)
Lamps and lighbulbs:
- MiPow SmartBulbs
Lighthouse is NOT associated with Xiaomi, Yeelight, MiPow, Nintendo, or any other device manufacturer.
You will need a C++17 compiler and Qt 6.5+ with the following 'additional librairies':
- Qt Connectivity
- Qt Multimedia
- QtQuick 3D
You will also need the mbedtls
librairie installed in order to handle YLKG07YL and YLKG08YL devices.
On linux you'll need an uinput
enabled kernel.
For Android builds, you'll need the appropriates JDK (11) SDK (24+) and NDK (25+). You can customize Android build environment using the assets/android/gradle.properties
file.
For Windows builds, you'll need the MSVC 2019+ compiler. Bluetooth won't work with MinGW.
For macOS and iOS builds, you'll need Xcode 13+ installed.
$ git clone https://github.com/emericg/Lighthouse.git
$ cd Lighthouse/
$ qmake6
$ make
The Android operating system requires applications to ask for device location permission in order to scan for nearby Bluetooth Low Energy sensors. Android 10+ will ask for ACCESS_FINE_LOCATION, while Android 6+ will only ask for ACCESS_COARSE_LOCATION.
This is a mandatory requirement. The application is neither using nor storing your location. Sorry for the inconvenience.
You can learn more on Android developer website.
Some devices also require the GPS to be turned on while scanning for new sensors. This requirement is not documented and there is not much that can be done about it.
The application will ask you for permission to use Bluetooth. You can learn more on Apple website.
Starting with macOS 11, the application will ask you for permission to use Bluetooth. You can learn more on Apple developer website.
- Qt6 (LGPL v3)
- MobileUI (MIT)
- SingleApplication (MIT)
- RC4 code from Christophe Devine (GPL v2)
- Graphical resources: assets/COPYING
You can browse the code on the GitHub page, submit patches and pull requests! Your help would be greatly appreciated ;-)
You can help us find and report bugs, suggest new features, help with translation, documentation and more! Visit the Issues section of the GitHub page to start!
Lighthouse is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Read the LICENSE file or consult the license on the FSF website directly.
Emeric Grange emeric.grange@gmail.com