Blemacd is a macOS daemon to control BLE devices via Unix socket. This is a pet project mainly to control Philips Hue White Ambiance BLE bulb via Keyboard Maestro and/or Hammerspoon.
It is based on Apple’s CoreBluetooth library and its Rust wrapper.
-
Better docs and HUE instructions
-
Handle or limit multiple connections?
-
Confirmation on command result (like status change)
-
Populating list of devices may be done by different API calls:
-
CentralManager::get_peripherals
/retrievePeripheralsWithIdentifiers
-
CentralManager::get_peripherals_with_services
,retrieveConnectedPeripheralsWithServices
-
CentralManager::scan scanForPeripheralsWithServices
(CoreBluetooth docs)
-
-
Looks like some peripherals can have multiple names?
-
Better status (include path, number of connections and uptime?)
-
Better signals handling, namely
Ctrl+C
-
Options for commands (like format output)
-
Homebrew formula
-
Colorize output?
-
Show info:
-
UUID, RSSI in decibels
-
advertisement data: Service UUIDs, connectable, local_name
-
manufacturer data?
-
-
Platform-specific imports are not resolved by Rust analyzer
Licensed under either of
-
Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
-
MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.