Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

  1. Home
  2. Support
  3. Summarize other node properties in addition to DCIs

Summarize other node properties in addition to DCIs

Scheduled Pinned Locked Moved Support
5 Posts 4 Posters 16.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • BroughB
    BroughB
    Brough
    wrote on last edited by
    #1

    We make extensive use of Summary Tables but only for DCI values.  Is there a way to get similar summaries for node properties like location?  Ideally we'd like to configure a Summary Table that includes both DCI values and other node properties as different columns in the same report, but any path to getting a summary of manually entered Latitude and Longitude values would be useful.

    1 Reply Last reply
    0
    • M
      M
      MAboudi
      wrote on last edited by
      #2

      Hi;
      this is my suggestion;
      on the node use an internal  DCI of type Dummy that return a string
      on the tranformation use :

      return $node->country;
      

      (for example to get the country property)
      you can acces all the properties from the $node class and its parent "NetObjclass".
      for the "NetObjclass":
      https://wiki.netxms.org/wiki/NXSL:NetObj
      for the Node class:
      https://wiki.netxms.org/wiki/NXSL:Node

      best regards

      1 Reply Last reply
      0
      • meshnetM
        meshnetM
        meshnet
        wrote on last edited by
        #3

        on the node use an internal  DCI of type Dummy that return a string

        yes, that works for some values and for some cases. But for summary tables it, it may be asking too much for a per-object and/or per-dummy field. You can see here in the screenshot the dummy values column holds values which are all over the place.

        Process

        • automatically/manually collect GPS coords (LAT/LON) for a given device
        • take above GPS coords, install via: right-click object -> properties -> Location -> (Latitude / Longitude)
        • Apply, and perform re-poll on device (or wait a bit)

        DCI Transformation

        • create 2 DCIs for both Latitude and Longitude and enter Transformation script
        • no delta calculation

        Latitude

        nodeLoc = $node->geolocation;
        return nodeLoc->latitude;
        

        Longitude

        nodeLoc = $node->geolocation;
        return nodeLoc->longitude;
        

        This works great when collecting all nodes, plus their last values -- This works correctly saves time because of code that filters for Jython code, where node.isWireless() then simply continue to aggregate a list of nodes and last-values. simple.

        The issue is summary tables.. It would be great to have this work there, vs. other methods.
         


        dci_dummy_and_snmp.png

        summary_table_mixed_bad_dummy_columns.png

        1 Reply Last reply
        0
        • V
          V
          Victor Kirhenshtein
          wrote on last edited by
          #4

          This is because when summary table is built, DCI name is used for matching (and I suppose you have other dummy DCIs). You can use script DCI with unique name instead (it can be one library script that accepts parameters or multiple scripts).

          Best regards,
          Victor

          1 Reply Last reply
          0
          • meshnetM
            meshnetM
            meshnet
            wrote on last edited by
            #5

            I wanted to follow up on how we fixed it.

            The radio devices have SNMP for virtual AP interfaces. We don't really care about these OIDs, plus they are all unique across formfactors/firmwares. So the trick is to use a working SNMP OID endpoint, poll it, then use a transformation script to replace the value.

            Example for geoLatitude_DMS:

            nodeLoc = $node->geolocation;
            return nodeLoc->latitudeText;
            

            Screenshot from 2019-12-17 10-27-02.png

            Screenshot from 2019-12-17 10-30-28.png

            1 Reply Last reply
            0

            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

            With your input, this post could be even better 💗

            Register Login
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            • Login

            • Don't have an account? Register

            • Login or register to search.
            Powered by NodeBB Contributors
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups