This daemon can detect paired devices and enable features based on the bluetooth services they offer.
It detect paired devices at launch and listen for new paired or unpaired devices.
For pairing it is possible to use any tool that allow it. The daemon will listen directly to org.bluez
bus to detect such operation, so any pairing tool should work.
The daemon can be launched simply with python3 main.py
.
After pairing, all the services offered by the device (and supported by the daemon) will be enabled. What currently works is:
Project features:
- ☑️ Gathering all the paired devices and look for services for each of them
- ☑️ Detect when a device is paired or unpaired
- ❌ Reconnect device in case of disconnection: it is very difficult to handle it properly from the daemon. It would be better handled by the DE bluetooth service
- 🔲 Proper packaging
- 🔲 Documentation
Host services:
- ☑️ Detect desktop notifications
- ☑️ Detect calls from Gnome Calls
- ☑️ Detect opening and closing of MPRIS enabled applications
Generic device services:
- ☑️ Heart rate reading
- ☑️ Heart rate notification
- ☑️ Battery level reading
- ☑️ Battery level notification
- ☑️ Notification send
- ☑️ Hardware revision reading
- ☑️ Software revision reading
- ☑️ Firmware revision reading
- ☑️ Generic device info like alias, address and so on
- ❌ Step counter reading: currently impossible, such service is not exposed by InfiniTime
- ❌ Step counter notification: currently impossible, such service is not exposed by InfiniTime
- 🔲 Sync time
- 🔲 Navigation
InfiniTime services:
- ☑️ Send alert notifications to the smartwatch
- ☑️ Send call notifications to the smartwatch
- ☑️ Hangup, accept and mute notifications from the call notification
- ☑️ Media control
Interaction services:
- ☑️ Redirect desktop notifications to the smartwatch
- ☑️ Redirect call notifications to the smartwatch
- ☑️ Accept or hangup calls from the smartwatch
- ☑️ Control MPRIS applications from the smartwatch
- 🔲 Receive navigation instructions on the smartwatch