That’s excellent - congratulations! Node-red will run in the background while the rPi is running, but depending on how it was installed, it may not start after a reboot. But you can change this with
sudo systemctl enable nodered.service
on the command line. Further info on starting, stopping etc at node-red. These things do occassionally stop, especially when routers decide to change IP addresses, so worth checking that data is arriving. There are also some great tools in node-red if you feel like playing around - e.g. a dashboard where the data can be displayed, graphed etc in near real time. Have fun!
Hi Anthony,
Sorry to bother you again but I’m not getting any takers on my latest question regarding graph data for the two nodes coming from MQTT.
My two nodes, emoncms and emoncms1, are working fine thanks to your help. However I seem unable to graph the data beyond 1, 6 hours. or a week–the data is there but I can’t plot it.
The problem, I believe, is the input interval. It seemed to set automatically on the emonTX nodes but not for the new ones I just added. The two new nodes create data every 20 minutes but, since their timers aren’t coordinated, the data comes in an irregular manor, 5 minutes, 10 minutes, 15 minutes, etc. Are there some settings you might suggest for me to try? Here are a couple of screen shots. I have a week showing now but two weeks won’t show at least the one week’s data, just a complete blank chart. Thanks again, Bob
Hi Bob
If the data isn’t being logged at a regular interval then you should use PHPTIMESRIES instead of PHPFINA. PHPFINA only really logs the value and assumes a time based on a fixed sampling period, while PHPTIMESERIES logs the actual time with each data point (so uses at least double the disk storage space).
Can you try to setup a new feed from your inputs, but select PHPTIMESERIES as the “engine”?
Many thanks to you, I now have 4 LHT65s running on LoRa and sending data via mqtt/node-red to emoncms. I am now attempting to do the same with a Seeed CO2 sensor but have hit a problem which I don’t understand. The sensor is working correctly and sending data to my chirpstack gateway. When I try to get the data into emoncms, using the setup which worked for the LHT65s, I get the message that my object is undefined. I have attached a breakdown of my node-red below. The node-red flow is contacting the LoRa gateway and has setup a node on the emoncms pi but the data is missing. If you have time to comment please let me know if you need additional information. Thanks in advance.
Bob
From LoRa gateway
Applications/CO2app/Devices/CO2device
applicationID:"18"
applicationName:"CO2app"
deviceName:"CO2device"
devEUI:"2cf7f12122500013"
rxInfo:
frequency:904700000
modulation:"LORA"
bandwidth:125
spreadingFactor:10
codeRate:"4/5"
polarizationInversion:false
adr:true
dr:0
fCnt:44
fPort:2
data:"AQQQeMIGAFZv"
err:0
CO2_Value_PPM:443
measurementId:4100
type:"report_telemetry"
payload:"01041078C20600566F"
valid:true
tags:
confirmedUplink:true
devAddr:"01686a36"
publishedAt:"2021-11-14T21:56:48.345702362Z"
=======================================================
debug message
11/14/2021, 4:56:48 PMnode: 64d043922a280e22
msg.payload : Object
object
CO2_Value_PPM: undefined
=======================================================
emoncms node
Emoncms server emonpi
Node CO2
Data Type valid JSON object
Name CO2
=======================================================
From Node-Red Function Node
On Message
input = msg.payload
var CO2_Value_PPM = input.object.CO2_Value_PPM
msg2 = {payload:{"CO2_Value_PPM":CO2_Value_PPM}};
return msg2;
=====================================================
From Json Node
Action Always convery to JavaScript Object
Property msg payload
Name CO2
====================================================
MQTT in node
Server RAK7244
Topic application/18/device/2cf7f12122500013/rx
QoS 1
Output auto-detect (string or buffer)
Name CO2
==================================================
Hi Bob - I suspect it is in a slightly different format, and the node-red flow will need a change. I’ll have a play tomorrow.
Just to be sure - have you used the three backtics in your post as suggested by Robert above? The forum software may be changing some of the quotes and newline characters making it difficult to interpret.
Hi Anthony,
Just wanted to let you know that a Node-Red forum member solved my CO2 sensor problem. He suggested the function which I listed below. It seems to be sending the data correctly to my emoncms server. I’ll send you a link once I get it set up on my web page. Thanks again, @icenov, for the help.
Cheers,
Bob
// Test to see if CO2 measurement is present in uplink
// Assumption is msg.payload.object.messages[] array is always present
// if not then we need to test in different way
// why do we do this to ensure we don't send rubbish to emoncms
if ("CO2_Value_PPM" in msg.payload.object.messages[0]){
msg = {payload:{"CO2_Value_PPM":msg.payload.object.messages[0].CO2_Value_PPM}};
return msg;
}