Compare commits

..

1 Commits

Author SHA1 Message Date
Arnaud Nelissen
a4b4ffe9ff Added docker compose file 2025-10-08 13:01:16 +02:00
2 changed files with 7 additions and 46 deletions

View File

@@ -14,7 +14,6 @@ const DeviceModel = joi.object({
relayTemperature: joi.number().optional(), relayTemperature: joi.number().optional(),
relayConfigurationTimestamp: joi.number().optional(), relayConfigurationTimestamp: joi.number().optional(),
vsoft: joi.string().optional(), vsoft: joi.string().optional(),
label: joi.string().optional(),
inventory: joi.array().items( joi.object({ inventory: joi.array().items( joi.object({
msn: joi.string().required(), msn: joi.string().required(),
configurationTimestamp: joi.number().optional(), configurationTimestamp: joi.number().optional(),
@@ -23,7 +22,7 @@ const DeviceModel = joi.object({
).optional(), ).optional(),
configurationTimestamp: joi.number().optional(), configurationTimestamp: joi.number().optional(),
programmingTimestamp: joi.number().optional(), programmationTimestamp: joi.number().optional(),
todo: joi.array().items(joi.object({ todo: joi.array().items(joi.object({
msn: joi.string().required(), msn: joi.string().required(),

View File

@@ -1,44 +1,6 @@
const dbcontroller = require('../db'); const dbcontroller = require('../db');
const util = require('../util'); const util = require('../util');
const deviceUsesPrograms = function(device) {
switch (device.msn.slice(0,2).toUpperCase() || 'xx') {
case '1F':
case '20':
case '51':
case '53':
case '55':
case '5A':
case '7A': return false;
default: break;
}
if (device.programs != undefined) { return true; }
if (device.programs == undefined && device.slots == undefined) { return true; }
return false;
}
const deviceUsesSlots = function(device) {
switch (device.msn.slice(0,2).toUpperCase() || 'xx') {
case '1F':
case '20':
case '51':
case '53':
case '55':
case '5A':
case '7A': return true;
default: break;
}
if (device.slots != undefined) { return true; }
if (device.programs == undefined && device.slots == undefined) { return true; }
return false;
}
const postRequestToDo = async function (msn, body) { const postRequestToDo = async function (msn, body) {
try { try {
await dbcontroller.addDevice(body, null) await dbcontroller.addDevice(body, null)
@@ -68,23 +30,23 @@ const getRequestToDo = async function (msn) {
var todo = { serialNumber : msn } var todo = { serialNumber : msn }
///// Programs ///// Programs
if (child.programmingTimestamp != undefined && deviceUsesPrograms(child)) { if (device.programs != undefined) {
timestamp = child.programmingTimestamp || -1 timestamp = child.programmingTimestamp || -1
if ((device.programs == undefined) || (timestamp < device.programs.timestamp)) { todo.programs = 1 } if (timestamp < device.programs.timestamp) { todo.programs = 1 }
else if (timestamp > device.programs.timestamp) { todo.programs = 2 } else if (timestamp > device.programs.timestamp) { todo.programs = 2 }
} }
///// Configuration ///// Configuration
if (child.configurationTimestamp != undefined) { if (device.configuration != undefined) {
timestamp = child.configurationTimestamp || child.relayConfigurationTimestamp || -1 timestamp = child.configurationTimestamp || child.relayConfigurationTimestamp || -1
if ((device.configuration == undefined) || (timestamp < device.configuration.timestamp)) { todo.configuration = 1 } if (timestamp < device.configuration.timestamp) { todo.configuration = 1 }
else if (timestamp > device.configuration.timestamp) { todo.configuration = 2 } else if (timestamp > device.configuration.timestamp) { todo.configuration = 2 }
} }
///// Slots ///// Slots
if (child.programmingTimestamp != undefined && deviceUsesSlots(child)) { if (device.slots != undefined) {
timestamp = child.programmingTimestamp || -1 timestamp = child.programmingTimestamp || -1
if ((device.slots == undefined) || (timestamp < device.slots.timestamp)) { todo.slots = 1 } if (timestamp < device.slots.timestamp) { todo.slots = 1 }
else if (timestamp > device.slots.timestamp) { todo.slots = 2 } else if (timestamp > device.slots.timestamp) { todo.slots = 2 }
} }