BentleyJ
Solar Wizard
First, a quick shout out and thank you to all who posted so much excellent info about setting up Modbus & Node-Red with Schneider InsightHome/Gateway/ComBox. Especially n2aws, 400bird, GXMnow, you guys really helped make it possible. Otherwise I was totally lost.
So far I've just set up a couple of simple flows to read uint16 registers. Still haven't figured out how to get the Buffer-Parser Node to perform BOTH math functions for the Temp value conversion which requires Scaling and Offset. Converting to F would be a 3rd operation. Is there another way I should be using? Maybe will move onto trying to understand how to unpack uint32 array values at a later time after figuring out the above.
Was also able to successfully send a 2 value to Register 357 to initiate a Float Charge. Have to admit there was a BIG fear factor the first time I pushed that inject button, but it worked as expected.
THE REAL CONTENT starts here and is probably not relevant to most, just some observations. For context I had both a ComBox and InsightHome running on the same XW+ 6848 inverter.
1) Was pleasantly surprised there was no conflict with either device, both functioning as expected.
2) ComBox uses Port 502 and InsightHome uses Port 503 for those particular sets of operating data and user settings. InsightHome also uses Port 502 but those items seem to be associated with the expanded grid functionality that was added for use with the XW Pro.
3) The power flow diagram from the ComBox indicates AC Coupled production originates in the Inverter and flows to the grid (and charger if on) when in reality the power is flowing from the load. InsightHome has fixed this and does show AC Coupled excess production originating from the Load, flowing into the inverter then out to the grid and battery charger. Funny thing is the Value indicated coming in from the load is competely bogus and inaccurate perhaps due to the older XW+ lacking some of the newer hardware in the Pro. However, the sum of grid flow from the inverter and battery charging does match up to what Emporia reports as the Sell Back amount on the mains.
4) Based on the Schnider/Node-Red addressing scheme and the Modbus map documentation, one would believe we are reading or writing registers in the Inverter at address 10. This appears not be the case exactly. Yesterday I had initiated a Float Charge via the InsightHome user menu. When using Node-Red to read register 357 via InsightHome, a 2 was returned as expected. However, when the read request was sent via the ComBox a 0 was returned while the inverter was in Float Charge mode. Was odd since the expectation was we are reading the value in the Inverter, should be a 2. So apparently the 2 gets reset to 0 when the inverter terminates the charge cylce at 8:55pm per the Charge Block Timer. For reference, 0 is not one of the Force Charge settings. Bulk=1, Float=2, No Float=3.
So today I initiated the Float charge with a Node-Red command via the ComBox, not the InsightHome. The Float Charge started and then when reading the register via the ComBox a 2 was returned as expected. My conclusion is that all the Modbus functions actually happen inside the ComBox or Gatway or InsightHome and get converted to Xanbus then are transferred to the respective device such as the Inverter, Charge Controller, AGS. In practice this is probably not relevant but is interesting to note Modbus is not really getting to the other devices.
So far I've just set up a couple of simple flows to read uint16 registers. Still haven't figured out how to get the Buffer-Parser Node to perform BOTH math functions for the Temp value conversion which requires Scaling and Offset. Converting to F would be a 3rd operation. Is there another way I should be using? Maybe will move onto trying to understand how to unpack uint32 array values at a later time after figuring out the above.
Was also able to successfully send a 2 value to Register 357 to initiate a Float Charge. Have to admit there was a BIG fear factor the first time I pushed that inject button, but it worked as expected.
THE REAL CONTENT starts here and is probably not relevant to most, just some observations. For context I had both a ComBox and InsightHome running on the same XW+ 6848 inverter.
1) Was pleasantly surprised there was no conflict with either device, both functioning as expected.
2) ComBox uses Port 502 and InsightHome uses Port 503 for those particular sets of operating data and user settings. InsightHome also uses Port 502 but those items seem to be associated with the expanded grid functionality that was added for use with the XW Pro.
3) The power flow diagram from the ComBox indicates AC Coupled production originates in the Inverter and flows to the grid (and charger if on) when in reality the power is flowing from the load. InsightHome has fixed this and does show AC Coupled excess production originating from the Load, flowing into the inverter then out to the grid and battery charger. Funny thing is the Value indicated coming in from the load is competely bogus and inaccurate perhaps due to the older XW+ lacking some of the newer hardware in the Pro. However, the sum of grid flow from the inverter and battery charging does match up to what Emporia reports as the Sell Back amount on the mains.
4) Based on the Schnider/Node-Red addressing scheme and the Modbus map documentation, one would believe we are reading or writing registers in the Inverter at address 10. This appears not be the case exactly. Yesterday I had initiated a Float Charge via the InsightHome user menu. When using Node-Red to read register 357 via InsightHome, a 2 was returned as expected. However, when the read request was sent via the ComBox a 0 was returned while the inverter was in Float Charge mode. Was odd since the expectation was we are reading the value in the Inverter, should be a 2. So apparently the 2 gets reset to 0 when the inverter terminates the charge cylce at 8:55pm per the Charge Block Timer. For reference, 0 is not one of the Force Charge settings. Bulk=1, Float=2, No Float=3.
So today I initiated the Float charge with a Node-Red command via the ComBox, not the InsightHome. The Float Charge started and then when reading the register via the ComBox a 2 was returned as expected. My conclusion is that all the Modbus functions actually happen inside the ComBox or Gatway or InsightHome and get converted to Xanbus then are transferred to the respective device such as the Inverter, Charge Controller, AGS. In practice this is probably not relevant but is interesting to note Modbus is not really getting to the other devices.