Announcement

Collapse
No announcement yet.

SMA Inverter integration

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    SMA Inverter integration

    Hi all.. I'm just evaluating Homeseer with modbus to automate some stuff. I'm firstly getting to connect to my SMA Inverter.

    Is this possible and I wonder if anyone can help me get connected and read something simple like the battery state of charge?

    I have the SMA modbus TCP/IP visible on my wifi network and can successfully connect but what next? Is there any documented setup or anything for connecting to SMA SI6 inverters?

    Thanks

    #2
    SMA Inverter

    Send me a link (pdf) of your sma.
    Normally, if the device is modbus, you have some addresses to harvest to obtain values.
    with HS modbus plugin, you need to select the right device address (TCP or RTU), and select the address of the register. Select the proper return type (int16, float32, etc), select signed value uncheck read only device and check device enabled.
    For the beginning select an easy register and play only with one because modbus is sometimes tricky with addresses.
    If you have an address of 21005, it's a good idea to try 21004 and 21006 (my experience).
    Another clue: because I have personally some problems with my modbus devices and HS (polling problems), after one parameter change, stop HS server and relaunch it.
    If you don't, even your settings are ok, because HS doesn't poll, you'll have no results and you'll be mistaken.
    Clue number 1247: to be sure, use an independent polling software to see if your modbus unit react to a request. I use modbus poll to see if everything is ok.
    And I regularly swap from HS to modbus poll to see if there is a problem with my devices.

    Honestly, I have some problems with HS and the modbus plugin: the first polls are ok (reaching a TCP modbus master), but the poll stops for no reason. But modbus poll still reaches my devices...And if I relaunch HS server, the poll is running again and harvest addresses correctly... for few polls. No obvious explanation for now.

    Regards,
    Mike

    Comment


      #3
      Modbus plugin config

      Thanks Mike. Good tricks.

      OK I have the list of registers from here: https://www.sma.de/fileadmin/content...s-TI-en-15.pdf

      I ran Modbus Master Simulator and I think I got the register list as expected using IP and port.

      I've chosen 40380 and 40381 as good and simple examples. Particularly because they change frequently. So I should be able to verify easily. Looking at the attached PDF page 29-30, these are
      • Int16
      • Input Register
      • Not Signed

      That sound right?

      I have no idea what to enter for the Configuration tab. Also where else I'm stuck is where to go to see the actual value returned from this?? Can't find the doco to describe the next step. I'm sure it's on the Homeseer site somewhere but I can't find it.

      Comment


        #4
        Originally posted by ppz1961 View Post

        Honestly, I have some problems with HS and the modbus plugin: the first polls are ok (reaching a TCP modbus master), but the poll stops for no reason. But modbus poll still reaches my devices...And if I relaunch HS server, the poll is running again and harvest addresses correctly... for few polls. No obvious explanation for now.

        If the poll stops which information is in the log?

        I had this issue in the past and it turned out that the following parameters were not set correctly:
        • Read/Write Timeout (ms):
        • Delay between each address poll (ms):



        ---
        John

        Comment


          #5
          SMA Inverter settings

          I have no idea what to enter for the Configuration tab. Also where else I'm stuck is where to go to see the actual value returned from this?? Can't find the doco to describe the next step. I'm sure it's on the Homeseer site somewhere but I can't find it.
          Run HS, go to manage plugins tab, update listing and choose modbus in Lighting & Primary Technology TAB, activate the plugin (manage tab).

          install your main modbus unit and put all needed parameters (IP address if TCP unit), port (502), poll frequency (5 min by default), enable the gateway, read/write retries (I put 3), timeout (I put 500), delay (put 100).

          when your modbus unit is ready, just manage modbus units again and choose : add device.

          goto modbus and define precisely the register you want to poll/display:
          choose the gateway, register type (holding register/inpur register/etc),
          put the slave ID of your modbus unit, the modbus address of the register you want to reach, the type (int16, int32/float/etc), check/uncheck signed depending of your modbus doc, uncheck read only if needed and check device enabled.

          Normally, when all is done, you have on your main page (home) a device list with your modbus unit AND your modbus register AND the value after the first poll. When done, exit and relaunch HS to poll all the registers.

          begin with one register. if no results, change the address by adding/substracting 1 to the register address and check again.

          Note on a standard paper (...) your settings if you want to change some in case of problems.

          Mike
          Attached Files

          Comment


            #6
            Originally posted by John245 View Post
            If the poll stops which information is in the log?

            I had this issue in the past and it turned out that the following parameters were not set correctly:
            • Read/Write Timeout (ms):
            • Delay between each address poll (ms):



            ---
            John
            Hi John,

            R/W Timeout is set to 500ms
            Delay between each address poll is set to 100ms

            I've extended to 1000ms and 1000ms, no changes. the logs displays always the same info:

            Jan-05 20:50:18 Modbus Error I'm not going to poll any remaining registers on this gateway as it seems there is a communication issue.

            Jan-05 20:50:18 Modbus Error Read error for TBox - ADA OW1 - 21024 Panel

            Jan-05 20:50:18 Modbus Error Error in Read: The operation is not allowed on non-connected sockets.


            But strangely, my unit is working flawlessly (Tbox harvesting my ADA) and modbus poll can harvest the same ADA without any problem, even when HS stops the poll.
            ADA is a RTU unit connected to my TBox TCP Master. If I ask HS to poll internal addresses of my TBox, the error is the same. I have also a TCP Barionet unit (connected to TBox through lan because both are TCP). TBox can harvest correctly the Barionet, but HS can't

            pics:
            - my entire geothermal with embedded modbus units managed by the TBox system, running OK
            - Barionet 1wire temperatures harvested and displayed by the TBox, running OK
            Attached Files

            Comment


              #7
              Originally posted by ppz1961 View Post
              Run HS, go to manage plugins tab, update listing and choose modbus in Lighting & Primary Technology TAB, activate the plugin (manage tab).

              install your main modbus unit and put all needed parameters (IP address if TCP unit), port (502), poll frequency (5 min by default), enable the gateway, read/write retries (I put 3), timeout (I put 500), delay (put 100).

              when your modbus unit is ready, just manage modbus units again and choose : add device.

              goto modbus and define precisely the register you want to poll/display:
              choose the gateway, register type (holding register/inpur register/etc),
              put the slave ID of your modbus unit, the modbus address of the register you want to reach, the type (int16, int32/float/etc), check/uncheck signed depending of your modbus doc, uncheck read only if needed and check device enabled.

              Normally, when all is done, you have on your main page (home) a device list with your modbus unit AND your modbus register AND the value after the first poll. When done, exit and relaunch HS to poll all the registers.

              begin with one register. if no results, change the address by adding/substracting 1 to the register address and check again.

              Note on a standard paper (...) your settings if you want to change some in case of problems.

              Mike
              Thanks Mike. I followed your steps but still not getting any values. I set up the modbus plugin with IP and port and tested "Passed connectivity to gateway". Enabled it. Set up the registers but can't see any values. So is it supposed to show up in the "Control" field of the table in the Home screen?

              I restarted the app, but noticed a bunch of errors in the console "unable to read from transport connection. A connection attempt failed because the connected party did not properly respond after a period of time.

              When I click on the "poll decides for status", I get "status is: (result not set by plugin).

              Any ideas?

              Comment

              Working...
              X