With this Homebridge plugin you can use RuuviTags with Apple HomeKit.
- 5.0.0: Added ruuvitag version 5 support
- 2.3.0: Updated ruuvitag support
- 1.8.0: Fixed flooding issue and added
frequency
(update frequency) parameter - 1.7.0: Added support for latest Node.js versions!
- 1.5.0: Humidity triggers!
- 1.4.0: Disable temp/humidity
- 1.3.1: Enhanced movement formula
- 1.3.0: Motion triggers!
- 1.2.0: You can now set up heat and cold triggers
- 1.1.0: Show battery level + low battery warning
First, install Node.js Avahi (Homebridge might need this), Homebridge and this plugin:
# install Avahi if needed
sudo apt-get install libavahi-compat-libdnssd-dev
# install Node.js
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
# install homebridge + homebridge-ruuvitag
sudo npm i -g homebridge
sudo npm i -g homebridge-ruuvitag
You can find out Ruuvitag ID's by running ruuvitag-debug
:
npx ruuvitag-debug
Create a ~/.homebridge/config.json
file
(change ID's and add/remove tags as necessary):
{
"bridge": {
"name": "Ruuvi",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"description": "RuuviTag bridge",
"accessories": [
{
"accessory": "Ruuvitag",
"name": "Ruuvi 1",
"id": "ca67bf52ca12"
},
{
"accessory": "Ruuvitag",
"name": "Ruuvi 2",
"id": "fa81b4c6a891"
},
{
"accessory": "Ruuvitag",
"name": "Ruuvi 3",
"id": "ac67df12bb34"
}
]
}
You can listen to RuuviTag update events emitted from a socket server instead of using Bluetooth. This is signalled by adding a configuration parameter for the accessory.
"socket": "http://raspberrypi.local:8787"
Now you can run Homebridge:
homebridge
Install pm2:
npm -g i pm2
Start with pm2 and save as daemon:
pm2 start homebridge
pm2 save
pm2 startup
- temperature
- humidity
- battery level
- battery level alert
- heat alert
- cold alert
- high humidity alert
- low humidity alert
- motion alert