// Extract the payload
let payload = msg.payload;
msg.container = "S5";
// Initialize the result object
let result = {
analog_sensors: {},
digital_inputs: {}
};
// Regex patterns to match the sensor readings
let analogSensorPattern = /
([^<]+)<\/td> | ([^<]+)<\/td><\/tr>/g;
let digitalSensorPattern = / |
([^<]+)<\/td> | ([^<]+)<\/td><\/tr>/g;
// Extract analog sensor readings
let match;
while (match = analogSensorPattern.exec(payload)) {
let sensorName = match[1].trim();
let sensorValue = match[2].trim();
result.analog_sensors[sensorName] = sensorValue;
}
// Extract digital input readings
while (match = digitalSensorPattern.exec(payload)) {
let sensorName = match[1].trim();
let sensorValue = match[2].trim();
result.digital_inputs[sensorName] = sensorValue;
}
// Return the result as a JSON object
msg.payload = result;
return msg; |