[{"data":1,"prerenderedAt":922},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai\u002F":3,"docs-nav":466},{"id":4,"title":5,"body":6,"description":454,"extension":455,"layout":456,"meta":457,"navGroup":456,"navGroupOrder":456,"navOrder":456,"navTitle":5,"navigation":458,"originalPath":459,"path":460,"redirect":456,"seo":461,"stem":462,"updated":463,"version":464,"__hash__":465},"docs\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai.md","AI in Node-RED",{"type":7,"value":8,"toc":437},"minimark",[9,13,23,38,47,53,58,200,253,257,269,272,287,290,296,306,309,312,315,318,322,331,334,337,340,343,349,352,355,358,367,370,378,382,388,392,399,402,421,425,433],[10,11,5],"h1",{"id":12},"ai-in-node-red",[14,15,16,17,22],"p",{},"FlowFuse Expert brings AI assistance directly into the Node-RED editor itself. Unlike the ",[18,19,21],"a",{"href":20},"\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat\u002F","Chat Interface",", which is a conversational panel you open separately, FlowFuse Expert's in-editor AI works where you already are - inside node editors, on the canvas, and in the palette.",[24,25,26],"blockquote",{},[14,27,28,32,33,37],{},[29,30,31],"strong",{},"Note:"," FlowFuse Expert can also be installed as a plugin into Node-RED instances running outside of FlowFuse, using the ",[34,35,36],"code",{},"@flowfuse\u002Fnr-assistant"," package from the Node-RED Palette Manager. This requires a FlowFuse Cloud account but does not require a paid subscription for the current release.",[14,39,40,41],{},"To enable the latest features, ensure your instance is running the latest Stack. ",[29,42,43,44,46],{},"For FlowFuse Cloud instances, FlowFuse Expert (",[34,45,36],{},") is automatically updated to the latest version.",[14,48,49,50,52],{},"Team owners can disable all AI features, including the in-editor AI, from the team settings page. When AI is disabled, the ",[34,51,36],{}," plugin will not be loaded on new deployments. Running instances will need to be restarted for the change to take full effect.",[54,55,57],"h2",{"id":56},"features","Features",[59,60,62,63,62,92,62,109,62,125,62,140,62,154,174,175],"div",{"style":61},"display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 20px 0;","\n  ",[18,64,68,69,68,87,62],{"className":65,"href":67},[66],"assistant-feature","#flow-autocomplete","\n    ",[70,71,77,78,77,84,68],"svg",{"width":72,"height":72,"viewBox":73,"className":74,"xmlns":76},"48","0 0 24 24",[75],"icon-stroke","http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","\n      ",[79,80],"path",{"d":81,"strokeWidth":82,"strokeLineCap":83},"M3 12c0-2 1-4 3-4s3 2 3 4","2","round",[79,85],{"d":86,"strokeWidth":82,"strokeLineCap":83},"M9 12c0 2 1 4 3 4s3-2 3-4",[88,89,91],"label",{"style":90},"margin: 10px 0; font-size: 16px; color: #333;","Flow Autocomplete",[18,93,68,96,68,106,62],{"className":94,"href":95},[66],"#inline-code-completions",[70,97,77,99,77,103,68],{"width":72,"height":72,"viewBox":73,"className":98,"xmlns":76},[75],[79,100],{"d":101,"strokeWidth":102,"strokeLineCap":83},"M6 7h6M6 11h6M6 15h12","1.5",[79,104],{"d":105,"strokeWidth":82,"strokeLineCap":83,"strokeLineJoin":83},"M16 7l2 2-2 2",[88,107,108],{"style":90},"Inline Code Completions",[18,110,68,113,68,122,62],{"className":111,"href":112},[66],"#flow-explainer",[70,114,77,116,77,119,68],{"width":72,"height":72,"viewBox":73,"className":115,"xmlns":76},[75],[79,117],{"d":118,"strokeWidth":82},"M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z",[79,120],{"d":121,"strokeWidth":102,"strokeLineCap":83},"M8 9h8M8 13h6",[88,123,124],{"style":90},"Flow Explainer",[18,126,68,129,68,137,62],{"className":127,"href":128},[66],"#function-node-creation",[70,130,77,134,68],{"width":72,"height":72,"viewBox":131,"className":132},"0 0 54 54",[133],"icon-fill",[79,135],{"xmlns":76,"d":136},"M30.999 31.005v-3h-6.762s.812-12.397 1.162-14 .597-3.35 2.628-3.103 1.971 3.103 1.971 3.103l4.862-.016s-.783-3.984-2.783-5.984-7.946-1.7-9.633.03c-1.687 1.73-2.302 5.065-2.597 6.422-.588 4.5-.854 9.027-1.248 13.547h-8.6v3H18.1s-.812 12.398-1.162 14-.597 3.35-2.628 3.103-1.972-3.102-1.972-3.102l-4.862.015s.783 3.985 2.783 5.985c2 2 7.946 1.699 9.634-.031 1.687-1.73 2.302-5.065 2.597-6.422.587-4.5.854-9.027 1.248-13.547z",[88,138,139],{"style":90},"Function Builder",[18,141,68,144,68,151,62],{"className":142,"href":143},[66],"#function-code-generation",[70,145,77,147,68],{"width":72,"height":72,"viewBox":73,"className":146,"xmlns":76},[133],[79,148],{"d":149,"fill":150},"M13 2L3 14h9l-1 8 10-12h-9l1-8z","#2563eb",[88,152,153],{"style":90},"Function Code Generation",[18,155,68,158,68,171,62],{"className":156,"href":157},[66],"#json-generation",[70,159,77,161,77,164,77,168,68],{"width":72,"height":72,"viewBox":73,"className":160,"xmlns":76},[75],[79,162],{"d":163,"strokeWidth":82},"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z",[165,166],"polyline",{"points":167,"stroke":150,"strokeWidth":82},"14,2 14,8 20,8",[79,169],{"d":170,"stroke":150,"strokeWidth":82,"strokeLineCap":83},"M8 13h8M8 17h4",[88,172,173],{"style":90},"JSON Generation","  \n  ",[18,176,68,179,68,197,62],{"className":177,"href":178},[66],"#css-and-html-generation-for-flowfuse-dashboard",[70,180,77,182,77,185,77,188,77,193,68],{"width":72,"height":72,"viewBox":73,"fill":181,"xmlns":76},"none",[79,183],{"d":184,"stroke":150,"strokeWidth":82},"M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z",[165,186],{"points":187,"stroke":150,"strokeWidth":82},"3.29,7 12,12 20.71,7",[189,190],"line",{"x1":191,"y1":192,"x2":191,"y2":191,"stroke":150,"strokeWidth":82},"12","22",[79,194],{"d":195,"stroke":150,"strokeWidth":196},"M8 10l4-2 4 2","1",[88,198,199],{"style":90},"CSS & HTML Generation",[201,202,203,210,220,226,232,238,244],"ol",{},[204,205,206,209],"li",{},[29,207,208],{},"Flow Autocomplete:"," Automated, intelligent suggestions for which node should be added next in your flow",[204,211,212,215,216,219],{},[29,213,214],{},"Inline Code Completions:"," Inline code completions for Function node, Tables Query node and FlowFuse Dashboard ",[34,217,218],{},"ui-template"," node",[204,221,222,225],{},[29,223,224],{},"Flow Explainer:"," Get detailed explanations of the selected nodes in your flow",[204,227,228,231],{},[29,229,230],{},"Function Node Creation:"," Create a new function node directly, driven by natural language",[204,233,234,237],{},[29,235,236],{},"Function Code Generation:"," Within the scope of an existing function node, ask the assistant to write code for you",[204,239,240,243],{},[29,241,242],{},"JSON Generation:"," In-editor JSON generation within the JSON editor for all typed inputs and JSON editors",[204,245,246,249,250,252],{},[29,247,248],{},"CSS and HTML Generation:"," In-editor CSS and HTML generation for FlowFuse Dashboard ",[34,251,218],{}," nodes",[254,255,91],"h3",{"id":256},"flow-autocomplete",[14,258,259,266],{},[260,261],"img",{"alt":262,"src":263,"dataZoomable":264,"width":265},"Recording of the flow autocomplete in-action, with up\u002Fdown keys used to toggle suggestions and tab to move to the next suggestion","\u002Fdocs\u002Fuser\u002Fimages\u002Fassistant\u002Fnode-autocomplete.gif","","700px",[267,268,262],"em",{},[14,270,271],{},"FlowFuse Expert runs a trained, in-browser machine learning model that provides intelligent suggestions for which node should be added next in your flow.",[14,273,274,275,278,279,282,283,286],{},"You can accept the suggestion by clicking it or by pressing the ",[34,276,277],{},"Tab"," key. You can also toggle through suggestions by pressing the ",[34,280,281],{},"Up"," and ",[34,284,285],{},"Down"," keys.",[254,288,108],{"id":289},"inline-code-completions",[14,291,292,293,295],{},"Mimicking the familiar code assistant in your IDE, FlowFuse Expert provides inline code completions for Function nodes, Tables Query nodes, and FlowFuse Dashboard ",[34,294,218],{}," nodes.",[14,297,298,303],{},[260,299],{"alt":300,"src":301,"dataZoomable":264,"width":302},"inline code completions","\u002Fdocs\u002Fuser\u002Fimages\u002Fassistant\u002Finline-completion.png","450px",[267,304,305],{},"A simple example of inline code completions for a Function node",[14,307,308],{},"This feature accelerates the writing of custom code and queries by providing intelligent suggestions without having to leave the editor, lowering the barrier to entry for non-technical users.",[14,310,311],{},"Using comments is optional - the assistant will do its best to understand the context of the code and provide suggestions based on the surrounding code. However, writing comments does help to frame the request in a way that is more likely to produce accurate results.",[254,313,124],{"id":314},"flow-explainer",[14,316,317],{},"FlowFuse Expert adds a button to the Assistant menu that will explain what the selected nodes do. To use this feature, select one or more nodes on the canvas and click the \"Explain Flows\" button in the Assistant menu.",[254,319,321],{"id":320},"function-node-creation","Function Node Creation",[14,323,324,328],{},[260,325],{"alt":326,"src":327},"FlowFuse Expert dialog","\u002Fdocs\u002Fuser\u002Fimages\u002Fassistant\u002Fdialog-function-node-builder.png",[267,329,330],{},"Screenshot showing the FlowFuse Expert dialog for creating a function node",[14,332,333],{},"Use natural language to request a new function node be added to your Node-RED flow. This is useful when you want to quickly add a function node without having to drag it from the palette and write the code yourself.",[14,335,336],{},"If your instance supports external modules, you can ask for a function node that uses them and they will be added to the function node setup automatically. If your function node requires multiple outputs, FlowFuse Expert will set the correct number of outputs accordingly.",[254,338,153],{"id":339},"function-code-generation",[14,341,342],{},"FlowFuse Expert adds a code lens to the function node editor that allows you to generate code directly within the editor.",[14,344,345],{},[260,346],{"alt":347,"src":348,"dataZoomable":264},"inline code lens","\u002Fdocs\u002Fuser\u002Fimages\u002Fassistant\u002Ffunction-node-inline-code-lens.png",[14,350,351],{},"This is useful when you want to quickly add or rewrite code within an existing function node without generating a full new function node from scratch.",[254,353,173],{"id":354},"json-generation",[14,356,357],{},"FlowFuse Expert adds a code lens to the JSON editor that allows you to generate JSON directly within the Monaco editor.",[14,359,360,364],{},[260,361],{"alt":362,"src":363,"dataZoomable":264,"width":265},"json generation","\u002Fdocs\u002Fuser\u002Fimages\u002Fassistant\u002Fjson-prompt.png",[267,365,366],{},"Screenshot showing a FlowFuse Expert prompt for JSON generation",[14,368,369],{},"This is useful when you want to quickly generate JSON for a prototype or to test a piece of functionality in your flows.",[14,371,372,375],{},[260,373],{"alt":362,"src":374,"dataZoomable":264,"width":265},"\u002Fdocs\u002Fuser\u002Fimages\u002Fassistant\u002Fjson-results.png",[267,376,377],{},"Screenshot showing the result of the above FlowFuse Expert prompt",[254,379,381],{"id":380},"css-and-html-generation-for-flowfuse-dashboard","CSS and HTML Generation for FlowFuse Dashboard",[14,383,384,385,387],{},"FlowFuse Expert adds a code lens to the FlowFuse Dashboard ",[34,386,218],{}," node that allows you to generate CSS and HTML directly within the code editor. It is aware of the context of the node and will generate suitable CSS and HTML components for Vuetify and the FlowFuse Dashboard.",[54,389,391],{"id":390},"installing-in-external-node-red-instances","Installing in External Node-RED Instances",[24,393,394],{},[14,395,396,398],{},[29,397,31],{}," FlowFuse Cloud instances have FlowFuse Expert automatically installed. Manual installation is only needed for Node-RED instances running outside of FlowFuse. Only the in-editor AI features can be installed externally - the Chat Interface is exclusive to FlowFuse.",[14,400,401],{},"To install the plugin in your own Node-RED instance:",[201,403,404,409,412,415,418],{},[204,405,406,407],{},"Use the Node-RED Palette Manager to install the package ",[34,408,36],{},[204,410,411],{},"Restart Node-RED",[204,413,414],{},"Click the FlowFuse Expert icon in the header",[204,416,417],{},"Follow the prompts to connect to your FlowFuse Cloud account",[204,419,420],{},"Once connected, you will be able to use all FlowFuse Expert features",[254,422,424],{"id":423},"flowfuse-expert-for-self-hosted-customers","FlowFuse Expert for self-hosted customers",[14,426,427,428,432],{},"If you are self-hosting FlowFuse with an Enterprise license, get in touch with ",[18,429,431],{"href":430},"\u002Fsupport","support"," who will be able to help get you set up to use FlowFuse Expert locally.",[434,435,436],"style",{},"\n  .assistant-feature {\n    border: 1px solid #ddd;\n    border-radius: 6px;\n    padding: 18px;\n    text-align: center;\n    background: #f9f9f9;\n    display: flex;\n    align-items: center;\n    justify-content: flex-start;\n    gap: 12px;\n    text-decoration: none;\n  }\n  .assistant-feature svg.icon-fill path,\n  .assistant-feature svg.icon-fill line,\n  .assistant-feature svg.icon-fill circle,\n  .assistant-feature svg.icon-fill polyline {\n    fill: #2563eb;\n  }\n\n  .assistant-feature svg.icon-stroke path,\n  .assistant-feature svg.icon-stroke line,\n  .assistant-feature svg.icon-stroke circle,\n  .assistant-feature svg.icon-stroke polyline {\n    stroke: #2563eb;\n    fill: none;\n  }\n\n  .assistant-feature:hover {\n    border-color: #2563eb;\n    color: #2563eb;\n    cursor: pointer;\n    text-decoration: none;\n  }\n\n  .assistant-feature label {\n    font-size: 1.15rem;\n    pointer-events: none;\n  }\n",{"title":264,"searchDepth":438,"depth":438,"links":439},4,[440,451],{"id":56,"depth":441,"text":57,"children":442},2,[443,445,446,447,448,449,450],{"id":256,"depth":444,"text":91},3,{"id":289,"depth":444,"text":108},{"id":314,"depth":444,"text":124},{"id":320,"depth":444,"text":321},{"id":339,"depth":444,"text":153},{"id":354,"depth":444,"text":173},{"id":380,"depth":444,"text":381},{"id":390,"depth":441,"text":391,"children":452},[453],{"id":423,"depth":444,"text":424},"FlowFuse Expert brings AI assistance directly into the Node-RED editor itself. Unlike the Chat Interface, which is a conversational panel you open separately, FlowFuse Expert's in-editor AI works where you already are - inside node editors, on the canvas, and in the palette.","md",null,{},true,"user\u002Fexpert\u002Fnode-red-embedded-ai.md","\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai",{"title":5,"description":454},"docs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai","2026-06-03 16:29:25 +0300","2.33.2","r3PmAGnG10os8VL_rWX7D2I4u-DVSGz1yxKFaseA6d8",[467,475,494,506],{"name":468,"order":469,"children":470},"FlowFuse User Manuals",1,[471],{"title":472,"path":473,"group":468,"groupOrder":469,"order":441,"children":474},"FlowFuse API","\u002Fdocs\u002Fapi",[],{"name":476,"order":438,"children":477},"FlowFuse Self-Hosted",[478,482],{"title":479,"path":480,"group":476,"groupOrder":438,"order":469,"children":481},"Quick Start","\u002Fdocs\u002Fquick-start",[],{"title":483,"path":484,"group":476,"groupOrder":438,"order":444,"children":485},"Upgrading FlowFuse","\u002Fdocs\u002Fupgrade",[486,490],{"title":487,"path":488,"order":456,"children":489},"Installing a license","\u002Fdocs\u002Fupgrade\u002Fopen-source-to-premium",[],{"title":491,"path":492,"order":456,"children":493},"Upgrading the Node-RED version","\u002Fdocs\u002Fupgrade\u002Fnodered-version",[],{"name":495,"order":496,"children":497},"Support",5,[498,502],{"title":499,"path":500,"group":495,"groupOrder":496,"order":444,"children":501},"Premium Support","\u002Fdocs\u002Fpremium-support",[],{"title":503,"path":504,"group":495,"groupOrder":496,"order":456,"children":505},"Debugging Node-RED issues","\u002Fdocs\u002Fdebugging",[],{"name":507,"order":456,"children":508},"Other",[509,557,569,648,697,716,790,801],{"title":510,"path":511,"order":456,"children":512},"admin","\u002Fdocs\u002Fadmin",[513,517,529,537,541,545,549,553],{"title":514,"path":515,"order":469,"children":516},"Administering FlowFuse","\u002Fdocs\u002Fadmin\u002Fintroduction",[],{"title":518,"path":519,"order":456,"children":520},"Configuring Single Sign-On (SSO)","\u002Fdocs\u002Fadmin\u002Fsso",[521,525],{"title":522,"path":523,"order":456,"children":524},"LDAP SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fldap",[],{"title":526,"path":527,"order":456,"children":528},"SAML SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fsaml",[],{"title":530,"path":531,"order":456,"children":532},"hardening","\u002Fdocs\u002Fadmin\u002Fhardening",[533],{"title":534,"path":535,"order":456,"children":536},"Kubernetes Hardening","\u002Fdocs\u002Fadmin\u002Fhardening\u002Fkubernetes",[],{"title":538,"path":539,"order":456,"children":540},"Monitoring","\u002Fdocs\u002Fadmin\u002Fmonitoring",[],{"title":542,"path":543,"order":456,"children":544},"Observability","\u002Fdocs\u002Fadmin\u002Fobservability",[],{"title":546,"path":547,"order":456,"children":548},"Soft Launch Enablement","\u002Fdocs\u002Fadmin\u002Ffeature-flags",[],{"title":550,"path":551,"order":456,"children":552},"Telemetry","\u002Fdocs\u002Fadmin\u002Ftelemetry",[],{"title":554,"path":555,"order":456,"children":556},"User Management","\u002Fdocs\u002Fadmin\u002Fuser-management",[],{"title":558,"path":559,"order":456,"children":560},"cloud","\u002Fdocs\u002Fcloud",[561,565],{"title":562,"path":563,"order":469,"children":564},"Introduction","\u002Fdocs\u002Fcloud\u002Fintroduction",[],{"title":566,"path":567,"order":456,"children":568},"FlowFuse Cloud Billing","\u002Fdocs\u002Fcloud\u002Fbilling",[],{"title":570,"path":571,"order":456,"children":572},"contribute","\u002Fdocs\u002Fcontribute",[573,576,580,584,588,592,596,604,640,644],{"title":562,"path":574,"order":469,"children":575},"\u002Fdocs\u002Fcontribute\u002Fintroduction",[],{"title":577,"path":578,"order":456,"children":579},"Adding Template Settings","\u002Fdocs\u002Fcontribute\u002Fadding-template-settings",[],{"title":581,"path":582,"order":456,"children":583},"API Design","\u002Fdocs\u002Fcontribute\u002Fapi-design",[],{"title":585,"path":586,"order":456,"children":587},"Creating debug stack containers","\u002Fdocs\u002Fcontribute\u002Fcreating-debug-stack-containers",[],{"title":589,"path":590,"order":456,"children":591},"Database migrations","\u002Fdocs\u002Fcontribute\u002Fdb-migrations",[],{"title":593,"path":594,"order":456,"children":595},"FlowFuse Architecture","\u002Fdocs\u002Fcontribute\u002Farchitecture",[],{"title":597,"path":598,"order":456,"children":599},"Local Install","\u002Fdocs\u002Fcontribute\u002Flocal",[600],{"title":601,"path":602,"order":456,"children":603},"Local Stacks","\u002Fdocs\u002Fcontribute\u002Flocal\u002Fstacks",[],{"title":605,"path":606,"order":456,"children":607},"State Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows",[608,612,616,620,624,628,632,636],{"title":609,"path":610,"order":456,"children":611},"Device Editor","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fdevice-editor",[],{"title":613,"path":614,"order":456,"children":615},"Instance states","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-states",[],{"title":617,"path":618,"order":456,"children":619},"Invite External Users","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Finvite-external-user",[],{"title":621,"path":622,"order":456,"children":623},"Project Creation","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-create",[],{"title":625,"path":626,"order":456,"children":627},"Reset Password Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fpassword-reset",[],{"title":629,"path":630,"order":456,"children":631},"Team creation Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fteam-create",[],{"title":633,"path":634,"order":456,"children":635},"User Login Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Flogin",[],{"title":637,"path":638,"order":456,"children":639},"User Sign up Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fsignup",[],{"title":641,"path":642,"order":456,"children":643},"Team Broker","\u002Fdocs\u002Fcontribute\u002Fteam-broker",[],{"title":645,"path":646,"order":456,"children":647},"Working with Feature Flags","\u002Fdocs\u002Fcontribute\u002Ffeature-flags",[],{"title":649,"path":650,"order":456,"children":651},"device-agent","\u002Fdocs\u002Fdevice-agent",[652,656,659,663,667,672],{"title":653,"path":654,"order":469,"children":655},"FlowFuse Device Agent Introduction","\u002Fdocs\u002Fdevice-agent\u002Fintroduction",[],{"title":479,"path":657,"order":441,"children":658},"\u002Fdocs\u002Fdevice-agent\u002Fquickstart",[],{"title":660,"path":661,"order":438,"children":662},"Register your Remote Instance","\u002Fdocs\u002Fdevice-agent\u002Fregister",[],{"title":664,"path":665,"order":496,"children":666},"Running the Agent","\u002Fdocs\u002Fdevice-agent\u002Frunning",[],{"title":668,"path":669,"order":670,"children":671},"Deploying your Flows","\u002Fdocs\u002Fdevice-agent\u002Fdeploy",6,[],{"title":673,"path":674,"order":456,"children":675},"install","\u002Fdocs\u002Fdevice-agent\u002Finstall",[676,681,685,689,693],{"title":677,"path":678,"group":679,"order":469,"children":680},"Overview","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Foverview","DeviceAgentInstallation",[],{"title":682,"path":683,"group":679,"order":441,"children":684},"Device Agent Installer","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdevice-agent-installer",[],{"title":686,"path":687,"group":679,"order":444,"children":688},"Docker Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdocker",[],{"title":690,"path":691,"group":679,"order":438,"children":692},"Kubernetes Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fkubernetes",[],{"title":694,"path":695,"group":679,"order":496,"children":696},"Manual Install with NPM","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fmanual",[],{"title":698,"path":699,"order":456,"children":700},"hardware","\u002Fdocs\u002Fhardware",[701,704,708,712],{"title":677,"path":702,"order":469,"children":703},"\u002Fdocs\u002Fhardware\u002Fintroduction",[],{"title":705,"path":706,"order":441,"children":707},"ctrlX - Node-RED","\u002Fdocs\u002Fhardware\u002Fctrlx-node-red",[],{"title":709,"path":710,"order":444,"children":711},"ctrlX - Device Agent","\u002Fdocs\u002Fhardware\u002Fctrlx-device-agent",[],{"title":713,"path":714,"order":444,"children":715},"Raspberry Pi with Raspbian","\u002Fdocs\u002Fhardware\u002Fraspbian",[],{"title":673,"path":717,"order":456,"children":718},"\u002Fdocs\u002Finstall",[719,722,726,730,750,754,758,762],{"title":677,"path":720,"order":469,"children":721},"\u002Fdocs\u002Finstall\u002Fintroduction",[],{"title":723,"path":724,"order":456,"children":725},"Configuring FlowFuse","\u002Fdocs\u002Finstall\u002Fconfiguration",[],{"title":727,"path":728,"order":456,"children":729},"DNS Setup","\u002Fdocs\u002Finstall\u002Fdns-setup",[],{"title":731,"path":732,"order":456,"children":733},"Docker install","\u002Fdocs\u002Finstall\u002Fdocker",[734,738,742,746],{"title":735,"path":736,"order":456,"children":737},"Add Project Stacks on Docker","\u002Fdocs\u002Finstall\u002Fdocker\u002Fstacks",[],{"title":739,"path":740,"order":456,"children":741},"Docker Engine on Windows","\u002Fdocs\u002Finstall\u002Fdocker\u002Fwindows-docker-ce",[],{"title":743,"path":744,"order":456,"children":745},"Docker from AWS Market Place","\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace",[],{"title":747,"path":748,"order":456,"children":749},"Docker on Digital Ocean","\u002Fdocs\u002Finstall\u002Fdocker\u002Fdigital-ocean",[],{"title":751,"path":752,"order":456,"children":753},"Email configuration","\u002Fdocs\u002Finstall\u002Femail-providers",[],{"title":755,"path":756,"order":456,"children":757},"First Run Setup","\u002Fdocs\u002Finstall\u002Ffirst-run",[],{"title":759,"path":760,"order":456,"children":761},"FlowFuse File Storage","\u002Fdocs\u002Finstall\u002Ffile-storage",[],{"title":763,"path":764,"order":456,"children":765},"Install FlowFuse on Kubernetes","\u002Fdocs\u002Finstall\u002Fkubernetes",[766,770,774,778,782,786],{"title":767,"path":768,"order":456,"children":769},"AWS EKS Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws",[],{"title":771,"path":772,"order":456,"children":773},"AWS EKS Installation with Terraform and Helm","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws-terraform",[],{"title":775,"path":776,"order":456,"children":777},"Digital Ocean Kubernetes Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fdigital-ocean",[],{"title":779,"path":780,"order":456,"children":781},"Ingress Controller Migration","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fingress-controller-migration",[],{"title":783,"path":784,"order":456,"children":785},"Kubernetes Project Stacks","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fstacks",[],{"title":787,"path":788,"order":456,"children":789},"OpenShift Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fopenshift",[],{"title":791,"path":792,"order":456,"children":793},"migration","\u002Fdocs\u002Fmigration",[794,797],{"title":562,"path":795,"order":469,"children":796},"\u002Fdocs\u002Fmigration\u002Fintroduction",[],{"title":798,"path":799,"order":456,"children":800},"Node-RED Tools plugin","\u002Fdocs\u002Fmigration\u002Fnode-red-tools",[],{"title":802,"path":803,"order":456,"children":804},"user","\u002Fdocs\u002Fuser",[805,809,813,817,821,826,830,834,838,842,846,850,859,863,867,871,875,879,883,887,891,895,899,903,907,911,914,918],{"title":806,"path":807,"order":469,"children":808},"Getting Started","\u002Fdocs\u002Fuser\u002Fintroduction",[],{"title":810,"path":811,"order":469,"children":812},"Static asset service","\u002Fdocs\u002Fuser\u002Fstatic-asset-service",[],{"title":814,"path":815,"order":441,"children":816},"Bill of Materials","\u002Fdocs\u002Fuser\u002Fbill-of-materials",[],{"title":818,"path":819,"order":441,"children":820},"FlowFuse Concepts","\u002Fdocs\u002Fuser\u002Fconcepts",[],{"title":822,"path":823,"order":824,"children":825},"Instance States","\u002Fdocs\u002Fuser\u002Finstance-states",10,[],{"title":827,"path":828,"order":456,"children":829},"Changing the Stack","\u002Fdocs\u002Fuser\u002Fchangestack",[],{"title":831,"path":832,"order":456,"children":833},"Custom Hostnames","\u002Fdocs\u002Fuser\u002Fcustom-hostnames",[],{"title":835,"path":836,"order":456,"children":837},"Custom Node Packages","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages",[],{"title":839,"path":840,"order":456,"children":841},"Dashboards","\u002Fdocs\u002Fuser\u002Fdashboards",[],{"title":843,"path":844,"order":456,"children":845},"DevOps Pipelines","\u002Fdocs\u002Fuser\u002Fdevops-pipelines",[],{"title":847,"path":848,"order":456,"children":849},"Environment Variables","\u002Fdocs\u002Fuser\u002Fenvvar",[],{"title":851,"path":852,"order":456,"children":853},"FlowFuse Expert","\u002Fdocs\u002Fuser\u002Fexpert",[854,856],{"title":5,"path":460,"order":456,"children":855},[],{"title":21,"path":857,"order":456,"children":858},"\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat",[],{"title":860,"path":861,"order":456,"children":862},"FlowFuse File Nodes","\u002Fdocs\u002Fuser\u002Ffilenodes",[],{"title":864,"path":865,"order":456,"children":866},"FlowFuse MQTT Nodes","\u002Fdocs\u002Fuser\u002Fmqtt-nodes",[],{"title":868,"path":869,"order":456,"children":870},"FlowFuse Persistent Context","\u002Fdocs\u002Fuser\u002Fpersistent-context",[],{"title":872,"path":873,"order":456,"children":874},"FlowFuse Project Nodes","\u002Fdocs\u002Fuser\u002Fprojectnodes",[],{"title":876,"path":877,"order":456,"children":878},"FlowFuse Tables","\u002Fdocs\u002Fuser\u002Fff-tables",[],{"title":880,"path":881,"order":456,"children":882},"Groups","\u002Fdocs\u002Fuser\u002Fdevice-groups",[],{"title":884,"path":885,"order":456,"children":886},"High Availability mode","\u002Fdocs\u002Fuser\u002Fhigh-availability",[],{"title":888,"path":889,"order":456,"children":890},"HTTP Access Tokens","\u002Fdocs\u002Fuser\u002Fhttp-access-tokens",[],{"title":892,"path":893,"order":456,"children":894},"Instance Settings","\u002Fdocs\u002Fuser\u002Finstance-settings",[],{"title":896,"path":897,"order":456,"children":898},"Logging","\u002Fdocs\u002Fuser\u002Flogs",[],{"title":900,"path":901,"order":456,"children":902},"Role-Based Access Control","\u002Fdocs\u002Fuser\u002Frole-based-access-control",[],{"title":904,"path":905,"order":456,"children":906},"Shared Team Library","\u002Fdocs\u002Fuser\u002Fshared-library",[],{"title":908,"path":909,"order":456,"children":910},"Snapshots","\u002Fdocs\u002Fuser\u002Fsnapshots",[],{"title":641,"path":912,"order":456,"children":913},"\u002Fdocs\u002Fuser\u002Fteambroker",[],{"title":915,"path":916,"order":456,"children":917},"Teams","\u002Fdocs\u002Fuser\u002Fteam",[],{"title":919,"path":920,"order":456,"children":921},"User Settings","\u002Fdocs\u002Fuser\u002Fuser-settings",[],1786546044271]