node-red-contrib-time-converter
Version:
A Node-RED node that converts seconds to mm:ss format and outputs it.
33 lines (28 loc) • 1.23 kB
JavaScript
module.exports = function(RED) {
function TimeToHexNode(config) {
RED.nodes.createNode(this, config);
const node = this;
node.on("input", function(msg, send, done) {
try {
if (Array.isArray(msg.payload)) {
const hexStr = msg.payload
.slice(0, 32)
.map(num => (num & 0xff).toString(16).toUpperCase().padStart(2, "0"))
.join("");
msg.payload = hexStr;
// 可選:將原始轉換邏輯存入 msg.topic,便於除錯
msg.topic = "msg.payload=msg.payload.slice(0,32).map(num => (num & 0xff).toString(16).toUpperCase().padStart(2,\"0\")).join(\"\")";
} else {
msg.payload = "錯誤:msg.payload 不是陣列";
node.warn("msg.payload 必須為陣列");
}
send(msg);
if (done) done();
} catch (err) {
if (done) done(err);
else node.error(err, msg);
}
});
}
RED.nodes.registerType("dec-to-hex", TimeToHexNode);
}