A cluster is several broker hosts acting as one system. Cluster Viewer draws that system from the broker host you are already connected to, so you can see who leads, which links are up, which node owns each exclusive piece of LoT, and how partitions are placed — without opening a shell on every host.
Cluster Viewer carries a Beta badge on its window. The dock icon is labeled Cluster. It appears only while the connected broker host is publishing cluster status.
Like a seating chart that updates itself. You see who is leading, who is sitting in, and who is holding each shared task — from the one host you opened.
Confirm the cluster is up — See which members are alive and who the leader is
Check a link — See whether data-plane links between hosts are connected
Find who runs an exclusive piece of LoT — Timers, ON START actions, exclusive connectors, and scheduled connector events run on one node
See partition placement — See which host owns each partition and where the copies sit
Clustering is an Enterprise license feature. If the license does not grant it, the broker runs standalone and this icon stays off the dock. See High-availability clustering and Licensing.Open Cluster on the dock. The window is read-only. It reads the cluster status the connected broker host publishes. It does not elect a leader, move ownership, or change cluster settings.If clustering is off, the icon is not on the dock. Opening the window another way shows that the connected broker is not publishing cluster status.
A strip across the top summarizes the cluster as this broker host sees it:
Item
What it tells you
Cluster
The cluster identity
Leader
The host that currently leads
Members
How many members are alive out of the member count
Term / Commit
How far leader election and the committed log have progressed
LoT
Whether nodes are on the same committed LoT version, or the versions are mixed
Data plane
How many links between hosts are up
Listeners
Whether any server-connector listener on a member has failed
The strip also says the view is Live (or how old the status is), which host you are seeing it from, and that it is read-only.The canvas draws each member and the links between them. Select a node to open it on the Node tab. Select a link to see each direction. The leader is marked on its node. A host the status names but does not describe yet is drawn as unidentified.
The picture is the view from the broker host you are connected to. It is not a second login to every member.
The selected host: whether it is alive, its role, and its endpoint when the cluster published one.For the host you are connected to, the tab also shows the term and commit index, and whether that host holds the LoT lease.LoT shows the version this host has applied against the version the cluster has committed, whether those match, and any apply errors. Connector listeners lists the server connectors that host reported. Outgoing data-plane links lists the links that start on this host.
Node tab: the selected host, its role, LoT version, connector listeners, and outgoing data-plane links
Replication on the host you are connected to: connected peers, forward backlog, dropped forwards, quorum failures, and how long the last quorum took.Data-plane links lists every reported link, with its state (connected, connecting, disconnected, or unknown). A stale report is marked stale.
Links tab: replication on the connected host and the state of every data-plane link
Which host runs each piece of LoT that must run on exactly one node:
Kind
What it is
Actions (timers, ON START)
Scheduled actions, and actions that run once when the cluster session starts
Exclusive connectors
Connectors that hold a device, a serial port, or a server port
Scheduled connector events
A connector’s timed events
Owner is the host that runs it. Next is the host that takes it if the owner is lost. Epoch goes up each time the entity moves. Unowned means no live host can run it, so it runs nowhere until one can. An exclusive connector is defined on every node, but only its owner opens the connection. The others hold it ready.Select a node on the canvas first if you want the list limited to entities that node owns.
Ownership tab: which host owns each exclusive action, connector, and scheduled connector event
The partition map: how many partitions there are, the replication factor, how many are under-replicated, and which host owns each one.Under-replicated partitions still work. Their replica set is smaller than the factor because there are not enough live hosts to place every copy — for example while a host is down. A healthy cluster shows none.Pick a host to highlight the partitions it owns, the ones where it only keeps a copy, and the ones it does not hold.
Partitions tab: the partition map, replication factor, and owner of each partition
The MQTT clients connected to each node right now, with a total across the cluster. A client is connected to one node. Behind a load balancer, the node can change each time it reconnects.Under Show the clients of, pick All nodes or one node. Filter by client ID, user, or address, and sort by Last active, Newest connection, Most queued, or Client id. The connections the nodes open to each other are hidden unless you turn on Show the cluster’s own connections.Each card shows the client ID, user, address, MQTT version, messages in and out, and when it was last active. A queued badge counts messages waiting for that client; a number that keeps growing means the client isn’t keeping up. Expand a card for when it connected, its last packet, bytes in and out, and how long the broker keeps its session after it disconnects.Lists refresh every 7 seconds. Other nodes’ clients are relayed by those nodes, so they can be a few seconds older. An older broker reports only the clients of the node you’re connected to.
Clients tab on a three-node cluster: nine clients across acme-mqtt-1, acme-mqtt-2, and acme-mqtt-3, sorted by last active
An older broker host may publish only part of this view. The window then names what is missing and still shows the status it did receive.
Turn clustering on, choose discovery, and read what failover does and does not cover.
Connections Manager
Open the broker host whose cluster status this window reads.
Last modified on October 21, 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":{"light":"https://mintcdn.com/coreflux/MrLqLkkFigk8lnZS/images/favicon-light.png?fit=max\u0026auto=format\u0026n=MrLqLkkFigk8lnZS\u0026q=85\u0026s=860b428117f274ee6692629d57830810","dark":"https://mintcdn.com/coreflux/MrLqLkkFigk8lnZS/images/favicon-dark.png?fit=max\u0026auto=format\u0026n=MrLqLkkFigk8lnZS\u0026q=85\u0026s=f6d08e735ef2adfed0993f35987fb3e1"},"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":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aedd0610e1747ee9b9b870f","clientVersion":"0.0.4094","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","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}],"googleFontsInlined":true},"customCss":[{"filePath":"global.css","href":"/_mintlify/custom/coreflux/f4aab090f5b55e96/global.css"}],"page":{"pagePath":"hub/cluster-viewer","slug":"/hub/cluster-viewer","pageMetadata":{"title":"Cluster Viewer","description":"See the nodes, leader, links, LoT ownership, and partitions of a Coreflux cluster from the broker host you are connected to","keywords":["Cluster Viewer","cluster","HUB","Beta","leader","ownership","partitions","data plane","high availability"],"href":"/hub/cluster-viewer"},"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: \"See the nodes, leader, links, LoT ownership, and partitions of a Coreflux cluster from the broker host you are connected to\"\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`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,Note,OptimizedImage,Tab,Table,Tabs,Tip,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,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);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`why-use-cluster-viewer`,children:`Why Use Cluster Viewer?`}),`\n`,_jsx(_components.p,{children:`A cluster is several broker hosts acting as one system. Cluster Viewer draws that system from the broker host you are already connected to, so you can see who leads, which links are up, which node owns each exclusive piece of LoT, and how partitions are placed — without opening a shell on every host.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Cluster Viewer carries a `,_jsx(_components.strong,{children:`Beta`}),` badge on its window. The dock icon is labeled `,_jsx(_components.strong,{children:`Cluster`}),`. It appears only while the connected broker host is publishing cluster status.`]})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Like a seating chart that updates itself.`}),` You see who is leading, who is sitting in, and who is holding each shared task — from the one host you opened.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-use-it`,children:`When to Use It`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Confirm the cluster is up`}),` — See which members are alive and who the leader is`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check a link`}),` — See whether data-plane links between hosts are connected`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Find who runs an exclusive piece of LoT`}),` — Timers, `,_jsx(_components.code,{children:`ON START`}),` actions, exclusive connectors, and scheduled connector events run on one node`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`See partition placement`}),` — See which host owns each partition and where the copies sit`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Clustering is an Enterprise license feature. If the license does not grant it, the broker runs standalone and this icon stays off the dock. See `,_jsx(_components.a,{href:`/latest/mqtt-broker/clustering`,children:`High-availability clustering`}),` and `,_jsx(_components.a,{href:`/latest/mqtt-broker/licensing`,children:`Licensing`}),`.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Cluster`}),` on the dock. The window is read-only. It reads the cluster status the connected broker host publishes. It does not elect a leader, move ownership, or change cluster settings.`]}),`\n`,_jsx(_components.p,{children:`If clustering is off, the icon is not on the dock. Opening the window another way shows that the connected broker is not publishing cluster status.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-the-window-shows`,children:`What the Window Shows`}),`\n`,_jsx(_components.p,{children:`A strip across the top summarizes the cluster as this broker host sees it:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Item`}),_jsx(_components.th,{children:`What it tells you`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Cluster`})}),_jsx(_components.td,{children:`The cluster identity`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Leader`})}),_jsx(_components.td,{children:`The host that currently leads`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Members`})}),_jsx(_components.td,{children:`How many members are alive out of the member count`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Term`}),` / `,_jsx(_components.strong,{children:`Commit`})]}),_jsx(_components.td,{children:`How far leader election and the committed log have progressed`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`LoT`})}),_jsx(_components.td,{children:`Whether nodes are on the same committed LoT version, or the versions are mixed`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Data plane`})}),_jsx(_components.td,{children:`How many links between hosts are up`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Listeners`})}),_jsx(_components.td,{children:`Whether any server-connector listener on a member has failed`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`The strip also says the view is `,_jsx(_components.strong,{children:`Live`}),` (or how old the status is), which host you are seeing it from, and that it is `,_jsx(_components.strong,{children:`read-only`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The canvas draws each member and the links between them. Select a node to open it on the `,_jsx(_components.strong,{children:`Node`}),` tab. Select a link to see each direction. The leader is marked on its node. A host the status names but does not describe yet is drawn as unidentified.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The picture is the view from the broker host you are connected to. It is not a second login to every member.`})}),`\n`,_jsx(Heading,{level:`2`,id:`details`,children:`Details`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Node`,id:`node`,children:[_jsx(_components.p,{children:`The selected host: whether it is alive, its role, and its endpoint when the cluster published one.`}),_jsx(_components.p,{children:`For the host you are connected to, the tab also shows the term and commit index, and whether that host holds the LoT lease.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`LoT`}),` shows the version this host has applied against the version the cluster has committed, whether those match, and any apply errors. `,_jsx(_components.strong,{children:`Connector listeners`}),` lists the server connectors that host reported. `,_jsx(_components.strong,{children:`Outgoing data-plane links`}),` lists the links that start on this host.`]}),_jsxs(Frame,{caption:`Node tab: the selected host, its role, LoT version, connector listeners, and outgoing data-plane links`,children:[_jsx(OptimizedImage,{className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-light.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=3304d205524e2aaa61ab65c8148a1547`,alt:`Coreflux HUB Cluster Viewer window with the Node tab selected: the cluster summary strip across the top, the cluster members and links on the canvas, and the node details panel`,\"data-og-width\":`2600`,width:`2600`,\"data-og-height\":`1720`,height:`1720`,\"data-path\":`images/cluster-viewer/hub-cluster-viewer-node-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=b39df9148c09c13d8ebd5c69615deb39 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=d635312d470a3571b1e941efdb89444c 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=20b7e605f6b8fac56f0f964f5cd9cf2d 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=0b2381ef22204e92b4df92b83459979f 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=1d08f8c2fe829b444770c031feca5b39 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=2b87b5cd3d2d4324a45b50a162aed712 2500w`}),_jsx(OptimizedImage,{className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-dark.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=f5a26e9d0ccc7da779851eb2423db893`,alt:`Coreflux HUB Cluster Viewer window with the Node tab selected: the cluster summary strip across the top, the cluster members and links on the canvas, and the node details panel`,\"data-og-width\":`2600`,width:`2600`,\"data-og-height\":`1720`,height:`1720`,\"data-path\":`images/cluster-viewer/hub-cluster-viewer-node-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=af57cf56b91ab1742ca5818520dcf004 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=0d97d43dce3cfb9f306971c3afa88241 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=9df102fca5a96af87c5373cef9857d2a 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=47edb5a70aa237e4c09385b693ae1c50 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=4b972811ba8fe066309c4d1e2fe0e3d1 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-node-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=d659d8bae3a450a48a6e5fbf7f432e2a 2500w`})]})]}),_jsxs(Tab,{title:`Links`,id:`links`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Replication`}),` on the host you are connected to: connected peers, forward backlog, dropped forwards, quorum failures, and how long the last quorum took.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Data-plane links`}),` lists every reported link, with its state (connected, connecting, disconnected, or unknown). A stale report is marked stale.`]}),_jsxs(Frame,{caption:`Links tab: replication on the connected host and the state of every data-plane link`,children:[_jsx(OptimizedImage,{className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-light.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=b6c4bc1d5c2b32904f7410f31fd3fc97`,alt:`Coreflux HUB Cluster Viewer window with the Links tab selected: the cluster summary strip across the top, the cluster members and links on the canvas, and the links details panel`,\"data-og-width\":`2600`,width:`2600`,\"data-og-height\":`1720`,height:`1720`,\"data-path\":`images/cluster-viewer/hub-cluster-viewer-links-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=e72663f7d0df550a79dbe2db4ff2ad52 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=e7b9ae2b745e5ec32ea75289ea1a31bc 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=1276b0ba7324fd4f3fceb95b1fabc0a1 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=47fda23340ff788aca0f8a7baa1655d8 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=96d7e045860d91bf54776bbe870462ba 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=8cc2e2a0d2eafd4dcec2406865c2a98e 2500w`}),_jsx(OptimizedImage,{className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-dark.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=06ef71e0a63aa0803d7ce8be5fd57f92`,alt:`Coreflux HUB Cluster Viewer window with the Links tab selected: the cluster summary strip across the top, the cluster members and links on the canvas, and the links details panel`,\"data-og-width\":`2600`,width:`2600`,\"data-og-height\":`1720`,height:`1720`,\"data-path\":`images/cluster-viewer/hub-cluster-viewer-links-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=b1a6ed4bd63ca45c573fd52d5536a34c 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=7a9101b72bccd8b0ca4ce3ff918d1d1d 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=c4f080b42c52099dfc8bb880fee3b5d4 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=b7439705abb5930f9a606296177feb40 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=c0fb7b7403bb50e74d9161738260ae81 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-links-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=ec46e14903e80da1ca9db1da424628db 2500w`})]})]}),_jsxs(Tab,{title:`Ownership`,id:`ownership`,children:[_jsx(_components.p,{children:`Which host runs each piece of LoT that must run on exactly one node:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Kind`}),_jsx(_components.th,{children:`What it is`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Actions (timers, ON START)`})}),_jsx(_components.td,{children:`Scheduled actions, and actions that run once when the cluster session starts`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Exclusive connectors`})}),_jsx(_components.td,{children:`Connectors that hold a device, a serial port, or a server port`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Scheduled connector events`})}),_jsx(_components.td,{children:`A connector’s timed events`})]})]})]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Owner`}),` is the host that runs it. `,_jsx(_components.strong,{children:`Next`}),` is the host that takes it if the owner is lost. `,_jsx(_components.strong,{children:`Epoch`}),` goes up each time the entity moves. `,_jsx(_components.strong,{children:`Unowned`}),` means no live host can run it, so it runs nowhere until one can. An exclusive connector is defined on every node, but only its owner opens the connection. The others hold it ready.`]}),_jsx(_components.p,{children:`Select a node on the canvas first if you want the list limited to entities that node owns.`}),_jsxs(Frame,{caption:`Ownership tab: which host owns each exclusive action, connector, and scheduled connector event`,children:[_jsx(OptimizedImage,{className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-light.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=3098b8f9b250f96a0bc10111f13db364`,alt:`Coreflux HUB Cluster Viewer window with the Ownership tab selected: the cluster summary strip across the top, the cluster members and links on the canvas, and the ownership details panel`,\"data-og-width\":`2600`,width:`2600`,\"data-og-height\":`1720`,height:`1720`,\"data-path\":`images/cluster-viewer/hub-cluster-viewer-ownership-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=3155de2ed4ac3be66a422792e34c9df8 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=154f0a353422978ad57004452953720f 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=6eeec5519a3d94da33e1adb924fbdddb 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=815e29352e241408f745f257698c2404 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=c860e78bad0c0412ed648547f268ce0e 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=5ddf5bf76695f77c68daa64338ce43c2 2500w`}),_jsx(OptimizedImage,{className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-dark.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=c5bd3b5e6adbdf1e9c8fbda744bbd4b8`,alt:`Coreflux HUB Cluster Viewer window with the Ownership tab selected: the cluster summary strip across the top, the cluster members and links on the canvas, and the ownership details panel`,\"data-og-width\":`2600`,width:`2600`,\"data-og-height\":`1720`,height:`1720`,\"data-path\":`images/cluster-viewer/hub-cluster-viewer-ownership-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=8c46713aa3a14eada687b546473998d7 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=6f083a39b58fa25b9d44b1bf8b94bff1 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=0519fcd63675d836b884f5ce51aa9acc 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=40e57dcb6121451e2bc2278364ad1a41 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=d9dc934c0129a9bc8497d10b8b44e7cd 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-ownership-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=c127b02ad4909ec6a08b1572f13601c4 2500w`})]})]}),_jsxs(Tab,{title:`Partitions`,id:`partitions`,children:[_jsx(_components.p,{children:`The partition map: how many partitions there are, the replication factor, how many are under-replicated, and which host owns each one.`}),_jsx(_components.p,{children:`Under-replicated partitions still work. Their replica set is smaller than the factor because there are not enough live hosts to place every copy — for example while a host is down. A healthy cluster shows none.`}),_jsx(_components.p,{children:`Pick a host to highlight the partitions it owns, the ones where it only keeps a copy, and the ones it does not hold.`}),_jsxs(Frame,{caption:`Partitions tab: the partition map, replication factor, and owner of each partition`,children:[_jsx(OptimizedImage,{className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-light.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=08e8a96be261df65232867e5e2f0b2a9`,alt:`Coreflux HUB Cluster Viewer window with the Partitions tab selected: the cluster summary strip across the top, the cluster members and links on the canvas, and the partitions details panel`,\"data-og-width\":`2600`,width:`2600`,\"data-og-height\":`1720`,height:`1720`,\"data-path\":`images/cluster-viewer/hub-cluster-viewer-partitions-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=befea5a121ecb42f88960ab6c16750cb 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=6d0a746412f1c085a8ff4b802c092867 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=f143e95f63fea4f71eeac280acb1e17c 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=378dfbc0400acd1a5cd99340509bc895 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=adb9cd849d53bd407060e81c95cbed30 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=1f4737c3907668929c4a5dd4396b40f4 2500w`}),_jsx(OptimizedImage,{className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-dark.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=3adffb1ca9b3d53a89339f799c85b634`,alt:`Coreflux HUB Cluster Viewer window with the Partitions tab selected: the cluster summary strip across the top, the cluster members and links on the canvas, and the partitions details panel`,\"data-og-width\":`2600`,width:`2600`,\"data-og-height\":`1720`,height:`1720`,\"data-path\":`images/cluster-viewer/hub-cluster-viewer-partitions-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=a147b8757dcd2158129ca021261924bd 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=92701407b8f3b0c56479efe6d57249bf 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=f6a09e26ec0d181e6169913cdf179ab0 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=63f8424846537ee926a8644d868541f8 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=f23c46115f7adca917fb0430b783b37d 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-partitions-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=53d9977269b5f9a35d33adf0a5234026 2500w`})]})]}),_jsxs(Tab,{title:`Clients`,id:`clients`,children:[_jsx(_components.p,{children:`The MQTT clients connected to each node right now, with a total across the cluster. A client is connected to one node. Behind a load balancer, the node can change each time it reconnects.`}),_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Show the clients of`}),`, pick `,_jsx(_components.strong,{children:`All nodes`}),` or one node. Filter by client ID, user, or address, and sort by `,_jsx(_components.strong,{children:`Last active`}),`, `,_jsx(_components.strong,{children:`Newest connection`}),`, `,_jsx(_components.strong,{children:`Most queued`}),`, or `,_jsx(_components.strong,{children:`Client id`}),`. The connections the nodes open to each other are hidden unless you turn on `,_jsx(_components.strong,{children:`Show the cluster’s own connections`}),`.`]}),_jsxs(_components.p,{children:[`Each card shows the client ID, user, address, MQTT version, messages in and out, and when it was last active. A `,_jsx(_components.strong,{children:`queued`}),` badge counts messages waiting for that client; a number that keeps growing means the client isn’t keeping up. Expand a card for when it connected, its last packet, bytes in and out, and how long the broker keeps its session after it disconnects.`]}),_jsx(_components.p,{children:`Lists refresh every 7 seconds. Other nodes’ clients are relayed by those nodes, so they can be a few seconds older. An older broker reports only the clients of the node you’re connected to.`}),_jsxs(Frame,{caption:`Clients tab on a three-node cluster: nine clients across acme-mqtt-1, acme-mqtt-2, and acme-mqtt-3, sorted by last active`,children:[_jsx(OptimizedImage,{className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-light.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=c447f955d698db7e81dfa195823d229a`,alt:`Coreflux HUB Cluster Viewer for cluster acme-plant, leader acme-mqtt-2, 3/3 members alive. The Clients tab shows 9 clients (+12 cluster connections) and 0 queued messages, the node filters All nodes, acme-mqtt-1 4, acme-mqtt-2 3, and acme-mqtt-3 2, the filter box, the Last active sort, and the Show the cluster's own connections checkbox, above cards for hmi-panel-03, the HUB's own connection, line1-plc-gw, and energy-meter-gw, each with node, user, address, MQTT version, messages in and out, and last activity`,\"data-og-width\":`1580`,width:`1580`,\"data-og-height\":`1000`,height:`1000`,\"data-path\":`images/cluster-viewer/hub-cluster-viewer-clients-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=1b03b4fbeb75454e3f729283e44ce207 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=f4fa5836e4df60a5d7294abb95a65e7c 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=363377f05971a24c9e3269f81efd26c6 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=90147c2a9c85ffb91e0169b6792a38c8 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=e818b5c7906c1fa586e770dcb3338f81 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=c03f9ac8fe7e4fdbb1a56dccff91925a 2500w`}),_jsx(OptimizedImage,{className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-dark.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=2ee111c23a69ad07a7805ab027f27b20`,alt:`Coreflux HUB Cluster Viewer for cluster acme-plant, leader acme-mqtt-2, 3/3 members alive. The Clients tab shows 9 clients (+12 cluster connections) and 0 queued messages, the node filters All nodes, acme-mqtt-1 4, acme-mqtt-2 3, and acme-mqtt-3 2, the filter box, the Last active sort, and the Show the cluster's own connections checkbox, above cards for hmi-panel-03, the HUB's own connection, line1-plc-gw, and energy-meter-gw, each with node, user, address, MQTT version, messages in and out, and last activity`,\"data-og-width\":`1580`,width:`1580`,\"data-og-height\":`1000`,height:`1000`,\"data-path\":`images/cluster-viewer/hub-cluster-viewer-clients-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=c692b9739fc093e569e60df20e0b6adc 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=8724f3438d8f36dbbe4a3bebd15fbb1f 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=08e5c2f123a35f2fda9b84685681d184 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=1a1602cf3fad053c27fdb8ae547eab06 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=a35fa5eea288a751ca5705639e37e62e 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/cluster-viewer/hub-cluster-viewer-clients-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=8a32d234e99b2705398c364afe22dd25 2500w`})]})]})]}),`\n`,_jsx(_components.p,{children:`An older broker host may publish only part of this view. The window then names what is missing and still shows the status it did receive.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next Steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`High-Availability Clustering`,icon:`server`,href:`/latest/mqtt-broker/clustering`,children:_jsx(_components.p,{children:`Turn clustering on, choose discovery, and read what failover does and does not cover.`})}),_jsx(Card,{title:`Connections Manager`,icon:`plug`,href:`/hub/connections`,children:_jsx(_components.p,{children:`Open the broker host whose cluster status this window reads.`})})]})]})}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":"Cluster Viewer","description":"See the nodes, leader, links, LoT ownership, and partitions of a Coreflux cluster from the broker host you are connected to","keywords":["Cluster Viewer","cluster","HUB","Beta","leader","ownership","partitions","data plane","high availability"],"href":"/hub/cluster-viewer"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Why Use Cluster Viewer?","slug":"why-use-cluster-viewer","depth":2,"children":[]},{"title":"When to Use It","slug":"when-to-use-it","depth":2,"children":[]},{"title":"What the Window Shows","slug":"what-the-window-shows","depth":2,"children":[]},{"title":"Details","slug":"details","depth":2,"children":[]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/coreflux/a521143ded12b642/scripts/mermaid-flow.js"],"dynamicCss":".mint-block {\n display: block\n}\n.mint-hidden {\n display: none\n}\n.dark\\:mint-block:is(.dark *) {\n display: block\n}\n.dark\\:mint-hidden:is(.dark *) {\n display: none\n}","subdomain":"coreflux","siteName":"Coreflux Documentation","title":"Cluster Viewer - Coreflux Documentation","contextualStarterQuestions":[{"_id":"6ad8c629aa2a055d5a1841d8","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do I view my cluster?","status":"active","generatedBy":"contextual","path":"hub/cluster-viewer","createdAt":"2026-10-21T14:03:21.584Z","updatedAt":"2026-10-21T14:03:21.584Z","__v":0},{"_id":"6ad8c629aa2a055d5a1841d9","deploymentId":"69317161c82f64ea7c1871b0","questionText":"What does cluster status show?","status":"active","generatedBy":"contextual","path":"hub/cluster-viewer","createdAt":"2026-10-21T14:03:21.584Z","updatedAt":"2026-10-21T14:03:21.584Z","__v":0},{"_id":"6ad8c629aa2a055d5a1841da","deploymentId":"69317161c82f64ea7c1871b0","questionText":"Which nodes are cluster leaders?","status":"active","generatedBy":"contextual","path":"hub/cluster-viewer","createdAt":"2026-10-21T14:03:21.584Z","updatedAt":"2026-10-21T14:03:21.584Z","__v":0}],"navMaps":{"firstHrefInVersion":{"v2.22":{"href":"/hub/cluster-viewer","matchLevel":0},"v2.14":{"href":"/hub/cluster-viewer","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-21T14:02:09.661Z","gitLastModified":"2026-10-21T14:00:26.000Z","originalFileLocation":"hub/cluster-viewer.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=\"See the nodes, leader, links, LoT ownership, and partitions of a Coreflux cluster from the broker host you are connected to\">\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/wlwwqZ3BrnsXlugo/_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/wlwwqZ3BrnsXlugo/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/wlwwqZ3BrnsXlugo/_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/wlwwqZ3BrnsXlugo/_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/wlwwqZ3BrnsXlugo/_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/wlwwqZ3BrnsXlugo/_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/wlwwqZ3BrnsXlugo/_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/wlwwqZ3BrnsXlugo/_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/wlwwqZ3BrnsXlugo/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Cluster Viewer - Coreflux Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"See the nodes, leader, links, LoT ownership, and partitions of a Coreflux cluster from the broker host you are connected to\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Coreflux Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.coreflux.org/hub/cluster-viewer\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://coreflux.mintlify.site/_mintlify/api/og/v2?division=Coreflux+HUB\u0026amp;title=Cluster+Viewer\u0026amp;description=See+the+nodes%2C+leader%2C+links%2C+LoT+ownership%2C+and+partitions+of+a+Coreflux+cluster+from+the+broker+host+you+are+connected+to\u0026amp;theme=7beb37973bfdf6660bbd8fba\u0026amp;signature=570d2855b2ed075f6fc8cbb9b1690c9cde4e947d7998d02be51e92b0cb9ab310\">\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=\"Cluster Viewer - Coreflux Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"See the nodes, leader, links, LoT ownership, and partitions of a Coreflux cluster from the broker host you are connected to\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://coreflux.mintlify.site/_mintlify/api/og/v2?division=Coreflux+HUB\u0026amp;title=Cluster+Viewer\u0026amp;description=See+the+nodes%2C+leader%2C+links%2C+LoT+ownership%2C+and+partitions+of+a+Coreflux+cluster+from+the+broker+host+you+are+connected+to\u0026amp;theme=7beb37973bfdf6660bbd8fba\u0026amp;signature=570d2855b2ed075f6fc8cbb9b1690c9cde4e947d7998d02be51e92b0cb9ab310\">\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/wlwwqZ3BrnsXlugo/_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/cluster-viewer\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/hub/cluster-viewer.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/cluster-viewer#webpage\",\"url\":\"https://docs.coreflux.org/hub/cluster-viewer\",\"name\":\"Cluster Viewer\",\"description\":\"See the nodes, leader, links, LoT ownership, and partitions of a Coreflux cluster from the broker host you are connected to\",\"dateModified\":\"2026-10-21T14:00:26.000Z\",\"isPartOf\":{\"@id\":\"https://docs.coreflux.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.coreflux.org/hub/cluster-viewer#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.coreflux.org/hub/cluster-viewer#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Coreflux HUB\",\"item\":\"https://docs.coreflux.org/hub/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cluster Viewer\",\"item\":\"https://docs.coreflux.org/hub/cluster-viewer\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.coreflux.org/hub/cluster-viewer#article\",\"headline\":\"Cluster Viewer\",\"name\":\"Cluster Viewer\",\"description\":\"See the nodes, leader, links, LoT ownership, and partitions of a Coreflux cluster from the broker host you are connected to\",\"url\":\"https://docs.coreflux.org/hub/cluster-viewer\",\"mainEntityOfPage\":{\"@id\":\"https://docs.coreflux.org/hub/cluster-viewer#webpage\"},\"dateModified\":\"2026-10-21T14:00:26.000Z\",\"keywords\":\"Cluster Viewer, cluster, HUB, Beta, leader, ownership, partitions, data plane, high availability\",\"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","description":"See the Actions, Models, Connectors, and topics deployed on your broker as a live dependency graph","href":"/hub/lot-flow"},{"title":"Cluster Viewer","href":"/hub/cluster-viewer"},{"group":"Dashboards","pages":[{"title":"Dashboards in the HUB","description":"Live panels bound to your broker data — written in the Dashboard Manager or generated by the AI Assistant.","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","href":"/hub/dashboards/components/inputs"},{"title":"Container Components","href":"/hub/dashboards/components/containers"}]},{"title":"Common Patterns","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","description":"See the Actions, Models, Connectors, and topics deployed on your broker as a live dependency graph","href":"/hub/lot-flow"},{"title":"Cluster Viewer","href":"/hub/cluster-viewer"},{"group":"Dashboards","pages":[{"title":"Dashboards in the HUB","description":"Live panels bound to your broker data — written in the Dashboard Manager or generated by the AI Assistant.","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","href":"/hub/dashboards/components/inputs"},{"title":"Container Components","href":"/hub/dashboards/components/containers"}]},{"title":"Common Patterns","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"}]}]},"basePath":"","title":"Cluster Viewer - Coreflux Documentation","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-5Xwp92K7.js","DynamicMarkdown-BoyYAA8K.js","zoom-image-lightbox-DkE6VzSN.js","lightbox-handle-r17bVUz3.js"]}