homebridge-ruuvitag

Ruuvitag bridge for Homebridge

Usage no npm install needed!

<script type="module">
  import homebridgeRuuvitag from 'https://cdn.skypack.dev/homebridge-ruuvitag';
</script>

README

homebridge-ruuvitag

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

Updates

Installation

First, install Avahi (Homebridge needs this), Homebridge and this plugin (you also need Node.js installed):

sudo apt-get install libavahi-compat-libdnssd-dev
sudo npm i -g homebridge
sudo npm i -g homebridge-ruuvitag

Find out Ruuvitag ID's

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

sudo npm -g i ruuvitag-debug
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