Project · code
Bluetooth devices without the app
Home Assistant integrations for an ANKO body scale and a Pulsetto neckband, with no phone app and no cloud.
- Kind
- code
- Tags
- home-assistant, bluetooth, python
Two Home Assistant integrations that talk to a device directly over Bluetooth Low Energy.
ANKO body scale
ha-anko-body-scale reads the ANKO iF1012D, a body scale sold by Kmart in Australia. It only listens: the scale broadcasts each weigh-in and the integration never connects, so it works through Bluetooth proxies anywhere in the house. The decoding is in Reading an ANKO body scale from its Bluetooth advertisements.
From weight, impedance and a person’s height, age and sex it estimates body fat, fat-free mass, body water and basal metabolic rate. It uses a published foot-to-foot equation when the impedance is in a believable range and falls back to one based on BMI when it is not. Each result says which method produced it. Muscle, bone, visceral fat and metabolic age are labelled as heuristics.
A household shares a scale, so readings are assigned to people automatically: see Telling people apart by weight.
Pulsetto
ha-pulsetto controls a Pulsetto vagus-nerve stimulator: start and stop a session, set the intensity from 0 to 9, choose the side, and read the battery.
The device speaks plain text over the Nordic UART service. The protocol comes from an existing community write-up, checked against the vendor’s app; I have not yet verified the command sequences on a device myself, and the integration says so.
Two things about the hardware shaped the design. The radio has no authentication, so any Bluetooth client in range can drive it. And the session timer lives in Home Assistant’s memory, so if Home Assistant stops, nothing sends the stop command. The command that reboots the device into firmware-update mode is deliberately not exposed.
Code
- ha-anko-body-scale ANKO (Kmart Australia) Bluetooth body scale integration for Home Assistant
- ha-pulsetto Home Assistant custom component for controlling Pulsetto vagus nerve stimulators over BLE (no phone app needed)