<?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 assigned_to:"hermsen"</description><language>en</language><lastBuildDate>Sat, 17 May 2025 00:36:24 -0000</lastBuildDate><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>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>FB_Edge: Move Connect to VAR_INPUT, and rename to Enable, and Implement</title><link>https://forge.codesys.com/lib/cobolt/tickets/160/</link><description>FB_Edge has a local variable Connect.

1. [x] Move it to VAR_INPUT
2. [x] rename Connect to Enable
3. [x] document its behaviour
4. Implement the functionality
       
    a. [x] Edge shall not start until enabled.        
    b. [#165] Edge shall disconnect and a NDEATH will be published.

*Implementation of NDEATH has been splitted of and moved to [#165]</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sun, 17 Jul 2022 16:43:47 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/160/</guid></item><item><title>Migrate to SP18 Development Environment and SP18 Compiler</title><link>https://forge.codesys.com/lib/cobolt/tickets/158/</link><description>We intend eventually to use some SP18 compiler features, namely UTF8 strings, which will bring processing performance enhancements as well as application memory usage improvements.

Also, we want to use SP18 development environment.

This would mean though that for end users to use the latest version of co⚡e, they will need to use SP18 development environment and SP18 compiler, even if with their older runtimes.
The only problem here would be, those with devices from manufacturers which both:
a) only work with their own customized version of the CODESYS development environment and
b) are not yet at SP18 with that development environment (eg. has released SP17 a month ago)

So we have two options moving forward.
Option 1 - We create a release of the current state, and for anyone not using the SP18 development environment yet, they have to use this version.  All versions from now will require SP18.
Option 2 - We try to continue development in such a way that allows for the old compiler also.

Option 2 is more work than Option 1, but we understand some people might take time to move to SP18.
We opt for Option 1, as this will let us realize the new performance improvements faster.

Tasks for old version:

* :point_right: CODESYS git *ONLY* supports SP17 and later:exclamation:
* [x] Create a commit in the binaries git, which stores the libraries and projects which can be opened using SP16 Patch 1 development environment. The libraries should compile and be installed in the repository, the unit test should run, the project should run and send data to/from Edge and Host.
    * [x] Host 
    * [x] Stack
    * [x] Edge
    * [x] Example
    * [x] Unittest
* [x] Create a git tag of that SP16.10 commit.
* [x] Create instructions for how to access that for users who want to use an older version in the FAQ.

Tasks for SP18 version:

* [x] Use SP18 to checkout, close project, open project, and commit the SP18 changes with a commit message containing this Ticket number and title
* [x] Up the compiler version to SP18
* [x] Set the "Project Settings &gt; Library Development &gt; Pointer size to use" to "32bit or 64 bit"
* [x] Commit and push to main
    * [x] Host  v1.4.0.0 
    * [x] Stack v1.5.0.0
    * [x] Edge
    * [x] Example
    * [x] Unittest</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/158/</guid></item><item><title>Refactor FB_SparkplugBSimple to FB_SparkplugBxCoderHandler </title><link>https://forge.codesys.com/lib/cobolt/tickets/157/</link><description>* [x] Refactor FB_SparkplugBSimple to FB_SparkplugBxCoderHandler from Stack 
* [x] Repair references in Edge 
* [x] and Host Libraries</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Fri, 08 Apr 2022 20:41:05 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/157/</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>Add Edge Info Properties</title><link>https://forge.codesys.com/lib/cobolt/tickets/149/</link><description>We should publish lots of hardware and software info obtained from the platform which the Edge runs on. All the info is aggregated and then published in the metric "ABOUT" with access "read-only

* [x] https://faq.codesys.com/display/CDSFAQ/Reading+the+Manufacturer+Information+of+the+Controller
* [x]  https://faq.codesys.com/display/CDSFAQ/Reading+the+IP+and+MAC+Addresses+from+AdapterInfo
* [x] https://faq.codesys.com/display/CDSFAQ/Reading+the+Compiler+and+Runtime+Version
* [x] https://faq.codesys.com/pages/viewpage.action?pageId=21135402
* [x] https://faq.codesys.com/display/CDSFAQ/Identifying+the+Hardware+and+Operating+System

added Opt-Out IWantExtendedEdgeInformation : BOOL := TRUE;

https://forge.codesys.com/lib/cobolt/cobolt-edge/ci/71221096fbe2cabd8304e28b874874f9c67fe13a/</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Fri, 03 Dec 2021 13:55:48 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/149/</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> WSTringBuilder internal string declaration misses a size, so it is 80 chars max</title><link>https://forge.codesys.com/lib/cobolt/tickets/144/</link><description>Suggestions

1) Fix is to set a buffersize i.e.
~~~
_workWSTRING : WSTRING(4096);
~~~

2) Replace functions from Standard64 with the functions from StringUtils

</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Sat, 30 Oct 2021 17:36:05 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/144/</guid></item><item><title>Migrate project URL to prj/cobolt/</title><link>https://forge.codesys.com/lib/cobolt/tickets/142/</link><description>mqttsparkplugb is a generic name, and it disagrees with the project naming guidelines of the eclipse foundation.  As such the project should be migrated from:
https://forge.codesys.com/prj/mqttsparkplugb/
to
https://forge.codesys.com/lib/cobolt/</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Thu, 12 Aug 2021 00:58:57 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/142/</guid></item><item><title>Source control: Migrate to git</title><link>https://forge.codesys.com/lib/cobolt/tickets/141/</link><description>Migrate the project to git.

* [x] One git repository for each library/project.  Use name co⚡e.library if possible, if not cobolt-library
* [x] For convenient download of the binary library/project files, we will continue to publish these to the SVN repository.

At a later date, the binaries will be migrated to their own git repository, prefereably conserving the SVN history (of the binaries) wi</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sat, 23 Oct 2021 23:03:20 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/141/</guid></item><item><title>Remove FB_Payload_OLD from library</title><link>https://forge.codesys.com/lib/cobolt/tickets/140/</link><description>Remove FB_Payload_OLD from library</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sun, 11 Jul 2021 17:42:43 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/140/</guid></item><item><title>Edge: Not obeying max publish rate</title><link>https://forge.codesys.com/lib/cobolt/tickets/137/</link><description>If set to a publish rate of 2000 (ms) the edge publishes NDATA faster than one every 2 seconds.
NDATA should be limited to the publish rate.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Mon, 10 May 2021 20:46:14 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/137/</guid></item><item><title>Edge seems to publish "empty" payloads</title><link>https://forge.codesys.com/lib/cobolt/tickets/136/</link><description>The edge publishes somehow publishes payloads that are valid but empty i.e; 
Payloads contain timestamp and a valid seqnum, but the metrics section is empty;

NDATA
~~~
{"timestamp":1619874081095,"metrics":[],"seq":218}
~~~

Replication: Set GenerateDataTimer to e.g. T#60s whilst keeping publishPeriod to e.g. 500

1) Find root cause of this unwanted and unnecessary sending of empty payloads,
2) Suggest and implement a suitable fix.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Mon, 10 May 2021 20:45:55 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/136/</guid></item><item><title>Project Homepage: Update guides</title><link>https://forge.codesys.com/lib/cobolt/tickets/135/</link><description>Proof and Update the following to match latest library:
[x] [Add to existing](https://forge.codesys.com/prj/mqttsparkplugb/home/Add%20SparkplugB%20to%20existing%20CODESYS%20project/)
[x] [Set up Test Server](https://forge.codesys.com/prj/mqttsparkplugb/home/Set%20up%20test%20system/) - rename to setup a test system with Ignition Primary Host

Add the following guides:
[x] setting up a test environment with a co⚡e primary host</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sat, 15 May 2021 22:48:45 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/135/</guid></item><item><title>new implementation of FB_EdgeMQTT client</title><link>https://forge.codesys.com/lib/cobolt/tickets/128/</link><description>FB_DeviceMQTTClient publisher code will be phased out and integrated into a single FB_EdgeMQTTClient. Subscriber code will stay intact
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Fri, 30 Apr 2021 13:34:43 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/128/</guid></item><item><title>FB_Remote* fb's will log detected pool mutations</title><link>https://forge.codesys.com/lib/cobolt/tickets/116/</link><description>Any detected group add/remove will trigger a log message will display: the detected group name, the number available in pool, the added/removed count
Same goes for added/removed edges, devices and metrics

The cmpHost component will log these</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/116/</guid></item><item><title>Every type of Node will have it's seperate log (bonus kudos)</title><link>https://forge.codesys.com/lib/cobolt/tickets/115/</link><description>Every "node" in the library will have it's own log.
This will make logging in general and debugging easier as a log only will contains messages from that certain component. How this should be realised is yet to be seen. If the effort is too high this ticket will be backlogged.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Sat, 13 Mar 2021 19:25:53 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/115/</guid></item><item><title>Primary Host: Connect, publish state, subscribe</title><link>https://forge.codesys.com/lib/cobolt/tickets/110/</link><description>Create an FB_PrimaryHost.

It should connect (with last will state).

It should disconnect.

It should subscribe to:
namespace/+/NBIRTH/+
namespace/+/NDEATH/+
namespace/+/DBIRTH/#
namespace/+/DDEATH/#
namespace/+/NDATA/+
namespace/+/DDATA/#
namespace/+/NCMD/+
namespace/+/DCMD/#
STATE/+

it should provide the following methods, which will be used to handle the payloads:
onNBIRTH()
onNDEATH()
onDBIRTH()
onDDEATH()
onNDATA()
onDDATA()
onNCMD()
onDCMD()
onSTATE()

it should publish STATE.</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/110/</guid></item><item><title>Move DCMD from EoN to Device</title><link>https://forge.codesys.com/lib/cobolt/tickets/109/</link><description>The title says it all, moving DCMD to FB_Device</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Sun, 27 Dec 2020 00:42:45 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/109/</guid></item><item><title>TLS: use the new TLSContext to allow verification of the server certificate</title><link>https://forge.codesys.com/lib/cobolt/tickets/108/</link><description>With the 1.0.2.0 MQTT SL library, it is now possible to verify the server certificate.  This should be added, so that the certificate can be verified.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">i-campbell</dc:creator><pubDate>Sun, 27 Dec 2020 20:44:14 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/108/</guid></item><item><title>Device unplugging "on the fly" causes an exception</title><link>https://forge.codesys.com/lib/cobolt/tickets/103/</link><description>cause: pointer will turn to zero while still dereferencing this pointer
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Sat, 19 Dec 2020 15:24:24 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/103/</guid></item><item><title>EoN state machine should return to offline when an MQTT error occurs</title><link>https://forge.codesys.com/lib/cobolt/tickets/100/</link><description>as there is no way to error out of the two publish states, there is no way to reconnect to an MQTT Server once a connection is lost. =&gt; Yes, I have seen this effect during testing too, thanks for reminding me to make this ticket😀

A solution had already been thought off but the current seqnums issue has higher priority.😔

Suggested solution;
After loss of connection, make sure the EoN can return to the offline step.
The trigger to detect this is programmed outside the StateMachine.
It is then forwarded into the state machine in form of an input command to let the EoN StateMachine go-to
The offline state.

The above mechanism will also trigger devices to go to plugged but offline as they monitor the EoN continuously.
Whenever the connection restores the EoN will reconnect and the devices will automatically follow after the connection is restored with no programming required (by design)</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hermsen</dc:creator><pubDate>Sat, 02 Jan 2021 13:03:35 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com/lib/cobolt/tickets/100/</guid></item></channel></rss>