|
| 1 | +Meeting Minutes |
| 2 | +=== |
| 3 | + |
| 4 | +:::info |
| 5 | + |
| 6 | +:date: **Date:** 16 October 2025 |
| 7 | + |
| 8 | +### :bust_in_silhouette: Participants |
| 9 | + |
| 10 | +<!-- This list will copied over from the meeting tool --> |
| 11 | +- Ege Korkan |
| 12 | +- Erich Barnstedt |
| 13 | +- Abiodun Busari |
| 14 | +- Yagiz |
| 15 | +- Piotr Sowiński |
| 16 | +- Danilenka Anastasiya |
| 17 | +- Muhammad Ashfaq |
| 18 | +- Kunihiko Toumura |
| 19 | +- Tomoaki Mizushima |
| 20 | +- Kerem Coban |
| 21 | +- Wolfram |
| 22 | +- Jens Henninger |
| 23 | +- dsr |
| 24 | +- Niko D’Agostino |
| 25 | +- Manuel Weber |
| 26 | +- Henk |
| 27 | +- Prerna Juhlin |
| 28 | +- Wouter Bunthof |
| 29 | +- Gregor Schuetz |
| 30 | +- Jens Henninger |
| 31 | +- Karl Ledermann |
| 32 | +- Alexander Schmidt |
| 33 | +- Sebastian Kaebisch |
| 34 | +- York Schmidtke |
| 35 | +- Matthias Meier |
| 36 | +- Yusuf Koç |
| 37 | +- Mehmet Barış Yaman |
| 38 | +- Daniel Peintner |
| 39 | +- Klaus Hartke |
| 40 | + |
| 41 | +### :scroll: Agenda |
| 42 | + |
| 43 | +:writing_hand: **Scribe:** Ege |
| 44 | + |
| 45 | +---- |
| 46 | + |
| 47 | +### Introduction |
| 48 | + |
| 49 | +Ege: Welcome Everyone! we are at Meetup 29th! All slide are public |
| 50 | +Ege: You can find us in different places on the web |
| 51 | + |
| 52 | +### News |
| 53 | + |
| 54 | +Ege: New tutorials, new event in Japan. |
| 55 | + |
| 56 | +### Meetup Presentation |
| 57 | + |
| 58 | +#### Intro |
| 59 | + |
| 60 | +Ege: Welcome everyone. With us here today is, first of all, Erich Barnstedt, who works at Microsoft. Erich started in the Windows team and later joined the Azure team, where he worked in the automotive and manufacturing verticals. He founded the Windows and Azure Industrial IoT teams, and if you’ve encountered any industrial IoT product from Microsoft, you’ve probably seen his name. |
| 61 | + |
| 62 | +Ege: Erich has also been deeply involved in industrial standards and their use within Microsoft, as well as in the company’s commitment to open source. Currently, he serves as a Senior Director and Architect at Microsoft’s Corporate Standards Group. So, welcome Erich. |
| 63 | + |
| 64 | +Ege: On the other hand, we also have Sebastian Kaebisch, who is a Principal Key Expert at Siemens in Munich, Germany. He focuses on the efficient realization and use of standardized Internet and web technologies across the industrial IoT domain. |
| 65 | + |
| 66 | +Ege: You’ve probably seen Sebastian’s name in various strategic initiatives, research efforts, and development projects within Siemens’ business units and beyond—especially in industrial and building automation domains. He’s also the co-chair of the W3C Web of Things Working Group and the OPC UA binding initiative at the OPC Foundation. |
| 67 | + |
| 68 | +Ege: And with that, we’ll start today’s presentation. The topic, of course, is the Web of Things. So, Erich and Sebastian, the floor is yours. |
| 69 | + |
| 70 | +#### Erich's Presentation |
| 71 | + |
| 72 | +Erich: Thank you so much, Ege. I’m going to focus my presentation on the mapping from the Web of Things to OPC UA, while Sebastian will focus on the mapping from OPC UA to the Web of Things. |
| 73 | + |
| 74 | +Erich: You already heard where I work. I’m also the chair of the Cloud Initiative inside the OPC Foundation. What you’re seeing here today is a major part of that Cloud Initiative, which brings together all cloud-related technologies within the OPC Foundation. |
| 75 | + |
| 76 | +Erich: One thing we constantly hear from members is that their biggest challenge is vendor lock-in, which can come in many forms. You might be forced to use a specific SDK, interface, communication protocol, or data model—but you can also be locked into certain software platforms or even specific hardware. |
| 77 | + |
| 78 | +Erich: To avoid vendor lock-in, we need four things: a standardized interface, a standardized data format, a standardized data model, and standardized semantics. These four elements together enable interoperability and freedom from proprietary ecosystems. |
| 79 | + |
| 80 | +Erich: OPC UA, as the leading industrial interoperability standard, places interoperability at its core. For example, if you buy a modern industrial robot that supports OPC UA, you’ll find that it exposes a client-server interface, uses a binary data format defined by the OPC UA standard, and provides a powerful information model for describing data and relationships. |
| 81 | + |
| 82 | +Erich: The OPC UA modeling language is extremely capable and extensible, allowing for inheritance and complex relationships beyond simple parent-child hierarchies. It also includes companion specifications that define shared semantics for different asset types—such as robotics. |
| 83 | + |
| 84 | +Erich: This means that if your robot supports OPC UA, you can use it without being locked into the manufacturer’s ecosystem. However, not every industrial device is a robot. If you’re working with a smaller device, like a Siemens energy meter, you might find it only supports simpler interfaces such as Modbus. |
| 85 | + |
| 86 | +Erich: In those cases, you’re often stuck with a PDF manual describing register mappings, data formats, and semantics. This is exactly where the Web of Things (WoT) can help—because WoT covers that gap by defining machine-readable descriptions of devices and data models. |
| 87 | + |
| 88 | +Erich: In WoT, we use JSON-LD as the data format. The data model is defined in a Thing Description (TD), and the semantics are provided through protocol bindings. Together, these make devices self-describing and interoperable. |
| 89 | + |
| 90 | +Erich: Ideally, the Thing Description would be provided by the asset vendor. In fact, Siemens has already published a Thing Description for their SENTRON PAC energy meter on GitHub. But for the many devices that don’t have OPC UA built in, manufacturers often need to map each asset to a common interface such as OPC UA. |
| 91 | + |
| 92 | +Erich: Many companies do this using industrial connectivity software—software that connects to proprietary devices and translates their interfaces to OPC UA. Our idea was to feed that connectivity software directly with a Thing Description to automate the mapping process. |
| 93 | + |
| 94 | +Erich: So, why is OPC UA so important? It’s because it’s open, interoperable, and globally adopted. The OPC Foundation has over 1,000 members now, and OPC UA’s success is driven by three key properties: interoperability, open-source reference implementations, and scalability from sensor to cloud. |
| 95 | + |
| 96 | +Erich: The data modeling language is powerful yet simple. Everything is a node, and the overall structure forms a graph—allowing for flexible relationships and references between nodes. OPC UA also offers best-in-class security for operational technology, including certificate-based authentication and built-in authorization. |
| 97 | + |
| 98 | +Erich: Security standards in OPC UA continue to evolve to stay ahead of emerging threats. The semantic layer—defined through companion specifications—has grown massively, with the German Machine Builders Association (VDMA) leading efforts to create semantic models for hundreds of asset types. |
| 99 | + |
| 100 | +Erich: As new asset types appear, new companion specs are created or updated, ensuring continuous evolution and broad coverage across the industrial domain. |
| 101 | + |
| 102 | +Erich: Now, let’s talk about industrial connectivity software—these are the tools used to connect proprietary assets and expose them via OPC UA. They act as translators, with a northbound OPC UA interface to clients and a southbound interface to various device protocols. |
| 103 | + |
| 104 | +Erich: These software solutions—sometimes called protocol drivers or protocol bindings in WoT terminology—allow interoperability across many vendor ecosystems. Our vision is that all of them will eventually support Web of Things Thing Descriptions as input for automatic configuration. |
| 105 | + |
| 106 | +Erich: The scale of the challenge is huge. Roughly 10% of industrial assets are discoverable, meaning they can self-describe their data models. However, around 90% of assets are not discoverable, which means we need external descriptions like Thing Descriptions to onboard them. |
| 107 | + |
| 108 | +Erich: Of that 90%, about two-thirds are fixed-function devices, meaning their data models never change. For these, you can create a Thing Description once and ship it with the product. The remaining third are programmable assets like PLCs, whose data models change with every software update. |
| 109 | + |
| 110 | +Erich: For programmable devices, the only way to generate a Thing Description is to extract it from the engineering project used to program the PLC. Siemens, for instance, is working on generating Thing Descriptions directly from their TIA Portal engineering tool, and similar capabilities are being explored by other vendors. |
| 111 | + |
| 112 | +Erich: Technically, this is fully possible—it just needs to be integrated into engineering software. Customers will ultimately need to demand this functionality from vendors to make it standard. |
| 113 | + |
| 114 | +Erich: You’re probably already familiar with what a Thing Description looks like, so I’ll skip the basics. What we’ve done is create an interface that allows industrial connectivity software to accept a Thing Description and automatically map an asset to OPC UA. |
| 115 | + |
| 116 | +Erich: Implementing the interface was relatively straightforward. All these connectivity platforms already expose an OPC UA server, so we extended that interface to allow uploading Thing Descriptions. |
| 117 | + |
| 118 | +Erich: We then explored whether Thing Descriptions could be generated automatically. When we started this work, large language models like GPT-3.5 were just emerging, and later GPT-4 significantly improved results. We found that GPT-4 could generate Thing Descriptions with about 90–95% accuracy using simple prompts. |
| 119 | + |
| 120 | +Erich: We shared this on LinkedIn and received a strong response, which led us to start a working group inside the OPC Foundation to define a standardized interface for this capability. We also launched a second group focused on improving large language models for generating accurate Thing Descriptions. |
| 121 | + |
| 122 | +Erich: The result was a new companion specification, not for a specific asset type, but defining the interface for uploading Web of Things files to industrial connectivity software. In version 1.0, we introduced two main methods: CreateAsset and DeleteAsset. |
| 123 | + |
| 124 | +Erich: CreateAsset creates an endpoint in the connectivity software and uploads the Thing Description via OPC UA’s existing file transfer mechanisms. DeleteAsset removes the asset definition. This was sufficient for version 1.0, along with an open-source reference implementation on the OPC Foundation’s GitHub. |
| 125 | + |
| 126 | +Erich: Feedback came quickly. Users wanted more functionality, so we released version 1.1, which added optional convenience methods such as connection testing, asset discovery, configuration, and licensing support. |
| 127 | + |
| 128 | +Erich: For discoverable assets, Thing Descriptions can now be generated automatically during discovery. You can also download an existing Thing Description, modify it locally, and re-upload it—enabling two-way synchronization. |
| 129 | + |
| 130 | +Erich: The specification is available for free download on the OPC Foundation website, and you don’t need to be a member to access it. |
| 131 | + |
| 132 | +Erich: As part of this, we created an open-source project on GitHub called UA Edge Translator, which serves as a reference implementation. Alongside it, we developed a simple UI tool to test the interface and onboard assets in three steps using ChatGPT. |
| 133 | + |
| 134 | +Erich: In the workflow, you enter the make and model of the asset, generate the Thing Description via ChatGPT, optionally edit and validate it using Siemens’ WAT Editor (hosted at the Eclipse Foundation), and then upload it to UA Edge Translator via OPC UA. |
| 135 | + |
| 136 | +Erich: Once uploaded, the asset appears in the OPC UA address space and can be viewed using the standard OPC UA client. The system already supports mapping Siemens’ SENTRON PAC energy meters and many other device types. |
| 137 | + |
| 138 | +Erich: The UA Edge Translator fits into the broader OPC Foundation Cloud Initiative architecture. It provides on-premises connectivity and integrates with cloud and enterprise systems. It now supports 11 southbound protocols—from Siemens, Rockwell, and Beckhoff PLCs to Modbus and experimental BACnet implementations—and even work on Matter is underway. |
| 139 | + |
| 140 | +Erich: As we add more southbound protocol drivers, we’re also working to define consistent WoT protocol bindings so Thing Descriptions remain uniform across implementations. |
| 141 | + |
| 142 | +Erich: With that, I’ve reached the end of my presentation—right on time, about 30 minutes. Thank you, and I’m happy to take any questions in the chat. |
| 143 | + |
| 144 | +#### Sebastian's Presentation |
| 145 | + |
| 146 | +Sebastian: Thank you, Ege, and a warm welcome to everyone. I’m excited to introduce another companion specification from the OPC Foundation, called the OPC UA WoT Binding. I’ll start with an overview of how this works and the motivations behind it. |
| 147 | + |
| 148 | +Sebastian: Typically, as Erich mentioned, devices on the shop floor provide runtime data to a server. That server then makes the data available to different applications, including monitoring, control, or cloud services. The onboarding of these devices can be a challenge, and the OPC UA WoT Binding addresses that by enabling plug-and-play integration of these devices into the OPC UA ecosystem. |
| 149 | + |
| 150 | +Sebastian: A common scenario is when OPC UA is just one endpoint among multiple other endpoints that speak different protocols, such as BACnet or HTTP. The challenge is to make interfaces more usable for cross-IoT applications, simplifying integration and reducing complexity. |
| 151 | + |
| 152 | +Sebastian: Currently, OPC UA descriptions rely on XML NodeSet files, which are complex and not always user-friendly for integrators who may not be OPC UA experts. Often, they only need a few data points for their target applications. The OPC UA WoT Binding simplifies this by using Thing Descriptions to expose only the necessary information. |
| 153 | + |
| 154 | +Sebastian: I lead this group together with Erich Barnstedt. We’ve just completed the technical review of the specification and addressed comments. We expect the official 1.0 release in the next few weeks. |
| 155 | + |
| 156 | +Sebastian: The key idea is that OPC UA interfaces can now be described as WoT Thing Descriptions, making it easier to integrate and use across different applications. |
| 157 | + |
| 158 | +Sebastian: A Thing Description can represent a single data point from an OPC UA server, typically called a UA variable. It includes endpoint information (e.g., opc.tcp), location, port, and security information. OPC UA has its own handshake mechanisms, and clients must select channels appropriately for secure communication. |
| 159 | + |
| 160 | +Sebastian: Beyond that, the description contains the data point’s details, such as data type, unit, range, and the Node ID encoded in the href field. OPC UA experts can use this Node ID to map the variable within drivers and applications. |
| 161 | + |
| 162 | +Sebastian: Our specification also covers namespace handling. OPC UA servers often have multiple namespaces, and the Thing Description preserves the correct order and mapping of Node IDs to ensure accurate communication with each endpoint. |
| 163 | + |
| 164 | +Sebastian: Another key feature is the WoT ontology, which defines terms that can be used for mapping. For example, voltage values from different phases can be linked to a predefined OPC UA model from a companion specification. Most terms are optional, so you can provide minimal or enriched descriptions depending on your use case. |
| 165 | + |
| 166 | +Sebastian: We also describe how to generate Thing Descriptions from browsed or discovered OPC UA nodes. Using the browsing service on the server, you can create Thing Descriptions for entire subtrees, or even generate them from XML NodeSet files. This allows flexible and automated creation of descriptions for integration. |
| 167 | + |
| 168 | +Sebastian: For implementation, Siemens has a prominent internal platform called One Connectivity, which integrates the complete Web of Things stack and the OPC UA binding. It’s used extensively across Siemens enterprise products for integration purposes. |
| 169 | + |
| 170 | +Sebastian: For open-source implementations, the Eclipse Foundation Sync Web project includes the latest OPC UA binding, enabling experimentation and adoption outside Siemens. |
| 171 | + |
| 172 | +Sebastian: Let me give an example. Imagine an IoT application monitoring a pump’s speed every five seconds. If the pump exceeds a threshold, the application increments a counter. Using Thing Descriptions, the implementation requires only a few lines of code, without dealing with protocol-specific details. |
| 173 | + |
| 174 | +Sebastian: By abstracting protocol specifics, you can focus on business logic and reuse it across different devices and protocols. This is one of the major benefits of the Web of Things approach. |
| 175 | + |
| 176 | +Sebastian: In a live demonstration, an OPC UA client connects to the OPC UA server and subscribes to variables using the Thing Description. All runtime data, such as voltage and current, is displayed in real time. This shows how easily Web of Things can unify heterogeneous systems. |
| 177 | + |
| 178 | +Sebastian: For anyone interested in experimenting, the Node-WoT implementation on Eclipse is available. If you want more industrial-grade examples, Siemens’ One Connectivity platform is also accessible, and I’m happy to provide guidance. |
| 179 | + |
| 180 | +Sebastian: That concludes my part of the presentation on the OPC UA WoT Binding. We now have time for questions and answers. |
| 181 | + |
| 182 | +#### Q&A |
| 183 | + |
| 184 | +Kerem Coban: What is the relationship between AAS and WoT? |
| 185 | + |
| 186 | +Sebastian: There is a specific AAS Submodel called asset |
| 187 | + |
| 188 | +Ege: Do you see the willingness from manufacturers to provide their protocols' binding specs? |
| 189 | + |
| 190 | +Erich: That would be ideal indeed. |
| 191 | + |
| 192 | +Erich: Prosys supports WoT connectivity in their Forge product. |
| 193 | + |
| 194 | +Jens: Can I use the AAS Templates AID or AIMC for directly sending opc-ua to mqtt, kafka, etc. ? |
| 195 | + |
| 196 | +Erich: Yes you can. The client I have shown can send to mqtt or kafka too |
| 197 | + |
| 198 | +Ege: Any features you want to see in the standards? |
| 199 | + |
| 200 | +Erich: We will add new affordance types like actions and events. More adoption is needed. More should ask for WoT TD files. I am working on getting people to adopt wot connectivity. |
| 201 | + |
| 202 | +Erich: More bindings are needed too. But it is easy to write them yourself. |
| 203 | + |
| 204 | +Erich: I needed help with lorawan though. That was a bit tricky with some fields like doing bit masking and endianness. Also the Matter spec is huge. |
| 205 | + |
| 206 | +Abidoun: Physics student here. As frontend developers are building tools around WoT Thing Descriptions, what are the current limitations or gaps in the TD specification that we should be aware of when designing UIs or developer tools? |
| 207 | + |
| 208 | +Sebastian: You can build UIs based on the different affordances. Like widgets-based. For more advanced UIs, you need to leverage more semantics. Like to build a timeseries graph, you need more information. |
| 209 | + |
| 210 | +Matthias Meier: W3C is working on a profinet binding. Does your LLM also support profinet too? |
| 211 | + |
| 212 | +Erich: LLMs we use are generic. If you do prompt engineering, like saying make sure to include this binding. You need to experiment though. OpenAI provides the tools. You need to be specific though. |
| 213 | + |
| 214 | +Erich: It would be more interesting to use RAGs together with LLMs. That would be more interesting. |
| 215 | + |
| 216 | +Erich: UA Edge Translator can be improved upon. Feel free to add more protocols. You can use a simple interface to add more protocol driver implementations. |
0 commit comments