https://github.com/johnelliott/alpicoold
Apple HomeKit bridge for Alpicool portable cooler style fridges
https://github.com/johnelliott/alpicoold
bluetooth fridge homekit raspberry-pi wireshark
Last synced: about 2 months ago
JSON representation
Apple HomeKit bridge for Alpicool portable cooler style fridges
- Host: GitHub
- URL: https://github.com/johnelliott/alpicoold
- Owner: johnelliott
- Created: 2021-07-30T04:02:09.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-08-05T22:08:00.000Z (almost 5 years ago)
- Last Synced: 2025-05-14T03:15:15.520Z (about 1 year ago)
- Topics: bluetooth, fridge, homekit, raspberry-pi, wireshark
- Language: Go
- Homepage:
- Size: 81.1 KB
- Stars: 15
- Watchers: 3
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Alpicoold
Apple HomeKit bridge for Alpicool portable cooler style fridges
## What is this?
This is a personal hack project for my little fridge.
Alpicoold:
- Is a system daemon
- Runs via systemd
- Intended for Raspberry Pi or Linux
- Uses Bluetooth and IP networking.
- Interacts with a fridge on the Bluetooth side
- Interacts with Apple HomeKit on the IP side
- Acts as a HomeKit "bridge"
- Exposes thermostat, toggle switches, and a webcam to HomeKit
- Uses Ansible as the main way to deploy code to the target host
- Looks as experimental and rough as it is :)
See the k25 package for the Bluetooth characteristic data frames used to interact with the fridge. The protocol is inferred from packet sniffing the manufacturer's app traffic using Wireshark.
## Installs
Deployment is via an Ansible playbook called deploy, with another for installing the camera and ffmpeg loopback device.
This playbook uses make and cross-compiles from x86/Darwin to arm/linux via the musl cross-compiler before copying the executable to the Pi.
1. Install the cross-compiler on the mac
1. Set up Ansible inventory and variables
1. Install the camera requirements on the pi manually or via the camera role (camera uses [hkcam](https://github.com/brutella/hkcam))
1. Run the deploy playbook to install and run the daemon
## Deploys
```bash
ansible-playbook -i ~/inventory.yml ansible/deploy.yml -l pizero2 -e'loglevel=info'
```
## Monitoring Bluetooth on Linux
Some commands to remember for monitoring Bluetooth on Raspberry Pi:
```bash
sudo btmon
sudo bluetoothctl
sudo dbus-monitor --system "type=error"
```