Hallo,
I need help because I'm trying to edit a dataminer driver I created. I need to divide by ten the value get from an OID.
If I configure the driver in the following way I get what I want (the OID return a value equal to 4009 and on the dataminer element a 400.9 value is showed), but the graph is not working (I think because it is interpreted as a string).
<Param id="1" trending="true">
<Name>Pos 1 Voltage</Name>
<Description>Circuit 1 Voltage</Description>
<Information>
<Text>Circuit 1 Voltage</Text>
<Subtext></Subtext>
<Includes>
<Include>Time</Include>
<Include>Range</Include>
<Include>Steps</Include>
<Include>Units</Include>
</Includes>
</Information>
<Type>Read</Type>
<Interprete>
<RawType>TEXT</RawType>
<LengthType>Next param</LengthType>
<Sequence>div:0.1</Sequence>
<Type>String</Type>
</Interprete>
<SNMP>
<Enabled>True</Enabled>
<OID type="complete">1.3.6.1.4.1.13742.6.5.2.4.1.4.1.1.3.4</OID>
</SNMP>
<Display>
<RTDisplay>True</RTDisplay>
<Units>V</Units>
<Decimals>1</Decimals>
<Range>
<Low>0</Low>
<High>100</High>
</Range>
<Positions>
<Position>
<Page>Current and Voltage</Page>
<Row>2</Row>
<Column>3</Column>
</Position>
</Positions>
</Display>
<Alarm>
<Monitored>true</Monitored>
<CL></CL>
<MaL></MaL>
<MiL></MiL>
<WaL></WaL>
<Normal></Normal>
<WaH></WaH>
<MiH></MiH>
<MaH></MaH>
<CH></CH>
</Alarm>
<Measurement>
<Type>Number</Type>
</Measurement>
</Param>
But when I tell the driver to interprete it as a Double I get the value from SNMPget without the division by ten (4009). In this way the paramiter is plotted into the graph but the value is not the correct one.
</Interprete>
<RawType>Numeric Text</RawType>
<LengthType>Next param</LengthType>
<Sequence>div:0.1</Sequence>
<Type>Double</Type>
</Interprete>
How can I configure the driver to get the desired value (400.9 in the example) and the graph working?
Thanks in advance,
Santo.
Hi,
The Sequence tag should always be provided with the noset="true"
attribute. Please find some more information about it here: Sequence tag|Dataminer Docs
Also if you want to divide i would expect the sequence to be div: 10. I would expect your parameter to look like this:
<Param id="1" trending="true">
<Name>Pos 1 Voltage</Name>
<Description>Circuit 1 Voltage</Description>
<Information>
<Text>Circuit 1 Voltage</Text>
<Subtext></Subtext>
<Includes>
<Include>Time</Include>
<Include>Range</Include>
<Include>Steps</Include>
<Include>Units</Include>
</Includes>
</Information>
<Type>read</Type>
<Interprete>
<RawType>numeric text</RawType>
<LengthType>next param</LengthType>
<Sequence noset="true">div:10</Sequence>
<Type>double</Type>
</Interprete>
<SNMP>
<Enabled>true</Enabled>
<OID type="complete">1.3.6.1.4.1.13742.6.5.2.4.1.4.1.1.3.4</OID>
</SNMP>
<Display>
<RTDisplay>true</RTDisplay>
<Units>V</Units>
<Decimals>1</Decimals>
<Range>
<Low>0</Low>
<High>100</High>
</Range>
<Positions>
<Position>
<Page>Current and Voltage</Page>
<Row>2</Row>
<Column>3</Column>
</Position>
</Positions>
</Display>
<Alarm>
<Monitored>true</Monitored>
<CL></CL>
<MaL></MaL>
<MiL></MiL>
<WaL></WaL>
<Normal></Normal>
<WaH></WaH>
<MiH></MiH>
<MaH></MaH>
<CH></CH>
</Alarm>
<Measurement>
<Type>number</Type>
</Measurement>
</Param>
Does this fix your issue?
Hi Santo, to add on from Timothy answer. If this parameter is meant to be a read/write parameter and not a Readonly.
It is important to also do a sequence tag that is the opposite of the read parameter (In this case Multiply 10). This is so that the element would send back a similar value to the device.
Hi Timothy,
it works! Thanks for the informations and documentation.
Best regards,
Santo