Remote Beehive Temperature Monitoring

Started by Jason, November 23, 2018, 02:14:27 PM

Jason

An overview of the project.




Major credit goes to Felix for this Low Power Labs which is an excellent resource and for the software used in this project.
Thanks!

Felix

Very nice, I love bees, and honey! :D

Did you end up using a proxy for the Gateway software?
How about the different temperature metrics? Did you define your own custom ones to allow multiple temperature readings per 1 node?

FWIW - the icon image should be 120px * 120px to make it fit perfectly, but maybe I should make that auto-scale to avoid overlaps in case it's larger.

Jason

Hi Felix!

Thanks for the information about icon!

I "hacked" the weather node code to deal with the extras temperatures.  I still am learning how the gateway app works so the quickest solution I found was to send the data as temperature F, pressure, humidity, and temperature C. Then I made my own custom metrics that override the default.  Now I see how to make a custom node so I wouldn't have to overwrite the weather shield, but since I don't have over the air programming set up yet and the system is around 100 miles away, that will wait for another day.

I currently use a proxy service, remote.it, to access my device since it is connected to someone else's WiFi router.  I am pretty happy with how it works so far!

I am also very excited for the next gateway update to allow for multiple metrics on one graph! I saw you had a picture of that in one of the other posts on the forum and it looked great!

Felix

Regarding multiple metrics of the same type:
You could simply duplicate the F (temperature) metric, in your own custom metrics file under userMetrics folder:

F1 : { name:'F1', regexp:/\bF1\:(-?\d+\.\d+)\b/i, value:'', duplicateInterval:3600, unit:'°', pin:1, graph:1, graphValSuffix:'F1', graphOptions:{ legendLbl:'Temperature1', lines: { lineWidth:1 } }},
F2 : { name:'F2', regexp:/\bF2\:(-?\d+\.\d+)\b/i, value:'', duplicateInterval:3600, unit:'°', pin:1, graph:1, graphValSuffix:'F2', graphOptions:{ legendLbl:'Temperature2', lines: { lineWidth:1 } }},
F3 : { name:'F3', regexp:/\bF3\:(-?\d+\.\d+)\b/i, value:'', duplicateInterval:3600, unit:'°', pin:1, graph:1, graphValSuffix:'F3', graphOptions:{ legendLbl:'Temperature3', lines: { lineWidth:1 } }},
. . .


And then simply send them from your node formatted with a number like that. The number could be replaced by anything, even a more descriptive label, but I gave the example with a number to keep them short. A more descriptive example would be (for say an imaginary sensor at the "TOP" of a hive):

FTOP : { name:'FTOP', regexp:/\bFTOP\:(-?\d+\.\d+)\b/i, value:'', duplicateInterval:3600, unit:'°', pin:1, graph:1, graphValSuffix:'F3', graphOptions:{ legendLbl:'Temperature3', lines: { lineWidth:1} }},

Jason

Thanks for the code! I had something like that set up on my sensor node, but didn't know how to update the gateway app. But I will definitely give this a go! Thanks!