Official Ruuvi App: Weather Station

Implementing BLE services is possible, although there is a learning curve.

The way I started was to take Bluetooth Developer Studio -example from SDK and then implement services with BDS.

When you have the Nordic plugin for BDS installed, you can automatically generate code for BLE standard profiles and your own profiles. Nordic has also implemented some standard services in the SDK.

You can check the feature-webble branch for example, and associated web bluetooth site for connection example ( sources). Both are still at alpha-stage.


I’m wondering, is it possible to show air pressure as QNH (ie at mean sea level), which is used in weather forecasts. Currently it seems to show the air pressure as it is at the present location (QFE). I suppose it would only need a simple altitude correction.



Doing altitude correction is somewhat tricky, as you need to know the altitude of the tag. Maybe you could measure the altitude while installing and add a correction factor to your receiver?

Actually the tricky part for me is adding the correction factor… I know the altitude, but have no clue what to do with it… Is there a “how-to” guide somewhere?

I found these, does it help?

I’m new to this and not really a programmer, but I wanted to ask if there’s a way to integrate the weather station data as a room sensor in the iOS Home App? I’d like to have the data show up in there without having to load the web page for each sensor.
A friend who is a programmer suggested Homebridge but I didn’t get any hits for that in the forum. Does anyone know if this is something that’s being worked on?

I took a quick look, it seems that Homebridge runs on Raspberry Pi 3 and NodeJS. As we already have NodeJS code for receiving and interpreting Ruuvi advertisements available, it would certainly be doable.

I have the android weather station app working fine on ruuvi tag.
I understand you are about to bring out iOS version soon.
Perhaps on this version, you could improve the alerts in terms of adding vibration alert option as well as longer/stronger alert tones. If you use tag for say lost luggage, then vibration alert is essential. Also, in android if you get one notification on screen, then further notifications are silent until you clear all other tag notifications. It would be great to improve alerts as above in new iOS app ?

Also, can you use commercial bluetooth gateway with wifi to connect to say Streamr service and do you recommend one suitable ? Can the phone be used as gateway to Streamr service ?


We do not officially recommend any commercial WiFi-BLE gateways as of right now but we’re using Raspberry Pis ourselves. You could also look into Rigado, their gateways might suit your needs.

The Android app Ruuvi Station can be used to send data to a proxy server which then relays data to stream, for example with .The library is at alpha stage, but I’m running it at You can set up the Ruuvi Station to use as the gateway url to send your data to me, or you can clone that repository on your server, run NPM install and copy the example configuration to ‘streamr-configuration.js’ . Then you’ll need to route the port 80 on your server to the nodes application port or configure the gateway URL to send to your server’s port.

If there is enough interest in this we’ll make proper tutorials and docs on streamr integrations.

1 Like

I’ve been interested in this for some time. I have Ruuvi tags in my boat and am tracking inside, outside, and motor room temp/pressure/humidity and acceleration. I’d like to implement a graph/trend served file on my raspberry pi.

Do you mean a setup where you have a raspberry pi collect the data from tags and then serve graphs of the data? If so, you may be interested in this setup. In the comments near the bottom there’s an updated, pre-made raspberry pi image if you don’t want to setup the individual parts yourself

I had ruuvi mobile station working fine until I installed IoTool and now neither app works !
Data does not change in weather station display and Iotool app does not pick up ruuvi tag. Tag seems to work on core beacons app. Any ideas to get both of them working ?


Could you give us more details?
What is the model and Android version of your phone? Are IoTool and RuuviStation latest versions?
Have you tried turning Bluetooth or phone off and on again?

Hi, I turned off/on the BT and now it works. I use Android 4.3 HTC phone and use the latest apps. I also re-installed Iotool.
Any news on iOS version of ruuvi mobile station ?
Also, do you think IoTool will be released for iOS ?
Thanks for your help.


iOS version of Ruuvi Station is under development right now.
I do not know about IoTool on iOS, in general iOS has some challenges in background BLE scanning functionality.


I ordered 3 RuuviTags to display temperatures. I have one inside of the house, one outside (at the terrace) and one in the sauna outside.

Problem is that I get a little poor reception from the sauna. I have to go by the window to get connection to my cellphone or tablet.

I thought that RuuviTags would use Mesh connection that my outside Ruuvi would pass the information from the sauna to my phone/tablet? Whats the problem here?

RuuviTags are not using mesh networking. Note that some receivers have better antennas than others. You can also try to adjust the sauna tag’s location to gain range.

I updated my RuuviTag’s to firmware 2.2.2. So far it’s working nice and I’m happy about the new v5 data format. I noticed that I can now connect and make changes to the device without touching the buttons (eg. change its name or do a DFU). Does it mean that my neighbors or random people walking next to my house can destroy my devices now? How to prevent that?


That is a good point, it would be possible to craft a malicious DFU packet which bricks the tag.
Maybe some kind of physical interaction should be required before enabling the wireless DFU? i.e. NFC scan or button press?

Totally agree, connecting to the tag should depend on some kind of physical proof that I’m there. Could be the button as it used to be, but that’s a bit inconvenient. NFC would be awesome. But it could also be based on RX power which lets you guess how close the user is, or if the protocol supports it then some kind of PIN code. Either way, it should not be open to the world by default, that’s how you end up with Ruuvi botnets :frowning:.