vokkim / signalk-ruuvitag-plugin Goto Github PK
View Code? Open in Web Editor NEWSignal K plugin to provide RuuviTag data
License: MIT License
Signal K plugin to provide RuuviTag data
License: MIT License
Hello,
Do you think the Ruuvi acceleration sensors could be used to provide attitude (yaw, pitch, roll) informations to signalk ?
Hey!
I sometimes get a good update rate (several times per second) and sometimes I have no values for hours (3+). Is there a way to debug the issue? Or is there a guideline how to debug the problem?
Regards
Mirco
Still trying to get this to work. My Bluetooth adapter had some sort of odd situation for the last issue I opened, but it is working fine and no errors are happening now.
I have three Ruuvitag and none of them are seen by the plugin. I've followed your installation instructions and can see no errors in the logs. In fact, I see nothing at all in the logs from the plugin other than startup messages. I've tried debug logging as well and don't see anything.
The tags are showing up in the app on an iPhone and the related computer running the Bluetooth radio is within a foot of that phone and the tags.
The plugin screen shows nothing other than it is enabled, and a submit button.
If you prefer to support this plugin in signalk-slack or somewhere else, please advise as so far support has been very challenging.
Feature request: make tag Location configurable for more locations
Reason: Although it's easy to simply edit index.js and add more into enum
, it would be much more user friendly if this can become configurable from within the plugin in the GUI.
The plugin stops working after about 15 minutes. If I restart SignalK it works for another 15 minutes.
I discovered that the signalk-victron-ble plugin will kill the connectivity to my Ruuvi tags. I asked the developer about it and he said, "As I understand it, this is because the ruuvi plugin accesses low-level bluetooth devices directly, rather than going via BlueZ, to share them with the rest of the system."
Is it possible to run ruuvi tags & the plugin along side other potential bluetooth connected items?
This is just a tracking issue as others are likely to run into this as well: the BLE library used in the direct dependency of this plugin (node-ruuvitag) is unmaintained and won't compile for Node 10.
There is a PR to fix this: pakastin/node-ruuvitag#12
Trying to setup three Ruuvitag with my Signal K server and getting an error about what looks like a missing device. Not sure where to start to debug this.
Feb 22 12:53:19 r signalk-server[4118]: ruuvitag:no configuration data Feb 22 12:53:19 r kernel: [ 219.229674] Bluetooth: Core ver 2.22 Feb 22 12:53:19 r kernel: [ 219.229770] NET: Registered protocol family 31 Feb 22 12:53:19 r kernel: [ 219.229775] Bluetooth: HCI device and connection manager initialized Feb 22 12:53:19 r kernel: [ 219.229782] Bluetooth: HCI socket layer initialized Feb 22 12:53:19 r kernel: [ 219.229785] Bluetooth: L2CAP socket layer initialized Feb 22 12:53:19 r kernel: [ 219.229794] Bluetooth: SCO socket layer initialized Feb 22 12:53:19 r signalk-server[4118]: error starting plugin: Error: ENODEV, No such device Feb 22 12:53:19 r signalk-server[4118]: Error: ENODEV, No such device Feb 22 12:53:19 r signalk-server[4118]: at Hci.init (/home/stevemitchell/.signalk/node_modules/@abandonware/noble/lib/hci-socket/hci.js:114:35) Feb 22 12:53:19 r signalk-server[4118]: at NobleBindings.init (/home/stevemitchell/.signalk/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:82:13) Feb 22 12:53:19 r signalk-server[4118]: at Noble.get (/home/stevemitchell/.signalk/node_modules/@abandonware/noble/lib/noble.js:72:26) Feb 22 12:53:19 r signalk-server[4118]: at new Adapter (/home/stevemitchell/.signalk/node_modules/node-ruuvitag/adapter.js:17:15) Feb 22 12:53:19 r signalk-server[4118]: at Object.<anonymous> (/home/stevemitchell/.signalk/node_modules/node-ruuvitag/adapter.js:48:18) Feb 22 12:53:19 r signalk-server[4118]: at Module._compile (internal/modules/cjs/loader.js:778:30) Feb 22 12:53:19 r signalk-server[4118]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) Feb 22 12:53:19 r signalk-server[4118]: at Module.load (internal/modules/cjs/loader.js:653:32) Feb 22 12:53:19 r signalk-server[4118]: at tryModuleLoad (internal/modules/cjs/loader.js:593:12) Feb 22 12:53:19 r signalk-server[4118]: at Function.Module._load (internal/modules/cjs/loader.js:585:3) Feb 22 12:53:19 r signalk-server[4118]: at Module.require (internal/modules/cjs/loader.js:692:17) Feb 22 12:53:19 r signalk-server[4118]: at require (internal/modules/cjs/helpers.js:25:18) Feb 22 12:53:19 r signalk-server[4118]: at Object.<anonymous> (/home/stevemitchell/.signalk/node_modules/node-ruuvitag/index.js:1:17) Feb 22 12:53:19 r signalk-server[4118]: at Module._compile (internal/modules/cjs/loader.js:778:30) Feb 22 12:53:19 r signalk-server[4118]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) Feb 22 12:53:19 r signalk-server[4118]: at Module.load (internal/modules/cjs/loader.js:653:32) Feb 22 12:53:19 r signalk-server[4118]: #033[0mPOST /skServer/plugins/ruuvitag/config #033[32m200#033[0m 8.642 ms - 39#033[0m
Hi,
plugin works fine for me - no issues
however, I have several different sensors around which convey values by manufacturer data in the advertisement, among them the Mopeka Pro level sensor, and Tire Pressure Management sensors
currently I receive those sensors via a Python bleak-based plugin
however, it would be one less moving part if I could extend this plugin to test for, and handle, arbitrary sensors of this type
what this would mean is: on BLE advertisement reception, check for Service UUID, sometimes patterns in the MAC address, and sometimes against contents of manufacturer data, then dispatching to the relevant code for the sensor in question
would you be willing to entertain such a patch, and possibly help me in getting this going?
best regards
Michael
Hello,
I have a problem : sometimes after a restart, the plugin seems to hang. It does not return any data, although it's marked at "Started" in plugin dashboard.
Can you add debug logs to understand what happens ? In the current implementation, ther are no debug logs at all, so I don't understand if the plugin really start or scan for devices.
Please, add this information to documentation, or add to install script - that if you want to change units then you have to update baseDeltas.json and add - something similar to this here. And then it will start to work corectly - you can choose units and see something different than Pa or Kelvins in SignalK Instrument Panel :-)
[...]
{
"context": "vessels.self",
"updates": [
{
"meta": [
{
"path": "environment.mesa.srodek.temperature",
"value": {
"description": "RuuviTag - temperatura mesa",
"units": "K",
"displayName": "Mesa - temp",
"timeout": 30
}
},
{
"path": "environment.mesa.srodek.pressure",
"value": {
"description": "RuuviTag - ciśnienie atm",
"units": "Pa",
"displayName": "Mesa - ciśnienie",
"timeout": 30
}
},
{
"path": "environment.mesa.srodek.relativeHumidity",
"value": {
"description": "RuuviTag - wilgotność",
"units": "ratio",
"displayName": "Mesa - wilgotność",
"timeout": 30
}
}
]
}
]
}
I want to install ruuvitag in signalk/instrumentpanel on rpi. What are the steps? I can install the plugin app but after that no glue to go further. Plugin is installed but can't access.
thanks,
John
Test setup on a Raspberry Pi 2 without Bluetooth.
After enabling the module the SignalK server crashes on startup with the following error message:
root@raspberrypi:~# signalk-server
/root/.signalk/node_modules/@abandonware/noble/lib/hci-socket/hci.js:100
this._deviceId = this._socket.bindRaw(deviceId);
^
Error: ENODEV, No such device
at Hci.init (/root/.signalk/node_modules/@abandonware/noble/lib/hci-socket/hci.js:100:35)
at NobleBindings.init (/root/.signalk/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:78:13)
at process.nextTick (/root/.signalk/node_modules/@abandonware/noble/lib/noble.js:60:24)
at process._tickCallback (internal/process/next_tick.js:61:11)
at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
After adding a USB bluetooth device to the system the server works fine. I suggest some error handling (detect if Bluetooth hardware is available).
As per SignalK/signalk-server#947, instead of source
, it should report with $source
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.