[APP][Pro] Huawei FusionSolar Manager

Anyone else has a similar setup?

Inverter / Luna / smartguard

And connected them with not only Emma devices. Tried 300s polls and unit id’s 1 to 5 never got a connection for the Luna (non Emma) modbus option

Looks like you removed the combined force discharge until Soc% flow card. Intentional?

// Teddy

I wanted to check if they work “splitted” in two separate cards (see description on card).

Yea i found it after some digging. Going to test this tomorrow. I tested the seperate cards that do what the combined card does just seperatly. See the post erlier i wrote regarding that.

I found the source (wrong register)…
Will update test version soon.

finally… found it :slight_smile:

here’s to find out which modbus id you have to choose:

  • fusion portal
  • Plants
  • Device Management
  • click on your inverter where the battery is
  • configuration
  • see modbus id adress

(didn’t try until nr. 8) :smiley: managed to add the device. let’s see how the rest works out. thx Andi for your multiple inputs and hints!

I tested the new test version just now. Turns out im afraid it is not entierly fixed im afraid. The combined card doesnt set the 47247 registry and it looks as it dont set the 47100 but it could be a effect on the 47247 is 0 or me not beeing able to catch it beeing set. The 47101 is set correctly when card runs.

When it comes to the 3 single cards i can only test 2 of them atm. Sins the 47247 is 0 and the desc for the “set charge W” have a desc btw that say 47102 that is probably a misspell this worked in the old version so it got broken in this one. The 47101 set SOC% works np.

// Teddy

Hello,

I’m having a problem with the Smart Charger (EMMA).

The Smart Charger (EMMA) isn’t displaying any data.

I’ve added the widget to the dashboard under Apps / Charging Status. The Smart Charger is displayed with the message “(No Charger registered)”.

I’ve tested the IP address using both the EMMA’s IP address and the wallbox’s IP address. Using the wallbox’s IP address, it shows "Smart Charger not available.

When using the EMMA’s IP address with Modbus 0, the Smart Charger is detected, but it is displayed that the device is not registered.

Thanks for your help.

Hi Thomas - The Widget is not for the EMMA Smart Charger implementation - Sorry

You have to configure the OCCP driver to get this up and running.

Andi

Hi Teddy Could you please check if you’re able to find the wrong config?

Operating Mode

Flow ID Title Register What is written
luna2000_set_working_mode Set storage working mode 47086 Enum: 0=Adaptive, 1=Fixed Charge/Discharge, 2=Maximise Self-Consumption, 3=TOU (LG), 4=Fully Fed to Grid, 5=TOU (LUNA2000), 6=Third-party Scheduling
luna2000_set_remote_mode Set remote charge/discharge mode 47589 Enum: 0=Local Control, 1=Remote Max Self-Consumption, 2=Remote Fully Fed to Grid, 3=Remote TOU, 4=Remote AI Control, 5=Remote Third-party Scheduling
luna2000_set_excess_pv Set excess PV energy use (TOU) 47299 0=Feed to Grid, 1=Charge Battery

Force Charge / Force Discharge

Flow ID Title Registers What is written
luna2000_set_force_charge_discharge Set force charge/discharge 47100 0=Stop, 1=Force Charge, 2=Force Discharge
luna2000_start_force_charge Start charging until SoC % 472474710147100=1 Charge power (W), target SoC (%), then starts
luna2000_start_force_discharge Start discharging until SoC % 472494708247100=2 Discharge power (W), discharge cutoff SoC (%), then starts
luna2000_start_force_charge_duration Start charging for minutes 472474708347100=1 Charge power (W), duration (min), then starts
luna2000_start_force_discharge_duration Start discharging for minutes 472494708347100=2 Discharge power (W), duration (min), then starts
luna2000_set_force_charge_power Set force charge power 47102 Charge power W — value only, does not start
luna2000_set_force_discharge_power Set force discharge power 47249 Discharge power W — value only, does not start
luna2000_set_force_charge_soc Set force charge target % 47101 Target SoC % — value only, does not start
luna2000_start_force_discharge_soc (deprecated) Start discharging until SoC % same as luna2000_start_force_discharge Replaced by luna2000_start_force_discharge

Power Limits

Flow ID Title Register What is written
luna2000_set_max_charge_power Set max charge power 47075 (UINT32) Maximum battery charge power W
luna2000_set_max_discharge_power Set max discharge power 47077 (UINT32) Maximum battery discharge power W
luna2000_set_power_limit_grid Set grid-tied power limit 47079 (UINT32) Total power limit at the grid connection point W
luna2000_set_max_grid_charge_power Set max power charge from grid 47244 (UINT32) Hard upper limit for grid-charging power W
luna2000_set_grid_charge_power Set grid charge power 47242 Schedule-based grid charge power W

SoC Limits & Grid Charging

Flow ID Title Register What is written
luna2000_set_charge_cutoff_soc Set charge cutoff SoC 47081 Maximum SoC battery charges to in normal operation (90–100 %)
luna2000_set_discharge_cutoff_soc Set discharge cutoff SoC 47082 Minimum SoC battery discharges to (12–20 %)
luna2000_set_backup_reserve_soc Set backup power reserve SoC 47102 SoC reserved for backup/off-grid — battery will not discharge below this
luna2000_set_charge_from_grid Set charge from grid 47087 0=Disable, 1=Enable
luna2000_set_grid_charge_cutoff_soc Set grid charge cutoff SoC 47088 SoC % at which grid charging stops (20–100 %)

Register reference

Register Function
47075 Max charge power
47077 Max discharge power
47079 Grid connection power limit
47081 Charge cutoff SoC (90–100 %)
47082 Discharge cutoff SoC (12–20 %)
47083 Force charge/discharge duration (minutes)
47086 Storage working mode
47087 Charge from grid on/off
47088 Grid charge cutoff SoC
47100 Force charge/discharge command
47101 Force charge target SoC
47102 Backup reserve SoC
47242 Grid charge power (schedule-based)
47244 Max grid charge power (hard cap)
47247 Force charge power
47249 Force discharge power
47299 Excess PV handling in TOU mode
47589 Remote control mode

Hi Andi,

Thanks for the info.

Does the data display also not work on the Smart Charger [EMMA]? Because nothing is displayed in the data settings either.

Regards, Thomas

Add register objects

Pulled the Huawei modbus register documentation from Huawei and according to that your correct on your list. But for some reason it seam that 47249 isnt used at all in my case when i run this thru the FusionSolar app because when i do that it sets the 47247 and not 47249 when force discharging and as we know in my case it doesnt set and start thru the flow cards. Would it be possible to add the yellow marked register objects to the app settings registar read live page? sins they are missing in my case.

I would like to set varius force charge/discharge settings wish FusionSolar app and see what the registar values end up in real life. Sins documentation and my system dont seam to agree with how it is supposed to work it seam.

Hi Thomas. Looks like you’ve installed the device with the wrong Modbus ID.

They are all available in next version and additional functionality to update a single register by clicking on it:

Hey @Andi

I have spent alot of time testing diff things to verify the settings. It is correct the way you have it above in the list. Exept 1 that i found was wrong

luna2000_set_force_charge_power Set force charge power 47102

Your trying to change the backup soc with 47102 it should be using 47247

However im going to switch my testing to what cards in your list actualy change the settings they are supposed to in the system and what doesnt stick so to say.

Atm with the current version i know that the “luna2000_start_force_discharge” fail on setting 2 of the 3 registar values.

// Teddy

Woops forgot one thing almost the most important one for me ;

luna2000_start_force_discharge Start discharging until SoC % 472494708247100=2

Is supposed to be

472494710147100=2

// Teddy

Hi Teddy - shoudl be fine now - You’ll find the Configuration as well here:

com.huawei.fusionsolar/drivers/luna2000_modbus/device.js at 0e284d7ec3dd3591876962483e372a335d29b715 · andiwirz/com.huawei.fusionsolar

and com.huawei.fusionsolar/drivers/luna2000_modbus/device.js at 0e284d7ec3dd3591876962483e372a335d29b715 · andiwirz/com.huawei.fusionsolar

YAY combined discharge card is working again :slight_smile:

// Teddy

@Andi Something happened this evening. Im running 1.2.17 sins it was released on test. It was supposed to do that 50% discharge. It did start the discharge however it decided for some reason to not change the setting from the morning when it discharged to 2% so it basecly decided to discharge it again to that. I have sent you a diag Andi if you want to check for a reason. No errors from the card exept the followup timeline message i have telling me the card was triggered sucessfuly. Exept it didnt trigger it entierly correct. check 20:00 in the log and you should see it.

Hi Teddy

Your force-discharge flow writes three registers: discharge power, target SoC, and then the “enable force discharge” mode. They were written independently, and the mode-enable was always sent last, even if the target-SoC write had failed. Your diag shows exactly that:

[err] Force discharge: SOC write failed: Req timed out

So the new 50% target never made it into the battery — but force-discharge got enabled anyway. The battery then discharged toward whatever target was still sitting in the register: the 2% from your morning run. That’s why it “decided” to drain again. And because the flow card is fire-and-forget (it has to return fast so it doesn’t hit Homey’s ~10s flow timeout while the Modbus writes retry), the card still reported success — which is why your follow-up timeline message said it triggered fine. It technically did; it just ran to the wrong number.

Fix (in 1.2.18): the target SoC is now a hard precondition. If it can’t be written, force mode is not enabled at all — the battery is left untouched instead of running to a stale target — and you get a timeline notification telling you the run was skipped. Same guard added to force-charge. Pushing it to the test channel; you’ll get it automatically since you’re already on test.

Cheers, and thanks for the report

Andi