Skip to content

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)

License

Notifications You must be signed in to change notification settings

emericg/Lighthouse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lighthouse

License: GPL v3

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

GUI_DESKTOP1 GUI_DESKTOP2 GUI_DESKTOP3 GUI_DESKTOP4 GUI_DESKTOP5 GUI_MOBILE1

Documentation

Dependencies

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.

Building Lighthouse

$ git clone https://github.com/emericg/Lighthouse.git
$ cd Lighthouse/
$ qmake6
$ make

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

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

About

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)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages