IoT & Connectivity Tips | ThingWorx & Kepware PTC
Recently active
How to use the OPC UA → ThingWorx bridge (Python)Getting OPC UA data into ThingWorx usually means Kepware plus a Connection Server, and complex/structured tags are often the hardest part. This post shows a config-driven Python bridge that connects to any OPC UA server, including complex structures (structs, arrays, method arguments), maps the tags to ThingWorx Things and properties, and pushes live values through the thingworx-python wrapper. It even generates the matching ThingWorx entities for you, so you write no code — just YAML.What it doesThe bridge is a Python package (opcua_bridge) with a four-step workflow and a runtime pipeline:OPC UA server → reader (asyncua) → map/coerce → ThingWorx propertieswalks the OPC UA address space and writes a mapping skeleton for you; generates importable ThingWorx XML (Project, DataShapes, Things, Network); at runtime, decodes OPC UA values on an asyncio thread, coerces them, and pushes them up through the wrapper; turns complex OPC UA types (str
Running a machine-learning model right at the edge — next to the machine, without a round-trip to the cloud — is a common ask. This post shows a ready-made Python solution that reads live data from an OPC UA server, scores a PMML model locally, and pushes the predictions into ThingWorx as Thing properties. It builds on the thingworx-python wrapper, so the ThingWorx side is only a few lines of code and everything is driven by one config.json.What it doesThe service edge_inference.py wires up a small pipeline:OPC UA (asyncua) → assemble a feature row → PMML model → ThingWorx propertiessubscribes to / polls OPC UA nodes (e.g. temperature, pressure, humidity); optionally reads extra inputs from ThingWorx properties (setpoints, limits); runs the model when the trigger condition is met; writes each prediction back to a ThingWorx property.Where to get itThe Edge ML solution is on GitHub:https://github.com/thingworx-field-work/Python-Edge-Machine-LearningIt builds on the ThingWorx Python SDK w
Most ThingWorx edge agents are written in C, Java, or .NET. But a lot of edge logic today — data science, protocol bridges, quick prototypes — lives in Python. This post shows how to connect a Python program to ThingWorx using a thin Python wrapper around the ThingWorx C SDK, so you get the performance and protocol support of the native twCSdk library with a Pythonic API on top.What the wrapper isThe wrapper (thingworx-python) is a pure-Python package that talks to the native ThingWorx C SDK through Python's standard-library ctypes. It ships two layers:a high-level API — ThingWorxClient, Thing, DataShape, InfoTable, BaseType, plus decorators for properties/services/events; and a low-level 1:1 binding to the C SDK (twApi_*, twPrimitive_*, twInfoTable_*, …) for anything the high-level API doesn't expose.It has zero pip dependencies — only ctypes. The native library itself is not shipped; you provide the twCSdk build for your platform.Where to get itThe full project — wrapper, examples, a
This message was migrated to our current platform in March 2026. This platform cannot support a post with more than 100k characters. As a result, the message has been truncated. We published the second part of the original post that was truncated as a reply below. Thanks for your understanding. The Community team.April 2026 Internationalization and LocalizationInternationalization (often abbreviated I18N – from "I" + 18 more letters + "n") is the process of developing software that supports many languages, including those with non-Latin character sets. Localization (L10N) refers to developing applications that can be delivered in many languages, relying on the underlying architecture of I18N. This how-to article focuses mostly on localization, since the infrastructure is in place and stable.Create a Localization TableYou create a Localization Table entity when you need to add support for another language to the application you're developing. Someone from Sales has said "There's an oppo
ThingWorx 10.1: Practical Tools to Power Your Industrial IoT and AI Hello ThingWorx Community! Thanks for the warm response to ThingWorx 10.0 and all your feedback, it’s been invaluable!! I’m excited to share what’s coming with ThingWorx 10.1, rolling out private preview this fall. We’ve focused on delivering practical updates to help you get more from your IoT investments, with new AI capabilities, stronger solutions, and tools to make developers’ lives easier. Here’s what’s new: Industrial AI That Works for You We’re doubling down on AI to make your operations smarter and faster ThingWorx AI assistant powered by Industrial AI Agents: Our private preview of AI agents lets you embed chat assistants directly into your mashup applications. These agents tap into ThingWorx’s contextualized IoT data, enabling quicker, data-driven decisions without complex setups. Model Context Protocol Support: MCP support with ThingWorx allows you to run centralized agents on a hub ThingWorx server, pull
Step 11: Build ExtensionStep 12: Import ExtensionStep 13: Next Steps Step 11: Build Extension You can use either Gradle or Ant to build your ThingWorx Extension Project. Ant is the preferred method. Build Extension with Gradle Right click on your project ->Gradle (STS)->Tasks Quick Launcher. NOTE: This opens up a new window. Set Project from the drop-down menu to your project name and type Tasks as build.Press Enter NOTE: This will build the project and any error will be indicated in the console window.Your console window will display BUILD SUCCESSFUL. This means that your extension is created and stored as a zip file in your_project->build->distributions folder. Build Extension with Ant Go to the Package explorer -> your_project->.Right click on build-extension.xml->Run As->Ant Build Your console output will indicate BUILD SUCCESSFUL. NOTE:
ThingWorx v10.1 is officially here, and it’s the perfect end to a massive year!!This release brings together AI Assistants, Model Context Protocol for agent to systems communication, Adv. MQTT/Sparkplug B support to simplify industrial data management, robust solutions, and more Reflecting on the year, our team delivered 80+ product releases and 1,000+ valuable improvements, impacting 7,000+ manufacturers worldwide. This milestone belongs to our incredible team, our vibrant community, and our partners. But what truly sets us apart is the deep AI expertise we’ve cultivated together. We’ve already moved past the 'experimental' phase by shipping real-world AI capabilities—and our roadmap for next year is even more ambitious. The bottom line: AI isn’t a threat to low-code; it’s a force multiplier. We aren't just keeping pace; we’re supercharging the platform, and we’re only just getting started. Have a safe and happy holiday, everyone! See you on the other side. P.S:&
IntroductionThingWorx 10.1 takes a major step toward intelligent interoperability by introducing the Model Context Protocol (MCP) in Public Preview. As industries accelerate their use of AI-assisted operations, MCP provides a standardized way for AI agents to securely connect with real-world industrial data and perform actions across systems. Our key goal is enabling agent-driven automation along with intelligent interoperability. MCP allows AI models and agents to interact with external systems such as ERP, MES, CRM, and analytics platforms in a structured and secure way. It removes the need for custom connectors and integrations, enabling developers to use a single, open standard to bridge AI and operational data. In essence, MCP allows AI to work natively with ThingWorx services and data models. ThingWorx and MCP Low-Code Enablement for Agentic AutomationThingWorx now embeds an MCP Server directly into the platform. This means that your existing ThingWorx services can be instantly m
IntroductionWith ThingWorx 10.1, we're excited to announce MQTT support for IoT streams for data egress as Private Preview. This is a significant value add that allows ThingWorx to continue to be used as a DataOps layer for end-to-end industrial data management. With its ability to ingest data from disparate sources, contextualize and transform it, and send data in a custom-defined format over Kafka, and now MQTT, ThingWorx enables real-time consumption of data by end applications, allowing necessary interoperability without the worry of data lock-in. Especially in the age of AI, customers can use ThingWorx not only to ingest data from connected machines, systems, and people but also to push processed, contextualized, AI-ready data outward. This enables external systems, data lakes, cloud systems, or UNS layers to consume the data in real time, making IT/OT convergence seamless. With this capability, having a Sparkplug B connector built in, users can use ThingWorx to directly load cont
IntroductionThe JavaScript Debugger, first introduced in ThingWorx 10.0, is now generally available with the 10.1 release. This feature is now production-ready and provides a fully integrated debugging experience within the ThingWorx platform. It allows developers to build, test, and troubleshoot logic directly in Composer with greater efficiency and control. The debugger is built into ThingWorx Composer, enabling developers to step through code, set breakpoints, and view live variable data within the same environment. This integrated approach simplifies development workflows and improves both code quality and delivery speed. Bringing Real-Time Debugging to the PlatformThe feature is powered by a dedicated Debugging Subsystem that manages sessions, breakpoints, and state inspection in a structured way. Developers can initiate and control debugging sessions directly, while the platform automatically handles performance and stability through session timeouts and resource management. If a
Monitor the application that monitors your connected assets! Hello ThingWorx Community! We are excited to announce the release of a new Best Practices Guide on monitoring your ThingWorx-based applications, complete with an accompanying enablement video! We understand that it is critical to keep the IoT application up and running that is helping increase the uptime for your factory and critical assets. In recent ThingWorx releases, particularly since 2024, we've dedicated significant focus to strengthening IT admin and developer productivity. A major improvement is the native support for scraping all system metrics and logs through OpenTelemetry. This enhancement simplifies ThingWorx monitoring using industry-standard, open-source tools like Prometheus and Grafana, which are the de facto standard for any modern deployments and DevOps processes. The comprehensive guide attached to this post, published by our field expert @geva , details all the best prac
Hello ThingWorx community! I’d like to invite you to join me and our ThingWorx experts for an exclusive webinar on October 30 at 11:00 AM (EDT) to explore the transformative potential of Agentic AI within the ThingWorx Industrial IoT and AI platform.In this session, you’ll gain insights into ThingWorx’s AI strategy, focused on delivering actionable intelligence and accelerating digital transformation across the product lifecycle.You’ll also see in action:Hands-on demos integrating Large Language Models (LLMs) with ThingWorx 10.X How to enable agentic automation using Model Context Protocol (MCP) Ways to enhance industrial apps with real-time decisions, natural language, and computer vision AISo, register here: [Webinar]: ThingWorx Innovation With Industrial IoT and AI Also, here is a personal video invitation message to you all! Post webinar, please provide your feedback and comments below! We look forward to having you join us! Cheers,Ayush TiwariDirector Product Management
IoT Streams for your end-to-end Industrial Data management with ThingWorxSince its launch with ThingWorx 10.0 in June 2025, the IoT Streams feature has been a hit!! It’s exceeded my expectations to see the creative ways it adds value to the ThingWorx ecosystem. IoT Streams utilizes Apache Kafka or Azure Event Hubs as a distributed streaming platform, serving as a robust message broker and data pipeline. It empowers industrial data management by providing access to ThingWorx contextualized data for analytics, reporting, and generative AI. It enables streaming of ThingWorx data to data lakes and cold archival storage while maintaining hot data availability for real-time insights. It also enhances the platform’s scalability and reliability with robust processing of high event volumes through a durable message broker.Working with early adopters, our services team has authored a best practices guide along with sample code to help you start with IoT Streams. The GitHub artifact located at ht
Often when we think about monitoring an applications health, we look to performance metrics and observing changes over time. However, when it comes to critical issues which need immediate attention, alerts setup on relevant ThingWorx logs are the way to notify Ops Teams of events. Logs provide contextualised detail of an event that has occurred, allowing for triage and directing troubleshooting. Let me illustrate an example: ThingWorx is a database application and requires that DB for proper function. A log message indicating that the DB connection has been severed, and another one indicating that a connection to the database cannot be established immediately tells you that your problem is with the DB - right when it occurs, no analysis required. Given this, here is a list of some log message substrings to use as examples to build out your own production system monitoring aimed at detecting common critical or high severity issues using your log management sys
Overview A global leader in chemical processing and industrial manufacturing, with a strong international footprint and multiple production sites worldwide, set out to transform its production ecosystem by adopting Industrial IoT (IIoT). The objective was to unify fragmented factory data, enable real-time analytics, and drive operational efficiency through AI-powered insights. Based on detailed use case documentation and architectural workshop findings, this reference architecture outlines a robust, scalable solution designed to integrate factory systems, deliver AI-supported insights in real time, and empower teams through self-service applications. The solution leverages PTC’s ThingWorx suite—along with Microsoft Azure services and complementary technologies—to address key challenges in production, quality, and efficiency across engineering, manufacturing, and operations.About Beyond the Pilot series Use Case A. Engineering – Process Optimization & Quality Contr
What Is “Beyond the Pilot” and Why it matters? Beyond the Pilot is a reference architecture series that highlights how real-world manufacturing challenges are addressed at enterprise scale across engineering, manufacturing, and service lines of business. These stories reflect solutions built using — but not limited to — industrial IoT (IIoT), AI, and cloud technologies. Each entry captures how a specific use case — ranging from quality optimization to predictive maintenance — was solved using a combination of proven tools and repeatable design patterns. Our goal is simple:To provide a blueprint for repeatable success, enabling technical leaders, architects, and operations teams to move from isolated wins to sustained value — securely, scalably, and strategically. Because technology doesn’t create impact in the lab — it creates impact when it’s scaled across the enterprise. Because innovation is only as powerful as its ability to sustain value across en
Hello ThingWorx community members! First off, we greatly appreciate the feedback and enthusiasm for ThingWorx 10.0! Thank you! With the release of 10.0, we’ve worked with customers to enhance their application performance using the caching feature. Based on this collaboration, our field services team— @DeShengXu, @gregeva, and @ssauvage-2 —has developed the ThingWorx Cache Thing Guide v1.0.0, a comprehensive resource to help developers significantly improve query performance with in-memory caching. This guide empowers you to optimize performance, reduce system load, and enhance user experience. Why Use Cache Thing? Boost Performance: Caching feature with 10.0 improves repetitive data access performance by orders of magnitude (~700x) compared to accessing the data from the database every time. Reduce Costs: Minimize calls to external services by storing results, saving on resource usage. Improve Scalability:
Hello ThingWorx'ers! First off, we’re pleased to see the excitement around ThingWorx 10.0! Your feedback on features like the Debugger, Caching, and the Windchill Navigate View Work Instructions app has been fantastic. I’m especially amazed by the rapid adoption of IoT Streams over the past two months. I'm glad it’s delivering value! Join us for an exclusive ThingWorx 10.0 Launch Webinar on September 9, 2025, at 11:00 AM EDT. We’ll dive into the latest features, including real-time IoT Streams, enhanced scalability, stronger security, and exciting AI updates that will power your Industrial IoT journey. Register now: ThingWorx 10.0 Webinar After the webinar, we’d love to hear your thoughts! Share what you’re loving about 10.0 and any feedback you may have. Keep pushing the boundaries of innovation! Cheers, Ayush Director Product Management, ThingWorx
April 22, 2025 Hello ThingWorx community members!We are excited to announce the preview release of ThingWorx 10.0, the latest evolution of our IIoT platform for all your Industrial Data Management needs. This release focuses on delivering a powerful, secure, and intelligent foundation for industrial innovation, empowering businesses to achieve more with their IoT solutions. Powerful & Secure: A New Standard in IoT Platforms ThingWorx 10.0 sets a new benchmark for scalability and security in IoT with features like IOT Streams to enhance enterprise industrial data acccess and reliability, caching improvements to increase server scale and response times, and security updates for TLS, Tomcat, Java, and others to ensure top-tier performance and protection. These advancements make ThingWorx 10.0 the most mature and secure platform yet, giving businesses the confidence to scale their IoT deployments while safeguarding their data. Industrial Solutions: Ready to
Containerization has been a cornerstone of modern software deployment, offering well-known benefits like portability, scalability, and consistency across environments. In the industrial IoT (IIoT) space, these advantages are particularly valuable, enabling organizations to manage complex systems with greater agility and efficiency. At PTC, we recognize that while containerization is not new, its application in IIoT continues to evolve, and our platforms—ThingWorx and Kepware—are designed to help you harness its full potential in practical, impactful ways. ThingWorx: Streamlining IIoT with Containerization ThingWorx has supported containerization for some time now allowing users to build ThingWorx Docker Container images and deploy applications with ease, whether on-premises, in the cloud, or in hybrid setups. This approach simplifies the deployment process, reduces configuration overhead, and ensures that your IIoT solutions can scale as your needs grow. For those already familiar wit
AbstractThis article explores an approach on how to optimize ThingWorx thread usage during service execution. It addresses common scenario where the Event Processor executor thread pool can become saturated, which can lead to queuing and slow responsiveness to users. This article is a proposal for configuring and optimizing services, with an example.Please, use the post comments to provide feedback or suggestions.All used capabilities are 100% ThingWorx OOTB.In the following, the acronym SETO (Service execution thread optimization) will be used to refer to entities and their capabilities. IntroductionDuring the execution of a service, events trigger a subscription that runs in a new thread. In addition to the best practices for timers and schedulers, SETO uses this mechanism to parallelize the execution of a service across subdivisions of a population of Things.When using ThingWorx, clients often encounter issues related to the regular execution of services such as "get data" or "
Durable Queues Are Hereby Tori Firewind, Principal Cloud Architect IntroductionWell folks, the durable queue is here, and it is… durable! We tried everything in our dev ops arsenal to bring it down, but no matter what we threw at it, Event Hub stayed up. No data was lost in any test scenario. ThingWorx 10.0 is a remarkably more mature and stable offering than ever before with its new use of Kafka to prevent data loss, as well as internal queue management and queue diagnostics features. As we announced last quarter, new diagnostics features allow us to record diagnostic data from the moment a problem starts, ensuring RCA can begin immediately, without further time spent waiting for issues to occur again. These are highly configurable, and PTC is ready to support customers opting-in to acceleration-based diagnostics! Coming out now is the new internal throttling mechanism within ThingWorx, which ensures that even when queues max out, regardless of what those queues are doi
Question: What is the best way to use Git with ThingWorx? Disclaimer: Please note that, while the ThingWorx Git Backup Extension is a very useful tool, it is not a PTC product, nor is it supported by PTC. After the release of ThingWorx 8.4 two weeks ago, are you looking for even more? Can’t get enough of ThingWorx? Good thing—because we’ve got you covered. We have just released Version 2.0 of the ThingWorx Git Backup Extension! Reach out if you'd like to learn how to obtain access to it. In the newest version, you’ll find: Major UX improvements and UI restyling. The extension now includes a new page called GitBackup.Main.Mashup, which offers access to all the functionality previously available in the Home Mashup (see below). GitBackup.Main.Mashup is now the single interface for all the GitBackupThings in the system; you’ll no longer need to go to Composer to manage them individually.New ThingWorx Git Backup Extension 2.0 Support for q
IntroductionIn the dynamic landscape of IoT and industrial applications, development teams often face challenges such as limited visibility into application behavior, fragmented tooling, and time-consuming troubleshooting processes. To address these pain points, PTC has launched a DevOps initiative aimed at strengthening the ThingWorx low-code platform. This initiative delivers key enhancements in debugging, source control, monitoring, alerting, logging, and AI-driven development support. As ThingWorx continues to evolve, our commitment remains centered on improving the day-to-day experience for both developers and administrators. We've been listening closely to your feedback—this new project reflects our response, focusing on smoother DevOps integration and empowering users with deeper control and visibility into their applications.While many enterprises already rely on IT-recommended tools to manage the application lifecycle and Day-2 operations, PTC is committed to complementing the
Leveraging ThingWorx for Unified Namespace with Sparkplug B Integration Abstract The industrial IoT (IIoT) landscape demands scalable, interoperable, and real-time data architectures to enable seamless communication across heterogeneous systems. Unified Namespace (UNS) has emerged as a new approach to organizing and contextualizing data in a centralized, hierarchical structure accessible to all devices and applications. This article explores how PTC’s ThingWorx, a leading IIoT platform, can serve as a robust foundation for operationalizing a UNS, with a specific focus on integrating MQTT-based Sparkplug B messaging. Building on the open-source SparkplugB-Edge-SDK provided by the ThingWorx Customer Success team, we demonstrate how ThingWorx can bridge edge devices, industrial systems, and enterprise applications within a UNS framework, delivering real-time visibility, scalability, and operational efficiency. 1. Introduction 1.1 The Need for Unified Namespace
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.