I got the systemd service up and running quickly with your new instructions. One thing I ran into while setting this up on a new machine, was an incompatible golang version. I resolved it by manually installing the required 1.15 version:
sudo wget https://golang.org/dl/go1.15.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.15.5.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
source ~/.bashrc
go version
Regarding integration into node-red, I managed to parse out the combined data using switch and change nodes. You can filter out the message by MAC address of the ruuvitag, and then pull the data useful to you as objects. Make sure the MQTT subscribe node is set to a parsed JSON object
:
NR code:
[
{
"id": "e52888a3e2a1fd78",
"type": "mqtt in",
"z": "549f295024452a8e",
"name": "gbcsdpd daemon",
"topic": "/measurements",
"qos": "2",
"datatype": "json",
"broker": "c2a6015cc109d5c2",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 240,
"y": 380,
"wires": [
[
"72b8371342cbe8cc"
]
]
},
{
"id": "72b8371342cbe8cc",
"type": "switch",
"z": "549f295024452a8e",
"name": "",
"property": "payload.measurements[0].sensorMac",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "e5:c1:3d:06:73:84",
"vt": "str"
},
{
"t": "eq",
"v": "d0:1a:99:a2:78:b3",
"vt": "str"
},
{
"t": "eq",
"v": "de:08:37:36:d6:38",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 3,
"x": 450,
"y": 380,
"wires": [
[
"eb01f971b3e819a6"
],
[
"bef85132817d821a"
],
[
"c403d4d287d34d24"
]
]
},
{
"id": "af715fc878430285",
"type": "debug",
"z": "549f295024452a8e",
"name": "veg_tent_ruuvi",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 820,
"y": 380,
"wires": []
},
{
"id": "7e21926037607a2c",
"type": "debug",
"z": "549f295024452a8e",
"name": "flower_room_ruuvi",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 830,
"y": 440,
"wires": []
},
{
"id": "eb01f971b3e819a6",
"type": "change",
"z": "549f295024452a8e",
"name": "dtRuuvi",
"rules": [
{
"t": "set",
"p": "payload.temp",
"pt": "msg",
"to": "payload.measurements[0].temperature",
"tot": "msg"
},
{
"t": "set",
"p": "payload.humidity",
"pt": "msg",
"to": "payload.measurements[0].humidity",
"tot": "msg"
},
{
"t": "set",
"p": "payload.pressure",
"pt": "msg",
"to": "payload.measurements[0].pressure",
"tot": "msg"
},
{
"t": "set",
"p": "payload.bat",
"pt": "msg",
"to": "payload.measurements[0].batteryVoltage",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 640,
"y": 320,
"wires": [
[
"5a27233abeb099b8"
]
]
},
{
"id": "bef85132817d821a",
"type": "change",
"z": "549f295024452a8e",
"name": "vtRuuvi",
"rules": [
{
"t": "set",
"p": "payload.temp",
"pt": "msg",
"to": "payload.measurements[0].temperature",
"tot": "msg"
},
{
"t": "set",
"p": "payload.humidity",
"pt": "msg",
"to": "payload.measurements[0].humidity",
"tot": "msg"
},
{
"t": "set",
"p": "payload.pressure",
"pt": "msg",
"to": "payload.measurements[0].pressure",
"tot": "msg"
},
{
"t": "set",
"p": "payload.bat",
"pt": "msg",
"to": "payload.measurements[0].batteryVoltage",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 640,
"y": 380,
"wires": [
[
"af715fc878430285"
]
]
},
{
"id": "c403d4d287d34d24",
"type": "change",
"z": "549f295024452a8e",
"name": "frRuuvi",
"rules": [
{
"t": "set",
"p": "payload.temp",
"pt": "msg",
"to": "payload.measurements[0].temperature",
"tot": "msg"
},
{
"t": "set",
"p": "payload.humidity",
"pt": "msg",
"to": "payload.measurements[0].humidity",
"tot": "msg"
},
{
"t": "set",
"p": "payload.pressure",
"pt": "msg",
"to": "payload.measurements[0].pressure",
"tot": "msg"
},
{
"t": "set",
"p": "payload.bat",
"pt": "msg",
"to": "payload.measurements[0].batteryVoltage",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 640,
"y": 440,
"wires": [
[
"7e21926037607a2c"
]
]
},
{
"id": "5a27233abeb099b8",
"type": "debug",
"z": "549f295024452a8e",
"name": "dry_tent_ruuvi",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 820,
"y": 320,
"wires": []
},
{
"id": "c2a6015cc109d5c2",
"type": "mqtt-broker",
"name": "mosquitto",
"broker": "localhost",
"port": "1883",
"clientid": "",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "60",
"cleansession": true,
"birthTopic": "",
"birthQos": "0",
"birthPayload": "",
"birthMsg": {},
"closeTopic": "",
"closeQos": "0",
"closePayload": "",
"closeMsg": {},
"willTopic": "",
"willQos": "0",
"willPayload": "",
"willMsg": {},
"sessionExpiry": ""
}
]