Jump to content

Must Power PH1800 Inverter Oddities/Questions


aquarat
 Share

Recommended Posts

Hi all

I'm new, so I apologise in advance if this post is wrong/misplaced/etc.

I recently bought a CB Solar Synapse 4.0+ Inverter. It looked like an Axpert unit, but as I've since discovered it is actually made by a company called MUST POWER in China. My entire house is automated (self built system) and long story short I reverse engineered their Windows app to communicate with the inverter using a Raspberry Pi Zero - so I now have all the inverter status data in my Home Assistant system. I've put a JSON dump of the output I'm getting from the inverter at the bottom of this post if anyone is interested.

About 9 years ago I installed 1.6kw-worth of solar panels on my roof - I've now connected them to the new MP unit as it can do solar very efficiently. The theoretical best-power voltage of the resulting panel configuration currently is around 106 V. The inverter is rated to a maximum of 145 V.

Currently, the panels generate around 700w of power on a sunny day, so I probably need to recheck the old connectors and see if they need replacement. The cable from the panels to the inverter is 40m long, which doesn't help.

I have 4x 12V 102AH batteries in series attached to the inverter.

Questions:

1. I've noticed that the inverter loves spending its time charging the batteries. It'll use 0.01kw of solar power to charge the batteries and dumps the rest of the power. If I cut the utility power temporarily, it then uses the solar power to run both the house loads and charge the batteries. This sounds like a firmware bug? It seems to do this regardless of the USER DEFINED battery voltage configuration (initial voltage 59.2v, float 54.4v). Anybody have any experience with this? Can I upgrade the firmware?

2. The inverter has a grid-tie function where it can feed power back into the grid. It is enabled by option 9 I think, but on my unit that option is missing. I doubt the unit lacks the hardware to do this, I suspect it's a firmware restriction or setting somewhere...

If anyone has any general input/advice it would be great.

Thanks :)

{
  "_accumulatedBuyPower": "210.3",
  "_accumulatedChargerPower": "21.6",
  "_accumulatedDischargerPower": "20.2",
  "_accumulatedGridChargerPower": "21.6",
  "_accumulatedLoadPower": "204.6",
  "_accumulatedPower": "12.1",
  "_accumulatedPvSellPower": "0",
  "_accumulatedSelfUsePower": "5.9",
  "_accumulatedSellPower": "0",
  "_accumulatedTime": "01:14:06",
  "_acRadiatorTemperature": "52",
  "_acVoltageGrade": "230",
  "_battCurrent": "25",
  "_batteryRelay": "Connect",
  "_batteryVoltage": "48.9",
  "_battPower": "1262",
  "_battVolGrade": "48",
  "_busVoltage": "385.4",
  "_chargerCurrent": "5.1",
  "_chargerPower": "251",
  "_chargerWorkstate": "Work Mode",
  "_chargingState": "Absorb charge",
  "_combineType": "0000",
  "_controlCurrent": "7.7",
  "_dcRadiatorTemperature": "39",
  "_dcRelayState": "Connect",
  "_chargerId": 4,
  "_earthRelayState": "Disconnect",
  "_errorMessage": "",
  "_externalTemperature": "-54",
  "_gridCurrent": "0",
  "_gridFrequency": "0",
  "_gridRelayState": "Disconnect",
  "_gridVoltage": "0",
  "_hardwareVersion": "1.02.02",
  "_inverterBatteryVoltage": "48.6",
  "_inverterCurrent": "7.7",
  "_inverterErrorMessage": "Inverter grid under frequency\n",
  "_inverterFrequency": "50",
  "_inverterHardwareVersion": "1.01.01",
  "_inverterMachineType": "PH1800",
  "_inverterMaxNumber": "0000",
  "_inverterNumber": "0000",
  "_inverterRelayState": "Connect",
  "_inverterSerialNumber": "FFFFFFFF",
  "_inverterSoftwareVersion": "2.15.19",
  "_inverterVoltage": "229.6",
  "_inverterWarningMessage": "",
  "_loadCurrent": "7",
  "_loadPercent": "33",
  "_loadRelayState": "Connect",
  "_machineType": "0708",
  "_mpptState": "MPPT",
  "_nLineRelayState": "Disconnect",
  "_pGrid": "0",
  "_pInverter": "1377",
  "_pLoad": "1341",
  "_pvRelay": "Connect",
  "_pvVoltage": "96.9",
  "_qgrid": "0",
  "_qinverter": "1140",
  "_qload": "938",
  "_radiatorTemperature": "48",
  "_ratedCurrent": "80",
  "_ratedPower": "5000",
  "_serialNumber": "FFFFFFFF",
  "_sGrid": "0",
  "_sInverter": "1787",
  "_sload": "1638",
  "_softwareVersion": "1.16.23",
  "_transformerTemperature": "51",
  "_warningMessage": "",
  "_workState": "OffGrid",
  "_inverterId": 4,
  "Id": 0,
  "ChargerId": 4,
  "InverterId": 4,
  "RecordTime": "0001-01-01T00:00:00",
  "MachineType": "0708",
  "SerialNumber": "FFFFFFFF",
  "HardwareVersion": "1.02.02",
  "SoftwareVersion": "1.16.23",
  "PvVoltageC": "4000",
  "BatteryVoltageC": "4000",
  "ChargerCurrentC": "4000",
  "ChargerWorkEnable": "1",
  "AbsorbVoltage": "50",
  "FloatVoltage": "54.8",
  "AbsorptionVoltage": "58.4",
  "BatteryLowVoltage": "34",
  "BatteryHighVoltage": "60",
  "MaxChargerCurrent": "80",
  "AbsorbChargerCurrent": "10",
  "BatteryType": "1",
  "BatteryAh": "200",
  "RemoveTheAccumulatedData": "0",
  "ChargerWorkstate": "Work Mode",
  "MpptState": "MPPT",
  "ChargingState": "Absorb charge",
  "PvVoltage": "96.9",
  "BatteryVoltage": "48.9",
  "ChargerCurrent": "5.1",
  "ChargerPower": "251",
  "RadiatorTemperature": "48",
  "ExternalTemperature": "-54",
  "BatteryRelay": "Connect",
  "PvRelay": "Connect",
  "ErrorMessage": "",
  "WarningMessage": "",
  "BattVolGrade": "48",
  "RatedCurrent": "80",
  "AccumulatedPower": "12.1",
  "AccumulatedTime": "01:14:06",
  "InverterMachineType": "PH1800",
  "InverterSerialNumber": "FFFFFFFF",
  "InverterHardwareVersion": "1.01.01",
  "InverterSoftwareVersion": "2.15.19",
  "InverterBatteryVoltageC": "3FEB",
  "InverterVoltageC": "3F95",
  "GridVoltageC": "FFFF",
  "BusVoltageC": "FFFF",
  "ControlCurrentC": "FFFF",
  "InverterCurrentC": "FFFF",
  "GridCurrentC": "FFFF",
  "LoadCurrentC": "FFFF",
  "InverterOffgridWorkEnable": "1",
  "InverterOutputVoltageSet": "230",
  "InverterOutputFrequencySet": "5000",
  "InverterSearchModeEnable": "0",
  "InverterDischargerToGridEnable": "0",
  "EnergyUseMode": "2",
  "GridProtectStandard": "2",
  "SolarUseAim": "1",
  "InverterMaxDischargerCurrent": "13",
  "NormalVoltagePoint": "54",
  "StartSellVoltagePoint": "57.8",
  "GridMaxChargerCurrentSet": "15",
  "InverterBatteryLowVoltage": "45",
  "InverterBatteryHighVoltage": "60",
  "MaxCombineChargerCurrent": "15",
  "SystemSetting": "0100000000000000",
  "ChargerSourcePriority": "0",
  "WorkState": "OffGrid",
  "AcVoltageGrade": "230",
  "RatedPower": "5000",
  "InverterBatteryVoltage": "48.6",
  "InverterVoltage": "229.6",
  "GridVoltage": "0",
  "BusVoltage": "385.4",
  "ControlCurrent": "7.7",
  "InverterCurrent": "7.7",
  "GridCurrent": "0",
  "LoadCurrent": "7",
  "PInverter": "1377",
  "PGrid": "0",
  "PLoad": "1341",
  "LoadPercent": "33",
  "SInverter": "1787",
  "SGrid": "0",
  "Sload": "1638",
  "Qinverter": "1140",
  "Qgrid": "0",
  "Qload": "938",
  "InverterFrequency": "50",
  "GridFrequency": "0",
  "InverterMaxNumber": "0000",
  "CombineType": "0000",
  "InverterNumber": "0000",
  "AcRadiatorTemperature": "52",
  "TransformerTemperature": "51",
  "DcRadiatorTemperature": "39",
  "InverterRelayState": "Connect",
  "GridRelayState": "Disconnect",
  "LoadRelayState": "Connect",
  "N_LineRelayState": "Disconnect",
  "DCRelayState": "Connect",
  "EarthRelayState": "Disconnect",
  "AccumulatedChargerPower": "21.6",
  "AccumulatedDischargerPower": "20.2",
  "AccumulatedBuyPower": "210.3",
  "AccumulatedSellPower": "0",
  "AccumulatedLoadPower": "204.6",
  "AccumulatedSelf_usePower": "5.9",
  "AccumulatedPV_sellPower": "0",
  "AccumulatedGrid_chargerPower": "21.6",
  "InverterErrorMessage": "Inverter grid under frequency\n",
  "InverterWarningMessage": "",
  "BattPower": "1262",
  "BattCurrent": "25"
}

 

Screenshot from 2020-02-14 11-51-05.png

Screenshot from 2020-02-14 11-53-20.png

Edited by aquarat
Added additional image
Link to comment
Share on other sites

What my guess is the charging current that is preventing more than 700w. Maybe the battery is full and not taking more charge really.

What windows software are you using with the inverter, and how do you connect to it? USB or RS-485

My inverter is only RS-485, but is looking for software that is compatible with the pi. As for now I just run a pzem-004 that I integrate to a nodemcu running tasmota and send that to Home assistant

Link to comment
Share on other sites

Hey Luminous

Quote

What my guess is the charging current that is preventing more than 700w. Maybe the battery is full and not taking more charge really.

So I should have mentioned that the inverter's LCD display indicates two main states when it comes to the battery: power goes from the PV array either solely into the battery or both into the battery and the house power supply (downstream from the inverter, 230VAC). Sometimes it decides to both charge the battery and power the house, but sometimes it only charges the battery - this is unaffected by it having an oversupply of energy and the battery being flat or full.

20200212_163629.jpg.c077313059d36c960f455326cdf5b109.jpg20200214_144407.jpg.d82fdd2e3b9746053bdf17f0132e915c.jpg

^ On the left is how the LCD indicates power being delivered to both the battery and house. On the right it's just going to the battery.

 

Quote

What windows software are you using with the inverter, and how do you connect to it? USB or RS-485

The Inverter came with a dodgy mini-cd with a Panda on it. On it was an application called PowerMonitor.exe. My unit has both RS485 and a USB port. Underneath the USB port is actually an RS485 adapter, so they go to the same place ultimately. I currently query the device via USB.

Quote

My inverter is only RS-485, but is looking for software that is compatible with the pi. As for now I just run a pzem-004 that I integrate to a nodemcu running tasmota and send that to Home assistant

Is your unit also a Must Power PH1800-like unit? 

PZEM-004 looks like a current transformer+ADC? I'm additionally using a Shelly EM, which is CT based (it reads from two CTs). The Shelly is cheap, WiFi enabled, does MQTT, is small, measures voltage, reactive power, power and can do all of the power readings in reverse (say, if you're generating power). It's pretty amazing. Below is how I've represented it in Home Assistant.

Screenshot from 2020-02-14 14-34-58.png

Screenshot from 2020-02-14 14-36-08.png

Edited by aquarat
Fixed formatting
Link to comment
Share on other sites

No not a must, a STAR inverter. Also only have a windows exe file. Has a lot of info from the inverter, if I can only get the data out in mqtt.

 

The shelly EM is nice, but was a bit expensive to get. The pzem-004t with a nodemcu and CT clamp  is around R150/channel. Ordered a few of them and then send the data through mqtt to HA. This is how it is over the last 9 months.

image.thumb.png.ae0cb1e6d8cf6e3ad98a16d21e84c552.png

Link to comment
Share on other sites

A STAR inverter? interesting, do you have a link so I can get a better look at it?

Ah yes, that's Grafana, although it looks like you're missing data? I run Grafana separately and can graph any metric Home Assistant logs - so I dump everything into a database via HA and then pick through the data when I need to :).

My inverter behaves very weirdly - I can't get it to stop charging the battery haha. It'll use solar to charge the battery at 10w and then dumps the rest of the power. The only way to get it to use the full solar output is to kill the Eskom supply. Sometimes it magically sends solar to both the battery and the house supply with Eskom attached, but I have no idea what logic drives that state.

Link to comment
Share on other sites

  • 4 months later...

@aquarat
on subject of Must Inverter protocol that you reversed, is there any reference code or documentation you would be keen share ?
there seems to be few of those units on market and folks would like to integrate but on first look those inverters dont seem to share generic hid / serial protocol as used buy Axpert firmware  

 

Link to comment
Share on other sites

  • 2 months later...

@aquarat Did you ever get a resolution for the question 1 you posted?

I have the Synapse 4.0+ as well and have noticed the same thing..with setting 1 on SUB or SBU, the inverter does not use all the available solar power that is available and keeps on using utility power unnecessarily, but when I switch of utility power the PV usage goes up to the maximum and comfortably handles the load and the charging.

Which software did you use to get the above solar power generation graph?

Link to comment
Share on other sites

2 hours ago, ccronje said:

@aquarat Did you ever get a resolution for the question 1 you posted?

I have the Synapse 4.0+ as well and have noticed the same thing..with setting 1 on SUB or SBU, the inverter does not use all the available solar power that is available and keeps on using utility power unnecessarily, but when I switch of utility power the PV usage goes up to the maximum and comfortably handles the load and the charging.

Which software did you use to get the above solar power generation graph?

I haven't been to this site in a while haha. My Must inverter burnt out/failed after a while and I replaced it with a Voltronic Axpert King unit. I think the Must unit failed due to me turning on a dodgy setting (setting 09 I think? It's "auto restart on overload" I think). I think the failure is related to the TVS diodes. I've still got the unit, need to get it repaired.

Both the Must unit I had and the Axpert that replaced it have some oddities to them. The King offers a lot more control via it's comms system than the Must unit, so I have a NodeRed automation flow that manages the state of the unit based on weather data. It's pretty cool. The King protocol is fairly well documented.

It is possible to forcefully manage the Must units in a similar way by having a computer-controlled upstream contactor/big relay, so that one can shut off power to the inverter from the utility. I have this for my King unit, even though it doesn't really need it.

My house runs on Home Assistant via a message broker (MQTT). I had and have a bridge between the serial interface on the inverters and my home MQTT server via a tiny Raspberry Pi  Zero SBC, which allows me to log telemetry and also control the inverter. All the software is DIY. The graph above is from Home Assistant based on data collected through the bridge I created (the data itself is in a relational database). Someone else has since extended this software to include support for the Axpert Voltronic King units.

The Must units have their own serial protocol and the protocol is not documented, however, the software the inverter ships with is very easily decompiled. This is what I did, I decompiled the shipped monitoring app, stuck some boilerplate code on it so it could be run from a command line and would dump all available telemetry to the output terminal in JSON format. I take the output and ship it off to the message broker where Home Assistant picks it up, parses it and stores it in the database.

Because the code is the product of decompilation, putting it on something like Github would probably constitute a copyright infringement - that's ironic though given that the product it supports is itself a copyright infringement. I could probably upload it regardless and if they get unhappy they'll just ask it to be removed.

Edited by aquarat
Link to comment
Share on other sites

  • 4 months later...

I eventually did publish the Must Inverter bridge code after several people asked for it.

My Voltronic installation and the integration I created for it has been running flawlessly for some time now. About to take the plunge and upgrade to LiFePo batteries 😬. The lead acid batteries I installed seem to only have around 1.5kwh capacity of their advertised 5kwh after a year of use.

Best of luck with your clone :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...