• Recent
    • Tags
    • Popular
    • Register
    • Login

    Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website

    DSMR Dutch Smart Reader P1 > BACnet IP

    How-To
    2
    5
    3.0k
    Loading More Posts
    • 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.
    • F
      Frank
      last edited by

      Hello,

      I would like to get a DSMR meter conected with the P1-poort to BACnet IP. The P1 is an serial connection wich dumps every 10 sec some data to the serial poort. I have a example of the data witch I collected with CoolTerm. Can I use the serial data source? I've tried that and the log file is different than de data with CoolTerm.

      0_1467729806654_CoolTerm.png

      0_1467729821930_mango log.txt

      Can you help me?

      1 Reply Last reply Reply Quote 0
      • phildunlapP
        phildunlap
        last edited by

        Hi Frank,

        It is not possible to use BACnet directly?

        What I see in your log is a message growing and not getting consumed, so I don't think your regex / point identifier setup is matching. Also, the log is in hexidecimal, so that probably explains a large portion of the difference in what the logs show.

        I think the serial data source should be able to parse data from anything that can be matched with a regular expression. In practice, this is almost anything except potentially infinitely nested data or complex structures, such as Json. But, grabbing fields from Json isn't so tricky.

        If you're going to be using the serial data source though, I think you will find developing easier if you use a configuration during testing that will catch everything and save it to a data point. I have described a configuration to do this in the first half of my first post of this thread: http://infiniteautomation.com/forum/topic/2274/serial-data-source-trouble-to-show-value-from-com-port/2

        1 Reply Last reply Reply Quote 0
        • F
          Frank
          last edited by

          Hello phildunlap,

          So far so good. What I'm getting now is:

          /ISk5\2MT382-10040-0:96.1.1(5A424556303035313435313331353133)1-0:1.8.1(50001.426kWh)1-0:1.8.2(47768.441kWh)1-0:2.8.1(00000.000kWh)1-0:2.8.2(00000.001kWh)0-0:96.14.0(0002)1-0:1.7.0(0001.90kW)1-0:2.7.0(0000.00kW)0-0:17.0.0(0999.00*kW)0-0:96.3.10(1)0-0:96.13.1()0-0:96.13.0()0-1:24.1.0(3)0-1:96.1.0(3234313537303033303631313335383133)0-1:24.3.0(160705190000)(00)(60)(1)(0-1:24.2.1)(m3)(07165.770)0-1:24.4.0(1)!

          I want to extract 3 value's
          1-0:1.8.1(value_1kWh)
          1-0:1.8.2(value_2
          kWh)
          (0-1:24.2.1)(m3)(value_3)

          How will the regex looks like?

          Regards,

          Frank

          1 Reply Last reply Reply Quote 0
          • phildunlapP
            phildunlap
            last edited by phildunlap

            It's important to know if these messages are coming in all at once, or in pieces. Judging from the log in your first message, they are coming in pieces and the reason it is such a large message is that no points had consumed the message when you created the point that read everything. I will operate under the assumption those values will arrive in separate messages for this first part of the response.

            You can have a configuration like the following:

            DATA SOURCE:
            Use terminator: No
            Message Regex: .*(1-0:1.8.1|1-0:1.8.2|\(0-1:24.2.1\)\(m3\)).*
            Point Identifier Group: 1
            Configuration in Hex: No
            
            DATA POINT 1-0:1.8.1
            Data Type: Numeric
            Point Identifier: 1-0:1.8.1
            Value Group: 1
            Value Regex .*1-0:1.8.1\((\d+[.]\d+)kWh\).*
            

            And perhaps you can figure out the other two data points.


            On the other hand, if they are all in one message, you can use the same configuration as you have getting that long value (the catch all), and you'll have three different points with empty identifiers. Then you'll use settings for the data point like:

            Value Regex: .*1-0:1.8.1\((\d+[.]\d+)kWh\)
            Value Index: 1
            
            1 Reply Last reply Reply Quote 0
            • phildunlapP
              phildunlap
              last edited by

              Also, looking at your data, you may have a terminator in your messages, \n, which you could use on the data source to separate the messages to match on.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post