# First module done - TagSocket

**URL:** <https://forum.inductiveautomation.com/t/first-module-done-tagsocket/115460>\
**Category:** Module Development\
**Tags:** ignition81\
**Created:** [May 9, 2026, 2:51am UTC](https://forum.inductiveautomation.com/t/first-module-done-tagsocket/115460 "2026-05-09T02:51:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ryan\_Schulte](https://avatars.discourse-cdn.com/v4/letter/r/c77e96/32.png) [@Ryan\_Schulte](https://forum.inductiveautomation.com/u/Ryan_Schulte)\
**Post date:** [May 9, 2026, 2:51am UTC](https://forum.inductiveautomation.com/t/first-module-done-tagsocket/115460/1 "2026-05-09T02:51:09Z")

</div>

Hey guys, just wanted to share that after many many tries of making a module I finally did it and I’m feeling very accomplished about it. Don’t let that stop you from critiquing my efforts though haha.

Module exposes opcua tag groups over a websocket connection at /system/ws and features typical web app credential management (API client and secret) with individual read/write config for them. This allows a websocket connection from outside of Ignition to read, write and subscribe to Ignition managed tags. Named it TagSocket because I thought that describes what it does pretty well. Also created status and config pages that I think are pretty similar to the OEM style of IA modules. I even added a doc webpage at system/ws so the module is self documented (which I thought was nice idea instead of trying to find relevant documentation online, which is the usual 3rd party module approach).

Reason for making it was I wanted a more native way to integrate (what I would consider) the main SCADA data source in Ignition back to a more web native protocol for use in “live state” JavaScript Webdev creations (I find it’s easy to get data into Webdev, but back out is a bit harder without workarounds) and external web apps like Grafana (works with Grafana’s websocket API plugin).

In all honesty the parts that I had struggled with module development in the past I finally solved with AI - Wicket was something I needed help with to create gateway pages for config and current connection monitoring.

I thought I’d post this here because I’ve seen a few topics in other forum sections before about using websockets in Ignition before without any definitive solutions… so I thought if nothing else it’d make a good reference for someone else’s ideas.

Anyway, any feedback or interest is appreciated. I built for and tested on 8.1.45 and 8.1.53 because those are gateway versions I work with.
