Group dashboard components with cards and tabs to structure larger panels in the Coreflux HUB.
A card grouping an asset's readout, status, and action into one unit on the panel grid
Containers group other components. Use them when a panel grows beyond a simple grid — to cluster a machine’s readouts under one title or split a screen into tabs.
Like trays on a workbench. The bench grid holds the trays in place; each tray keeps one job’s tools together so they move as a unit.
Two containers are available today: card for grouping, tabs for splitting.
A titled card grouping a single temperature readout
ADD COMPONENT "StatusCard" WITH TYPE "card" SET TITLE "Zone 1 Status" ADD COMPONENT "TempReading" WITH TYPE "value" BIND VALUE TO TOPIC "zone1/temperature" SET UNIT "°C"
A card combining a readout, an indicator, and a navigation button — the two extra children are the new parts:
A Zone 1 Status card with a temperature readout, a status indicator, and a Details button
ADD COMPONENT "StatusCard" WITH TYPE "card" SET TITLE "Zone 1 Status" ADD COMPONENT "TempReading" WITH TYPE "value" BIND VALUE TO TOPIC "zone1/temperature" SET UNIT "°C" ADD COMPONENT "StatusIndicator" WITH TYPE "indicator" BIND STATE TO TOPIC "zone1/status" SET ON_VALUE "running" WITH COLOR "green" SET ON_VALUE "stopped" WITH COLOR "red" ADD COMPONENT "DetailsButton" WITH TYPE "button" SET LABEL "Details" ON CLICK DO NAVIGATE TO PANEL "Zone1Details"
Each tab holds its own components — useful for Overview / Analytics / Settings splits on one screen.
In the current HUB build, tab headers show the inner component name rather than the ADD TAB title. The structure below matches the spec syntax; tab labelling is tracked as a known issue.
Basic
A tab strip switching between sub-views on one panel (current build labels tabs from their content)
ADD COMPONENT "MainTabs" WITH TYPE "tabs" ADD TAB "Overview" ADD COMPONENT "OvTemp" WITH TYPE "value" BIND VALUE TO TOPIC "zone1/temperature" SET UNIT "°C" ADD TAB "Analytics" ADD COMPONENT "OvGauge" WITH TYPE "gauge" SET RANGE FROM 0 TO 100 BIND VALUE TO TOPIC "zone1/temperature" ADD TAB "Settings" ADD COMPONENT "OvText" WITH TYPE "text" SET LABEL "Settings go here"
Use grid positioning (AT COLUMN/ROW) when components are independent readouts. Use a card when components belong to the same asset and should travel together — a card moves as one unit when you rearrange the panel. See Mixing layouts with cards for a complete panel that combines both.
Full panels that combine containers with live data.
Last modified on September 2, 2026
Was this page helpful?
⌘I
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Coreflux Documentation","colors":{"primary":"#eb470b","light":"#fc833b","dark":"#c3330b"},"logo":{"light":"https://mintcdn.com/coreflux/7tBTxEEkDVX4IRGH/images/logo/logo_light_docs_glyph.png?fit=max\u0026auto=format\u0026n=7tBTxEEkDVX4IRGH\u0026q=85\u0026s=56a469c914780a6d8c40a4329c0b0879","dark":"https://mintcdn.com/coreflux/7tBTxEEkDVX4IRGH/images/logo/logo_dark_docs_glyph.png?fit=max\u0026auto=format\u0026n=7tBTxEEkDVX4IRGH\u0026q=85\u0026s=b14cc68d9c3e2e98017af536fefc8670"},"favicon":"https://mintcdn.com/coreflux/A0D_IE52Pl2ItO0u/images/favicon.ico?fit=max\u0026auto=format\u0026n=A0D_IE52Pl2ItO0u\u0026q=85\u0026s=e8416ed10b42351291ab50f0dcdb31a8","appearance":{"default":"dark"},"background":{"color":{"light":"#FFFFFF","dark":"#010c10"}},"navbar":{"primary":{"type":"button","label":"Start Free","href":"https://portal.coreflux.org/"}},"footer":{"socials":{"github":"https://github.com/CorefluxCommunity","discord":"https://discord.com/invite/A3pPrptNMm","linkedin":"https://www.linkedin.com/company/coreflux","youtube":"https://www.youtube.com/@Coreflux","website":"https://www.coreflux.org/"}},"fonts":{"family":"Plus Jakarta Sans"},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":{"light":"css-variables","dark":"css-variables"},"languages":{"custom":["/languages/lot.json"]}},"latex":true},"integrations":{"ga4":{"measurementId":"G-1WXMSGSFY6"}},"contextual":{"options":["chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"coreflux","hasAudioNarration":false,"actualSubdomain":"coreflux","customDomains":["docs.coreflux.org"],"gitSource":{"type":"github","owner":"corefluxcommunity","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf28df1cea9adffa70bbce","collectionId":"54e175c9-f8df-4f82-8be0-ec9bf6a23513","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf28df1cea9adffa70bbce"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adf28df1cea9adffa70bbce","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"LoT Language","count":608},{"language":"default","tag":"LoT CONNECTOR","count":307},{"language":"default","tag":"REST API apps","count":268},{"language":"default","tag":"LoT ROUTE","count":146},{"language":"default","tag":"Coreflux MQTT Broker","count":82},{"language":"default","tag":"Developing and Managing Coreflux","count":72},{"language":"default","tag":"Coreflux HUB","count":71},{"language":"default","tag":"Best Practices and Usage Patterns","count":54},{"language":"default","tag":"Industrial Routes","count":52},{"language":"default","tag":"Quick Start","count":50}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"joao.leiriao@coreflux.org","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"695521f38da86e410a42ce70","deploymentId":"69317161c82f64ea7c1871b0","questionText":"What is LoT and how does it work?","status":"active","generatedBy":"manual","createdAt":"2025-12-31T13:15:31.284Z","updatedAt":"2025-12-31T13:15:31.284Z","__v":0},{"_id":"695521ec8da86e410a42ce3c","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do I install Coreflux locally?","status":"active","generatedBy":"manual","createdAt":"2025-12-31T13:15:24.487Z","updatedAt":"2025-12-31T13:15:24.487Z","__v":0},{"_id":"695521e68da86e410a42ce23","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do I create my first action?","status":"active","generatedBy":"manual","createdAt":"2025-12-31T13:15:18.088Z","updatedAt":"2025-12-31T13:15:18.088Z","__v":0}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"global.css","href":"/_mintlify/custom/coreflux/0c480ab36c4d46ee/global.css"}],"page":{"pagePath":"hub/dashboards/components/containers","slug":"/hub/dashboards/components/containers","pageMetadata":{"title":"Container Components","description":"Group dashboard components with cards and tabs to structure larger panels in the Coreflux HUB.","keywords":["card","tabs","container","layout","grouping","ADD TAB","dashboards"],"href":"/hub/dashboards/components/containers"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Group dashboard components with cards and tabs to structure larger panels in the Coreflux HUB.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Frame,Heading,Note,OptimizedImage,Tab,Table,Tabs,Tip}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Frame,{caption:`A card grouping an asset's readout, status, and action into one unit on the panel grid`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=6f70e4f99fc925a6f366c02adce28287`,alt:`A titled Zone 1 Status card containing a temperature readout, a status indicator, and a Details button`,\"data-og-width\":`815`,width:`815`,\"data-og-height\":`312`,height:`312`,\"data-path\":`images/dashboard/components/card-full.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?w=280\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=b2d7e56fee668269ad9229b15450c79f 280w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?w=560\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=364ac48aff593d5da805a9d1eb1e226d 560w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?w=840\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=fffb9140d08c267edf6c90fc7e56ce6b 840w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=d208722be832ffc404084fc4cc9116c8 1100w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=6de441dc1ae664c14a6cf0dcbec9813d 1650w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=d1ae83c1313f8e664401c563dad17aa6 2500w`})}),`\n`,_jsx(_components.p,{children:`Containers group other components. Use them when a panel grows beyond a simple grid — to cluster a machine’s readouts under one title or split a screen into tabs.`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Like trays on a workbench.`}),` The bench grid holds the trays in place; each tray keeps one job’s tools together so they move as a unit.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsxs(_components.p,{children:[`Two containers are available today: `,_jsx(_components.code,{children:`card`}),` for grouping, `,_jsx(_components.code,{children:`tabs`}),` for splitting.`]}),`\n`,_jsx(Heading,{level:`2`,id:`card`,children:`Card`}),`\n`,_jsx(_components.p,{children:`Groups child components under a title.`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Basic`,id:`basic`,children:[_jsx(_components.p,{children:`A titled card with one readout inside:`}),_jsx(Frame,{caption:`A titled card grouping a single temperature readout`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-basic.png?fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=35f61413a5bb1c975c70b82b6ed1fdb0`,alt:`A titled Zone 1 Status card containing a temperature readout`,\"data-og-width\":`815`,width:`815`,\"data-og-height\":`312`,height:`312`,\"data-path\":`images/dashboard/components/card-basic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-basic.png?w=280\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=a1baa8a13d8ab5715cc1092b7203ef94 280w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-basic.png?w=560\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=8fcde4b75fa38e35c37fd68d2bf035fe 560w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-basic.png?w=840\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=87e5a8dfbed138c1a7904add378bc295 840w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-basic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=0194ee059d2b10ced363b02063c9bfa2 1100w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-basic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=087107765f950f7df5cf0197f541fc5c 1650w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-basic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=6c95c862ca841b140666b5e871755595 2500w`})}),_jsx(CodeBlock,{filename:``,wrap:`true`,numberOfLines:`6`,language:`lot`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`lot`,children:_jsxs(_components.code,{language:`lot`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"StatusCard\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"card\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` TITLE `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Zone 1 Status\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"TempReading\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"value\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` BIND VALUE `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`TO`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"zone1/temperature\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` UNIT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"°C\"`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`Full example`,id:`full-example`,children:[_jsx(_components.p,{children:`A card combining a readout, an indicator, and a navigation button — the two extra children are the new parts:`}),_jsx(Frame,{caption:`A Zone 1 Status card with a temperature readout, a status indicator, and a Details button`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=6f70e4f99fc925a6f366c02adce28287`,alt:`A titled Zone 1 Status card with a temperature value, a status indicator, and a Details button`,\"data-og-width\":`815`,width:`815`,\"data-og-height\":`312`,height:`312`,\"data-path\":`images/dashboard/components/card-full.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?w=280\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=b2d7e56fee668269ad9229b15450c79f 280w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?w=560\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=364ac48aff593d5da805a9d1eb1e226d 560w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?w=840\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=fffb9140d08c267edf6c90fc7e56ce6b 840w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=d208722be832ffc404084fc4cc9116c8 1100w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=6de441dc1ae664c14a6cf0dcbec9813d 1650w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/card-full.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=d1ae83c1313f8e664401c563dad17aa6 2500w`})}),_jsx(CodeBlock,{filename:``,wrap:`true`,focus:`[9,10,11,12,13,14,15,16,17]`,numberOfLines:`15`,language:`lot`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`lot`,children:_jsxs(_components.code,{language:`lot`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"StatusCard\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"card\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` TITLE `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Zone 1 Status\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"TempReading\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"value\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` BIND VALUE `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`TO`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"zone1/temperature\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` UNIT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"°C\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"StatusIndicator\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"indicator\"`})]}),`\n`,_jsxs(_components.span,{className:`line line-focus`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` BIND STATE `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`TO`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"zone1/status\"`})]}),`\n`,_jsxs(_components.span,{className:`line line-focus`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` ON_VALUE `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"running\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COLOR `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"green\"`})]}),`\n`,_jsxs(_components.span,{className:`line line-focus`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` ON_VALUE `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"stopped\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COLOR `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"red\"`})]}),`\n`,_jsx(_components.span,{className:`line line-focus`}),`\n`,_jsxs(_components.span,{className:`line line-focus`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"DetailsButton\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"button\"`})]}),`\n`,_jsxs(_components.span,{className:`line line-focus`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` LABEL `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Details\"`})]}),`\n`,_jsxs(_components.span,{className:`line line-focus`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ON`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` CLICK `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`DO`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` NAVIGATE `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`TO`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` PANEL `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Zone1Details\"`})]}),`\n`]})})})]})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`TITLE`})}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`Card heading`})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`tabs`,children:`Tabs`}),`\n`,_jsx(_components.p,{children:`Each tab holds its own components — useful for Overview / Analytics / Settings splits on one screen.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`In the current HUB build, tab headers show the `,_jsx(_components.strong,{children:`inner component name`}),` rather than the `,_jsx(_components.code,{children:`ADD TAB`}),` title. The structure below matches the spec syntax; tab labelling is tracked as a known issue.`]})}),`\n`,_jsx(Tabs,{children:_jsxs(Tab,{title:`Basic`,id:`basic-2`,children:[_jsx(Frame,{caption:`A tab strip switching between sub-views on one panel (current build labels tabs from their content)`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/tabs.png?fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=190e1e6a76ff7681e1b9e88d412482db`,alt:`A tabbed container switching between sub-views on one panel`,\"data-og-width\":`376`,width:`376`,\"data-og-height\":`234`,height:`234`,\"data-path\":`images/dashboard/components/tabs.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/tabs.png?w=280\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=feef13be75dde90b17358b7d4593417d 280w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/tabs.png?w=560\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=d5d41d2177add5d1e0e9d13e52387a46 560w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/tabs.png?w=840\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=ed295f2fb05df17a314cac2e0279ff6f 840w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/tabs.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=003b882a4ae36e22ab9c033a189a1684 1100w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/tabs.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=698441c0eba65d9852c26843358f52b3 1650w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/tabs.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=37fe8b5dc44c8e4a26eb38227f7ea15d 2500w`})}),_jsx(CodeBlock,{filename:``,wrap:`true`,numberOfLines:`15`,language:`lot`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`lot`,children:_jsxs(_components.code,{language:`lot`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"MainTabs\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"tabs\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` TAB `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Overview\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"OvTemp\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"value\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` BIND VALUE `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`TO`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"zone1/temperature\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` UNIT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"°C\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` TAB `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Analytics\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"OvGauge\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"gauge\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` RANGE `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`FROM`}),_jsx(_components.span,{style:{color:`var(--mint-token-constant, #171717)`,\"--shiki-dark\":`var(--mint-token-constant, #171717)`},children:` 0`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TO`}),_jsx(_components.span,{style:{color:`var(--mint-token-constant, #171717)`,\"--shiki-dark\":`var(--mint-token-constant, #171717)`},children:` 100`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` BIND VALUE `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`TO`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"zone1/temperature\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` TAB `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Settings\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"OvText\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"text\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` LABEL `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Settings go here\"`})]}),`\n`]})})})]})}),`\n`,_jsx(Heading,{level:`2`,id:`card-vs-grid-position`,children:`Card vs. grid position?`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.strong,{children:`grid positioning`}),` (`,_jsx(_components.code,{children:`AT COLUMN/ROW`}),`) when components are independent readouts. Use a `,_jsx(_components.strong,{children:`card`}),` when components belong to the same asset and should travel together — a card moves as one unit when you rearrange the panel. See `,_jsx(_components.a,{href:`/latest/lot-language/panels/defining-panels#mixing-layouts-with-cards`,children:`Mixing layouts with cards`}),` for a complete panel that combines both.`]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next Steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Display components`,icon:`chart-line`,href:`/hub/dashboards/components/display`,children:_jsx(_components.p,{children:`The readouts you place inside cards and tabs.`})}),_jsx(Card,{title:`Common patterns`,icon:`clone`,href:`/hub/dashboards/patterns`,children:_jsx(_components.p,{children:`Full panels that combine containers with live data.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"css-variables","dark":"css-variables"},"languages":{"custom":["/languages/lot.json"]}},"config":{},"pageMetadata":{"title":"Container Components","description":"Group dashboard components with cards and tabs to structure larger panels in the Coreflux HUB.","keywords":["card","tabs","container","layout","grouping","ADD TAB","dashboards"],"href":"/hub/dashboards/components/containers"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Card","slug":"card","depth":2,"children":[]},{"title":"Tabs","slug":"tabs","depth":2,"children":[]},{"title":"Card vs. grid position?","slug":"card-vs-grid-position","depth":2,"children":[]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/coreflux/a521143ded12b642/scripts/mermaid-flow.js"],"subdomain":"coreflux","siteName":"Coreflux Documentation","title":"Container Components - Coreflux Documentation","contextualStarterQuestions":[{"_id":"6ada2e96918154a2cbd63f56","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do containers organize components?","status":"active","generatedBy":"contextual","path":"hub/dashboards/components/containers","createdAt":"2026-10-22T15:41:10.506Z","updatedAt":"2026-10-22T15:41:10.506Z","__v":0},{"_id":"6ada2e96918154a2cbd63f54","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do I use cards?","status":"active","generatedBy":"contextual","path":"hub/dashboards/components/containers","createdAt":"2026-10-22T15:41:10.506Z","updatedAt":"2026-10-22T15:41:10.506Z","__v":0},{"_id":"6ada2e96918154a2cbd63f55","deploymentId":"69317161c82f64ea7c1871b0","questionText":"When should I use tabs?","status":"active","generatedBy":"contextual","path":"hub/dashboards/components/containers","createdAt":"2026-10-22T15:41:10.506Z","updatedAt":"2026-10-22T15:41:10.506Z","__v":0}],"navMaps":{"firstHrefInVersion":{"v2.22":{"href":"/hub/dashboards/components/containers","matchLevel":0},"v2.14":{"href":"/hub/dashboards/components/containers","matchLevel":0},"v2.2":{"href":"/v2.2","matchLevel":3},"v2.1":{"href":"/v2.1","matchLevel":3},"v2.0":{"href":"/v2.0","matchLevel":3},"v1.10":{"href":"/v1.10","matchLevel":3}},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T15:39:01.523Z","gitLastModified":"2026-09-02T09:59:56.000Z","originalFileLocation":"hub/dashboards/components/containers.md"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Group dashboard components with cards and tabs to structure larger panels in the Coreflux HUB.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Coreflux Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Container Components - Coreflux Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Group dashboard components with cards and tabs to structure larger panels in the Coreflux HUB.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Coreflux Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.coreflux.org/hub/dashboards/components/containers\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://coreflux.mintlify.app/_mintlify/api/og/v2?division=Component+Reference\u0026amp;title=Container+Components\u0026amp;description=Group+dashboard+components+with+cards+and+tabs+to+structure+larger+panels+in+the+Coreflux+HUB.\u0026amp;theme=b63f1147494e66c8a7509625\u0026amp;signature=97f1234ec0a3b19ee8d6708becf129f4c41a63d659e58ec32235d8396a605cc8\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Container Components - Coreflux Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Group dashboard components with cards and tabs to structure larger panels in the Coreflux HUB.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://coreflux.mintlify.app/_mintlify/api/og/v2?division=Component+Reference\u0026amp;title=Container+Components\u0026amp;description=Group+dashboard+components+with+cards+and+tabs+to+structure+larger+panels+in+the+Coreflux+HUB.\u0026amp;theme=b63f1147494e66c8a7509625\u0026amp;signature=97f1234ec0a3b19ee8d6708becf129f4c41a63d659e58ec32235d8396a605cc8\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Coreflux Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#eb470b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.coreflux.org/hub/dashboards/components/containers\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/hub/dashboards/components/containers.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.coreflux.org/#organization\",\"name\":\"Coreflux Documentation\",\"url\":\"https://docs.coreflux.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/coreflux/7tBTxEEkDVX4IRGH/images/logo/logo_light_docs_glyph.png?fit=max\u0026auto=format\u0026n=7tBTxEEkDVX4IRGH\u0026q=85\u0026s=56a469c914780a6d8c40a4329c0b0879\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.coreflux.org#website\",\"name\":\"Coreflux Documentation\",\"url\":\"https://docs.coreflux.org\",\"publisher\":{\"@id\":\"https://docs.coreflux.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.coreflux.org/hub/dashboards/components/containers#webpage\",\"url\":\"https://docs.coreflux.org/hub/dashboards/components/containers\",\"name\":\"Container Components\",\"description\":\"Group dashboard components with cards and tabs to structure larger panels in the Coreflux HUB.\",\"dateModified\":\"2026-09-02T09:59:56.000Z\",\"isPartOf\":{\"@id\":\"https://docs.coreflux.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.coreflux.org/hub/dashboards/components/containers#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.coreflux.org/hub/dashboards/components/containers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Coreflux HUB\",\"item\":\"https://docs.coreflux.org/hub/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dashboards\",\"item\":\"https://docs.coreflux.org/hub/dashboards/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Component Reference\",\"item\":\"https://docs.coreflux.org/hub/dashboards/components/display\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Container Components\",\"item\":\"https://docs.coreflux.org/hub/dashboards/components/containers\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.coreflux.org/hub/dashboards/components/containers#article\",\"headline\":\"Container Components\",\"name\":\"Container Components\",\"description\":\"Group dashboard components with cards and tabs to structure larger panels in the Coreflux HUB.\",\"url\":\"https://docs.coreflux.org/hub/dashboards/components/containers\",\"mainEntityOfPage\":{\"@id\":\"https://docs.coreflux.org/hub/dashboards/components/containers#webpage\"},\"dateModified\":\"2026-09-02T09:59:56.000Z\",\"keywords\":\"card, tabs, container, layout, grouping, ADD TAB, dashboards\",\"publisher\":{\"@id\":\"https://docs.coreflux.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.coreflux.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Coreflux Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Coreflux Documentation","nav":{"global":null,"versions":[{"version":"v2.22","default":true,"tag":"Latest","groups":[{"group":"Quick Start","pages":[{"title":"Welcome to Coreflux","sidebarTitle":"Welcome","icon":"house","mode":"frame","href":"/latest"},{"title":"Installation","icon":"download","href":"/latest/quick-start/installation"},{"title":"Updating Your Coreflux","icon":"rotate","href":"/latest/updating-coreflux"},{"title":"Getting Started","icon":"rocket","href":"/latest/quick-start/getting-started"},{"title":"Using Coreflux HUB","icon":"globe","href":"/latest/quick-start/using-hub"},{"title":"Using LoT Notebooks","sidebarTitle":"Using LoT Notebooks","icon":"code","href":"/latest/quick-start/vscode"},{"title":"Using AI with Coreflux","icon":"wand-magic-sparkles","href":"/latest/quick-start/using-ai"},{"title":"Build Your First Dashboard","icon":"rocket","href":"/latest/quick-start/building-dashboards"},{"title":"Creating Agents in Coreflux","icon":"robot","href":"/latest/quick-start/creating-agents"},{"title":"Best Practices \u0026 Patterns","icon":"book-open","href":"/latest/quick-start/best-practices"}]},{"group":"Coreflux MQTT Broker","pages":[{"title":"MQTT Broker","href":"/latest/mqtt-broker/overview"},{"title":"MQTT Protocol","href":"/latest/mqtt-broker/protocol"},{"title":"High-Availability Clustering","href":"/latest/mqtt-broker/clustering"},{"group":"Configuring the Broker","pages":[{"title":"Broker Configuration","href":"/latest/mqtt-broker/configuration"},{"title":"OIDC and Bearer Authentication","href":"/latest/mqtt-broker/oidc-authentication"},{"title":"MCP Server","href":"/latest/mqtt-broker/mcp-server"},{"title":"MQTT State Durability","href":"/latest/mqtt-broker/durability"},{"title":"Environment Variables \u0026 Secrets","href":"/latest/mqtt-broker/secrets-and-env"},{"title":"Startup Options \u0026 Deployment","href":"/latest/mqtt-broker/startup-options"},{"title":"Licensing and Enrollment","href":"/latest/mqtt-broker/licensing"}]},{"group":"Operating the Broker","pages":[{"title":"Operational Endpoints","href":"/latest/mqtt-broker/operational-endpoints"},{"title":"System ($SYS) Topics","href":"/latest/mqtt-broker/sys-topics"},{"title":"Broker Commands","href":"/latest/mqtt-broker/commands"}]}]},{"group":"LoT Language","pages":[{"title":"Introduction to LoT","href":"/latest/lot-language/introduction"},{"group":"LoT ACTION","pages":[{"title":"ACTION Overview","href":"/latest/lot-language/actions/overview"},{"title":"ACTION Syntax Reference","href":"/latest/lot-language/actions/syntax"},{"title":"ACTION Triggers","href":"/latest/lot-language/actions/events"},{"title":"Callable ACTIONs","href":"/latest/lot-language/actions/callable-actions"},{"title":"ACTION Operations Reference","href":"/latest/lot-language/actions/operations"},{"title":"ACTION Python Integration","href":"/latest/lot-language/actions/python-integration"}]},{"group":"LoT MODEL","pages":[{"title":"MODEL Overview","href":"/latest/lot-language/models/overview"},{"title":"MODEL Syntax and Components","href":"/latest/lot-language/models/schema-definition"},{"title":"MODEL Publishing","href":"/latest/lot-language/models/publish-model"},{"title":"MODEL Inheritance","href":"/latest/lot-language/models/model-inheritance"},{"title":"MODEL Protobuf","href":"/latest/lot-language/models/protobuf"},{"title":"MODEL Examples","href":"/latest/lot-language/models/examples"}]},{"group":"LoT CONNECTOR","pages":[{"title":"Connectors Overview","href":"/latest/lot-language/routes/overview"},{"title":"Store and Forward Configuration","href":"/latest/lot-language/routes/store-and-forward"},{"group":"System Connectors","pages":[{"title":"System Connectors","href":"/latest/lot-language/routes/system-routes"},{"title":"MQTT Bridge Connector","href":"/latest/lot-language/routes/system/mqtt-bridge"},{"title":"Sparkplug B Connector","href":"/latest/lot-language/routes/system/sparkplug-b"},{"title":"Sparkplug Host Connector","href":"/latest/lot-language/routes/system/sparkplug-host"}]},{"group":"Industrial Connectors","pages":[{"title":"Industrial Connectors Overview","href":"/latest/lot-language/routes/industrial/overview"},{"title":"Modbus TCP Client Connector","href":"/latest/lot-language/routes/industrial/modbus-tcp-client"},{"title":"Modbus Serial Client Connector","href":"/latest/lot-language/routes/industrial/modbus-serial-client"},{"title":"Modbus TCP Server Connector","href":"/latest/lot-language/routes/industrial/modbus-tcp-server"},{"title":"Siemens S7 Connector","href":"/latest/lot-language/routes/industrial/siemens-s7"},{"title":"OPC UA Client Connector","href":"/latest/lot-language/routes/industrial/opcua-client"},{"title":"OPC UA Server Connector","href":"/latest/lot-language/routes/industrial/opcua-server"},{"title":"ADS Connector (Beckhoff)","href":"/latest/lot-language/routes/industrial/ads"},{"title":"Allen-Bradley Connector","href":"/latest/lot-language/routes/industrial/allen-bradley"},{"title":"EtherNet/IP Connector","href":"/latest/lot-language/routes/industrial/ethernetip"},{"title":"FINS Connector (Omron)","href":"/latest/lot-language/routes/industrial/fins"},{"title":"BACnet/IP Connector","href":"/latest/lot-language/routes/industrial/bacnet"}]},{"group":"Data Storage Connectors","pages":[{"title":"Data Storage Connectors Overview","href":"/latest/lot-language/routes/data-storage/overview"},{"title":"PostgreSQL Connector","href":"/latest/lot-language/routes/data-storage/postgresql"},{"title":"MySQL Connector","href":"/latest/lot-language/routes/data-storage/mysql"},{"title":"MariaDB Connector","href":"/latest/lot-language/routes/data-storage/mariadb"},{"title":"SQL Server Connector","href":"/latest/lot-language/routes/data-storage/sqlserver"},{"title":"MongoDB Connector","href":"/latest/lot-language/routes/data-storage/mongodb"},{"title":"OpenSearch Connector","href":"/latest/lot-language/routes/data-storage/opensearch"},{"title":"CrateDB Connector","href":"/latest/lot-language/routes/data-storage/cratedb"},{"title":"Snowflake Connector","href":"/latest/lot-language/routes/data-storage/snowflake"},{"title":"File Storage Connector","href":"/latest/lot-language/routes/data-storage/file-storage"}]},{"group":"Streaming Connectors","pages":[{"title":"Kafka Connector","href":"/latest/lot-language/routes/streaming/kafka"},{"title":"gRPC Connector","href":"/latest/lot-language/routes/streaming/grpc"}]},{"group":"Notification Connectors","pages":[{"title":"Email Connector","href":"/latest/lot-language/routes/notifications/email"}]},{"title":"REST API Connectors","href":"/latest/lot-language/routes/rest-api-routes"},{"group":"REST API apps","pages":[{"title":"REST API Apps","href":"/latest/lot-language/routes/rest-api-apps/index"},{"title":"Acumatica Cloud ERP REST API","href":"/latest/lot-language/routes/rest-api-apps/acumatica-cloud-erp"},{"title":"Airtable","href":"/latest/lot-language/routes/rest-api-apps/airtable"},{"title":"Amazon Bedrock Control","href":"/latest/lot-language/routes/rest-api-apps/amazon-bedrock-control"},{"title":"Amazon Bedrock Runtime","href":"/latest/lot-language/routes/rest-api-apps/amazon-bedrock-runtime"},{"title":"Amazon CloudWatch","href":"/latest/lot-language/routes/rest-api-apps/amazon-cloudwatch"},{"title":"Amazon DynamoDB","href":"/latest/lot-language/routes/rest-api-apps/amazon-dynamodb"},{"title":"Amazon S3","href":"/latest/lot-language/routes/rest-api-apps/amazon-s3"},{"title":"Amazon SNS","href":"/latest/lot-language/routes/rest-api-apps/amazon-sns"},{"title":"Anaplan","href":"/latest/lot-language/routes/rest-api-apps/anaplan"},{"title":"Anthropic","href":"/latest/lot-language/routes/rest-api-apps/anthropic"},{"title":"Apache Superset","href":"/latest/lot-language/routes/rest-api-apps/apache-superset"},{"title":"Apprise API","href":"/latest/lot-language/routes/rest-api-apps/apprise-api"},{"title":"Aras Innovator Api","href":"/latest/lot-language/routes/rest-api-apps/aras-innovator-api"},{"title":"Asana","href":"/latest/lot-language/routes/rest-api-apps/asana"},{"title":"Auth0","href":"/latest/lot-language/routes/rest-api-apps/auth0"},{"title":"Autodesk Platform Services Api","href":"/latest/lot-language/routes/rest-api-apps/autodesk-platform-services-api"},{"title":"AVEVA CONNECT data services","href":"/latest/lot-language/routes/rest-api-apps/aveva-connect-data-services"},{"title":"Aveva Mes Api","href":"/latest/lot-language/routes/rest-api-apps/aveva-mes-api"},{"title":"AVEVA PI Web API","href":"/latest/lot-language/routes/rest-api-apps/aveva-pi-web-api"},{"title":"AWS IoT Core","href":"/latest/lot-language/routes/rest-api-apps/aws-iot-core"},{"title":"AWS IoT SiteWise","href":"/latest/lot-language/routes/rest-api-apps/aws-iot-sitewise"},{"title":"Azure Blob Storage and Data Lake Gen2","href":"/latest/lot-language/routes/rest-api-apps/azure-blob-storage-and-data-lake-gen2"},{"title":"Azure Cosmos DB","href":"/latest/lot-language/routes/rest-api-apps/azure-cosmos-db"},{"title":"Azure Data Explorer and Fabric Eventhouse","href":"/latest/lot-language/routes/rest-api-apps/azure-data-explorer-and-fabric-eventhouse"},{"title":"Azure DevOps","href":"/latest/lot-language/routes/rest-api-apps/azure-devops"},{"title":"Azure Digital Twins","href":"/latest/lot-language/routes/rest-api-apps/azure-digital-twins"},{"title":"Azure Event Hubs","href":"/latest/lot-language/routes/rest-api-apps/azure-event-hubs"},{"title":"Azure IoT Hub","href":"/latest/lot-language/routes/rest-api-apps/azure-iot-hub"},{"title":"Azure Monitor","href":"/latest/lot-language/routes/rest-api-apps/azure-monitor"},{"title":"Azure OpenAI and Azure AI Foundry","href":"/latest/lot-language/routes/rest-api-apps/azure-openai-and-azure-ai-foundry"},{"title":"Azure Service Bus","href":"/latest/lot-language/routes/rest-api-apps/azure-service-bus"},{"title":"balena","href":"/latest/lot-language/routes/rest-api-apps/balena"},{"title":"Bar Tender Actions","href":"/latest/lot-language/routes/rest-api-apps/bar-tender-actions"},{"title":"Bar Tender Cloud","href":"/latest/lot-language/routes/rest-api-apps/bar-tender-cloud"},{"title":"Bar Tender Print Portal","href":"/latest/lot-language/routes/rest-api-apps/bar-tender-print-portal"},{"title":"Blynk Device Api","href":"/latest/lot-language/routes/rest-api-apps/blynk-device-api"},{"title":"Blynk Platform Api","href":"/latest/lot-language/routes/rest-api-apps/blynk-platform-api"},{"title":"BMC Helix ITSM","href":"/latest/lot-language/routes/rest-api-apps/bmc-helix-itsm"},{"title":"Box Upload","href":"/latest/lot-language/routes/rest-api-apps/box-upload"},{"title":"Box","href":"/latest/lot-language/routes/rest-api-apps/box"},{"title":"Canary Read","href":"/latest/lot-language/routes/rest-api-apps/canary-read"},{"title":"Canary Write","href":"/latest/lot-language/routes/rest-api-apps/canary-write"},{"title":"ChirpStack v4","href":"/latest/lot-language/routes/rest-api-apps/chirpstack-v4"},{"title":"Clarify (Searis)","href":"/latest/lot-language/routes/rest-api-apps/clarify"},{"title":"ClickHouse","href":"/latest/lot-language/routes/rest-api-apps/clickhouse"},{"title":"Cloud Firestore","href":"/latest/lot-language/routes/rest-api-apps/cloud-firestore"},{"title":"Coupa","href":"/latest/lot-language/routes/rest-api-apps/coupa"},{"title":"Critical Manufacturing MES","href":"/latest/lot-language/routes/rest-api-apps/critical-manufacturing-mes"},{"title":"Cumulocity","href":"/latest/lot-language/routes/rest-api-apps/cumulocity"},{"title":"Databricks","href":"/latest/lot-language/routes/rest-api-apps/databricks"},{"title":"Datacake","href":"/latest/lot-language/routes/rest-api-apps/datacake"},{"title":"Datadog","href":"/latest/lot-language/routes/rest-api-apps/datadog"},{"title":"DELMIA Apriso (Dassault Systèmes)","href":"/latest/lot-language/routes/rest-api-apps/delmia-apriso"},{"title":"Dhl Api","href":"/latest/lot-language/routes/rest-api-apps/dhl-api"},{"title":"Dhl Location Finder","href":"/latest/lot-language/routes/rest-api-apps/dhl-location-finder"},{"title":"Dhl Parcel De","href":"/latest/lot-language/routes/rest-api-apps/dhl-parcel-de"},{"title":"Discord","href":"/latest/lot-language/routes/rest-api-apps/discord"},{"title":"Docker Hub","href":"/latest/lot-language/routes/rest-api-apps/docker-hub"},{"title":"Docu Sign ESignature","href":"/latest/lot-language/routes/rest-api-apps/docu-sign-esignature"},{"title":"Docu Sign OAuth","href":"/latest/lot-language/routes/rest-api-apps/docu-sign-oauth"},{"title":"Domo","href":"/latest/lot-language/routes/rest-api-apps/domo"},{"title":"Dropbox Content","href":"/latest/lot-language/routes/rest-api-apps/dropbox-content"},{"title":"Dropbox Notify","href":"/latest/lot-language/routes/rest-api-apps/dropbox-notify"},{"title":"Dropbox","href":"/latest/lot-language/routes/rest-api-apps/dropbox"},{"title":"Dynamics 365 Field Service and Connected Field Service","href":"/latest/lot-language/routes/rest-api-apps/dynamics-365-field-service-and-connected-field-service"},{"title":"Dynamics 365 Business Central","href":"/latest/lot-language/routes/rest-api-apps/dynamics365-bc"},{"title":"Microsoft Dynamics 365 Finance and Supply Chain","href":"/latest/lot-language/routes/rest-api-apps/dynamics365-fscm"},{"title":"Dynamics 365 Dataverse Web API","href":"/latest/lot-language/routes/rest-api-apps/dynamics365"},{"title":"Dynatrace","href":"/latest/lot-language/routes/rest-api-apps/dynatrace"},{"title":"EasyPost","href":"/latest/lot-language/routes/rest-api-apps/easypost"},{"title":"Eclipse Ditto (digital twins)","href":"/latest/lot-language/routes/rest-api-apps/eclipse-ditto"},{"title":"Eclipse hawkBit (OTA)","href":"/latest/lot-language/routes/rest-api-apps/eclipse-hawkbit"},{"title":"Elasticsearch and Elastic Cloud","href":"/latest/lot-language/routes/rest-api-apps/elasticsearch-and-elastic-cloud"},{"title":"Electricity Maps","href":"/latest/lot-language/routes/rest-api-apps/electricity-maps"},{"title":"Enphase Enlighten API v4","href":"/latest/lot-language/routes/rest-api-apps/enphase-enlighten-api-v4"},{"title":"Enphase","href":"/latest/lot-language/routes/rest-api-apps/enphase"},{"title":"ENTSO-E Transparency Platform REST API","href":"/latest/lot-language/routes/rest-api-apps/entso-e-transparency-platform"},{"title":"Epicor Kinetic REST API","href":"/latest/lot-language/routes/rest-api-apps/epicor-kinetic"},{"title":"ERedes Open Data","href":"/latest/lot-language/routes/rest-api-apps/eredes-open-data"},{"title":"Excel Online","href":"/latest/lot-language/routes/rest-api-apps/excel-online"},{"title":"Fed Ex Api","href":"/latest/lot-language/routes/rest-api-apps/fed-ex-api"},{"title":"Fed Ex Auth","href":"/latest/lot-language/routes/rest-api-apps/fed-ex-auth"},{"title":"Fed Ex Docs","href":"/latest/lot-language/routes/rest-api-apps/fed-ex-docs"},{"title":"Firebase Cloud Messaging (HTTP v1)","href":"/latest/lot-language/routes/rest-api-apps/firebase-cloud-messaging"},{"title":"Firebase Realtime Database and Cloud Firestore","href":"/latest/lot-language/routes/rest-api-apps/firebase-realtime-database-and-cloud-firestore"},{"title":"Firebase Realtime Database","href":"/latest/lot-language/routes/rest-api-apps/firebase-realtime-database"},{"title":"Flow Fuse Api","href":"/latest/lot-language/routes/rest-api-apps/flow-fuse-api"},{"title":"Fracttal One Api","href":"/latest/lot-language/routes/rest-api-apps/fracttal-one-api"},{"title":"Freshdesk and Freshservice REST API","href":"/latest/lot-language/routes/rest-api-apps/freshdesk-and-freshservice"},{"title":"Fronius Solar API (local)","href":"/latest/lot-language/routes/rest-api-apps/fronius-solar-api"},{"title":"GE Vernova Proficy Historian","href":"/latest/lot-language/routes/rest-api-apps/ge-vernova-proficy-historian"},{"title":"Gemini Api","href":"/latest/lot-language/routes/rest-api-apps/gemini-api"},{"title":"Geotab (MyGeotab API) REST API","href":"/latest/lot-language/routes/rest-api-apps/geotab"},{"title":"GitHub REST API","href":"/latest/lot-language/routes/rest-api-apps/github"},{"title":"GitLab","href":"/latest/lot-language/routes/rest-api-apps/gitlab"},{"title":"Golioth","href":"/latest/lot-language/routes/rest-api-apps/golioth"},{"title":"Google Address Validation","href":"/latest/lot-language/routes/rest-api-apps/google-address-validation"},{"title":"Google Air Quality","href":"/latest/lot-language/routes/rest-api-apps/google-air-quality"},{"title":"Google BigQuery","href":"/latest/lot-language/routes/rest-api-apps/google-bigquery"},{"title":"Google Cloud Pub/Sub","href":"/latest/lot-language/routes/rest-api-apps/google-cloud-pub-sub"},{"title":"Google Cloud Storage","href":"/latest/lot-language/routes/rest-api-apps/google-cloud-storage"},{"title":"Google Drive","href":"/latest/lot-language/routes/rest-api-apps/google-drive"},{"title":"Google Geolocation","href":"/latest/lot-language/routes/rest-api-apps/google-geolocation"},{"title":"Google Maps Web Services","href":"/latest/lot-language/routes/rest-api-apps/google-maps-web-services"},{"title":"Google Places","href":"/latest/lot-language/routes/rest-api-apps/google-places"},{"title":"Google Roads","href":"/latest/lot-language/routes/rest-api-apps/google-roads"},{"title":"Google Routes","href":"/latest/lot-language/routes/rest-api-apps/google-routes"},{"title":"Google Sheets","href":"/latest/lot-language/routes/rest-api-apps/google-sheets"},{"title":"Google Weather","href":"/latest/lot-language/routes/rest-api-apps/google-weather"},{"title":"Grafana Loki","href":"/latest/lot-language/routes/rest-api-apps/grafana-loki"},{"title":"Grafana","href":"/latest/lot-language/routes/rest-api-apps/grafana"},{"title":"Help Scout","href":"/latest/lot-language/routes/rest-api-apps/help-scout"},{"title":"Here Browse","href":"/latest/lot-language/routes/rest-api-apps/here-browse"},{"title":"Here Discover","href":"/latest/lot-language/routes/rest-api-apps/here-discover"},{"title":"Here Geocode","href":"/latest/lot-language/routes/rest-api-apps/here-geocode"},{"title":"HERE Geocoding","href":"/latest/lot-language/routes/rest-api-apps/here-geocoding"},{"title":"Here Isoline","href":"/latest/lot-language/routes/rest-api-apps/here-isoline"},{"title":"Here Lookup","href":"/latest/lot-language/routes/rest-api-apps/here-lookup"},{"title":"Here Matrix","href":"/latest/lot-language/routes/rest-api-apps/here-matrix"},{"title":"Here Multi Reverse Geocode","href":"/latest/lot-language/routes/rest-api-apps/here-multi-reverse-geocode"},{"title":"Here Reverse Geocode","href":"/latest/lot-language/routes/rest-api-apps/here-reverse-geocode"},{"title":"Here Route Matching","href":"/latest/lot-language/routes/rest-api-apps/here-route-matching"},{"title":"Here Routing","href":"/latest/lot-language/routes/rest-api-apps/here-routing"},{"title":"Here Tour Planning","href":"/latest/lot-language/routes/rest-api-apps/here-tour-planning"},{"title":"Here Traffic","href":"/latest/lot-language/routes/rest-api-apps/here-traffic"},{"title":"Here Waypoints Sequence","href":"/latest/lot-language/routes/rest-api-apps/here-waypoints-sequence"},{"title":"High Byte Config","href":"/latest/lot-language/routes/rest-api-apps/high-byte-config"},{"title":"High Byte Data","href":"/latest/lot-language/routes/rest-api-apps/high-byte-data"},{"title":"Home Assistant","href":"/latest/lot-language/routes/rest-api-apps/home-assistant"},{"title":"HTTPBin REST API","href":"/latest/lot-language/routes/rest-api-apps/httpbin"},{"title":"HubSpot CRM API","href":"/latest/lot-language/routes/rest-api-apps/hubspot"},{"title":"Hugging Face Dedicated Endpoint","href":"/latest/lot-language/routes/rest-api-apps/hugging-face-dedicated-endpoint"},{"title":"Hugging Face Hub","href":"/latest/lot-language/routes/rest-api-apps/hugging-face-hub"},{"title":"Hugging Face Inference Endpoints","href":"/latest/lot-language/routes/rest-api-apps/hugging-face-inference-endpoints"},{"title":"Hugging Face Inference Providers","href":"/latest/lot-language/routes/rest-api-apps/hugging-face-inference-providers"},{"title":"HxGN EAM (Hexagon, formerly Infor EAM)","href":"/latest/lot-language/routes/rest-api-apps/hxgn-eam"},{"title":"IBM Maximo Manage","href":"/latest/lot-language/routes/rest-api-apps/ibm-maximo-manage"},{"title":"IFS Cloud REST API","href":"/latest/lot-language/routes/rest-api-apps/ifs-cloud"},{"title":"Ignition (Inductive Automation)","href":"/latest/lot-language/routes/rest-api-apps/ignition"},{"title":"InfluxDB","href":"/latest/lot-language/routes/rest-api-apps/influxdb"},{"title":"Infor CloudSuite via ION API Gateway REST API","href":"/latest/lot-language/routes/rest-api-apps/infor-cloudsuite-via-ion-api-gateway"},{"title":"Intercom","href":"/latest/lot-language/routes/rest-api-apps/intercom"},{"title":"Jira Cloud (Software)","href":"/latest/lot-language/routes/rest-api-apps/jira-cloud"},{"title":"Jira Service Management","href":"/latest/lot-language/routes/rest-api-apps/jira-service-management"},{"title":"JSONPlaceholder REST API","href":"/latest/lot-language/routes/rest-api-apps/jsonplaceholder"},{"title":"Kepware Config","href":"/latest/lot-language/routes/rest-api-apps/kepware-config"},{"title":"Kepware Iot Gateway","href":"/latest/lot-language/routes/rest-api-apps/kepware-iot-gateway"},{"title":"Limble CMMS","href":"/latest/lot-language/routes/rest-api-apps/limble-cmms"},{"title":"Litmus Edge","href":"/latest/lot-language/routes/rest-api-apps/litmus-edge"},{"title":"Looker","href":"/latest/lot-language/routes/rest-api-apps/looker"},{"title":"Losant","href":"/latest/lot-language/routes/rest-api-apps/losant"},{"title":"MachineMetrics","href":"/latest/lot-language/routes/rest-api-apps/machinemetrics"},{"title":"Mailgun","href":"/latest/lot-language/routes/rest-api-apps/mailgun"},{"title":"MaintainX","href":"/latest/lot-language/routes/rest-api-apps/maintainx"},{"title":"Mapbox","href":"/latest/lot-language/routes/rest-api-apps/mapbox"},{"title":"Mattermost","href":"/latest/lot-language/routes/rest-api-apps/mattermost"},{"title":"Memfault","href":"/latest/lot-language/routes/rest-api-apps/memfault"},{"title":"Mender","href":"/latest/lot-language/routes/rest-api-apps/mender"},{"title":"Metabase","href":"/latest/lot-language/routes/rest-api-apps/metabase"},{"title":"Microsoft Power BI","href":"/latest/lot-language/routes/rest-api-apps/microsoft-power-bi"},{"title":"Microsoft Teams","href":"/latest/lot-language/routes/rest-api-apps/microsoft-teams"},{"title":"MinIO","href":"/latest/lot-language/routes/rest-api-apps/minio"},{"title":"Mistral AI","href":"/latest/lot-language/routes/rest-api-apps/mistral-ai"},{"title":"monday.com","href":"/latest/lot-language/routes/rest-api-apps/monday-com"},{"title":"My Dhl Express","href":"/latest/lot-language/routes/rest-api-apps/my-dhl-express"},{"title":"N3uron","href":"/latest/lot-language/routes/rest-api-apps/n3uron"},{"title":"Oracle NetSuite (SuiteTalk REST)","href":"/latest/lot-language/routes/rest-api-apps/netsuite"},{"title":"New Relic","href":"/latest/lot-language/routes/rest-api-apps/new-relic"},{"title":"Nextcloud","href":"/latest/lot-language/routes/rest-api-apps/nextcloud"},{"title":"Node Red Admin","href":"/latest/lot-language/routes/rest-api-apps/node-red-admin"},{"title":"Node Red Http In","href":"/latest/lot-language/routes/rest-api-apps/node-red-http-in"},{"title":"Notion","href":"/latest/lot-language/routes/rest-api-apps/notion"},{"title":"ntfy","href":"/latest/lot-language/routes/rest-api-apps/ntfy"},{"title":"OCPI 2.2.1 (EV charging roaming)","href":"/latest/lot-language/routes/rest-api-apps/ocpi-2-2-1"},{"title":"Odoo","href":"/latest/lot-language/routes/rest-api-apps/odoo"},{"title":"Okta","href":"/latest/lot-language/routes/rest-api-apps/okta"},{"title":"Ollama (local models)","href":"/latest/lot-language/routes/rest-api-apps/ollama"},{"title":"Open-Meteo REST API","href":"/latest/lot-language/routes/rest-api-apps/open-meteo"},{"title":"OpenADR 3.0 (demand response)","href":"/latest/lot-language/routes/rest-api-apps/openadr-3-0"},{"title":"OpenAI","href":"/latest/lot-language/routes/rest-api-apps/openai"},{"title":"OpenAQ","href":"/latest/lot-language/routes/rest-api-apps/openaq"},{"title":"OpenEI","href":"/latest/lot-language/routes/rest-api-apps/openei"},{"title":"OpenWeatherMap REST API","href":"/latest/lot-language/routes/rest-api-apps/openweathermap"},{"title":"Opsgenie","href":"/latest/lot-language/routes/rest-api-apps/opsgenie"},{"title":"Oracle E-Business Suite (Integrated SOA Gateway)","href":"/latest/lot-language/routes/rest-api-apps/oracle-e-business-suite"},{"title":"Oracle Fusion Cloud ERP and SCM","href":"/latest/lot-language/routes/rest-api-apps/oracle-fusion-erp"},{"title":"Oracle JD Edwards EnterpriseOne","href":"/latest/lot-language/routes/rest-api-apps/oracle-jd-edwards"},{"title":"Osm Nominatim","href":"/latest/lot-language/routes/rest-api-apps/osm-nominatim"},{"title":"Osm Osrm","href":"/latest/lot-language/routes/rest-api-apps/osm-osrm"},{"title":"PagerDuty","href":"/latest/lot-language/routes/rest-api-apps/pagerduty"},{"title":"Particle","href":"/latest/lot-language/routes/rest-api-apps/particle"},{"title":"Pipedrive","href":"/latest/lot-language/routes/rest-api-apps/pipedrive"},{"title":"Postman Echo REST API","href":"/latest/lot-language/routes/rest-api-apps/postman-echo"},{"title":"Project Haystack","href":"/latest/lot-language/routes/rest-api-apps/project-haystack"},{"title":"Prometheus, Alertmanager and Pushgateway","href":"/latest/lot-language/routes/rest-api-apps/prometheus-alertmanager-and-pushgateway"},{"title":"PTC Windchill (Windchill REST Services)","href":"/latest/lot-language/routes/rest-api-apps/ptc-windchill"},{"title":"PurpleAir","href":"/latest/lot-language/routes/rest-api-apps/purpleair"},{"title":"Pushover","href":"/latest/lot-language/routes/rest-api-apps/pushover"},{"title":"QAD Adaptive ERP","href":"/latest/lot-language/routes/rest-api-apps/qad-adaptive-erp"},{"title":"QAD Redzone","href":"/latest/lot-language/routes/rest-api-apps/qad-redzone"},{"title":"Qlik Cloud","href":"/latest/lot-language/routes/rest-api-apps/qlik-cloud"},{"title":"QuestDB","href":"/latest/lot-language/routes/rest-api-apps/questdb"},{"title":"QuickBooks Online","href":"/latest/lot-language/routes/rest-api-apps/quickbooks-online"},{"title":"Ren Data Hub","href":"/latest/lot-language/routes/rest-api-apps/ren-data-hub"},{"title":"Rhize Api","href":"/latest/lot-language/routes/rest-api-apps/rhize-api"},{"title":"Rockwell Plex Smart Manufacturing Platform","href":"/latest/lot-language/routes/rest-api-apps/rockwell-plex-smart-manufacturing-platform"},{"title":"Salesforce","href":"/latest/lot-language/routes/rest-api-apps/salesforce"},{"title":"Samsara REST API","href":"/latest/lot-language/routes/rest-api-apps/samsara"},{"title":"Sap Ariba Open Api","href":"/latest/lot-language/routes/rest-api-apps/sap-ariba-open-api"},{"title":"SAP Business One Service Layer","href":"/latest/lot-language/routes/rest-api-apps/sap-b1"},{"title":"SAP Digital Manufacturing","href":"/latest/lot-language/routes/rest-api-apps/sap-digital-manufacturing"},{"title":"SAP Field Service Management","href":"/latest/lot-language/routes/rest-api-apps/sap-field-service-management"},{"title":"SAP S/4HANA Cloud","href":"/latest/lot-language/routes/rest-api-apps/sap-s4hana-cloud"},{"title":"SAP S/4HANA on-premise / ECC (Gateway)","href":"/latest/lot-language/routes/rest-api-apps/sap-s4hana-onprem"},{"title":"SAP SuccessFactors","href":"/latest/lot-language/routes/rest-api-apps/sap-successfactors"},{"title":"Seeq","href":"/latest/lot-language/routes/rest-api-apps/seeq"},{"title":"SendGrid","href":"/latest/lot-language/routes/rest-api-apps/sendgrid"},{"title":"Sentry","href":"/latest/lot-language/routes/rest-api-apps/sentry"},{"title":"Sepasoft MES for Ignition","href":"/latest/lot-language/routes/rest-api-apps/sepasoft-mes-for-ignition"},{"title":"Service Titan Api","href":"/latest/lot-language/routes/rest-api-apps/service-titan-api"},{"title":"ServiceMax (PTC)","href":"/latest/lot-language/routes/rest-api-apps/servicemax"},{"title":"ServiceNow","href":"/latest/lot-language/routes/rest-api-apps/servicenow"},{"title":"SharePoint and OneDrive (Microsoft Graph)","href":"/latest/lot-language/routes/rest-api-apps/sharepoint-and-onedrive"},{"title":"Shelly Cloud Control","href":"/latest/lot-language/routes/rest-api-apps/shelly-cloud-control"},{"title":"Shelly Gen2 Rpc","href":"/latest/lot-language/routes/rest-api-apps/shelly-gen2-rpc"},{"title":"Shopify","href":"/latest/lot-language/routes/rest-api-apps/shopify"},{"title":"Siemens Industrial Edge Management","href":"/latest/lot-language/routes/rest-api-apps/siemens-industrial-edge-management"},{"title":"Siemens Insights Hub","href":"/latest/lot-language/routes/rest-api-apps/siemens-insights-hub"},{"title":"Siemens Opcenter Execution","href":"/latest/lot-language/routes/rest-api-apps/siemens-opcenter-execution"},{"title":"Siemens Teamcenter","href":"/latest/lot-language/routes/rest-api-apps/siemens-teamcenter"},{"title":"Siemens WinCC Unified (GraphQL server)","href":"/latest/lot-language/routes/rest-api-apps/siemens-wincc-unified"},{"title":"Sight Machine","href":"/latest/lot-language/routes/rest-api-apps/sight-machine"},{"title":"Slack REST API","href":"/latest/lot-language/routes/rest-api-apps/slack"},{"title":"Smartsheet","href":"/latest/lot-language/routes/rest-api-apps/smartsheet"},{"title":"Snowflake SQL API","href":"/latest/lot-language/routes/rest-api-apps/snowflake-sql-api"},{"title":"SolarEdge Monitoring API","href":"/latest/lot-language/routes/rest-api-apps/solaredge-monitoring-api"},{"title":"SolarEdge","href":"/latest/lot-language/routes/rest-api-apps/solaredge"},{"title":"Soracom","href":"/latest/lot-language/routes/rest-api-apps/soracom"},{"title":"Splunk Enterprise and Cloud","href":"/latest/lot-language/routes/rest-api-apps/splunk-enterprise-and-cloud"},{"title":"Stripe REST API","href":"/latest/lot-language/routes/rest-api-apps/stripe"},{"title":"SugarCRM","href":"/latest/lot-language/routes/rest-api-apps/sugarcrm"},{"title":"Supabase","href":"/latest/lot-language/routes/rest-api-apps/supabase"},{"title":"Tableau (Server and Cloud)","href":"/latest/lot-language/routes/rest-api-apps/tableau"},{"title":"TDengine","href":"/latest/lot-language/routes/rest-api-apps/tdengine"},{"title":"Telegram Bot API","href":"/latest/lot-language/routes/rest-api-apps/telegram-bot-api"},{"title":"Teltonika RMS","href":"/latest/lot-language/routes/rest-api-apps/teltonika-rms"},{"title":"The Things Stack","href":"/latest/lot-language/routes/rest-api-apps/the-things-stack"},{"title":"ThingsBoard","href":"/latest/lot-language/routes/rest-api-apps/thingsboard"},{"title":"Traccar (open-source GPS server) REST API","href":"/latest/lot-language/routes/rest-api-apps/traccar"},{"title":"Trackunit Iris","href":"/latest/lot-language/routes/rest-api-apps/trackunit-iris"},{"title":"Trello","href":"/latest/lot-language/routes/rest-api-apps/trello"},{"title":"Tulip","href":"/latest/lot-language/routes/rest-api-apps/tulip"},{"title":"Twilio (SMS, Voice, WhatsApp)","href":"/latest/lot-language/routes/rest-api-apps/twilio"},{"title":"Ubidots","href":"/latest/lot-language/routes/rest-api-apps/ubidots"},{"title":"UpKeep","href":"/latest/lot-language/routes/rest-api-apps/upkeep"},{"title":"Ups Api","href":"/latest/lot-language/routes/rest-api-apps/ups-api"},{"title":"Veeva Vault Api","href":"/latest/lot-language/routes/rest-api-apps/veeva-vault-api"},{"title":"Vertex Ai","href":"/latest/lot-language/routes/rest-api-apps/vertex-ai"},{"title":"Victron VRM API","href":"/latest/lot-language/routes/rest-api-apps/victron-vrm-api"},{"title":"WattTime","href":"/latest/lot-language/routes/rest-api-apps/watttime"},{"title":"Webfleet (Bridgestone)","href":"/latest/lot-language/routes/rest-api-apps/webfleet"},{"title":"WhatsApp Business Platform (Meta Cloud API)","href":"/latest/lot-language/routes/rest-api-apps/whatsapp-business-platform"},{"title":"Workday","href":"/latest/lot-language/routes/rest-api-apps/workday"},{"title":"Xero","href":"/latest/lot-language/routes/rest-api-apps/xero"},{"title":"Zabbix","href":"/latest/lot-language/routes/rest-api-apps/zabbix"},{"title":"Zendesk Support","href":"/latest/lot-language/routes/rest-api-apps/zendesk-support"},{"title":"Zoho CRM REST API","href":"/latest/lot-language/routes/rest-api-apps/zoho-crm"}]},{"title":"MCP Connectors","href":"/latest/lot-language/routes/mcp-routes"},{"title":"AI Connectors and Agents","href":"/latest/lot-language/routes/ai-routes"},{"group":"Media Connectors","pages":[{"title":"Media Connectors","href":"/latest/lot-language/routes/media/overview"},{"title":"Barcode Connector","href":"/latest/lot-language/routes/media/barcode"},{"title":"Video Input Connector","href":"/latest/lot-language/routes/media/video-input"},{"title":"Audio Input Connector","href":"/latest/lot-language/routes/media/audio-input"}]},{"title":"Connector Examples","href":"/latest/lot-language/routes/examples"}]},{"group":"LoT AGENT","pages":[{"title":"Agents Overview","href":"/latest/lot-language/agents/overview"},{"title":"Agent Syntax","href":"/latest/lot-language/agents/syntax"},{"title":"Agent Examples","href":"/latest/lot-language/agents/examples"}]},{"group":"LoT THING","pages":[{"title":"Things Overview","href":"/latest/lot-language/things/overview"},{"title":"Thing Syntax","href":"/latest/lot-language/things/syntax"},{"title":"Thing Examples","href":"/latest/lot-language/things/examples"}]},{"group":"LoT RULE","pages":[{"title":"RULE Overview","href":"/latest/lot-language/rules/overview"},{"title":"RULE Syntax","href":"/latest/lot-language/rules/syntax"},{"title":"RBAC with LoT Rules","href":"/latest/lot-language/rules/rbac"}]},{"group":"LoT PANEL","pages":[{"title":"Defining a Panel","href":"/latest/lot-language/panels/defining-panels"},{"title":"Data Binding","href":"/latest/lot-language/panels/data-binding"},{"title":"Actions \u0026 Events","href":"/latest/lot-language/panels/actions-events"}]},{"group":"Best Practices and Usage Patterns","pages":[{"title":"Naming conventions","href":"/latest/lot-language/usage-patterns/naming-conventions"},{"title":"Designing your data layer","href":"/latest/lot-language/usage-patterns/data-layer"},{"title":"Working with JSON","href":"/latest/lot-language/usage-patterns/working-with-json"},{"title":"Writing reusable logic","href":"/latest/lot-language/usage-patterns/reusable-logic"},{"title":"Alarms and monitoring","href":"/latest/lot-language/usage-patterns/alarms-and-monitoring"},{"title":"Connecting to the outside world","href":"/latest/lot-language/usage-patterns/integrations"},{"title":"Production architecture","href":"/latest/lot-language/usage-patterns/production-architecture"},{"title":"Project organization","href":"/latest/lot-language/usage-patterns/project-organization"},{"title":"Anti-patterns","href":"/latest/lot-language/usage-patterns/anti-patterns"}]}]},{"group":"Coreflux HUB","tag":"2.12","pages":[{"title":"Coreflux HUB Overview","href":"/hub/overview"},{"title":"Connections Manager","href":"/hub/connections"},{"title":"Account, Fleet, and Cloud Mode","href":"/hub/account-and-fleet"},{"title":"AI Assistant","href":"/hub/ai-assistant"},{"group":"Viewing MQTT Data","pages":[{"title":"MQTT Overview","href":"/hub/mqtt/overview"},{"title":"Data Viewer","href":"/hub/mqtt/data-viewer"},{"title":"UNS Viewer","href":"/hub/mqtt/uns-viewer"},{"title":"Connected Clients","href":"/hub/mqtt/connected-clients"}]},{"title":"LoT Editor","href":"/hub/lot-editor"},{"title":"LoT Flow","href":"/hub/lot-flow"},{"title":"Cluster Viewer","href":"/hub/cluster-viewer"},{"group":"Dashboards","pages":[{"title":"Dashboards in the HUB","href":"/hub/dashboards/overview"},{"title":"Dashboard Manager","href":"/hub/dashboards/manager"},{"group":"Component Reference","pages":[{"title":"Display Components","href":"/hub/dashboards/components/display"},{"title":"Input \u0026 Control Components","description":"Buttons, toggles, sliders, and fields that write back to your broker.","href":"/hub/dashboards/components/inputs"},{"title":"Container Components","href":"/hub/dashboards/components/containers"}]},{"title":"Common Patterns","description":"Ready-to-adapt panel recipes for the most frequent dashboard jobs.","href":"/hub/dashboards/patterns"}]},{"group":"Managing Connectors","pages":[{"title":"Connectors Overview","href":"/hub/routes/overview"},{"title":"Connector Configuration","href":"/hub/routes/configuration"},{"title":"Connectors Monitoring","href":"/hub/routes/monitoring"}]},{"group":"Administering the Broker","pages":[{"title":"System Overview","href":"/hub/system/overview"},{"title":"System Configuration","href":"/hub/system/configuration"},{"title":"Certificates","href":"/hub/system/certificates"},{"title":"User Management","href":"/hub/system/user-management"},{"title":"Command Console","href":"/hub/system/command-console"},{"title":"Broker Logs","href":"/hub/system/broker-logs"}]}]},{"group":"VS Code - LoT Notebooks","tag":"1.0","pages":[{"title":"How to Use a LoT Notebook","href":"/lot-notebooks/usage"},{"title":"How to Debug in LoT Notebooks","href":"/lot-notebooks/debug"},{"title":"Tutorials","href":"/lot-notebooks/tutorials"},{"title":"File Format","href":"/lot-notebooks/file-format"}]},{"group":"Coreflux Portal","pages":[{"title":"Coreflux Portal","href":"/portal/overview"},{"title":"Getting Started with the Portal","href":"/portal/getting-started"},{"title":"Fleet","href":"/portal/fleet"},{"title":"Licensing","href":"/portal/licensing"},{"title":"Team and Settings","href":"/portal/team-and-settings"}]},{"group":"Using AI with Coreflux","pages":[{"title":"Model Context Protocol (MCP)","href":"/ai/mcp"},{"title":"Coreflux Agent Skills","href":"/ai/agent-skills"},{"title":"Developing with LoT Using AI","href":"/ai/developing-with-lot"},{"title":"AI-Assisted Development Best Practices","href":"/ai/best-practices"}]},{"group":"Product Updates","pages":[{"title":"Release Notes","href":"/product-updates/release-notes"}]}]},{"version":"v2.14","default":false,"groups":[{"group":"Quick Start","pages":[{"title":"Welcome","icon":"house","href":"/v2.14"},{"title":"Installation","icon":"download","href":"/v2.14/quick-start/installation"},{"title":"Updating Your Coreflux","icon":"rotate","href":"/v2.14/updating-coreflux"},{"title":"Getting Started","icon":"rocket","href":"/v2.14/quick-start/getting-started"},{"title":"Using Coreflux HUB","icon":"globe","href":"/v2.14/quick-start/using-hub"},{"title":"Using LoT Notebooks","sidebarTitle":"Using LoT Notebooks","icon":"code","href":"/v2.14/quick-start/vscode"},{"title":"Using AI with Coreflux","icon":"wand-magic-sparkles","href":"/v2.14/quick-start/using-ai"},{"title":"Build Your First Dashboard","icon":"rocket","href":"/v2.14/quick-start/building-dashboards"},{"title":"Creating Agents in Coreflux","icon":"robot","href":"/v2.14/quick-start/creating-agents"},{"title":"Best Practices \u0026 Patterns","icon":"book-open","href":"/v2.14/quick-start/best-practices"}]},{"group":"Coreflux MQTT Broker","pages":[{"title":"MQTT Broker","href":"/v2.14/mqtt-broker/overview"},{"title":"MQTT Protocol","href":"/v2.14/mqtt-broker/protocol"},{"title":"High-Availability Clustering","href":"/v2.14/mqtt-broker/clustering"},{"group":"Configuring the Broker","pages":[{"title":"Broker Configuration","href":"/v2.14/mqtt-broker/configuration"},{"title":"MQTT State Durability","href":"/v2.14/mqtt-broker/durability"},{"title":"Environment Variables \u0026 Secrets","href":"/v2.14/mqtt-broker/secrets-and-env"},{"title":"Startup Options \u0026 Deployment","href":"/v2.14/mqtt-broker/startup-options"}]},{"group":"Operating the Broker","pages":[{"title":"System ($SYS) Topics","href":"/v2.14/mqtt-broker/sys-topics"},{"title":"Broker Commands","href":"/v2.14/mqtt-broker/commands"}]}]},{"group":"LoT Language","pages":[{"title":"Introduction to LoT","href":"/v2.14/lot-language/introduction"},{"group":"LoT ACTION","pages":[{"title":"ACTION Overview","href":"/v2.14/lot-language/actions/overview"},{"title":"ACTION Syntax Reference","href":"/v2.14/lot-language/actions/syntax"},{"title":"ACTION Triggers","href":"/v2.14/lot-language/actions/events"},{"title":"Callable ACTIONs","href":"/v2.14/lot-language/actions/callable-actions"},{"title":"ACTION Operations Reference","href":"/v2.14/lot-language/actions/operations"},{"title":"ACTION Python Integration","href":"/v2.14/lot-language/actions/python-integration"}]},{"group":"LoT MODEL","pages":[{"title":"MODEL Overview","href":"/v2.14/lot-language/models/overview"},{"title":"MODEL Syntax and Components","href":"/v2.14/lot-language/models/schema-definition"},{"title":"MODEL Publishing","href":"/v2.14/lot-language/models/publish-model"},{"title":"MODEL Inheritance","href":"/v2.14/lot-language/models/model-inheritance"},{"title":"MODEL Protobuf","href":"/v2.14/lot-language/models/protobuf"},{"title":"MODEL Examples","href":"/v2.14/lot-language/models/examples"}]},{"group":"LoT ROUTE","pages":[{"title":"Routes Overview","href":"/v2.14/lot-language/routes/overview"},{"title":"Route Overload Configuration","href":"/v2.14/lot-language/routes/route-config"},{"group":"System Routes","pages":[{"title":"System Routes","href":"/v2.14/lot-language/routes/system-routes"},{"title":"MQTT Bridge Route","href":"/v2.14/lot-language/routes/system/mqtt-bridge"},{"title":"Sparkplug B Route","href":"/v2.14/lot-language/routes/system/sparkplug-b"},{"title":"Sparkplug Host Route","href":"/v2.14/lot-language/routes/system/sparkplug-host"}]},{"group":"Industrial Routes","pages":[{"title":"Industrial Routes Overview","href":"/v2.14/lot-language/routes/industrial/overview"},{"title":"Modbus TCP Client Route","href":"/v2.14/lot-language/routes/industrial/modbus-tcp-client"},{"title":"Modbus Serial Client Route","href":"/v2.14/lot-language/routes/industrial/modbus-serial-client"},{"title":"Modbus TCP Server Route","href":"/v2.14/lot-language/routes/industrial/modbus-tcp-server"},{"title":"Siemens S7 Route","href":"/v2.14/lot-language/routes/industrial/siemens-s7"},{"title":"OPC UA Client Route","href":"/v2.14/lot-language/routes/industrial/opcua-client"},{"title":"OPC UA Server Route","href":"/v2.14/lot-language/routes/industrial/opcua-server"},{"title":"ADS Route (Beckhoff)","href":"/v2.14/lot-language/routes/industrial/ads"},{"title":"Allen-Bradley Route","href":"/v2.14/lot-language/routes/industrial/allen-bradley"},{"title":"EtherNet/IP Route","href":"/v2.14/lot-language/routes/industrial/ethernetip"},{"title":"FINS Route (Omron)","href":"/v2.14/lot-language/routes/industrial/fins"},{"title":"BACnet/IP Route","href":"/v2.14/lot-language/routes/industrial/bacnet"}]},{"group":"Data Storage Routes","pages":[{"title":"Data Storage Routes Overview","href":"/v2.14/lot-language/routes/data-storage/overview"},{"title":"PostgreSQL Route","href":"/v2.14/lot-language/routes/data-storage/postgresql"},{"title":"MySQL Route","href":"/v2.14/lot-language/routes/data-storage/mysql"},{"title":"MariaDB Route","href":"/v2.14/lot-language/routes/data-storage/mariadb"},{"title":"SQL Server Route","href":"/v2.14/lot-language/routes/data-storage/sqlserver"},{"title":"MongoDB Route","href":"/v2.14/lot-language/routes/data-storage/mongodb"},{"title":"OpenSearch Route","href":"/v2.14/lot-language/routes/data-storage/opensearch"},{"title":"CrateDB Route","href":"/v2.14/lot-language/routes/data-storage/cratedb"},{"title":"Snowflake Route","href":"/v2.14/lot-language/routes/data-storage/snowflake"},{"title":"File Storage Route","href":"/v2.14/lot-language/routes/data-storage/file-storage"}]},{"group":"Streaming Routes","pages":[{"title":"Kafka Route","href":"/v2.14/lot-language/routes/streaming/kafka"}]},{"group":"Notification Routes","pages":[{"title":"Email Route","href":"/v2.14/lot-language/routes/notifications/email"}]},{"title":"REST API Routes","href":"/v2.14/lot-language/routes/rest-api-routes"},{"title":"MCP Routes","href":"/v2.14/lot-language/routes/mcp-routes"},{"title":"AI Routes","href":"/v2.14/lot-language/routes/ai-routes"},{"title":"Media Routes","href":"/v2.14/lot-language/routes/media-routes"},{"title":"Route Examples","href":"/v2.14/lot-language/routes/examples"}]},{"group":"LoT RULE","pages":[{"title":"RULE Overview","href":"/v2.14/lot-language/rules/overview"},{"title":"RULE Syntax","href":"/v2.14/lot-language/rules/syntax"},{"title":"RBAC with LoT Rules","href":"/v2.14/lot-language/rules/rbac"}]},{"group":"LoT PANEL","pages":[{"title":"Defining a Panel","href":"/v2.14/lot-language/panels/defining-panels"},{"title":"Data Binding","href":"/v2.14/lot-language/panels/data-binding"},{"title":"Actions \u0026 Events","href":"/v2.14/lot-language/panels/actions-events"}]},{"group":"Best Practices and Usage Patterns","pages":[{"title":"Naming conventions","href":"/v2.14/lot-language/usage-patterns/naming-conventions"},{"title":"Designing your data layer","href":"/v2.14/lot-language/usage-patterns/data-layer"},{"title":"Working with JSON","href":"/v2.14/lot-language/usage-patterns/working-with-json"},{"title":"Writing reusable logic","href":"/v2.14/lot-language/usage-patterns/reusable-logic"},{"title":"Alarms and monitoring","href":"/v2.14/lot-language/usage-patterns/alarms-and-monitoring"},{"title":"Connecting to the outside world","href":"/v2.14/lot-language/usage-patterns/integrations"},{"title":"Production architecture","href":"/v2.14/lot-language/usage-patterns/production-architecture"},{"title":"Project organization","href":"/v2.14/lot-language/usage-patterns/project-organization"},{"title":"Anti-patterns","href":"/v2.14/lot-language/usage-patterns/anti-patterns"}]}]},{"group":"Coreflux HUB","tag":"2.3","pages":[{"title":"Coreflux HUB Overview","href":"/hub/overview"},{"title":"Connections Manager","href":"/hub/connections"},{"title":"AI Assistant","href":"/hub/ai-assistant"},{"group":"Viewing MQTT Data","pages":[{"title":"MQTT Overview","href":"/hub/mqtt/overview"},{"title":"Data Viewer","href":"/hub/mqtt/data-viewer"},{"title":"UNS Viewer","href":"/hub/mqtt/uns-viewer"},{"title":"Connected Clients","href":"/hub/mqtt/connected-clients"}]},{"title":"LoT Editor","href":"/hub/lot-editor"},{"title":"LoT Flow","href":"/hub/lot-flow"},{"title":"Cluster Viewer","href":"/hub/cluster-viewer"},{"group":"Dashboards","pages":[{"title":"Dashboards in the HUB","href":"/hub/dashboards/overview"},{"title":"Dashboard Manager","href":"/hub/dashboards/manager"},{"group":"Component Reference","pages":[{"title":"Display Components","href":"/hub/dashboards/components/display"},{"title":"Input \u0026 Control Components","description":"Buttons, toggles, sliders, and fields that write back to your broker.","href":"/hub/dashboards/components/inputs"},{"title":"Container Components","href":"/hub/dashboards/components/containers"}]},{"title":"Common Patterns","description":"Ready-to-adapt panel recipes for the most frequent dashboard jobs.","href":"/hub/dashboards/patterns"}]},{"group":"Managing Routes","pages":[{"title":"Connectors Overview","href":"/hub/routes/overview"},{"title":"Connector Configuration","href":"/hub/routes/configuration"},{"title":"Connectors Monitoring","href":"/hub/routes/monitoring"}]},{"group":"Administering the Broker","pages":[{"title":"System Overview","href":"/hub/system/overview"},{"title":"System Configuration","href":"/hub/system/configuration"},{"title":"User Management","href":"/hub/system/user-management"},{"title":"Command Console","href":"/hub/system/command-console"},{"title":"Broker Logs","href":"/hub/system/broker-logs"}]}]},{"group":"VS Code - LoT Notebooks","tag":"1.0","pages":[{"title":"How to Use a LoT Notebook","href":"/lot-notebooks/usage"},{"title":"How to Debug in LoT Notebooks","href":"/lot-notebooks/debug"},{"title":"Tutorials","href":"/lot-notebooks/tutorials"},{"title":"File Format","href":"/lot-notebooks/file-format"}]},{"group":"Using AI with Coreflux","pages":[{"title":"Model Context Protocol (MCP)","href":"/ai/mcp"},{"title":"Developing with LoT Using AI","href":"/ai/developing-with-lot"},{"title":"AI-Assisted Development Best Practices","href":"/ai/best-practices"}]},{"group":"Product Updates","pages":[{"title":"Release Notes","href":"/product-updates/release-notes"}]}]},{"version":"v2.2","pages":[{"title":"v2.2","href":"/v2.2"}]},{"version":"v2.1","default":false,"pages":[{"title":"v2.1","href":"/v2.1"}]},{"version":"v2.0","default":false,"pages":[{"title":"v2.0","href":"/v2.0"}]},{"version":"v1.10","default":false,"pages":[{"title":"v1.10","href":"/v1.10"}]}]},"title":"Container Components - Coreflux Documentation","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-BbYRHtLl.js","DynamicMarkdown-DN96a4Ur.js","zoom-image-lightbox-D7yRe3On.js","lightbox-handle-r17bVUz3.js"]}