[{"data":1,"prerenderedAt":259},["ShallowReactive",2],{"agmd-node-red-overview":3,"application-guide-nav":164},{"id":4,"title":5,"blurb":6,"body":7,"description":17,"extension":154,"guide":155,"meta":156,"navOrder":157,"navTitle":5,"navigation":158,"parent":159,"path":160,"seo":161,"slug":13,"stem":162,"__hash__":163},"applicationGuideDoc\u002Fapplication-guide\u002Fnode-red\u002Foverview.md","Overview","The map of the Node-RED guide — the pattern families that turn an app into a clean flow.",{"type":8,"value":9,"toc":143},"minimark",[10,14,18,24,27,41,54,59,67,83,90,122,129],[11,12,5],"h1",{"id":13},"overview",[15,16,17],"p",{},"Turn an architecture sentence into a clean flow shape you can read at a glance.",[15,19,20],{},[21,22,23],"strong",{},"Node-RED — start here",[15,25,26],{},"Node-RED is a visual programming platform for integration and logic: you build by wiring pre-built nodes into flows. The connectors and the syntax are handled for you, so your effort goes into what the system should do — the logic — not the plumbing to connect things or the boilerplate of a language.",[28,29,31],"callout",{"icon":30},"i-lucide-flag",[15,32,33],{},[21,34,35,36],{},"New here? Start with the ",[37,38,40],"a",{"href":39},"\u002Fapplication-guide\u002Fnode-red\u002Ffoundations\u002F","Foundations →",[28,42,44],{"icon":43},"i-lucide-sparkles",[15,45,46,53],{},[21,47,48,49],{},"Writing flows? Keep to ",[37,50,52],{"href":51},"\u002Fapplication-guide\u002Fnode-red\u002Fgood-form\u002F","Good form →"," — the habits that keep a flow readable and out of spaghetti: call shared things, one path per beginning, decouple UI from logic, catch errors where you can see them.",[55,56,58],"h2",{"id":57},"the-patterns-by-family","The patterns, by family",[60,61,63],"h3",{"id":62},"design-patterns",[37,64,66],{"href":65},"\u002Fapplication-guide\u002Fnode-red\u002Fdesign-patterns\u002F","Design patterns",[68,69,70,77],"ul",{},[71,72,73,76],"li",{},[21,74,75],{},"Find the seams"," — Name the three or four components hiding in a flow.",[71,78,79,82],{},[21,80,81],{},"Levels of reuse"," — Reuse each piece at the lightest rung: link in\u002Fout, link call, subflow, or packaged node.",[60,84,86],{"id":85},"handling-data-plc",[37,87,89],{"href":88},"\u002Fapplication-guide\u002Fnode-red\u002Fhandling-data\u002F","Handling data (PLC)",[68,91,92,98,104,110,116],{},[71,93,94,97],{},[21,95,96],{},"Classify the data"," — Name each signal by shape, purpose, and direction.",[71,99,100,103],{},[21,101,102],{},"Separate the paths"," — Give telemetry and control their own routes.",[71,105,106,109],{},[21,107,108],{},"Batch \u002F rate-limit"," — Pace a fast source into a slow sink so memory doesn't blow.",[71,111,112,115],{},[21,113,114],{},"Hold state in context"," — Keep a logical object in context, not threaded through wires.",[71,117,118,121],{},[21,119,120],{},"Config"," — Static in env vars, runtime in persisted context.",[60,123,125],{"id":124},"worked-examples",[37,126,128],{"href":127},"\u002Fapplication-guide\u002Fnode-red\u002Fworked-examples\u002F","Worked examples",[68,130,131,137],{},[71,132,133,136],{},[21,134,135],{},"OEE - Edge Aggregator"," — the edge piece as a reusable subflow: poll, read, compute, publish.",[71,138,139,142],{},[21,140,141],{},"OEE - Central Dashboard"," — subscribe, compute, dashboard, fanning out via link out to a second link in for batched history.",{"title":144,"searchDepth":145,"depth":145,"links":146},"",4,[147],{"id":57,"depth":148,"text":58,"children":149},2,[150,152,153],{"id":62,"depth":151,"text":66},3,{"id":85,"depth":151,"text":89},{"id":124,"depth":151,"text":128},"md","node-red",{},1,true,null,"\u002Fapplication-guide\u002Fnode-red\u002Foverview",{"title":5,"description":17},"application-guide\u002Fnode-red\u002Foverview","1AoPZljiFmjFEKTArAYVvYdXH4kgOClvcl_3FDUdv8Q",[165,169,171,176,178,183,188,194,196,202,206,211,216,218,223,228,234,239,244,249,253],{"guide":166,"slug":13,"title":5,"navOrder":157,"parent":159,"blurb":167,"path":168},"flowfuse","The map of the FlowFuse guide — apps, architectures, and a worked example.","\u002Fapplication-guide\u002Fflowfuse\u002Foverview\u002F",{"guide":155,"slug":13,"title":5,"navOrder":157,"parent":159,"blurb":6,"path":170},"\u002Fapplication-guide\u002Fnode-red\u002Foverview\u002F",{"guide":166,"slug":172,"title":173,"navOrder":148,"parent":159,"blurb":174,"path":175},"foundations","Foundations","The foundation to build on: what FlowFuse is, its core pieces, and how code is shared across teams.","\u002Fapplication-guide\u002Fflowfuse\u002Ffoundations\u002F",{"guide":155,"slug":172,"title":173,"navOrder":148,"parent":159,"blurb":177,"path":39},"The handful of concepts you need to build with Node-RED, and how they fit together.",{"guide":166,"slug":179,"title":180,"navOrder":151,"parent":159,"blurb":181,"path":182},"app-delivery-methods","App delivery methods","Two different units of code, delivered two ways. Ship the whole app — a complete, versioned project promoted through environments — or publish one reusable piece — a package the whole team installs and upgrades in one place. Pick by what you're shipping: the app, or a part of it.","\u002Fapplication-guide\u002Fflowfuse\u002Fapp-delivery-methods\u002F",{"guide":155,"slug":184,"title":185,"navOrder":151,"parent":159,"blurb":186,"path":187},"patterns","Patterns","The moves that turn an architecture into a clean, reusable flow — find the seams and reuse well, then handle data on the right paths.","\u002Fapplication-guide\u002Fnode-red\u002Fpatterns\u002F",{"guide":166,"slug":189,"title":190,"navOrder":191,"parent":179,"blurb":192,"path":193},"hardware-apps","Hardware apps",3.1,"The three shapes a FlowFuse app takes when it runs on a device. Pick by how much varies per site: nothing (Packaged App), a few settings (Configurable App), or you assemble it yourself (Edge Building Block).","\u002Fapplication-guide\u002Fflowfuse\u002Fhardware-apps\u002F",{"guide":155,"slug":62,"title":66,"navOrder":191,"parent":184,"blurb":195,"path":65},"The structural choices you select for a flow: find the seams it breaks into, then reuse each piece at the lightest level that solves it — link in\u002Fout, link call, subflow, or packaged node.",{"guide":166,"slug":197,"title":198,"navOrder":199,"parent":179,"blurb":200,"path":201},"software-apps","Software apps",3.2,"The three shapes a FlowFuse app takes when it runs on the platform. Pick by what it needs: a headless job (Packaged App), a user-facing app driven by data (Data-Driven App), or a reusable piece other apps embed (Shared Building Block).","\u002Fapplication-guide\u002Fflowfuse\u002Fsoftware-apps\u002F",{"guide":155,"slug":203,"title":204,"navOrder":199,"parent":184,"blurb":205,"path":88},"handling-data","Handling data","Classify each signal by shape, purpose and direction, then pick the methods it needs — separate the paths, pace the flow, hold state in context, and manage config. The methods you select to move a flow's data.",{"guide":155,"slug":207,"title":208,"navOrder":209,"parent":184,"blurb":210,"path":51},"good-form","Good form",3.3,"A clean flow isn't luck — it's a handful of habits. Wire for reading, lay it out on a grid, decouple UI from logic, catch errors where you can see them, and keep data on a stable contract. Follow these and a flow stays readable, reusable, and out of spaghetti.",{"guide":166,"slug":212,"title":213,"navOrder":145,"parent":159,"blurb":214,"path":215},"data-plane","Data plane","Before you pick where things run, decide how data is handled. Two stores come built into every FlowFuse server install — the Team Broker and relational Tables — exposed to every instance with nothing extra to stand up. Everything else you bring your own: run it (a time-series DB, an existing database, a model) and expose it to the fleet over Project Link, no inbound ports. This is the data plane the architectures on the next pages all sit on.","\u002Fapplication-guide\u002Fflowfuse\u002Fdata-plane\u002F",{"guide":155,"slug":124,"title":128,"navOrder":145,"parent":159,"blurb":217,"path":127},"Turn an app concept into a Node-RED flow — or a few — leaning on the design patterns and data handling. The method, then the OEE apps end to end.",{"guide":155,"slug":219,"title":135,"navOrder":220,"parent":124,"blurb":221,"path":222},"oee-edge-aggregator",4.1,"The edge app from the OEE use case as a Node-RED flow — a straight-line flow packaged as a subflow and configured per line (its PLC tags, via a config UI and a get-config node), with the data treated as a stream and its counts held in context.","\u002Fapplication-guide\u002Fnode-red\u002Foee-edge-aggregator\u002F",{"guide":155,"slug":224,"title":141,"navOrder":225,"parent":124,"blurb":226,"path":227},"oee-central-dashboard",4.2,"The cloud app from the OEE use case as a Node-RED flow — one link out fanning to two link ins on separate tabs (dashboard and batched history), so the live and history paths stay separate and easy to read.","\u002Fapplication-guide\u002Fnode-red\u002Foee-central-dashboard\u002F",{"guide":166,"slug":229,"title":230,"navOrder":231,"parent":159,"blurb":232,"path":233},"architectures","Architectures",5,"Every FlowFuse deployment is the same building blocks arranged for where it runs — pick the world you're designing for.","\u002Fapplication-guide\u002Fflowfuse\u002Farchitectures\u002F",{"guide":166,"slug":235,"title":236,"navOrder":237,"parent":229,"blurb":159,"path":238},"it-architectures","IT architectures",5.1,"\u002Fapplication-guide\u002Fflowfuse\u002Fit-architectures\u002F",{"guide":166,"slug":240,"title":241,"navOrder":242,"parent":229,"blurb":159,"path":243},"ot-architectures","OT architectures",5.2,"\u002Fapplication-guide\u002Fflowfuse\u002Fot-architectures\u002F",{"guide":166,"slug":245,"title":246,"navOrder":247,"parent":229,"blurb":159,"path":248},"iiot-architectures","IIoT architectures",5.3,"\u002Fapplication-guide\u002Fflowfuse\u002Fiiot-architectures\u002F",{"guide":166,"slug":124,"title":128,"navOrder":250,"parent":159,"blurb":251,"path":252},6,"Start from a use case, break it into apps, and draw the architecture that ties them together — the same method a FlowFuse Proof of Value runs.","\u002Fapplication-guide\u002Fflowfuse\u002Fworked-examples\u002F",{"guide":166,"slug":254,"title":255,"navOrder":256,"parent":124,"blurb":257,"path":258},"worked-example","OEE, end to end",6.1,"One use case — OEE across three lines — broken into two apps and two shared services, then drawn out end to end.","\u002Fapplication-guide\u002Fflowfuse\u002Fworked-example\u002F",1787843653061]