Collecting RuuviTag measurements and displaying them with Grafana


#186

Hello, the steps are at https://blog.ruuvi.com/rpi-gateway-6e4a5b676510


#187

but how do I remove the br0 and wlan0 ruuviGW?

I don’t want/need anything else than just a simple wifi connection from ti PI to my router.

/Andre’


#188

Hello, I though you had it already done.

Anyway, it might be easiest to follow the above steps to setup the Raspberry Pi, it takes something like 15-30 minutes and you get the updates to software while you set it up.


#192

Hi,

This is a great project and ruuvi collector seems to be “the” implementation for parsing ruuvitag data.

I would love to see the data parsing part separated and published more widely, e.g. in maven central. This would facilitiate easier reuse of the parsing part in other java projects.

In fact, I’m thinking of implementing small openHAB bluetooth addon for reading ruuvitags based on the excellent you have done here.

@Scrin any thoughts on this?

Best
Sami


#193

I have actually been considering this, but haven’t done it yet as the ruuvitag-sensor python library is usually the choice for custom implementations while the main goal for RuuviCollector is being a “full software” to glue the gap between RuuviTags and InfluxDB (and other databases in the future).

Though if there’s interest in having a similar library for Java, I may reconsider separating the pieces into a library and publish to maven central or something.


#194

thanks for the swift reply!

I would definitely be interested in such a library. There is already an openHAB implementation for blukii sensors (github) which looks pretty similar the way the ruuvitags work.

With openHAB I think we would cover “native support” (no mqtt or other additional software needed) for the common open source home automation solutions (other one being home assistant of course)?

Naturally you have used a liberal license so forking and/or incorporating the code in openHAB code base would be possible for me (within the limits set by the license). But instead I would like to have common library for the parsing, and reuse that for other projects. Contributions for new formats etc. would be handled in one open source project…


#195

A common library would definitely be the way to go here then, added it to my todo-list. :slight_smile:

I don’t know how much you have looked at the RuuviCollector sources, but I was thinking about refactoring (and renaming) so that there would be an “extra layer” between the HCIData output from HCIParser and the actual DataFormat parsers (implementations of BeaconHandler, to be renamed to RuuvitagParser or something?) so that the parsers would just receive the raw payload (ie. the eddystone packet which includes the eddystone url, or the raw manufacturer specific data used by the RAW data formats) as a byte[] data array.

This extra layer would then be RuuviCollector specific and contain the HCIData to data[] mapping as well as the shouldUpdate() logic currently present in the parsing classes (that logic shouldn’t even be there in the first place…)

That way the common library would offer parsers that simply accept a byte array as a parameter and produce a RuuviMeasurement object as output. Any comments? (anyone else may comment as well, of course)

I don’t think it would make sense to include the HCIParser itself in the library, especially considering I’m working on getting rid of the hcitool and hcidump dependencies as they’re getting deprecated due to the lack of maintainers.

It’ll be probably late next week or something before I have time to get all this done, especially since I need to figure out the necessary requirements and steps for publishing libraries to eg. maven central.


#196

Excellent and thank you already in advance!

Looked at the code and I understand what you mean. Agree that this separation would indeed make the code cleaner as well as more testable.

Let me know if I can help in any way, review the code or similar. When you have separated parsers from the rest, let me know and I can have a look.

Btw, it might be that the maven central part is actually not so important for me personally since I probably have to distribute the parser .jar inside the openHAB/eclipse smarthome code base (maven <dependencies> are not used there for whatever OSGI/setup reason).

Best,
Sami


#197

Yeah now that I think about it probably the first step is to simply copy/refactor the code out into another repository as a “pre-release version”, then do the cleanup/documentation, write tests, etc. to eventually make it a “clean 1.0 version” of the library, and once all that is done then publish it to maven central or so and only then refactor RuuviCollector to use the library.

Slightly more work (and duplicate code while working on it) to do it in “individual steps over time” like this, but on the other hand it makes the library usable earlier on before the “stable 1.0 release” is ready and published to maven central. I might actually have time to do the “first step” during this weekend, if so I’ll let you know so you (or anyone else) can review, comment and/or contribute.


#198

Alright I created the repository now: https://github.com/Scrin/ruuvitag-common-java/ and did some light and untested (well, I tested that the code compiles but nothing more :stuck_out_tongue: ) refactoring and basically set up the base foundation for the library. In theory it might actually already work as it is, but there’s still much to do. Comments, suggestions and contributions are more than welcome (here on the forums, Ruuvi slack, or on Github)


#199

trying to join in this discussion.


#200

Awesome! Will have a look as soon as I have a moment. Can contribute some tests…