[{"data":1,"prerenderedAt":12662},["ShallowReactive",2],{"blog-\u002Fblog\u002F2025\u002F04\u002Fbuilding-oee-dashboard-with-flowfuse-2":3,"blog-all-for-related":12661},{"id":4,"title":5,"authors":6,"body":8,"cta":12633,"date":12634,"description":12635,"extension":12636,"image":12637,"lastUpdated":12633,"meta":12638,"navigation":9975,"path":12653,"seo":12654,"sitemap":12655,"stem":12656,"subtitle":12657,"tags":12658,"tldr":12633,"video":12633,"__hash__":12660},"blog\u002Fblog\u002F2025\u002F04\u002Fbuilding-oee-dashboard-with-flowfuse-2.md","Part 2: Building an OEE Dashboard with FlowFuse",[7],"sumit-shinde",{"type":9,"value":10,"toc":12610},"minimark",[11,33,38,41,60,69,72,77,80,112,116,119,8562,8598,8601,8610,8614,8617,8622,8690,8705,8713,8717,8848,8856,8860,8863,9082,9089,9098,9106,9110,9113,9353,9361,9365,9368,9371,9391,9395,9403,9716,9751,9755,9856,9860,9883,11073,11082,11086,11089,11094,11118,11182,11187,11238,11242,11266,12263,12288,12297,12301,12304,12307,12559,12567,12570,12579,12586,12589,12592,12596,12607],[12,13,14,15,20,21,27,28,32],"p",{},"In ",[16,17,19],"a",{"href":18},"\u002Fblog\u002F2025\u002F04\u002Fbuilding-oee-dashboard-with-flowfuse-part-1\u002F","Part 1",", we explored the fundamentals of OEE, outlined a basic design of the dashboard, and identified the key elements to include in the OEE dashboard.\nIn this Part 2, we will focus on building the OEE dashboard interface using ",[16,22,26],{"href":23,"rel":24},"https:\u002F\u002Fdashboard.flowfuse.com\u002F",[25],"nofollow","FlowFuse Dashboard"," (Node-RED Dashboard 2.0) and FlowFuse, utilizing simulated production and downtime data, the same kind of data you'd track for torque, weld cycle time, or paint throughput on an ",[16,29,31],{"href":30},"\u002Findustries\u002Fautomotive\u002F","automotive"," line.",[34,35,37],"h2",{"id":36},"getting-started","Getting Started",[12,39,40],{},"To simplify the development process, we will divide development into five key parts:",[42,43,44,48,51,54,57],"ol",{},[45,46,47],"li",{},"Collecting and configuring data",[45,49,50],{},"Preparing data for calculations",[45,52,53],{},"Calculating OEE and key metrics",[45,55,56],{},"Detailed breakdown of OEE data",[45,58,59],{},"Building the dashboard",[12,61,62,63,68],{},"Before we start, it is recommended to have a basic knowledge of Node-RED. For that, I recommend this free ",[16,64,67],{"href":65,"rel":66},"https:\u002F\u002Fnode-red-academy.learnworlds.com\u002Fcourse\u002Fnode-red-getting-started",[25],"Node-RED Fundamental Course",".",[12,70,71],{},"Additionally, ensure that you organize flows into well-structured groups. To match my group organization, I have provided images of the flow for each section. Also, if a Link In node is present at the start, create the group starting from the Link In node and ending at the Link Out node.",[73,74,76],"h3",{"id":75},"prerequisites","Prerequisites",[12,78,79],{},"Before you begin building the OEE Dashboard with FlowFuse, make sure you have the following:",[81,82,83,90,101],"ul",{},[45,84,85,89],{},[86,87,88],"strong",{},"Running FlowFuse Instance:"," Make sure you have a FlowFuse instance set up and running. If you don't have an account, check out our [free trial]({% include \"sign-up-url.njk\" %}) and learn how to create an instance in FlowFuse.",[45,91,92,95,96,100],{},[86,93,94],{},"FlowFuse Dashboard:"," Ensure you have ",[16,97,26],{"href":98,"rel":99},"https:\u002F\u002Fflows.nodered.org\u002Fnode\u002F@flowfuse\u002Fnode-red-dashboard",[25]," (also known as Node-RED Dashboard 2.0 in the community) installed and properly configured on your instance.",[45,102,103,95,106,111],{},[86,104,105],{},"SQLite Contrib Node:",[16,107,110],{"href":108,"rel":109},"https:\u002F\u002Fflows.nodered.org\u002Fnode\u002Fnode-red-node-sqlite",[25],"node-red-contrib-sqlite"," installed.",[73,113,115],{"id":114},"preparing-simulated-data","Preparing Simulated Data",[12,117,118],{},"Before building the dashboard, we need a data source for production and downtime metrics. This data will serve as input for OEE calculations. We will focus on connecting a real source in the next part, but for now, let's generate simulated data.",[120,121,123],"render-flow",{":height":122},"300",[124,125,130],"pre",{"className":126,"code":127,"language":128,"meta":129,"style":129},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[{\"id\":\"fa7147e04d4d5ec3\",\"type\":\"tab\",\"label\":\"Simulated Data Generation\",\"disabled\":false,\"info\":\"\",\"env\":[]},{\"id\":\"3f2126c3c00b9e0d\",\"type\":\"group\",\"z\":\"fa7147e04d4d5ec3\",\"style\":{\"stroke\":\"#b2b3bd\",\"stroke-opacity\":\"1\",\"fill\":\"#f2f3fb\",\"fill-opacity\":\"0.5\",\"label\":true,\"label-position\":\"nw\",\"color\":\"#32333b\"},\"nodes\":[\"853fb3a395d833bb\",\"a96ffd171bf11823\",\"3d30995a4329eb71\",\"0f466ba2a885e22a\",\"f8229c651706b162\",\"2ceebc93d54adba4\",\"0c927abd3b139e97\",\"8222855bc32e9240\"],\"x\":24,\"y\":99,\"w\":1142,\"h\":182},{\"id\":\"07a3d5b9075ff846\",\"type\":\"group\",\"z\":\"fa7147e04d4d5ec3\",\"style\":{\"stroke\":\"#b2b3bd\",\"stroke-opacity\":\"1\",\"fill\":\"#f2f3fb\",\"fill-opacity\":\"0.5\",\"label\":true,\"label-position\":\"nw\",\"color\":\"#32333b\"},\"nodes\":[\"aa7bd867fa7daca5\",\"234aef8a999cb8d9\",\"d7641c9327f295f8\",\"c3e96b73cd6ec586\",\"13f2e851e3f28ec6\",\"9a444655c076d5a7\",\"e1fe1b1a4f1ef2e5\",\"2beb68abc5da93bc\",\"b83d517fae3c7bbf\",\"50ebbbfb159a3cbe\",\"8873774ad339b67e\",\"77e22b20d1862c7e\"],\"x\":-6,\"y\":299,\"w\":2092,\"h\":162},{\"id\":\"c0550db87d6fb947\",\"type\":\"group\",\"z\":\"fa7147e04d4d5ec3\",\"style\":{\"stroke\":\"#b2b3bd\",\"stroke-opacity\":\"1\",\"fill\":\"#f2f3fb\",\"fill-opacity\":\"0.5\",\"label\":true,\"label-position\":\"nw\",\"color\":\"#32333b\"},\"nodes\":[\"b1f773f4cc2266c6\",\"cce91928076adb23\",\"d853a554ecd152b1\",\"45628fb0ca0a4672\",\"36ae627ad694fc09\",\"69afd49e2ceb191b\",\"808db5612ba1aedc\",\"6dcd69acd5990793\"],\"x\":34,\"y\":479,\"w\":1202,\"h\":142},{\"id\":\"a96ffd171bf11823\",\"type\":\"template\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"3f2126c3c00b9e0d\",\"name\":\"Create ProductionData table\",\"field\":\"topic\",\"fieldType\":\"msg\",\"format\":\"sql\",\"syntax\":\"mustache\",\"template\":\"CREATE TABLE IF NOT EXISTS ProductionData (\\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\\n    timestamp DATETIME NOT NULL,\\n    area VARCHAR(255) NOT NULL,\\n    line VARCHAR(100) NOT NULL,  \\n    machine_name VARCHAR(255) NOT NULL,\\n    shift VARCHAR(50) NOT NULL,\\n    shift_duration DECIMAL(5,2) NOT NULL,\\n    good_units INT NOT NULL,\\n    defect_units INT NOT NULL,\\n    total_produced_units INT NOT NULL,\\n    cycle_time DECIMAL(5,2) NOT NULL,\\n    ideal_cycle_time DECIMAL(5,2) NOT NULL,\\n    target_output INT NOT NULL DEFAULT 0,\\n    operating_time INT NOT NULL\\n);\\n\",\"output\":\"str\",\"x\":500,\"y\":140,\"wires\":[[\"853fb3a395d833bb\"]]},{\"id\":\"3d30995a4329eb71\",\"type\":\"inject\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"3f2126c3c00b9e0d\",\"name\":\"\",\"props\":[{\"p\":\"payload\"},{\"p\":\"topic\",\"vt\":\"str\"}],\"repeat\":\"\",\"crontab\":\"\",\"once\":true,\"onceDelay\":0.1,\"topic\":\"\",\"payload\":\"\",\"payloadType\":\"date\",\"x\":150,\"y\":140,\"wires\":[[\"a96ffd171bf11823\"]]},{\"id\":\"0f466ba2a885e22a\",\"type\":\"debug\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"3f2126c3c00b9e0d\",\"name\":\"debug 1\",\"active\":false,\"tosidebar\":true,\"console\":false,\"tostatus\":false,\"complete\":\"false\",\"statusVal\":\"\",\"statusType\":\"auto\",\"x\":1050,\"y\":140,\"wires\":[]},{\"id\":\"2ceebc93d54adba4\",\"type\":\"template\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"3f2126c3c00b9e0d\",\"name\":\"Create Downtime table\",\"field\":\"topic\",\"fieldType\":\"msg\",\"format\":\"sql\",\"syntax\":\"mustache\",\"template\":\"CREATE TABLE IF NOT EXISTS DowntimeData (\\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\\n    timestamp DATETIME NOT NULL,\\n    area VARCHAR(255) NOT NULL,\\n    line VARCHAR(100) NOT NULL,  \\n    machine_name VARCHAR(255) NOT NULL,\\n    shift VARCHAR(50) NOT NULL,\\n    downtime_start DATETIME NOT NULL,\\n    downtime_end DATETIME NOT NULL,\\n    downtime_duration_minutes INTEGER NOT NULL,\\n    downtime_type VARCHAR(50) NOT NULL CHECK (downtime_type IN ('Planned', 'Unplanned')),\\n    downtime_reason TEXT NOT NULL\\n);\\n\",\"output\":\"str\",\"x\":440,\"y\":240,\"wires\":[[\"f8229c651706b162\"]]},{\"id\":\"0c927abd3b139e97\",\"type\":\"inject\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"3f2126c3c00b9e0d\",\"name\":\"\",\"props\":[{\"p\":\"payload\"},{\"p\":\"topic\",\"vt\":\"str\"}],\"repeat\":\"\",\"crontab\":\"\",\"once\":true,\"onceDelay\":0.1,\"topic\":\"\",\"payload\":\"\",\"payloadType\":\"date\",\"x\":150,\"y\":240,\"wires\":[[\"2ceebc93d54adba4\"]]},{\"id\":\"8222855bc32e9240\",\"type\":\"debug\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"3f2126c3c00b9e0d\",\"name\":\"debug 2\",\"active\":false,\"tosidebar\":true,\"console\":false,\"tostatus\":false,\"complete\":\"false\",\"statusVal\":\"\",\"statusType\":\"auto\",\"x\":1050,\"y\":240,\"wires\":[]},{\"id\":\"234aef8a999cb8d9\",\"type\":\"template\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"07a3d5b9075ff846\",\"name\":\"Insert production data record\",\"field\":\"topic\",\"fieldType\":\"msg\",\"format\":\"handlebars\",\"syntax\":\"mustache\",\"template\":\"INSERT INTO ProductionData (\\n    timestamp, \\n    area, \\n    line, \\n    machine_name, \\n    shift, \\n    shift_duration, \\n    good_units, \\n    defect_units, \\n    total_produced_units, \\n    cycle_time, \\n    ideal_cycle_time,  \\n    target_output,\\n    operating_time  \\n) \\nVALUES (\\n    '{{payload.timestamp}}', \\n    '{{payload.area}}', \\n    '{{payload.line}}', \\n    '{{payload.machine_name}}', \\n    '{{payload.shift}}', \\n    '{{payload.shift_duration}}',  \\n    '{{payload.good_units}}',  \\n    '{{payload.defect_units}}',  \\n    '{{payload.total_produced_units}}',  \\n    '{{payload.cycle_time}}',  \\n    '{{payload.ideal_cycle_time}}',  \\n    '{{payload.target_output}}',  \\n    '{{payload.operating_time}}'  \\n);\\n\",\"output\":\"str\",\"x\":1550,\"y\":340,\"wires\":[[\"aa7bd867fa7daca5\"]]},{\"id\":\"d7641c9327f295f8\",\"type\":\"debug\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"07a3d5b9075ff846\",\"name\":\"debug 3\",\"active\":false,\"tosidebar\":true,\"console\":false,\"tostatus\":false,\"complete\":\"false\",\"statusVal\":\"\",\"statusType\":\"auto\",\"x\":1970,\"y\":340,\"wires\":[]},{\"id\":\"cce91928076adb23\",\"type\":\"template\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"c0550db87d6fb947\",\"name\":\"Drop demo downtime data\",\"field\":\"topic\",\"fieldType\":\"msg\",\"format\":\"sql\",\"syntax\":\"mustache\",\"template\":\"Drop table DowntimeData;\",\"output\":\"str\",\"x\":480,\"y\":580,\"wires\":[[\"b1f773f4cc2266c6\"]]},{\"id\":\"d853a554ecd152b1\",\"type\":\"inject\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"c0550db87d6fb947\",\"name\":\"\",\"props\":[{\"p\":\"payload\"},{\"p\":\"topic\",\"vt\":\"str\"}],\"repeat\":\"\",\"crontab\":\"\",\"once\":false,\"onceDelay\":0.1,\"topic\":\"\",\"payload\":\"\",\"payloadType\":\"date\",\"x\":150,\"y\":580,\"wires\":[[\"cce91928076adb23\"]]},{\"id\":\"45628fb0ca0a4672\",\"type\":\"debug\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"c0550db87d6fb947\",\"name\":\"debug 5\",\"active\":false,\"tosidebar\":true,\"console\":false,\"tostatus\":false,\"complete\":\"false\",\"statusVal\":\"\",\"statusType\":\"auto\",\"x\":1120,\"y\":580,\"wires\":[]},{\"id\":\"c3e96b73cd6ec586\",\"type\":\"inject\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"07a3d5b9075ff846\",\"name\":\"Click to generate and insert demo data.\",\"props\":[{\"p\":\"payload\"},{\"p\":\"topic\",\"vt\":\"str\"}],\"repeat\":\"\",\"crontab\":\"\",\"once\":false,\"onceDelay\":\"0.5\",\"topic\":\"\",\"payload\":\"\",\"payloadType\":\"date\",\"x\":230,\"y\":380,\"wires\":[[\"13f2e851e3f28ec6\"]]},{\"id\":\"13f2e851e3f28ec6\",\"type\":\"function\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"07a3d5b9075ff846\",\"name\":\"Generate simulated production and downtime data\",\"func\":\"function generateProductionData() {\\n    const areas = {\\n        \\\"Pressing\\\": [\\\"Hydraulic Press\\\", \\\"CNC Press Brake\\\", \\\"Stamping Press\\\", \\\"Power Press\\\"],\\n        \\\"Assembly\\\": [\\\"Robotic Arm\\\", \\\"Screw Insertion Machine\\\", \\\"Pick-and-Place Machine\\\"],\\n        \\\"Packaging\\\": [\\\"Carton Sealing Machine\\\", \\\"Shrink Wrapping Machine\\\", \\\"Bottle Filling and Capping Machine\\\", \\\"Flow Wrapper\\\"]\\n    };\\n\\n    const shifts = [\\\"Shift 1\\\", \\\"Shift 2\\\", \\\"Shift 3\\\"];\\n    const shiftStartTimes = {\\n        \\\"Shift 1\\\": \\\"00:00:00\\\",\\n        \\\"Shift 2\\\": \\\"08:00:00\\\",\\n        \\\"Shift 3\\\": \\\"16:00:00\\\"\\n    };\\n\\n    const uniqueShortCodes = {\\n        \\\"Pressing\\\": [\\\"HP\\\", \\\"PB\\\", \\\"SP\\\", \\\"PP\\\"],\\n        \\\"Assembly\\\": [\\\"RA\\\", \\\"SIM\\\", \\\"P and P\\\"],\\n        \\\"Packaging\\\": [\\\"CSM\\\", \\\"SWM\\\", \\\"BFCM\\\", \\\"FW\\\"]\\n    };\\n\\n    const downtimeTypes = [\\\"Planned\\\", \\\"Unplanned\\\"];\\n    const plannedDowntimeReasons = [\\n        \\\"Scheduled Maintenance\\\", \\\"Equipment Upgrades\\\", \\\"Shift Changeover\\\",\\n        \\\"Tool Changeover\\\", \\\"Calibration and Quality Checks\\\", \\\"Cleaning and Sanitation\\\", \\\"Planned Power Outage\\\"\\n    ];\\n    const unplannedDowntimeReasons = [\\n        \\\"Power Failure\\\", \\\"Material Shortage\\\", \\\"Technical Fault\\\", \\\"Operator Unavailable\\\"\\n    ];\\n\\n    const data = [];\\n    const downtimeData = [];\\n    const now = new Date();\\n\\n    const normalizeTimestamp = (timestamp) => timestamp.toISOString().split(\\\"T\\\").join(\\\" \\\").slice(0, 19);\\n\\n    for (let i = 0; i \u003C 30; i++) {\\n        const date = new Date();\\n        date.setDate(now.getDate() - i);\\n        const formattedDate = date.toISOString().split(\\\"T\\\")[0];\\n\\n        shifts.forEach(shift => {\\n            const shiftStart = shiftStartTimes[shift];\\n            const shiftTimestamp = new Date(`${formattedDate}T${shiftStart}`);\\n\\n            Object.entries(areas).forEach(([area, machines]) => {\\n                machines.forEach((_, index) => {\\n                    const randomCode = uniqueShortCodes[area][Math.floor(Math.random() * uniqueShortCodes[area].length)];\\n                    const uniqueID = Math.floor(10000 + Math.random() * 90000);\\n                    const shortMachineName = `${randomCode}-${uniqueID}`;\\n\\n                    const shiftDuration = 8;\\n                    let totalDowntimeMinutes = 0;\\n                    let downtimeEvents = [];\\n\\n                    \u002F\u002F Increase downtime frequency (up to 4 events per shift)\\n                    const numDowntimes = Math.floor(Math.random() * 4) + 1;\\n\\n                    for (let d = 0; d \u003C numDowntimes; d++) {\\n                        if (Math.random() \u003C 0.75) {  \u002F\u002F Increase probability of downtime\\n                            let downtimeMinutes = Math.floor(5 + Math.random() * 10); \u002F\u002F Shorter downtimes (5-15 mins)\\n                            totalDowntimeMinutes += downtimeMinutes;\\n\\n                            const downtimeStartMinutes = Math.floor(Math.random() * (shiftDuration * 60 - downtimeMinutes));\\n                            const downtimeStart = new Date(shiftTimestamp);\\n                            downtimeStart.setMinutes(downtimeStart.getMinutes() + downtimeStartMinutes);\\n\\n                            const downtimeEnd = new Date(downtimeStart);\\n                            downtimeEnd.setMinutes(downtimeEnd.getMinutes() + downtimeMinutes);\\n\\n                            const downtimeType = downtimeTypes[Math.floor(Math.random() * downtimeTypes.length)];\\n                            const downtimeReason = downtimeType === \\\"Planned\\\"\\n                                ? plannedDowntimeReasons[Math.floor(Math.random() * plannedDowntimeReasons.length)]\\n                                : unplannedDowntimeReasons[Math.floor(Math.random() * unplannedDowntimeReasons.length)];\\n\\n                            downtimeEvents.push({\\n                                timestamp: normalizeTimestamp(shiftTimestamp),\\n                                area,\\n                                machine_name: shortMachineName,\\n                                shift,\\n                                downtime_start: normalizeTimestamp(downtimeStart),\\n                                downtime_end: normalizeTimestamp(downtimeEnd),\\n                                downtime_duration_minutes: downtimeMinutes,\\n                                downtime_reason: downtimeReason,\\n                                downtime_type: downtimeType,\\n                                line: `Line-${index + 1}`\\n                            });\\n                        }\\n                    }\\n\\n                    const operatingTime = (shiftDuration * 60 - totalDowntimeMinutes) * 60;\\n                    let efficiency = Math.random() * 0.2 + 0.75;\\n                    let targetOutput = Math.floor(operatingTime \u002F 3) || 1;\\n                    let totalProduced = Math.floor(targetOutput * efficiency);\\n                    totalProduced = Math.min(totalProduced, targetOutput);\\n\\n                    const defectRate = Math.random() * 0.02 + 0.01;\\n                    const defectUnits = Math.floor(totalProduced * defectRate);\\n                    const goodUnits = totalProduced - defectUnits;\\n\\n                    data.push({\\n                        timestamp: normalizeTimestamp(shiftTimestamp),\\n                        area,\\n                        machine_name: shortMachineName,\\n                        shift,\\n                        shift_duration: shiftDuration,\\n                        operating_time: operatingTime - totalDowntimeMinutes * 60,\\n                        good_units: goodUnits,\\n                        defect_units: defectUnits,\\n                        total_produced_units: totalProduced,\\n                        target_output: targetOutput,\\n                        line: `Line-${index + 1}`\\n                    });\\n\\n                    downtimeData.push(...downtimeEvents);\\n                });\\n            });\\n        });\\n    }\\n\\n    return [\\n        { payload: data },\\n        { payload: downtimeData }\\n    ];\\n}\\n\\nconst productionDataSet = generateProductionData();\\n\\nreturn [\\n    { payload: productionDataSet[0].payload },\\n    { payload: productionDataSet[1].payload }\\n];\\n\",\"outputs\":2,\"timeout\":0,\"noerr\":0,\"initialize\":\"\",\"finalize\":\"\",\"libs\":[],\"x\":690,\"y\":380,\"wires\":[[\"9a444655c076d5a7\"],[\"8873774ad339b67e\"]]},{\"id\":\"9a444655c076d5a7\",\"type\":\"split\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"07a3d5b9075ff846\",\"name\":\"\",\"splt\":\"\\\\n\",\"spltType\":\"str\",\"arraySplt\":1,\"arraySpltType\":\"len\",\"stream\":false,\"addname\":\"\",\"x\":1060,\"y\":340,\"wires\":[[\"e1fe1b1a4f1ef2e5\"]]},{\"id\":\"e1fe1b1a4f1ef2e5\",\"type\":\"delay\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"07a3d5b9075ff846\",\"name\":\"10 msg\u002Fs\",\"pauseType\":\"rate\",\"timeout\":\"5\",\"timeoutUnits\":\"seconds\",\"rate\":\"10\",\"nbRateUnits\":\"1\",\"rateUnits\":\"second\",\"randomFirst\":\"1\",\"randomLast\":\"5\",\"randomUnits\":\"seconds\",\"drop\":false,\"allowrate\":false,\"outputs\":1,\"x\":1280,\"y\":340,\"wires\":[[\"234aef8a999cb8d9\"]]},{\"id\":\"b83d517fae3c7bbf\",\"type\":\"template\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"07a3d5b9075ff846\",\"name\":\"Insert downtime data record\",\"field\":\"topic\",\"fieldType\":\"msg\",\"format\":\"handlebars\",\"syntax\":\"mustache\",\"template\":\"INSERT INTO DowntimeData ( timestamp, area, line, machine_name, shift, \\n    downtime_start, downtime_end, downtime_duration_minutes, \\n    downtime_type, downtime_reason\\n)  \\nVALUES (\\n    '{{payload.timestamp}}',  \\n    '{{payload.area}}', \\n    '{{payload.line}}', \\n    '{{payload.machine_name}}', \\n    '{{payload.shift}}', \\n    '{{payload.downtime_start}}',\\n    '{{payload.downtime_end}}',  \\n    {{payload.downtime_duration_minutes}},  \\n    '{{payload.downtime_type}}',  \\n    '{{payload.downtime_reason}}'  \\n);\\n\",\"output\":\"str\",\"x\":1550,\"y\":420,\"wires\":[[\"2beb68abc5da93bc\"]]},{\"id\":\"50ebbbfb159a3cbe\",\"type\":\"debug\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"07a3d5b9075ff846\",\"name\":\"debug 8\",\"active\":false,\"tosidebar\":true,\"console\":false,\"tostatus\":false,\"complete\":\"false\",\"statusVal\":\"\",\"statusType\":\"auto\",\"x\":1970,\"y\":420,\"wires\":[]},{\"id\":\"8873774ad339b67e\",\"type\":\"split\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"07a3d5b9075ff846\",\"name\":\"\",\"splt\":\"\\\\n\",\"spltType\":\"str\",\"arraySplt\":1,\"arraySpltType\":\"len\",\"stream\":false,\"addname\":\"\",\"x\":1060,\"y\":420,\"wires\":[[\"77e22b20d1862c7e\"]]},{\"id\":\"77e22b20d1862c7e\",\"type\":\"delay\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"07a3d5b9075ff846\",\"name\":\"10 msg\u002Fs\",\"pauseType\":\"rate\",\"timeout\":\"5\",\"timeoutUnits\":\"seconds\",\"rate\":\"10\",\"nbRateUnits\":\"1\",\"rateUnits\":\"second\",\"randomFirst\":\"1\",\"randomLast\":\"5\",\"randomUnits\":\"seconds\",\"drop\":false,\"allowrate\":false,\"outputs\":1,\"x\":1280,\"y\":420,\"wires\":[[\"b83d517fae3c7bbf\"]]},{\"id\":\"69afd49e2ceb191b\",\"type\":\"template\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"c0550db87d6fb947\",\"name\":\"Drop demo production data\",\"field\":\"topic\",\"fieldType\":\"msg\",\"format\":\"sql\",\"syntax\":\"mustache\",\"template\":\"Drop table ProductionData;\",\"output\":\"str\",\"x\":480,\"y\":520,\"wires\":[[\"36ae627ad694fc09\"]]},{\"id\":\"808db5612ba1aedc\",\"type\":\"inject\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"c0550db87d6fb947\",\"name\":\"\",\"props\":[{\"p\":\"payload\"},{\"p\":\"topic\",\"vt\":\"str\"}],\"repeat\":\"\",\"crontab\":\"\",\"once\":false,\"onceDelay\":0.1,\"topic\":\"\",\"payload\":\"\",\"payloadType\":\"date\",\"x\":150,\"y\":520,\"wires\":[[\"69afd49e2ceb191b\"]]},{\"id\":\"6dcd69acd5990793\",\"type\":\"debug\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"c0550db87d6fb947\",\"name\":\"debug 4\",\"active\":false,\"tosidebar\":true,\"console\":false,\"tostatus\":false,\"complete\":\"false\",\"statusVal\":\"\",\"statusType\":\"auto\",\"x\":1120,\"y\":520,\"wires\":[]},{\"id\":\"853fb3a395d833bb\",\"type\":\"sqlite\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"3f2126c3c00b9e0d\",\"mydb\":\"1ae6d7f7fdb60191\",\"sqlquery\":\"msg.topic\",\"sql\":\"\",\"name\":\"\",\"x\":720,\"y\":140,\"wires\":[[\"0f466ba2a885e22a\"]]},{\"id\":\"f8229c651706b162\",\"type\":\"sqlite\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"3f2126c3c00b9e0d\",\"mydb\":\"1ae6d7f7fdb60191\",\"sqlquery\":\"msg.topic\",\"sql\":\"\",\"name\":\"\",\"x\":720,\"y\":240,\"wires\":[[\"8222855bc32e9240\"]]},{\"id\":\"aa7bd867fa7daca5\",\"type\":\"sqlite\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"07a3d5b9075ff846\",\"mydb\":\"1ae6d7f7fdb60191\",\"sqlquery\":\"msg.topic\",\"sql\":\"\",\"name\":\"\",\"x\":1780,\"y\":340,\"wires\":[[\"d7641c9327f295f8\"]]},{\"id\":\"b1f773f4cc2266c6\",\"type\":\"sqlite\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"c0550db87d6fb947\",\"mydb\":\"1ae6d7f7fdb60191\",\"sqlquery\":\"msg.topic\",\"sql\":\"\",\"name\":\"\",\"x\":730,\"y\":580,\"wires\":[[\"45628fb0ca0a4672\"]]},{\"id\":\"2beb68abc5da93bc\",\"type\":\"sqlite\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"07a3d5b9075ff846\",\"mydb\":\"1ae6d7f7fdb60191\",\"sqlquery\":\"msg.topic\",\"sql\":\"\",\"name\":\"\",\"x\":1780,\"y\":420,\"wires\":[[\"50ebbbfb159a3cbe\"]]},{\"id\":\"36ae627ad694fc09\",\"type\":\"sqlite\",\"z\":\"fa7147e04d4d5ec3\",\"g\":\"c0550db87d6fb947\",\"mydb\":\"1ae6d7f7fdb60191\",\"sqlquery\":\"msg.topic\",\"sql\":\"\",\"name\":\"\",\"x\":730,\"y\":520,\"wires\":[[\"6dcd69acd5990793\"]]},{\"id\":\"1ae6d7f7fdb60191\",\"type\":\"sqlitedb\",\"db\":\"sqllite\",\"mode\":\"RWC\"}]\n","json","",[131,132,133],"code",{"__ignoreMap":129},[134,135,138,142,145,149,151,154,156,160,162,165,167,170,172,174,176,179,181,183,185,188,190,192,194,197,199,201,203,206,208,211,213,216,218,220,223,225,227,230,232,235,237,239,241,243,245,248,250,252,254,256,258,260,262,265,267,269,271,274,276,278,280,282,284,286,288,291,293,296,298,302,304,306,308,311,313,315,317,320,322,324,326,329,331,333,335,338,340,342,344,347,349,351,353,356,358,360,362,365,367,369,371,373,375,378,380,383,385,387,389,392,394,396,398,401,403,405,407,410,412,415,417,420,422,425,427,430,432,434,436,439,441,443,445,448,450,452,454,457,459,461,463,466,468,470,472,475,477,479,481,484,486,488,490,493,495,498,500,503,505,507,511,513,515,518,520,522,525,527,529,532,534,536,539,541,543,546,548,550,553,556,558,560,562,564,566,569,571,573,575,577,579,581,583,585,587,589,591,593,595,597,599,601,603,605,607,609,611,613,615,617,619,621,623,625,627,629,631,633,635,637,639,641,643,645,647,649,651,653,655,657,659,661,663,665,667,669,671,673,675,677,679,681,683,685,687,689,691,693,695,697,699,701,703,705,707,709,711,713,715,717,719,721,723,725,727,730,732,734,736,739,741,743,745,748,750,752,754,757,759,761,763,766,768,770,772,775,777,779,781,784,786,788,790,793,795,797,799,802,804,806,808,811,813,815,817,820,822,824,826,829,831,833,835,837,839,841,844,846,848,850,852,854,857,859,861,863,865,867,870,872,874,876,878,880,883,885,887,889,891,893,895,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1000,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1059,1061,1063,1065,1068,1070,1072,1074,1077,1079,1081,1083,1086,1088,1090,1092,1095,1097,1099,1101,1104,1106,1108,1110,1113,1115,1117,1119,1122,1124,1126,1128,1130,1132,1134,1137,1139,1141,1143,1145,1147,1150,1152,1154,1156,1158,1160,1163,1165,1167,1169,1171,1173,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1249,1251,1253,1255,1258,1260,1262,1264,1267,1269,1271,1273,1276,1278,1280,1282,1285,1287,1289,1291,1294,1296,1298,1300,1303,1305,1307,1309,1312,1314,1316,1318,1321,1323,1325,1327,1330,1332,1334,1336,1338,1340,1342,1344,1347,1351,1354,1356,1359,1361,1364,1366,1369,1371,1374,1376,1379,1381,1384,1386,1389,1391,1394,1396,1399,1401,1404,1406,1409,1411,1414,1416,1419,1421,1424,1426,1428,1430,1432,1435,1437,1439,1441,1444,1446,1448,1450,1452,1454,1456,1459,1461,1463,1465,1467,1469,1472,1474,1476,1479,1481,1484,1486,1488,1490,1493,1495,1497,1499,1501,1503,1505,1507,1509,1511,1513,1515,1517,1519,1522,1524,1526,1528,1530,1532,1534,1536,1538,1540,1542,1544,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566,1568,1570,1572,1575,1577,1580,1582,1584,1586,1588,1590,1593,1595,1597,1599,1601,1603,1605,1607,1609,1611,1613,1615,1618,1620,1622,1624,1626,1628,1631,1633,1636,1638,1640,1642,1644,1646,1649,1651,1653,1655,1657,1659,1662,1664,1666,1668,1671,1673,1675,1678,1680,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1709,1711,1713,1715,1718,1720,1722,1724,1726,1728,1730,1733,1735,1737,1739,1741,1743,1745,1747,1749,1751,1753,1755,1757,1759,1761,1763,1765,1767,1769,1771,1773,1775,1777,1779,1781,1783,1785,1787,1789,1792,1794,1796,1798,1800,1802,1804,1806,1808,1810,1812,1814,1816,1818,1820,1822,1824,1826,1828,1830,1832,1834,1836,1838,1841,1843,1845,1847,1850,1852,1854,1856,1859,1861,1863,1865,1868,1870,1872,1874,1877,1879,1881,1883,1886,1888,1890,1892,1895,1897,1899,1901,1904,1906,1908,1910,1912,1914,1917,1919,1921,1923,1926,1928,1930,1932,1934,1936,1938,1941,1943,1945,1947,1949,1951,1953,1955,1957,1959,1961,1963,1965,1967,1969,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989,1991,1993,1995,1997,1999,2001,2003,2005,2007,2009,2011,2013,2015,2017,2019,2021,2023,2025,2027,2029,2031,2033,2035,2037,2040,2042,2044,2046,2048,2050,2052,2054,2056,2058,2060,2062,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2086,2088,2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2110,2112,2114,2116,2118,2121,2123,2125,2127,2129,2131,2133,2135,2137,2139,2141,2143,2145,2147,2150,2152,2155,2157,2160,2162,2165,2167,2170,2172,2174,2176,2178,2180,2182,2184,2186,2188,2190,2192,2194,2196,2198,2200,2202,2204,2207,2209,2211,2213,2215,2217,2220,2222,2224,2226,2228,2230,2232,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258,2260,2262,2264,2266,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348,2350,2352,2354,2356,2358,2360,2362,2364,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392,2394,2396,2398,2400,2402,2404,2406,2408,2410,2412,2414,2416,2418,2420,2422,2424,2426,2428,2430,2432,2434,2436,2438,2440,2442,2444,2446,2448,2450,2452,2454,2456,2458,2460,2462,2464,2466,2468,2470,2472,2474,2476,2478,2480,2482,2484,2486,2488,2490,2492,2494,2496,2498,2500,2502,2504,2506,2508,2510,2512,2514,2516,2518,2520,2522,2524,2526,2528,2530,2532,2534,2536,2538,2540,2542,2544,2546,2548,2550,2552,2554,2556,2558,2560,2562,2564,2566,2568,2571,2573,2575,2577,2579,2581,2583,2585,2587,2589,2591,2593,2595,2597,2599,2601,2603,2605,2607,2609,2611,2613,2615,2617,2619,2621,2623,2625,2627,2629,2631,2633,2635,2637,2639,2641,2643,2645,2647,2649,2651,2653,2655,2657,2659,2661,2663,2665,2667,2669,2671,2673,2675,2677,2679,2681,2683,2685,2687,2689,2691,2693,2695,2697,2699,2701,2703,2705,2707,2709,2711,2713,2715,2717,2719,2721,2723,2725,2727,2729,2731,2733,2735,2737,2739,2741,2743,2745,2747,2749,2751,2753,2755,2757,2760,2762,2764,2766,2768,2770,2772,2774,2776,2778,2780,2782,2784,2786,2788,2790,2792,2794,2796,2798,2800,2802,2804,2806,2809,2811,2813,2815,2817,2819,2821,2823,2825,2827,2829,2831,2833,2835,2837,2839,2842,2844,2847,2849,2852,2854,2857,2859,2862,2864,2867,2869,2872,2874,2877,2879,2882,2884,2887,2889,2892,2894,2897,2899,2902,2904,2907,2909,2912,2914,2917,2919,2922,2924,2927,2929,2932,2934,2937,2939,2942,2944,2947,2949,2952,2954,2957,2959,2962,2964,2967,2969,2972,2974,2977,2979,2982,2984,2986,2988,2990,2992,2994,2996,2998,3000,3002,3004,3006,3008,3010,3012,3014,3016,3019,3021,3023,3025,3027,3029,3032,3034,3036,3038,3040,3042,3044,3046,3048,3050,3052,3054,3056,3058,3060,3062,3064,3066,3068,3070,3072,3074,3076,3078,3080,3082,3084,3086,3088,3090,3092,3094,3096,3098,3100,3102,3104,3106,3108,3110,3112,3114,3116,3118,3120,3122,3124,3127,3129,3131,3133,3135,3137,3139,3141,3143,3145,3147,3149,3151,3153,3155,3157,3159,3161,3163,3165,3167,3169,3171,3173,3175,3177,3179,3181,3183,3185,3187,3189,3191,3193,3195,3197,3199,3201,3203,3205,3207,3209,3211,3213,3215,3218,3220,3222,3224,3226,3228,3230,3232,3234,3236,3238,3240,3242,3244,3246,3248,3250,3252,3254,3256,3258,3260,3262,3264,3266,3268,3270,3272,3274,3276,3278,3280,3282,3284,3286,3288,3290,3292,3294,3296,3298,3300,3302,3304,3306,3308,3310,3312,3314,3317,3319,3321,3323,3325,3327,3329,3331,3333,3335,3337,3339,3341,3343,3345,3347,3349,3351,3353,3355,3357,3359,3361,3363,3365,3367,3369,3371,3373,3375,3377,3379,3381,3383,3385,3387,3389,3391,3393,3395,3398,3400,3402,3404,3406,3408,3410,3412,3414,3416,3418,3420,3422,3424,3426,3429,3431,3433,3435,3437,3439,3442,3444,3446,3448,3450,3452,3454,3456,3458,3460,3462,3464,3466,3468,3470,3472,3474,3476,3478,3480,3482,3484,3486,3488,3490,3492,3494,3496,3498,3500,3502,3504,3506,3508,3510,3512,3514,3516,3518,3520,3522,3524,3526,3528,3530,3532,3534,3536,3538,3540,3542,3544,3546,3548,3550,3552,3554,3556,3558,3560,3562,3564,3566,3568,3570,3572,3574,3576,3578,3580,3582,3584,3586,3588,3590,3592,3594,3596,3598,3600,3602,3604,3606,3608,3610,3612,3614,3616,3618,3620,3622,3624,3626,3628,3630,3632,3634,3636,3638,3640,3642,3644,3646,3648,3650,3652,3654,3656,3658,3660,3662,3664,3666,3668,3670,3672,3674,3676,3678,3680,3682,3684,3686,3688,3690,3692,3694,3696,3698,3700,3702,3704,3706,3708,3710,3712,3714,3716,3718,3720,3722,3724,3726,3728,3730,3732,3734,3736,3738,3740,3742,3744,3746,3748,3750,3752,3754,3756,3758,3760,3762,3764,3766,3768,3770,3772,3774,3776,3778,3780,3782,3784,3786,3788,3790,3793,3795,3797,3799,3801,3803,3805,3807,3809,3811,3813,3815,3817,3819,3821,3823,3825,3827,3829,3831,3833,3835,3837,3839,3841,3843,3845,3847,3849,3851,3853,3855,3857,3859,3861,3863,3865,3867,3869,3871,3873,3875,3877,3879,3881,3884,3886,3888,3890,3892,3894,3896,3898,3900,3902,3904,3906,3908,3910,3912,3914,3916,3918,3920,3922,3924,3926,3928,3930,3932,3934,3936,3938,3940,3942,3944,3946,3948,3950,3952,3954,3956,3958,3960,3962,3964,3966,3968,3970,3972,3974,3976,3978,3980,3983,3985,3987,3989,3991,3993,3995,3997,3999,4001,4003,4005,4007,4009,4011,4013,4015,4017,4019,4021,4023,4025,4027,4029,4031,4033,4035,4037,4039,4041,4043,4045,4047,4049,4051,4053,4055,4057,4059,4061,4063,4065,4067,4069,4071,4073,4075,4077,4079,4081,4083,4085,4087,4089,4091,4093,4095,4097,4099,4101,4103,4105,4107,4109,4111,4113,4115,4117,4119,4121,4123,4125,4127,4129,4131,4133,4135,4137,4139,4142,4144,4146,4148,4150,4152,4155,4157,4159,4161,4163,4165,4167,4169,4171,4173,4175,4177,4179,4181,4183,4185,4187,4189,4191,4193,4195,4197,4199,4202,4204,4206,4208,4210,4212,4214,4216,4218,4220,4222,4224,4226,4228,4230,4232,4234,4236,4238,4240,4242,4244,4246,4248,4251,4253,4255,4257,4260,4262,4264,4266,4269,4271,4274,4276,4279,4282,4285,4288,4290,4293,4295,4298,4300,4303,4305,4307,4309,4312,4314,4316,4318,4321,4323,4325,4327,4329,4332,4334,4336,4338,4341,4343,4345,4347,4350,4352,4354,4356,4359,4361,4363,4365,4367,4370,4372,4374,4376,4379,4381,4383,4385,4388,4390,4392,4394,4397,4399,4401,4403,4406,4408,4411,4413,4416,4419,4422,4424,4427,4429,4431,4433,4436,4438,4440,4442,4445,4447,4450,4452,4455,4457,4459,4461,4463,4466,4468,4471,4473,4475,4477,4479,4481,4483,4485,4487,4490,4492,4494,4496,4498,4500,4502,4504,4506,4509,4512,4514,4516,4519,4521,4523,4525,4527,4529,4531,4534,4536,4538,4540,4543,4545,4547,4549,4552,4554,4556,4558,4561,4563,4565,4567,4569,4571,4573,4575,4577,4580,4582,4584,4586,4589,4591,4593,4595,4598,4600,4602,4604,4606,4608,4610,4612,4614,4617,4619,4621,4623,4626,4628,4630,4632,4635,4637,4639,4641,4644,4646,4648,4650,4652,4654,4657,4659,4662,4664,4666,4668,4671,4673,4675,4677,4680,4682,4684,4687,4689,4691,4693,4696,4698,4700,4702,4705,4707,4709,4711,4713,4716,4718,4720,4722,4725,4727,4729,4731,4734,4736,4738,4740,4743,4745,4748,4750,4753,4755,4757,4760,4762,4764,4766,4769,4771,4773,4775,4778,4780,4782,4784,4787,4789,4791,4793,4796,4798,4801,4803,4806,4808,4811,4813,4816,4818,4821,4823,4826,4829,4831,4834,4836,4839,4841,4844,4846,4849,4851,4853,4855,4858,4860,4863,4865,4868,4870,4873,4875,4878,4880,4883,4885,4888,4890,4893,4895,4898,4900,4903,4905,4908,4910,4913,4915,4918,4920,4923,4925,4928,4930,4933,4935,4938,4940,4943,4945,4948,4950,4953,4955,4958,4960,4963,4965,4968,4970,4973,4975,4978,4980,4982,4984,4987,4989,4992,4994,4997,4999,5002,5004,5007,5009,5012,5014,5017,5019,5022,5024,5027,5029,5032,5034,5037,5039,5042,5044,5047,5049,5052,5054,5057,5059,5062,5064,5067,5069,5072,5074,5077,5079,5082,5084,5087,5089,5092,5094,5097,5099,5102,5104,5107,5109,5112,5114,5117,5119,5122,5124,5127,5129,5132,5134,5137,5139,5142,5144,5147,5149,5152,5154,5157,5159,5162,5164,5167,5169,5172,5174,5177,5179,5182,5184,5187,5189,5192,5194,5197,5199,5202,5204,5207,5209,5211,5213,5216,5218,5221,5223,5226,5228,5231,5233,5236,5238,5240,5242,5244,5246,5248,5251,5253,5255,5258,5260,5262,5265,5267,5269,5272,5274,5276,5279,5281,5283,5285,5287,5289,5292,5294,5296,5298,5300,5302,5305,5307,5309,5311,5313,5315,5318,5320,5323,5325,5327,5329,5331,5334,5336,5338,5340,5342,5344,5346,5348,5350,5352,5354,5356,5358,5360,5362,5365,5367,5369,5371,5373,5375,5377,5379,5381,5383,5385,5387,5389,5391,5393,5395,5397,5399,5402,5404,5406,5408,5410,5412,5414,5416,5418,5420,5422,5424,5426,5428,5430,5432,5434,5436,5438,5440,5442,5444,5446,5448,5450,5452,5455,5457,5459,5461,5464,5467,5469,5471,5473,5476,5478,5480,5482,5484,5486,5488,5490,5493,5495,5497,5499,5501,5503,5506,5508,5510,5512,5515,5517,5519,5521,5524,5526,5528,5530,5533,5535,5537,5539,5541,5543,5545,5547,5549,5552,5554,5556,5558,5560,5562,5564,5566,5568,5570,5572,5574,5576,5578,5580,5582,5584,5586,5588,5590,5592,5594,5596,5598,5600,5602,5604,5606,5608,5611,5613,5615,5617,5619,5621,5623,5625,5627,5629,5631,5633,5635,5637,5639,5641,5643,5645,5647,5649,5651,5653,5655,5657,5660,5662,5664,5666,5669,5671,5673,5675,5678,5680,5682,5684,5686,5688,5690,5692,5695,5697,5699,5701,5704,5706,5708,5710,5713,5715,5717,5719,5721,5723,5725,5727,5730,5732,5734,5736,5739,5741,5743,5745,5747,5749,5751,5753,5756,5758,5760,5762,5765,5767,5769,5771,5774,5776,5778,5780,5782,5784,5786,5788,5791,5793,5795,5797,5799,5801,5803,5805,5808,5810,5812,5814,5816,5818,5820,5822,5825,5827,5829,5831,5834,5836,5838,5840,5842,5844,5846,5848,5850,5852,5854,5856,5858,5861,5863,5865,5867,5869,5871,5873,5875,5877,5879,5881,5883,5885,5887,5889,5891,5893,5895,5897,5899,5901,5903,5905,5907,5909,5911,5913,5915,5917,5919,5921,5923,5925,5927,5929,5931,5933,5935,5937,5939,5941,5943,5945,5947,5949,5951,5953,5955,5957,5959,5961,5963,5965,5968,5970,5972,5974,5976,5978,5980,5982,5984,5986,5988,5990,5992,5994,5996,5998,6000,6002,6004,6006,6008,6010,6012,6014,6016,6018,6020,6022,6024,6026,6028,6030,6032,6034,6036,6038,6040,6042,6044,6046,6049,6051,6054,6056,6059,6061,6064,6066,6068,6070,6073,6075,6077,6079,6081,6083,6085,6087,6089,6091,6094,6096,6099,6101,6104,6106,6109,6111,6114,6116,6118,6120,6122,6124,6126,6128,6130,6132,6134,6136,6138,6140,6142,6144,6146,6148,6150,6152,6154,6156,6158,6160,6163,6165,6167,6169,6171,6173,6175,6177,6179,6181,6183,6185,6187,6189,6191,6193,6195,6197,6199,6201,6203,6205,6207,6209,6211,6213,6215,6217,6219,6221,6223,6225,6227,6229,6231,6233,6235,6237,6239,6241,6243,6245,6247,6249,6251,6253,6255,6258,6260,6262,6264,6266,6268,6270,6272,6274,6276,6278,6280,6282,6284,6286,6288,6290,6292,6294,6296,6298,6300,6302,6304,6306,6308,6310,6312,6314,6316,6318,6320,6322,6324,6326,6328,6330,6332,6334,6336,6338,6340,6342,6344,6346,6348,6350,6352,6354,6356,6358,6360,6362,6364,6366,6368,6370,6372,6374,6376,6378,6380,6382,6384,6386,6388,6390,6392,6394,6396,6398,6400,6402,6404,6406,6408,6410,6412,6414,6416,6418,6420,6422,6424,6426,6428,6430,6432,6434,6436,6438,6440,6442,6444,6446,6448,6450,6452,6454,6456,6458,6460,6462,6464,6466,6468,6470,6472,6474,6476,6478,6480,6482,6484,6486,6488,6490,6492,6494,6496,6498,6500,6502,6504,6506,6508,6510,6512,6514,6516,6518,6520,6522,6524,6526,6528,6530,6532,6534,6536,6538,6540,6542,6544,6546,6548,6550,6552,6554,6556,6558,6560,6562,6564,6566,6568,6570,6572,6574,6576,6578,6580,6582,6584,6586,6588,6590,6592,6594,6596,6598,6600,6602,6604,6606,6608,6610,6612,6614,6616,6618,6620,6622,6624,6626,6628,6630,6632,6634,6636,6638,6640,6642,6644,6646,6648,6650,6652,6654,6656,6658,6660,6662,6664,6666,6668,6670,6672,6674,6676,6678,6680,6682,6684,6686,6688,6690,6692,6694,6696,6698,6700,6702,6704,6706,6708,6710,6712,6714,6716,6718,6720,6722,6724,6726,6728,6730,6732,6734,6736,6738,6740,6742,6744,6746,6748,6750,6752,6754,6756,6758,6760,6762,6764,6766,6768,6770,6772,6774,6776,6778,6780,6782,6784,6786,6788,6790,6792,6794,6796,6798,6800,6802,6804,6806,6808,6810,6812,6814,6816,6818,6820,6822,6824,6826,6828,6830,6832,6834,6836,6838,6840,6842,6844,6846,6848,6850,6852,6854,6856,6858,6860,6862,6864,6866,6868,6870,6872,6874,6876,6878,6880,6882,6884,6886,6888,6890,6892,6894,6896,6898,6900,6902,6904,6906,6908,6910,6912,6914,6916,6918,6920,6922,6924,6926,6928,6930,6932,6934,6937,6939,6941,6943,6945,6947,6949,6951,6953,6955,6957,6959,6961,6963,6965,6967,6969,6971,6973,6975,6977,6979,6981,6983,6985,6987,6989,6991,6993,6995,6997,6999,7001,7003,7005,7007,7009,7011,7013,7015,7018,7020,7022,7024,7026,7028,7030,7032,7034,7036,7038,7040,7042,7044,7046,7048,7050,7052,7054,7056,7058,7061,7063,7065,7067,7069,7071,7073,7075,7077,7079,7081,7083,7085,7087,7089,7091,7093,7095,7097,7099,7101,7103,7105,7107,7109,7111,7113,7115,7117,7119,7121,7123,7125,7127,7129,7131,7133,7135,7137,7139,7141,7143,7145,7147,7149,7151,7153,7155,7157,7159,7161,7163,7165,7167,7169,7171,7173,7175,7177,7179,7181,7183,7185,7187,7189,7191,7193,7195,7197,7199,7201,7203,7205,7207,7209,7211,7213,7215,7217,7219,7221,7223,7225,7227,7229,7231,7233,7235,7237,7239,7241,7243,7245,7247,7249,7251,7253,7255,7257,7259,7261,7263,7265,7267,7269,7271,7273,7275,7277,7279,7281,7283,7285,7287,7289,7291,7293,7295,7297,7299,7301,7303,7305,7307,7309,7311,7313,7315,7317,7319,7321,7323,7325,7327,7329,7331,7333,7335,7337,7339,7341,7343,7345,7347,7349,7351,7353,7355,7357,7359,7361,7363,7365,7367,7369,7371,7373,7375,7377,7379,7381,7383,7385,7387,7389,7391,7393,7395,7397,7399,7401,7403,7405,7407,7409,7412,7414,7416,7418,7420,7422,7424,7426,7428,7430,7432,7434,7436,7438,7440,7442,7444,7446,7448,7450,7452,7454,7456,7458,7460,7462,7464,7466,7468,7470,7472,7474,7476,7478,7480,7482,7484,7486,7488,7490,7492,7494,7496,7498,7500,7502,7504,7506,7508,7510,7512,7514,7516,7518,7520,7522,7524,7526,7528,7530,7532,7534,7536,7538,7540,7542,7544,7546,7548,7550,7553,7555,7557,7559,7561,7563,7565,7567,7569,7571,7573,7575,7577,7579,7581,7583,7585,7587,7589,7591,7594,7596,7598,7600,7603,7605,7607,7609,7612,7614,7616,7618,7621,7623,7625,7627,7629,7631,7633,7635,7637,7639,7641,7643,7645,7647,7649,7651,7653,7655,7657,7660,7662,7664,7666,7668,7670,7672,7674,7676,7678,7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7830,7832,7834,7836,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,7936,7938,7940,7942,7944,7946,7948,7950,7952,7954,7956,7958,7960,7962,7964,7966,7968,7970,7972,7974,7976,7978,7981,7983,7985,7987,7989,7991,7993,7995,7997,7999,8001,8003,8005,8007,8009,8011,8013,8015,8017,8019,8021,8023,8025,8027,8029,8031,8033,8035,8037,8039,8041,8043,8045,8047,8049,8051,8053,8055,8057,8059,8061,8063,8065,8067,8069,8071,8073,8075,8077,8079,8081,8083,8085,8087,8089,8091,8093,8095,8097,8099,8101,8103,8105,8107,8109,8111,8113,8115,8117,8119,8121,8123,8125,8127,8129,8131,8133,8135,8137,8139,8142,8144,8146,8148,8150,8152,8154,8156,8158,8160,8162,8164,8166,8168,8170,8172,8174,8176,8178,8180,8182,8184,8186,8188,8190,8192,8194,8196,8198,8200,8202,8204,8206,8208,8210,8212,8214,8216,8218,8220,8222,8224,8226,8228,8230,8232,8234,8236,8238,8240,8242,8244,8246,8248,8250,8252,8254,8256,8258,8260,8262,8264,8266,8268,8270,8272,8274,8276,8278,8280,8282,8284,8286,8288,8290,8292,8294,8296,8298,8300,8302,8304,8306,8308,8310,8312,8314,8316,8318,8320,8322,8324,8326,8328,8330,8332,8334,8336,8338,8340,8342,8344,8346,8348,8350,8352,8354,8356,8358,8360,8362,8364,8366,8368,8370,8372,8374,8376,8378,8380,8382,8384,8386,8388,8390,8392,8394,8396,8398,8400,8402,8404,8406,8408,8410,8412,8414,8416,8418,8420,8422,8424,8426,8428,8430,8432,8434,8436,8438,8440,8442,8444,8446,8448,8450,8452,8454,8456,8458,8460,8462,8464,8466,8468,8470,8472,8474,8476,8478,8480,8482,8484,8486,8488,8490,8492,8494,8496,8498,8500,8502,8504,8506,8508,8510,8512,8514,8516,8518,8521,8523,8525,8527,8530,8532,8534,8536,8539,8541,8543,8545,8548,8550,8552,8554,8557,8559],"span",{"class":136,"line":137},"line",1,[134,139,141],{"class":140},"sMK4o","[{",[134,143,144],{"class":140},"\"",[134,146,148],{"class":147},"spNyl","id",[134,150,144],{"class":140},[134,152,153],{"class":140},":",[134,155,144],{"class":140},[134,157,159],{"class":158},"sfazB","fa7147e04d4d5ec3",[134,161,144],{"class":140},[134,163,164],{"class":140},",",[134,166,144],{"class":140},[134,168,169],{"class":147},"type",[134,171,144],{"class":140},[134,173,153],{"class":140},[134,175,144],{"class":140},[134,177,178],{"class":158},"tab",[134,180,144],{"class":140},[134,182,164],{"class":140},[134,184,144],{"class":140},[134,186,187],{"class":147},"label",[134,189,144],{"class":140},[134,191,153],{"class":140},[134,193,144],{"class":140},[134,195,196],{"class":158},"Simulated Data Generation",[134,198,144],{"class":140},[134,200,164],{"class":140},[134,202,144],{"class":140},[134,204,205],{"class":147},"disabled",[134,207,144],{"class":140},[134,209,210],{"class":140},":false,",[134,212,144],{"class":140},[134,214,215],{"class":147},"info",[134,217,144],{"class":140},[134,219,153],{"class":140},[134,221,222],{"class":140},"\"\"",[134,224,164],{"class":140},[134,226,144],{"class":140},[134,228,229],{"class":147},"env",[134,231,144],{"class":140},[134,233,234],{"class":140},":[]},{",[134,236,144],{"class":140},[134,238,148],{"class":147},[134,240,144],{"class":140},[134,242,153],{"class":140},[134,244,144],{"class":140},[134,246,247],{"class":158},"3f2126c3c00b9e0d",[134,249,144],{"class":140},[134,251,164],{"class":140},[134,253,144],{"class":140},[134,255,169],{"class":147},[134,257,144],{"class":140},[134,259,153],{"class":140},[134,261,144],{"class":140},[134,263,264],{"class":158},"group",[134,266,144],{"class":140},[134,268,164],{"class":140},[134,270,144],{"class":140},[134,272,273],{"class":147},"z",[134,275,144],{"class":140},[134,277,153],{"class":140},[134,279,144],{"class":140},[134,281,159],{"class":158},[134,283,144],{"class":140},[134,285,164],{"class":140},[134,287,144],{"class":140},[134,289,290],{"class":147},"style",[134,292,144],{"class":140},[134,294,295],{"class":140},":{",[134,297,144],{"class":140},[134,299,301],{"class":300},"sBMFI","stroke",[134,303,144],{"class":140},[134,305,153],{"class":140},[134,307,144],{"class":140},[134,309,310],{"class":158},"#b2b3bd",[134,312,144],{"class":140},[134,314,164],{"class":140},[134,316,144],{"class":140},[134,318,319],{"class":300},"stroke-opacity",[134,321,144],{"class":140},[134,323,153],{"class":140},[134,325,144],{"class":140},[134,327,328],{"class":158},"1",[134,330,144],{"class":140},[134,332,164],{"class":140},[134,334,144],{"class":140},[134,336,337],{"class":300},"fill",[134,339,144],{"class":140},[134,341,153],{"class":140},[134,343,144],{"class":140},[134,345,346],{"class":158},"#f2f3fb",[134,348,144],{"class":140},[134,350,164],{"class":140},[134,352,144],{"class":140},[134,354,355],{"class":300},"fill-opacity",[134,357,144],{"class":140},[134,359,153],{"class":140},[134,361,144],{"class":140},[134,363,364],{"class":158},"0.5",[134,366,144],{"class":140},[134,368,164],{"class":140},[134,370,144],{"class":140},[134,372,187],{"class":300},[134,374,144],{"class":140},[134,376,377],{"class":140},":true,",[134,379,144],{"class":140},[134,381,382],{"class":300},"label-position",[134,384,144],{"class":140},[134,386,153],{"class":140},[134,388,144],{"class":140},[134,390,391],{"class":158},"nw",[134,393,144],{"class":140},[134,395,164],{"class":140},[134,397,144],{"class":140},[134,399,400],{"class":300},"color",[134,402,144],{"class":140},[134,404,153],{"class":140},[134,406,144],{"class":140},[134,408,409],{"class":158},"#32333b",[134,411,144],{"class":140},[134,413,414],{"class":140},"},",[134,416,144],{"class":140},[134,418,419],{"class":147},"nodes",[134,421,144],{"class":140},[134,423,424],{"class":140},":[",[134,426,144],{"class":140},[134,428,429],{"class":158},"853fb3a395d833bb",[134,431,144],{"class":140},[134,433,164],{"class":140},[134,435,144],{"class":140},[134,437,438],{"class":158},"a96ffd171bf11823",[134,440,144],{"class":140},[134,442,164],{"class":140},[134,444,144],{"class":140},[134,446,447],{"class":158},"3d30995a4329eb71",[134,449,144],{"class":140},[134,451,164],{"class":140},[134,453,144],{"class":140},[134,455,456],{"class":158},"0f466ba2a885e22a",[134,458,144],{"class":140},[134,460,164],{"class":140},[134,462,144],{"class":140},[134,464,465],{"class":158},"f8229c651706b162",[134,467,144],{"class":140},[134,469,164],{"class":140},[134,471,144],{"class":140},[134,473,474],{"class":158},"2ceebc93d54adba4",[134,476,144],{"class":140},[134,478,164],{"class":140},[134,480,144],{"class":140},[134,482,483],{"class":158},"0c927abd3b139e97",[134,485,144],{"class":140},[134,487,164],{"class":140},[134,489,144],{"class":140},[134,491,492],{"class":158},"8222855bc32e9240",[134,494,144],{"class":140},[134,496,497],{"class":140},"],",[134,499,144],{"class":140},[134,501,502],{"class":147},"x",[134,504,144],{"class":140},[134,506,153],{"class":140},[134,508,510],{"class":509},"sbssI","24",[134,512,164],{"class":140},[134,514,144],{"class":140},[134,516,517],{"class":147},"y",[134,519,144],{"class":140},[134,521,153],{"class":140},[134,523,524],{"class":509},"99",[134,526,164],{"class":140},[134,528,144],{"class":140},[134,530,531],{"class":147},"w",[134,533,144],{"class":140},[134,535,153],{"class":140},[134,537,538],{"class":509},"1142",[134,540,164],{"class":140},[134,542,144],{"class":140},[134,544,545],{"class":147},"h",[134,547,144],{"class":140},[134,549,153],{"class":140},[134,551,552],{"class":509},"182",[134,554,555],{"class":140},"},{",[134,557,144],{"class":140},[134,559,148],{"class":147},[134,561,144],{"class":140},[134,563,153],{"class":140},[134,565,144],{"class":140},[134,567,568],{"class":158},"07a3d5b9075ff846",[134,570,144],{"class":140},[134,572,164],{"class":140},[134,574,144],{"class":140},[134,576,169],{"class":147},[134,578,144],{"class":140},[134,580,153],{"class":140},[134,582,144],{"class":140},[134,584,264],{"class":158},[134,586,144],{"class":140},[134,588,164],{"class":140},[134,590,144],{"class":140},[134,592,273],{"class":147},[134,594,144],{"class":140},[134,596,153],{"class":140},[134,598,144],{"class":140},[134,600,159],{"class":158},[134,602,144],{"class":140},[134,604,164],{"class":140},[134,606,144],{"class":140},[134,608,290],{"class":147},[134,610,144],{"class":140},[134,612,295],{"class":140},[134,614,144],{"class":140},[134,616,301],{"class":300},[134,618,144],{"class":140},[134,620,153],{"class":140},[134,622,144],{"class":140},[134,624,310],{"class":158},[134,626,144],{"class":140},[134,628,164],{"class":140},[134,630,144],{"class":140},[134,632,319],{"class":300},[134,634,144],{"class":140},[134,636,153],{"class":140},[134,638,144],{"class":140},[134,640,328],{"class":158},[134,642,144],{"class":140},[134,644,164],{"class":140},[134,646,144],{"class":140},[134,648,337],{"class":300},[134,650,144],{"class":140},[134,652,153],{"class":140},[134,654,144],{"class":140},[134,656,346],{"class":158},[134,658,144],{"class":140},[134,660,164],{"class":140},[134,662,144],{"class":140},[134,664,355],{"class":300},[134,666,144],{"class":140},[134,668,153],{"class":140},[134,670,144],{"class":140},[134,672,364],{"class":158},[134,674,144],{"class":140},[134,676,164],{"class":140},[134,678,144],{"class":140},[134,680,187],{"class":300},[134,682,144],{"class":140},[134,684,377],{"class":140},[134,686,144],{"class":140},[134,688,382],{"class":300},[134,690,144],{"class":140},[134,692,153],{"class":140},[134,694,144],{"class":140},[134,696,391],{"class":158},[134,698,144],{"class":140},[134,700,164],{"class":140},[134,702,144],{"class":140},[134,704,400],{"class":300},[134,706,144],{"class":140},[134,708,153],{"class":140},[134,710,144],{"class":140},[134,712,409],{"class":158},[134,714,144],{"class":140},[134,716,414],{"class":140},[134,718,144],{"class":140},[134,720,419],{"class":147},[134,722,144],{"class":140},[134,724,424],{"class":140},[134,726,144],{"class":140},[134,728,729],{"class":158},"aa7bd867fa7daca5",[134,731,144],{"class":140},[134,733,164],{"class":140},[134,735,144],{"class":140},[134,737,738],{"class":158},"234aef8a999cb8d9",[134,740,144],{"class":140},[134,742,164],{"class":140},[134,744,144],{"class":140},[134,746,747],{"class":158},"d7641c9327f295f8",[134,749,144],{"class":140},[134,751,164],{"class":140},[134,753,144],{"class":140},[134,755,756],{"class":158},"c3e96b73cd6ec586",[134,758,144],{"class":140},[134,760,164],{"class":140},[134,762,144],{"class":140},[134,764,765],{"class":158},"13f2e851e3f28ec6",[134,767,144],{"class":140},[134,769,164],{"class":140},[134,771,144],{"class":140},[134,773,774],{"class":158},"9a444655c076d5a7",[134,776,144],{"class":140},[134,778,164],{"class":140},[134,780,144],{"class":140},[134,782,783],{"class":158},"e1fe1b1a4f1ef2e5",[134,785,144],{"class":140},[134,787,164],{"class":140},[134,789,144],{"class":140},[134,791,792],{"class":158},"2beb68abc5da93bc",[134,794,144],{"class":140},[134,796,164],{"class":140},[134,798,144],{"class":140},[134,800,801],{"class":158},"b83d517fae3c7bbf",[134,803,144],{"class":140},[134,805,164],{"class":140},[134,807,144],{"class":140},[134,809,810],{"class":158},"50ebbbfb159a3cbe",[134,812,144],{"class":140},[134,814,164],{"class":140},[134,816,144],{"class":140},[134,818,819],{"class":158},"8873774ad339b67e",[134,821,144],{"class":140},[134,823,164],{"class":140},[134,825,144],{"class":140},[134,827,828],{"class":158},"77e22b20d1862c7e",[134,830,144],{"class":140},[134,832,497],{"class":140},[134,834,144],{"class":140},[134,836,502],{"class":147},[134,838,144],{"class":140},[134,840,153],{"class":140},[134,842,843],{"class":509},"-6",[134,845,164],{"class":140},[134,847,144],{"class":140},[134,849,517],{"class":147},[134,851,144],{"class":140},[134,853,153],{"class":140},[134,855,856],{"class":509},"299",[134,858,164],{"class":140},[134,860,144],{"class":140},[134,862,531],{"class":147},[134,864,144],{"class":140},[134,866,153],{"class":140},[134,868,869],{"class":509},"2092",[134,871,164],{"class":140},[134,873,144],{"class":140},[134,875,545],{"class":147},[134,877,144],{"class":140},[134,879,153],{"class":140},[134,881,882],{"class":509},"162",[134,884,555],{"class":140},[134,886,144],{"class":140},[134,888,148],{"class":147},[134,890,144],{"class":140},[134,892,153],{"class":140},[134,894,144],{"class":140},[134,896,897],{"class":158},"c0550db87d6fb947",[134,899,144],{"class":140},[134,901,164],{"class":140},[134,903,144],{"class":140},[134,905,169],{"class":147},[134,907,144],{"class":140},[134,909,153],{"class":140},[134,911,144],{"class":140},[134,913,264],{"class":158},[134,915,144],{"class":140},[134,917,164],{"class":140},[134,919,144],{"class":140},[134,921,273],{"class":147},[134,923,144],{"class":140},[134,925,153],{"class":140},[134,927,144],{"class":140},[134,929,159],{"class":158},[134,931,144],{"class":140},[134,933,164],{"class":140},[134,935,144],{"class":140},[134,937,290],{"class":147},[134,939,144],{"class":140},[134,941,295],{"class":140},[134,943,144],{"class":140},[134,945,301],{"class":300},[134,947,144],{"class":140},[134,949,153],{"class":140},[134,951,144],{"class":140},[134,953,310],{"class":158},[134,955,144],{"class":140},[134,957,164],{"class":140},[134,959,144],{"class":140},[134,961,319],{"class":300},[134,963,144],{"class":140},[134,965,153],{"class":140},[134,967,144],{"class":140},[134,969,328],{"class":158},[134,971,144],{"class":140},[134,973,164],{"class":140},[134,975,144],{"class":140},[134,977,337],{"class":300},[134,979,144],{"class":140},[134,981,153],{"class":140},[134,983,144],{"class":140},[134,985,346],{"class":158},[134,987,144],{"class":140},[134,989,164],{"class":140},[134,991,144],{"class":140},[134,993,355],{"class":300},[134,995,144],{"class":140},[134,997,153],{"class":140},[134,999,144],{"class":140},[134,1001,364],{"class":158},[134,1003,144],{"class":140},[134,1005,164],{"class":140},[134,1007,144],{"class":140},[134,1009,187],{"class":300},[134,1011,144],{"class":140},[134,1013,377],{"class":140},[134,1015,144],{"class":140},[134,1017,382],{"class":300},[134,1019,144],{"class":140},[134,1021,153],{"class":140},[134,1023,144],{"class":140},[134,1025,391],{"class":158},[134,1027,144],{"class":140},[134,1029,164],{"class":140},[134,1031,144],{"class":140},[134,1033,400],{"class":300},[134,1035,144],{"class":140},[134,1037,153],{"class":140},[134,1039,144],{"class":140},[134,1041,409],{"class":158},[134,1043,144],{"class":140},[134,1045,414],{"class":140},[134,1047,144],{"class":140},[134,1049,419],{"class":147},[134,1051,144],{"class":140},[134,1053,424],{"class":140},[134,1055,144],{"class":140},[134,1057,1058],{"class":158},"b1f773f4cc2266c6",[134,1060,144],{"class":140},[134,1062,164],{"class":140},[134,1064,144],{"class":140},[134,1066,1067],{"class":158},"cce91928076adb23",[134,1069,144],{"class":140},[134,1071,164],{"class":140},[134,1073,144],{"class":140},[134,1075,1076],{"class":158},"d853a554ecd152b1",[134,1078,144],{"class":140},[134,1080,164],{"class":140},[134,1082,144],{"class":140},[134,1084,1085],{"class":158},"45628fb0ca0a4672",[134,1087,144],{"class":140},[134,1089,164],{"class":140},[134,1091,144],{"class":140},[134,1093,1094],{"class":158},"36ae627ad694fc09",[134,1096,144],{"class":140},[134,1098,164],{"class":140},[134,1100,144],{"class":140},[134,1102,1103],{"class":158},"69afd49e2ceb191b",[134,1105,144],{"class":140},[134,1107,164],{"class":140},[134,1109,144],{"class":140},[134,1111,1112],{"class":158},"808db5612ba1aedc",[134,1114,144],{"class":140},[134,1116,164],{"class":140},[134,1118,144],{"class":140},[134,1120,1121],{"class":158},"6dcd69acd5990793",[134,1123,144],{"class":140},[134,1125,497],{"class":140},[134,1127,144],{"class":140},[134,1129,502],{"class":147},[134,1131,144],{"class":140},[134,1133,153],{"class":140},[134,1135,1136],{"class":509},"34",[134,1138,164],{"class":140},[134,1140,144],{"class":140},[134,1142,517],{"class":147},[134,1144,144],{"class":140},[134,1146,153],{"class":140},[134,1148,1149],{"class":509},"479",[134,1151,164],{"class":140},[134,1153,144],{"class":140},[134,1155,531],{"class":147},[134,1157,144],{"class":140},[134,1159,153],{"class":140},[134,1161,1162],{"class":509},"1202",[134,1164,164],{"class":140},[134,1166,144],{"class":140},[134,1168,545],{"class":147},[134,1170,144],{"class":140},[134,1172,153],{"class":140},[134,1174,1175],{"class":509},"142",[134,1177,555],{"class":140},[134,1179,144],{"class":140},[134,1181,148],{"class":147},[134,1183,144],{"class":140},[134,1185,153],{"class":140},[134,1187,144],{"class":140},[134,1189,438],{"class":158},[134,1191,144],{"class":140},[134,1193,164],{"class":140},[134,1195,144],{"class":140},[134,1197,169],{"class":147},[134,1199,144],{"class":140},[134,1201,153],{"class":140},[134,1203,144],{"class":140},[134,1205,1206],{"class":158},"template",[134,1208,144],{"class":140},[134,1210,164],{"class":140},[134,1212,144],{"class":140},[134,1214,273],{"class":147},[134,1216,144],{"class":140},[134,1218,153],{"class":140},[134,1220,144],{"class":140},[134,1222,159],{"class":158},[134,1224,144],{"class":140},[134,1226,164],{"class":140},[134,1228,144],{"class":140},[134,1230,1231],{"class":147},"g",[134,1233,144],{"class":140},[134,1235,153],{"class":140},[134,1237,144],{"class":140},[134,1239,247],{"class":158},[134,1241,144],{"class":140},[134,1243,164],{"class":140},[134,1245,144],{"class":140},[134,1247,1248],{"class":147},"name",[134,1250,144],{"class":140},[134,1252,153],{"class":140},[134,1254,144],{"class":140},[134,1256,1257],{"class":158},"Create ProductionData table",[134,1259,144],{"class":140},[134,1261,164],{"class":140},[134,1263,144],{"class":140},[134,1265,1266],{"class":147},"field",[134,1268,144],{"class":140},[134,1270,153],{"class":140},[134,1272,144],{"class":140},[134,1274,1275],{"class":158},"topic",[134,1277,144],{"class":140},[134,1279,164],{"class":140},[134,1281,144],{"class":140},[134,1283,1284],{"class":147},"fieldType",[134,1286,144],{"class":140},[134,1288,153],{"class":140},[134,1290,144],{"class":140},[134,1292,1293],{"class":158},"msg",[134,1295,144],{"class":140},[134,1297,164],{"class":140},[134,1299,144],{"class":140},[134,1301,1302],{"class":147},"format",[134,1304,144],{"class":140},[134,1306,153],{"class":140},[134,1308,144],{"class":140},[134,1310,1311],{"class":158},"sql",[134,1313,144],{"class":140},[134,1315,164],{"class":140},[134,1317,144],{"class":140},[134,1319,1320],{"class":147},"syntax",[134,1322,144],{"class":140},[134,1324,153],{"class":140},[134,1326,144],{"class":140},[134,1328,1329],{"class":158},"mustache",[134,1331,144],{"class":140},[134,1333,164],{"class":140},[134,1335,144],{"class":140},[134,1337,1206],{"class":147},[134,1339,144],{"class":140},[134,1341,153],{"class":140},[134,1343,144],{"class":140},[134,1345,1346],{"class":158},"CREATE TABLE IF NOT EXISTS ProductionData (",[134,1348,1350],{"class":1349},"sTEyZ","\\n",[134,1352,1353],{"class":158},"    id INTEGER PRIMARY KEY AUTOINCREMENT,",[134,1355,1350],{"class":1349},[134,1357,1358],{"class":158},"    timestamp DATETIME NOT NULL,",[134,1360,1350],{"class":1349},[134,1362,1363],{"class":158},"    area VARCHAR(255) NOT NULL,",[134,1365,1350],{"class":1349},[134,1367,1368],{"class":158},"    line VARCHAR(100) NOT NULL,  ",[134,1370,1350],{"class":1349},[134,1372,1373],{"class":158},"    machine_name VARCHAR(255) NOT NULL,",[134,1375,1350],{"class":1349},[134,1377,1378],{"class":158},"    shift VARCHAR(50) NOT NULL,",[134,1380,1350],{"class":1349},[134,1382,1383],{"class":158},"    shift_duration DECIMAL(5,2) NOT NULL,",[134,1385,1350],{"class":1349},[134,1387,1388],{"class":158},"    good_units INT NOT NULL,",[134,1390,1350],{"class":1349},[134,1392,1393],{"class":158},"    defect_units INT NOT NULL,",[134,1395,1350],{"class":1349},[134,1397,1398],{"class":158},"    total_produced_units INT NOT NULL,",[134,1400,1350],{"class":1349},[134,1402,1403],{"class":158},"    cycle_time DECIMAL(5,2) NOT NULL,",[134,1405,1350],{"class":1349},[134,1407,1408],{"class":158},"    ideal_cycle_time DECIMAL(5,2) NOT NULL,",[134,1410,1350],{"class":1349},[134,1412,1413],{"class":158},"    target_output INT NOT NULL DEFAULT 0,",[134,1415,1350],{"class":1349},[134,1417,1418],{"class":158},"    operating_time INT NOT NULL",[134,1420,1350],{"class":1349},[134,1422,1423],{"class":158},");",[134,1425,1350],{"class":1349},[134,1427,144],{"class":140},[134,1429,164],{"class":140},[134,1431,144],{"class":140},[134,1433,1434],{"class":147},"output",[134,1436,144],{"class":140},[134,1438,153],{"class":140},[134,1440,144],{"class":140},[134,1442,1443],{"class":158},"str",[134,1445,144],{"class":140},[134,1447,164],{"class":140},[134,1449,144],{"class":140},[134,1451,502],{"class":147},[134,1453,144],{"class":140},[134,1455,153],{"class":140},[134,1457,1458],{"class":509},"500",[134,1460,164],{"class":140},[134,1462,144],{"class":140},[134,1464,517],{"class":147},[134,1466,144],{"class":140},[134,1468,153],{"class":140},[134,1470,1471],{"class":509},"140",[134,1473,164],{"class":140},[134,1475,144],{"class":140},[134,1477,1478],{"class":147},"wires",[134,1480,144],{"class":140},[134,1482,1483],{"class":140},":[[",[134,1485,144],{"class":140},[134,1487,429],{"class":158},[134,1489,144],{"class":140},[134,1491,1492],{"class":140},"]]},{",[134,1494,144],{"class":140},[134,1496,148],{"class":147},[134,1498,144],{"class":140},[134,1500,153],{"class":140},[134,1502,144],{"class":140},[134,1504,447],{"class":158},[134,1506,144],{"class":140},[134,1508,164],{"class":140},[134,1510,144],{"class":140},[134,1512,169],{"class":147},[134,1514,144],{"class":140},[134,1516,153],{"class":140},[134,1518,144],{"class":140},[134,1520,1521],{"class":158},"inject",[134,1523,144],{"class":140},[134,1525,164],{"class":140},[134,1527,144],{"class":140},[134,1529,273],{"class":147},[134,1531,144],{"class":140},[134,1533,153],{"class":140},[134,1535,144],{"class":140},[134,1537,159],{"class":158},[134,1539,144],{"class":140},[134,1541,164],{"class":140},[134,1543,144],{"class":140},[134,1545,1231],{"class":147},[134,1547,144],{"class":140},[134,1549,153],{"class":140},[134,1551,144],{"class":140},[134,1553,247],{"class":158},[134,1555,144],{"class":140},[134,1557,164],{"class":140},[134,1559,144],{"class":140},[134,1561,1248],{"class":147},[134,1563,144],{"class":140},[134,1565,153],{"class":140},[134,1567,222],{"class":140},[134,1569,164],{"class":140},[134,1571,144],{"class":140},[134,1573,1574],{"class":147},"props",[134,1576,144],{"class":140},[134,1578,1579],{"class":140},":[{",[134,1581,144],{"class":140},[134,1583,12],{"class":300},[134,1585,144],{"class":140},[134,1587,153],{"class":140},[134,1589,144],{"class":140},[134,1591,1592],{"class":158},"payload",[134,1594,144],{"class":140},[134,1596,555],{"class":140},[134,1598,144],{"class":140},[134,1600,12],{"class":300},[134,1602,144],{"class":140},[134,1604,153],{"class":140},[134,1606,144],{"class":140},[134,1608,1275],{"class":158},[134,1610,144],{"class":140},[134,1612,164],{"class":140},[134,1614,144],{"class":140},[134,1616,1617],{"class":300},"vt",[134,1619,144],{"class":140},[134,1621,153],{"class":140},[134,1623,144],{"class":140},[134,1625,1443],{"class":158},[134,1627,144],{"class":140},[134,1629,1630],{"class":140},"}],",[134,1632,144],{"class":140},[134,1634,1635],{"class":147},"repeat",[134,1637,144],{"class":140},[134,1639,153],{"class":140},[134,1641,222],{"class":140},[134,1643,164],{"class":140},[134,1645,144],{"class":140},[134,1647,1648],{"class":147},"crontab",[134,1650,144],{"class":140},[134,1652,153],{"class":140},[134,1654,222],{"class":140},[134,1656,164],{"class":140},[134,1658,144],{"class":140},[134,1660,1661],{"class":147},"once",[134,1663,144],{"class":140},[134,1665,377],{"class":140},[134,1667,144],{"class":140},[134,1669,1670],{"class":147},"onceDelay",[134,1672,144],{"class":140},[134,1674,153],{"class":140},[134,1676,1677],{"class":509},"0.1",[134,1679,164],{"class":140},[134,1681,144],{"class":140},[134,1683,1275],{"class":147},[134,1685,144],{"class":140},[134,1687,153],{"class":140},[134,1689,222],{"class":140},[134,1691,164],{"class":140},[134,1693,144],{"class":140},[134,1695,1592],{"class":147},[134,1697,144],{"class":140},[134,1699,153],{"class":140},[134,1701,222],{"class":140},[134,1703,164],{"class":140},[134,1705,144],{"class":140},[134,1707,1708],{"class":147},"payloadType",[134,1710,144],{"class":140},[134,1712,153],{"class":140},[134,1714,144],{"class":140},[134,1716,1717],{"class":158},"date",[134,1719,144],{"class":140},[134,1721,164],{"class":140},[134,1723,144],{"class":140},[134,1725,502],{"class":147},[134,1727,144],{"class":140},[134,1729,153],{"class":140},[134,1731,1732],{"class":509},"150",[134,1734,164],{"class":140},[134,1736,144],{"class":140},[134,1738,517],{"class":147},[134,1740,144],{"class":140},[134,1742,153],{"class":140},[134,1744,1471],{"class":509},[134,1746,164],{"class":140},[134,1748,144],{"class":140},[134,1750,1478],{"class":147},[134,1752,144],{"class":140},[134,1754,1483],{"class":140},[134,1756,144],{"class":140},[134,1758,438],{"class":158},[134,1760,144],{"class":140},[134,1762,1492],{"class":140},[134,1764,144],{"class":140},[134,1766,148],{"class":147},[134,1768,144],{"class":140},[134,1770,153],{"class":140},[134,1772,144],{"class":140},[134,1774,456],{"class":158},[134,1776,144],{"class":140},[134,1778,164],{"class":140},[134,1780,144],{"class":140},[134,1782,169],{"class":147},[134,1784,144],{"class":140},[134,1786,153],{"class":140},[134,1788,144],{"class":140},[134,1790,1791],{"class":158},"debug",[134,1793,144],{"class":140},[134,1795,164],{"class":140},[134,1797,144],{"class":140},[134,1799,273],{"class":147},[134,1801,144],{"class":140},[134,1803,153],{"class":140},[134,1805,144],{"class":140},[134,1807,159],{"class":158},[134,1809,144],{"class":140},[134,1811,164],{"class":140},[134,1813,144],{"class":140},[134,1815,1231],{"class":147},[134,1817,144],{"class":140},[134,1819,153],{"class":140},[134,1821,144],{"class":140},[134,1823,247],{"class":158},[134,1825,144],{"class":140},[134,1827,164],{"class":140},[134,1829,144],{"class":140},[134,1831,1248],{"class":147},[134,1833,144],{"class":140},[134,1835,153],{"class":140},[134,1837,144],{"class":140},[134,1839,1840],{"class":158},"debug 1",[134,1842,144],{"class":140},[134,1844,164],{"class":140},[134,1846,144],{"class":140},[134,1848,1849],{"class":147},"active",[134,1851,144],{"class":140},[134,1853,210],{"class":140},[134,1855,144],{"class":140},[134,1857,1858],{"class":147},"tosidebar",[134,1860,144],{"class":140},[134,1862,377],{"class":140},[134,1864,144],{"class":140},[134,1866,1867],{"class":147},"console",[134,1869,144],{"class":140},[134,1871,210],{"class":140},[134,1873,144],{"class":140},[134,1875,1876],{"class":147},"tostatus",[134,1878,144],{"class":140},[134,1880,210],{"class":140},[134,1882,144],{"class":140},[134,1884,1885],{"class":147},"complete",[134,1887,144],{"class":140},[134,1889,153],{"class":140},[134,1891,144],{"class":140},[134,1893,1894],{"class":158},"false",[134,1896,144],{"class":140},[134,1898,164],{"class":140},[134,1900,144],{"class":140},[134,1902,1903],{"class":147},"statusVal",[134,1905,144],{"class":140},[134,1907,153],{"class":140},[134,1909,222],{"class":140},[134,1911,164],{"class":140},[134,1913,144],{"class":140},[134,1915,1916],{"class":147},"statusType",[134,1918,144],{"class":140},[134,1920,153],{"class":140},[134,1922,144],{"class":140},[134,1924,1925],{"class":158},"auto",[134,1927,144],{"class":140},[134,1929,164],{"class":140},[134,1931,144],{"class":140},[134,1933,502],{"class":147},[134,1935,144],{"class":140},[134,1937,153],{"class":140},[134,1939,1940],{"class":509},"1050",[134,1942,164],{"class":140},[134,1944,144],{"class":140},[134,1946,517],{"class":147},[134,1948,144],{"class":140},[134,1950,153],{"class":140},[134,1952,1471],{"class":509},[134,1954,164],{"class":140},[134,1956,144],{"class":140},[134,1958,1478],{"class":147},[134,1960,144],{"class":140},[134,1962,234],{"class":140},[134,1964,144],{"class":140},[134,1966,148],{"class":147},[134,1968,144],{"class":140},[134,1970,153],{"class":140},[134,1972,144],{"class":140},[134,1974,474],{"class":158},[134,1976,144],{"class":140},[134,1978,164],{"class":140},[134,1980,144],{"class":140},[134,1982,169],{"class":147},[134,1984,144],{"class":140},[134,1986,153],{"class":140},[134,1988,144],{"class":140},[134,1990,1206],{"class":158},[134,1992,144],{"class":140},[134,1994,164],{"class":140},[134,1996,144],{"class":140},[134,1998,273],{"class":147},[134,2000,144],{"class":140},[134,2002,153],{"class":140},[134,2004,144],{"class":140},[134,2006,159],{"class":158},[134,2008,144],{"class":140},[134,2010,164],{"class":140},[134,2012,144],{"class":140},[134,2014,1231],{"class":147},[134,2016,144],{"class":140},[134,2018,153],{"class":140},[134,2020,144],{"class":140},[134,2022,247],{"class":158},[134,2024,144],{"class":140},[134,2026,164],{"class":140},[134,2028,144],{"class":140},[134,2030,1248],{"class":147},[134,2032,144],{"class":140},[134,2034,153],{"class":140},[134,2036,144],{"class":140},[134,2038,2039],{"class":158},"Create Downtime table",[134,2041,144],{"class":140},[134,2043,164],{"class":140},[134,2045,144],{"class":140},[134,2047,1266],{"class":147},[134,2049,144],{"class":140},[134,2051,153],{"class":140},[134,2053,144],{"class":140},[134,2055,1275],{"class":158},[134,2057,144],{"class":140},[134,2059,164],{"class":140},[134,2061,144],{"class":140},[134,2063,1284],{"class":147},[134,2065,144],{"class":140},[134,2067,153],{"class":140},[134,2069,144],{"class":140},[134,2071,1293],{"class":158},[134,2073,144],{"class":140},[134,2075,164],{"class":140},[134,2077,144],{"class":140},[134,2079,1302],{"class":147},[134,2081,144],{"class":140},[134,2083,153],{"class":140},[134,2085,144],{"class":140},[134,2087,1311],{"class":158},[134,2089,144],{"class":140},[134,2091,164],{"class":140},[134,2093,144],{"class":140},[134,2095,1320],{"class":147},[134,2097,144],{"class":140},[134,2099,153],{"class":140},[134,2101,144],{"class":140},[134,2103,1329],{"class":158},[134,2105,144],{"class":140},[134,2107,164],{"class":140},[134,2109,144],{"class":140},[134,2111,1206],{"class":147},[134,2113,144],{"class":140},[134,2115,153],{"class":140},[134,2117,144],{"class":140},[134,2119,2120],{"class":158},"CREATE TABLE IF NOT EXISTS DowntimeData (",[134,2122,1350],{"class":1349},[134,2124,1353],{"class":158},[134,2126,1350],{"class":1349},[134,2128,1358],{"class":158},[134,2130,1350],{"class":1349},[134,2132,1363],{"class":158},[134,2134,1350],{"class":1349},[134,2136,1368],{"class":158},[134,2138,1350],{"class":1349},[134,2140,1373],{"class":158},[134,2142,1350],{"class":1349},[134,2144,1378],{"class":158},[134,2146,1350],{"class":1349},[134,2148,2149],{"class":158},"    downtime_start DATETIME NOT NULL,",[134,2151,1350],{"class":1349},[134,2153,2154],{"class":158},"    downtime_end DATETIME NOT NULL,",[134,2156,1350],{"class":1349},[134,2158,2159],{"class":158},"    downtime_duration_minutes INTEGER NOT NULL,",[134,2161,1350],{"class":1349},[134,2163,2164],{"class":158},"    downtime_type VARCHAR(50) NOT NULL CHECK (downtime_type IN ('Planned', 'Unplanned')),",[134,2166,1350],{"class":1349},[134,2168,2169],{"class":158},"    downtime_reason TEXT NOT NULL",[134,2171,1350],{"class":1349},[134,2173,1423],{"class":158},[134,2175,1350],{"class":1349},[134,2177,144],{"class":140},[134,2179,164],{"class":140},[134,2181,144],{"class":140},[134,2183,1434],{"class":147},[134,2185,144],{"class":140},[134,2187,153],{"class":140},[134,2189,144],{"class":140},[134,2191,1443],{"class":158},[134,2193,144],{"class":140},[134,2195,164],{"class":140},[134,2197,144],{"class":140},[134,2199,502],{"class":147},[134,2201,144],{"class":140},[134,2203,153],{"class":140},[134,2205,2206],{"class":509},"440",[134,2208,164],{"class":140},[134,2210,144],{"class":140},[134,2212,517],{"class":147},[134,2214,144],{"class":140},[134,2216,153],{"class":140},[134,2218,2219],{"class":509},"240",[134,2221,164],{"class":140},[134,2223,144],{"class":140},[134,2225,1478],{"class":147},[134,2227,144],{"class":140},[134,2229,1483],{"class":140},[134,2231,144],{"class":140},[134,2233,465],{"class":158},[134,2235,144],{"class":140},[134,2237,1492],{"class":140},[134,2239,144],{"class":140},[134,2241,148],{"class":147},[134,2243,144],{"class":140},[134,2245,153],{"class":140},[134,2247,144],{"class":140},[134,2249,483],{"class":158},[134,2251,144],{"class":140},[134,2253,164],{"class":140},[134,2255,144],{"class":140},[134,2257,169],{"class":147},[134,2259,144],{"class":140},[134,2261,153],{"class":140},[134,2263,144],{"class":140},[134,2265,1521],{"class":158},[134,2267,144],{"class":140},[134,2269,164],{"class":140},[134,2271,144],{"class":140},[134,2273,273],{"class":147},[134,2275,144],{"class":140},[134,2277,153],{"class":140},[134,2279,144],{"class":140},[134,2281,159],{"class":158},[134,2283,144],{"class":140},[134,2285,164],{"class":140},[134,2287,144],{"class":140},[134,2289,1231],{"class":147},[134,2291,144],{"class":140},[134,2293,153],{"class":140},[134,2295,144],{"class":140},[134,2297,247],{"class":158},[134,2299,144],{"class":140},[134,2301,164],{"class":140},[134,2303,144],{"class":140},[134,2305,1248],{"class":147},[134,2307,144],{"class":140},[134,2309,153],{"class":140},[134,2311,222],{"class":140},[134,2313,164],{"class":140},[134,2315,144],{"class":140},[134,2317,1574],{"class":147},[134,2319,144],{"class":140},[134,2321,1579],{"class":140},[134,2323,144],{"class":140},[134,2325,12],{"class":300},[134,2327,144],{"class":140},[134,2329,153],{"class":140},[134,2331,144],{"class":140},[134,2333,1592],{"class":158},[134,2335,144],{"class":140},[134,2337,555],{"class":140},[134,2339,144],{"class":140},[134,2341,12],{"class":300},[134,2343,144],{"class":140},[134,2345,153],{"class":140},[134,2347,144],{"class":140},[134,2349,1275],{"class":158},[134,2351,144],{"class":140},[134,2353,164],{"class":140},[134,2355,144],{"class":140},[134,2357,1617],{"class":300},[134,2359,144],{"class":140},[134,2361,153],{"class":140},[134,2363,144],{"class":140},[134,2365,1443],{"class":158},[134,2367,144],{"class":140},[134,2369,1630],{"class":140},[134,2371,144],{"class":140},[134,2373,1635],{"class":147},[134,2375,144],{"class":140},[134,2377,153],{"class":140},[134,2379,222],{"class":140},[134,2381,164],{"class":140},[134,2383,144],{"class":140},[134,2385,1648],{"class":147},[134,2387,144],{"class":140},[134,2389,153],{"class":140},[134,2391,222],{"class":140},[134,2393,164],{"class":140},[134,2395,144],{"class":140},[134,2397,1661],{"class":147},[134,2399,144],{"class":140},[134,2401,377],{"class":140},[134,2403,144],{"class":140},[134,2405,1670],{"class":147},[134,2407,144],{"class":140},[134,2409,153],{"class":140},[134,2411,1677],{"class":509},[134,2413,164],{"class":140},[134,2415,144],{"class":140},[134,2417,1275],{"class":147},[134,2419,144],{"class":140},[134,2421,153],{"class":140},[134,2423,222],{"class":140},[134,2425,164],{"class":140},[134,2427,144],{"class":140},[134,2429,1592],{"class":147},[134,2431,144],{"class":140},[134,2433,153],{"class":140},[134,2435,222],{"class":140},[134,2437,164],{"class":140},[134,2439,144],{"class":140},[134,2441,1708],{"class":147},[134,2443,144],{"class":140},[134,2445,153],{"class":140},[134,2447,144],{"class":140},[134,2449,1717],{"class":158},[134,2451,144],{"class":140},[134,2453,164],{"class":140},[134,2455,144],{"class":140},[134,2457,502],{"class":147},[134,2459,144],{"class":140},[134,2461,153],{"class":140},[134,2463,1732],{"class":509},[134,2465,164],{"class":140},[134,2467,144],{"class":140},[134,2469,517],{"class":147},[134,2471,144],{"class":140},[134,2473,153],{"class":140},[134,2475,2219],{"class":509},[134,2477,164],{"class":140},[134,2479,144],{"class":140},[134,2481,1478],{"class":147},[134,2483,144],{"class":140},[134,2485,1483],{"class":140},[134,2487,144],{"class":140},[134,2489,474],{"class":158},[134,2491,144],{"class":140},[134,2493,1492],{"class":140},[134,2495,144],{"class":140},[134,2497,148],{"class":147},[134,2499,144],{"class":140},[134,2501,153],{"class":140},[134,2503,144],{"class":140},[134,2505,492],{"class":158},[134,2507,144],{"class":140},[134,2509,164],{"class":140},[134,2511,144],{"class":140},[134,2513,169],{"class":147},[134,2515,144],{"class":140},[134,2517,153],{"class":140},[134,2519,144],{"class":140},[134,2521,1791],{"class":158},[134,2523,144],{"class":140},[134,2525,164],{"class":140},[134,2527,144],{"class":140},[134,2529,273],{"class":147},[134,2531,144],{"class":140},[134,2533,153],{"class":140},[134,2535,144],{"class":140},[134,2537,159],{"class":158},[134,2539,144],{"class":140},[134,2541,164],{"class":140},[134,2543,144],{"class":140},[134,2545,1231],{"class":147},[134,2547,144],{"class":140},[134,2549,153],{"class":140},[134,2551,144],{"class":140},[134,2553,247],{"class":158},[134,2555,144],{"class":140},[134,2557,164],{"class":140},[134,2559,144],{"class":140},[134,2561,1248],{"class":147},[134,2563,144],{"class":140},[134,2565,153],{"class":140},[134,2567,144],{"class":140},[134,2569,2570],{"class":158},"debug 2",[134,2572,144],{"class":140},[134,2574,164],{"class":140},[134,2576,144],{"class":140},[134,2578,1849],{"class":147},[134,2580,144],{"class":140},[134,2582,210],{"class":140},[134,2584,144],{"class":140},[134,2586,1858],{"class":147},[134,2588,144],{"class":140},[134,2590,377],{"class":140},[134,2592,144],{"class":140},[134,2594,1867],{"class":147},[134,2596,144],{"class":140},[134,2598,210],{"class":140},[134,2600,144],{"class":140},[134,2602,1876],{"class":147},[134,2604,144],{"class":140},[134,2606,210],{"class":140},[134,2608,144],{"class":140},[134,2610,1885],{"class":147},[134,2612,144],{"class":140},[134,2614,153],{"class":140},[134,2616,144],{"class":140},[134,2618,1894],{"class":158},[134,2620,144],{"class":140},[134,2622,164],{"class":140},[134,2624,144],{"class":140},[134,2626,1903],{"class":147},[134,2628,144],{"class":140},[134,2630,153],{"class":140},[134,2632,222],{"class":140},[134,2634,164],{"class":140},[134,2636,144],{"class":140},[134,2638,1916],{"class":147},[134,2640,144],{"class":140},[134,2642,153],{"class":140},[134,2644,144],{"class":140},[134,2646,1925],{"class":158},[134,2648,144],{"class":140},[134,2650,164],{"class":140},[134,2652,144],{"class":140},[134,2654,502],{"class":147},[134,2656,144],{"class":140},[134,2658,153],{"class":140},[134,2660,1940],{"class":509},[134,2662,164],{"class":140},[134,2664,144],{"class":140},[134,2666,517],{"class":147},[134,2668,144],{"class":140},[134,2670,153],{"class":140},[134,2672,2219],{"class":509},[134,2674,164],{"class":140},[134,2676,144],{"class":140},[134,2678,1478],{"class":147},[134,2680,144],{"class":140},[134,2682,234],{"class":140},[134,2684,144],{"class":140},[134,2686,148],{"class":147},[134,2688,144],{"class":140},[134,2690,153],{"class":140},[134,2692,144],{"class":140},[134,2694,738],{"class":158},[134,2696,144],{"class":140},[134,2698,164],{"class":140},[134,2700,144],{"class":140},[134,2702,169],{"class":147},[134,2704,144],{"class":140},[134,2706,153],{"class":140},[134,2708,144],{"class":140},[134,2710,1206],{"class":158},[134,2712,144],{"class":140},[134,2714,164],{"class":140},[134,2716,144],{"class":140},[134,2718,273],{"class":147},[134,2720,144],{"class":140},[134,2722,153],{"class":140},[134,2724,144],{"class":140},[134,2726,159],{"class":158},[134,2728,144],{"class":140},[134,2730,164],{"class":140},[134,2732,144],{"class":140},[134,2734,1231],{"class":147},[134,2736,144],{"class":140},[134,2738,153],{"class":140},[134,2740,144],{"class":140},[134,2742,568],{"class":158},[134,2744,144],{"class":140},[134,2746,164],{"class":140},[134,2748,144],{"class":140},[134,2750,1248],{"class":147},[134,2752,144],{"class":140},[134,2754,153],{"class":140},[134,2756,144],{"class":140},[134,2758,2759],{"class":158},"Insert production data record",[134,2761,144],{"class":140},[134,2763,164],{"class":140},[134,2765,144],{"class":140},[134,2767,1266],{"class":147},[134,2769,144],{"class":140},[134,2771,153],{"class":140},[134,2773,144],{"class":140},[134,2775,1275],{"class":158},[134,2777,144],{"class":140},[134,2779,164],{"class":140},[134,2781,144],{"class":140},[134,2783,1284],{"class":147},[134,2785,144],{"class":140},[134,2787,153],{"class":140},[134,2789,144],{"class":140},[134,2791,1293],{"class":158},[134,2793,144],{"class":140},[134,2795,164],{"class":140},[134,2797,144],{"class":140},[134,2799,1302],{"class":147},[134,2801,144],{"class":140},[134,2803,153],{"class":140},[134,2805,144],{"class":140},[134,2807,2808],{"class":158},"handlebars",[134,2810,144],{"class":140},[134,2812,164],{"class":140},[134,2814,144],{"class":140},[134,2816,1320],{"class":147},[134,2818,144],{"class":140},[134,2820,153],{"class":140},[134,2822,144],{"class":140},[134,2824,1329],{"class":158},[134,2826,144],{"class":140},[134,2828,164],{"class":140},[134,2830,144],{"class":140},[134,2832,1206],{"class":147},[134,2834,144],{"class":140},[134,2836,153],{"class":140},[134,2838,144],{"class":140},[134,2840,2841],{"class":158},"INSERT INTO ProductionData (",[134,2843,1350],{"class":1349},[134,2845,2846],{"class":158},"    timestamp, ",[134,2848,1350],{"class":1349},[134,2850,2851],{"class":158},"    area, ",[134,2853,1350],{"class":1349},[134,2855,2856],{"class":158},"    line, ",[134,2858,1350],{"class":1349},[134,2860,2861],{"class":158},"    machine_name, ",[134,2863,1350],{"class":1349},[134,2865,2866],{"class":158},"    shift, ",[134,2868,1350],{"class":1349},[134,2870,2871],{"class":158},"    shift_duration, ",[134,2873,1350],{"class":1349},[134,2875,2876],{"class":158},"    good_units, ",[134,2878,1350],{"class":1349},[134,2880,2881],{"class":158},"    defect_units, ",[134,2883,1350],{"class":1349},[134,2885,2886],{"class":158},"    total_produced_units, ",[134,2888,1350],{"class":1349},[134,2890,2891],{"class":158},"    cycle_time, ",[134,2893,1350],{"class":1349},[134,2895,2896],{"class":158},"    ideal_cycle_time,  ",[134,2898,1350],{"class":1349},[134,2900,2901],{"class":158},"    target_output,",[134,2903,1350],{"class":1349},[134,2905,2906],{"class":158},"    operating_time  ",[134,2908,1350],{"class":1349},[134,2910,2911],{"class":158},") ",[134,2913,1350],{"class":1349},[134,2915,2916],{"class":158},"VALUES (",[134,2918,1350],{"class":1349},[134,2920,2921],{"class":158},"    '{{payload.timestamp}}', ",[134,2923,1350],{"class":1349},[134,2925,2926],{"class":158},"    '{{payload.area}}', ",[134,2928,1350],{"class":1349},[134,2930,2931],{"class":158},"    '{{payload.line}}', ",[134,2933,1350],{"class":1349},[134,2935,2936],{"class":158},"    '{{payload.machine_name}}', ",[134,2938,1350],{"class":1349},[134,2940,2941],{"class":158},"    '{{payload.shift}}', ",[134,2943,1350],{"class":1349},[134,2945,2946],{"class":158},"    '{{payload.shift_duration}}',  ",[134,2948,1350],{"class":1349},[134,2950,2951],{"class":158},"    '{{payload.good_units}}',  ",[134,2953,1350],{"class":1349},[134,2955,2956],{"class":158},"    '{{payload.defect_units}}',  ",[134,2958,1350],{"class":1349},[134,2960,2961],{"class":158},"    '{{payload.total_produced_units}}',  ",[134,2963,1350],{"class":1349},[134,2965,2966],{"class":158},"    '{{payload.cycle_time}}',  ",[134,2968,1350],{"class":1349},[134,2970,2971],{"class":158},"    '{{payload.ideal_cycle_time}}',  ",[134,2973,1350],{"class":1349},[134,2975,2976],{"class":158},"    '{{payload.target_output}}',  ",[134,2978,1350],{"class":1349},[134,2980,2981],{"class":158},"    '{{payload.operating_time}}'  ",[134,2983,1350],{"class":1349},[134,2985,1423],{"class":158},[134,2987,1350],{"class":1349},[134,2989,144],{"class":140},[134,2991,164],{"class":140},[134,2993,144],{"class":140},[134,2995,1434],{"class":147},[134,2997,144],{"class":140},[134,2999,153],{"class":140},[134,3001,144],{"class":140},[134,3003,1443],{"class":158},[134,3005,144],{"class":140},[134,3007,164],{"class":140},[134,3009,144],{"class":140},[134,3011,502],{"class":147},[134,3013,144],{"class":140},[134,3015,153],{"class":140},[134,3017,3018],{"class":509},"1550",[134,3020,164],{"class":140},[134,3022,144],{"class":140},[134,3024,517],{"class":147},[134,3026,144],{"class":140},[134,3028,153],{"class":140},[134,3030,3031],{"class":509},"340",[134,3033,164],{"class":140},[134,3035,144],{"class":140},[134,3037,1478],{"class":147},[134,3039,144],{"class":140},[134,3041,1483],{"class":140},[134,3043,144],{"class":140},[134,3045,729],{"class":158},[134,3047,144],{"class":140},[134,3049,1492],{"class":140},[134,3051,144],{"class":140},[134,3053,148],{"class":147},[134,3055,144],{"class":140},[134,3057,153],{"class":140},[134,3059,144],{"class":140},[134,3061,747],{"class":158},[134,3063,144],{"class":140},[134,3065,164],{"class":140},[134,3067,144],{"class":140},[134,3069,169],{"class":147},[134,3071,144],{"class":140},[134,3073,153],{"class":140},[134,3075,144],{"class":140},[134,3077,1791],{"class":158},[134,3079,144],{"class":140},[134,3081,164],{"class":140},[134,3083,144],{"class":140},[134,3085,273],{"class":147},[134,3087,144],{"class":140},[134,3089,153],{"class":140},[134,3091,144],{"class":140},[134,3093,159],{"class":158},[134,3095,144],{"class":140},[134,3097,164],{"class":140},[134,3099,144],{"class":140},[134,3101,1231],{"class":147},[134,3103,144],{"class":140},[134,3105,153],{"class":140},[134,3107,144],{"class":140},[134,3109,568],{"class":158},[134,3111,144],{"class":140},[134,3113,164],{"class":140},[134,3115,144],{"class":140},[134,3117,1248],{"class":147},[134,3119,144],{"class":140},[134,3121,153],{"class":140},[134,3123,144],{"class":140},[134,3125,3126],{"class":158},"debug 3",[134,3128,144],{"class":140},[134,3130,164],{"class":140},[134,3132,144],{"class":140},[134,3134,1849],{"class":147},[134,3136,144],{"class":140},[134,3138,210],{"class":140},[134,3140,144],{"class":140},[134,3142,1858],{"class":147},[134,3144,144],{"class":140},[134,3146,377],{"class":140},[134,3148,144],{"class":140},[134,3150,1867],{"class":147},[134,3152,144],{"class":140},[134,3154,210],{"class":140},[134,3156,144],{"class":140},[134,3158,1876],{"class":147},[134,3160,144],{"class":140},[134,3162,210],{"class":140},[134,3164,144],{"class":140},[134,3166,1885],{"class":147},[134,3168,144],{"class":140},[134,3170,153],{"class":140},[134,3172,144],{"class":140},[134,3174,1894],{"class":158},[134,3176,144],{"class":140},[134,3178,164],{"class":140},[134,3180,144],{"class":140},[134,3182,1903],{"class":147},[134,3184,144],{"class":140},[134,3186,153],{"class":140},[134,3188,222],{"class":140},[134,3190,164],{"class":140},[134,3192,144],{"class":140},[134,3194,1916],{"class":147},[134,3196,144],{"class":140},[134,3198,153],{"class":140},[134,3200,144],{"class":140},[134,3202,1925],{"class":158},[134,3204,144],{"class":140},[134,3206,164],{"class":140},[134,3208,144],{"class":140},[134,3210,502],{"class":147},[134,3212,144],{"class":140},[134,3214,153],{"class":140},[134,3216,3217],{"class":509},"1970",[134,3219,164],{"class":140},[134,3221,144],{"class":140},[134,3223,517],{"class":147},[134,3225,144],{"class":140},[134,3227,153],{"class":140},[134,3229,3031],{"class":509},[134,3231,164],{"class":140},[134,3233,144],{"class":140},[134,3235,1478],{"class":147},[134,3237,144],{"class":140},[134,3239,234],{"class":140},[134,3241,144],{"class":140},[134,3243,148],{"class":147},[134,3245,144],{"class":140},[134,3247,153],{"class":140},[134,3249,144],{"class":140},[134,3251,1067],{"class":158},[134,3253,144],{"class":140},[134,3255,164],{"class":140},[134,3257,144],{"class":140},[134,3259,169],{"class":147},[134,3261,144],{"class":140},[134,3263,153],{"class":140},[134,3265,144],{"class":140},[134,3267,1206],{"class":158},[134,3269,144],{"class":140},[134,3271,164],{"class":140},[134,3273,144],{"class":140},[134,3275,273],{"class":147},[134,3277,144],{"class":140},[134,3279,153],{"class":140},[134,3281,144],{"class":140},[134,3283,159],{"class":158},[134,3285,144],{"class":140},[134,3287,164],{"class":140},[134,3289,144],{"class":140},[134,3291,1231],{"class":147},[134,3293,144],{"class":140},[134,3295,153],{"class":140},[134,3297,144],{"class":140},[134,3299,897],{"class":158},[134,3301,144],{"class":140},[134,3303,164],{"class":140},[134,3305,144],{"class":140},[134,3307,1248],{"class":147},[134,3309,144],{"class":140},[134,3311,153],{"class":140},[134,3313,144],{"class":140},[134,3315,3316],{"class":158},"Drop demo downtime data",[134,3318,144],{"class":140},[134,3320,164],{"class":140},[134,3322,144],{"class":140},[134,3324,1266],{"class":147},[134,3326,144],{"class":140},[134,3328,153],{"class":140},[134,3330,144],{"class":140},[134,3332,1275],{"class":158},[134,3334,144],{"class":140},[134,3336,164],{"class":140},[134,3338,144],{"class":140},[134,3340,1284],{"class":147},[134,3342,144],{"class":140},[134,3344,153],{"class":140},[134,3346,144],{"class":140},[134,3348,1293],{"class":158},[134,3350,144],{"class":140},[134,3352,164],{"class":140},[134,3354,144],{"class":140},[134,3356,1302],{"class":147},[134,3358,144],{"class":140},[134,3360,153],{"class":140},[134,3362,144],{"class":140},[134,3364,1311],{"class":158},[134,3366,144],{"class":140},[134,3368,164],{"class":140},[134,3370,144],{"class":140},[134,3372,1320],{"class":147},[134,3374,144],{"class":140},[134,3376,153],{"class":140},[134,3378,144],{"class":140},[134,3380,1329],{"class":158},[134,3382,144],{"class":140},[134,3384,164],{"class":140},[134,3386,144],{"class":140},[134,3388,1206],{"class":147},[134,3390,144],{"class":140},[134,3392,153],{"class":140},[134,3394,144],{"class":140},[134,3396,3397],{"class":158},"Drop table DowntimeData;",[134,3399,144],{"class":140},[134,3401,164],{"class":140},[134,3403,144],{"class":140},[134,3405,1434],{"class":147},[134,3407,144],{"class":140},[134,3409,153],{"class":140},[134,3411,144],{"class":140},[134,3413,1443],{"class":158},[134,3415,144],{"class":140},[134,3417,164],{"class":140},[134,3419,144],{"class":140},[134,3421,502],{"class":147},[134,3423,144],{"class":140},[134,3425,153],{"class":140},[134,3427,3428],{"class":509},"480",[134,3430,164],{"class":140},[134,3432,144],{"class":140},[134,3434,517],{"class":147},[134,3436,144],{"class":140},[134,3438,153],{"class":140},[134,3440,3441],{"class":509},"580",[134,3443,164],{"class":140},[134,3445,144],{"class":140},[134,3447,1478],{"class":147},[134,3449,144],{"class":140},[134,3451,1483],{"class":140},[134,3453,144],{"class":140},[134,3455,1058],{"class":158},[134,3457,144],{"class":140},[134,3459,1492],{"class":140},[134,3461,144],{"class":140},[134,3463,148],{"class":147},[134,3465,144],{"class":140},[134,3467,153],{"class":140},[134,3469,144],{"class":140},[134,3471,1076],{"class":158},[134,3473,144],{"class":140},[134,3475,164],{"class":140},[134,3477,144],{"class":140},[134,3479,169],{"class":147},[134,3481,144],{"class":140},[134,3483,153],{"class":140},[134,3485,144],{"class":140},[134,3487,1521],{"class":158},[134,3489,144],{"class":140},[134,3491,164],{"class":140},[134,3493,144],{"class":140},[134,3495,273],{"class":147},[134,3497,144],{"class":140},[134,3499,153],{"class":140},[134,3501,144],{"class":140},[134,3503,159],{"class":158},[134,3505,144],{"class":140},[134,3507,164],{"class":140},[134,3509,144],{"class":140},[134,3511,1231],{"class":147},[134,3513,144],{"class":140},[134,3515,153],{"class":140},[134,3517,144],{"class":140},[134,3519,897],{"class":158},[134,3521,144],{"class":140},[134,3523,164],{"class":140},[134,3525,144],{"class":140},[134,3527,1248],{"class":147},[134,3529,144],{"class":140},[134,3531,153],{"class":140},[134,3533,222],{"class":140},[134,3535,164],{"class":140},[134,3537,144],{"class":140},[134,3539,1574],{"class":147},[134,3541,144],{"class":140},[134,3543,1579],{"class":140},[134,3545,144],{"class":140},[134,3547,12],{"class":300},[134,3549,144],{"class":140},[134,3551,153],{"class":140},[134,3553,144],{"class":140},[134,3555,1592],{"class":158},[134,3557,144],{"class":140},[134,3559,555],{"class":140},[134,3561,144],{"class":140},[134,3563,12],{"class":300},[134,3565,144],{"class":140},[134,3567,153],{"class":140},[134,3569,144],{"class":140},[134,3571,1275],{"class":158},[134,3573,144],{"class":140},[134,3575,164],{"class":140},[134,3577,144],{"class":140},[134,3579,1617],{"class":300},[134,3581,144],{"class":140},[134,3583,153],{"class":140},[134,3585,144],{"class":140},[134,3587,1443],{"class":158},[134,3589,144],{"class":140},[134,3591,1630],{"class":140},[134,3593,144],{"class":140},[134,3595,1635],{"class":147},[134,3597,144],{"class":140},[134,3599,153],{"class":140},[134,3601,222],{"class":140},[134,3603,164],{"class":140},[134,3605,144],{"class":140},[134,3607,1648],{"class":147},[134,3609,144],{"class":140},[134,3611,153],{"class":140},[134,3613,222],{"class":140},[134,3615,164],{"class":140},[134,3617,144],{"class":140},[134,3619,1661],{"class":147},[134,3621,144],{"class":140},[134,3623,210],{"class":140},[134,3625,144],{"class":140},[134,3627,1670],{"class":147},[134,3629,144],{"class":140},[134,3631,153],{"class":140},[134,3633,1677],{"class":509},[134,3635,164],{"class":140},[134,3637,144],{"class":140},[134,3639,1275],{"class":147},[134,3641,144],{"class":140},[134,3643,153],{"class":140},[134,3645,222],{"class":140},[134,3647,164],{"class":140},[134,3649,144],{"class":140},[134,3651,1592],{"class":147},[134,3653,144],{"class":140},[134,3655,153],{"class":140},[134,3657,222],{"class":140},[134,3659,164],{"class":140},[134,3661,144],{"class":140},[134,3663,1708],{"class":147},[134,3665,144],{"class":140},[134,3667,153],{"class":140},[134,3669,144],{"class":140},[134,3671,1717],{"class":158},[134,3673,144],{"class":140},[134,3675,164],{"class":140},[134,3677,144],{"class":140},[134,3679,502],{"class":147},[134,3681,144],{"class":140},[134,3683,153],{"class":140},[134,3685,1732],{"class":509},[134,3687,164],{"class":140},[134,3689,144],{"class":140},[134,3691,517],{"class":147},[134,3693,144],{"class":140},[134,3695,153],{"class":140},[134,3697,3441],{"class":509},[134,3699,164],{"class":140},[134,3701,144],{"class":140},[134,3703,1478],{"class":147},[134,3705,144],{"class":140},[134,3707,1483],{"class":140},[134,3709,144],{"class":140},[134,3711,1067],{"class":158},[134,3713,144],{"class":140},[134,3715,1492],{"class":140},[134,3717,144],{"class":140},[134,3719,148],{"class":147},[134,3721,144],{"class":140},[134,3723,153],{"class":140},[134,3725,144],{"class":140},[134,3727,1085],{"class":158},[134,3729,144],{"class":140},[134,3731,164],{"class":140},[134,3733,144],{"class":140},[134,3735,169],{"class":147},[134,3737,144],{"class":140},[134,3739,153],{"class":140},[134,3741,144],{"class":140},[134,3743,1791],{"class":158},[134,3745,144],{"class":140},[134,3747,164],{"class":140},[134,3749,144],{"class":140},[134,3751,273],{"class":147},[134,3753,144],{"class":140},[134,3755,153],{"class":140},[134,3757,144],{"class":140},[134,3759,159],{"class":158},[134,3761,144],{"class":140},[134,3763,164],{"class":140},[134,3765,144],{"class":140},[134,3767,1231],{"class":147},[134,3769,144],{"class":140},[134,3771,153],{"class":140},[134,3773,144],{"class":140},[134,3775,897],{"class":158},[134,3777,144],{"class":140},[134,3779,164],{"class":140},[134,3781,144],{"class":140},[134,3783,1248],{"class":147},[134,3785,144],{"class":140},[134,3787,153],{"class":140},[134,3789,144],{"class":140},[134,3791,3792],{"class":158},"debug 5",[134,3794,144],{"class":140},[134,3796,164],{"class":140},[134,3798,144],{"class":140},[134,3800,1849],{"class":147},[134,3802,144],{"class":140},[134,3804,210],{"class":140},[134,3806,144],{"class":140},[134,3808,1858],{"class":147},[134,3810,144],{"class":140},[134,3812,377],{"class":140},[134,3814,144],{"class":140},[134,3816,1867],{"class":147},[134,3818,144],{"class":140},[134,3820,210],{"class":140},[134,3822,144],{"class":140},[134,3824,1876],{"class":147},[134,3826,144],{"class":140},[134,3828,210],{"class":140},[134,3830,144],{"class":140},[134,3832,1885],{"class":147},[134,3834,144],{"class":140},[134,3836,153],{"class":140},[134,3838,144],{"class":140},[134,3840,1894],{"class":158},[134,3842,144],{"class":140},[134,3844,164],{"class":140},[134,3846,144],{"class":140},[134,3848,1903],{"class":147},[134,3850,144],{"class":140},[134,3852,153],{"class":140},[134,3854,222],{"class":140},[134,3856,164],{"class":140},[134,3858,144],{"class":140},[134,3860,1916],{"class":147},[134,3862,144],{"class":140},[134,3864,153],{"class":140},[134,3866,144],{"class":140},[134,3868,1925],{"class":158},[134,3870,144],{"class":140},[134,3872,164],{"class":140},[134,3874,144],{"class":140},[134,3876,502],{"class":147},[134,3878,144],{"class":140},[134,3880,153],{"class":140},[134,3882,3883],{"class":509},"1120",[134,3885,164],{"class":140},[134,3887,144],{"class":140},[134,3889,517],{"class":147},[134,3891,144],{"class":140},[134,3893,153],{"class":140},[134,3895,3441],{"class":509},[134,3897,164],{"class":140},[134,3899,144],{"class":140},[134,3901,1478],{"class":147},[134,3903,144],{"class":140},[134,3905,234],{"class":140},[134,3907,144],{"class":140},[134,3909,148],{"class":147},[134,3911,144],{"class":140},[134,3913,153],{"class":140},[134,3915,144],{"class":140},[134,3917,756],{"class":158},[134,3919,144],{"class":140},[134,3921,164],{"class":140},[134,3923,144],{"class":140},[134,3925,169],{"class":147},[134,3927,144],{"class":140},[134,3929,153],{"class":140},[134,3931,144],{"class":140},[134,3933,1521],{"class":158},[134,3935,144],{"class":140},[134,3937,164],{"class":140},[134,3939,144],{"class":140},[134,3941,273],{"class":147},[134,3943,144],{"class":140},[134,3945,153],{"class":140},[134,3947,144],{"class":140},[134,3949,159],{"class":158},[134,3951,144],{"class":140},[134,3953,164],{"class":140},[134,3955,144],{"class":140},[134,3957,1231],{"class":147},[134,3959,144],{"class":140},[134,3961,153],{"class":140},[134,3963,144],{"class":140},[134,3965,568],{"class":158},[134,3967,144],{"class":140},[134,3969,164],{"class":140},[134,3971,144],{"class":140},[134,3973,1248],{"class":147},[134,3975,144],{"class":140},[134,3977,153],{"class":140},[134,3979,144],{"class":140},[134,3981,3982],{"class":158},"Click to generate and insert demo data.",[134,3984,144],{"class":140},[134,3986,164],{"class":140},[134,3988,144],{"class":140},[134,3990,1574],{"class":147},[134,3992,144],{"class":140},[134,3994,1579],{"class":140},[134,3996,144],{"class":140},[134,3998,12],{"class":300},[134,4000,144],{"class":140},[134,4002,153],{"class":140},[134,4004,144],{"class":140},[134,4006,1592],{"class":158},[134,4008,144],{"class":140},[134,4010,555],{"class":140},[134,4012,144],{"class":140},[134,4014,12],{"class":300},[134,4016,144],{"class":140},[134,4018,153],{"class":140},[134,4020,144],{"class":140},[134,4022,1275],{"class":158},[134,4024,144],{"class":140},[134,4026,164],{"class":140},[134,4028,144],{"class":140},[134,4030,1617],{"class":300},[134,4032,144],{"class":140},[134,4034,153],{"class":140},[134,4036,144],{"class":140},[134,4038,1443],{"class":158},[134,4040,144],{"class":140},[134,4042,1630],{"class":140},[134,4044,144],{"class":140},[134,4046,1635],{"class":147},[134,4048,144],{"class":140},[134,4050,153],{"class":140},[134,4052,222],{"class":140},[134,4054,164],{"class":140},[134,4056,144],{"class":140},[134,4058,1648],{"class":147},[134,4060,144],{"class":140},[134,4062,153],{"class":140},[134,4064,222],{"class":140},[134,4066,164],{"class":140},[134,4068,144],{"class":140},[134,4070,1661],{"class":147},[134,4072,144],{"class":140},[134,4074,210],{"class":140},[134,4076,144],{"class":140},[134,4078,1670],{"class":147},[134,4080,144],{"class":140},[134,4082,153],{"class":140},[134,4084,144],{"class":140},[134,4086,364],{"class":158},[134,4088,144],{"class":140},[134,4090,164],{"class":140},[134,4092,144],{"class":140},[134,4094,1275],{"class":147},[134,4096,144],{"class":140},[134,4098,153],{"class":140},[134,4100,222],{"class":140},[134,4102,164],{"class":140},[134,4104,144],{"class":140},[134,4106,1592],{"class":147},[134,4108,144],{"class":140},[134,4110,153],{"class":140},[134,4112,222],{"class":140},[134,4114,164],{"class":140},[134,4116,144],{"class":140},[134,4118,1708],{"class":147},[134,4120,144],{"class":140},[134,4122,153],{"class":140},[134,4124,144],{"class":140},[134,4126,1717],{"class":158},[134,4128,144],{"class":140},[134,4130,164],{"class":140},[134,4132,144],{"class":140},[134,4134,502],{"class":147},[134,4136,144],{"class":140},[134,4138,153],{"class":140},[134,4140,4141],{"class":509},"230",[134,4143,164],{"class":140},[134,4145,144],{"class":140},[134,4147,517],{"class":147},[134,4149,144],{"class":140},[134,4151,153],{"class":140},[134,4153,4154],{"class":509},"380",[134,4156,164],{"class":140},[134,4158,144],{"class":140},[134,4160,1478],{"class":147},[134,4162,144],{"class":140},[134,4164,1483],{"class":140},[134,4166,144],{"class":140},[134,4168,765],{"class":158},[134,4170,144],{"class":140},[134,4172,1492],{"class":140},[134,4174,144],{"class":140},[134,4176,148],{"class":147},[134,4178,144],{"class":140},[134,4180,153],{"class":140},[134,4182,144],{"class":140},[134,4184,765],{"class":158},[134,4186,144],{"class":140},[134,4188,164],{"class":140},[134,4190,144],{"class":140},[134,4192,169],{"class":147},[134,4194,144],{"class":140},[134,4196,153],{"class":140},[134,4198,144],{"class":140},[134,4200,4201],{"class":158},"function",[134,4203,144],{"class":140},[134,4205,164],{"class":140},[134,4207,144],{"class":140},[134,4209,273],{"class":147},[134,4211,144],{"class":140},[134,4213,153],{"class":140},[134,4215,144],{"class":140},[134,4217,159],{"class":158},[134,4219,144],{"class":140},[134,4221,164],{"class":140},[134,4223,144],{"class":140},[134,4225,1231],{"class":147},[134,4227,144],{"class":140},[134,4229,153],{"class":140},[134,4231,144],{"class":140},[134,4233,568],{"class":158},[134,4235,144],{"class":140},[134,4237,164],{"class":140},[134,4239,144],{"class":140},[134,4241,1248],{"class":147},[134,4243,144],{"class":140},[134,4245,153],{"class":140},[134,4247,144],{"class":140},[134,4249,4250],{"class":158},"Generate simulated production and downtime data",[134,4252,144],{"class":140},[134,4254,164],{"class":140},[134,4256,144],{"class":140},[134,4258,4259],{"class":147},"func",[134,4261,144],{"class":140},[134,4263,153],{"class":140},[134,4265,144],{"class":140},[134,4267,4268],{"class":158},"function generateProductionData() {",[134,4270,1350],{"class":1349},[134,4272,4273],{"class":158},"    const areas = {",[134,4275,1350],{"class":1349},[134,4277,4278],{"class":1349},"        \\\"",[134,4280,4281],{"class":158},"Pressing",[134,4283,4284],{"class":1349},"\\\"",[134,4286,4287],{"class":158},": [",[134,4289,4284],{"class":1349},[134,4291,4292],{"class":158},"Hydraulic Press",[134,4294,4284],{"class":1349},[134,4296,4297],{"class":158},", ",[134,4299,4284],{"class":1349},[134,4301,4302],{"class":158},"CNC Press Brake",[134,4304,4284],{"class":1349},[134,4306,4297],{"class":158},[134,4308,4284],{"class":1349},[134,4310,4311],{"class":158},"Stamping Press",[134,4313,4284],{"class":1349},[134,4315,4297],{"class":158},[134,4317,4284],{"class":1349},[134,4319,4320],{"class":158},"Power Press",[134,4322,4284],{"class":1349},[134,4324,497],{"class":158},[134,4326,1350],{"class":1349},[134,4328,4278],{"class":1349},[134,4330,4331],{"class":158},"Assembly",[134,4333,4284],{"class":1349},[134,4335,4287],{"class":158},[134,4337,4284],{"class":1349},[134,4339,4340],{"class":158},"Robotic Arm",[134,4342,4284],{"class":1349},[134,4344,4297],{"class":158},[134,4346,4284],{"class":1349},[134,4348,4349],{"class":158},"Screw Insertion Machine",[134,4351,4284],{"class":1349},[134,4353,4297],{"class":158},[134,4355,4284],{"class":1349},[134,4357,4358],{"class":158},"Pick-and-Place Machine",[134,4360,4284],{"class":1349},[134,4362,497],{"class":158},[134,4364,1350],{"class":1349},[134,4366,4278],{"class":1349},[134,4368,4369],{"class":158},"Packaging",[134,4371,4284],{"class":1349},[134,4373,4287],{"class":158},[134,4375,4284],{"class":1349},[134,4377,4378],{"class":158},"Carton Sealing Machine",[134,4380,4284],{"class":1349},[134,4382,4297],{"class":158},[134,4384,4284],{"class":1349},[134,4386,4387],{"class":158},"Shrink Wrapping Machine",[134,4389,4284],{"class":1349},[134,4391,4297],{"class":158},[134,4393,4284],{"class":1349},[134,4395,4396],{"class":158},"Bottle Filling and Capping Machine",[134,4398,4284],{"class":1349},[134,4400,4297],{"class":158},[134,4402,4284],{"class":1349},[134,4404,4405],{"class":158},"Flow Wrapper",[134,4407,4284],{"class":1349},[134,4409,4410],{"class":158},"]",[134,4412,1350],{"class":1349},[134,4414,4415],{"class":158},"    };",[134,4417,4418],{"class":1349},"\\n\\n",[134,4420,4421],{"class":158},"    const shifts = [",[134,4423,4284],{"class":1349},[134,4425,4426],{"class":158},"Shift 1",[134,4428,4284],{"class":1349},[134,4430,4297],{"class":158},[134,4432,4284],{"class":1349},[134,4434,4435],{"class":158},"Shift 2",[134,4437,4284],{"class":1349},[134,4439,4297],{"class":158},[134,4441,4284],{"class":1349},[134,4443,4444],{"class":158},"Shift 3",[134,4446,4284],{"class":1349},[134,4448,4449],{"class":158},"];",[134,4451,1350],{"class":1349},[134,4453,4454],{"class":158},"    const shiftStartTimes = {",[134,4456,1350],{"class":1349},[134,4458,4278],{"class":1349},[134,4460,4426],{"class":158},[134,4462,4284],{"class":1349},[134,4464,4465],{"class":158},": ",[134,4467,4284],{"class":1349},[134,4469,4470],{"class":158},"00:00:00",[134,4472,4284],{"class":1349},[134,4474,164],{"class":158},[134,4476,1350],{"class":1349},[134,4478,4278],{"class":1349},[134,4480,4435],{"class":158},[134,4482,4284],{"class":1349},[134,4484,4465],{"class":158},[134,4486,4284],{"class":1349},[134,4488,4489],{"class":158},"08:00:00",[134,4491,4284],{"class":1349},[134,4493,164],{"class":158},[134,4495,1350],{"class":1349},[134,4497,4278],{"class":1349},[134,4499,4444],{"class":158},[134,4501,4284],{"class":1349},[134,4503,4465],{"class":158},[134,4505,4284],{"class":1349},[134,4507,4508],{"class":158},"16:00:00",[134,4510,4511],{"class":1349},"\\\"\\n",[134,4513,4415],{"class":158},[134,4515,4418],{"class":1349},[134,4517,4518],{"class":158},"    const uniqueShortCodes = {",[134,4520,1350],{"class":1349},[134,4522,4278],{"class":1349},[134,4524,4281],{"class":158},[134,4526,4284],{"class":1349},[134,4528,4287],{"class":158},[134,4530,4284],{"class":1349},[134,4532,4533],{"class":158},"HP",[134,4535,4284],{"class":1349},[134,4537,4297],{"class":158},[134,4539,4284],{"class":1349},[134,4541,4542],{"class":158},"PB",[134,4544,4284],{"class":1349},[134,4546,4297],{"class":158},[134,4548,4284],{"class":1349},[134,4550,4551],{"class":158},"SP",[134,4553,4284],{"class":1349},[134,4555,4297],{"class":158},[134,4557,4284],{"class":1349},[134,4559,4560],{"class":158},"PP",[134,4562,4284],{"class":1349},[134,4564,497],{"class":158},[134,4566,1350],{"class":1349},[134,4568,4278],{"class":1349},[134,4570,4331],{"class":158},[134,4572,4284],{"class":1349},[134,4574,4287],{"class":158},[134,4576,4284],{"class":1349},[134,4578,4579],{"class":158},"RA",[134,4581,4284],{"class":1349},[134,4583,4297],{"class":158},[134,4585,4284],{"class":1349},[134,4587,4588],{"class":158},"SIM",[134,4590,4284],{"class":1349},[134,4592,4297],{"class":158},[134,4594,4284],{"class":1349},[134,4596,4597],{"class":158},"P and P",[134,4599,4284],{"class":1349},[134,4601,497],{"class":158},[134,4603,1350],{"class":1349},[134,4605,4278],{"class":1349},[134,4607,4369],{"class":158},[134,4609,4284],{"class":1349},[134,4611,4287],{"class":158},[134,4613,4284],{"class":1349},[134,4615,4616],{"class":158},"CSM",[134,4618,4284],{"class":1349},[134,4620,4297],{"class":158},[134,4622,4284],{"class":1349},[134,4624,4625],{"class":158},"SWM",[134,4627,4284],{"class":1349},[134,4629,4297],{"class":158},[134,4631,4284],{"class":1349},[134,4633,4634],{"class":158},"BFCM",[134,4636,4284],{"class":1349},[134,4638,4297],{"class":158},[134,4640,4284],{"class":1349},[134,4642,4643],{"class":158},"FW",[134,4645,4284],{"class":1349},[134,4647,4410],{"class":158},[134,4649,1350],{"class":1349},[134,4651,4415],{"class":158},[134,4653,4418],{"class":1349},[134,4655,4656],{"class":158},"    const downtimeTypes = [",[134,4658,4284],{"class":1349},[134,4660,4661],{"class":158},"Planned",[134,4663,4284],{"class":1349},[134,4665,4297],{"class":158},[134,4667,4284],{"class":1349},[134,4669,4670],{"class":158},"Unplanned",[134,4672,4284],{"class":1349},[134,4674,4449],{"class":158},[134,4676,1350],{"class":1349},[134,4678,4679],{"class":158},"    const plannedDowntimeReasons = [",[134,4681,1350],{"class":1349},[134,4683,4278],{"class":1349},[134,4685,4686],{"class":158},"Scheduled Maintenance",[134,4688,4284],{"class":1349},[134,4690,4297],{"class":158},[134,4692,4284],{"class":1349},[134,4694,4695],{"class":158},"Equipment Upgrades",[134,4697,4284],{"class":1349},[134,4699,4297],{"class":158},[134,4701,4284],{"class":1349},[134,4703,4704],{"class":158},"Shift Changeover",[134,4706,4284],{"class":1349},[134,4708,164],{"class":158},[134,4710,1350],{"class":1349},[134,4712,4278],{"class":1349},[134,4714,4715],{"class":158},"Tool Changeover",[134,4717,4284],{"class":1349},[134,4719,4297],{"class":158},[134,4721,4284],{"class":1349},[134,4723,4724],{"class":158},"Calibration and Quality Checks",[134,4726,4284],{"class":1349},[134,4728,4297],{"class":158},[134,4730,4284],{"class":1349},[134,4732,4733],{"class":158},"Cleaning and Sanitation",[134,4735,4284],{"class":1349},[134,4737,4297],{"class":158},[134,4739,4284],{"class":1349},[134,4741,4742],{"class":158},"Planned Power Outage",[134,4744,4511],{"class":1349},[134,4746,4747],{"class":158},"    ];",[134,4749,1350],{"class":1349},[134,4751,4752],{"class":158},"    const unplannedDowntimeReasons = [",[134,4754,1350],{"class":1349},[134,4756,4278],{"class":1349},[134,4758,4759],{"class":158},"Power Failure",[134,4761,4284],{"class":1349},[134,4763,4297],{"class":158},[134,4765,4284],{"class":1349},[134,4767,4768],{"class":158},"Material Shortage",[134,4770,4284],{"class":1349},[134,4772,4297],{"class":158},[134,4774,4284],{"class":1349},[134,4776,4777],{"class":158},"Technical Fault",[134,4779,4284],{"class":1349},[134,4781,4297],{"class":158},[134,4783,4284],{"class":1349},[134,4785,4786],{"class":158},"Operator Unavailable",[134,4788,4511],{"class":1349},[134,4790,4747],{"class":158},[134,4792,4418],{"class":1349},[134,4794,4795],{"class":158},"    const data = [];",[134,4797,1350],{"class":1349},[134,4799,4800],{"class":158},"    const downtimeData = [];",[134,4802,1350],{"class":1349},[134,4804,4805],{"class":158},"    const now = new Date();",[134,4807,4418],{"class":1349},[134,4809,4810],{"class":158},"    const normalizeTimestamp = (timestamp) => timestamp.toISOString().split(",[134,4812,4284],{"class":1349},[134,4814,4815],{"class":158},"T",[134,4817,4284],{"class":1349},[134,4819,4820],{"class":158},").join(",[134,4822,4284],{"class":1349},[134,4824,4825],{"class":1349}," \\\"",[134,4827,4828],{"class":158},").slice(0, 19);",[134,4830,4418],{"class":1349},[134,4832,4833],{"class":158},"    for (let i = 0; i \u003C 30; i++) {",[134,4835,1350],{"class":1349},[134,4837,4838],{"class":158},"        const date = new Date();",[134,4840,1350],{"class":1349},[134,4842,4843],{"class":158},"        date.setDate(now.getDate() - i);",[134,4845,1350],{"class":1349},[134,4847,4848],{"class":158},"        const formattedDate = date.toISOString().split(",[134,4850,4284],{"class":1349},[134,4852,4815],{"class":158},[134,4854,4284],{"class":1349},[134,4856,4857],{"class":158},")[0];",[134,4859,4418],{"class":1349},[134,4861,4862],{"class":158},"        shifts.forEach(shift => {",[134,4864,1350],{"class":1349},[134,4866,4867],{"class":158},"            const shiftStart = shiftStartTimes[shift];",[134,4869,1350],{"class":1349},[134,4871,4872],{"class":158},"            const shiftTimestamp = new Date(`${formattedDate}T${shiftStart}`);",[134,4874,4418],{"class":1349},[134,4876,4877],{"class":158},"            Object.entries(areas).forEach(([area, machines]) => {",[134,4879,1350],{"class":1349},[134,4881,4882],{"class":158},"                machines.forEach((_, index) => {",[134,4884,1350],{"class":1349},[134,4886,4887],{"class":158},"                    const randomCode = uniqueShortCodes[area][Math.floor(Math.random() * uniqueShortCodes[area].length)];",[134,4889,1350],{"class":1349},[134,4891,4892],{"class":158},"                    const uniqueID = Math.floor(10000 + Math.random() * 90000);",[134,4894,1350],{"class":1349},[134,4896,4897],{"class":158},"                    const shortMachineName = `${randomCode}-${uniqueID}`;",[134,4899,4418],{"class":1349},[134,4901,4902],{"class":158},"                    const shiftDuration = 8;",[134,4904,1350],{"class":1349},[134,4906,4907],{"class":158},"                    let totalDowntimeMinutes = 0;",[134,4909,1350],{"class":1349},[134,4911,4912],{"class":158},"                    let downtimeEvents = [];",[134,4914,4418],{"class":1349},[134,4916,4917],{"class":158},"                    \u002F\u002F Increase downtime frequency (up to 4 events per shift)",[134,4919,1350],{"class":1349},[134,4921,4922],{"class":158},"                    const numDowntimes = Math.floor(Math.random() * 4) + 1;",[134,4924,4418],{"class":1349},[134,4926,4927],{"class":158},"                    for (let d = 0; d \u003C numDowntimes; d++) {",[134,4929,1350],{"class":1349},[134,4931,4932],{"class":158},"                        if (Math.random() \u003C 0.75) {  \u002F\u002F Increase probability of downtime",[134,4934,1350],{"class":1349},[134,4936,4937],{"class":158},"                            let downtimeMinutes = Math.floor(5 + Math.random() * 10); \u002F\u002F Shorter downtimes (5-15 mins)",[134,4939,1350],{"class":1349},[134,4941,4942],{"class":158},"                            totalDowntimeMinutes += downtimeMinutes;",[134,4944,4418],{"class":1349},[134,4946,4947],{"class":158},"                            const downtimeStartMinutes = Math.floor(Math.random() * (shiftDuration * 60 - downtimeMinutes));",[134,4949,1350],{"class":1349},[134,4951,4952],{"class":158},"                            const downtimeStart = new Date(shiftTimestamp);",[134,4954,1350],{"class":1349},[134,4956,4957],{"class":158},"                            downtimeStart.setMinutes(downtimeStart.getMinutes() + downtimeStartMinutes);",[134,4959,4418],{"class":1349},[134,4961,4962],{"class":158},"                            const downtimeEnd = new Date(downtimeStart);",[134,4964,1350],{"class":1349},[134,4966,4967],{"class":158},"                            downtimeEnd.setMinutes(downtimeEnd.getMinutes() + downtimeMinutes);",[134,4969,4418],{"class":1349},[134,4971,4972],{"class":158},"                            const downtimeType = downtimeTypes[Math.floor(Math.random() * downtimeTypes.length)];",[134,4974,1350],{"class":1349},[134,4976,4977],{"class":158},"                            const downtimeReason = downtimeType === ",[134,4979,4284],{"class":1349},[134,4981,4661],{"class":158},[134,4983,4511],{"class":1349},[134,4985,4986],{"class":158},"                                ? plannedDowntimeReasons[Math.floor(Math.random() * plannedDowntimeReasons.length)]",[134,4988,1350],{"class":1349},[134,4990,4991],{"class":158},"                                : unplannedDowntimeReasons[Math.floor(Math.random() * unplannedDowntimeReasons.length)];",[134,4993,4418],{"class":1349},[134,4995,4996],{"class":158},"                            downtimeEvents.push({",[134,4998,1350],{"class":1349},[134,5000,5001],{"class":158},"                                timestamp: normalizeTimestamp(shiftTimestamp),",[134,5003,1350],{"class":1349},[134,5005,5006],{"class":158},"                                area,",[134,5008,1350],{"class":1349},[134,5010,5011],{"class":158},"                                machine_name: shortMachineName,",[134,5013,1350],{"class":1349},[134,5015,5016],{"class":158},"                                shift,",[134,5018,1350],{"class":1349},[134,5020,5021],{"class":158},"                                downtime_start: normalizeTimestamp(downtimeStart),",[134,5023,1350],{"class":1349},[134,5025,5026],{"class":158},"                                downtime_end: normalizeTimestamp(downtimeEnd),",[134,5028,1350],{"class":1349},[134,5030,5031],{"class":158},"                                downtime_duration_minutes: downtimeMinutes,",[134,5033,1350],{"class":1349},[134,5035,5036],{"class":158},"                                downtime_reason: downtimeReason,",[134,5038,1350],{"class":1349},[134,5040,5041],{"class":158},"                                downtime_type: downtimeType,",[134,5043,1350],{"class":1349},[134,5045,5046],{"class":158},"                                line: `Line-${index + 1}`",[134,5048,1350],{"class":1349},[134,5050,5051],{"class":158},"                            });",[134,5053,1350],{"class":1349},[134,5055,5056],{"class":158},"                        }",[134,5058,1350],{"class":1349},[134,5060,5061],{"class":158},"                    }",[134,5063,4418],{"class":1349},[134,5065,5066],{"class":158},"                    const operatingTime = (shiftDuration * 60 - totalDowntimeMinutes) * 60;",[134,5068,1350],{"class":1349},[134,5070,5071],{"class":158},"                    let efficiency = Math.random() * 0.2 + 0.75;",[134,5073,1350],{"class":1349},[134,5075,5076],{"class":158},"                    let targetOutput = Math.floor(operatingTime \u002F 3) || 1;",[134,5078,1350],{"class":1349},[134,5080,5081],{"class":158},"                    let totalProduced = Math.floor(targetOutput * efficiency);",[134,5083,1350],{"class":1349},[134,5085,5086],{"class":158},"                    totalProduced = Math.min(totalProduced, targetOutput);",[134,5088,4418],{"class":1349},[134,5090,5091],{"class":158},"                    const defectRate = Math.random() * 0.02 + 0.01;",[134,5093,1350],{"class":1349},[134,5095,5096],{"class":158},"                    const defectUnits = Math.floor(totalProduced * defectRate);",[134,5098,1350],{"class":1349},[134,5100,5101],{"class":158},"                    const goodUnits = totalProduced - defectUnits;",[134,5103,4418],{"class":1349},[134,5105,5106],{"class":158},"                    data.push({",[134,5108,1350],{"class":1349},[134,5110,5111],{"class":158},"                        timestamp: normalizeTimestamp(shiftTimestamp),",[134,5113,1350],{"class":1349},[134,5115,5116],{"class":158},"                        area,",[134,5118,1350],{"class":1349},[134,5120,5121],{"class":158},"                        machine_name: shortMachineName,",[134,5123,1350],{"class":1349},[134,5125,5126],{"class":158},"                        shift,",[134,5128,1350],{"class":1349},[134,5130,5131],{"class":158},"                        shift_duration: shiftDuration,",[134,5133,1350],{"class":1349},[134,5135,5136],{"class":158},"                        operating_time: operatingTime - totalDowntimeMinutes * 60,",[134,5138,1350],{"class":1349},[134,5140,5141],{"class":158},"                        good_units: goodUnits,",[134,5143,1350],{"class":1349},[134,5145,5146],{"class":158},"                        defect_units: defectUnits,",[134,5148,1350],{"class":1349},[134,5150,5151],{"class":158},"                        total_produced_units: totalProduced,",[134,5153,1350],{"class":1349},[134,5155,5156],{"class":158},"                        target_output: targetOutput,",[134,5158,1350],{"class":1349},[134,5160,5161],{"class":158},"                        line: `Line-${index + 1}`",[134,5163,1350],{"class":1349},[134,5165,5166],{"class":158},"                    });",[134,5168,4418],{"class":1349},[134,5170,5171],{"class":158},"                    downtimeData.push(...downtimeEvents);",[134,5173,1350],{"class":1349},[134,5175,5176],{"class":158},"                });",[134,5178,1350],{"class":1349},[134,5180,5181],{"class":158},"            });",[134,5183,1350],{"class":1349},[134,5185,5186],{"class":158},"        });",[134,5188,1350],{"class":1349},[134,5190,5191],{"class":158},"    }",[134,5193,4418],{"class":1349},[134,5195,5196],{"class":158},"    return [",[134,5198,1350],{"class":1349},[134,5200,5201],{"class":158},"        { payload: data },",[134,5203,1350],{"class":1349},[134,5205,5206],{"class":158},"        { payload: downtimeData }",[134,5208,1350],{"class":1349},[134,5210,4747],{"class":158},[134,5212,1350],{"class":1349},[134,5214,5215],{"class":158},"}",[134,5217,4418],{"class":1349},[134,5219,5220],{"class":158},"const productionDataSet = generateProductionData();",[134,5222,4418],{"class":1349},[134,5224,5225],{"class":158},"return [",[134,5227,1350],{"class":1349},[134,5229,5230],{"class":158},"    { payload: productionDataSet[0].payload },",[134,5232,1350],{"class":1349},[134,5234,5235],{"class":158},"    { payload: productionDataSet[1].payload }",[134,5237,1350],{"class":1349},[134,5239,4449],{"class":158},[134,5241,1350],{"class":1349},[134,5243,144],{"class":140},[134,5245,164],{"class":140},[134,5247,144],{"class":140},[134,5249,5250],{"class":147},"outputs",[134,5252,144],{"class":140},[134,5254,153],{"class":140},[134,5256,5257],{"class":509},"2",[134,5259,164],{"class":140},[134,5261,144],{"class":140},[134,5263,5264],{"class":147},"timeout",[134,5266,144],{"class":140},[134,5268,153],{"class":140},[134,5270,5271],{"class":509},"0",[134,5273,164],{"class":140},[134,5275,144],{"class":140},[134,5277,5278],{"class":147},"noerr",[134,5280,144],{"class":140},[134,5282,153],{"class":140},[134,5284,5271],{"class":509},[134,5286,164],{"class":140},[134,5288,144],{"class":140},[134,5290,5291],{"class":147},"initialize",[134,5293,144],{"class":140},[134,5295,153],{"class":140},[134,5297,222],{"class":140},[134,5299,164],{"class":140},[134,5301,144],{"class":140},[134,5303,5304],{"class":147},"finalize",[134,5306,144],{"class":140},[134,5308,153],{"class":140},[134,5310,222],{"class":140},[134,5312,164],{"class":140},[134,5314,144],{"class":140},[134,5316,5317],{"class":147},"libs",[134,5319,144],{"class":140},[134,5321,5322],{"class":140},":[],",[134,5324,144],{"class":140},[134,5326,502],{"class":147},[134,5328,144],{"class":140},[134,5330,153],{"class":140},[134,5332,5333],{"class":509},"690",[134,5335,164],{"class":140},[134,5337,144],{"class":140},[134,5339,517],{"class":147},[134,5341,144],{"class":140},[134,5343,153],{"class":140},[134,5345,4154],{"class":509},[134,5347,164],{"class":140},[134,5349,144],{"class":140},[134,5351,1478],{"class":147},[134,5353,144],{"class":140},[134,5355,1483],{"class":140},[134,5357,144],{"class":140},[134,5359,774],{"class":158},[134,5361,144],{"class":140},[134,5363,5364],{"class":140},"],[",[134,5366,144],{"class":140},[134,5368,819],{"class":158},[134,5370,144],{"class":140},[134,5372,1492],{"class":140},[134,5374,144],{"class":140},[134,5376,148],{"class":147},[134,5378,144],{"class":140},[134,5380,153],{"class":140},[134,5382,144],{"class":140},[134,5384,774],{"class":158},[134,5386,144],{"class":140},[134,5388,164],{"class":140},[134,5390,144],{"class":140},[134,5392,169],{"class":147},[134,5394,144],{"class":140},[134,5396,153],{"class":140},[134,5398,144],{"class":140},[134,5400,5401],{"class":158},"split",[134,5403,144],{"class":140},[134,5405,164],{"class":140},[134,5407,144],{"class":140},[134,5409,273],{"class":147},[134,5411,144],{"class":140},[134,5413,153],{"class":140},[134,5415,144],{"class":140},[134,5417,159],{"class":158},[134,5419,144],{"class":140},[134,5421,164],{"class":140},[134,5423,144],{"class":140},[134,5425,1231],{"class":147},[134,5427,144],{"class":140},[134,5429,153],{"class":140},[134,5431,144],{"class":140},[134,5433,568],{"class":158},[134,5435,144],{"class":140},[134,5437,164],{"class":140},[134,5439,144],{"class":140},[134,5441,1248],{"class":147},[134,5443,144],{"class":140},[134,5445,153],{"class":140},[134,5447,222],{"class":140},[134,5449,164],{"class":140},[134,5451,144],{"class":140},[134,5453,5454],{"class":147},"splt",[134,5456,144],{"class":140},[134,5458,153],{"class":140},[134,5460,144],{"class":140},[134,5462,5463],{"class":1349},"\\\\",[134,5465,5466],{"class":158},"n",[134,5468,144],{"class":140},[134,5470,164],{"class":140},[134,5472,144],{"class":140},[134,5474,5475],{"class":147},"spltType",[134,5477,144],{"class":140},[134,5479,153],{"class":140},[134,5481,144],{"class":140},[134,5483,1443],{"class":158},[134,5485,144],{"class":140},[134,5487,164],{"class":140},[134,5489,144],{"class":140},[134,5491,5492],{"class":147},"arraySplt",[134,5494,144],{"class":140},[134,5496,153],{"class":140},[134,5498,328],{"class":509},[134,5500,164],{"class":140},[134,5502,144],{"class":140},[134,5504,5505],{"class":147},"arraySpltType",[134,5507,144],{"class":140},[134,5509,153],{"class":140},[134,5511,144],{"class":140},[134,5513,5514],{"class":158},"len",[134,5516,144],{"class":140},[134,5518,164],{"class":140},[134,5520,144],{"class":140},[134,5522,5523],{"class":147},"stream",[134,5525,144],{"class":140},[134,5527,210],{"class":140},[134,5529,144],{"class":140},[134,5531,5532],{"class":147},"addname",[134,5534,144],{"class":140},[134,5536,153],{"class":140},[134,5538,222],{"class":140},[134,5540,164],{"class":140},[134,5542,144],{"class":140},[134,5544,502],{"class":147},[134,5546,144],{"class":140},[134,5548,153],{"class":140},[134,5550,5551],{"class":509},"1060",[134,5553,164],{"class":140},[134,5555,144],{"class":140},[134,5557,517],{"class":147},[134,5559,144],{"class":140},[134,5561,153],{"class":140},[134,5563,3031],{"class":509},[134,5565,164],{"class":140},[134,5567,144],{"class":140},[134,5569,1478],{"class":147},[134,5571,144],{"class":140},[134,5573,1483],{"class":140},[134,5575,144],{"class":140},[134,5577,783],{"class":158},[134,5579,144],{"class":140},[134,5581,1492],{"class":140},[134,5583,144],{"class":140},[134,5585,148],{"class":147},[134,5587,144],{"class":140},[134,5589,153],{"class":140},[134,5591,144],{"class":140},[134,5593,783],{"class":158},[134,5595,144],{"class":140},[134,5597,164],{"class":140},[134,5599,144],{"class":140},[134,5601,169],{"class":147},[134,5603,144],{"class":140},[134,5605,153],{"class":140},[134,5607,144],{"class":140},[134,5609,5610],{"class":158},"delay",[134,5612,144],{"class":140},[134,5614,164],{"class":140},[134,5616,144],{"class":140},[134,5618,273],{"class":147},[134,5620,144],{"class":140},[134,5622,153],{"class":140},[134,5624,144],{"class":140},[134,5626,159],{"class":158},[134,5628,144],{"class":140},[134,5630,164],{"class":140},[134,5632,144],{"class":140},[134,5634,1231],{"class":147},[134,5636,144],{"class":140},[134,5638,153],{"class":140},[134,5640,144],{"class":140},[134,5642,568],{"class":158},[134,5644,144],{"class":140},[134,5646,164],{"class":140},[134,5648,144],{"class":140},[134,5650,1248],{"class":147},[134,5652,144],{"class":140},[134,5654,153],{"class":140},[134,5656,144],{"class":140},[134,5658,5659],{"class":158},"10 msg\u002Fs",[134,5661,144],{"class":140},[134,5663,164],{"class":140},[134,5665,144],{"class":140},[134,5667,5668],{"class":147},"pauseType",[134,5670,144],{"class":140},[134,5672,153],{"class":140},[134,5674,144],{"class":140},[134,5676,5677],{"class":158},"rate",[134,5679,144],{"class":140},[134,5681,164],{"class":140},[134,5683,144],{"class":140},[134,5685,5264],{"class":147},[134,5687,144],{"class":140},[134,5689,153],{"class":140},[134,5691,144],{"class":140},[134,5693,5694],{"class":158},"5",[134,5696,144],{"class":140},[134,5698,164],{"class":140},[134,5700,144],{"class":140},[134,5702,5703],{"class":147},"timeoutUnits",[134,5705,144],{"class":140},[134,5707,153],{"class":140},[134,5709,144],{"class":140},[134,5711,5712],{"class":158},"seconds",[134,5714,144],{"class":140},[134,5716,164],{"class":140},[134,5718,144],{"class":140},[134,5720,5677],{"class":147},[134,5722,144],{"class":140},[134,5724,153],{"class":140},[134,5726,144],{"class":140},[134,5728,5729],{"class":158},"10",[134,5731,144],{"class":140},[134,5733,164],{"class":140},[134,5735,144],{"class":140},[134,5737,5738],{"class":147},"nbRateUnits",[134,5740,144],{"class":140},[134,5742,153],{"class":140},[134,5744,144],{"class":140},[134,5746,328],{"class":158},[134,5748,144],{"class":140},[134,5750,164],{"class":140},[134,5752,144],{"class":140},[134,5754,5755],{"class":147},"rateUnits",[134,5757,144],{"class":140},[134,5759,153],{"class":140},[134,5761,144],{"class":140},[134,5763,5764],{"class":158},"second",[134,5766,144],{"class":140},[134,5768,164],{"class":140},[134,5770,144],{"class":140},[134,5772,5773],{"class":147},"randomFirst",[134,5775,144],{"class":140},[134,5777,153],{"class":140},[134,5779,144],{"class":140},[134,5781,328],{"class":158},[134,5783,144],{"class":140},[134,5785,164],{"class":140},[134,5787,144],{"class":140},[134,5789,5790],{"class":147},"randomLast",[134,5792,144],{"class":140},[134,5794,153],{"class":140},[134,5796,144],{"class":140},[134,5798,5694],{"class":158},[134,5800,144],{"class":140},[134,5802,164],{"class":140},[134,5804,144],{"class":140},[134,5806,5807],{"class":147},"randomUnits",[134,5809,144],{"class":140},[134,5811,153],{"class":140},[134,5813,144],{"class":140},[134,5815,5712],{"class":158},[134,5817,144],{"class":140},[134,5819,164],{"class":140},[134,5821,144],{"class":140},[134,5823,5824],{"class":147},"drop",[134,5826,144],{"class":140},[134,5828,210],{"class":140},[134,5830,144],{"class":140},[134,5832,5833],{"class":147},"allowrate",[134,5835,144],{"class":140},[134,5837,210],{"class":140},[134,5839,144],{"class":140},[134,5841,5250],{"class":147},[134,5843,144],{"class":140},[134,5845,153],{"class":140},[134,5847,328],{"class":509},[134,5849,164],{"class":140},[134,5851,144],{"class":140},[134,5853,502],{"class":147},[134,5855,144],{"class":140},[134,5857,153],{"class":140},[134,5859,5860],{"class":509},"1280",[134,5862,164],{"class":140},[134,5864,144],{"class":140},[134,5866,517],{"class":147},[134,5868,144],{"class":140},[134,5870,153],{"class":140},[134,5872,3031],{"class":509},[134,5874,164],{"class":140},[134,5876,144],{"class":140},[134,5878,1478],{"class":147},[134,5880,144],{"class":140},[134,5882,1483],{"class":140},[134,5884,144],{"class":140},[134,5886,738],{"class":158},[134,5888,144],{"class":140},[134,5890,1492],{"class":140},[134,5892,144],{"class":140},[134,5894,148],{"class":147},[134,5896,144],{"class":140},[134,5898,153],{"class":140},[134,5900,144],{"class":140},[134,5902,801],{"class":158},[134,5904,144],{"class":140},[134,5906,164],{"class":140},[134,5908,144],{"class":140},[134,5910,169],{"class":147},[134,5912,144],{"class":140},[134,5914,153],{"class":140},[134,5916,144],{"class":140},[134,5918,1206],{"class":158},[134,5920,144],{"class":140},[134,5922,164],{"class":140},[134,5924,144],{"class":140},[134,5926,273],{"class":147},[134,5928,144],{"class":140},[134,5930,153],{"class":140},[134,5932,144],{"class":140},[134,5934,159],{"class":158},[134,5936,144],{"class":140},[134,5938,164],{"class":140},[134,5940,144],{"class":140},[134,5942,1231],{"class":147},[134,5944,144],{"class":140},[134,5946,153],{"class":140},[134,5948,144],{"class":140},[134,5950,568],{"class":158},[134,5952,144],{"class":140},[134,5954,164],{"class":140},[134,5956,144],{"class":140},[134,5958,1248],{"class":147},[134,5960,144],{"class":140},[134,5962,153],{"class":140},[134,5964,144],{"class":140},[134,5966,5967],{"class":158},"Insert downtime data record",[134,5969,144],{"class":140},[134,5971,164],{"class":140},[134,5973,144],{"class":140},[134,5975,1266],{"class":147},[134,5977,144],{"class":140},[134,5979,153],{"class":140},[134,5981,144],{"class":140},[134,5983,1275],{"class":158},[134,5985,144],{"class":140},[134,5987,164],{"class":140},[134,5989,144],{"class":140},[134,5991,1284],{"class":147},[134,5993,144],{"class":140},[134,5995,153],{"class":140},[134,5997,144],{"class":140},[134,5999,1293],{"class":158},[134,6001,144],{"class":140},[134,6003,164],{"class":140},[134,6005,144],{"class":140},[134,6007,1302],{"class":147},[134,6009,144],{"class":140},[134,6011,153],{"class":140},[134,6013,144],{"class":140},[134,6015,2808],{"class":158},[134,6017,144],{"class":140},[134,6019,164],{"class":140},[134,6021,144],{"class":140},[134,6023,1320],{"class":147},[134,6025,144],{"class":140},[134,6027,153],{"class":140},[134,6029,144],{"class":140},[134,6031,1329],{"class":158},[134,6033,144],{"class":140},[134,6035,164],{"class":140},[134,6037,144],{"class":140},[134,6039,1206],{"class":147},[134,6041,144],{"class":140},[134,6043,153],{"class":140},[134,6045,144],{"class":140},[134,6047,6048],{"class":158},"INSERT INTO DowntimeData ( timestamp, area, line, machine_name, shift, ",[134,6050,1350],{"class":1349},[134,6052,6053],{"class":158},"    downtime_start, downtime_end, downtime_duration_minutes, ",[134,6055,1350],{"class":1349},[134,6057,6058],{"class":158},"    downtime_type, downtime_reason",[134,6060,1350],{"class":1349},[134,6062,6063],{"class":158},")  ",[134,6065,1350],{"class":1349},[134,6067,2916],{"class":158},[134,6069,1350],{"class":1349},[134,6071,6072],{"class":158},"    '{{payload.timestamp}}',  ",[134,6074,1350],{"class":1349},[134,6076,2926],{"class":158},[134,6078,1350],{"class":1349},[134,6080,2931],{"class":158},[134,6082,1350],{"class":1349},[134,6084,2936],{"class":158},[134,6086,1350],{"class":1349},[134,6088,2941],{"class":158},[134,6090,1350],{"class":1349},[134,6092,6093],{"class":158},"    '{{payload.downtime_start}}',",[134,6095,1350],{"class":1349},[134,6097,6098],{"class":158},"    '{{payload.downtime_end}}',  ",[134,6100,1350],{"class":1349},[134,6102,6103],{"class":158},"    {{payload.downtime_duration_minutes}},  ",[134,6105,1350],{"class":1349},[134,6107,6108],{"class":158},"    '{{payload.downtime_type}}',  ",[134,6110,1350],{"class":1349},[134,6112,6113],{"class":158},"    '{{payload.downtime_reason}}'  ",[134,6115,1350],{"class":1349},[134,6117,1423],{"class":158},[134,6119,1350],{"class":1349},[134,6121,144],{"class":140},[134,6123,164],{"class":140},[134,6125,144],{"class":140},[134,6127,1434],{"class":147},[134,6129,144],{"class":140},[134,6131,153],{"class":140},[134,6133,144],{"class":140},[134,6135,1443],{"class":158},[134,6137,144],{"class":140},[134,6139,164],{"class":140},[134,6141,144],{"class":140},[134,6143,502],{"class":147},[134,6145,144],{"class":140},[134,6147,153],{"class":140},[134,6149,3018],{"class":509},[134,6151,164],{"class":140},[134,6153,144],{"class":140},[134,6155,517],{"class":147},[134,6157,144],{"class":140},[134,6159,153],{"class":140},[134,6161,6162],{"class":509},"420",[134,6164,164],{"class":140},[134,6166,144],{"class":140},[134,6168,1478],{"class":147},[134,6170,144],{"class":140},[134,6172,1483],{"class":140},[134,6174,144],{"class":140},[134,6176,792],{"class":158},[134,6178,144],{"class":140},[134,6180,1492],{"class":140},[134,6182,144],{"class":140},[134,6184,148],{"class":147},[134,6186,144],{"class":140},[134,6188,153],{"class":140},[134,6190,144],{"class":140},[134,6192,810],{"class":158},[134,6194,144],{"class":140},[134,6196,164],{"class":140},[134,6198,144],{"class":140},[134,6200,169],{"class":147},[134,6202,144],{"class":140},[134,6204,153],{"class":140},[134,6206,144],{"class":140},[134,6208,1791],{"class":158},[134,6210,144],{"class":140},[134,6212,164],{"class":140},[134,6214,144],{"class":140},[134,6216,273],{"class":147},[134,6218,144],{"class":140},[134,6220,153],{"class":140},[134,6222,144],{"class":140},[134,6224,159],{"class":158},[134,6226,144],{"class":140},[134,6228,164],{"class":140},[134,6230,144],{"class":140},[134,6232,1231],{"class":147},[134,6234,144],{"class":140},[134,6236,153],{"class":140},[134,6238,144],{"class":140},[134,6240,568],{"class":158},[134,6242,144],{"class":140},[134,6244,164],{"class":140},[134,6246,144],{"class":140},[134,6248,1248],{"class":147},[134,6250,144],{"class":140},[134,6252,153],{"class":140},[134,6254,144],{"class":140},[134,6256,6257],{"class":158},"debug 8",[134,6259,144],{"class":140},[134,6261,164],{"class":140},[134,6263,144],{"class":140},[134,6265,1849],{"class":147},[134,6267,144],{"class":140},[134,6269,210],{"class":140},[134,6271,144],{"class":140},[134,6273,1858],{"class":147},[134,6275,144],{"class":140},[134,6277,377],{"class":140},[134,6279,144],{"class":140},[134,6281,1867],{"class":147},[134,6283,144],{"class":140},[134,6285,210],{"class":140},[134,6287,144],{"class":140},[134,6289,1876],{"class":147},[134,6291,144],{"class":140},[134,6293,210],{"class":140},[134,6295,144],{"class":140},[134,6297,1885],{"class":147},[134,6299,144],{"class":140},[134,6301,153],{"class":140},[134,6303,144],{"class":140},[134,6305,1894],{"class":158},[134,6307,144],{"class":140},[134,6309,164],{"class":140},[134,6311,144],{"class":140},[134,6313,1903],{"class":147},[134,6315,144],{"class":140},[134,6317,153],{"class":140},[134,6319,222],{"class":140},[134,6321,164],{"class":140},[134,6323,144],{"class":140},[134,6325,1916],{"class":147},[134,6327,144],{"class":140},[134,6329,153],{"class":140},[134,6331,144],{"class":140},[134,6333,1925],{"class":158},[134,6335,144],{"class":140},[134,6337,164],{"class":140},[134,6339,144],{"class":140},[134,6341,502],{"class":147},[134,6343,144],{"class":140},[134,6345,153],{"class":140},[134,6347,3217],{"class":509},[134,6349,164],{"class":140},[134,6351,144],{"class":140},[134,6353,517],{"class":147},[134,6355,144],{"class":140},[134,6357,153],{"class":140},[134,6359,6162],{"class":509},[134,6361,164],{"class":140},[134,6363,144],{"class":140},[134,6365,1478],{"class":147},[134,6367,144],{"class":140},[134,6369,234],{"class":140},[134,6371,144],{"class":140},[134,6373,148],{"class":147},[134,6375,144],{"class":140},[134,6377,153],{"class":140},[134,6379,144],{"class":140},[134,6381,819],{"class":158},[134,6383,144],{"class":140},[134,6385,164],{"class":140},[134,6387,144],{"class":140},[134,6389,169],{"class":147},[134,6391,144],{"class":140},[134,6393,153],{"class":140},[134,6395,144],{"class":140},[134,6397,5401],{"class":158},[134,6399,144],{"class":140},[134,6401,164],{"class":140},[134,6403,144],{"class":140},[134,6405,273],{"class":147},[134,6407,144],{"class":140},[134,6409,153],{"class":140},[134,6411,144],{"class":140},[134,6413,159],{"class":158},[134,6415,144],{"class":140},[134,6417,164],{"class":140},[134,6419,144],{"class":140},[134,6421,1231],{"class":147},[134,6423,144],{"class":140},[134,6425,153],{"class":140},[134,6427,144],{"class":140},[134,6429,568],{"class":158},[134,6431,144],{"class":140},[134,6433,164],{"class":140},[134,6435,144],{"class":140},[134,6437,1248],{"class":147},[134,6439,144],{"class":140},[134,6441,153],{"class":140},[134,6443,222],{"class":140},[134,6445,164],{"class":140},[134,6447,144],{"class":140},[134,6449,5454],{"class":147},[134,6451,144],{"class":140},[134,6453,153],{"class":140},[134,6455,144],{"class":140},[134,6457,5463],{"class":1349},[134,6459,5466],{"class":158},[134,6461,144],{"class":140},[134,6463,164],{"class":140},[134,6465,144],{"class":140},[134,6467,5475],{"class":147},[134,6469,144],{"class":140},[134,6471,153],{"class":140},[134,6473,144],{"class":140},[134,6475,1443],{"class":158},[134,6477,144],{"class":140},[134,6479,164],{"class":140},[134,6481,144],{"class":140},[134,6483,5492],{"class":147},[134,6485,144],{"class":140},[134,6487,153],{"class":140},[134,6489,328],{"class":509},[134,6491,164],{"class":140},[134,6493,144],{"class":140},[134,6495,5505],{"class":147},[134,6497,144],{"class":140},[134,6499,153],{"class":140},[134,6501,144],{"class":140},[134,6503,5514],{"class":158},[134,6505,144],{"class":140},[134,6507,164],{"class":140},[134,6509,144],{"class":140},[134,6511,5523],{"class":147},[134,6513,144],{"class":140},[134,6515,210],{"class":140},[134,6517,144],{"class":140},[134,6519,5532],{"class":147},[134,6521,144],{"class":140},[134,6523,153],{"class":140},[134,6525,222],{"class":140},[134,6527,164],{"class":140},[134,6529,144],{"class":140},[134,6531,502],{"class":147},[134,6533,144],{"class":140},[134,6535,153],{"class":140},[134,6537,5551],{"class":509},[134,6539,164],{"class":140},[134,6541,144],{"class":140},[134,6543,517],{"class":147},[134,6545,144],{"class":140},[134,6547,153],{"class":140},[134,6549,6162],{"class":509},[134,6551,164],{"class":140},[134,6553,144],{"class":140},[134,6555,1478],{"class":147},[134,6557,144],{"class":140},[134,6559,1483],{"class":140},[134,6561,144],{"class":140},[134,6563,828],{"class":158},[134,6565,144],{"class":140},[134,6567,1492],{"class":140},[134,6569,144],{"class":140},[134,6571,148],{"class":147},[134,6573,144],{"class":140},[134,6575,153],{"class":140},[134,6577,144],{"class":140},[134,6579,828],{"class":158},[134,6581,144],{"class":140},[134,6583,164],{"class":140},[134,6585,144],{"class":140},[134,6587,169],{"class":147},[134,6589,144],{"class":140},[134,6591,153],{"class":140},[134,6593,144],{"class":140},[134,6595,5610],{"class":158},[134,6597,144],{"class":140},[134,6599,164],{"class":140},[134,6601,144],{"class":140},[134,6603,273],{"class":147},[134,6605,144],{"class":140},[134,6607,153],{"class":140},[134,6609,144],{"class":140},[134,6611,159],{"class":158},[134,6613,144],{"class":140},[134,6615,164],{"class":140},[134,6617,144],{"class":140},[134,6619,1231],{"class":147},[134,6621,144],{"class":140},[134,6623,153],{"class":140},[134,6625,144],{"class":140},[134,6627,568],{"class":158},[134,6629,144],{"class":140},[134,6631,164],{"class":140},[134,6633,144],{"class":140},[134,6635,1248],{"class":147},[134,6637,144],{"class":140},[134,6639,153],{"class":140},[134,6641,144],{"class":140},[134,6643,5659],{"class":158},[134,6645,144],{"class":140},[134,6647,164],{"class":140},[134,6649,144],{"class":140},[134,6651,5668],{"class":147},[134,6653,144],{"class":140},[134,6655,153],{"class":140},[134,6657,144],{"class":140},[134,6659,5677],{"class":158},[134,6661,144],{"class":140},[134,6663,164],{"class":140},[134,6665,144],{"class":140},[134,6667,5264],{"class":147},[134,6669,144],{"class":140},[134,6671,153],{"class":140},[134,6673,144],{"class":140},[134,6675,5694],{"class":158},[134,6677,144],{"class":140},[134,6679,164],{"class":140},[134,6681,144],{"class":140},[134,6683,5703],{"class":147},[134,6685,144],{"class":140},[134,6687,153],{"class":140},[134,6689,144],{"class":140},[134,6691,5712],{"class":158},[134,6693,144],{"class":140},[134,6695,164],{"class":140},[134,6697,144],{"class":140},[134,6699,5677],{"class":147},[134,6701,144],{"class":140},[134,6703,153],{"class":140},[134,6705,144],{"class":140},[134,6707,5729],{"class":158},[134,6709,144],{"class":140},[134,6711,164],{"class":140},[134,6713,144],{"class":140},[134,6715,5738],{"class":147},[134,6717,144],{"class":140},[134,6719,153],{"class":140},[134,6721,144],{"class":140},[134,6723,328],{"class":158},[134,6725,144],{"class":140},[134,6727,164],{"class":140},[134,6729,144],{"class":140},[134,6731,5755],{"class":147},[134,6733,144],{"class":140},[134,6735,153],{"class":140},[134,6737,144],{"class":140},[134,6739,5764],{"class":158},[134,6741,144],{"class":140},[134,6743,164],{"class":140},[134,6745,144],{"class":140},[134,6747,5773],{"class":147},[134,6749,144],{"class":140},[134,6751,153],{"class":140},[134,6753,144],{"class":140},[134,6755,328],{"class":158},[134,6757,144],{"class":140},[134,6759,164],{"class":140},[134,6761,144],{"class":140},[134,6763,5790],{"class":147},[134,6765,144],{"class":140},[134,6767,153],{"class":140},[134,6769,144],{"class":140},[134,6771,5694],{"class":158},[134,6773,144],{"class":140},[134,6775,164],{"class":140},[134,6777,144],{"class":140},[134,6779,5807],{"class":147},[134,6781,144],{"class":140},[134,6783,153],{"class":140},[134,6785,144],{"class":140},[134,6787,5712],{"class":158},[134,6789,144],{"class":140},[134,6791,164],{"class":140},[134,6793,144],{"class":140},[134,6795,5824],{"class":147},[134,6797,144],{"class":140},[134,6799,210],{"class":140},[134,6801,144],{"class":140},[134,6803,5833],{"class":147},[134,6805,144],{"class":140},[134,6807,210],{"class":140},[134,6809,144],{"class":140},[134,6811,5250],{"class":147},[134,6813,144],{"class":140},[134,6815,153],{"class":140},[134,6817,328],{"class":509},[134,6819,164],{"class":140},[134,6821,144],{"class":140},[134,6823,502],{"class":147},[134,6825,144],{"class":140},[134,6827,153],{"class":140},[134,6829,5860],{"class":509},[134,6831,164],{"class":140},[134,6833,144],{"class":140},[134,6835,517],{"class":147},[134,6837,144],{"class":140},[134,6839,153],{"class":140},[134,6841,6162],{"class":509},[134,6843,164],{"class":140},[134,6845,144],{"class":140},[134,6847,1478],{"class":147},[134,6849,144],{"class":140},[134,6851,1483],{"class":140},[134,6853,144],{"class":140},[134,6855,801],{"class":158},[134,6857,144],{"class":140},[134,6859,1492],{"class":140},[134,6861,144],{"class":140},[134,6863,148],{"class":147},[134,6865,144],{"class":140},[134,6867,153],{"class":140},[134,6869,144],{"class":140},[134,6871,1103],{"class":158},[134,6873,144],{"class":140},[134,6875,164],{"class":140},[134,6877,144],{"class":140},[134,6879,169],{"class":147},[134,6881,144],{"class":140},[134,6883,153],{"class":140},[134,6885,144],{"class":140},[134,6887,1206],{"class":158},[134,6889,144],{"class":140},[134,6891,164],{"class":140},[134,6893,144],{"class":140},[134,6895,273],{"class":147},[134,6897,144],{"class":140},[134,6899,153],{"class":140},[134,6901,144],{"class":140},[134,6903,159],{"class":158},[134,6905,144],{"class":140},[134,6907,164],{"class":140},[134,6909,144],{"class":140},[134,6911,1231],{"class":147},[134,6913,144],{"class":140},[134,6915,153],{"class":140},[134,6917,144],{"class":140},[134,6919,897],{"class":158},[134,6921,144],{"class":140},[134,6923,164],{"class":140},[134,6925,144],{"class":140},[134,6927,1248],{"class":147},[134,6929,144],{"class":140},[134,6931,153],{"class":140},[134,6933,144],{"class":140},[134,6935,6936],{"class":158},"Drop demo production data",[134,6938,144],{"class":140},[134,6940,164],{"class":140},[134,6942,144],{"class":140},[134,6944,1266],{"class":147},[134,6946,144],{"class":140},[134,6948,153],{"class":140},[134,6950,144],{"class":140},[134,6952,1275],{"class":158},[134,6954,144],{"class":140},[134,6956,164],{"class":140},[134,6958,144],{"class":140},[134,6960,1284],{"class":147},[134,6962,144],{"class":140},[134,6964,153],{"class":140},[134,6966,144],{"class":140},[134,6968,1293],{"class":158},[134,6970,144],{"class":140},[134,6972,164],{"class":140},[134,6974,144],{"class":140},[134,6976,1302],{"class":147},[134,6978,144],{"class":140},[134,6980,153],{"class":140},[134,6982,144],{"class":140},[134,6984,1311],{"class":158},[134,6986,144],{"class":140},[134,6988,164],{"class":140},[134,6990,144],{"class":140},[134,6992,1320],{"class":147},[134,6994,144],{"class":140},[134,6996,153],{"class":140},[134,6998,144],{"class":140},[134,7000,1329],{"class":158},[134,7002,144],{"class":140},[134,7004,164],{"class":140},[134,7006,144],{"class":140},[134,7008,1206],{"class":147},[134,7010,144],{"class":140},[134,7012,153],{"class":140},[134,7014,144],{"class":140},[134,7016,7017],{"class":158},"Drop table ProductionData;",[134,7019,144],{"class":140},[134,7021,164],{"class":140},[134,7023,144],{"class":140},[134,7025,1434],{"class":147},[134,7027,144],{"class":140},[134,7029,153],{"class":140},[134,7031,144],{"class":140},[134,7033,1443],{"class":158},[134,7035,144],{"class":140},[134,7037,164],{"class":140},[134,7039,144],{"class":140},[134,7041,502],{"class":147},[134,7043,144],{"class":140},[134,7045,153],{"class":140},[134,7047,3428],{"class":509},[134,7049,164],{"class":140},[134,7051,144],{"class":140},[134,7053,517],{"class":147},[134,7055,144],{"class":140},[134,7057,153],{"class":140},[134,7059,7060],{"class":509},"520",[134,7062,164],{"class":140},[134,7064,144],{"class":140},[134,7066,1478],{"class":147},[134,7068,144],{"class":140},[134,7070,1483],{"class":140},[134,7072,144],{"class":140},[134,7074,1094],{"class":158},[134,7076,144],{"class":140},[134,7078,1492],{"class":140},[134,7080,144],{"class":140},[134,7082,148],{"class":147},[134,7084,144],{"class":140},[134,7086,153],{"class":140},[134,7088,144],{"class":140},[134,7090,1112],{"class":158},[134,7092,144],{"class":140},[134,7094,164],{"class":140},[134,7096,144],{"class":140},[134,7098,169],{"class":147},[134,7100,144],{"class":140},[134,7102,153],{"class":140},[134,7104,144],{"class":140},[134,7106,1521],{"class":158},[134,7108,144],{"class":140},[134,7110,164],{"class":140},[134,7112,144],{"class":140},[134,7114,273],{"class":147},[134,7116,144],{"class":140},[134,7118,153],{"class":140},[134,7120,144],{"class":140},[134,7122,159],{"class":158},[134,7124,144],{"class":140},[134,7126,164],{"class":140},[134,7128,144],{"class":140},[134,7130,1231],{"class":147},[134,7132,144],{"class":140},[134,7134,153],{"class":140},[134,7136,144],{"class":140},[134,7138,897],{"class":158},[134,7140,144],{"class":140},[134,7142,164],{"class":140},[134,7144,144],{"class":140},[134,7146,1248],{"class":147},[134,7148,144],{"class":140},[134,7150,153],{"class":140},[134,7152,222],{"class":140},[134,7154,164],{"class":140},[134,7156,144],{"class":140},[134,7158,1574],{"class":147},[134,7160,144],{"class":140},[134,7162,1579],{"class":140},[134,7164,144],{"class":140},[134,7166,12],{"class":300},[134,7168,144],{"class":140},[134,7170,153],{"class":140},[134,7172,144],{"class":140},[134,7174,1592],{"class":158},[134,7176,144],{"class":140},[134,7178,555],{"class":140},[134,7180,144],{"class":140},[134,7182,12],{"class":300},[134,7184,144],{"class":140},[134,7186,153],{"class":140},[134,7188,144],{"class":140},[134,7190,1275],{"class":158},[134,7192,144],{"class":140},[134,7194,164],{"class":140},[134,7196,144],{"class":140},[134,7198,1617],{"class":300},[134,7200,144],{"class":140},[134,7202,153],{"class":140},[134,7204,144],{"class":140},[134,7206,1443],{"class":158},[134,7208,144],{"class":140},[134,7210,1630],{"class":140},[134,7212,144],{"class":140},[134,7214,1635],{"class":147},[134,7216,144],{"class":140},[134,7218,153],{"class":140},[134,7220,222],{"class":140},[134,7222,164],{"class":140},[134,7224,144],{"class":140},[134,7226,1648],{"class":147},[134,7228,144],{"class":140},[134,7230,153],{"class":140},[134,7232,222],{"class":140},[134,7234,164],{"class":140},[134,7236,144],{"class":140},[134,7238,1661],{"class":147},[134,7240,144],{"class":140},[134,7242,210],{"class":140},[134,7244,144],{"class":140},[134,7246,1670],{"class":147},[134,7248,144],{"class":140},[134,7250,153],{"class":140},[134,7252,1677],{"class":509},[134,7254,164],{"class":140},[134,7256,144],{"class":140},[134,7258,1275],{"class":147},[134,7260,144],{"class":140},[134,7262,153],{"class":140},[134,7264,222],{"class":140},[134,7266,164],{"class":140},[134,7268,144],{"class":140},[134,7270,1592],{"class":147},[134,7272,144],{"class":140},[134,7274,153],{"class":140},[134,7276,222],{"class":140},[134,7278,164],{"class":140},[134,7280,144],{"class":140},[134,7282,1708],{"class":147},[134,7284,144],{"class":140},[134,7286,153],{"class":140},[134,7288,144],{"class":140},[134,7290,1717],{"class":158},[134,7292,144],{"class":140},[134,7294,164],{"class":140},[134,7296,144],{"class":140},[134,7298,502],{"class":147},[134,7300,144],{"class":140},[134,7302,153],{"class":140},[134,7304,1732],{"class":509},[134,7306,164],{"class":140},[134,7308,144],{"class":140},[134,7310,517],{"class":147},[134,7312,144],{"class":140},[134,7314,153],{"class":140},[134,7316,7060],{"class":509},[134,7318,164],{"class":140},[134,7320,144],{"class":140},[134,7322,1478],{"class":147},[134,7324,144],{"class":140},[134,7326,1483],{"class":140},[134,7328,144],{"class":140},[134,7330,1103],{"class":158},[134,7332,144],{"class":140},[134,7334,1492],{"class":140},[134,7336,144],{"class":140},[134,7338,148],{"class":147},[134,7340,144],{"class":140},[134,7342,153],{"class":140},[134,7344,144],{"class":140},[134,7346,1121],{"class":158},[134,7348,144],{"class":140},[134,7350,164],{"class":140},[134,7352,144],{"class":140},[134,7354,169],{"class":147},[134,7356,144],{"class":140},[134,7358,153],{"class":140},[134,7360,144],{"class":140},[134,7362,1791],{"class":158},[134,7364,144],{"class":140},[134,7366,164],{"class":140},[134,7368,144],{"class":140},[134,7370,273],{"class":147},[134,7372,144],{"class":140},[134,7374,153],{"class":140},[134,7376,144],{"class":140},[134,7378,159],{"class":158},[134,7380,144],{"class":140},[134,7382,164],{"class":140},[134,7384,144],{"class":140},[134,7386,1231],{"class":147},[134,7388,144],{"class":140},[134,7390,153],{"class":140},[134,7392,144],{"class":140},[134,7394,897],{"class":158},[134,7396,144],{"class":140},[134,7398,164],{"class":140},[134,7400,144],{"class":140},[134,7402,1248],{"class":147},[134,7404,144],{"class":140},[134,7406,153],{"class":140},[134,7408,144],{"class":140},[134,7410,7411],{"class":158},"debug 4",[134,7413,144],{"class":140},[134,7415,164],{"class":140},[134,7417,144],{"class":140},[134,7419,1849],{"class":147},[134,7421,144],{"class":140},[134,7423,210],{"class":140},[134,7425,144],{"class":140},[134,7427,1858],{"class":147},[134,7429,144],{"class":140},[134,7431,377],{"class":140},[134,7433,144],{"class":140},[134,7435,1867],{"class":147},[134,7437,144],{"class":140},[134,7439,210],{"class":140},[134,7441,144],{"class":140},[134,7443,1876],{"class":147},[134,7445,144],{"class":140},[134,7447,210],{"class":140},[134,7449,144],{"class":140},[134,7451,1885],{"class":147},[134,7453,144],{"class":140},[134,7455,153],{"class":140},[134,7457,144],{"class":140},[134,7459,1894],{"class":158},[134,7461,144],{"class":140},[134,7463,164],{"class":140},[134,7465,144],{"class":140},[134,7467,1903],{"class":147},[134,7469,144],{"class":140},[134,7471,153],{"class":140},[134,7473,222],{"class":140},[134,7475,164],{"class":140},[134,7477,144],{"class":140},[134,7479,1916],{"class":147},[134,7481,144],{"class":140},[134,7483,153],{"class":140},[134,7485,144],{"class":140},[134,7487,1925],{"class":158},[134,7489,144],{"class":140},[134,7491,164],{"class":140},[134,7493,144],{"class":140},[134,7495,502],{"class":147},[134,7497,144],{"class":140},[134,7499,153],{"class":140},[134,7501,3883],{"class":509},[134,7503,164],{"class":140},[134,7505,144],{"class":140},[134,7507,517],{"class":147},[134,7509,144],{"class":140},[134,7511,153],{"class":140},[134,7513,7060],{"class":509},[134,7515,164],{"class":140},[134,7517,144],{"class":140},[134,7519,1478],{"class":147},[134,7521,144],{"class":140},[134,7523,234],{"class":140},[134,7525,144],{"class":140},[134,7527,148],{"class":147},[134,7529,144],{"class":140},[134,7531,153],{"class":140},[134,7533,144],{"class":140},[134,7535,429],{"class":158},[134,7537,144],{"class":140},[134,7539,164],{"class":140},[134,7541,144],{"class":140},[134,7543,169],{"class":147},[134,7545,144],{"class":140},[134,7547,153],{"class":140},[134,7549,144],{"class":140},[134,7551,7552],{"class":158},"sqlite",[134,7554,144],{"class":140},[134,7556,164],{"class":140},[134,7558,144],{"class":140},[134,7560,273],{"class":147},[134,7562,144],{"class":140},[134,7564,153],{"class":140},[134,7566,144],{"class":140},[134,7568,159],{"class":158},[134,7570,144],{"class":140},[134,7572,164],{"class":140},[134,7574,144],{"class":140},[134,7576,1231],{"class":147},[134,7578,144],{"class":140},[134,7580,153],{"class":140},[134,7582,144],{"class":140},[134,7584,247],{"class":158},[134,7586,144],{"class":140},[134,7588,164],{"class":140},[134,7590,144],{"class":140},[134,7592,7593],{"class":147},"mydb",[134,7595,144],{"class":140},[134,7597,153],{"class":140},[134,7599,144],{"class":140},[134,7601,7602],{"class":158},"1ae6d7f7fdb60191",[134,7604,144],{"class":140},[134,7606,164],{"class":140},[134,7608,144],{"class":140},[134,7610,7611],{"class":147},"sqlquery",[134,7613,144],{"class":140},[134,7615,153],{"class":140},[134,7617,144],{"class":140},[134,7619,7620],{"class":158},"msg.topic",[134,7622,144],{"class":140},[134,7624,164],{"class":140},[134,7626,144],{"class":140},[134,7628,1311],{"class":147},[134,7630,144],{"class":140},[134,7632,153],{"class":140},[134,7634,222],{"class":140},[134,7636,164],{"class":140},[134,7638,144],{"class":140},[134,7640,1248],{"class":147},[134,7642,144],{"class":140},[134,7644,153],{"class":140},[134,7646,222],{"class":140},[134,7648,164],{"class":140},[134,7650,144],{"class":140},[134,7652,502],{"class":147},[134,7654,144],{"class":140},[134,7656,153],{"class":140},[134,7658,7659],{"class":509},"720",[134,7661,164],{"class":140},[134,7663,144],{"class":140},[134,7665,517],{"class":147},[134,7667,144],{"class":140},[134,7669,153],{"class":140},[134,7671,1471],{"class":509},[134,7673,164],{"class":140},[134,7675,144],{"class":140},[134,7677,1478],{"class":147},[134,7679,144],{"class":140},[134,7681,1483],{"class":140},[134,7683,144],{"class":140},[134,7685,456],{"class":158},[134,7687,144],{"class":140},[134,7689,1492],{"class":140},[134,7691,144],{"class":140},[134,7693,148],{"class":147},[134,7695,144],{"class":140},[134,7697,153],{"class":140},[134,7699,144],{"class":140},[134,7701,465],{"class":158},[134,7703,144],{"class":140},[134,7705,164],{"class":140},[134,7707,144],{"class":140},[134,7709,169],{"class":147},[134,7711,144],{"class":140},[134,7713,153],{"class":140},[134,7715,144],{"class":140},[134,7717,7552],{"class":158},[134,7719,144],{"class":140},[134,7721,164],{"class":140},[134,7723,144],{"class":140},[134,7725,273],{"class":147},[134,7727,144],{"class":140},[134,7729,153],{"class":140},[134,7731,144],{"class":140},[134,7733,159],{"class":158},[134,7735,144],{"class":140},[134,7737,164],{"class":140},[134,7739,144],{"class":140},[134,7741,1231],{"class":147},[134,7743,144],{"class":140},[134,7745,153],{"class":140},[134,7747,144],{"class":140},[134,7749,247],{"class":158},[134,7751,144],{"class":140},[134,7753,164],{"class":140},[134,7755,144],{"class":140},[134,7757,7593],{"class":147},[134,7759,144],{"class":140},[134,7761,153],{"class":140},[134,7763,144],{"class":140},[134,7765,7602],{"class":158},[134,7767,144],{"class":140},[134,7769,164],{"class":140},[134,7771,144],{"class":140},[134,7773,7611],{"class":147},[134,7775,144],{"class":140},[134,7777,153],{"class":140},[134,7779,144],{"class":140},[134,7781,7620],{"class":158},[134,7783,144],{"class":140},[134,7785,164],{"class":140},[134,7787,144],{"class":140},[134,7789,1311],{"class":147},[134,7791,144],{"class":140},[134,7793,153],{"class":140},[134,7795,222],{"class":140},[134,7797,164],{"class":140},[134,7799,144],{"class":140},[134,7801,1248],{"class":147},[134,7803,144],{"class":140},[134,7805,153],{"class":140},[134,7807,222],{"class":140},[134,7809,164],{"class":140},[134,7811,144],{"class":140},[134,7813,502],{"class":147},[134,7815,144],{"class":140},[134,7817,153],{"class":140},[134,7819,7659],{"class":509},[134,7821,164],{"class":140},[134,7823,144],{"class":140},[134,7825,517],{"class":147},[134,7827,144],{"class":140},[134,7829,153],{"class":140},[134,7831,2219],{"class":509},[134,7833,164],{"class":140},[134,7835,144],{"class":140},[134,7837,1478],{"class":147},[134,7839,144],{"class":140},[134,7841,1483],{"class":140},[134,7843,144],{"class":140},[134,7845,492],{"class":158},[134,7847,144],{"class":140},[134,7849,1492],{"class":140},[134,7851,144],{"class":140},[134,7853,148],{"class":147},[134,7855,144],{"class":140},[134,7857,153],{"class":140},[134,7859,144],{"class":140},[134,7861,729],{"class":158},[134,7863,144],{"class":140},[134,7865,164],{"class":140},[134,7867,144],{"class":140},[134,7869,169],{"class":147},[134,7871,144],{"class":140},[134,7873,153],{"class":140},[134,7875,144],{"class":140},[134,7877,7552],{"class":158},[134,7879,144],{"class":140},[134,7881,164],{"class":140},[134,7883,144],{"class":140},[134,7885,273],{"class":147},[134,7887,144],{"class":140},[134,7889,153],{"class":140},[134,7891,144],{"class":140},[134,7893,159],{"class":158},[134,7895,144],{"class":140},[134,7897,164],{"class":140},[134,7899,144],{"class":140},[134,7901,1231],{"class":147},[134,7903,144],{"class":140},[134,7905,153],{"class":140},[134,7907,144],{"class":140},[134,7909,568],{"class":158},[134,7911,144],{"class":140},[134,7913,164],{"class":140},[134,7915,144],{"class":140},[134,7917,7593],{"class":147},[134,7919,144],{"class":140},[134,7921,153],{"class":140},[134,7923,144],{"class":140},[134,7925,7602],{"class":158},[134,7927,144],{"class":140},[134,7929,164],{"class":140},[134,7931,144],{"class":140},[134,7933,7611],{"class":147},[134,7935,144],{"class":140},[134,7937,153],{"class":140},[134,7939,144],{"class":140},[134,7941,7620],{"class":158},[134,7943,144],{"class":140},[134,7945,164],{"class":140},[134,7947,144],{"class":140},[134,7949,1311],{"class":147},[134,7951,144],{"class":140},[134,7953,153],{"class":140},[134,7955,222],{"class":140},[134,7957,164],{"class":140},[134,7959,144],{"class":140},[134,7961,1248],{"class":147},[134,7963,144],{"class":140},[134,7965,153],{"class":140},[134,7967,222],{"class":140},[134,7969,164],{"class":140},[134,7971,144],{"class":140},[134,7973,502],{"class":147},[134,7975,144],{"class":140},[134,7977,153],{"class":140},[134,7979,7980],{"class":509},"1780",[134,7982,164],{"class":140},[134,7984,144],{"class":140},[134,7986,517],{"class":147},[134,7988,144],{"class":140},[134,7990,153],{"class":140},[134,7992,3031],{"class":509},[134,7994,164],{"class":140},[134,7996,144],{"class":140},[134,7998,1478],{"class":147},[134,8000,144],{"class":140},[134,8002,1483],{"class":140},[134,8004,144],{"class":140},[134,8006,747],{"class":158},[134,8008,144],{"class":140},[134,8010,1492],{"class":140},[134,8012,144],{"class":140},[134,8014,148],{"class":147},[134,8016,144],{"class":140},[134,8018,153],{"class":140},[134,8020,144],{"class":140},[134,8022,1058],{"class":158},[134,8024,144],{"class":140},[134,8026,164],{"class":140},[134,8028,144],{"class":140},[134,8030,169],{"class":147},[134,8032,144],{"class":140},[134,8034,153],{"class":140},[134,8036,144],{"class":140},[134,8038,7552],{"class":158},[134,8040,144],{"class":140},[134,8042,164],{"class":140},[134,8044,144],{"class":140},[134,8046,273],{"class":147},[134,8048,144],{"class":140},[134,8050,153],{"class":140},[134,8052,144],{"class":140},[134,8054,159],{"class":158},[134,8056,144],{"class":140},[134,8058,164],{"class":140},[134,8060,144],{"class":140},[134,8062,1231],{"class":147},[134,8064,144],{"class":140},[134,8066,153],{"class":140},[134,8068,144],{"class":140},[134,8070,897],{"class":158},[134,8072,144],{"class":140},[134,8074,164],{"class":140},[134,8076,144],{"class":140},[134,8078,7593],{"class":147},[134,8080,144],{"class":140},[134,8082,153],{"class":140},[134,8084,144],{"class":140},[134,8086,7602],{"class":158},[134,8088,144],{"class":140},[134,8090,164],{"class":140},[134,8092,144],{"class":140},[134,8094,7611],{"class":147},[134,8096,144],{"class":140},[134,8098,153],{"class":140},[134,8100,144],{"class":140},[134,8102,7620],{"class":158},[134,8104,144],{"class":140},[134,8106,164],{"class":140},[134,8108,144],{"class":140},[134,8110,1311],{"class":147},[134,8112,144],{"class":140},[134,8114,153],{"class":140},[134,8116,222],{"class":140},[134,8118,164],{"class":140},[134,8120,144],{"class":140},[134,8122,1248],{"class":147},[134,8124,144],{"class":140},[134,8126,153],{"class":140},[134,8128,222],{"class":140},[134,8130,164],{"class":140},[134,8132,144],{"class":140},[134,8134,502],{"class":147},[134,8136,144],{"class":140},[134,8138,153],{"class":140},[134,8140,8141],{"class":509},"730",[134,8143,164],{"class":140},[134,8145,144],{"class":140},[134,8147,517],{"class":147},[134,8149,144],{"class":140},[134,8151,153],{"class":140},[134,8153,3441],{"class":509},[134,8155,164],{"class":140},[134,8157,144],{"class":140},[134,8159,1478],{"class":147},[134,8161,144],{"class":140},[134,8163,1483],{"class":140},[134,8165,144],{"class":140},[134,8167,1085],{"class":158},[134,8169,144],{"class":140},[134,8171,1492],{"class":140},[134,8173,144],{"class":140},[134,8175,148],{"class":147},[134,8177,144],{"class":140},[134,8179,153],{"class":140},[134,8181,144],{"class":140},[134,8183,792],{"class":158},[134,8185,144],{"class":140},[134,8187,164],{"class":140},[134,8189,144],{"class":140},[134,8191,169],{"class":147},[134,8193,144],{"class":140},[134,8195,153],{"class":140},[134,8197,144],{"class":140},[134,8199,7552],{"class":158},[134,8201,144],{"class":140},[134,8203,164],{"class":140},[134,8205,144],{"class":140},[134,8207,273],{"class":147},[134,8209,144],{"class":140},[134,8211,153],{"class":140},[134,8213,144],{"class":140},[134,8215,159],{"class":158},[134,8217,144],{"class":140},[134,8219,164],{"class":140},[134,8221,144],{"class":140},[134,8223,1231],{"class":147},[134,8225,144],{"class":140},[134,8227,153],{"class":140},[134,8229,144],{"class":140},[134,8231,568],{"class":158},[134,8233,144],{"class":140},[134,8235,164],{"class":140},[134,8237,144],{"class":140},[134,8239,7593],{"class":147},[134,8241,144],{"class":140},[134,8243,153],{"class":140},[134,8245,144],{"class":140},[134,8247,7602],{"class":158},[134,8249,144],{"class":140},[134,8251,164],{"class":140},[134,8253,144],{"class":140},[134,8255,7611],{"class":147},[134,8257,144],{"class":140},[134,8259,153],{"class":140},[134,8261,144],{"class":140},[134,8263,7620],{"class":158},[134,8265,144],{"class":140},[134,8267,164],{"class":140},[134,8269,144],{"class":140},[134,8271,1311],{"class":147},[134,8273,144],{"class":140},[134,8275,153],{"class":140},[134,8277,222],{"class":140},[134,8279,164],{"class":140},[134,8281,144],{"class":140},[134,8283,1248],{"class":147},[134,8285,144],{"class":140},[134,8287,153],{"class":140},[134,8289,222],{"class":140},[134,8291,164],{"class":140},[134,8293,144],{"class":140},[134,8295,502],{"class":147},[134,8297,144],{"class":140},[134,8299,153],{"class":140},[134,8301,7980],{"class":509},[134,8303,164],{"class":140},[134,8305,144],{"class":140},[134,8307,517],{"class":147},[134,8309,144],{"class":140},[134,8311,153],{"class":140},[134,8313,6162],{"class":509},[134,8315,164],{"class":140},[134,8317,144],{"class":140},[134,8319,1478],{"class":147},[134,8321,144],{"class":140},[134,8323,1483],{"class":140},[134,8325,144],{"class":140},[134,8327,810],{"class":158},[134,8329,144],{"class":140},[134,8331,1492],{"class":140},[134,8333,144],{"class":140},[134,8335,148],{"class":147},[134,8337,144],{"class":140},[134,8339,153],{"class":140},[134,8341,144],{"class":140},[134,8343,1094],{"class":158},[134,8345,144],{"class":140},[134,8347,164],{"class":140},[134,8349,144],{"class":140},[134,8351,169],{"class":147},[134,8353,144],{"class":140},[134,8355,153],{"class":140},[134,8357,144],{"class":140},[134,8359,7552],{"class":158},[134,8361,144],{"class":140},[134,8363,164],{"class":140},[134,8365,144],{"class":140},[134,8367,273],{"class":147},[134,8369,144],{"class":140},[134,8371,153],{"class":140},[134,8373,144],{"class":140},[134,8375,159],{"class":158},[134,8377,144],{"class":140},[134,8379,164],{"class":140},[134,8381,144],{"class":140},[134,8383,1231],{"class":147},[134,8385,144],{"class":140},[134,8387,153],{"class":140},[134,8389,144],{"class":140},[134,8391,897],{"class":158},[134,8393,144],{"class":140},[134,8395,164],{"class":140},[134,8397,144],{"class":140},[134,8399,7593],{"class":147},[134,8401,144],{"class":140},[134,8403,153],{"class":140},[134,8405,144],{"class":140},[134,8407,7602],{"class":158},[134,8409,144],{"class":140},[134,8411,164],{"class":140},[134,8413,144],{"class":140},[134,8415,7611],{"class":147},[134,8417,144],{"class":140},[134,8419,153],{"class":140},[134,8421,144],{"class":140},[134,8423,7620],{"class":158},[134,8425,144],{"class":140},[134,8427,164],{"class":140},[134,8429,144],{"class":140},[134,8431,1311],{"class":147},[134,8433,144],{"class":140},[134,8435,153],{"class":140},[134,8437,222],{"class":140},[134,8439,164],{"class":140},[134,8441,144],{"class":140},[134,8443,1248],{"class":147},[134,8445,144],{"class":140},[134,8447,153],{"class":140},[134,8449,222],{"class":140},[134,8451,164],{"class":140},[134,8453,144],{"class":140},[134,8455,502],{"class":147},[134,8457,144],{"class":140},[134,8459,153],{"class":140},[134,8461,8141],{"class":509},[134,8463,164],{"class":140},[134,8465,144],{"class":140},[134,8467,517],{"class":147},[134,8469,144],{"class":140},[134,8471,153],{"class":140},[134,8473,7060],{"class":509},[134,8475,164],{"class":140},[134,8477,144],{"class":140},[134,8479,1478],{"class":147},[134,8481,144],{"class":140},[134,8483,1483],{"class":140},[134,8485,144],{"class":140},[134,8487,1121],{"class":158},[134,8489,144],{"class":140},[134,8491,1492],{"class":140},[134,8493,144],{"class":140},[134,8495,148],{"class":147},[134,8497,144],{"class":140},[134,8499,153],{"class":140},[134,8501,144],{"class":140},[134,8503,7602],{"class":158},[134,8505,144],{"class":140},[134,8507,164],{"class":140},[134,8509,144],{"class":140},[134,8511,169],{"class":147},[134,8513,144],{"class":140},[134,8515,153],{"class":140},[134,8517,144],{"class":140},[134,8519,8520],{"class":158},"sqlitedb",[134,8522,144],{"class":140},[134,8524,164],{"class":140},[134,8526,144],{"class":140},[134,8528,8529],{"class":147},"db",[134,8531,144],{"class":140},[134,8533,153],{"class":140},[134,8535,144],{"class":140},[134,8537,8538],{"class":158},"sqllite",[134,8540,144],{"class":140},[134,8542,164],{"class":140},[134,8544,144],{"class":140},[134,8546,8547],{"class":147},"mode",[134,8549,144],{"class":140},[134,8551,153],{"class":140},[134,8553,144],{"class":140},[134,8555,8556],{"class":158},"RWC",[134,8558,144],{"class":140},[134,8560,8561],{"class":140},"}]\n",[42,8563,8564,8567,8574,8584,8595],{},[45,8565,8566],{},"Import the provided flow for data generation.",[45,8568,8569,8570,8573],{},"Click the ",[86,8571,8572],{},"Deploy"," button to activate the flow.",[45,8575,8576,8577,8580,8581,68],{},"On deployment, it will create two SQLite tables: ",[131,8578,8579],{},"ProductionData"," and ",[131,8582,8583],{},"DowntimeData",[45,8585,8586,8587,8590,8591,68],{},"Find the ",[86,8588,8589],{},"Inject node"," labeled ",[8592,8593,8594],"em",{},"Click to generate and insert demo data",[45,8596,8597],{},"Click the inject node to trigger data generation.",[12,8599,8600],{},"The flow will generate data with the following fields:",[12,8602,8603,8608],{},[8604,8605],"img",{"alt":8606,"dataZoomable":129,"src":8607},"Demo Production and Downtime data object","\u002Fblog\u002F2025\u002F04\u002Fimages\u002Fdemo-data-props.png",[8592,8609,8606],{},[73,8611,8613],{"id":8612},"collecting-and-configuring-data","Collecting and Configuring Data",[12,8615,8616],{},"Once the simulated data is generated and stored in SQLite, the next step is to create a flow for configuration settings. These settings will be used across the entire flow, allowing the flow to be reused by simply modifying the settings. The configured data will then be collected for use in the OEE dashboard.",[8618,8619,8621],"h4",{"id":8620},"adding-flow-to-configure-settings","Adding flow to configure settings:",[42,8623,8624,8631,8637,8671,8684],{},[45,8625,8626,8627,8630],{},"Click on the ",[86,8628,8629],{},"\"+\""," to create a new flow.",[45,8632,8633,8634,68],{},"Name the newly created flow to ",[86,8635,8636],{},"OEE Dashboard for Line-1",[45,8638,8639,8640,8643,8644],{},"Drag a ",[86,8641,8642],{},"Change node"," onto the canvas, double-click it, and add the following elements:",[81,8645,8646,8656,8664],{},[45,8647,8648,8649,8652,8653],{},"Set ",[131,8650,8651],{},"flow.line"," to ",[131,8654,8655],{},"\"Line-1\"",[45,8657,8648,8658,8652,8661],{},[131,8659,8660],{},"flow.shift_duration",[131,8662,8663],{},"12",[45,8665,8648,8666,8652,8669],{},[131,8667,8668],{},"flow.shiftDuration24h",[131,8670,510],{},[45,8672,8673,8674,8676,8677,8680,8681,8683],{},"Drag an ",[86,8675,8589],{},", set it to trigger on deploy by enabling ",[86,8678,8679],{},"Inject once after X seconds"," (set delay to ",[131,8682,1677],{}," seconds).",[45,8685,8686,8687,8689],{},"Click ",[86,8688,8572],{}," to apply changes.",[12,8691,8692,8693,8696,8697,8700,8701,8704],{},"In this flow, we are configuring the production line based on the demo data, specifically for ",[86,8694,8695],{},"Line-1",", as we are building the OEE dashboard for this line. The settings define the shift duration for the last ",[86,8698,8699],{},"X"," hours used in OEE calculations and the total shift duration within a ",[86,8702,8703],{},"24-hour"," period.",[12,8706,8707,8711],{},[8604,8708],{"alt":8709,"dataZoomable":129,"src":8710},"Flow to set basic configuration settings that will be used across the OEE dashboard flow for calculations.","\u002Fblog\u002F2025\u002F04\u002Fimages\u002Fconfiguration-flow.png",[8592,8712,8709],{},[8618,8714,8716],{"id":8715},"retrieving-data-from-sqlite","Retrieving Data from SQLite:",[42,8718,8719,8724,8762,8791,8804,8807,8831,8842,8845],{},[45,8720,8673,8721,8723],{},[86,8722,8589],{}," and configure it to trigger at regular intervals.",[45,8725,8639,8726,8728,8729],{},[86,8727,8642],{}," and add following elements:",[81,8730,8731,8739,8747,8755],{},[45,8732,8648,8733,8652,8736],{},[131,8734,8735],{},"msg.params",[131,8737,8738],{},"{}",[45,8740,8648,8741,8652,8744],{},[131,8742,8743],{},"msg.params.$startTime",[131,8745,8746],{},"$moment($millis() - ($number($flowContext('shift_duration')) * 60 * 60 * 1000)).format('YYYY-MM-DD HH:mm:ss')",[45,8748,8648,8749,8652,8752],{},[131,8750,8751],{},"msg.params.$endTime",[131,8753,8754],{},"$moment($millis()).format('YYYY-MM-DD HH:mm:ss')",[45,8756,8648,8757,8652,8760],{},[131,8758,8759],{},"msg.params.$line",[131,8761,8651],{},[45,8763,8673,8764,8767,8768],{},[86,8765,8766],{},"SQLite node"," and insert the following query:",[124,8769,8772],{"className":8770,"code":8771,"language":1311,"meta":129,"style":129},"language-sql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","SELECT timestamp, machine_name, area, line, total_produced_units, good_units, defect_units, target_output\nFROM ProductionData\nWHERE timestamp BETWEEN $startTime AND $endTime AND line = $line;\n",[131,8773,8774,8779,8785],{"__ignoreMap":129},[134,8775,8776],{"class":136,"line":137},[134,8777,8778],{},"SELECT timestamp, machine_name, area, line, total_produced_units, good_units, defect_units, target_output\n",[134,8780,8782],{"class":136,"line":8781},2,[134,8783,8784],{},"FROM ProductionData\n",[134,8786,8788],{"class":136,"line":8787},3,[134,8789,8790],{},"WHERE timestamp BETWEEN $startTime AND $endTime AND line = $line;\n",[45,8792,8793,8794],{},"Drag a Change node onto the canvas and set the following element to store the retrived production data result as new property:",[81,8795,8796],{},[45,8797,8648,8798,8652,8801],{},[131,8799,8800],{},"msg.payload",[131,8802,8803],{},"msg.productionData",[45,8805,8806],{},"Connect the Inject node’s output to the input of the Change node that sets parameters. Then, connect the Change node’s output to the input of the SQLite node that retrieves production data. Finally, connect the SQLite node’s output to the input of last change node we added.",[45,8808,8809,8810,8767,8812],{},"Drag another ",[86,8811,8766],{},[124,8813,8815],{"className":8770,"code":8814,"language":1311,"meta":129,"style":129},"SELECT timestamp, machine_name, downtime_start, downtime_duration_minutes, downtime_reason\nFROM DowntimeData\nWHERE timestamp BETWEEN $startTime AND $endTime AND line = $line;\n",[131,8816,8817,8822,8827],{"__ignoreMap":129},[134,8818,8819],{"class":136,"line":137},[134,8820,8821],{},"SELECT timestamp, machine_name, downtime_start, downtime_duration_minutes, downtime_reason\n",[134,8823,8824],{"class":136,"line":8781},[134,8825,8826],{},"FROM DowntimeData\n",[134,8828,8829],{"class":136,"line":8787},[134,8830,8790],{},[45,8832,8793,8833],{},[81,8834,8835],{},[45,8836,8648,8837,8652,8839],{},[131,8838,8800],{},[131,8840,8841],{},"msg.downtimeData",[45,8843,8844],{},"Connect the SQLite node’s output to the input of last change node we added.",[45,8846,8847],{},"Now, drag the Link Out node onto the canvas and connect it to the last Change node.",[12,8849,8850,8854],{},[8604,8851],{"alt":8852,"dataZoomable":129,"src":8853},"Flow that retrives the data from the sqlite table","\u002Fblog\u002F2025\u002F04\u002Fimages\u002Fsqlite-flow.png",[8592,8855,8852],{},[73,8857,8859],{"id":8858},"preparing-data-for-oee-calculations","Preparing Data for OEE Calculations",[12,8861,8862],{},"Now that we have a flow to retrieve production and downtime data, we can calculate key OEE metrics. The total number of good units, defective units, total produced units, target output, and downtime duration are summed across all production lines. Using these values, we can calculate availability, performance, and quality for the entire production system, which can then be used to calculate OEE.",[42,8864,8865,8875,8904,8924,8951,8974,8981,9004,9026,9033,9039,9060,9079],{},[45,8866,8867,8868,8871,8872,68],{},"Drag the ",[86,8869,8870],{},"link in node"," onto the canvas and connect it to the ",[86,8873,8874],{},"link out node",[45,8876,8877,8878,8881,8882,8885,8886],{},"Drag two ",[86,8879,8880],{},"Change nodes"," onto the canvas and connect them to the ",[86,8883,8884],{},"Link In"," node.",[81,8887,8888,8896],{},[45,8889,8890,8891,8652,8893,68],{},"In the first Change node, set ",[131,8892,8800],{},[131,8894,8895],{},"production_data",[45,8897,8898,8899,8652,8901,68],{},"In the second Change node, set ",[131,8900,8800],{},[131,8902,8903],{},"downtime_data",[45,8905,8639,8906,8909,8910,8912,8913,8915,8916,8918,8919,8921,8922,68],{},[86,8907,8908],{},"Split node"," onto the canvas and connect it to the first ",[86,8911,8642],{},", the one setting ",[131,8914,8895],{},". Configure the ",[86,8917,8908],{}," so that ",[131,8920,8800],{}," is assigned to ",[131,8923,8895],{},[45,8925,8926,8927,8881,8930,8932,8933,8936,8937],{},"Drag three ",[86,8928,8929],{},"Join nodes",[86,8931,8908],{}," to sum individual data points. Configure each ",[86,8934,8935],{},"Join node"," with the following settings:",[81,8938,8939,8942,8945],{},[45,8940,8941],{},"Mode: Reduce Sequence",[45,8943,8944],{},"Initial Value: 0",[45,8946,8947,8948],{},"Fix-up Expression: ",[131,8949,8950],{},"$A",[45,8952,8953,8954],{},"Set the reduce expressions as follows:",[81,8955,8956,8962,8968],{},[45,8957,8958,8959],{},"First Join Node: ",[131,8960,8961],{},"$A + msg.payload.total_produced_units",[45,8963,8964,8965],{},"Second Join Node: ",[131,8966,8967],{},"$A + msg.payload.good_units",[45,8969,8970,8971],{},"Third Join Node: ",[131,8972,8973],{},"$A + msg.payload.target_output",[45,8975,8926,8976,8978,8979,68],{},[86,8977,8880],{}," onto the canvas and connect each to a ",[86,8980,8935],{},[45,8982,8983,8984,8986,8987],{},"Configure these ",[86,8985,8880],{}," to store the summed values using the following variables to flow context:",[81,8988,8989,8994,8999],{},[45,8990,8991],{},[131,8992,8993],{},"total_produced_units",[45,8995,8996],{},[131,8997,8998],{},"total_good_units",[45,9000,9001],{},[131,9002,9003],{},"total_target_output",[45,9005,8639,9006,8871,9009,9011,9012,9014,9015,9017,9018],{},[86,9007,9008],{},"Switch node",[86,9010,8642],{}," that sets the retrieved downtime data to ",[131,9013,8800],{},", for switch node set the Property to ",[131,9016,8800],{}," and add the following conditions:",[81,9019,9020,9023],{},[45,9021,9022],{},"is not empty.",[45,9024,9025],{},"Otherwise.",[45,9027,8639,9028,9030,9031,68],{},[86,9029,8908],{}," onto the canvas and connect it to the first output of the ",[86,9032,9008],{},[45,9034,8639,9035,8871,9037,68],{},[86,9036,8935],{},[86,9038,8908],{},[45,9040,9041,9042,8936,9044],{},"Configure the ",[86,9043,8935],{},[81,9045,9046,9048,9050,9054],{},[45,9047,8941],{},[45,9049,8944],{},[45,9051,8947,9052],{},[131,9053,8950],{},[45,9055,9056,9057],{},"Reduce Expression: ",[131,9058,9059],{},"$A + payload.downtime_duration_minutes",[45,9061,8639,9062,8871,9064,9066,9067,9069,9070],{},[86,9063,8642],{},[86,9065,8935],{},", Configure this ",[86,9068,8642],{}," to store the total downtime duration in the flow context with following element:",[81,9071,9072],{},[45,9073,8648,9074,8652,9077],{},[131,9075,9076],{},"flow.total_downtime",[131,9078,8800],{},[45,9080,9081],{},"Drag another Change node onto the canvas and connect it to the second output of the Switch node, Set this Change node to store 0 in the flow context for total_downtime with following element:",[81,9083,9084],{},[45,9085,8648,9086,9088],{},[131,9087,9076],{}," to 0",[42,9090,9092],{"start":9091},14,[45,9093,8639,9094,9097],{},[86,9095,9096],{},"Link Out"," node onto the canvas and connect it to any of the Change nodes that store the summed metrics in the flow context.",[12,9099,9100,9104],{},[8604,9101],{"alt":9102,"dataZoomable":129,"src":9103},"Flow to prepare the data necessary to calculate OEE and all its three components.","\u002Fblog\u002F2025\u002F04\u002Fimages\u002Fpreparing-data-flow.png",[8592,9105,9102],{},[73,9107,9109],{"id":9108},"calculating-oee-and-key-metrics","Calculating OEE and Key Metrics",[12,9111,9112],{},"Now that we have all the necessary pieces, we can calculate the key metrics for OEE: Availability, Performance, and Quality and later OEE.",[42,9114,9115,9120,9326,9334,9343],{},[45,9116,8639,9117,68],{},[86,9118,9119],{},"Link In node",[45,9121,8639,9122,9124,9125,9187],{},[86,9123,8642],{}," and add element as following:",[81,9126,9127,9136,9144,9152,9160,9168,9175,9182],{},[45,9128,8648,9129,8652,9132,9135],{},[131,9130,9131],{},"msg.quality",[131,9133,9134],{},"($flowContext('total_good_units') \u002F $flowContext('total_produced_units')) * 100"," as JSONata expression.",[45,9137,8648,9138,8652,9141,9135],{},[131,9139,9140],{},"msg.availability",[131,9142,9143],{},"(($flowContext('shift_duration') - $flowContext('total_downtime')) \u002F $flowContext('shift_duration')) * 100",[45,9145,8648,9146,8652,9149,9135],{},[131,9147,9148],{},"msg.performance",[131,9150,9151],{},"($flowContext('total_produced_units') \u002F $flowContext('target_output')) * 100",[45,9153,8648,9154,8652,9157,9135],{},[131,9155,9156],{},"msg.oee",[131,9158,9159],{},"$round(((msg.availability \u002F 100) * (msg.performance \u002F 100) * (msg.quality \u002F 100)) * 100, 2)",[45,9161,8648,9162,9164,9165],{},[131,9163,9131],{},"to ",[131,9166,9167],{},"$round(msg.quality, 2)",[45,9169,8648,9170,8652,9172],{},[131,9171,9140],{},[131,9173,9174],{},"$round(msg.availability, 2)",[45,9176,8648,9177,8652,9179],{},[131,9178,9148],{},[131,9180,9181],{},"$round(msg.performance, 2)",[45,9183,8648,9184,9186],{},[131,9185,8803],{}," to JSONata expression:",[124,9188,9190],{"className":126,"code":9189,"language":128,"meta":129,"style":129},"[\n{\n    \"reason\": \"Total Good Units Produced\",\n    \"units\": $flowContext(\"total_good_units\")\n  },\n  {\n    \"series\": \"Total Defective Units Produced\",\n    \"units\": $number($flowContext(\"total_produced_units\")) - $number($flowContext(\"total_good_units\"))\n  }\n]\n",[131,9191,9192,9197,9202,9225,9249,9255,9261,9282,9314,9320],{"__ignoreMap":129},[134,9193,9194],{"class":136,"line":137},[134,9195,9196],{"class":140},"[\n",[134,9198,9199],{"class":136,"line":8781},[134,9200,9201],{"class":140},"{\n",[134,9203,9204,9207,9210,9212,9214,9217,9220,9222],{"class":136,"line":8787},[134,9205,9206],{"class":140},"    \"",[134,9208,9209],{"class":147},"reason",[134,9211,144],{"class":140},[134,9213,153],{"class":140},[134,9215,9216],{"class":140}," \"",[134,9218,9219],{"class":158},"Total Good Units Produced",[134,9221,144],{"class":140},[134,9223,9224],{"class":140},",\n",[134,9226,9228,9230,9233,9235,9237,9240,9242,9244,9246],{"class":136,"line":9227},4,[134,9229,9206],{"class":140},[134,9231,9232],{"class":147},"units",[134,9234,144],{"class":140},[134,9236,153],{"class":140},[134,9238,9239],{"class":1349}," $flowContext(",[134,9241,144],{"class":140},[134,9243,8998],{"class":158},[134,9245,144],{"class":140},[134,9247,9248],{"class":1349},")\n",[134,9250,9252],{"class":136,"line":9251},5,[134,9253,9254],{"class":140},"  },\n",[134,9256,9258],{"class":136,"line":9257},6,[134,9259,9260],{"class":140},"  {\n",[134,9262,9264,9266,9269,9271,9273,9275,9278,9280],{"class":136,"line":9263},7,[134,9265,9206],{"class":140},[134,9267,9268],{"class":147},"series",[134,9270,144],{"class":140},[134,9272,153],{"class":140},[134,9274,9216],{"class":140},[134,9276,9277],{"class":158},"Total Defective Units Produced",[134,9279,144],{"class":140},[134,9281,9224],{"class":140},[134,9283,9285,9287,9289,9291,9293,9296,9298,9300,9302,9305,9307,9309,9311],{"class":136,"line":9284},8,[134,9286,9206],{"class":140},[134,9288,9232],{"class":147},[134,9290,144],{"class":140},[134,9292,153],{"class":140},[134,9294,9295],{"class":1349}," $number($flowContext(",[134,9297,144],{"class":140},[134,9299,8993],{"class":158},[134,9301,144],{"class":140},[134,9303,9304],{"class":1349},")) - $number($flowContext(",[134,9306,144],{"class":140},[134,9308,8998],{"class":158},[134,9310,144],{"class":140},[134,9312,9313],{"class":1349},"))\n",[134,9315,9317],{"class":136,"line":9316},9,[134,9318,9319],{"class":140},"  }\n",[134,9321,9323],{"class":136,"line":9322},10,[134,9324,9325],{"class":140},"]\n",[45,9327,8639,9328,9331,9332,68],{},[86,9329,9330],{},"Link Out node"," and connect it to the ",[86,9333,8642],{},[45,9335,9336,9337,9339,9340,9342],{},"Drag a separate ",[86,9338,8884],{}," node for visualization and keep it in a separate flow. This will be the ",[86,9341,8884],{}," node where all the calculated final data for visualization will be stored.",[45,9344,9345,9346,9349,9350,8885],{},"Connect ",[86,9347,9348],{},"link out"," node to this ",[86,9351,9352],{},"link in",[12,9354,9355,9359],{},[8604,9356],{"alt":9357,"dataZoomable":129,"src":9358},"Flow that calculates availability, quality, performance, and OEE, and also prepares production data for visualization.","\u002Fblog\u002F2025\u002F04\u002Fimages\u002Fcalculate-oee-and-key-metrics.png",[8592,9360,9357],{},[73,9362,9364],{"id":9363},"detailed-breakdown-of-oee-data","Detailed Breakdown of OEE Data",[12,9366,9367],{},"We have calculated the OEE and other key metrics. However, as discussed in the planning section of our previous article, we will also visualize recent downtime events, a downtime summary, the top underperforming machines (OEE-wise), and the OEE trend over the last 30 days on the dashboard.",[12,9369,9370],{},"Let’s do that.",[42,9372,9373,9382],{},[45,9374,8867,9375,8871,9377,9379,9380,68],{},[86,9376,8870],{},[86,9378,8874],{}," that is part of the SQLite flow, which is also connected to the change node that sets the retrieved downtime result to ",[131,9381,8800],{},[45,9383,8639,9384,9387,9388,68],{},[86,9385,9386],{},"change node"," onto the canvas and set the following element: ",[131,9389,9390],{},"Set msg.downtime_data to msg.payload",[8618,9392,9394],{"id":9393},"downtime-summary","Downtime Summary",[42,9396,9397],{},[45,9398,8639,9399,9402],{},[86,9400,9401],{},"function node"," onto the canvas and add the following JavaScript to calculate the downtime summary:",[124,9404,9408],{"className":9405,"code":9406,"language":9407,"meta":129,"style":129},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","function calculateDowntimeByReason(downtimeData) {\n   if (!Array.isArray(downtimeData) || downtimeData.length === 0) {\n       return []; f\n   }\n   const summary = {};\n   downtimeData.forEach(({ downtime_reason, downtime_duration_minutes }) => {\n       summary[downtime_reason] = (summary[downtime_reason] || 0) + downtime_duration_minutes;\n   });\n   return Object.entries(summary).map(([reason, duration]) => ({\n       downtime_reason: reason,\n       downtime_duration_minutes: duration\n   }));\n}\nmsg.payload = calculateDowntimeByReason(msg.payload) || [];\nreturn msg;\n","javascript",[131,9409,9410,9431,9479,9493,9498,9512,9543,9585,9594,9639,9651,9662,9672,9678,9705],{"__ignoreMap":129},[134,9411,9412,9414,9418,9421,9425,9428],{"class":136,"line":137},[134,9413,4201],{"class":147},[134,9415,9417],{"class":9416},"s2Zo4"," calculateDowntimeByReason",[134,9419,9420],{"class":140},"(",[134,9422,9424],{"class":9423},"sHdIc","downtimeData",[134,9426,9427],{"class":140},")",[134,9429,9430],{"class":140}," {\n",[134,9432,9433,9437,9441,9444,9447,9449,9452,9454,9456,9458,9461,9464,9466,9469,9472,9475,9477],{"class":136,"line":8781},[134,9434,9436],{"class":9435},"s7zQu","   if",[134,9438,9440],{"class":9439},"swJcz"," (",[134,9442,9443],{"class":140},"!",[134,9445,9446],{"class":1349},"Array",[134,9448,68],{"class":140},[134,9450,9451],{"class":9416},"isArray",[134,9453,9420],{"class":9439},[134,9455,9424],{"class":1349},[134,9457,2911],{"class":9439},[134,9459,9460],{"class":140},"||",[134,9462,9463],{"class":1349}," downtimeData",[134,9465,68],{"class":140},[134,9467,9468],{"class":1349},"length",[134,9470,9471],{"class":140}," ===",[134,9473,9474],{"class":509}," 0",[134,9476,2911],{"class":9439},[134,9478,9201],{"class":140},[134,9480,9481,9484,9487,9490],{"class":136,"line":8787},[134,9482,9483],{"class":9435},"       return",[134,9485,9486],{"class":9439}," []",[134,9488,9489],{"class":140},";",[134,9491,9492],{"class":1349}," f\n",[134,9494,9495],{"class":136,"line":9227},[134,9496,9497],{"class":140},"   }\n",[134,9499,9500,9503,9506,9509],{"class":136,"line":9251},[134,9501,9502],{"class":147},"   const",[134,9504,9505],{"class":1349}," summary",[134,9507,9508],{"class":140}," =",[134,9510,9511],{"class":140}," {};\n",[134,9513,9514,9517,9519,9522,9524,9527,9530,9532,9535,9538,9541],{"class":136,"line":9257},[134,9515,9516],{"class":1349},"   downtimeData",[134,9518,68],{"class":140},[134,9520,9521],{"class":9416},"forEach",[134,9523,9420],{"class":9439},[134,9525,9526],{"class":140},"({",[134,9528,9529],{"class":9423}," downtime_reason",[134,9531,164],{"class":140},[134,9533,9534],{"class":9423}," downtime_duration_minutes",[134,9536,9537],{"class":140}," })",[134,9539,9540],{"class":147}," =>",[134,9542,9430],{"class":140},[134,9544,9545,9548,9551,9554,9557,9560,9562,9565,9567,9569,9571,9573,9575,9577,9580,9582],{"class":136,"line":9263},[134,9546,9547],{"class":1349},"       summary",[134,9549,9550],{"class":9439},"[",[134,9552,9553],{"class":1349},"downtime_reason",[134,9555,9556],{"class":9439},"] ",[134,9558,9559],{"class":140},"=",[134,9561,9440],{"class":9439},[134,9563,9564],{"class":1349},"summary",[134,9566,9550],{"class":9439},[134,9568,9553],{"class":1349},[134,9570,9556],{"class":9439},[134,9572,9460],{"class":140},[134,9574,9474],{"class":509},[134,9576,2911],{"class":9439},[134,9578,9579],{"class":140},"+",[134,9581,9534],{"class":1349},[134,9583,9584],{"class":140},";\n",[134,9586,9587,9590,9592],{"class":136,"line":9284},[134,9588,9589],{"class":140},"   }",[134,9591,9427],{"class":9439},[134,9593,9584],{"class":140},[134,9595,9596,9599,9602,9604,9607,9609,9611,9613,9615,9618,9620,9623,9625,9627,9630,9633,9635,9637],{"class":136,"line":9316},[134,9597,9598],{"class":9435},"   return",[134,9600,9601],{"class":1349}," Object",[134,9603,68],{"class":140},[134,9605,9606],{"class":9416},"entries",[134,9608,9420],{"class":9439},[134,9610,9564],{"class":1349},[134,9612,9427],{"class":9439},[134,9614,68],{"class":140},[134,9616,9617],{"class":9416},"map",[134,9619,9420],{"class":9439},[134,9621,9622],{"class":140},"([",[134,9624,9209],{"class":9423},[134,9626,164],{"class":140},[134,9628,9629],{"class":9423}," duration",[134,9631,9632],{"class":140},"])",[134,9634,9540],{"class":147},[134,9636,9440],{"class":9439},[134,9638,9201],{"class":140},[134,9640,9641,9644,9646,9649],{"class":136,"line":9322},[134,9642,9643],{"class":9439},"       downtime_reason",[134,9645,153],{"class":140},[134,9647,9648],{"class":1349}," reason",[134,9650,9224],{"class":140},[134,9652,9654,9657,9659],{"class":136,"line":9653},11,[134,9655,9656],{"class":9439},"       downtime_duration_minutes",[134,9658,153],{"class":140},[134,9660,9661],{"class":1349}," duration\n",[134,9663,9665,9667,9670],{"class":136,"line":9664},12,[134,9666,9589],{"class":140},[134,9668,9669],{"class":9439},"))",[134,9671,9584],{"class":140},[134,9673,9675],{"class":136,"line":9674},13,[134,9676,9677],{"class":140},"}\n",[134,9679,9680,9682,9684,9687,9689,9691,9694,9696,9699,9701,9703],{"class":136,"line":9091},[134,9681,1293],{"class":1349},[134,9683,68],{"class":140},[134,9685,9686],{"class":1349},"payload ",[134,9688,9559],{"class":140},[134,9690,9417],{"class":9416},[134,9692,9693],{"class":1349},"(msg",[134,9695,68],{"class":140},[134,9697,9698],{"class":1349},"payload) ",[134,9700,9460],{"class":140},[134,9702,9486],{"class":1349},[134,9704,9584],{"class":140},[134,9706,9708,9711,9714],{"class":136,"line":9707},15,[134,9709,9710],{"class":9435},"return",[134,9712,9713],{"class":1349}," msg",[134,9715,9584],{"class":140},[42,9717,9718,9732,9742],{"start":8781},[45,9719,8639,9720,9722,9723],{},[86,9721,9386],{}," onto the canvas and set:",[81,9724,9725],{},[45,9726,8648,9727,8652,9729,68],{},[131,9728,8800],{},[131,9730,9731],{},"msg.downtimeSummary",[45,9733,8639,9734,9736,9737,8652,9740,68],{},[86,9735,9348],{}," node and connect it to the change node that sets ",[131,9738,9739],{},"msg.downtime_data",[131,9741,8800],{},[45,9743,9744,9745,9747,9748,9750],{},"Connect this ",[86,9746,8874],{}," to the ",[86,9749,8870],{}," that we added earlier to receive all the calculated metrics for visualization.",[8618,9752,9754],{"id":9753},"recent-downtime","Recent Downtime",[42,9756,9757,9778,9790,9816,9828,9847],{},[45,9758,8639,9759,9762,9763,9765,9766],{},[86,9760,9761],{},"Switch"," node onto the canvas and set the property to ",[86,9764,8800],{},". Add the following condition:",[81,9767,9768,9773],{},[45,9769,9770],{},[86,9771,9772],{},"is not empty",[45,9774,9775],{},[86,9776,9777],{},"otherwise",[45,9779,8639,9780,9783,9784,9787,9788,8885],{},[86,9781,9782],{},"Split"," node onto the canvas and connect it to the ",[86,9785,9786],{},"first output"," of the ",[86,9789,9761],{},[45,9791,8639,9792,9783,9795,9797,9798,9801,9802,9807,9808,9811,9812,9815],{},[86,9793,9794],{},"Sort",[86,9796,9782],{}," node. Set the sort to ",[86,9799,9800],{},"\"message sequence\"",", key to ",[86,9803,9804],{},[131,9805,9806],{},"msg.payload.downtime_start",", and order to ",[86,9809,9810],{},"\"descending.\""," This will sort the downtime data from ",[86,9813,9814],{},"most recent to oldest"," based on its start time.",[45,9817,8639,9818,9821,9822,9825,9826,8885],{},[86,9819,9820],{},"Join"," node onto the canvas and set the mode to ",[86,9823,9824],{},"automatic",", then connect it to the ",[86,9827,9794],{},[45,9829,8639,9830,9833,9834],{},[86,9831,9832],{},"Change"," node onto the canvas and set the following element:",[81,9835,9836],{},[45,9837,9838],{},[86,9839,8648,9840,8652,9843,9846],{},[131,9841,9842],{},"msg.recentDowntime",[131,9844,9845],{},"payload^(10)"," as a JSONata expression.",[45,9848,9849,9850,9852,9853,9855],{},"Connect the ",[86,9851,9832],{}," node to the ",[86,9854,9096],{}," node that was added before.",[8618,9857,9859],{"id":9858},"top-underperforming-machines","Top Underperforming Machines",[42,9861,9862,9873],{},[45,9863,8639,9864,9783,9867,9869,9870,68],{},[86,9865,9866],{},"Function",[86,9868,8884],{}," node that is receiving the ",[86,9871,9872],{},"SQLite result",[45,9874,9875,9876,9879,9880,9882],{},"Add the following ",[86,9877,9878],{},"JavaScript"," code to the ",[86,9881,9866],{}," node:",[124,9884,9886],{"className":9405,"code":9885,"language":9407,"meta":129,"style":129},"const productionData = msg.production_data;\nconst downtimeEvents = msg.downtime_data;\nconst shiftDuration = (flow.get('shift_duration') || 1) * 60; \u002F\u002F Convert hours to minutes\n\n\u002F\u002F Group production data by machine (including area)\nlet machineData = {};\nproductionData.forEach(data => {\n    if (!machineData[data.machine_name]) {\n        machineData[data.machine_name] = {\n            total_produced_units: 0,\n            good_units: 0,\n            target_output: 0,\n            count: 0,\n            area: data.area \u002F\u002F Store area\n        };\n    }\n    machineData[data.machine_name].total_produced_units += data.total_produced_units;\n    machineData[data.machine_name].good_units += data.good_units;\n    machineData[data.machine_name].target_output += data.target_output;\n    machineData[data.machine_name].count += 1;\n});\n\nlet oeeResults = Object.keys(machineData).map(machineName => {\n    let data = machineData[machineName];\n\n    let machineDowntime = downtimeEvents.filter(event => event.machine_name === machineName);\n\n    function calculateOEE(data, downtime) {\n        if (data.target_output === 0) {\n            return { availability: 0, performance: 0, quality: 0, oee: 0 };\n        }\n\n        let totalDowntime = downtime.reduce((acc, event) =>\n            typeof event.downtime_duration_minutes === 'number' ? acc + event.downtime_duration_minutes : acc\n            , 0);\n\n        let availability = (shiftDuration - totalDowntime) \u002F shiftDuration;\n        availability = Math.max(0, Math.min(1, availability));\n\n        let performance = data.target_output > 0 ? data.total_produced_units \u002F data.target_output : 0;\n        let quality = data.total_produced_units > 0 ? data.good_units \u002F data.total_produced_units : 0;\n\n        let oee = availability * performance * quality;\n\n        return {\n            availability: parseFloat((availability * 100).toFixed(2)),\n            performance: parseFloat((performance * 100).toFixed(2)),\n            quality: parseFloat((quality * 100).toFixed(2)),\n            oee: parseFloat((oee * 100).toFixed(2))\n        };\n    }\n\n    let metrics = calculateOEE(data, machineDowntime);\n\n    return {\n        machine_name: machineName,\n        area: data.area,\n        oee: metrics.oee\n    };\n});\n\n\u002F\u002F Filter only machines with OEE \u003C 85\nmsg.payload = oeeResults.filter(machine => machine.oee \u003C 85);\n\nreturn msg;\n",[131,9887,9888,9906,9923,9971,9977,9982,9994,10012,10038,10057,10068,10079,10090,10101,10119,10124,10130,10161,10191,10221,10247,10256,10261,10294,10315,10320,10361,10366,10388,10410,10456,10462,10467,10501,10545,10557,10562,10591,10632,10637,10680,10721,10726,10748,10753,10761,10798,10831,10864,10895,10900,10905,10910,10934,10939,10947,10959,10975,10990,10996,11005,11010,11016,11059,11064],{"__ignoreMap":129},[134,9889,9890,9893,9896,9898,9900,9902,9904],{"class":136,"line":137},[134,9891,9892],{"class":147},"const",[134,9894,9895],{"class":1349}," productionData ",[134,9897,9559],{"class":140},[134,9899,9713],{"class":1349},[134,9901,68],{"class":140},[134,9903,8895],{"class":1349},[134,9905,9584],{"class":140},[134,9907,9908,9910,9913,9915,9917,9919,9921],{"class":136,"line":8781},[134,9909,9892],{"class":147},[134,9911,9912],{"class":1349}," downtimeEvents ",[134,9914,9559],{"class":140},[134,9916,9713],{"class":1349},[134,9918,68],{"class":140},[134,9920,8903],{"class":1349},[134,9922,9584],{"class":140},[134,9924,9925,9927,9930,9932,9935,9937,9940,9942,9945,9948,9950,9952,9954,9957,9959,9962,9965,9967],{"class":136,"line":8787},[134,9926,9892],{"class":147},[134,9928,9929],{"class":1349}," shiftDuration ",[134,9931,9559],{"class":140},[134,9933,9934],{"class":1349}," (flow",[134,9936,68],{"class":140},[134,9938,9939],{"class":9416},"get",[134,9941,9420],{"class":1349},[134,9943,9944],{"class":140},"'",[134,9946,9947],{"class":158},"shift_duration",[134,9949,9944],{"class":140},[134,9951,2911],{"class":1349},[134,9953,9460],{"class":140},[134,9955,9956],{"class":509}," 1",[134,9958,2911],{"class":1349},[134,9960,9961],{"class":140},"*",[134,9963,9964],{"class":509}," 60",[134,9966,9489],{"class":140},[134,9968,9970],{"class":9969},"sHwdD"," \u002F\u002F Convert hours to minutes\n",[134,9972,9973],{"class":136,"line":9227},[134,9974,9976],{"emptyLinePlaceholder":9975},true,"\n",[134,9978,9979],{"class":136,"line":9251},[134,9980,9981],{"class":9969},"\u002F\u002F Group production data by machine (including area)\n",[134,9983,9984,9987,9990,9992],{"class":136,"line":9257},[134,9985,9986],{"class":147},"let",[134,9988,9989],{"class":1349}," machineData ",[134,9991,9559],{"class":140},[134,9993,9511],{"class":140},[134,9995,9996,9999,10001,10003,10005,10008,10010],{"class":136,"line":9263},[134,9997,9998],{"class":1349},"productionData",[134,10000,68],{"class":140},[134,10002,9521],{"class":9416},[134,10004,9420],{"class":1349},[134,10006,10007],{"class":9423},"data",[134,10009,9540],{"class":147},[134,10011,9430],{"class":140},[134,10013,10014,10017,10019,10021,10024,10026,10028,10030,10033,10036],{"class":136,"line":9284},[134,10015,10016],{"class":9435},"    if",[134,10018,9440],{"class":9439},[134,10020,9443],{"class":140},[134,10022,10023],{"class":1349},"machineData",[134,10025,9550],{"class":9439},[134,10027,10007],{"class":1349},[134,10029,68],{"class":140},[134,10031,10032],{"class":1349},"machine_name",[134,10034,10035],{"class":9439},"]) ",[134,10037,9201],{"class":140},[134,10039,10040,10043,10045,10047,10049,10051,10053,10055],{"class":136,"line":9316},[134,10041,10042],{"class":1349},"        machineData",[134,10044,9550],{"class":9439},[134,10046,10007],{"class":1349},[134,10048,68],{"class":140},[134,10050,10032],{"class":1349},[134,10052,9556],{"class":9439},[134,10054,9559],{"class":140},[134,10056,9430],{"class":140},[134,10058,10059,10062,10064,10066],{"class":136,"line":9322},[134,10060,10061],{"class":9439},"            total_produced_units",[134,10063,153],{"class":140},[134,10065,9474],{"class":509},[134,10067,9224],{"class":140},[134,10069,10070,10073,10075,10077],{"class":136,"line":9653},[134,10071,10072],{"class":9439},"            good_units",[134,10074,153],{"class":140},[134,10076,9474],{"class":509},[134,10078,9224],{"class":140},[134,10080,10081,10084,10086,10088],{"class":136,"line":9664},[134,10082,10083],{"class":9439},"            target_output",[134,10085,153],{"class":140},[134,10087,9474],{"class":509},[134,10089,9224],{"class":140},[134,10091,10092,10095,10097,10099],{"class":136,"line":9674},[134,10093,10094],{"class":9439},"            count",[134,10096,153],{"class":140},[134,10098,9474],{"class":509},[134,10100,9224],{"class":140},[134,10102,10103,10106,10108,10111,10113,10116],{"class":136,"line":9091},[134,10104,10105],{"class":9439},"            area",[134,10107,153],{"class":140},[134,10109,10110],{"class":1349}," data",[134,10112,68],{"class":140},[134,10114,10115],{"class":1349},"area",[134,10117,10118],{"class":9969}," \u002F\u002F Store area\n",[134,10120,10121],{"class":136,"line":9707},[134,10122,10123],{"class":140},"        };\n",[134,10125,10127],{"class":136,"line":10126},16,[134,10128,10129],{"class":140},"    }\n",[134,10131,10133,10136,10138,10140,10142,10144,10146,10148,10150,10153,10155,10157,10159],{"class":136,"line":10132},17,[134,10134,10135],{"class":1349},"    machineData",[134,10137,9550],{"class":9439},[134,10139,10007],{"class":1349},[134,10141,68],{"class":140},[134,10143,10032],{"class":1349},[134,10145,4410],{"class":9439},[134,10147,68],{"class":140},[134,10149,8993],{"class":1349},[134,10151,10152],{"class":140}," +=",[134,10154,10110],{"class":1349},[134,10156,68],{"class":140},[134,10158,8993],{"class":1349},[134,10160,9584],{"class":140},[134,10162,10164,10166,10168,10170,10172,10174,10176,10178,10181,10183,10185,10187,10189],{"class":136,"line":10163},18,[134,10165,10135],{"class":1349},[134,10167,9550],{"class":9439},[134,10169,10007],{"class":1349},[134,10171,68],{"class":140},[134,10173,10032],{"class":1349},[134,10175,4410],{"class":9439},[134,10177,68],{"class":140},[134,10179,10180],{"class":1349},"good_units",[134,10182,10152],{"class":140},[134,10184,10110],{"class":1349},[134,10186,68],{"class":140},[134,10188,10180],{"class":1349},[134,10190,9584],{"class":140},[134,10192,10194,10196,10198,10200,10202,10204,10206,10208,10211,10213,10215,10217,10219],{"class":136,"line":10193},19,[134,10195,10135],{"class":1349},[134,10197,9550],{"class":9439},[134,10199,10007],{"class":1349},[134,10201,68],{"class":140},[134,10203,10032],{"class":1349},[134,10205,4410],{"class":9439},[134,10207,68],{"class":140},[134,10209,10210],{"class":1349},"target_output",[134,10212,10152],{"class":140},[134,10214,10110],{"class":1349},[134,10216,68],{"class":140},[134,10218,10210],{"class":1349},[134,10220,9584],{"class":140},[134,10222,10224,10226,10228,10230,10232,10234,10236,10238,10241,10243,10245],{"class":136,"line":10223},20,[134,10225,10135],{"class":1349},[134,10227,9550],{"class":9439},[134,10229,10007],{"class":1349},[134,10231,68],{"class":140},[134,10233,10032],{"class":1349},[134,10235,4410],{"class":9439},[134,10237,68],{"class":140},[134,10239,10240],{"class":1349},"count",[134,10242,10152],{"class":140},[134,10244,9956],{"class":509},[134,10246,9584],{"class":140},[134,10248,10250,10252,10254],{"class":136,"line":10249},21,[134,10251,5215],{"class":140},[134,10253,9427],{"class":1349},[134,10255,9584],{"class":140},[134,10257,10259],{"class":136,"line":10258},22,[134,10260,9976],{"emptyLinePlaceholder":9975},[134,10262,10264,10266,10269,10271,10273,10275,10278,10281,10283,10285,10287,10290,10292],{"class":136,"line":10263},23,[134,10265,9986],{"class":147},[134,10267,10268],{"class":1349}," oeeResults ",[134,10270,9559],{"class":140},[134,10272,9601],{"class":1349},[134,10274,68],{"class":140},[134,10276,10277],{"class":9416},"keys",[134,10279,10280],{"class":1349},"(machineData)",[134,10282,68],{"class":140},[134,10284,9617],{"class":9416},[134,10286,9420],{"class":1349},[134,10288,10289],{"class":9423},"machineName",[134,10291,9540],{"class":147},[134,10293,9430],{"class":140},[134,10295,10297,10300,10302,10304,10307,10309,10311,10313],{"class":136,"line":10296},24,[134,10298,10299],{"class":147},"    let",[134,10301,10110],{"class":1349},[134,10303,9508],{"class":140},[134,10305,10306],{"class":1349}," machineData",[134,10308,9550],{"class":9439},[134,10310,10289],{"class":1349},[134,10312,4410],{"class":9439},[134,10314,9584],{"class":140},[134,10316,10318],{"class":136,"line":10317},25,[134,10319,9976],{"emptyLinePlaceholder":9975},[134,10321,10323,10325,10328,10330,10333,10335,10338,10340,10343,10345,10348,10350,10352,10354,10357,10359],{"class":136,"line":10322},26,[134,10324,10299],{"class":147},[134,10326,10327],{"class":1349}," machineDowntime",[134,10329,9508],{"class":140},[134,10331,10332],{"class":1349}," downtimeEvents",[134,10334,68],{"class":140},[134,10336,10337],{"class":9416},"filter",[134,10339,9420],{"class":9439},[134,10341,10342],{"class":9423},"event",[134,10344,9540],{"class":147},[134,10346,10347],{"class":1349}," event",[134,10349,68],{"class":140},[134,10351,10032],{"class":1349},[134,10353,9471],{"class":140},[134,10355,10356],{"class":1349}," machineName",[134,10358,9427],{"class":9439},[134,10360,9584],{"class":140},[134,10362,10364],{"class":136,"line":10363},27,[134,10365,9976],{"emptyLinePlaceholder":9975},[134,10367,10369,10372,10375,10377,10379,10381,10384,10386],{"class":136,"line":10368},28,[134,10370,10371],{"class":147},"    function",[134,10373,10374],{"class":9416}," calculateOEE",[134,10376,9420],{"class":140},[134,10378,10007],{"class":9423},[134,10380,164],{"class":140},[134,10382,10383],{"class":9423}," downtime",[134,10385,9427],{"class":140},[134,10387,9430],{"class":140},[134,10389,10391,10394,10396,10398,10400,10402,10404,10406,10408],{"class":136,"line":10390},29,[134,10392,10393],{"class":9435},"        if",[134,10395,9440],{"class":9439},[134,10397,10007],{"class":1349},[134,10399,68],{"class":140},[134,10401,10210],{"class":1349},[134,10403,9471],{"class":140},[134,10405,9474],{"class":509},[134,10407,2911],{"class":9439},[134,10409,9201],{"class":140},[134,10411,10413,10416,10419,10422,10424,10426,10428,10431,10433,10435,10437,10440,10442,10444,10446,10449,10451,10453],{"class":136,"line":10412},30,[134,10414,10415],{"class":9435},"            return",[134,10417,10418],{"class":140}," {",[134,10420,10421],{"class":9439}," availability",[134,10423,153],{"class":140},[134,10425,9474],{"class":509},[134,10427,164],{"class":140},[134,10429,10430],{"class":9439}," performance",[134,10432,153],{"class":140},[134,10434,9474],{"class":509},[134,10436,164],{"class":140},[134,10438,10439],{"class":9439}," quality",[134,10441,153],{"class":140},[134,10443,9474],{"class":509},[134,10445,164],{"class":140},[134,10447,10448],{"class":9439}," oee",[134,10450,153],{"class":140},[134,10452,9474],{"class":509},[134,10454,10455],{"class":140}," };\n",[134,10457,10459],{"class":136,"line":10458},31,[134,10460,10461],{"class":140},"        }\n",[134,10463,10465],{"class":136,"line":10464},32,[134,10466,9976],{"emptyLinePlaceholder":9975},[134,10468,10470,10473,10476,10478,10480,10482,10485,10487,10489,10492,10494,10496,10498],{"class":136,"line":10469},33,[134,10471,10472],{"class":147},"        let",[134,10474,10475],{"class":1349}," totalDowntime",[134,10477,9508],{"class":140},[134,10479,10383],{"class":1349},[134,10481,68],{"class":140},[134,10483,10484],{"class":9416},"reduce",[134,10486,9420],{"class":9439},[134,10488,9420],{"class":140},[134,10490,10491],{"class":9423},"acc",[134,10493,164],{"class":140},[134,10495,10347],{"class":9423},[134,10497,9427],{"class":140},[134,10499,10500],{"class":147}," =>\n",[134,10502,10504,10507,10509,10511,10514,10516,10519,10522,10524,10527,10530,10533,10535,10537,10539,10542],{"class":136,"line":10503},34,[134,10505,10506],{"class":140},"            typeof",[134,10508,10347],{"class":1349},[134,10510,68],{"class":140},[134,10512,10513],{"class":1349},"downtime_duration_minutes",[134,10515,9471],{"class":140},[134,10517,10518],{"class":140}," '",[134,10520,10521],{"class":158},"number",[134,10523,9944],{"class":140},[134,10525,10526],{"class":140}," ?",[134,10528,10529],{"class":1349}," acc",[134,10531,10532],{"class":140}," +",[134,10534,10347],{"class":1349},[134,10536,68],{"class":140},[134,10538,10513],{"class":1349},[134,10540,10541],{"class":140}," :",[134,10543,10544],{"class":1349}," acc\n",[134,10546,10548,10551,10553,10555],{"class":136,"line":10547},35,[134,10549,10550],{"class":140},"            ,",[134,10552,9474],{"class":509},[134,10554,9427],{"class":9439},[134,10556,9584],{"class":140},[134,10558,10560],{"class":136,"line":10559},36,[134,10561,9976],{"emptyLinePlaceholder":9975},[134,10563,10565,10567,10569,10571,10573,10576,10579,10581,10583,10586,10589],{"class":136,"line":10564},37,[134,10566,10472],{"class":147},[134,10568,10421],{"class":1349},[134,10570,9508],{"class":140},[134,10572,9440],{"class":9439},[134,10574,10575],{"class":1349},"shiftDuration",[134,10577,10578],{"class":140}," -",[134,10580,10475],{"class":1349},[134,10582,2911],{"class":9439},[134,10584,10585],{"class":140},"\u002F",[134,10587,10588],{"class":1349}," shiftDuration",[134,10590,9584],{"class":140},[134,10592,10594,10597,10599,10602,10604,10607,10609,10611,10613,10615,10617,10620,10622,10624,10626,10628,10630],{"class":136,"line":10593},38,[134,10595,10596],{"class":1349},"        availability",[134,10598,9508],{"class":140},[134,10600,10601],{"class":1349}," Math",[134,10603,68],{"class":140},[134,10605,10606],{"class":9416},"max",[134,10608,9420],{"class":9439},[134,10610,5271],{"class":509},[134,10612,164],{"class":140},[134,10614,10601],{"class":1349},[134,10616,68],{"class":140},[134,10618,10619],{"class":9416},"min",[134,10621,9420],{"class":9439},[134,10623,328],{"class":509},[134,10625,164],{"class":140},[134,10627,10421],{"class":1349},[134,10629,9669],{"class":9439},[134,10631,9584],{"class":140},[134,10633,10635],{"class":136,"line":10634},39,[134,10636,9976],{"emptyLinePlaceholder":9975},[134,10638,10640,10642,10644,10646,10648,10650,10652,10655,10657,10659,10661,10663,10665,10668,10670,10672,10674,10676,10678],{"class":136,"line":10639},40,[134,10641,10472],{"class":147},[134,10643,10430],{"class":1349},[134,10645,9508],{"class":140},[134,10647,10110],{"class":1349},[134,10649,68],{"class":140},[134,10651,10210],{"class":1349},[134,10653,10654],{"class":140}," >",[134,10656,9474],{"class":509},[134,10658,10526],{"class":140},[134,10660,10110],{"class":1349},[134,10662,68],{"class":140},[134,10664,8993],{"class":1349},[134,10666,10667],{"class":140}," \u002F",[134,10669,10110],{"class":1349},[134,10671,68],{"class":140},[134,10673,10210],{"class":1349},[134,10675,10541],{"class":140},[134,10677,9474],{"class":509},[134,10679,9584],{"class":140},[134,10681,10683,10685,10687,10689,10691,10693,10695,10697,10699,10701,10703,10705,10707,10709,10711,10713,10715,10717,10719],{"class":136,"line":10682},41,[134,10684,10472],{"class":147},[134,10686,10439],{"class":1349},[134,10688,9508],{"class":140},[134,10690,10110],{"class":1349},[134,10692,68],{"class":140},[134,10694,8993],{"class":1349},[134,10696,10654],{"class":140},[134,10698,9474],{"class":509},[134,10700,10526],{"class":140},[134,10702,10110],{"class":1349},[134,10704,68],{"class":140},[134,10706,10180],{"class":1349},[134,10708,10667],{"class":140},[134,10710,10110],{"class":1349},[134,10712,68],{"class":140},[134,10714,8993],{"class":1349},[134,10716,10541],{"class":140},[134,10718,9474],{"class":509},[134,10720,9584],{"class":140},[134,10722,10724],{"class":136,"line":10723},42,[134,10725,9976],{"emptyLinePlaceholder":9975},[134,10727,10729,10731,10733,10735,10737,10740,10742,10744,10746],{"class":136,"line":10728},43,[134,10730,10472],{"class":147},[134,10732,10448],{"class":1349},[134,10734,9508],{"class":140},[134,10736,10421],{"class":1349},[134,10738,10739],{"class":140}," *",[134,10741,10430],{"class":1349},[134,10743,10739],{"class":140},[134,10745,10439],{"class":1349},[134,10747,9584],{"class":140},[134,10749,10751],{"class":136,"line":10750},44,[134,10752,9976],{"emptyLinePlaceholder":9975},[134,10754,10756,10759],{"class":136,"line":10755},45,[134,10757,10758],{"class":9435},"        return",[134,10760,9430],{"class":140},[134,10762,10764,10767,10769,10772,10775,10778,10780,10783,10785,10787,10790,10792,10794,10796],{"class":136,"line":10763},46,[134,10765,10766],{"class":9439},"            availability",[134,10768,153],{"class":140},[134,10770,10771],{"class":9416}," parseFloat",[134,10773,10774],{"class":9439},"((",[134,10776,10777],{"class":1349},"availability",[134,10779,10739],{"class":140},[134,10781,10782],{"class":509}," 100",[134,10784,9427],{"class":9439},[134,10786,68],{"class":140},[134,10788,10789],{"class":9416},"toFixed",[134,10791,9420],{"class":9439},[134,10793,5257],{"class":509},[134,10795,9669],{"class":9439},[134,10797,9224],{"class":140},[134,10799,10801,10804,10806,10808,10810,10813,10815,10817,10819,10821,10823,10825,10827,10829],{"class":136,"line":10800},47,[134,10802,10803],{"class":9439},"            performance",[134,10805,153],{"class":140},[134,10807,10771],{"class":9416},[134,10809,10774],{"class":9439},[134,10811,10812],{"class":1349},"performance",[134,10814,10739],{"class":140},[134,10816,10782],{"class":509},[134,10818,9427],{"class":9439},[134,10820,68],{"class":140},[134,10822,10789],{"class":9416},[134,10824,9420],{"class":9439},[134,10826,5257],{"class":509},[134,10828,9669],{"class":9439},[134,10830,9224],{"class":140},[134,10832,10834,10837,10839,10841,10843,10846,10848,10850,10852,10854,10856,10858,10860,10862],{"class":136,"line":10833},48,[134,10835,10836],{"class":9439},"            quality",[134,10838,153],{"class":140},[134,10840,10771],{"class":9416},[134,10842,10774],{"class":9439},[134,10844,10845],{"class":1349},"quality",[134,10847,10739],{"class":140},[134,10849,10782],{"class":509},[134,10851,9427],{"class":9439},[134,10853,68],{"class":140},[134,10855,10789],{"class":9416},[134,10857,9420],{"class":9439},[134,10859,5257],{"class":509},[134,10861,9669],{"class":9439},[134,10863,9224],{"class":140},[134,10865,10867,10870,10872,10874,10876,10879,10881,10883,10885,10887,10889,10891,10893],{"class":136,"line":10866},49,[134,10868,10869],{"class":9439},"            oee",[134,10871,153],{"class":140},[134,10873,10771],{"class":9416},[134,10875,10774],{"class":9439},[134,10877,10878],{"class":1349},"oee",[134,10880,10739],{"class":140},[134,10882,10782],{"class":509},[134,10884,9427],{"class":9439},[134,10886,68],{"class":140},[134,10888,10789],{"class":9416},[134,10890,9420],{"class":9439},[134,10892,5257],{"class":509},[134,10894,9313],{"class":9439},[134,10896,10898],{"class":136,"line":10897},50,[134,10899,10123],{"class":140},[134,10901,10903],{"class":136,"line":10902},51,[134,10904,10129],{"class":140},[134,10906,10908],{"class":136,"line":10907},52,[134,10909,9976],{"emptyLinePlaceholder":9975},[134,10911,10913,10915,10918,10920,10922,10924,10926,10928,10930,10932],{"class":136,"line":10912},53,[134,10914,10299],{"class":147},[134,10916,10917],{"class":1349}," metrics",[134,10919,9508],{"class":140},[134,10921,10374],{"class":9416},[134,10923,9420],{"class":9439},[134,10925,10007],{"class":1349},[134,10927,164],{"class":140},[134,10929,10327],{"class":1349},[134,10931,9427],{"class":9439},[134,10933,9584],{"class":140},[134,10935,10937],{"class":136,"line":10936},54,[134,10938,9976],{"emptyLinePlaceholder":9975},[134,10940,10942,10945],{"class":136,"line":10941},55,[134,10943,10944],{"class":9435},"    return",[134,10946,9430],{"class":140},[134,10948,10950,10953,10955,10957],{"class":136,"line":10949},56,[134,10951,10952],{"class":9439},"        machine_name",[134,10954,153],{"class":140},[134,10956,10356],{"class":1349},[134,10958,9224],{"class":140},[134,10960,10962,10965,10967,10969,10971,10973],{"class":136,"line":10961},57,[134,10963,10964],{"class":9439},"        area",[134,10966,153],{"class":140},[134,10968,10110],{"class":1349},[134,10970,68],{"class":140},[134,10972,10115],{"class":1349},[134,10974,9224],{"class":140},[134,10976,10978,10981,10983,10985,10987],{"class":136,"line":10977},58,[134,10979,10980],{"class":9439},"        oee",[134,10982,153],{"class":140},[134,10984,10917],{"class":1349},[134,10986,68],{"class":140},[134,10988,10989],{"class":1349},"oee\n",[134,10991,10993],{"class":136,"line":10992},59,[134,10994,10995],{"class":140},"    };\n",[134,10997,10999,11001,11003],{"class":136,"line":10998},60,[134,11000,5215],{"class":140},[134,11002,9427],{"class":1349},[134,11004,9584],{"class":140},[134,11006,11008],{"class":136,"line":11007},61,[134,11009,9976],{"emptyLinePlaceholder":9975},[134,11011,11013],{"class":136,"line":11012},62,[134,11014,11015],{"class":9969},"\u002F\u002F Filter only machines with OEE \u003C 85\n",[134,11017,11019,11021,11023,11025,11027,11030,11032,11034,11036,11039,11041,11044,11046,11049,11052,11055,11057],{"class":136,"line":11018},63,[134,11020,1293],{"class":1349},[134,11022,68],{"class":140},[134,11024,9686],{"class":1349},[134,11026,9559],{"class":140},[134,11028,11029],{"class":1349}," oeeResults",[134,11031,68],{"class":140},[134,11033,10337],{"class":9416},[134,11035,9420],{"class":1349},[134,11037,11038],{"class":9423},"machine",[134,11040,9540],{"class":147},[134,11042,11043],{"class":1349}," machine",[134,11045,68],{"class":140},[134,11047,11048],{"class":1349},"oee ",[134,11050,11051],{"class":140},"\u003C",[134,11053,11054],{"class":509}," 85",[134,11056,9427],{"class":1349},[134,11058,9584],{"class":140},[134,11060,11062],{"class":136,"line":11061},64,[134,11063,9976],{"emptyLinePlaceholder":9975},[134,11065,11067,11069,11071],{"class":136,"line":11066},65,[134,11068,9710],{"class":9435},[134,11070,9713],{"class":1349},[134,11072,9584],{"class":140},[12,11074,11075,11079],{},[8604,11076],{"alt":11077,"dataZoomable":129,"src":11078},"Flow that prepares the Recent Downtime, Downtime Summary, and Top Underperforming Machines (OEE-wise)\n","\u002Fblog\u002F2025\u002F04\u002Fimages\u002Fdowntime-events-summery-oee-machine-wise.png",[8592,11080,11081],{},"Flow that prepares the Recent Downtime, Downtime Summary, and Top Underperforming Machines (OEE-wise)",[8618,11083,11085],{"id":11084},"oee-trend-for-the-last-30-days","OEE Trend for the Last 30 Days",[12,11087,11088],{},"Now, to calculate the OEE for the last 30 days, we need the complete production and downtime data for that period. However, the current SQLite flow retrieves only the last 12 hours. Therefore, we need another SQLite flow to retrieve data from the last 30 days.",[11090,11091,11093],"h5",{"id":11092},"retrieving-production-and-downtime-data-for-the-last-30-days","Retrieving Production and Downtime Data for the Last 30 Days",[42,11095,11096,11110,11115],{},[45,11097,11098,11099,11102,11103,9747,11105,11107,11108,68],{},"Copy the existing ",[86,11100,11101],{},"SQLite flow"," from the ",[86,11104,8589],{},[86,11106,8642],{}," that sets the retrieved downtime result to ",[131,11109,8800],{},[45,11111,8626,11112,11114],{},[86,11113,8642],{}," that sets the parameters for the SQL query, keep only the element setting the line parameter, and remove the rest.",[45,11116,11117],{},"Modify the first SQLite node's SQL query to the following:",[124,11119,11121],{"className":8770,"code":11120,"language":1311,"meta":129,"style":129},"SELECT\n    timestamp AS timestamp,\n    machine_name AS machine_name,\n    area AS area,\n    line AS line,\n    total_produced_units AS total_produced_units,\n    good_units AS good_units,\n    defect_units AS defect_units,\n    target_output AS target_output\nFROM ProductionData\nWHERE line = $line\n  AND timestamp >= datetime('now', '-30 days');\n",[131,11122,11123,11128,11133,11138,11143,11148,11153,11158,11163,11168,11172,11177],{"__ignoreMap":129},[134,11124,11125],{"class":136,"line":137},[134,11126,11127],{},"SELECT\n",[134,11129,11130],{"class":136,"line":8781},[134,11131,11132],{},"    timestamp AS timestamp,\n",[134,11134,11135],{"class":136,"line":8787},[134,11136,11137],{},"    machine_name AS machine_name,\n",[134,11139,11140],{"class":136,"line":9227},[134,11141,11142],{},"    area AS area,\n",[134,11144,11145],{"class":136,"line":9251},[134,11146,11147],{},"    line AS line,\n",[134,11149,11150],{"class":136,"line":9257},[134,11151,11152],{},"    total_produced_units AS total_produced_units,\n",[134,11154,11155],{"class":136,"line":9263},[134,11156,11157],{},"    good_units AS good_units,\n",[134,11159,11160],{"class":136,"line":9284},[134,11161,11162],{},"    defect_units AS defect_units,\n",[134,11164,11165],{"class":136,"line":9316},[134,11166,11167],{},"    target_output AS target_output\n",[134,11169,11170],{"class":136,"line":9322},[134,11171,8784],{},[134,11173,11174],{"class":136,"line":9653},[134,11175,11176],{},"WHERE line = $line\n",[134,11178,11179],{"class":136,"line":9664},[134,11180,11181],{},"  AND timestamp >= datetime('now', '-30 days');\n",[42,11183,11184],{"start":9227},[45,11185,11186],{},"Modify the second SQLite node's SQL query to the following:",[124,11188,11190],{"className":8770,"code":11189,"language":1311,"meta":129,"style":129},"SELECT\n    timestamp AS timestamp,\n    machine_name AS machine_name,\n    downtime_start AS downtime_start,\n    downtime_duration_minutes AS downtime_duration_minutes,\n    downtime_reason AS downtime_reason\nFROM DowntimeData\nWHERE\n    timestamp BETWEEN $startTime AND $endTime\n    AND line = $line;\n",[131,11191,11192,11196,11200,11204,11209,11214,11219,11223,11228,11233],{"__ignoreMap":129},[134,11193,11194],{"class":136,"line":137},[134,11195,11127],{},[134,11197,11198],{"class":136,"line":8781},[134,11199,11132],{},[134,11201,11202],{"class":136,"line":8787},[134,11203,11137],{},[134,11205,11206],{"class":136,"line":9227},[134,11207,11208],{},"    downtime_start AS downtime_start,\n",[134,11210,11211],{"class":136,"line":9251},[134,11212,11213],{},"    downtime_duration_minutes AS downtime_duration_minutes,\n",[134,11215,11216],{"class":136,"line":9257},[134,11217,11218],{},"    downtime_reason AS downtime_reason\n",[134,11220,11221],{"class":136,"line":9263},[134,11222,8826],{},[134,11224,11225],{"class":136,"line":9284},[134,11226,11227],{},"WHERE\n",[134,11229,11230],{"class":136,"line":9316},[134,11231,11232],{},"    timestamp BETWEEN $startTime AND $endTime\n",[134,11234,11235],{"class":136,"line":9322},[134,11236,11237],{},"    AND line = $line;\n",[11090,11239,11241],{"id":11240},"calculating-last-30d-days-oee","Calculating last 30d days OEE",[42,11243,11244,11252,11258],{},[45,11245,8867,11246,11248,11249,11251],{},[86,11247,9330],{}," onto the canvas and connect it to the last ",[86,11250,8642],{}," of the SQLite flow.",[45,11253,8867,11254,11248,11256,68],{},[86,11255,9119],{},[86,11257,9330],{},[45,11259,8867,11260,11263,11264,153],{},[86,11261,11262],{},"Function node"," onto the canvas, add the following JavaScript, and connect the Function node to the ",[86,11265,9119],{},[124,11267,11269],{"className":9405,"code":11268,"language":9407,"meta":129,"style":129},"let productionData = msg.production_data;\nlet downtimeData = msg.downtime_data;\nlet line = flow.get('line');\nlet shiftDuration = flow.get('shiftDuration24h') * 3600;\n\nlet groupedData = {};\n\nproductionData.forEach(entry => {\n    if (entry.line === line) {\n        let date = entry.timestamp.split(\" \")[0];\n\n        if (!groupedData[date]) {\n            groupedData[date] = {\n                totalShiftDuration: shiftDuration,\n                totalGoodUnits: 0,\n                totalProducedUnits: 0,\n                totalDowntimeSeconds: 0,\n                totalCycleTime: 0,\n                cycleCount: 0,\n                totalTargetOutput: 0,\n                timestamp: entry.timestamp\n            };\n        }\n\n        groupedData[date].totalGoodUnits += entry.good_units;\n        groupedData[date].totalProducedUnits += entry.total_produced_units;\n        groupedData[date].totalCycleTime += entry.cycle_time;\n        groupedData[date].cycleCount++;\n        groupedData[date].totalTargetOutput += entry.target_output;\n    }\n});\n\ndowntimeData.forEach(downtime => {\n    if (downtime.line === line) {\n        let date = downtime.timestamp.split(\" \")[0];\n        if (groupedData[date]) {\n            groupedData[date].totalDowntimeSeconds += downtime.downtime_duration_minutes * 60;\n        }\n    }\n});\n\nlet oeeResults = Object.entries(groupedData).map(([date, data]) => {\n    let avgCycleTime = data.cycleCount > 0 ? data.totalCycleTime \u002F data.cycleCount : 0;\n    let availableTime = data.totalShiftDuration - data.totalDowntimeSeconds;\n    let availability = availableTime \u002F data.totalShiftDuration;\n    let performance = data.totalTargetOutput > 0 ? data.totalProducedUnits \u002F data.totalTargetOutput : 0;\n    let quality = data.totalProducedUnits > 0 ? data.totalGoodUnits \u002F data.totalProducedUnits : 0;\n    let oee = (availability * performance * quality * 100).toFixed(2);\n\n    return { date, availability, performance, quality, oee, timestamp: data.timestamp };\n});\n\n\u002F\u002F Sort data by timestamp (oldest to most recent)\noeeResults.sort((a, b) => new Date(a.timestamp).valueOf() - new Date(b.timestamp).valueOf());\nmsg.payload = oeeResults;\nreturn msg;\n",[131,11270,11271,11287,11304,11332,11364,11368,11379,11383,11400,11421,11457,11461,11480,11495,11506,11517,11528,11539,11550,11561,11572,11586,11591,11595,11599,11625,11650,11676,11694,11719,11723,11731,11735,11752,11772,11804,11820,11849,11853,11857,11865,11869,11906,11947,11973,11993,12033,12073,12111,12115,12154,12162,12166,12171,12241,12255],{"__ignoreMap":129},[134,11272,11273,11275,11277,11279,11281,11283,11285],{"class":136,"line":137},[134,11274,9986],{"class":147},[134,11276,9895],{"class":1349},[134,11278,9559],{"class":140},[134,11280,9713],{"class":1349},[134,11282,68],{"class":140},[134,11284,8895],{"class":1349},[134,11286,9584],{"class":140},[134,11288,11289,11291,11294,11296,11298,11300,11302],{"class":136,"line":8781},[134,11290,9986],{"class":147},[134,11292,11293],{"class":1349}," downtimeData ",[134,11295,9559],{"class":140},[134,11297,9713],{"class":1349},[134,11299,68],{"class":140},[134,11301,8903],{"class":1349},[134,11303,9584],{"class":140},[134,11305,11306,11308,11311,11313,11316,11318,11320,11322,11324,11326,11328,11330],{"class":136,"line":8787},[134,11307,9986],{"class":147},[134,11309,11310],{"class":1349}," line ",[134,11312,9559],{"class":140},[134,11314,11315],{"class":1349}," flow",[134,11317,68],{"class":140},[134,11319,9939],{"class":9416},[134,11321,9420],{"class":1349},[134,11323,9944],{"class":140},[134,11325,136],{"class":158},[134,11327,9944],{"class":140},[134,11329,9427],{"class":1349},[134,11331,9584],{"class":140},[134,11333,11334,11336,11338,11340,11342,11344,11346,11348,11350,11353,11355,11357,11359,11362],{"class":136,"line":9227},[134,11335,9986],{"class":147},[134,11337,9929],{"class":1349},[134,11339,9559],{"class":140},[134,11341,11315],{"class":1349},[134,11343,68],{"class":140},[134,11345,9939],{"class":9416},[134,11347,9420],{"class":1349},[134,11349,9944],{"class":140},[134,11351,11352],{"class":158},"shiftDuration24h",[134,11354,9944],{"class":140},[134,11356,2911],{"class":1349},[134,11358,9961],{"class":140},[134,11360,11361],{"class":509}," 3600",[134,11363,9584],{"class":140},[134,11365,11366],{"class":136,"line":9251},[134,11367,9976],{"emptyLinePlaceholder":9975},[134,11369,11370,11372,11375,11377],{"class":136,"line":9257},[134,11371,9986],{"class":147},[134,11373,11374],{"class":1349}," groupedData ",[134,11376,9559],{"class":140},[134,11378,9511],{"class":140},[134,11380,11381],{"class":136,"line":9263},[134,11382,9976],{"emptyLinePlaceholder":9975},[134,11384,11385,11387,11389,11391,11393,11396,11398],{"class":136,"line":9284},[134,11386,9998],{"class":1349},[134,11388,68],{"class":140},[134,11390,9521],{"class":9416},[134,11392,9420],{"class":1349},[134,11394,11395],{"class":9423},"entry",[134,11397,9540],{"class":147},[134,11399,9430],{"class":140},[134,11401,11402,11404,11406,11408,11410,11412,11414,11417,11419],{"class":136,"line":9316},[134,11403,10016],{"class":9435},[134,11405,9440],{"class":9439},[134,11407,11395],{"class":1349},[134,11409,68],{"class":140},[134,11411,136],{"class":1349},[134,11413,9471],{"class":140},[134,11415,11416],{"class":1349}," line",[134,11418,2911],{"class":9439},[134,11420,9201],{"class":140},[134,11422,11423,11425,11428,11430,11433,11435,11438,11440,11442,11444,11446,11448,11451,11453,11455],{"class":136,"line":9322},[134,11424,10472],{"class":147},[134,11426,11427],{"class":1349}," date",[134,11429,9508],{"class":140},[134,11431,11432],{"class":1349}," entry",[134,11434,68],{"class":140},[134,11436,11437],{"class":1349},"timestamp",[134,11439,68],{"class":140},[134,11441,5401],{"class":9416},[134,11443,9420],{"class":9439},[134,11445,144],{"class":140},[134,11447,9216],{"class":140},[134,11449,11450],{"class":9439},")[",[134,11452,5271],{"class":509},[134,11454,4410],{"class":9439},[134,11456,9584],{"class":140},[134,11458,11459],{"class":136,"line":9653},[134,11460,9976],{"emptyLinePlaceholder":9975},[134,11462,11463,11465,11467,11469,11472,11474,11476,11478],{"class":136,"line":9664},[134,11464,10393],{"class":9435},[134,11466,9440],{"class":9439},[134,11468,9443],{"class":140},[134,11470,11471],{"class":1349},"groupedData",[134,11473,9550],{"class":9439},[134,11475,1717],{"class":1349},[134,11477,10035],{"class":9439},[134,11479,9201],{"class":140},[134,11481,11482,11485,11487,11489,11491,11493],{"class":136,"line":9674},[134,11483,11484],{"class":1349},"            groupedData",[134,11486,9550],{"class":9439},[134,11488,1717],{"class":1349},[134,11490,9556],{"class":9439},[134,11492,9559],{"class":140},[134,11494,9430],{"class":140},[134,11496,11497,11500,11502,11504],{"class":136,"line":9091},[134,11498,11499],{"class":9439},"                totalShiftDuration",[134,11501,153],{"class":140},[134,11503,10588],{"class":1349},[134,11505,9224],{"class":140},[134,11507,11508,11511,11513,11515],{"class":136,"line":9707},[134,11509,11510],{"class":9439},"                totalGoodUnits",[134,11512,153],{"class":140},[134,11514,9474],{"class":509},[134,11516,9224],{"class":140},[134,11518,11519,11522,11524,11526],{"class":136,"line":10126},[134,11520,11521],{"class":9439},"                totalProducedUnits",[134,11523,153],{"class":140},[134,11525,9474],{"class":509},[134,11527,9224],{"class":140},[134,11529,11530,11533,11535,11537],{"class":136,"line":10132},[134,11531,11532],{"class":9439},"                totalDowntimeSeconds",[134,11534,153],{"class":140},[134,11536,9474],{"class":509},[134,11538,9224],{"class":140},[134,11540,11541,11544,11546,11548],{"class":136,"line":10163},[134,11542,11543],{"class":9439},"                totalCycleTime",[134,11545,153],{"class":140},[134,11547,9474],{"class":509},[134,11549,9224],{"class":140},[134,11551,11552,11555,11557,11559],{"class":136,"line":10193},[134,11553,11554],{"class":9439},"                cycleCount",[134,11556,153],{"class":140},[134,11558,9474],{"class":509},[134,11560,9224],{"class":140},[134,11562,11563,11566,11568,11570],{"class":136,"line":10223},[134,11564,11565],{"class":9439},"                totalTargetOutput",[134,11567,153],{"class":140},[134,11569,9474],{"class":509},[134,11571,9224],{"class":140},[134,11573,11574,11577,11579,11581,11583],{"class":136,"line":10249},[134,11575,11576],{"class":9439},"                timestamp",[134,11578,153],{"class":140},[134,11580,11432],{"class":1349},[134,11582,68],{"class":140},[134,11584,11585],{"class":1349},"timestamp\n",[134,11587,11588],{"class":136,"line":10258},[134,11589,11590],{"class":140},"            };\n",[134,11592,11593],{"class":136,"line":10263},[134,11594,10461],{"class":140},[134,11596,11597],{"class":136,"line":10296},[134,11598,9976],{"emptyLinePlaceholder":9975},[134,11600,11601,11604,11606,11608,11610,11612,11615,11617,11619,11621,11623],{"class":136,"line":10317},[134,11602,11603],{"class":1349},"        groupedData",[134,11605,9550],{"class":9439},[134,11607,1717],{"class":1349},[134,11609,4410],{"class":9439},[134,11611,68],{"class":140},[134,11613,11614],{"class":1349},"totalGoodUnits",[134,11616,10152],{"class":140},[134,11618,11432],{"class":1349},[134,11620,68],{"class":140},[134,11622,10180],{"class":1349},[134,11624,9584],{"class":140},[134,11626,11627,11629,11631,11633,11635,11637,11640,11642,11644,11646,11648],{"class":136,"line":10322},[134,11628,11603],{"class":1349},[134,11630,9550],{"class":9439},[134,11632,1717],{"class":1349},[134,11634,4410],{"class":9439},[134,11636,68],{"class":140},[134,11638,11639],{"class":1349},"totalProducedUnits",[134,11641,10152],{"class":140},[134,11643,11432],{"class":1349},[134,11645,68],{"class":140},[134,11647,8993],{"class":1349},[134,11649,9584],{"class":140},[134,11651,11652,11654,11656,11658,11660,11662,11665,11667,11669,11671,11674],{"class":136,"line":10363},[134,11653,11603],{"class":1349},[134,11655,9550],{"class":9439},[134,11657,1717],{"class":1349},[134,11659,4410],{"class":9439},[134,11661,68],{"class":140},[134,11663,11664],{"class":1349},"totalCycleTime",[134,11666,10152],{"class":140},[134,11668,11432],{"class":1349},[134,11670,68],{"class":140},[134,11672,11673],{"class":1349},"cycle_time",[134,11675,9584],{"class":140},[134,11677,11678,11680,11682,11684,11686,11688,11691],{"class":136,"line":10368},[134,11679,11603],{"class":1349},[134,11681,9550],{"class":9439},[134,11683,1717],{"class":1349},[134,11685,4410],{"class":9439},[134,11687,68],{"class":140},[134,11689,11690],{"class":1349},"cycleCount",[134,11692,11693],{"class":140},"++;\n",[134,11695,11696,11698,11700,11702,11704,11706,11709,11711,11713,11715,11717],{"class":136,"line":10390},[134,11697,11603],{"class":1349},[134,11699,9550],{"class":9439},[134,11701,1717],{"class":1349},[134,11703,4410],{"class":9439},[134,11705,68],{"class":140},[134,11707,11708],{"class":1349},"totalTargetOutput",[134,11710,10152],{"class":140},[134,11712,11432],{"class":1349},[134,11714,68],{"class":140},[134,11716,10210],{"class":1349},[134,11718,9584],{"class":140},[134,11720,11721],{"class":136,"line":10412},[134,11722,10129],{"class":140},[134,11724,11725,11727,11729],{"class":136,"line":10458},[134,11726,5215],{"class":140},[134,11728,9427],{"class":1349},[134,11730,9584],{"class":140},[134,11732,11733],{"class":136,"line":10464},[134,11734,9976],{"emptyLinePlaceholder":9975},[134,11736,11737,11739,11741,11743,11745,11748,11750],{"class":136,"line":10469},[134,11738,9424],{"class":1349},[134,11740,68],{"class":140},[134,11742,9521],{"class":9416},[134,11744,9420],{"class":1349},[134,11746,11747],{"class":9423},"downtime",[134,11749,9540],{"class":147},[134,11751,9430],{"class":140},[134,11753,11754,11756,11758,11760,11762,11764,11766,11768,11770],{"class":136,"line":10503},[134,11755,10016],{"class":9435},[134,11757,9440],{"class":9439},[134,11759,11747],{"class":1349},[134,11761,68],{"class":140},[134,11763,136],{"class":1349},[134,11765,9471],{"class":140},[134,11767,11416],{"class":1349},[134,11769,2911],{"class":9439},[134,11771,9201],{"class":140},[134,11773,11774,11776,11778,11780,11782,11784,11786,11788,11790,11792,11794,11796,11798,11800,11802],{"class":136,"line":10547},[134,11775,10472],{"class":147},[134,11777,11427],{"class":1349},[134,11779,9508],{"class":140},[134,11781,10383],{"class":1349},[134,11783,68],{"class":140},[134,11785,11437],{"class":1349},[134,11787,68],{"class":140},[134,11789,5401],{"class":9416},[134,11791,9420],{"class":9439},[134,11793,144],{"class":140},[134,11795,9216],{"class":140},[134,11797,11450],{"class":9439},[134,11799,5271],{"class":509},[134,11801,4410],{"class":9439},[134,11803,9584],{"class":140},[134,11805,11806,11808,11810,11812,11814,11816,11818],{"class":136,"line":10559},[134,11807,10393],{"class":9435},[134,11809,9440],{"class":9439},[134,11811,11471],{"class":1349},[134,11813,9550],{"class":9439},[134,11815,1717],{"class":1349},[134,11817,10035],{"class":9439},[134,11819,9201],{"class":140},[134,11821,11822,11824,11826,11828,11830,11832,11835,11837,11839,11841,11843,11845,11847],{"class":136,"line":10564},[134,11823,11484],{"class":1349},[134,11825,9550],{"class":9439},[134,11827,1717],{"class":1349},[134,11829,4410],{"class":9439},[134,11831,68],{"class":140},[134,11833,11834],{"class":1349},"totalDowntimeSeconds",[134,11836,10152],{"class":140},[134,11838,10383],{"class":1349},[134,11840,68],{"class":140},[134,11842,10513],{"class":1349},[134,11844,10739],{"class":140},[134,11846,9964],{"class":509},[134,11848,9584],{"class":140},[134,11850,11851],{"class":136,"line":10593},[134,11852,10461],{"class":140},[134,11854,11855],{"class":136,"line":10634},[134,11856,10129],{"class":140},[134,11858,11859,11861,11863],{"class":136,"line":10639},[134,11860,5215],{"class":140},[134,11862,9427],{"class":1349},[134,11864,9584],{"class":140},[134,11866,11867],{"class":136,"line":10682},[134,11868,9976],{"emptyLinePlaceholder":9975},[134,11870,11871,11873,11875,11877,11879,11881,11883,11886,11888,11890,11892,11894,11896,11898,11900,11902,11904],{"class":136,"line":10723},[134,11872,9986],{"class":147},[134,11874,10268],{"class":1349},[134,11876,9559],{"class":140},[134,11878,9601],{"class":1349},[134,11880,68],{"class":140},[134,11882,9606],{"class":9416},[134,11884,11885],{"class":1349},"(groupedData)",[134,11887,68],{"class":140},[134,11889,9617],{"class":9416},[134,11891,9420],{"class":1349},[134,11893,9622],{"class":140},[134,11895,1717],{"class":9423},[134,11897,164],{"class":140},[134,11899,10110],{"class":9423},[134,11901,9632],{"class":140},[134,11903,9540],{"class":147},[134,11905,9430],{"class":140},[134,11907,11908,11910,11913,11915,11917,11919,11921,11923,11925,11927,11929,11931,11933,11935,11937,11939,11941,11943,11945],{"class":136,"line":10728},[134,11909,10299],{"class":147},[134,11911,11912],{"class":1349}," avgCycleTime",[134,11914,9508],{"class":140},[134,11916,10110],{"class":1349},[134,11918,68],{"class":140},[134,11920,11690],{"class":1349},[134,11922,10654],{"class":140},[134,11924,9474],{"class":509},[134,11926,10526],{"class":140},[134,11928,10110],{"class":1349},[134,11930,68],{"class":140},[134,11932,11664],{"class":1349},[134,11934,10667],{"class":140},[134,11936,10110],{"class":1349},[134,11938,68],{"class":140},[134,11940,11690],{"class":1349},[134,11942,10541],{"class":140},[134,11944,9474],{"class":509},[134,11946,9584],{"class":140},[134,11948,11949,11951,11954,11956,11958,11960,11963,11965,11967,11969,11971],{"class":136,"line":10750},[134,11950,10299],{"class":147},[134,11952,11953],{"class":1349}," availableTime",[134,11955,9508],{"class":140},[134,11957,10110],{"class":1349},[134,11959,68],{"class":140},[134,11961,11962],{"class":1349},"totalShiftDuration",[134,11964,10578],{"class":140},[134,11966,10110],{"class":1349},[134,11968,68],{"class":140},[134,11970,11834],{"class":1349},[134,11972,9584],{"class":140},[134,11974,11975,11977,11979,11981,11983,11985,11987,11989,11991],{"class":136,"line":10755},[134,11976,10299],{"class":147},[134,11978,10421],{"class":1349},[134,11980,9508],{"class":140},[134,11982,11953],{"class":1349},[134,11984,10667],{"class":140},[134,11986,10110],{"class":1349},[134,11988,68],{"class":140},[134,11990,11962],{"class":1349},[134,11992,9584],{"class":140},[134,11994,11995,11997,11999,12001,12003,12005,12007,12009,12011,12013,12015,12017,12019,12021,12023,12025,12027,12029,12031],{"class":136,"line":10763},[134,11996,10299],{"class":147},[134,11998,10430],{"class":1349},[134,12000,9508],{"class":140},[134,12002,10110],{"class":1349},[134,12004,68],{"class":140},[134,12006,11708],{"class":1349},[134,12008,10654],{"class":140},[134,12010,9474],{"class":509},[134,12012,10526],{"class":140},[134,12014,10110],{"class":1349},[134,12016,68],{"class":140},[134,12018,11639],{"class":1349},[134,12020,10667],{"class":140},[134,12022,10110],{"class":1349},[134,12024,68],{"class":140},[134,12026,11708],{"class":1349},[134,12028,10541],{"class":140},[134,12030,9474],{"class":509},[134,12032,9584],{"class":140},[134,12034,12035,12037,12039,12041,12043,12045,12047,12049,12051,12053,12055,12057,12059,12061,12063,12065,12067,12069,12071],{"class":136,"line":10800},[134,12036,10299],{"class":147},[134,12038,10439],{"class":1349},[134,12040,9508],{"class":140},[134,12042,10110],{"class":1349},[134,12044,68],{"class":140},[134,12046,11639],{"class":1349},[134,12048,10654],{"class":140},[134,12050,9474],{"class":509},[134,12052,10526],{"class":140},[134,12054,10110],{"class":1349},[134,12056,68],{"class":140},[134,12058,11614],{"class":1349},[134,12060,10667],{"class":140},[134,12062,10110],{"class":1349},[134,12064,68],{"class":140},[134,12066,11639],{"class":1349},[134,12068,10541],{"class":140},[134,12070,9474],{"class":509},[134,12072,9584],{"class":140},[134,12074,12075,12077,12079,12081,12083,12085,12087,12089,12091,12093,12095,12097,12099,12101,12103,12105,12107,12109],{"class":136,"line":10833},[134,12076,10299],{"class":147},[134,12078,10448],{"class":1349},[134,12080,9508],{"class":140},[134,12082,9440],{"class":9439},[134,12084,10777],{"class":1349},[134,12086,10739],{"class":140},[134,12088,10430],{"class":1349},[134,12090,10739],{"class":140},[134,12092,10439],{"class":1349},[134,12094,10739],{"class":140},[134,12096,10782],{"class":509},[134,12098,9427],{"class":9439},[134,12100,68],{"class":140},[134,12102,10789],{"class":9416},[134,12104,9420],{"class":9439},[134,12106,5257],{"class":509},[134,12108,9427],{"class":9439},[134,12110,9584],{"class":140},[134,12112,12113],{"class":136,"line":10866},[134,12114,9976],{"emptyLinePlaceholder":9975},[134,12116,12117,12119,12121,12123,12125,12127,12129,12131,12133,12135,12137,12139,12141,12144,12146,12148,12150,12152],{"class":136,"line":10897},[134,12118,10944],{"class":9435},[134,12120,10418],{"class":140},[134,12122,11427],{"class":1349},[134,12124,164],{"class":140},[134,12126,10421],{"class":1349},[134,12128,164],{"class":140},[134,12130,10430],{"class":1349},[134,12132,164],{"class":140},[134,12134,10439],{"class":1349},[134,12136,164],{"class":140},[134,12138,10448],{"class":1349},[134,12140,164],{"class":140},[134,12142,12143],{"class":9439}," timestamp",[134,12145,153],{"class":140},[134,12147,10110],{"class":1349},[134,12149,68],{"class":140},[134,12151,11437],{"class":1349},[134,12153,10455],{"class":140},[134,12155,12156,12158,12160],{"class":136,"line":10902},[134,12157,5215],{"class":140},[134,12159,9427],{"class":1349},[134,12161,9584],{"class":140},[134,12163,12164],{"class":136,"line":10907},[134,12165,9976],{"emptyLinePlaceholder":9975},[134,12167,12168],{"class":136,"line":10912},[134,12169,12170],{"class":9969},"\u002F\u002F Sort data by timestamp (oldest to most recent)\n",[134,12172,12173,12176,12178,12181,12183,12185,12187,12189,12192,12194,12196,12199,12202,12205,12207,12210,12212,12215,12218,12221,12223,12225,12228,12230,12232,12234,12236,12239],{"class":136,"line":10936},[134,12174,12175],{"class":1349},"oeeResults",[134,12177,68],{"class":140},[134,12179,12180],{"class":9416},"sort",[134,12182,9420],{"class":1349},[134,12184,9420],{"class":140},[134,12186,16],{"class":9423},[134,12188,164],{"class":140},[134,12190,12191],{"class":9423}," b",[134,12193,9427],{"class":140},[134,12195,9540],{"class":147},[134,12197,12198],{"class":140}," new",[134,12200,12201],{"class":9416}," Date",[134,12203,12204],{"class":1349},"(a",[134,12206,68],{"class":140},[134,12208,12209],{"class":1349},"timestamp)",[134,12211,68],{"class":140},[134,12213,12214],{"class":9416},"valueOf",[134,12216,12217],{"class":1349},"() ",[134,12219,12220],{"class":140},"-",[134,12222,12198],{"class":140},[134,12224,12201],{"class":9416},[134,12226,12227],{"class":1349},"(b",[134,12229,68],{"class":140},[134,12231,12209],{"class":1349},[134,12233,68],{"class":140},[134,12235,12214],{"class":9416},[134,12237,12238],{"class":1349},"())",[134,12240,9584],{"class":140},[134,12242,12243,12245,12247,12249,12251,12253],{"class":136,"line":10941},[134,12244,1293],{"class":1349},[134,12246,68],{"class":140},[134,12248,9686],{"class":1349},[134,12250,9559],{"class":140},[134,12252,11029],{"class":1349},[134,12254,9584],{"class":140},[134,12256,12257,12259,12261],{"class":136,"line":10949},[134,12258,9710],{"class":9435},[134,12260,9713],{"class":1349},[134,12262,9584],{"class":140},[42,12264,12265,12275,12281],{"start":9227},[45,12266,8867,12267,12269,12270,8652,12272,68],{},[86,12268,8642],{}," onto the canvas and set ",[131,12271,8800],{},[131,12273,12274],{},"msg.oeeTrend",[45,12276,8867,12277,8871,12279,68],{},[86,12278,9330],{},[86,12280,8642],{},[45,12282,9744,12283,9747,12285,12287],{},[86,12284,9330],{},[86,12286,9119],{}," that was added earlier to receive all the calculated metrics for visualization.",[12,12289,12290,12294],{},[8604,12291],{"alt":12292,"dataZoomable":129,"src":12293},"Flows that calculate the OEE for each day over the last 30 days","\u002Fblog\u002F2025\u002F04\u002Fimages\u002Foee-trend.png",[8592,12295,12296],{},"Flows that calculate the OEE for each day over the last 30 days.",[73,12298,12300],{"id":12299},"building-the-oee-dashboard","Building the OEE Dashboard",[12,12302,12303],{},"Now that the key OEE metrics have been calculated and detailed insights into production performance have been gathered, it is time to bring everything together in a visually intuitive and interactive dashboard. The OEE dashboard will provide real-time visibility into availability, performance, and quality while also displaying recent downtime events, downtime summaries, underperforming machines, and historical OEE trends.",[12,12305,12306],{},"Using FlowFuse Dashboard (Node-RED Dashboard 2.0), a clean and efficient interface will be designed, allowing operators and decision-makers to monitor production efficiency at a glance.",[42,12308,12309,12320,12323,12370,12381,12395,12408,12435,12452,12486,12494,12514,12519,12552,12556],{},[45,12310,12311,12312,12314,12315],{},"Drag a Switch node onto the canvas, set the property to ",[131,12313,9156],{},", and add the condition:",[81,12316,12317],{},[45,12318,12319],{},"\"Is not null\".",[45,12321,12322],{},"Connect it to the Link-In node that receives calculated metrics.",[45,12324,12325,12326,8652,12328,12330,12331],{},"Drag a Change node, set ",[131,12327,9156],{},[131,12329,8800],{},", and connect it to a Gauge widget.",[81,12332,12333,12338,12352],{},[45,12334,12335,12336,68],{},"Create a new Group on a new page named ",[86,12337,8695],{},[45,12339,12340,12341,12344,12345,12348,12349,68],{},"Set the page layout to ",[86,12342,12343],{},"Grid",", adjust the range from ",[86,12346,12347],{},"0 to 100",", and label the gauge ",[86,12350,12351],{},"OEE",[45,12353,12354,12355,12358,12359,12362,12363,8580,12366,12369],{},"Choose ",[86,12356,12357],{},"Half Gauge"," as the type, set the style to ",[86,12360,12361],{},"Rounded",", and adjust the width and height to ",[86,12364,12365],{},"6",[86,12367,12368],{},"3"," for both the group and the widget.",[45,12371,12372,12373,4297,12375,12377,12378,12380],{},"Repeat these steps for ",[131,12374,9131],{},[131,12376,9140],{},", and ",[131,12379,9148],{},", ensuring each has a separate Group with the correct label.",[45,12382,12383,12384,12386,12387,8652,12389,153,12391],{},"Drag a Switch node for ",[131,12385,8803],{}," and connect it to a Change node setting ",[131,12388,8803],{},[131,12390,8800],{},[81,12392,12393],{},[45,12394,12319],{},[45,12396,12397,12398,4297,12400,4297,12402,12377,12405,12407],{},"Repeat this step for ",[131,12399,9731],{},[131,12401,9842],{},[131,12403,12404],{},"msg.topUnderPerformingMachines",[131,12406,12274],{},", ensuring each has a separate Switch node and Change node.",[45,12409,12410,12411,12413,12414,12417,12418,12421,12422,12425,12426,8580,12429,12432,12433,68],{},"Drag a Bar Chart widget, create a new Group, set the width to ",[86,12412,12365],{}," and height to ",[86,12415,12416],{},"8"," for both the group and widget, label it ",[86,12419,12420],{},"Production Data",", group data by ",[86,12423,12424],{},"Stacks",", and map ",[86,12427,12428],{},"X to series",[86,12430,12431],{},"Y to units",". Connect it to the node setting ",[131,12434,8803],{},[45,12436,12437,12438,12440,12441,8580,12444,12447,12448,8652,12450,68],{},"Duplicate the chart for ",[86,12439,9394],{},", mapping ",[86,12442,12443],{},"X to downtime_reason",[86,12445,12446],{},"Y to downtime_duration_minutes",", and connect it to the node setting ",[131,12449,9731],{},[131,12451,8800],{},[45,12453,12454,12455,12457,12458,12417,12460,12463,12464,12466,12467],{},"Drag a Table widget, create a new Group, set width ",[86,12456,12365],{}," and height ",[86,12459,5257],{},[86,12461,12462],{},"Recent Downtime Events",", set max rows to ",[86,12465,5694],{},", and add columns with keys:",[81,12468,12469,12473,12478,12482],{},[45,12470,12471],{},[131,12472,10032],{},[45,12474,12475],{},[131,12476,12477],{},"downtime_start",[45,12479,12480],{},[131,12481,10513],{},[45,12483,12484],{},[131,12485,9553],{},[45,12487,12488,12489,8652,12492,68],{},"Connect it to the node setting ",[131,12490,12491],{},"msg.recent_downtime",[131,12493,8800],{},[45,12495,12496,12497,12499,12500],{},"Duplicate the table for ",[86,12498,9859],{},", adding columns with keys:",[81,12501,12502,12506,12510],{},[45,12503,12504],{},[131,12505,10032],{},[45,12507,12508],{},[131,12509,10115],{},[45,12511,12512],{},[131,12513,10878],{},[45,12515,12516,12517,68],{},"Connect it to ",[131,12518,12404],{},[45,12520,12521,12522,12457,12524,12417,12526,12529,12530,12533,12534,12425,12537,8580,12542,12547,12548,8652,12550,68],{},"Drag a Line Chart widget, create a new Group, set width ",[86,12523,8663],{},[86,12525,5694],{},[86,12527,12528],{},"Daily OEE Trend Over 24 Hours",", set X-axis to ",[86,12531,12532],{},"Timescale",", format ",[86,12535,12536],{},"Y-l-d",[86,12538,12539,12540],{},"X to ",[131,12541,1717],{},[86,12543,12544,12545],{},"Y to ",[131,12546,10878],{},". Connect it to the Change node setting ",[131,12549,12274],{},[131,12551,8800],{},[45,12553,8686,12554,68],{},[86,12555,8572],{},[45,12557,12558],{},"Open the dashboard by clicking the Dashboard 2.0 button located at the top-right corner of the Dashboard 2.0 sidebar.",[12,12560,12561,12565],{},[8604,12562],{"alt":12563,"dataZoomable":129,"src":12564},"OEE Dashboard UI flow","\u002Fblog\u002F2025\u002F04\u002Fimages\u002Foee-dashboard.png",[8592,12566,12563],{},[12,12568,12569],{},"Your OEE dashboard is now set up and ready to use. It will visualize key metrics, including OEE, quality, availability, performance, production data, downtime events, and machine performance trends.",[12,12571,12572,12576],{},[8604,12573],{"alt":12574,"dataZoomable":129,"src":12575},"OEE Dashboard results without proper theming and styling","\u002Fblog\u002F2025\u002F04\u002Fimages\u002Foee-dashboard-without-style.png",[8592,12577,12578],{},"OEE Dashboard results without proper theming and styling.",[12,12580,12581,12584],{},[8604,12582],{"alt":12574,"dataZoomable":129,"src":12583},"\u002Fblog\u002F2025\u002F04\u002Fimages\u002Foee-dashboard-without-style-2.png",[8592,12585,12574],{},[12,12587,12588],{},"However, the dashboard may not yet look exactly as it did in the previous design or intended layout. Some components may not align correctly with adjacent components in terms of width and height. Additionally, on different screens, you may notice layout inconsistencies, and the top header elements, such as the OEE Dashboard title and logo is missing.",[12,12590,12591],{},"Do not worry, in the next part of this series, we will style the dashboard to match the original design. Later, we will demonstrate how to connect it to a real data source, scale it across your production lines, and explain how you can use this dashboard to improve production efficiency.",[34,12593,12595],{"id":12594},"what-next","What Next?",[12,12597,14,12598,12602,12603,68],{},[16,12599,12601],{"href":12600},"\u002Fblog\u002F2025\u002F04\u002Fbuilding-oee-dashboard-with-flowfuse-part-3\u002F","Part 3"," of this series, we style the dashboard, connect it to a real data source, and scale it across production lines. In the meantime, if you’re excited to quickly launch your OEE dashboard in your factory environment, don’t delay! [Register for a FlowFuse account]({% include \"sign-up-url.njk\" %}) now and initiate your journey with our new effective, ready-made ",[16,12604,12606],{"href":12605},"\u002Fblueprints\u002Fmanufacturing\u002Foee-dashboard\u002F","OEE Dashboard Blueprint",[290,12608,12609],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":129,"searchDepth":9227,"depth":9227,"links":12611},[12612,12632],{"id":36,"depth":8781,"text":37,"children":12613},[12614,12615,12616,12620,12621,12622,12631],{"id":75,"depth":8787,"text":76},{"id":114,"depth":8787,"text":115},{"id":8612,"depth":8787,"text":8613,"children":12617},[12618,12619],{"id":8620,"depth":9227,"text":8621},{"id":8715,"depth":9227,"text":8716},{"id":8858,"depth":8787,"text":8859},{"id":9108,"depth":8787,"text":9109},{"id":9363,"depth":8787,"text":9364,"children":12623},[12624,12625,12626,12627],{"id":9393,"depth":9227,"text":9394},{"id":9753,"depth":9227,"text":9754},{"id":9858,"depth":9227,"text":9859},{"id":11084,"depth":9227,"text":11085,"children":12628},[12629,12630],{"id":11092,"depth":9251,"text":11093},{"id":11240,"depth":9251,"text":11241},{"id":12299,"depth":8787,"text":12300},{"id":12594,"depth":8781,"text":12595},null,"2025-04-09","Learn how to build an OEE Dashboard using FlowFuse Dashboard (Node-RED Dashboard 2.0). This step-by-step guide covers data collection, OEE calculations, and dashboard creation with simulated production and downtime data.","md","\u002Fblog\u002F2025\u002F04\u002Fimages\u002Foee-dashboard-buildig-ff-2.png",{"usecase":12639,"keywords":12641,"excerpt":12642},[12640],"production-monitoring","free oee dashboard, oee dashboard free, building oee dashboard, node-red oee dashboard, flowfuse oee dashboard",{"type":9,"value":12643},[12644],[12,12645,14,12646,20,12648,27,12651,32],{},[16,12647,19],{"href":18},[16,12649,26],{"href":23,"rel":12650},[25],[16,12652,31],{"href":30},"\u002Fblog\u002F2025\u002F04\u002Fbuilding-oee-dashboard-with-flowfuse-2",{"title":5,"description":12635},{"loc":12653},"blog\u002F2025\u002F04\u002Fbuilding-oee-dashboard-with-flowfuse-2","Step-by-step guide to building your own OEE Dashboard.",[12659],"flowfuse","M13UFVFhvtPfhXAXfqnZF5LnC1zRGET3riNGUbrYcMs",[],1785870276173]