Router skill for MQTT integration. Choose between TagProvider (dynamic discovery) and Device Module (static tags with alarms/historian) based on what the user needs.

AI IntegrationPlatform Skills Library → Skill MQTT Integration


FrameworX offers two paths for connecting to MQTT brokers, plus an interactive browsing tool inside Designer for first-time exploration. This skill helps you pick the right one before loading detailed implementation steps.

Decision Tree

User asks about MQTT
  |
  +-- "Browse what the broker has" or "explore MQTT topics"
  |     --> Use Designer's Data Explorer: navigate to DataExplorer.MQTTTools,
  |         start broker/simulator, connect and browse manually.
  |         Then decide TagProvider or Device Module for the actual integration.
  |
  +-- "Connect to MQTT for monitoring" or "dynamic tags" or "asset navigation"
  |     --> Skill MQTT TagProvider
  |     Use when: data is dynamic/unknown upfront, monitoring/visualization focus,
  |     no need for alarms or historian on individual points
  |
  +-- "Create tags from MQTT" or "alarms on MQTT data" or "historian for MQTT"
  |     --> Skill MQTT Device Module
  |     Use when: need local persistent tags, alarms, historian, scripting,
  |     or structured UserTypes (mandatory for SparkplugB)
  |
  +-- "Both browsing AND alarms on critical points"
        --> Hybrid: TagProvider for full namespace browsing +
            Device Module for the specific points that need alarms/historian
        --> Load both skills

Two Paths Compared

AspectTagProvider (Discovery Services)Device Module (Channel/Node/Points)
Skill pageSkill MQTT TagProviderSkill MQTT Device Module
CreatesUnsTagProviders + UnsAssetTreeDevicesChannels + DevicesNodes + DevicesPoints + UnsTags (+ UnsUserTypes for SpB)
TagsDynamic (exist only at runtime)Local persistent tags in UNS
AlarmsNot possible on dynamic tagsYes, on local tags
HistorianNot possible on dynamic tagsYes, on local tags
SparkplugBWorks (use MQTTspB protocol)Works, but REQUIRES UserTypes
DiscoveryFull namespace auto-discoveredMust know topic structure upfront
Best forMonitoring dashboards, asset navigationControl systems, alarmed points, historical trending

How to Load Sub-Skills

search_docs('Skill MQTT TagProvider', labels='skill')
search_docs('Skill MQTT Device Module', labels='skill')

Protocol Quick Reference

Both TagProvider and Device Module use the same MQTT protocols. Always call list_protocols before writing protocol-dependent tables.

ProtocolName in FrameworXInterfaceTagProviderDevice Module
MQTT (flat)MQTTCustomYesYes — simple tags
SparkplugB CollectorMQTTspBTCPIPYesYes — REQUIRES UserTypes
SparkplugB PublisherMQTTspBPubTCPIPNoYes — for edge publishing

Built-in Testing Tools

Both paths can be tested with the built-in broker and simulator:

designer_action('navigate', 'DataExplorer.MQTTTools')
designer_action('builtin_broker', 'start')   # Starts localhost:1883
designer_action('simulator', 'start')         # Publishes SparkplugB sample data

The simulator publishes SparkplugB data: GroupID="Cities", 4 NodeIDs (Barcelona, Bilbao, Madrid, Sevilha), 4 Panels per city, 8 variables per panel (Current, Latitude, Longitude, Name, Power, State, Temperature, Voltage).

See also

  • Skill MQTT TagProvider. Dynamic discovery path: TagProvider + AssetTree + Asset() bindings for monitoring and visualization.
  • Skill MQTT Device Module. Static-tag path: Channel/Node/Points pipeline with alarms, historian, and scripting on MQTT data.
  • Skill Discovery Services. Conceptual foundation for the three connection patterns (Device Module, DataLink, Dynamic Tags).