<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Ticket search results</title><link>https://forge.codesys.com/lib/cobolt/tickets/</link><description>You searched for !status:wont-fix &amp;&amp; !status:closed</description><language>en</language><lastBuildDate>Thu, 27 Nov 2025 16:49:23 -0000</lastBuildDate><item><title>Download link still provides v1.5.2.2 (MAC problem) instead of v1.6.0.3 for co⚡e: Sparkplug™ MQTT Edge</title><link>https://forge.codesys.com/lib/cobolt/tickets/171/</link><description>Hi,

I’m using the co⚡e: Sparkplug™ MQTT Edge library and I noticed a mismatch between the version shown in the Git commit log and the version that is actually available for download as a .library.

In the Git Commit Log for library_manager_c52b3431 I can see tags up to v1.6.0.3 (for example the commit “v1.6.0.3 – Fixed MAC Address bug”).

However, when I go to the Download section and download “co⚡e: Sparkplug™ MQTT Edge”, then install that file in CODESYS (Tools → Library Repository → Install…), the only version that appears in my Library Repository is 1.5.2.2.

Because of this, I cannot use the updated version (≥ 1.6.0.1 / 1.6.0.3) which, according to the commit messages, removes the SoftMotion dependency and fixes the MAC address handling.

Could you please:

Upload the latest compiled .library for co⚡e: Sparkplug™ MQTT Edge (e.g. v1.6.0.3) to the binaries / Download area, or

Confirm where the corresponding .library file for v1.6.0.3 can be downloaded?

For reference, my environment is:

CODESYS version: [your CODESYS version here]

Runtime / PLC: [your PLC / device here]

Currently installed co⚡e: Sparkplug™ MQTT Edge: 1.5.2.2

Thank you very much for your help and for maintaining this library.

Best regards,
Gerson Sanchez</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">gerssanc12</dc:creator><pubDate>Thu, 27 Nov 2025 16:49:23 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/171/</guid></item><item><title>Invalid payload missing sequence number: spBv1.0/co5e112/NBIRTH/Edge2</title><link>https://forge.codesys.com/lib/cobolt/tickets/170/</link><description>I'm trying to run the example project with Ignition bu I got this error from the Ignition log
Invalid payload missing sequence number: spBv1.0/co5e112/NBIRTH/Edge2
and I'm not able to see anything in the ignition designer
I'm using Codesys 3.5.20
Any hint to make this run? </description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">William Blandon</dc:creator><pubDate>Sat, 17 May 2025 00:36:24 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/170/</guid></item><item><title>Artefacts belonging to Primary Host are to be set to invisible in the sourcecode</title><link>https://forge.codesys.com/lib/cobolt/tickets/167/</link><description>Artefacts belonging to Primary Host are to be set to **invisible** in the sourcecode.
This way only the nosy will see the artefacts. As a bonus the artefacts will be kept for future reference.
This will become effective immediately
Edge =&gt; v1.6
Stack =&gt; v1.6 
Host =&gt; v3.0</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Sat, 05 Nov 2022 22:26:30 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/167/</guid></item><item><title>bdSeq Sequence Number is invalid</title><link>https://forge.codesys.com/lib/cobolt/tickets/166/</link><description>The NBIRTH sequence number appears to always return 0.  Therefore, on SCADA applications such as Ignition, the Node birth is not recognised, therefore, device birth and data are rejected.

Furthermore, the rebirth sequence number also indicates 0.

The investigation of the host library indicates that there is no function performed by FB_CheckSeq.  

</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">done</dc:creator><pubDate>Tue, 18 Oct 2022 09:12:12 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/166/</guid></item><item><title>Edge shall disconnect and a NDEATH will be published.</title><link>https://forge.codesys.com/lib/cobolt/tickets/165/</link><description>*This task has been split off from ticket [#160] since this task will take significant time to implement

If the user disables the edge it shall disconnect and a NDEATH will be published.

For more information see:
https://github.com/eclipse/sparkplug/blob/develop/specification/src/main/asciidoc/chapters/Sparkplug_5_Operational_Behavior.adoc#edge-node-session-termination</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Sat, 05 Nov 2022 21:20:03 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/165/</guid></item><item><title>TCK: operational-behavior-data-commands-rebirth-action-1</title><link>https://forge.codesys.com/lib/cobolt/tickets/164/</link><description>If you run the example project against the current develop branch of the Sparkplug TCK https://github.com/eclipse/sparkplug/ , you get the following failing test:

operational-behavior-data-commands-rebirth-action-1: FAIL When an Edge Node receives a Rebirth Request, it MUST immediately stop sending DATA messages.;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Fri, 01 Jul 2022 22:01:50 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/164/</guid></item><item><title>TCK: No payload timestamps NDATA/DDATA</title><link>https://forge.codesys.com/lib/cobolt/tickets/163/</link><description>If you run the example project against the current develop branch of the Sparkplug TCK https://github.com/eclipse/sparkplug/ , you get the following failing test:

topics-ndata-timestamp: FAIL The NDATA MUST include a timestamp denoting the Date/Time the message was sent from the Edge Node.;

payloads-ddata-timestamp: FAIL DDATA messages MUST include a payload timestamp that denotes the time at which the message was published.;

topics-ddata-timestamp: FAIL The DDATA MUST include a timestamp denoting the Date/Time the message was sent from the Edge Node.;

payloads-ndata-timestamp: FAIL NDATA messages MUST include a payload timestamp that denotes the time at which the message was published.;



Suggest a call to FB_Payload.SetTimestamp( ) is missing</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Fri, 01 Jul 2022 22:00:40 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/163/</guid></item><item><title>TCK: message-flow-edge-node-birth-publish-connect</title><link>https://forge.codesys.com/lib/cobolt/tickets/162/</link><description>If you run the example project against the current develop branch of the Sparkplug TCK https://github.com/eclipse/sparkplug/ , you get the following failing test:

message-flow-edge-node-birth-publish-connect: FAIL Any Edge Node in the MQTT infrastructure MUST establish an MQTT Session prior to publishing NBIRTH and DBIRTH messages.;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Fri, 01 Jul 2022 21:57:14 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/162/</guid></item><item><title>Replace WSTRINGs with new SP18 UTF8 STRINGs</title><link>https://forge.codesys.com/lib/cobolt/tickets/159/</link><description>Currently we USE WSTRINGs throughout and convert to/from UTF8 for sending and receiving.  This should be changed to use the new SP18 UTF8 STRINGs as described here: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_utf8_encoding.html

Note that we have a Global Constant SUPPORTED_STRING_LENGTHS : DINT := 512;
That could hold 512 WCHARS, and takes 1026 Bytes of storage per string.
It can hold 512 2-Byte or 256 4-byte Unicode characters.
If we keep this value for UTF8 strings, each string would be 513 Bytes, and can hold 512 1-Byte or 85 6-Byte Unicode characters.

This improvement would halve the storage size for strings, and make converting payloads faster, and also things like string comparison and manipulation.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Fri, 10 Jun 2022 15:40:13 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/159/</guid></item><item><title>Tutorials: go over and check for correctness</title><link>https://forge.codesys.com/lib/cobolt/tickets/156/</link><description>The tutorials are out of date.  For example, some refer to installing the "SparkplugB" library, but this is now the three libraries starting with co⚡e.  The tutorials should be give a run through, and corrected for current usage.

Check the following:
Preview How To &lt;&lt;&lt; Needs updating

Setup a test system with Ignition Primary Host &lt;&lt;&lt; needs some updating

Add SparkplugB to an existing CODESYS project &lt;&lt;&lt; needs updating</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Wed, 09 Feb 2022 23:21:41 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/156/</guid></item><item><title>Payload Decode: Robustness / BigEndian PLCs</title><link>https://forge.codesys.com/lib/cobolt/tickets/155/</link><description>Currently it is assumed that the payload being decoded is not corrupt.
Also it assumes the Byte Order of the PLC is Intel (Little-endian).
Note the Byte Order of the Payload must be Little-endian.
Perhaps use a MemUtils.ByteBuffer to accomplish both goals.
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Fri, 06 May 2022 20:20:06 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/155/</guid></item><item><title>Migrate TransferAllElements() out of SPStack into colist</title><link>https://forge.codesys.com/lib/cobolt/tickets/153/</link><description>The function TransferAllElements is List functionality so it should be transfered to colist (co🔗e)</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sat, 22 Jan 2022 07:52:15 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/153/</guid></item><item><title>add yml pipeline</title><link>https://forge.codesys.com/lib/cobolt/tickets/152/</link><description>Add a yml file to auto build various artefacts;

* [x] binaries
* [x] project
* [x] unittest
* [ ] co⚡e-edge.library 
* [ ] co⚡e-host.library
* [ ] co⚡e-stack.library

Suggestion: only add a .yml pipeline to binaries git in order to build and package tags.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Sun, 17 Apr 2022 22:09:17 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/152/</guid></item><item><title>Project archive download gives error</title><link>https://forge.codesys.com/lib/cobolt/tickets/150/</link><description>d:Project archive is too big to be downloaded from a git repository.  Maybe this needs to be SVN, or some other file storage (which allows 50Mb downloads)</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Thu, 25 Nov 2021 19:28:39 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/150/</guid></item><item><title>Edge, Host : Support Websockets</title><link>https://forge.codesys.com/lib/cobolt/tickets/148/</link><description>MQTT Client SL 1.5.0.0 introduces WebSockets.
This should be supported.  test.mosquitto.org has some websocket listeners

* [x] HTTPS WebSockets support,
    * [x] Proxy Settings support( unverified),
    * [x] TLS Support (wss://... implemented but unverified),
    * [x] Edge / Device ( ws://... verified),
    * [ ] Host
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sun, 17 Jul 2022 16:49:01 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/148/</guid></item><item><title>Git commit hook scripting</title><link>https://forge.codesys.com/lib/cobolt/tickets/147/</link><description>This ticket serves as aplaceholder to creat a set of commit scripts which will solve several re-occuring tasks automatically for us.

we can call these scripts in various ways, among them is on a git commit hook:

tasks we must persue are;
Auto-test the solution,
STweep the solution source,
When the commit will be tagged, it needs to committed to binaries git.

A script (through codesys git api interface) needs to be developed to orchestrate these tasks.
Any such task should be considered for ci/cd so we can concentrate on development itself instead. 

</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Sat, 06 Nov 2021 10:03:58 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/147/</guid></item><item><title>Check SeqNums of connected edges and devices and trigger a ReBirth</title><link>https://forge.codesys.com/lib/cobolt/tickets/139/</link><description>We must build a solution into the Primaryhost which checks the correctness of the received SeqNums, BdSeqs and triggers the corresponding Edge to ReBirth if Necessary

Check Validity of BdSeq Sequence of individual edges and devices against Birth certificate and ask ReBirth if flawed.
check Validity of SeqNum sequences per individual Edge and device and ask ReBirth if flawed.

Checking the validity has a high priority and must be rigid and forgiving at the same time as the ReBirth mechanism is triggered through this.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Sat, 05 Nov 2022 21:20:03 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/139/</guid></item><item><title>Edge, Host: Support Templates</title><link>https://forge.codesys.com/lib/cobolt/tickets/133/</link><description>Templates allow you to define a specific structure for data, and then implement several instances.
Partly the advantage is that, if you transmit "names" rather than aliases, you translate the instance name once, and then just the member names.
Additionally, there are some Object Oriented advantages, for example making faceplates that require a particular template as input.
so:

1. [x] FB_Metric should be able to have one FB_Template... which needs to be able to have several FB_Metric :D
2. [x] FB_Edge needs to be able to xBIRTH
3. [ ] FB_Edge needs to be able to send xDATA 
4. [ ] FB_Edge needs to process xCMDs
5. [ ] FB_Host needs to be able to process xBIRTH 
6. [ ] FB_Host needs to be able to process xDATA 
7. [ ] FB_Host needs to send xCMDs
8. [ ] FB_Host needs to process xDEATH
9. [ ] The user will want to be able to efficiently link these to DUTs (both in the Edge and in the Host).  That might be a 3.0.0.0 feature, but thought should be put into how this might be realised.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sun, 21 Nov 2021 00:48:06 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/133/</guid></item><item><title>PrimaryHost, Edge: QoS</title><link>https://forge.codesys.com/lib/cobolt/tickets/126/</link><description>The following **exact** QoS should be adhered to:

Message | Publisher | Subscriber
---------- | ---------- | ------ 
NBIRTH | QoS 0 | QoS 0
DBIRTH | QoS 0 | QoS 0
NDATA | QoS 0 | QoS 0
DDATA | QoS 0 | QoS 0
NCMD | QoS 0 | QoS 0
DCMD | QoS 0 | QoS 0
DDEATH | QoS 0 | QoS 0
NDEATH | QoS 1 | QoS 1
STATE | QoS 1 | QoS 1</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sat, 05 Nov 2022 21:20:03 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/126/</guid></item><item><title>PrimaryHost: proces &amp; publish messages</title><link>https://forge.codesys.com/lib/cobolt/tickets/125/</link><description>Primary Host
subscribe and process the incoming certificates and payloads;

* [x] Process NBIRTH
* [x] Process NDATA
* [x] Process NDEATH 
* [x] Process DBIRTH
* [x] Process DDATA
* [x] Process DDEATH

publish it's STATE and, if applicable, issue commands

* [x] Publish STATE
* [ ] Issue NCMD's (Node REBIRTH)
* [ ] Issue DCMD's</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Sat, 05 Nov 2022 21:20:03 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/125/</guid></item><item><title>IFolderStructureSource</title><link>https://forge.codesys.com/lib/cobolt/tickets/122/</link><description>which can be implemented by (in order of priority)

PrimaryHost
Edge
RemoteEdge
RemoteDevice
RemoteMetric</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Fri, 05 Feb 2021 18:59:41 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/122/</guid></item><item><title>FB_VisuFolderStructure</title><link>https://forge.codesys.com/lib/cobolt/tickets/121/</link><description>FB_VisuFolderStructure will make the chosen namespace visible</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Fri, 05 Feb 2021 18:55:40 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/121/</guid></item><item><title>FB_FolderStructure</title><link>https://forge.codesys.com/lib/cobolt/tickets/120/</link><description>FB_FolderStructure scans the namespace and generates a datastructure. This Datastructure can then be used for FB_VisuFolderStructure and can be made visible using standard available objects from the visualisation objects manager.

Note that in the spec, it suggests some folder structure like:

* group_id
    * edge_node_id
        * device_id
            * Metric Level 1
                * Metric Level 2
                    * Metric Name

But this leaves the possibilty for collisions, if an Edge-Metric has a Metric with the same name as a Device.

So it may be better to layout the folder as:

* groups
    * group_id
        * edges
            * edge_node_id
                * metrics
                    * Objects Can Have The Same Name
                * devices
                    * Objects Can Have The Same Name
                        * Metric Level 1
                            * Metric Level 2
                                * Metric Name

</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Wed, 01 Dec 2021 18:18:44 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/120/</guid></item></channel></rss>