[{"id":"793d954c5531d497","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"d1babfeddba0f050","type":"mqtt-broker","name":"EdgeVM_HiveMQEdge","broker":"192.168.10.193","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":{},"userProps":"","sessionExpiry":""},{"id":"1a2db014ed9a1ff0","type":"mqtt-broker","name":"","broker":"united-manufacturing-hub-mqtt.united-manufacturing-hub.svc.cluster.local","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":{},"userProps":"","sessionExpiry":""},{"id":"52cd81ad5c55555e","type":"mqtt in","z":"793d954c5531d497","name":"","topic":"Mayker/#","qos":"2","datatype":"auto-detect","broker":"d1babfeddba0f050","nl":false,"rap":true,"rh":0,"inputs":0,"x":160,"y":200,"wires":[["5a208384ba70d6b7","47589cc494394466"]]},{"id":"a933667259461bcd","type":"debug","z":"793d954c5531d497","name":"debug 1","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":980,"y":200,"wires":[]},{"id":"47589cc494394466","type":"function","z":"793d954c5531d497","name":"change topic structure","func":"msg.topic = \"umh/v1/\" + msg.topic + \"/_historian\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":360,"y":200,"wires":[["b9c764004977211c"]]},{"id":"68d84a9ab622eff7","type":"mqtt out","z":"793d954c5531d497","name":"","topic":"","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"1a2db014ed9a1ff0","x":970,"y":240,"wires":[]},{"id":"b9c764004977211c","type":"function","z":"793d954c5531d497","name":"add timestamp","func":"// Add the current timestamp in milliseconds to the payload\nmsg.payload.timestamp_ms = Date.now();\n\n// Return the modified message object\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":740,"y":200,"wires":[["a933667259461bcd","68d84a9ab622eff7"]]},{"id":"1297a67ab0be74a4","type":"inject","z":"793d954c5531d497","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Mayker/Ghent/DemoFactory/Energy","payload":"{\"test\":\"test\"}","payloadType":"json","x":150,"y":260,"wires":[["47589cc494394466"]]},{"id":"1ccebc3a42169e58","type":"inject","z":"793d954c5531d497","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{ \"timestamp_ms\": 1670001234567, \"x\": 12.5, \"y\": 7.3, \"z\": 3.2 }","payloadType":"json","x":150,"y":340,"wires":[["71dbb9aa7db49c68"]]},{"id":"71dbb9aa7db49c68","type":"mqtt out","z":"793d954c5531d497","name":"","topic":"umh/v1/cuttingincorperated/cologne/cnc-cutter/_historian/head/pos","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"1a2db014ed9a1ff0","x":770,"y":340,"wires":[]},{"id":"5a208384ba70d6b7","type":"debug","z":"793d954c5531d497","name":"debug 2","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":360,"y":140,"wires":[]},{"id":"45e1b962774247f5","type":"comment","z":"793d954c5531d497","name":"","info":"WITH machine_states AS ( SELECT 'Machine 1' AS machine, CASE WHEN RANDOM() < 0.25 THEN 'Running' WHEN RANDOM() < 0.50 THEN 'Idle' WHEN RANDOM() < 0.75 THEN 'Maintenance' ELSE 'Offline' END AS state, NOW() AS timestamp UNION ALL SELECT 'Machine 2', CASE WHEN RANDOM() < 0.25 THEN 'Running' WHEN RANDOM() < 0.50 THEN 'Idle' WHEN RANDOM() < 0.75 THEN 'Maintenance' ELSE 'Offline' END, NOW() UNION ALL SELECT 'Machine 3', CASE WHEN RANDOM() < 0.25 THEN 'Running' WHEN RANDOM() < 0.50 THEN 'Idle' WHEN RANDOM() < 0.75 THEN 'Maintenance' ELSE 'Offline' END, NOW() UNION ALL SELECT 'Machine 4', CASE WHEN RANDOM() < 0.25 THEN 'Running' WHEN RANDOM() < 0.50 THEN 'Idle' WHEN RANDOM() < 0.75 THEN 'Maintenance' ELSE 'Offline' END, NOW() UNION ALL SELECT 'Machine 5', CASE WHEN RANDOM() < 0.25 THEN 'Running' WHEN RANDOM() < 0.50 THEN 'Idle' WHEN RANDOM() < 0.75 THEN 'Maintenance' ELSE 'Offline' END, NOW() ) SELECT * FROM machine_states;","x":340,"y":520,"wires":[]}]