Ruuvi sensors -> Ruuvi Gateway -> Home Assistant (Easy!)

Hey everyone!

Let’s discuss about easy to use Ruuvi integration on Home Assistant (and Home Assistant Core).

If you’re not yet familiar with the HA, these videos help to understand the concept:

See also a HA demo in action:

HA is continuously getting better and bigger and recently it has made sense to separate the open source core and the complete out of the box installation that’s set up requires as little knowledge as possible. These are the main differences between HA and HA Core:

“Home Assistant Core is a Python program, in simple words. It can be run on various operating systems and provide the ability to track, control and automate your devices. When people talking about Home Assistant Core they usually refer to a standalone installation method.”

Home Assistant is a combination of Home Assistant Core and tools which allows one to run it easily on a Raspberry Pi and other platforms without setting up an operating system first. Home Assistant is an all-in one-solution and has a management user interface that can be used from the Home Assistant frontend. This interface is not present in a Home Assistant Core setup. Be aware that add-ons are only available in regular Home Assistant installations.”

HA has several add-ons that make it convenient to build different kinds of integrations that would work easily on the HA.

These are the official add-ons maintained by the HA team:

It’s worth to notice that “Add-ons are only available if you’ve used the Home Assistant installer. If you installed Home Assistant using any other method then you cannot use add-ons (but you can achieve the same result manually).”

Additionally, there are many HA Community Add-ons available:

Then, there are more than 1700 integrations available (but no Ruuvi):

As far as I know, the ruuvi-hass.io project started by @sergioisidorois the most complete set up right now. It listens Ruuvi broadcasts using computer’s (for example Raspberry Pi) Bluetooth connectivity, and that has some problems. Not so easy to set up, range is not really good and message reception is not always reliable.

What we’d like to offer Ruuvi and Home Assistant users with help of Ruuvi Gateway, is easy and quick way to set up and use Ruuvi sensors on the Home Assistant and Home Assistant Core.

Don’t get me wrong, it’s not a bad thing to support also other Bluetooth receivers, but because they tend to have issues, Ruuvi Gateway can definitely make things much easier and more reliable as it’s actually designed to do the job (to receive Bluetooth broadcasts) in the first place.

So, let’s get this project started, shall we? :sunglasses:

Tagging here @sergioisidoro @io53 @peltsippi @Scrin @ojousima @henri @Nerdaxic

3 Likes

An official Ruuvi integration in Home Assistant would be awesome!

You can also give a try to https://github.com/balda/ruuvitag-discovery/ :wink:
There’s a post in the forum about the add-on: RuuviTag Discovery: web interface to see and send measures (MQTT, databases, Home Assistant)

It would be a pleasure to help the development of the integration :slight_smile:

1 Like

Can ruuvi gateway run influxdb database? If yes, all you need is to have homeassistant running in same network and configuring influxdb sensor to homeassistant.

I am not sure how the user experience is with hassio. But some kind of auto-discover implementation for ruuvi gateway might make configuration at least almost plug and play: https://www.home-assistant.io/integrations/discovery/

Home Assistant auto discovery works with MQTT. So, if Ruuvi Gateway implement a MQTT broker, it should be possible to use it :slight_smile:

I explained here how HA use “Devices” (Ruuvi Tags) and “Entities” (measures of tags):

And here is my implementation of the auto discovery (presentation of the “Device” on /config topic and broadcast measures on /state and /attributes topics):

1 Like

This will be great! Even for us that already have ruuvitag data in homeassistant, this will give far better range than a normal bluetooth dongle/rpi and take a way the hassle that bluetooth dongles can bring :slight_smile:

I guess the easiest way to get this going would be to have the gateway expose and API from where a Ruuvi integration could be polling data, or even better, subscribe to data to get it in real-time :thinking:

There is actually already a /metrics http endpoint for monitoring the gateway health and status programmatically. This same metrics endpoint could perhaps include the tag readings as well for a simple “pull based” integration. This would also allow Prometheus to scrape the tag readings at the same time, offering yet another way to get Ruuvitag data to Grafana.

On the other hand, a more “real-time” integration would be a “push based” integration, easiest probably being with MQTT, which the gateway already uses/supports.

Perhaps this “official ruuvi integration” could even support both modes; the pull-based for the most simple setup, only configuration needed would be giving the gateway address (or perhaps even some sort of auto discovery could work?), and the push-based for more advanced users who already have a MQTT broker or specifically need faster “response times”.

That sounds like a good way to go about it. With the way home assistant store data it does not even make sense to store all sensor data, so polling at n interval will be preferred in most cases anyway.

I agree that for real time data MQTT is probably the best way to go. That would not even need any special ruuvi integration or setup (at least not if the gateway supports mqtt auto discovery). If we where to push data via HA’s rest or websocket api there would have to be extra setup so might as well spin up a mqtt broker at that point.