Profile

Floris Cockaerts

User info

First name Floris
Last name Cockaerts

DevOps Program

Acquired rank
Enabler
Points progress
Number of DevOps Professional Points
1099 DevOps Points
Here are a few tips to level up your DevOps game and unlock an arsenal of perks and benefits.
DevOps attestation Request your attestation ID and expiry date

Achievements

Questions asked

Sorry! No question found.

Answers given

Hi Rodrigo, DVEs should always be running as the version of the parent element, as these do not entirely exist as separate elements server-side. However, displaying the data still requires the information...

View Question
9 Votes Selected

Hi Dominique, Newtonsoft.Json is the most common way to parse to and from JSON messages, but it is still a custom library made by Newtonsoft and not part of your project by default. If you are writing...

View Question
9 Votes Selected

Hi Aldrick, When performing SNMP requests using the NT_SNMP_GET call, a type specifier can be provided along with the OID. "OID:TYPE:METHOD", where TYPE and METHOD are optional. For the TYPE, there's...

View Question
7 Votes Selected

The HTTP Sessions were implemented before RFC2616 became obsolete. As such, the assumption was made that a GET request shouldn't contain a body. For ease-of-use, the provided <Data> is automatically...

View Question
6 Votes Selected

Hi Wale, This happens asynchronously, meaning both actions are being handled by different threads without synchronizing. When a parameter value is changed, it is forwarded to a queue in SLElement. Then,...

View Question
5 Votes Selected

Hi Greisen, You'll need to use an SLNet call to get the alarm level, since the SLProtocol object itself gives you access to the information in the SLProtocol process, while alarms are created and stored...

View Question
5 Votes Selected

Non-ascii characters don't work well when a protocol is not Unicode. That's because the protocol expects to receive ASCII data from a device. The SLProtocol logic is built to then work entirely with ASCII...

View Question

Hi Sofia, The error message is a bit of a misnomer, and seems to indicate one of two things. Either the internal pointer to the protocol information is absent, which seems unlikely, or there is no parameter...

View Question
5 Votes Selected

Hi Daniel, According to this stackoverflow thread, you likely need to install the Microsoft Access Database Engine 2010 Redistributable on your system.

View Question
4 Votes Selected

Hi Elmaza, There's no immediate way to abort a specific thread, however, have you tried to either: Stop or restart the element? If it isn't a production system, or the impact of reloading the data...

View Question
4 Votes Selected

Hi Amer, Together with Thomas, I made an IAS that handles a button press that we tested our local DMA. Maybe this can serve as an example? IAS_Button_Pressed/DOJO_1.cs at RC · FlorisCO/IAS_Button_Pressed...

View Question
4 Votes

Hi Ruben, Serial communication depends on trailers to know when a message has been concluded, otherwise it waits for the timeout time before sending the data to SLProtocol. Can you check if the protocol...

View Question

GetNativeVariantForObject is a function that translates the managed (C#) objects to unmanaged (C++) objects. It's only capable of translating fundamental types like integers, strings, and arrays. Presumably...

View Question
4 Votes Selected

Hi Greisen, This action (read file | DataMiner Docs) is entirely based on bytes. So the file type or extension doesn't matter, but you are going to end up with bytes that may be in a format that needs...

View Question
4 Votes Selected

Hi Elvio, Although a C# Automation Script is capable of anything supported by dotNET, it may not be your best option since the data you poll still needs to end up somewhere. What is done in environments...

View Question

Hi Bing, First, to answer your direct questions: Yes, the feature was introduced with RN18640 in FR 9.5.13 and MR 9.6.0 (CU0) and is always active Yes, the standby agent will either not listen to...

View Question

Hi Ryan, The only limitations I'm aware of are those of the string classes themselves. These are ~2^30 characters for both C# and C++ (~1 billion UTF-16 characters). You didn't specify how large the expected...

View Question
4 Votes Selected

The first uploaded version of a protocol will be set as production by default in one of the upcoming DataMiner versions. Data-Acquisition is still validating this feature, but you can track its progress...

View Question
3 Votes Selected

A replicated element does not execute any protocol logic. The timers are not active, the trigger will not fire. It receives parameter changes from the original element in SLProtocol, which will update...

View Question
3 Votes Selected

Hi Edib, Is it possible you have a streamviewer session open on that element? From what I can tell in the code, it seems to do a check for that, but then doesn't necessarily write to the streamviewer,...

View Question
3 Votes Selected

Hi Ibrahim, Process crashes can be investigated by the Create domains if you provide them with the crash dump file. I believe the procedure is to reach out to Central Operations who will do a preliminary...

View Question
3 Votes Selected

Hello Rade, When an element is started, it tries to establish the TCP connections for the WebSocket interfaces defined in the protocol using the element's configuration. Since this protocol has a dozen...

View Question
3 Votes Selected

Hi Aston, The NT_* notifies are an internal messaging system that actually have two separate handlers. One is SLDataMiner, and the other is SLProtocol. The problem is that each process implements the...

View Question
3 Votes

Hi Aldrick, There is no similar memory retention like QActions. There is a feature called memory files though: script memory files. I have not used them myself, so only have the documentation to go on...

View Question
3 Votes Selected

Hello Henri, We've put this limitation on the timeout of a single command because any other interaction with the device is blocked while we wait for the reply. It is also dependent on the communication...

View Question
3 Votes Selected

Hi Flavio, Exporting a standalone parameter to a function DVE should be possible while it is, as you mentioned, not possible for a regular DVE. The reasoning behind this compatibility is that alarms...

View Question
3 Votes Selected

Hi Fransisco, There's a few topics to unpack here. First, a QAction with a table PID as trigger will be executed when that table changes, but not if those changes are made through a QAction. So in case...

View Question
3 Votes Selected

Hi Jonas, The AlarmEventMessage itself does not say when it is cleared, it's the AlarmEventMessage that has a cleared/normal state that will have cleared the alarm. So you grab the timestamp of that message...

View Question
2 Votes Selected

An RTE in SLProtocol.exe is oftentimes linked to calls with one or more of the following processes: SLScripting SLSNMPManager SLPort SLElement Taking dumps automatically on these errors may help...

View Question

Hi Daniel, There are several ways an element can go into time-out, have you considered these: If the last request-response in a poll cycle does not receive the expected response, the element will go...

View Question
2 Votes

Hi Sidddique, Let's try to separate the parsing from the visualization to isolate potential problems. For the best visualization, use the following parameter options: options attribute | DataMiner Docs,...

View Question

Hi Piotr, Although elements can be configured to be available in the SLSNMPAgent (cfr. Enabling_the_virtual_SNMP_agent_of_an_element), this option isn't available in the UI for services or enhanced services....

View Question
2 Votes

Hi Ryan, The IP stated in the notice should tell you the source of the trap. To have a better indication of why the trap is considered incorrect, there should be a log statement in the SLSNMPManager logging...

View Question
2 Votes Selected

Hi Garry, DataMiner processes | DataMiner Docs seems like a comprehensive list of the DataMiner processes. Regarding the SLProtocol and SLPort processes, we have created pools of certain processes to...

View Question
2 Votes

After investigating together with Matej, we had to come to the unfortunate conclusion that dynamic IP for smart-serial connections is not supported at the time of writing (version 10.3.8). I don't see...

View Question
2 Votes Selected

Hi Ajdin, I have to make an edit to the original response, since we just discovered a quirk in SLSNMPManager that we weren't aware of. SLSNMPManager needs to parse the received bytes to appropriate types,...

View Question

Hi Michiel, I've pushed an example to github: DisabledWhenPressed The solution is to call Show(false); in your dialog class whenever you want the visuals to get updated, but haven't finished processing...

View Question

Hi Alberto, I don't believe the current syntax allows you to define multiple interfaces that share some fields. There are polling mechanisms like multithreaded timers, dynamic polling, and raw SNMP polling...

View Question
2 Votes Selected

Hi Alberto, This seems to be a quirk of both Windows, and the driver. Namely, when polling the OIDs for services on the host, Windows only replies with the active services. This results in the Services...

View Question
2 Votes

Hi Gerwin, In the following script, I was able to add text fields by pressing a button: IAS_Button_Pressed/DOJO_1/DOJO_1.cs at RC · FlorisCO/IAS_Button_Pressed · GitHub Not sure if the locking is...

View Question
2 Votes Selected

I'm not sure if this is still in play, but protocol versions had to be validated before they would be allowed to be downloaded through the cube downloader. Checking the internal records, that flag hasn't...

View Question
2 Votes Selected

Hi Andrea, A connector can only set the default retry attempts for the element creation wizard per connection (see PortSettings>Retries>DefaultValue). A connector can not overrule the configured...

View Question
2 Votes Selected

This depends on the parameter's <Interprete> definition, which can be different from the <Display> definition. For double type parameters, we round the amount of decimals to 6 by default, and...

View Question
2 Votes

Hi Filiep, I'd just like to add that function DVEs and regular DVEs actually largely have the same code path, but need different "flags" to be checked. There are some exceptions though, like the way DCF...

View Question
2 Votes Selected

Hi Trong, Unfortunately not, it is only capable of setting the parameter when it does not have a saved value at the start of the element. Shadowing another parameter is possible with either copy actions...

View Question
1 Vote

Hi David, It looks like the documentation is not complete in describing how to use the state column. Only when setting all rows in a single call with either FillArray, SetColumns, FillArrayWithColumn...

View Question

Hi Zhing, At some point your messages will not be processed concurrently. It's already unlikely that they'll arrive at exactly the same time through the wire and UDP socket, I'm pretty sure that SLSNMPManager...

View Question
1 Vote

Hi Geovanny, Please remember that SLScripting is a 32-bit process and is limited to 4GB of memory. Consider the amount of memory you need to process your responses, assuming you have the original response...

View Question
1 Vote

Hi Kawssar, This is currently not part of the CSV file exporter, and doesn't seem like that would be the intent either. Just like DELT packages, it can be used to edit or recreate elements with a certain...

View Question
1 Vote

Hi Mark, It looks like the lines option is only applicable to the read parameter at the moment. Multiline parameters can be displayed when the data is received through any other means, like polling or...

View Question
1 Vote Selected

Hi Bing, Yes, if the SNMPTrap process is running while the DMA starts, then SLSNMPManager will attempt to stop it to take port 162. Although I could find references to the SNMPTrap process being stopped...

View Question
1 Vote Selected

Hi Ruben, We always try to maintain the integrity of the data by using the necessary locking in our server code while trying to keep parallelization at a maximum. And thus, there may be some scenarios...

View Question

Hi Julian, I believe the boundary in your body is wrong. Comparing with this page: Multipart Requests (swagger.io) you can see that the boundary is prefixed with two dashes every time it is used, and...

View Question
1 Vote Selected

Hi Maximiliano, This would be done by setting the Request verb to POST, configure the url and headers accordingly, and configure a Data element to point at a parameter that can be set with the content...

View Question
1 Vote Selected

Hi Brecht, I would expect them to behave the same regardless of which protocol thread they are executed on. So if you have particular cases we can investigate and improve, please send us a task with the...

View Question
1 Vote Selected

Hi Trong, It sounds like you have a redundant connection, rather than connections that host separate functionality? I believe there are multiple options: Enabling redundant polling to let dataminer...

View Question
1 Vote Selected

Hi Ashwini, when setting up a failover pair, you should have a virtual IP (Failover configuration in Cube). This virtual IP will point to the active DMA of the pair and can be used as the entry point...

View Question
1 Vote Selected

Hi Richard, Presumably there is a mismatch with the data type the SNMP value has, and how we are interpreting. If you want to see the requests and responses, you can use a network analysing tool such...

View Question
1 Vote Selected

Hi Dario, Am I correct in understanding that you have a driver with 2 connections, one HTTP (or HTTPS?) and one serial, where the latter is configured for port 22 (SSH)? Since your serial command is...

View Question
1 Vote Selected

Hi Roger, The parameters have a brief description of what they are if you double-click a cell in the column you want to know more about. In short, most of these values are 5-second averages using windows...

View Question
1 Vote Selected

Hi Gabriel, The documentation may have been written while reflecting on a regression test, these often have small datasets and thus, use small bulk sizes. Regarding your case, it's not clear to me if...

View Question
1 Vote Selected

Hi Jeff, The closest thing to what you are asking is probably the following notify, which only works for history set parameters: NT_CLOSE_HISTORY_TREND_WINDOW (374) | DataMiner Docs To my knowledge,...

View Question
1 Vote Selected

To expand on Laurens' response, these are the QActions currently added by server-side to the protocol (as of 10.1.12) and their trigger parameters: 900000: trigger=65015, [Reset alarms for PID] 900001:...

View Question
1 Vote

Hi Jens, since function elements also have a protocol.xml file that was generated through the function definition, that would be the first place to look. You say you checked the column parameter, but have...

View Question
1 Vote Selected

Hi Cristel, The length limit of a single log statement can be a hindrance in test scenarios, and perhaps a different storage location may be needed if investigation this amount of data is required, as...

View Question
0 Votes

Hi Tyler, I recreated the setup you provided in your post, but didn't get the error. I've pushed my resulting protocol, which was started from the DIS protocol template, to github: FlorisCO/Dojo_QActionLog...

View Question
0 Votes Selected

Hi Guy, It's not easy to give a definitive answer with the data provided, but I will try to explain the internal logic and what may be going wrong. However, if the issue can't be resolved with an element...

View Question
0 Votes Selected

Hi Ricaurte, A WMIQueryThread is unique for an element, so unless it's in a deadlock with another thread, there's not much impact on the rest of the system. Since this is the only thread problem you seem...

View Question
0 Votes Selected

Hi Alex, My experience with SNMP keys is that these usually are not pollable OIDs, but rather a definition of how to interpret the instance part of an OID for any of the other columns. If this were a...

View Question
0 Votes Selected

Hi Martin, Personally, I'm only aware of the "follow" functionality on a matrix control. However, I'm not that familiar with the router control that can be used even without a matrix control. There should...

View Question
0 Votes Selected