Skip to content

pakastin/homebridge-ruuvitag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 

Repository files navigation

homebridge-ruuvitag

With this Homebridge plugin you can use RuuviTags with Apple HomeKit.

Updates

Installation

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

Find out Ruuvitag ID's

You can find out Ruuvitag ID's by running ruuvitag-debug:

npx ruuvitag-debug

Config

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"
    }
  ]
}

Socket option

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"

Run

Now you can run Homebridge:

homebridge

Start on startup

Install pm2:

npm -g i pm2

Start with pm2 and save as daemon:

pm2 start homebridge
pm2 save
pm2 startup

Supported features

  • temperature
  • humidity
  • battery level
  • battery level alert
  • heat alert
  • cold alert
  • high humidity alert
  • low humidity alert
  • motion alert