🚀 MonsterMQ & SIEMENS SCADA… just a teaser…

Currently testing a new connectivity for MonsterMQ.com – bringing WinCC Open Architecture tags into the broker via the WinCC OA GraphQL Server!

It was great to see that with 5,000,000 tags (datapoint elements in OA) and a 40 kHz simulation (40,000 value changes per second!), a single WinCC OA GraphQL Server can easily handle that load via GraphQL Subscriptions — even on commodity hardware! 💪

🤨 Why not publish the tags from WinCC OA with its MQTT capabilities? Because the MQTT protocol doesn’t support bulk messages, it’s not efficient for transferring a large number of topic value changes.

💡And I am using WinCC OA’s great continuous SQL queries, which makes it possible to subscribe to 5 Millions tags with just a single SQL query.

MonsterMQ.com will soon get a bridge to WinCC OA 🥳 Stay tuned. And WinCC Unified will be next 😀

Weekend is over 👉 New version of MonsterMQ 🧌

🚨 Breaking News: We’ve added Kafka Client functionality!
It acts as a consumer, enabling data replication from one MQTT Broker instance to another, together with the Kafka Archiving – using a fast, reliable, and bandwidth-optimized Kafka protocol and broker.

👉 Sending data from local MQTT brokers to the cloud is much more efficient by using Kafka.

And this release brings also some more improvements! We’ve reworked metric handling:
👉 Metrics are now shown as values per second
👉 Added metrics for OPC UA Client, OPC UA Server, and MQTT Bridges, Archiving (to databases).

MonsterMQ.com

🚀 Again a MonsterMQ Update: MQTT-to-MQTT Replication

You can:
👉 Connect to other brokers and publish local topics to the remote one
👉 Subscribe to remote topics and bring them into your local broker
💡 Both directions work with wildcards

This makes it easier to link brokers across sites, clouds, or edge setups.

And after this update… we’ll take a short break 😉 even though I already have more ideas for features…

Please give a ⭐️ on GitHub if you like the project!
Open-Source 🔗 MonsterMQ.com

✨ Having a REST and GraphQL API on the WinCC Unified Comfort Panel — it’s possible!

I recently started using my panel at home and felt lost without having such API’s. 

So I decided to change that:

✅ I built a lightweight REST and a GraphQL server for WinCC Unified.

✅ Implemented in Rust, they’re native, lightweight, single executables.

✅ Low memory and CPU footprint – thanks to Rust!

✅ With GraphQL, there is also support for tag & alarm subscriptions! 🔄

I always prefer using GraphQL — I find it tedious to constantly refer to separate REST documentation. But for some simple use cases, REST is perfectly fine.

🛠️ Creating Dashboards with Claude Code and WinCC Unified 💥

Today, I discovered Claude Code, and one of the coolest things is how it connects with the WinCC Unified MCP Server – which I had just implemented a few days ago.

By giving Claude access to the MCP Server from the WinCC Unified system, you can simply ask it about your tags and data. And by giving Claude the WinCC Unified GraphQL Server schema (which contains the documentation), it understands the structure and can generate the JavaScript (REST calls) needed to build dashboards for you.

No manual coding, no digging through tag lists – just ask, and it builds.

👉 And all that is possible with an open, RESTful, HTTP-based GraphQL interface for SCADA – plus an MCP Server built on the same interface.

🤔 I started with a simple dashboard – I don’t know how far you can go in building more complex ones yet, but at least, it’s a fast and helpful starting point for developers.

🎥 Check out this quick demo: https://youtu.be/FxCk4M_PmIo

👉 GitHub Repo’s:

https://github.com/vogler75/winccua-graphql-dashboard
https://github.com/vogler75/winccua-mcp-server

MonsterMQ 🧌 Clustering for Industrial IoT

Did you know that MonsterMQ includes clustering capabilities?

👀 Multiple broker instances can form a cluster, building a distributed system.

See this LinkedIn post for a video.

Here’s an high-level example:
👉 Each production line can run its own broker instance, keeping high data loads local.
👉 A site-level broker aggregates higher-level metrics like OEE or production summaries.

💪 With MonsterMQ, production line brokers remain independent – if one goes down, the others are unaffected. Yet, cross-line data access is seamless. For example, one line can subscribe to another’s current production order or OEE. Only relevant data is transmitted between brokers, reducing overhead.

💪 Clustering is powered by Hazelcast, with communication handled by Vert.X.

⚠️ Since MonsterMQ relies on a central #PostgreSQL database, this creates a central point of failure. To mitigate this, the PostgreSQL database must be made high available. Alternatively, you can use a clustered #CrateDB, which allows you to deploy one database node on each MonsterMQ node for improved resilience. Currently subscriptions are stored in memory on all nodes, which restricts scalability, but for factory use-cases it should not matter.

🧠 Added a MCP (Model Context Protocol) Server to MonsterMQ.com

🚀 Now you can chat with your MQTT data. 💥 Still early stages though – lots of room for improvement and more tools to add to the MCP server.

🏷️ Add Metadata to topics: you can publish a retained subtopic containing metadata to your existing topics. This helps the LLM query that description and better understand the data. It is optional, but recommended.

Example topic: PV/Power/WattAct/<config>, it must contain a JSON object with this fields: { “Unit”: “W”, “Description”: “Current active power output of the photovoltaic system” }

🧠 Memory Included. MonsterMQ can store the last values in memory or in a PostgreSQL table. You can also historize your data in Postgres, so the LLM has access to historical data as well.

🤖 Wanna Try It? Publish your data to test.monstermq.com. Add a <config> retained topic to your topics, and then you can use the MCP Server test.monstermq.com/mcp, for example in Claude-Desktop.

See what Claud did by asking “please find some power meters of differnt rooms and plot the last 5 minutes of the rooms power consumption.”