Hello Dojo-community.
I'm currently working on a driver where I have to get/set a configuration XML using an SNMP table.
The XML is split up into chunks of 5000 characters. For each chunk, a row is added in the configuration table.
Getting seems to be working fine (fetch the table, join all xml-cells and then parse the xml).
Setting seems to be giving me some issues, as the adjusted xml is bigger than the original xml (because we added certain settings). Because of this, we have to add an extra row in this SNMP-table. When setting columns using notifyprotocol 220, no rows seem to be added.
The table seems to have a status column, with possible values:
-
active
-
NotInService
-
notReady
-
createAndGo
-
createAndWait
-
destroy
When searching for more info, I found the following:
For SMIv2 tables, a new row can be added in three ways:
-
CreateAndWait
-
CreateAndGo using Multiple-Variable Set
-
CreateAndGo using SNMP table UI
What would be the best method to use in dataminer? And how to go about this? Can we use createAndGo in dataminer or are table cells for one row not set all at once when using 220 calls? Do I have to use setrow instead?
Does anyone know how to best handle this situation?
Hi,
As Laurens said you need to execute SNMP set to add you new row.
For that you need to trigger an action of type Set on and SNMP group.
<Action id="10103">
<Name>ITS Src TTP Create Set Group</Name>
<On id="10103">group</On>
<Type>set</Type>
</Action>
Then your group needs to contain all parameters that you need to set, entire row including the row status parameter.
<Group id="10103">
<Name>ITS Src TTP Create and Configure</Name>
<Description>ITS Src TTP Create and Configure</Description>
<Type>poll</Type>
<Content>
<Param>10103</Param>
<Param>10115</Param>
<Param>10105</Param>
<Param>10107</Param>
<Param>10111</Param>
</Content>
</Group>
Then you need to repoll the table, so it gets updated in dataminer.
Hi,
A NotifyProtocol 220 is intended to set columns of type "retrieved". This is for columns that you're filling in with data coming from a QAction not with data from the device or on snmp columns.
In your case you need to send data to the actual device through SNMP. That means that you need to execute SNMP sets on the (probably chosen) new instance of the row to be created with the data that you want. After these sets are done then poll the table through SNMP, like is usually done, to let it fill in the created data in the parameter table.