collect ok-to-mqtt falg
This commit is contained in:
parent
ff8bb07f7f
commit
342c8dc87a
3 changed files with 12 additions and 0 deletions
|
|
@ -0,0 +1,2 @@
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE `nodes` ADD COLUMN `ok_to_mqtt` BOOLEAN NULL;
|
||||||
|
|
@ -51,6 +51,8 @@ model Node {
|
||||||
// this column tracks when an mqtt gateway node uplinked a packet
|
// this column tracks when an mqtt gateway node uplinked a packet
|
||||||
mqtt_connection_state_updated_at DateTime?
|
mqtt_connection_state_updated_at DateTime?
|
||||||
|
|
||||||
|
ok_to_mqtt Boolean?
|
||||||
|
|
||||||
created_at DateTime @default(now())
|
created_at DateTime @default(now())
|
||||||
updated_at DateTime @default(now()) @updatedAt
|
updated_at DateTime @default(now()) @updatedAt
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -914,6 +914,7 @@ client.on("message", async (topic, message) => {
|
||||||
else if(portnum === 4) {
|
else if(portnum === 4) {
|
||||||
|
|
||||||
const user = User.decode(envelope.packet.decoded.payload);
|
const user = User.decode(envelope.packet.decoded.payload);
|
||||||
|
let isOkToMqtt = null
|
||||||
|
|
||||||
if(logKnownPacketTypes) {
|
if(logKnownPacketTypes) {
|
||||||
console.log("NODEINFO_APP", {
|
console.log("NODEINFO_APP", {
|
||||||
|
|
@ -922,6 +923,11 @@ client.on("message", async (topic, message) => {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check if bitfield is available, then check if ok-to-mqtt
|
||||||
|
if(bitfield != null){
|
||||||
|
isOkToMqtt = Boolean(bitfield & BITFIELD_OK_TO_MQTT_MASK);
|
||||||
|
}
|
||||||
|
|
||||||
// create or update node in db
|
// create or update node in db
|
||||||
try {
|
try {
|
||||||
await prisma.node.upsert({
|
await prisma.node.upsert({
|
||||||
|
|
@ -936,6 +942,7 @@ client.on("message", async (topic, message) => {
|
||||||
is_licensed: user.isLicensed === true,
|
is_licensed: user.isLicensed === true,
|
||||||
role: user.role,
|
role: user.role,
|
||||||
firmware_version: bitfield ? '2.5.0 or newer' : '2.4.3 or older',
|
firmware_version: bitfield ? '2.5.0 or newer' : '2.4.3 or older',
|
||||||
|
ok_to_mqtt: isOkToMqtt,
|
||||||
},
|
},
|
||||||
update: {
|
update: {
|
||||||
long_name: user.longName,
|
long_name: user.longName,
|
||||||
|
|
@ -944,6 +951,7 @@ client.on("message", async (topic, message) => {
|
||||||
is_licensed: user.isLicensed === true,
|
is_licensed: user.isLicensed === true,
|
||||||
role: user.role,
|
role: user.role,
|
||||||
firmware_version: bitfield ? '2.5.0 or newer' : '2.4.3 or older',
|
firmware_version: bitfield ? '2.5.0 or newer' : '2.4.3 or older',
|
||||||
|
ok_to_mqtt: isOkToMqtt,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue