Buttons, toggles, sliders, and fields that write back to your broker.
An operator panel built from the components on this page: buttons, a toggle, a slider, and entry fields
Input components let operators act: start a line, set a speed, type a value. One rule applies to all of them: input components don’t publish by themselves — the ON <EVENT> DO handler does.
Like a steering wheel, not a speedometer. Display widgets read signals; these widgets send them — every interaction ends in a publish back to the broker.
One section per control, each with its rendered result, the code, and then the property reference.
A button that publishes a start command when clicked
ADD COMPONENT "StartButton" WITH TYPE "button" SET LABEL "Start Production" ON CLICK DO PUBLISH TOPIC "factory/commands/start" WITH 1
A danger-styled emergency stop — the STYLE line is the new part:
A red danger-styled Emergency Stop button
ADD COMPONENT "StopButton" WITH TYPE "button" SET LABEL "Emergency Stop" SET STYLE "danger" ON CLICK DO PUBLISH TOPIC "factory/commands/stop" WITH 1
Property
Type
Default
Description
LABEL
String
required
Button text
STYLE
"primary" / "secondary" / "danger"
"primary"
Visual style
DISABLED
Boolean
false
Disable button
AWAIT
Quoted component ids
—
Comma-separated ids that show a pending indicator until their next message. The button stays busy
AWAIT_TIMEOUT
Seconds
120
How long to wait before a timeout note
SET AWAIT "Briefing, StatusLamp" keeps the button busy and marks those components pending until each one receives its next message. A full panel is in Wait on a button.Events:ON CLICK DO
Binary on/off control. switch is an alias for toggle.
Basic
The toggle reflects the bound topic live — publish true or false to it and the switch follows:
A labeled toggle reflecting the live state of its bound topic
ADD COMPONENT "EnableSwitch" WITH TYPE "switch" SET LABEL "Enable Production" BIND STATE TO TOPIC "factory/production/enabled"
Property
Type
Description
LABEL
String
Toggle label
Bind targets:STATE — Events:ON TOGGLE DO
Write-back is broken in the current HUB build.ON TOGGLE DO PUBLISH ... WITH STATE fires, but the message payload is the literal text {{STATE}} instead of the toggle state (WITH VALUE behaves the same). Until this is fixed, use the toggle as a live state display and trigger commands from a button.
The slider tracks its bound topic live — the thumb moves as new values arrive:
A 0–200 °C setpoint slider tracking the live value of its bound topic
ADD COMPONENT "SetpointSlider" WITH TYPE "slider" SET RANGE FROM 0 TO 200 SET UNIT "°C" BIND VALUE TO TOPIC "control/setpoint"
Property
Type
Description
RANGE FROM x TO y
Numbers
Min / max
UNIT
String
Unit label
Bind targets:VALUE — Events:ON CHANGE DO
Write-back is broken in the current HUB build.ON CHANGE DO PUBLISH ... WITH VALUE sends the literal text {{VALUE}} instead of the slider position, and dragging is overridden by the bound topic. Until this is fixed, use the slider as a live numeric display and set values from a number field.
A labeled field pre-filled from its topic; typing publishes the new value:
A labeled text field pre-filled with the current value from its topic
ADD COMPONENT "NameInput" WITH TYPE "text-field" SET LABEL "Device Name" SET PLACEHOLDER "Enter name..." BIND VALUE TO TOPIC "config/device/name" ON CHANGE DO PUBLISH TOPIC "config/device/name" WITH VALUE
Accepts only numbers and publishes the limit on change:
A numeric field that accepts only numbers and publishes the limit on change
ADD COMPONENT "MaxPressure" WITH TYPE "number-field" SET LABEL "Max Pressure (bar)" SET PLACEHOLDER "0.00" BIND VALUE TO TOPIC "config/pressure/max" ON CHANGE DO PUBLISH TOPIC "config/pressure/max" WITH VALUE
Text and number fields fire ON CHANGE when the value is committed — press Enter (or leave the field) after typing. Each keystroke alone does not publish.
The toggle flips back on its own
The toggle reflects its BIND STATE topic. If nothing updates that topic, the toggle snaps back to the last bound value — make sure something (device, Action, or a test publish) updates the bound state.
Everything a control can do: publish, navigate, invoke, trigger, and branch.
Container components
Group controls and readouts into cards and tabs.
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":"https://mintcdn.com/coreflux/A0D_IE52Pl2ItO0u/images/favicon.ico?fit=max\u0026auto=format\u0026n=A0D_IE52Pl2ItO0u\u0026q=85\u0026s=e8416ed10b42351291ab50f0dcdb31a8","appearance":{"default":"dark"},"background":{"color":{"light":"#FFFFFF","dark":"#010c10"}},"navbar":{"primary":{"type":"button","label":"Start Free","href":"https://portal.coreflux.org/"}},"footer":{"socials":{"github":"https://github.com/CorefluxCommunity","discord":"https://discord.com/invite/A3pPrptNMm","linkedin":"https://www.linkedin.com/company/coreflux","youtube":"https://www.youtube.com/@Coreflux","website":"https://www.coreflux.org/"}},"fonts":{"family":"Plus Jakarta Sans"},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":{"light":"css-variables","dark":"css-variables"},"languages":{"custom":["/languages/lot.json"]}},"latex":true},"integrations":{"ga4":{"measurementId":"G-1WXMSGSFY6"}},"contextual":{"options":["chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"coreflux","hasAudioNarration":false,"actualSubdomain":"coreflux","customDomains":["docs.coreflux.org"],"gitSource":{"type":"github","owner":"corefluxcommunity","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf28df1cea9adffa70bbce","collectionId":"54e175c9-f8df-4f82-8be0-ec9bf6a23513","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf28df1cea9adffa70bbce"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adf28df1cea9adffa70bbce","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"LoT Language","count":608},{"language":"default","tag":"LoT CONNECTOR","count":307},{"language":"default","tag":"REST API apps","count":268},{"language":"default","tag":"LoT ROUTE","count":146},{"language":"default","tag":"Coreflux MQTT Broker","count":82},{"language":"default","tag":"Developing and Managing Coreflux","count":72},{"language":"default","tag":"Coreflux HUB","count":71},{"language":"default","tag":"Best Practices and Usage Patterns","count":54},{"language":"default","tag":"Industrial Routes","count":52},{"language":"default","tag":"Quick Start","count":50}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"joao.leiriao@coreflux.org","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"695521f38da86e410a42ce70","deploymentId":"69317161c82f64ea7c1871b0","questionText":"What is LoT and how does it work?","status":"active","generatedBy":"manual","createdAt":"2025-12-31T13:15:31.284Z","updatedAt":"2025-12-31T13:15:31.284Z","__v":0},{"_id":"695521ec8da86e410a42ce3c","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do I install Coreflux locally?","status":"active","generatedBy":"manual","createdAt":"2025-12-31T13:15:24.487Z","updatedAt":"2025-12-31T13:15:24.487Z","__v":0},{"_id":"695521e68da86e410a42ce23","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do I create my first action?","status":"active","generatedBy":"manual","createdAt":"2025-12-31T13:15:18.088Z","updatedAt":"2025-12-31T13:15:18.088Z","__v":0}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"global.css","href":"/_mintlify/custom/coreflux/0c480ab36c4d46ee/global.css"}],"page":{"pagePath":"hub/dashboards/components/inputs","slug":"/hub/dashboards/components/inputs","pageMetadata":{"title":"Input \u0026 Control Components","description":"Buttons, toggles, sliders, and fields that write back to your broker.","keywords":["button","toggle","switch","slider","text-field","number-field","controls","ON CLICK","ON CHANGE","dashboards"],"href":"/hub/dashboards/components/inputs"},"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: \"Buttons, toggles, sliders, and fields that write back to your broker.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,CodeBlock,Frame,Heading,OptimizedImage,Tab,Table,Tabs,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!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(Frame,{caption:`An operator panel built from the components on this page: buttons, a toggle, a slider, and entry fields`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/other/inputs-overview.png?fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=9507498bcc35f2564a2ced1d606e5b0d`,alt:`A two-column operator panel with Start and Emergency Stop buttons, an Enable Production toggle, a setpoint slider, and device name and pressure fields`,\"data-og-width\":`1665`,width:`1665`,\"data-og-height\":`310`,height:`310`,\"data-path\":`images/dashboard/other/inputs-overview.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/other/inputs-overview.png?w=280\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=f3119ed464c06b3263c0d63f20712be9 280w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/other/inputs-overview.png?w=560\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=b12ce6471264ac8274d14326eaccbd61 560w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/other/inputs-overview.png?w=840\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=33dd36e56e22a27ed26b276c31129f89 840w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/other/inputs-overview.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=ee3f50c8a6684658af4d76e8c4804c08 1100w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/other/inputs-overview.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=07038f22c816acd590067bf156927124 1650w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/other/inputs-overview.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=a2ec60a3e1df2c3e11aac73565ab42f2 2500w`})}),`\n`,_jsxs(_components.p,{children:[`Input components let operators act: start a line, set a speed, type a value. One rule applies to all of them: `,_jsx(_components.strong,{children:`input components don’t publish by themselves`}),` — the `,_jsx(_components.code,{children:`ON \u003cEVENT> DO`}),` handler does.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Like a steering wheel, not a speedometer.`}),` Display widgets read signals; these widgets send them — every interaction ends in a publish back to the broker.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(_components.p,{children:`One section per control, each with its rendered result, the code, and then the property reference.`}),`\n`,_jsx(Heading,{level:`2`,id:`button`,children:`Button`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Basic`,id:`basic`,children:[_jsx(_components.p,{children:`A button that publishes a command when clicked:`}),_jsx(Frame,{caption:`A button that publishes a start command when clicked`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button.png?fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=cd6b3b083b4e42d4d4d0c42ce1976ef1`,alt:`A Start Production button on a dashboard`,\"data-og-width\":`815`,width:`815`,\"data-og-height\":`66`,height:`66`,\"data-path\":`images/dashboard/components/button.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button.png?w=280\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=41ba644cf7a836271ed661e2cc38197d 280w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button.png?w=560\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=0b9390e05a5e1c37275b7fa62d158d68 560w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button.png?w=840\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=b4bf94aff4e884f798923dec0a5bf7d4 840w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=1acc68c5079ef8e9972016e8434fa86b 1100w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=3a53285c11bf493f65cf2597021e71f6 1650w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=80eff659d1081d2766a9017a2850f005 2500w`})}),_jsx(CodeBlock,{filename:``,wrap:`true`,numberOfLines:`4`,language:`lot`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`lot`,children:_jsxs(_components.code,{language:`lot`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"StartButton\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"button\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` LABEL `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Start Production\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ON`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` CLICK `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`DO`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` PUBLISH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"factory/commands/start\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-constant, #171717)`,\"--shiki-dark\":`var(--mint-token-constant, #171717)`},children:` 1`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`Full example`,id:`full-example`,children:[_jsxs(_components.p,{children:[`A danger-styled emergency stop — the `,_jsx(_components.code,{children:`STYLE`}),` line is the new part:`]}),_jsx(Frame,{caption:`A red danger-styled Emergency Stop button`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button-danger.png?fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=cf98eec449ec0e9b9bdda516a671b4db`,alt:`A red danger-styled Emergency Stop button`,\"data-og-width\":`815`,width:`815`,\"data-og-height\":`66`,height:`66`,\"data-path\":`images/dashboard/components/button-danger.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button-danger.png?w=280\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=b0a210333da480d391c9143fb688c6a6 280w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button-danger.png?w=560\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=13e6367240a1fff555b8851800429247 560w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button-danger.png?w=840\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=747a0595e86d6e3bf34165820c452877 840w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button-danger.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=4cfc90f289e005c536a1a26d40c05cd5 1100w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button-danger.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=893e9c10d928d2b865dd831f87330077 1650w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/button-danger.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=ff015c9b75a07f8d219cbceabdd60806 2500w`})}),_jsx(CodeBlock,{filename:``,wrap:`true`,focus:`[3]`,numberOfLines:`5`,language:`lot`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`lot`,children:_jsxs(_components.code,{language:`lot`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"StopButton\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"button\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` LABEL `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Emergency Stop\"`})]}),`\n`,_jsxs(_components.span,{className:`line line-focus`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` STYLE `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"danger\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ON`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` CLICK `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`DO`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` PUBLISH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"factory/commands/stop\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-constant, #171717)`,\"--shiki-dark\":`var(--mint-token-constant, #171717)`},children:` 1`})]}),`\n`]})})})]})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`LABEL`})}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`required`}),_jsx(_components.td,{children:`Button text`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`STYLE`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`\"primary\"`}),` / `,_jsx(_components.code,{children:`\"secondary\"`}),` / `,_jsx(_components.code,{children:`\"danger\"`})]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`\"primary\"`})}),_jsx(_components.td,{children:`Visual style`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DISABLED`})}),_jsx(_components.td,{children:`Boolean`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`false`})}),_jsx(_components.td,{children:`Disable button`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`AWAIT`})}),_jsx(_components.td,{children:`Quoted component ids`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{children:`Comma-separated ids that show a pending indicator until their next message. The button stays busy`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`AWAIT_TIMEOUT`})}),_jsx(_components.td,{children:`Seconds`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`120`})}),_jsx(_components.td,{children:`How long to wait before a timeout note`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`SET AWAIT \"Briefing, StatusLamp\"`}),` keeps the button busy and marks those components pending until each one receives its next message. A full panel is in `,_jsx(_components.a,{href:`/latest/lot-language/panels/actions-events#wait-on-a-button`,children:`Wait on a button`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Events:`}),` `,_jsx(_components.code,{children:`ON CLICK DO`})]}),`\n`,_jsx(Heading,{level:`2`,id:`toggle-/-switch`,children:`Toggle / Switch`}),`\n`,_jsxs(_components.p,{children:[`Binary on/off control. `,_jsx(_components.code,{children:`switch`}),` is an alias for `,_jsx(_components.code,{children:`toggle`}),`.`]}),`\n`,_jsx(Tabs,{children:_jsxs(Tab,{title:`Basic`,id:`basic-2`,children:[_jsxs(_components.p,{children:[`The toggle reflects the bound topic live — publish `,_jsx(_components.code,{children:`true`}),` or `,_jsx(_components.code,{children:`false`}),` to it and the switch follows:`]}),_jsx(Frame,{caption:`A labeled toggle reflecting the live state of its bound topic`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/toggle.png?fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=4c0f81d53f5c464097468abe793ed9c2`,alt:`An Enable Production toggle switched on`,\"data-og-width\":`815`,width:`815`,\"data-og-height\":`50`,height:`50`,\"data-path\":`images/dashboard/components/toggle.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/toggle.png?w=280\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=0d115d841562eab9df291635f6c9f28a 280w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/toggle.png?w=560\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=ff14a9e35cfa4fa0cfcef1a4bee15e92 560w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/toggle.png?w=840\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=8f894f4ec1691949b2eec8c7c3ff07cd 840w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/toggle.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=7abbe0175d7ada98d13943ca092c0c82 1100w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/toggle.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=e5a983e26ede94e8000006e63a55f63a 1650w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/toggle.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=ef7762ec1d5b560787dc0e6c57f877b9 2500w`})}),_jsx(CodeBlock,{filename:``,wrap:`true`,numberOfLines:`3`,language:`lot`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`lot`,children:_jsxs(_components.code,{language:`lot`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"EnableSwitch\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"switch\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` LABEL `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Enable Production\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` BIND STATE `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`TO`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"factory/production/enabled\"`})]}),`\n`]})})})]})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`LABEL`})}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`Toggle label`})]})})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Bind targets:`}),` `,_jsx(_components.code,{children:`STATE`}),` — `,_jsx(_components.strong,{children:`Events:`}),` `,_jsx(_components.code,{children:`ON TOGGLE DO`})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Write-back is broken in the current HUB build.`}),` `,_jsx(_components.code,{children:`ON TOGGLE DO PUBLISH ... WITH STATE`}),` fires, but the message payload is the literal text `,_jsx(_components.code,{children:`{{STATE}}`}),` instead of the toggle state (`,_jsx(_components.code,{children:`WITH VALUE`}),` behaves the same). Until this is fixed, use the toggle as a live state display and trigger commands from a `,_jsx(_components.a,{href:`#button`,children:`button`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`slider`,children:`Slider`}),`\n`,_jsx(_components.p,{children:`Range input for numeric values.`}),`\n`,_jsx(Tabs,{children:_jsxs(Tab,{title:`Basic`,id:`basic-3`,children:[_jsx(_components.p,{children:`The slider tracks its bound topic live — the thumb moves as new values arrive:`}),_jsx(Frame,{caption:`A 0–200 °C setpoint slider tracking the live value of its bound topic`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/slider-basic.png?fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=182df2e5cbb0cbbef6964d442f81ac6c`,alt:`A temperature setpoint slider set partway along its 0 to 200 degree range`,\"data-og-width\":`815`,width:`815`,\"data-og-height\":`86`,height:`86`,\"data-path\":`images/dashboard/components/slider-basic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/slider-basic.png?w=280\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=6667a41c081099d142408cc915aa8ecc 280w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/slider-basic.png?w=560\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=e3cd4b0d08e679ba79e4f8aa19d77e72 560w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/slider-basic.png?w=840\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=820ac724bd91c25d2d6979f439cade58 840w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/slider-basic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=16e9a8cd29a1e3fbde3e3cbe024103a4 1100w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/slider-basic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=1af975d562738a48e7e5418daffa87ab 1650w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/slider-basic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=63276aa9da4b3f2e4a67c5cc387f2c7d 2500w`})}),_jsx(CodeBlock,{filename:``,wrap:`true`,numberOfLines:`4`,language:`lot`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`lot`,children:_jsxs(_components.code,{language:`lot`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"SetpointSlider\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"slider\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` RANGE `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`FROM`}),_jsx(_components.span,{style:{color:`var(--mint-token-constant, #171717)`,\"--shiki-dark\":`var(--mint-token-constant, #171717)`},children:` 0`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TO`}),_jsx(_components.span,{style:{color:`var(--mint-token-constant, #171717)`,\"--shiki-dark\":`var(--mint-token-constant, #171717)`},children:` 200`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` UNIT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"°C\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` BIND VALUE `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`TO`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"control/setpoint\"`})]}),`\n`]})})})]})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`RANGE FROM x TO y`})}),_jsx(_components.td,{children:`Numbers`}),_jsx(_components.td,{children:`Min / max`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`UNIT`})}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`Unit label`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Bind targets:`}),` `,_jsx(_components.code,{children:`VALUE`}),` — `,_jsx(_components.strong,{children:`Events:`}),` `,_jsx(_components.code,{children:`ON CHANGE DO`})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Write-back is broken in the current HUB build.`}),` `,_jsx(_components.code,{children:`ON CHANGE DO PUBLISH ... WITH VALUE`}),` sends the literal text `,_jsx(_components.code,{children:`{{VALUE}}`}),` instead of the slider position, and dragging is overridden by the bound topic. Until this is fixed, use the slider as a live numeric display and set values from a `,_jsx(_components.a,{href:`#number-field`,children:`number field`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`text-field-/-input`,children:`Text Field / Input`}),`\n`,_jsx(_components.p,{children:`Free text entry.`}),`\n`,_jsx(Tabs,{children:_jsxs(Tab,{title:`Basic`,id:`basic-4`,children:[_jsx(_components.p,{children:`A labeled field pre-filled from its topic; typing publishes the new value:`}),_jsx(Frame,{caption:`A labeled text field pre-filled with the current value from its topic`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/text-field.png?fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=c726cca5e1f6c4fce03fdfa93bc56cfb`,alt:`A Device Name text field showing pump-station-1`,\"data-og-width\":`815`,width:`815`,\"data-og-height\":`58`,height:`58`,\"data-path\":`images/dashboard/components/text-field.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/text-field.png?w=280\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=9fdfd5880001f1d81009b4191ca03fc4 280w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/text-field.png?w=560\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=7da4a728cc511b3243afe6751a2553a2 560w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/text-field.png?w=840\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=0bc09c742413e0825282a65155cefe9e 840w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/text-field.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=c788fae0f337d91242397cc9df919baf 1100w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/text-field.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=0bf504292a68909b4be98e491a3622bd 1650w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/text-field.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=886b96eb9442ffd3cffddfad1a21128e 2500w`})}),_jsx(CodeBlock,{filename:``,wrap:`true`,numberOfLines:`6`,language:`lot`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`lot`,children:_jsxs(_components.code,{language:`lot`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"NameInput\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"text-field\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` LABEL `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Device Name\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` PLACEHOLDER `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Enter name...\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` BIND VALUE `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`TO`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"config/device/name\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ON`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` CHANGE`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` DO`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` PUBLISH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"config/device/name\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` VALUE`})]}),`\n`]})})})]})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`LABEL`})}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`Field label`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`PLACEHOLDER`})}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`Placeholder text`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Bind targets:`}),` `,_jsx(_components.code,{children:`VALUE`}),` — `,_jsx(_components.strong,{children:`Events:`}),` `,_jsx(_components.code,{children:`ON CHANGE DO`})]}),`\n`,_jsx(Heading,{level:`2`,id:`number-field`,children:`Number Field`}),`\n`,_jsx(_components.p,{children:`Numeric-only entry.`}),`\n`,_jsx(Tabs,{children:_jsxs(Tab,{title:`Basic`,id:`basic-5`,children:[_jsx(_components.p,{children:`Accepts only numbers and publishes the limit on change:`}),_jsx(Frame,{caption:`A numeric field that accepts only numbers and publishes the limit on change`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/number-field.png?fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=d1ed70b5baf478df5766d0fc7c7537f3`,alt:`A numeric input field for a maximum pressure limit`,\"data-og-width\":`815`,width:`815`,\"data-og-height\":`58`,height:`58`,\"data-path\":`images/dashboard/components/number-field.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/number-field.png?w=280\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=8a84682ac8d9232c080b236a6da45606 280w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/number-field.png?w=560\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=b9cf4c14595799f5172c9fb6bb004eb1 560w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/number-field.png?w=840\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=e264aca76eab769bf1aaca6d7bb77dd2 840w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/number-field.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=aa8d28610107017f8c0901aeee1690d4 1100w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/number-field.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=66ca3517769fbf5385713aacbac0caf4 1650w, https://mintcdn.com/coreflux/ry-30sFxFVWzN72U/images/dashboard/components/number-field.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ry-30sFxFVWzN72U\u0026q=85\u0026s=8fb420e211ae9c148c2223805267fea8 2500w`})}),_jsx(CodeBlock,{filename:``,wrap:`true`,numberOfLines:`6`,language:`lot`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`lot`,children:_jsxs(_components.code,{language:`lot`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`ADD`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` COMPONENT `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"MaxPressure\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TYPE`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"number-field\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` LABEL `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"Max Pressure (bar)\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` SET`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` PLACEHOLDER `}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:`\"0.00\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` BIND VALUE `}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:`TO`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"config/pressure/max\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` ON`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` CHANGE`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` DO`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` PUBLISH`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` TOPIC`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"config/pressure/max\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` WITH`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` VALUE`})]}),`\n`]})})})]})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`LABEL`})}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`Field label`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`PLACEHOLDER`})}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`Placeholder text`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Bind targets:`}),` `,_jsx(_components.code,{children:`VALUE`}),` — `,_jsx(_components.strong,{children:`Events:`}),` `,_jsx(_components.code,{children:`ON CHANGE DO`})]}),`\n`,_jsx(Heading,{level:`2`,id:`common-mistakes`,children:`Common mistakes`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`I typed in a field but nothing was published`,id:`i-typed-in-a-field-but-nothing-was-published`,children:_jsxs(_components.p,{children:[`Text and number fields fire `,_jsx(_components.code,{children:`ON CHANGE`}),` when the value is `,_jsx(_components.strong,{children:`committed`}),` — press Enter (or leave the field) after typing. Each keystroke alone does not publish.`]})}),_jsx(Accordion,{title:`The toggle flips back on its own`,id:`the-toggle-flips-back-on-its-own`,children:_jsxs(_components.p,{children:[`The toggle reflects its `,_jsx(_components.code,{children:`BIND STATE`}),` topic. If nothing updates that topic, the toggle snaps back to the last bound value — make sure something (device, Action, or a test publish) updates the bound state.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next Steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Actions \u0026 events`,icon:`bolt`,href:`/latest/lot-language/panels/actions-events`,children:_jsx(_components.p,{children:`Everything a control can do: publish, navigate, invoke, trigger, and branch.`})}),_jsx(Card,{title:`Container components`,icon:`table-cells-large`,href:`/hub/dashboards/components/containers`,children:_jsx(_components.p,{children:`Group controls and readouts into cards and tabs.`})})]})]})}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":"Input \u0026 Control Components","description":"Buttons, toggles, sliders, and fields that write back to your broker.","keywords":["button","toggle","switch","slider","text-field","number-field","controls","ON CLICK","ON CHANGE","dashboards"],"href":"/hub/dashboards/components/inputs"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Button","slug":"button","depth":2,"children":[]},{"title":"Toggle / Switch","slug":"toggle-/-switch","depth":2,"children":[]},{"title":"Slider","slug":"slider","depth":2,"children":[]},{"title":"Text Field / Input","slug":"text-field-/-input","depth":2,"children":[]},{"title":"Number Field","slug":"number-field","depth":2,"children":[]},{"title":"Common mistakes","slug":"common-mistakes","depth":2,"children":[]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/coreflux/a521143ded12b642/scripts/mermaid-flow.js"],"subdomain":"coreflux","siteName":"Coreflux Documentation","title":"Input \u0026 Control Components - Coreflux Documentation","contextualStarterQuestions":[{"_id":"6ada2e96918154a2cbd63f32","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do I send data to broker?","status":"active","generatedBy":"contextual","path":"hub/dashboards/components/inputs","createdAt":"2026-10-22T15:41:10.046Z","updatedAt":"2026-10-22T15:41:10.046Z","__v":0},{"_id":"6ada2e96918154a2cbd63f31","deploymentId":"69317161c82f64ea7c1871b0","questionText":"What types of inputs are available?","status":"active","generatedBy":"contextual","path":"hub/dashboards/components/inputs","createdAt":"2026-10-22T15:41:10.046Z","updatedAt":"2026-10-22T15:41:10.046Z","__v":0},{"_id":"6ada2e96918154a2cbd63f30","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do input components work?","status":"active","generatedBy":"contextual","path":"hub/dashboards/components/inputs","createdAt":"2026-10-22T15:41:10.046Z","updatedAt":"2026-10-22T15:41:10.046Z","__v":0}],"navMaps":{"firstHrefInVersion":{"v2.22":{"href":"/hub/dashboards/components/inputs","matchLevel":0},"v2.14":{"href":"/hub/dashboards/components/inputs","matchLevel":0},"v2.2":{"href":"/v2.2","matchLevel":3},"v2.1":{"href":"/v2.1","matchLevel":3},"v2.0":{"href":"/v2.0","matchLevel":3},"v1.10":{"href":"/v1.10","matchLevel":3}},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T15:39:01.520Z","gitLastModified":"2026-10-21T14:00:26.000Z","originalFileLocation":"hub/dashboards/components/inputs.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=\"Buttons, toggles, sliders, and fields that write back to your broker.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Coreflux Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Input \u0026amp; Control Components - Coreflux Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Buttons, toggles, sliders, and fields that write back to your broker.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Coreflux Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.coreflux.org/hub/dashboards/components/inputs\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://coreflux.mintlify.app/_mintlify/api/og/v2?division=Component+Reference\u0026amp;title=Input+%26+Control+Components\u0026amp;description=Buttons%2C+toggles%2C+sliders%2C+and+fields+that+write+back+to+your+broker.\u0026amp;theme=b63f1147494e66c8a7509625\u0026amp;signature=beb90ffaa4f3d8baf664f810026a8cc077992139796da2d3c1eb26c263ca901b\">\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=\"Input \u0026amp; Control Components - Coreflux Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Buttons, toggles, sliders, and fields that write back to your broker.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://coreflux.mintlify.app/_mintlify/api/og/v2?division=Component+Reference\u0026amp;title=Input+%26+Control+Components\u0026amp;description=Buttons%2C+toggles%2C+sliders%2C+and+fields+that+write+back+to+your+broker.\u0026amp;theme=b63f1147494e66c8a7509625\u0026amp;signature=beb90ffaa4f3d8baf664f810026a8cc077992139796da2d3c1eb26c263ca901b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Coreflux Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#eb470b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.coreflux.org/hub/dashboards/components/inputs\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/hub/dashboards/components/inputs.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.coreflux.org/#organization\",\"name\":\"Coreflux Documentation\",\"url\":\"https://docs.coreflux.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/coreflux/7tBTxEEkDVX4IRGH/images/logo/logo_light_docs_glyph.png?fit=max\u0026auto=format\u0026n=7tBTxEEkDVX4IRGH\u0026q=85\u0026s=56a469c914780a6d8c40a4329c0b0879\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.coreflux.org#website\",\"name\":\"Coreflux Documentation\",\"url\":\"https://docs.coreflux.org\",\"publisher\":{\"@id\":\"https://docs.coreflux.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.coreflux.org/hub/dashboards/components/inputs#webpage\",\"url\":\"https://docs.coreflux.org/hub/dashboards/components/inputs\",\"name\":\"Input \u0026 Control Components\",\"description\":\"Buttons, toggles, sliders, and fields that write back to your broker.\",\"dateModified\":\"2026-10-21T14:00:26.000Z\",\"isPartOf\":{\"@id\":\"https://docs.coreflux.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.coreflux.org/hub/dashboards/components/inputs#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.coreflux.org/hub/dashboards/components/inputs#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Coreflux HUB\",\"item\":\"https://docs.coreflux.org/hub/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dashboards\",\"item\":\"https://docs.coreflux.org/hub/dashboards/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Component Reference\",\"item\":\"https://docs.coreflux.org/hub/dashboards/components/display\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Input \u0026 Control Components\",\"item\":\"https://docs.coreflux.org/hub/dashboards/components/inputs\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.coreflux.org/hub/dashboards/components/inputs#article\",\"headline\":\"Input \u0026 Control Components\",\"name\":\"Input \u0026 Control Components\",\"description\":\"Buttons, toggles, sliders, and fields that write back to your broker.\",\"url\":\"https://docs.coreflux.org/hub/dashboards/components/inputs\",\"mainEntityOfPage\":{\"@id\":\"https://docs.coreflux.org/hub/dashboards/components/inputs#webpage\"},\"dateModified\":\"2026-10-21T14:00:26.000Z\",\"keywords\":\"button, toggle, switch, slider, text-field, number-field, controls, ON CLICK, ON CHANGE, dashboards\",\"publisher\":{\"@id\":\"https://docs.coreflux.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.coreflux.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Coreflux Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Coreflux Documentation","nav":{"global":null,"versions":[{"version":"v2.22","default":true,"tag":"Latest","groups":[{"group":"Quick Start","pages":[{"title":"Welcome to Coreflux","sidebarTitle":"Welcome","icon":"house","mode":"frame","href":"/latest"},{"title":"Installation","icon":"download","href":"/latest/quick-start/installation"},{"title":"Updating Your Coreflux","icon":"rotate","href":"/latest/updating-coreflux"},{"title":"Getting Started","icon":"rocket","href":"/latest/quick-start/getting-started"},{"title":"Using Coreflux HUB","icon":"globe","href":"/latest/quick-start/using-hub"},{"title":"Using LoT Notebooks","sidebarTitle":"Using LoT Notebooks","icon":"code","href":"/latest/quick-start/vscode"},{"title":"Using AI with Coreflux","icon":"wand-magic-sparkles","href":"/latest/quick-start/using-ai"},{"title":"Build Your First Dashboard","icon":"rocket","href":"/latest/quick-start/building-dashboards"},{"title":"Creating Agents in Coreflux","icon":"robot","href":"/latest/quick-start/creating-agents"},{"title":"Best Practices \u0026 Patterns","icon":"book-open","href":"/latest/quick-start/best-practices"}]},{"group":"Coreflux MQTT Broker","pages":[{"title":"MQTT Broker","href":"/latest/mqtt-broker/overview"},{"title":"MQTT Protocol","href":"/latest/mqtt-broker/protocol"},{"title":"High-Availability Clustering","href":"/latest/mqtt-broker/clustering"},{"group":"Configuring the Broker","pages":[{"title":"Broker Configuration","href":"/latest/mqtt-broker/configuration"},{"title":"OIDC and Bearer Authentication","href":"/latest/mqtt-broker/oidc-authentication"},{"title":"MCP Server","href":"/latest/mqtt-broker/mcp-server"},{"title":"MQTT State Durability","href":"/latest/mqtt-broker/durability"},{"title":"Environment Variables \u0026 Secrets","href":"/latest/mqtt-broker/secrets-and-env"},{"title":"Startup Options \u0026 Deployment","href":"/latest/mqtt-broker/startup-options"},{"title":"Licensing and Enrollment","href":"/latest/mqtt-broker/licensing"}]},{"group":"Operating the Broker","pages":[{"title":"Operational Endpoints","href":"/latest/mqtt-broker/operational-endpoints"},{"title":"System ($SYS) Topics","href":"/latest/mqtt-broker/sys-topics"},{"title":"Broker Commands","href":"/latest/mqtt-broker/commands"}]}]},{"group":"LoT Language","pages":[{"title":"Introduction to LoT","href":"/latest/lot-language/introduction"},{"group":"LoT ACTION","pages":[{"title":"ACTION Overview","href":"/latest/lot-language/actions/overview"},{"title":"ACTION Syntax Reference","href":"/latest/lot-language/actions/syntax"},{"title":"ACTION Triggers","href":"/latest/lot-language/actions/events"},{"title":"Callable ACTIONs","href":"/latest/lot-language/actions/callable-actions"},{"title":"ACTION Operations Reference","href":"/latest/lot-language/actions/operations"},{"title":"ACTION Python Integration","href":"/latest/lot-language/actions/python-integration"}]},{"group":"LoT MODEL","pages":[{"title":"MODEL Overview","href":"/latest/lot-language/models/overview"},{"title":"MODEL Syntax and Components","href":"/latest/lot-language/models/schema-definition"},{"title":"MODEL Publishing","href":"/latest/lot-language/models/publish-model"},{"title":"MODEL Inheritance","href":"/latest/lot-language/models/model-inheritance"},{"title":"MODEL Protobuf","href":"/latest/lot-language/models/protobuf"},{"title":"MODEL Examples","href":"/latest/lot-language/models/examples"}]},{"group":"LoT CONNECTOR","pages":[{"title":"Connectors Overview","href":"/latest/lot-language/routes/overview"},{"title":"Store and Forward Configuration","href":"/latest/lot-language/routes/store-and-forward"},{"group":"System Connectors","pages":[{"title":"System Connectors","href":"/latest/lot-language/routes/system-routes"},{"title":"MQTT Bridge Connector","href":"/latest/lot-language/routes/system/mqtt-bridge"},{"title":"Sparkplug B Connector","href":"/latest/lot-language/routes/system/sparkplug-b"},{"title":"Sparkplug Host Connector","href":"/latest/lot-language/routes/system/sparkplug-host"}]},{"group":"Industrial Connectors","pages":[{"title":"Industrial Connectors Overview","href":"/latest/lot-language/routes/industrial/overview"},{"title":"Modbus TCP Client Connector","href":"/latest/lot-language/routes/industrial/modbus-tcp-client"},{"title":"Modbus Serial Client Connector","href":"/latest/lot-language/routes/industrial/modbus-serial-client"},{"title":"Modbus TCP Server Connector","href":"/latest/lot-language/routes/industrial/modbus-tcp-server"},{"title":"Siemens S7 Connector","href":"/latest/lot-language/routes/industrial/siemens-s7"},{"title":"OPC UA Client Connector","href":"/latest/lot-language/routes/industrial/opcua-client"},{"title":"OPC UA Server Connector","href":"/latest/lot-language/routes/industrial/opcua-server"},{"title":"ADS Connector (Beckhoff)","href":"/latest/lot-language/routes/industrial/ads"},{"title":"Allen-Bradley Connector","href":"/latest/lot-language/routes/industrial/allen-bradley"},{"title":"EtherNet/IP Connector","href":"/latest/lot-language/routes/industrial/ethernetip"},{"title":"FINS Connector (Omron)","href":"/latest/lot-language/routes/industrial/fins"},{"title":"BACnet/IP Connector","href":"/latest/lot-language/routes/industrial/bacnet"}]},{"group":"Data Storage Connectors","pages":[{"title":"Data Storage Connectors Overview","href":"/latest/lot-language/routes/data-storage/overview"},{"title":"PostgreSQL Connector","href":"/latest/lot-language/routes/data-storage/postgresql"},{"title":"MySQL Connector","href":"/latest/lot-language/routes/data-storage/mysql"},{"title":"MariaDB Connector","href":"/latest/lot-language/routes/data-storage/mariadb"},{"title":"SQL Server Connector","href":"/latest/lot-language/routes/data-storage/sqlserver"},{"title":"MongoDB Connector","href":"/latest/lot-language/routes/data-storage/mongodb"},{"title":"OpenSearch Connector","href":"/latest/lot-language/routes/data-storage/opensearch"},{"title":"CrateDB Connector","href":"/latest/lot-language/routes/data-storage/cratedb"},{"title":"Snowflake Connector","href":"/latest/lot-language/routes/data-storage/snowflake"},{"title":"File Storage Connector","href":"/latest/lot-language/routes/data-storage/file-storage"}]},{"group":"Streaming Connectors","pages":[{"title":"Kafka Connector","href":"/latest/lot-language/routes/streaming/kafka"},{"title":"gRPC Connector","href":"/latest/lot-language/routes/streaming/grpc"}]},{"group":"Notification Connectors","pages":[{"title":"Email Connector","href":"/latest/lot-language/routes/notifications/email"}]},{"title":"REST API Connectors","href":"/latest/lot-language/routes/rest-api-routes"},{"group":"REST API apps","pages":[{"title":"REST API Apps","href":"/latest/lot-language/routes/rest-api-apps/index"},{"title":"Acumatica Cloud ERP REST API","href":"/latest/lot-language/routes/rest-api-apps/acumatica-cloud-erp"},{"title":"Airtable","href":"/latest/lot-language/routes/rest-api-apps/airtable"},{"title":"Amazon Bedrock Control","href":"/latest/lot-language/routes/rest-api-apps/amazon-bedrock-control"},{"title":"Amazon Bedrock Runtime","href":"/latest/lot-language/routes/rest-api-apps/amazon-bedrock-runtime"},{"title":"Amazon CloudWatch","href":"/latest/lot-language/routes/rest-api-apps/amazon-cloudwatch"},{"title":"Amazon DynamoDB","href":"/latest/lot-language/routes/rest-api-apps/amazon-dynamodb"},{"title":"Amazon S3","href":"/latest/lot-language/routes/rest-api-apps/amazon-s3"},{"title":"Amazon SNS","href":"/latest/lot-language/routes/rest-api-apps/amazon-sns"},{"title":"Anaplan","href":"/latest/lot-language/routes/rest-api-apps/anaplan"},{"title":"Anthropic","href":"/latest/lot-language/routes/rest-api-apps/anthropic"},{"title":"Apache Superset","href":"/latest/lot-language/routes/rest-api-apps/apache-superset"},{"title":"Apprise API","href":"/latest/lot-language/routes/rest-api-apps/apprise-api"},{"title":"Aras Innovator Api","href":"/latest/lot-language/routes/rest-api-apps/aras-innovator-api"},{"title":"Asana","href":"/latest/lot-language/routes/rest-api-apps/asana"},{"title":"Auth0","href":"/latest/lot-language/routes/rest-api-apps/auth0"},{"title":"Autodesk Platform Services Api","href":"/latest/lot-language/routes/rest-api-apps/autodesk-platform-services-api"},{"title":"AVEVA CONNECT data services","href":"/latest/lot-language/routes/rest-api-apps/aveva-connect-data-services"},{"title":"Aveva Mes Api","href":"/latest/lot-language/routes/rest-api-apps/aveva-mes-api"},{"title":"AVEVA PI Web API","href":"/latest/lot-language/routes/rest-api-apps/aveva-pi-web-api"},{"title":"AWS IoT Core","href":"/latest/lot-language/routes/rest-api-apps/aws-iot-core"},{"title":"AWS IoT SiteWise","href":"/latest/lot-language/routes/rest-api-apps/aws-iot-sitewise"},{"title":"Azure Blob Storage and Data Lake Gen2","href":"/latest/lot-language/routes/rest-api-apps/azure-blob-storage-and-data-lake-gen2"},{"title":"Azure Cosmos DB","href":"/latest/lot-language/routes/rest-api-apps/azure-cosmos-db"},{"title":"Azure Data Explorer and Fabric Eventhouse","href":"/latest/lot-language/routes/rest-api-apps/azure-data-explorer-and-fabric-eventhouse"},{"title":"Azure DevOps","href":"/latest/lot-language/routes/rest-api-apps/azure-devops"},{"title":"Azure Digital Twins","href":"/latest/lot-language/routes/rest-api-apps/azure-digital-twins"},{"title":"Azure Event Hubs","href":"/latest/lot-language/routes/rest-api-apps/azure-event-hubs"},{"title":"Azure IoT Hub","href":"/latest/lot-language/routes/rest-api-apps/azure-iot-hub"},{"title":"Azure Monitor","href":"/latest/lot-language/routes/rest-api-apps/azure-monitor"},{"title":"Azure OpenAI and Azure AI Foundry","href":"/latest/lot-language/routes/rest-api-apps/azure-openai-and-azure-ai-foundry"},{"title":"Azure Service Bus","href":"/latest/lot-language/routes/rest-api-apps/azure-service-bus"},{"title":"balena","href":"/latest/lot-language/routes/rest-api-apps/balena"},{"title":"Bar Tender Actions","href":"/latest/lot-language/routes/rest-api-apps/bar-tender-actions"},{"title":"Bar Tender Cloud","href":"/latest/lot-language/routes/rest-api-apps/bar-tender-cloud"},{"title":"Bar Tender Print Portal","href":"/latest/lot-language/routes/rest-api-apps/bar-tender-print-portal"},{"title":"Blynk Device Api","href":"/latest/lot-language/routes/rest-api-apps/blynk-device-api"},{"title":"Blynk Platform Api","href":"/latest/lot-language/routes/rest-api-apps/blynk-platform-api"},{"title":"BMC Helix ITSM","href":"/latest/lot-language/routes/rest-api-apps/bmc-helix-itsm"},{"title":"Box Upload","href":"/latest/lot-language/routes/rest-api-apps/box-upload"},{"title":"Box","href":"/latest/lot-language/routes/rest-api-apps/box"},{"title":"Canary Read","href":"/latest/lot-language/routes/rest-api-apps/canary-read"},{"title":"Canary Write","href":"/latest/lot-language/routes/rest-api-apps/canary-write"},{"title":"ChirpStack v4","href":"/latest/lot-language/routes/rest-api-apps/chirpstack-v4"},{"title":"Clarify (Searis)","href":"/latest/lot-language/routes/rest-api-apps/clarify"},{"title":"ClickHouse","href":"/latest/lot-language/routes/rest-api-apps/clickhouse"},{"title":"Cloud Firestore","href":"/latest/lot-language/routes/rest-api-apps/cloud-firestore"},{"title":"Coupa","href":"/latest/lot-language/routes/rest-api-apps/coupa"},{"title":"Critical Manufacturing MES","href":"/latest/lot-language/routes/rest-api-apps/critical-manufacturing-mes"},{"title":"Cumulocity","href":"/latest/lot-language/routes/rest-api-apps/cumulocity"},{"title":"Databricks","href":"/latest/lot-language/routes/rest-api-apps/databricks"},{"title":"Datacake","href":"/latest/lot-language/routes/rest-api-apps/datacake"},{"title":"Datadog","href":"/latest/lot-language/routes/rest-api-apps/datadog"},{"title":"DELMIA Apriso (Dassault Systèmes)","href":"/latest/lot-language/routes/rest-api-apps/delmia-apriso"},{"title":"Dhl Api","href":"/latest/lot-language/routes/rest-api-apps/dhl-api"},{"title":"Dhl Location Finder","href":"/latest/lot-language/routes/rest-api-apps/dhl-location-finder"},{"title":"Dhl Parcel De","href":"/latest/lot-language/routes/rest-api-apps/dhl-parcel-de"},{"title":"Discord","href":"/latest/lot-language/routes/rest-api-apps/discord"},{"title":"Docker Hub","href":"/latest/lot-language/routes/rest-api-apps/docker-hub"},{"title":"Docu Sign ESignature","href":"/latest/lot-language/routes/rest-api-apps/docu-sign-esignature"},{"title":"Docu Sign OAuth","href":"/latest/lot-language/routes/rest-api-apps/docu-sign-oauth"},{"title":"Domo","href":"/latest/lot-language/routes/rest-api-apps/domo"},{"title":"Dropbox Content","href":"/latest/lot-language/routes/rest-api-apps/dropbox-content"},{"title":"Dropbox Notify","href":"/latest/lot-language/routes/rest-api-apps/dropbox-notify"},{"title":"Dropbox","href":"/latest/lot-language/routes/rest-api-apps/dropbox"},{"title":"Dynamics 365 Field Service and Connected Field Service","href":"/latest/lot-language/routes/rest-api-apps/dynamics-365-field-service-and-connected-field-service"},{"title":"Dynamics 365 Business Central","href":"/latest/lot-language/routes/rest-api-apps/dynamics365-bc"},{"title":"Microsoft Dynamics 365 Finance and Supply Chain","href":"/latest/lot-language/routes/rest-api-apps/dynamics365-fscm"},{"title":"Dynamics 365 Dataverse Web API","href":"/latest/lot-language/routes/rest-api-apps/dynamics365"},{"title":"Dynatrace","href":"/latest/lot-language/routes/rest-api-apps/dynatrace"},{"title":"EasyPost","href":"/latest/lot-language/routes/rest-api-apps/easypost"},{"title":"Eclipse Ditto (digital twins)","href":"/latest/lot-language/routes/rest-api-apps/eclipse-ditto"},{"title":"Eclipse hawkBit (OTA)","href":"/latest/lot-language/routes/rest-api-apps/eclipse-hawkbit"},{"title":"Elasticsearch and Elastic Cloud","href":"/latest/lot-language/routes/rest-api-apps/elasticsearch-and-elastic-cloud"},{"title":"Electricity Maps","href":"/latest/lot-language/routes/rest-api-apps/electricity-maps"},{"title":"Enphase Enlighten API v4","href":"/latest/lot-language/routes/rest-api-apps/enphase-enlighten-api-v4"},{"title":"Enphase","href":"/latest/lot-language/routes/rest-api-apps/enphase"},{"title":"ENTSO-E Transparency Platform REST API","href":"/latest/lot-language/routes/rest-api-apps/entso-e-transparency-platform"},{"title":"Epicor Kinetic REST API","href":"/latest/lot-language/routes/rest-api-apps/epicor-kinetic"},{"title":"ERedes Open Data","href":"/latest/lot-language/routes/rest-api-apps/eredes-open-data"},{"title":"Excel Online","href":"/latest/lot-language/routes/rest-api-apps/excel-online"},{"title":"Fed Ex Api","href":"/latest/lot-language/routes/rest-api-apps/fed-ex-api"},{"title":"Fed Ex Auth","href":"/latest/lot-language/routes/rest-api-apps/fed-ex-auth"},{"title":"Fed Ex Docs","href":"/latest/lot-language/routes/rest-api-apps/fed-ex-docs"},{"title":"Firebase Cloud Messaging (HTTP v1)","href":"/latest/lot-language/routes/rest-api-apps/firebase-cloud-messaging"},{"title":"Firebase Realtime Database and Cloud Firestore","href":"/latest/lot-language/routes/rest-api-apps/firebase-realtime-database-and-cloud-firestore"},{"title":"Firebase Realtime Database","href":"/latest/lot-language/routes/rest-api-apps/firebase-realtime-database"},{"title":"Flow Fuse Api","href":"/latest/lot-language/routes/rest-api-apps/flow-fuse-api"},{"title":"Fracttal One Api","href":"/latest/lot-language/routes/rest-api-apps/fracttal-one-api"},{"title":"Freshdesk and Freshservice REST API","href":"/latest/lot-language/routes/rest-api-apps/freshdesk-and-freshservice"},{"title":"Fronius Solar API (local)","href":"/latest/lot-language/routes/rest-api-apps/fronius-solar-api"},{"title":"GE Vernova Proficy Historian","href":"/latest/lot-language/routes/rest-api-apps/ge-vernova-proficy-historian"},{"title":"Gemini Api","href":"/latest/lot-language/routes/rest-api-apps/gemini-api"},{"title":"Geotab (MyGeotab API) REST API","href":"/latest/lot-language/routes/rest-api-apps/geotab"},{"title":"GitHub REST API","href":"/latest/lot-language/routes/rest-api-apps/github"},{"title":"GitLab","href":"/latest/lot-language/routes/rest-api-apps/gitlab"},{"title":"Golioth","href":"/latest/lot-language/routes/rest-api-apps/golioth"},{"title":"Google Address Validation","href":"/latest/lot-language/routes/rest-api-apps/google-address-validation"},{"title":"Google Air Quality","href":"/latest/lot-language/routes/rest-api-apps/google-air-quality"},{"title":"Google BigQuery","href":"/latest/lot-language/routes/rest-api-apps/google-bigquery"},{"title":"Google Cloud Pub/Sub","href":"/latest/lot-language/routes/rest-api-apps/google-cloud-pub-sub"},{"title":"Google Cloud Storage","href":"/latest/lot-language/routes/rest-api-apps/google-cloud-storage"},{"title":"Google Drive","href":"/latest/lot-language/routes/rest-api-apps/google-drive"},{"title":"Google Geolocation","href":"/latest/lot-language/routes/rest-api-apps/google-geolocation"},{"title":"Google Maps Web Services","href":"/latest/lot-language/routes/rest-api-apps/google-maps-web-services"},{"title":"Google Places","href":"/latest/lot-language/routes/rest-api-apps/google-places"},{"title":"Google Roads","href":"/latest/lot-language/routes/rest-api-apps/google-roads"},{"title":"Google Routes","href":"/latest/lot-language/routes/rest-api-apps/google-routes"},{"title":"Google Sheets","href":"/latest/lot-language/routes/rest-api-apps/google-sheets"},{"title":"Google Weather","href":"/latest/lot-language/routes/rest-api-apps/google-weather"},{"title":"Grafana Loki","href":"/latest/lot-language/routes/rest-api-apps/grafana-loki"},{"title":"Grafana","href":"/latest/lot-language/routes/rest-api-apps/grafana"},{"title":"Help Scout","href":"/latest/lot-language/routes/rest-api-apps/help-scout"},{"title":"Here Browse","href":"/latest/lot-language/routes/rest-api-apps/here-browse"},{"title":"Here Discover","href":"/latest/lot-language/routes/rest-api-apps/here-discover"},{"title":"Here Geocode","href":"/latest/lot-language/routes/rest-api-apps/here-geocode"},{"title":"HERE Geocoding","href":"/latest/lot-language/routes/rest-api-apps/here-geocoding"},{"title":"Here Isoline","href":"/latest/lot-language/routes/rest-api-apps/here-isoline"},{"title":"Here Lookup","href":"/latest/lot-language/routes/rest-api-apps/here-lookup"},{"title":"Here Matrix","href":"/latest/lot-language/routes/rest-api-apps/here-matrix"},{"title":"Here Multi Reverse Geocode","href":"/latest/lot-language/routes/rest-api-apps/here-multi-reverse-geocode"},{"title":"Here Reverse Geocode","href":"/latest/lot-language/routes/rest-api-apps/here-reverse-geocode"},{"title":"Here Route Matching","href":"/latest/lot-language/routes/rest-api-apps/here-route-matching"},{"title":"Here Routing","href":"/latest/lot-language/routes/rest-api-apps/here-routing"},{"title":"Here Tour Planning","href":"/latest/lot-language/routes/rest-api-apps/here-tour-planning"},{"title":"Here Traffic","href":"/latest/lot-language/routes/rest-api-apps/here-traffic"},{"title":"Here Waypoints Sequence","href":"/latest/lot-language/routes/rest-api-apps/here-waypoints-sequence"},{"title":"High Byte Config","href":"/latest/lot-language/routes/rest-api-apps/high-byte-config"},{"title":"High Byte Data","href":"/latest/lot-language/routes/rest-api-apps/high-byte-data"},{"title":"Home Assistant","href":"/latest/lot-language/routes/rest-api-apps/home-assistant"},{"title":"HTTPBin REST API","href":"/latest/lot-language/routes/rest-api-apps/httpbin"},{"title":"HubSpot CRM API","href":"/latest/lot-language/routes/rest-api-apps/hubspot"},{"title":"Hugging Face Dedicated Endpoint","href":"/latest/lot-language/routes/rest-api-apps/hugging-face-dedicated-endpoint"},{"title":"Hugging Face Hub","href":"/latest/lot-language/routes/rest-api-apps/hugging-face-hub"},{"title":"Hugging Face Inference Endpoints","href":"/latest/lot-language/routes/rest-api-apps/hugging-face-inference-endpoints"},{"title":"Hugging Face Inference Providers","href":"/latest/lot-language/routes/rest-api-apps/hugging-face-inference-providers"},{"title":"HxGN EAM (Hexagon, formerly Infor EAM)","href":"/latest/lot-language/routes/rest-api-apps/hxgn-eam"},{"title":"IBM Maximo Manage","href":"/latest/lot-language/routes/rest-api-apps/ibm-maximo-manage"},{"title":"IFS Cloud REST API","href":"/latest/lot-language/routes/rest-api-apps/ifs-cloud"},{"title":"Ignition (Inductive Automation)","href":"/latest/lot-language/routes/rest-api-apps/ignition"},{"title":"InfluxDB","href":"/latest/lot-language/routes/rest-api-apps/influxdb"},{"title":"Infor CloudSuite via ION API Gateway REST API","href":"/latest/lot-language/routes/rest-api-apps/infor-cloudsuite-via-ion-api-gateway"},{"title":"Intercom","href":"/latest/lot-language/routes/rest-api-apps/intercom"},{"title":"Jira Cloud (Software)","href":"/latest/lot-language/routes/rest-api-apps/jira-cloud"},{"title":"Jira Service Management","href":"/latest/lot-language/routes/rest-api-apps/jira-service-management"},{"title":"JSONPlaceholder REST API","href":"/latest/lot-language/routes/rest-api-apps/jsonplaceholder"},{"title":"Kepware Config","href":"/latest/lot-language/routes/rest-api-apps/kepware-config"},{"title":"Kepware Iot Gateway","href":"/latest/lot-language/routes/rest-api-apps/kepware-iot-gateway"},{"title":"Limble CMMS","href":"/latest/lot-language/routes/rest-api-apps/limble-cmms"},{"title":"Litmus Edge","href":"/latest/lot-language/routes/rest-api-apps/litmus-edge"},{"title":"Looker","href":"/latest/lot-language/routes/rest-api-apps/looker"},{"title":"Losant","href":"/latest/lot-language/routes/rest-api-apps/losant"},{"title":"MachineMetrics","href":"/latest/lot-language/routes/rest-api-apps/machinemetrics"},{"title":"Mailgun","href":"/latest/lot-language/routes/rest-api-apps/mailgun"},{"title":"MaintainX","href":"/latest/lot-language/routes/rest-api-apps/maintainx"},{"title":"Mapbox","href":"/latest/lot-language/routes/rest-api-apps/mapbox"},{"title":"Mattermost","href":"/latest/lot-language/routes/rest-api-apps/mattermost"},{"title":"Memfault","href":"/latest/lot-language/routes/rest-api-apps/memfault"},{"title":"Mender","href":"/latest/lot-language/routes/rest-api-apps/mender"},{"title":"Metabase","href":"/latest/lot-language/routes/rest-api-apps/metabase"},{"title":"Microsoft Power BI","href":"/latest/lot-language/routes/rest-api-apps/microsoft-power-bi"},{"title":"Microsoft Teams","href":"/latest/lot-language/routes/rest-api-apps/microsoft-teams"},{"title":"MinIO","href":"/latest/lot-language/routes/rest-api-apps/minio"},{"title":"Mistral AI","href":"/latest/lot-language/routes/rest-api-apps/mistral-ai"},{"title":"monday.com","href":"/latest/lot-language/routes/rest-api-apps/monday-com"},{"title":"My Dhl Express","href":"/latest/lot-language/routes/rest-api-apps/my-dhl-express"},{"title":"N3uron","href":"/latest/lot-language/routes/rest-api-apps/n3uron"},{"title":"Oracle NetSuite (SuiteTalk REST)","href":"/latest/lot-language/routes/rest-api-apps/netsuite"},{"title":"New Relic","href":"/latest/lot-language/routes/rest-api-apps/new-relic"},{"title":"Nextcloud","href":"/latest/lot-language/routes/rest-api-apps/nextcloud"},{"title":"Node Red Admin","href":"/latest/lot-language/routes/rest-api-apps/node-red-admin"},{"title":"Node Red Http In","href":"/latest/lot-language/routes/rest-api-apps/node-red-http-in"},{"title":"Notion","href":"/latest/lot-language/routes/rest-api-apps/notion"},{"title":"ntfy","href":"/latest/lot-language/routes/rest-api-apps/ntfy"},{"title":"OCPI 2.2.1 (EV charging roaming)","href":"/latest/lot-language/routes/rest-api-apps/ocpi-2-2-1"},{"title":"Odoo","href":"/latest/lot-language/routes/rest-api-apps/odoo"},{"title":"Okta","href":"/latest/lot-language/routes/rest-api-apps/okta"},{"title":"Ollama (local models)","href":"/latest/lot-language/routes/rest-api-apps/ollama"},{"title":"Open-Meteo REST API","href":"/latest/lot-language/routes/rest-api-apps/open-meteo"},{"title":"OpenADR 3.0 (demand response)","href":"/latest/lot-language/routes/rest-api-apps/openadr-3-0"},{"title":"OpenAI","href":"/latest/lot-language/routes/rest-api-apps/openai"},{"title":"OpenAQ","href":"/latest/lot-language/routes/rest-api-apps/openaq"},{"title":"OpenEI","href":"/latest/lot-language/routes/rest-api-apps/openei"},{"title":"OpenWeatherMap REST API","href":"/latest/lot-language/routes/rest-api-apps/openweathermap"},{"title":"Opsgenie","href":"/latest/lot-language/routes/rest-api-apps/opsgenie"},{"title":"Oracle E-Business Suite (Integrated SOA Gateway)","href":"/latest/lot-language/routes/rest-api-apps/oracle-e-business-suite"},{"title":"Oracle Fusion Cloud ERP and SCM","href":"/latest/lot-language/routes/rest-api-apps/oracle-fusion-erp"},{"title":"Oracle JD Edwards EnterpriseOne","href":"/latest/lot-language/routes/rest-api-apps/oracle-jd-edwards"},{"title":"Osm Nominatim","href":"/latest/lot-language/routes/rest-api-apps/osm-nominatim"},{"title":"Osm Osrm","href":"/latest/lot-language/routes/rest-api-apps/osm-osrm"},{"title":"PagerDuty","href":"/latest/lot-language/routes/rest-api-apps/pagerduty"},{"title":"Particle","href":"/latest/lot-language/routes/rest-api-apps/particle"},{"title":"Pipedrive","href":"/latest/lot-language/routes/rest-api-apps/pipedrive"},{"title":"Postman Echo REST API","href":"/latest/lot-language/routes/rest-api-apps/postman-echo"},{"title":"Project Haystack","href":"/latest/lot-language/routes/rest-api-apps/project-haystack"},{"title":"Prometheus, Alertmanager and Pushgateway","href":"/latest/lot-language/routes/rest-api-apps/prometheus-alertmanager-and-pushgateway"},{"title":"PTC Windchill (Windchill REST Services)","href":"/latest/lot-language/routes/rest-api-apps/ptc-windchill"},{"title":"PurpleAir","href":"/latest/lot-language/routes/rest-api-apps/purpleair"},{"title":"Pushover","href":"/latest/lot-language/routes/rest-api-apps/pushover"},{"title":"QAD Adaptive ERP","href":"/latest/lot-language/routes/rest-api-apps/qad-adaptive-erp"},{"title":"QAD Redzone","href":"/latest/lot-language/routes/rest-api-apps/qad-redzone"},{"title":"Qlik Cloud","href":"/latest/lot-language/routes/rest-api-apps/qlik-cloud"},{"title":"QuestDB","href":"/latest/lot-language/routes/rest-api-apps/questdb"},{"title":"QuickBooks Online","href":"/latest/lot-language/routes/rest-api-apps/quickbooks-online"},{"title":"Ren Data Hub","href":"/latest/lot-language/routes/rest-api-apps/ren-data-hub"},{"title":"Rhize Api","href":"/latest/lot-language/routes/rest-api-apps/rhize-api"},{"title":"Rockwell Plex Smart Manufacturing Platform","href":"/latest/lot-language/routes/rest-api-apps/rockwell-plex-smart-manufacturing-platform"},{"title":"Salesforce","href":"/latest/lot-language/routes/rest-api-apps/salesforce"},{"title":"Samsara REST API","href":"/latest/lot-language/routes/rest-api-apps/samsara"},{"title":"Sap Ariba Open Api","href":"/latest/lot-language/routes/rest-api-apps/sap-ariba-open-api"},{"title":"SAP Business One Service Layer","href":"/latest/lot-language/routes/rest-api-apps/sap-b1"},{"title":"SAP Digital Manufacturing","href":"/latest/lot-language/routes/rest-api-apps/sap-digital-manufacturing"},{"title":"SAP Field Service Management","href":"/latest/lot-language/routes/rest-api-apps/sap-field-service-management"},{"title":"SAP S/4HANA Cloud","href":"/latest/lot-language/routes/rest-api-apps/sap-s4hana-cloud"},{"title":"SAP S/4HANA on-premise / ECC (Gateway)","href":"/latest/lot-language/routes/rest-api-apps/sap-s4hana-onprem"},{"title":"SAP SuccessFactors","href":"/latest/lot-language/routes/rest-api-apps/sap-successfactors"},{"title":"Seeq","href":"/latest/lot-language/routes/rest-api-apps/seeq"},{"title":"SendGrid","href":"/latest/lot-language/routes/rest-api-apps/sendgrid"},{"title":"Sentry","href":"/latest/lot-language/routes/rest-api-apps/sentry"},{"title":"Sepasoft MES for Ignition","href":"/latest/lot-language/routes/rest-api-apps/sepasoft-mes-for-ignition"},{"title":"Service Titan Api","href":"/latest/lot-language/routes/rest-api-apps/service-titan-api"},{"title":"ServiceMax (PTC)","href":"/latest/lot-language/routes/rest-api-apps/servicemax"},{"title":"ServiceNow","href":"/latest/lot-language/routes/rest-api-apps/servicenow"},{"title":"SharePoint and OneDrive (Microsoft Graph)","href":"/latest/lot-language/routes/rest-api-apps/sharepoint-and-onedrive"},{"title":"Shelly Cloud Control","href":"/latest/lot-language/routes/rest-api-apps/shelly-cloud-control"},{"title":"Shelly Gen2 Rpc","href":"/latest/lot-language/routes/rest-api-apps/shelly-gen2-rpc"},{"title":"Shopify","href":"/latest/lot-language/routes/rest-api-apps/shopify"},{"title":"Siemens Industrial Edge Management","href":"/latest/lot-language/routes/rest-api-apps/siemens-industrial-edge-management"},{"title":"Siemens Insights Hub","href":"/latest/lot-language/routes/rest-api-apps/siemens-insights-hub"},{"title":"Siemens Opcenter Execution","href":"/latest/lot-language/routes/rest-api-apps/siemens-opcenter-execution"},{"title":"Siemens Teamcenter","href":"/latest/lot-language/routes/rest-api-apps/siemens-teamcenter"},{"title":"Siemens WinCC Unified (GraphQL server)","href":"/latest/lot-language/routes/rest-api-apps/siemens-wincc-unified"},{"title":"Sight Machine","href":"/latest/lot-language/routes/rest-api-apps/sight-machine"},{"title":"Slack REST API","href":"/latest/lot-language/routes/rest-api-apps/slack"},{"title":"Smartsheet","href":"/latest/lot-language/routes/rest-api-apps/smartsheet"},{"title":"Snowflake SQL API","href":"/latest/lot-language/routes/rest-api-apps/snowflake-sql-api"},{"title":"SolarEdge Monitoring API","href":"/latest/lot-language/routes/rest-api-apps/solaredge-monitoring-api"},{"title":"SolarEdge","href":"/latest/lot-language/routes/rest-api-apps/solaredge"},{"title":"Soracom","href":"/latest/lot-language/routes/rest-api-apps/soracom"},{"title":"Splunk Enterprise and Cloud","href":"/latest/lot-language/routes/rest-api-apps/splunk-enterprise-and-cloud"},{"title":"Stripe REST API","href":"/latest/lot-language/routes/rest-api-apps/stripe"},{"title":"SugarCRM","href":"/latest/lot-language/routes/rest-api-apps/sugarcrm"},{"title":"Supabase","href":"/latest/lot-language/routes/rest-api-apps/supabase"},{"title":"Tableau (Server and Cloud)","href":"/latest/lot-language/routes/rest-api-apps/tableau"},{"title":"TDengine","href":"/latest/lot-language/routes/rest-api-apps/tdengine"},{"title":"Telegram Bot API","href":"/latest/lot-language/routes/rest-api-apps/telegram-bot-api"},{"title":"Teltonika RMS","href":"/latest/lot-language/routes/rest-api-apps/teltonika-rms"},{"title":"The Things Stack","href":"/latest/lot-language/routes/rest-api-apps/the-things-stack"},{"title":"ThingsBoard","href":"/latest/lot-language/routes/rest-api-apps/thingsboard"},{"title":"Traccar (open-source GPS server) REST API","href":"/latest/lot-language/routes/rest-api-apps/traccar"},{"title":"Trackunit Iris","href":"/latest/lot-language/routes/rest-api-apps/trackunit-iris"},{"title":"Trello","href":"/latest/lot-language/routes/rest-api-apps/trello"},{"title":"Tulip","href":"/latest/lot-language/routes/rest-api-apps/tulip"},{"title":"Twilio (SMS, Voice, WhatsApp)","href":"/latest/lot-language/routes/rest-api-apps/twilio"},{"title":"Ubidots","href":"/latest/lot-language/routes/rest-api-apps/ubidots"},{"title":"UpKeep","href":"/latest/lot-language/routes/rest-api-apps/upkeep"},{"title":"Ups Api","href":"/latest/lot-language/routes/rest-api-apps/ups-api"},{"title":"Veeva Vault Api","href":"/latest/lot-language/routes/rest-api-apps/veeva-vault-api"},{"title":"Vertex Ai","href":"/latest/lot-language/routes/rest-api-apps/vertex-ai"},{"title":"Victron VRM API","href":"/latest/lot-language/routes/rest-api-apps/victron-vrm-api"},{"title":"WattTime","href":"/latest/lot-language/routes/rest-api-apps/watttime"},{"title":"Webfleet (Bridgestone)","href":"/latest/lot-language/routes/rest-api-apps/webfleet"},{"title":"WhatsApp Business Platform (Meta Cloud API)","href":"/latest/lot-language/routes/rest-api-apps/whatsapp-business-platform"},{"title":"Workday","href":"/latest/lot-language/routes/rest-api-apps/workday"},{"title":"Xero","href":"/latest/lot-language/routes/rest-api-apps/xero"},{"title":"Zabbix","href":"/latest/lot-language/routes/rest-api-apps/zabbix"},{"title":"Zendesk Support","href":"/latest/lot-language/routes/rest-api-apps/zendesk-support"},{"title":"Zoho CRM REST API","href":"/latest/lot-language/routes/rest-api-apps/zoho-crm"}]},{"title":"MCP Connectors","href":"/latest/lot-language/routes/mcp-routes"},{"title":"AI Connectors and Agents","href":"/latest/lot-language/routes/ai-routes"},{"group":"Media Connectors","pages":[{"title":"Media Connectors","href":"/latest/lot-language/routes/media/overview"},{"title":"Barcode Connector","href":"/latest/lot-language/routes/media/barcode"},{"title":"Video Input Connector","href":"/latest/lot-language/routes/media/video-input"},{"title":"Audio Input Connector","href":"/latest/lot-language/routes/media/audio-input"}]},{"title":"Connector Examples","href":"/latest/lot-language/routes/examples"}]},{"group":"LoT AGENT","pages":[{"title":"Agents Overview","href":"/latest/lot-language/agents/overview"},{"title":"Agent Syntax","href":"/latest/lot-language/agents/syntax"},{"title":"Agent Examples","href":"/latest/lot-language/agents/examples"}]},{"group":"LoT THING","pages":[{"title":"Things Overview","href":"/latest/lot-language/things/overview"},{"title":"Thing Syntax","href":"/latest/lot-language/things/syntax"},{"title":"Thing Examples","href":"/latest/lot-language/things/examples"}]},{"group":"LoT RULE","pages":[{"title":"RULE Overview","href":"/latest/lot-language/rules/overview"},{"title":"RULE Syntax","href":"/latest/lot-language/rules/syntax"},{"title":"RBAC with LoT Rules","href":"/latest/lot-language/rules/rbac"}]},{"group":"LoT PANEL","pages":[{"title":"Defining a Panel","href":"/latest/lot-language/panels/defining-panels"},{"title":"Data Binding","href":"/latest/lot-language/panels/data-binding"},{"title":"Actions \u0026 Events","href":"/latest/lot-language/panels/actions-events"}]},{"group":"Best Practices and Usage Patterns","pages":[{"title":"Naming conventions","href":"/latest/lot-language/usage-patterns/naming-conventions"},{"title":"Designing your data layer","href":"/latest/lot-language/usage-patterns/data-layer"},{"title":"Working with JSON","href":"/latest/lot-language/usage-patterns/working-with-json"},{"title":"Writing reusable logic","href":"/latest/lot-language/usage-patterns/reusable-logic"},{"title":"Alarms and monitoring","href":"/latest/lot-language/usage-patterns/alarms-and-monitoring"},{"title":"Connecting to the outside world","href":"/latest/lot-language/usage-patterns/integrations"},{"title":"Production architecture","href":"/latest/lot-language/usage-patterns/production-architecture"},{"title":"Project organization","href":"/latest/lot-language/usage-patterns/project-organization"},{"title":"Anti-patterns","href":"/latest/lot-language/usage-patterns/anti-patterns"}]}]},{"group":"Coreflux HUB","tag":"2.12","pages":[{"title":"Coreflux HUB Overview","href":"/hub/overview"},{"title":"Connections Manager","href":"/hub/connections"},{"title":"Account, Fleet, and Cloud Mode","href":"/hub/account-and-fleet"},{"title":"AI Assistant","href":"/hub/ai-assistant"},{"group":"Viewing MQTT Data","pages":[{"title":"MQTT Overview","href":"/hub/mqtt/overview"},{"title":"Data Viewer","href":"/hub/mqtt/data-viewer"},{"title":"UNS Viewer","href":"/hub/mqtt/uns-viewer"},{"title":"Connected Clients","href":"/hub/mqtt/connected-clients"}]},{"title":"LoT Editor","href":"/hub/lot-editor"},{"title":"LoT Flow","href":"/hub/lot-flow"},{"title":"Cluster Viewer","href":"/hub/cluster-viewer"},{"group":"Dashboards","pages":[{"title":"Dashboards in the HUB","href":"/hub/dashboards/overview"},{"title":"Dashboard Manager","href":"/hub/dashboards/manager"},{"group":"Component Reference","pages":[{"title":"Display Components","description":"Read-only widgets: gauges, values, indicators, charts, tables, and alerts.","href":"/hub/dashboards/components/display"},{"title":"Input \u0026 Control Components","href":"/hub/dashboards/components/inputs"},{"title":"Container Components","description":"Group dashboard components with cards and tabs to structure larger panels in the Coreflux HUB.","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","href":"/hub/lot-flow"},{"title":"Cluster Viewer","href":"/hub/cluster-viewer"},{"group":"Dashboards","pages":[{"title":"Dashboards in the HUB","href":"/hub/dashboards/overview"},{"title":"Dashboard Manager","href":"/hub/dashboards/manager"},{"group":"Component Reference","pages":[{"title":"Display Components","description":"Read-only widgets: gauges, values, indicators, charts, tables, and alerts.","href":"/hub/dashboards/components/display"},{"title":"Input \u0026 Control Components","href":"/hub/dashboards/components/inputs"},{"title":"Container Components","description":"Group dashboard components with cards and tabs to structure larger panels in the Coreflux HUB.","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"}]}]},"title":"Input \u0026 Control Components - Coreflux Documentation","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-BbYRHtLl.js","DynamicMarkdown-DN96a4Ur.js","zoom-image-lightbox-D7yRe3On.js","lightbox-handle-r17bVUz3.js"]}