Good evening,
I have noticed these two operators which aren't in the documentation and would like some clarification on their use.
One of them is a single dot.  Based on usage, it appears to be used to concatenate strings?  From the Wiki page Script Example: Read SNMP Value From Node (https://wiki.netxms.org/wiki/Script_Example:_Read_SNMP_Value_From_Node):
value = SNMPGetValue(transport, ".1.3.6.1.2.1.1.1.0");
if (value == null)
{
    println "Failed to issue SNMP GET request";
    return 2;
}
else
{
    println "System description: " . value; // This dot
    return 0;
}
The other one is this which I've seen in a number of places, including the built-in scripts: ->  Example from Filter::AgentOrSNMP:
return $1->isAgent || $1->isSNMP;
I can see that it's referencing the capabilities of the node, but when I try to do this, the script fails, and NetXMS logs an event with description "error 15 in line 5: uknown object's attribute."  On this one, I'm trying to filter out some printers and a few other devices with SNMP that I don't want it to discover.  What I was going for on the line causing the error is return true for a device that has SNMP, and also is either running spanning-tree or is a router.  Maybe there's a better way to do this.  It's my first attempt.
As best I can figure, $1->isSNMP returns true if the discovered node $1 has that capability, but I couldn't find this -> operator in the documentation.
// Select any device running the NetXMS agent,
// or any node with SNMP that matches criteria.
if ($1->isAgent) {exit 1;}
if ($1->isSNMP && ($1->isSTP || $1->isRouter)) {exit 1;}
exit 0;
Thanks
			
			
			
				"." is indeed string concatanation.
It's shown and explained (along with others base NXSL concepts) here:
https://wiki.netxms.org/wiki/UM:NetXMS_Scripting_Language_(NXSL)
"->" is used to access members of an object
(attributes or functions)
You can find more details here:
https://wiki.netxms.org/wiki/NXSL_Class_Reference
"error 15 in line 5: uknown object's attribute." means that the object you are referencing doesn't have the member you specified.
			
			
			
				Okay, thanks for that info.  I can see from https://wiki.netxms.org/wiki/NXSL:Node (https://wiki.netxms.org/wiki/NXSL:Node) that isRouter is a node attribute, but isSTP is not...  I put that in based on what I saw in the below image.  I see most of those things are available attributes, but not isSTP.  I'll have to try another approach.
I can probably accomplish what I need to do for the moment based on the driver or sysDescription attributes, but for future reference, can I pull SNMP values from the newly discovered node like this and use it to filter them?  https://wiki.netxms.org/wiki/Script_Example:_Read_SNMP_Value_From_Node (https://wiki.netxms.org/wiki/Script_Example:_Read_SNMP_Value_From_Node)
			
			
			
				Hi,
we somehow missed isSTP flag. Just added it to node class, will be available in 2.2.3 release.
Best regards,
Victor