Lighthouse
An 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)
Install / Use
/learn @emericg/LighthouseREADME
Lighthouse
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.
Supported devices
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.
Screenshots

Documentation
Dependencies
You will need a C++17 compiler and Qt 6.8+ with the following 'additional librairies':
- Qt Connectivity
- Qt Multimedia
- Qt Quick 3D (for desktop builds)
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 macOS and iOS builds, you'll need Xcode (15+) installed.
For Windows builds, you'll need MSVC (2022) installed. Bluetooth won't work with MinGW.
For Android builds, you'll need the appropriates JDK (17) SDK (28+) and NDK (28+). You can customize Android build environment using the assets/android/gradle.properties file.
Building Lighthouse
$ git clone https://github.com/emericg/Lighthouse.git
$ cd Lighthouse/
$ cmake -B build/
$ cmake --build build/
Using Lighthouse
Android
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.
iOS
The application will ask you for permission to use Bluetooth. You can learn more on Apple website.
macOS
Starting with macOS 11, the application will ask you for permission to use Bluetooth. You can learn more on Apple developer website.
Third party projects used by Lighthouse
- Qt6 (LGPL v3)
- AppUtils (MIT)
- MobileUI (MIT)
- SingleApplication (MIT)
- ComponentLibrary (MIT)
- IconLibrary uses a combinaison of licenses, see COPYING
- RC4 code from Christophe Devine (GPL v2)
- Graphical resources: assets/COPYING
Get involved!
Developers
You can browse the code on the GitHub page, submit patches and pull requests! Your help would be greatly appreciated ;-)
Users
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!
License
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
Related Skills
node-connect
341.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.4kCommit, push, and open a PR
