WillCodeForCats / solaredge-modbus-multi

Modbus/TCP local polling to one or more SolarEdge inverters. For single inverters, multiple inverters, meters, and batteries.
Apache License 2.0
182 stars 15 forks source link

Support for Battery Backup Reserve Setting #527

Closed mtbsteve closed 8 months ago

mtbsteve commented 8 months ago

Describe the feature Feature request to support the backup reserve setting of the SE Battery in conjunction with the SE Backup Interface. The modbus register address is 97353 and returns the set backup reserve in percent. This register is also writable, so you can preset the backup reserve.

Screenshots If applicable, add screenshots or edits of the proposed feature that help describe it.

Home Assistant (please complete the following information):

Additional context Add any other context about the request here.

WillCodeForCats commented 8 months ago

Do you know the register type and size?

mtbsteve commented 8 months ago

In my ioBroker modbus implementation I have it as Float, Length 2, unit percent

WillCodeForCats commented 8 months ago

Are there other registers in this range? How did you find this one?

If there are other related registers in a block with this one I prefer to make sure we are reading a range of addresses in a single request and not single addresses across multiple requests.

mtbsteve commented 8 months ago

Are there other registers in this range? How did you find this one?

If there are other related registers in a block with this one I prefer to make sure we are reading a range of addresses in a single request and not single addresses across multiple requests.

I used this document: https://www.photovoltaikforum.com/core/attachment/88445-power-control-open-protocol-for-solaredge-inverters-pdf/ See page 18, StoreEdge control register settings. As per SolarEdge support, the listed register mappings in that document are no longer valid for the new RWB inverters along with the 48V Solaredge batteries. Accordingly, most of the storage control registers did not work for me with the new Battery systems. However the address E008/F708 for the manual Backup Reserve setting works.

WillCodeForCats commented 8 months ago

I've already implemented the registers in that document.

WillCodeForCats commented 8 months ago

Upload your diagnostic file if you aren't seeing the backup reserve entity.

mtbsteve commented 8 months ago

@WillCodeForCats thanks, yes I found the the backup_reserve settings in the meantime. It reads the defined reserve value correctly but I cannot properly change the setting. If I change the slider value, the result will not be updated in the solaredge app. AFAIK the backup reserve setting also requires the specification of a duration period - at least when I change the reserve setting in the app. config_entry-solaredge_modbus_multi-c10193190040be4f930489a1a6dfb6fb.json.txt

Screenshot from 2024-02-06 17-18-19

2024-02-06 17:05:07.959 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Registers received requested : 40 40                                                                                     
2024-02-06 17:05:08.077 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Registers received requested : 4 4                                                                                       
2024-02-06 17:05:08.135 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Registers received requested : 2 2                                                                                       
2024-02-06 17:05:08.135 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: C_SunSpec_DID 0x67 <class 'int'>                                                                                     
2024-02-06 17:05:08.135 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: C_SunSpec_Length 0x32 <class 'int'>                                                                                  
2024-02-06 17:05:08.136 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Current 0xb8 <class 'int'>                                                                                        
2024-02-06 17:05:08.136 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Current_A 0x40 <class 'int'>                                                                                      
2024-02-06 17:05:08.136 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Current_B 0x3e <class 'int'>                                                                                      
2024-02-06 17:05:08.136 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Current_C 0x39 <class 'int'>                                                                                      
2024-02-06 17:05:08.137 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Current_SF -0x2 <class 'int'>                                                                                     
2024-02-06 17:05:08.137 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Voltage_AB 0x1013 <class 'int'>                                                                                   
2024-02-06 17:05:08.137 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Voltage_BC 0x1015 <class 'int'>                                                                                   
2024-02-06 17:05:08.137 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Voltage_CA 0x1015 <class 'int'>                                                                                   
2024-02-06 17:05:08.137 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Voltage_AN 0x949 <class 'int'>                                                                                    
2024-02-06 17:05:08.138 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Voltage_BN 0x94a <class 'int'>                                                                                    
2024-02-06 17:05:08.138 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Voltage_CN 0x947 <class 'int'>                                                                                    
2024-02-06 17:05:08.138 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Voltage_SF -0x1 <class 'int'>                                                                                     
2024-02-06 17:05:08.138 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Power 0xfd9 <class 'int'>                                                                                         
2024-02-06 17:05:08.139 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Power_SF -0x1 <class 'int'>                                                                                       
2024-02-06 17:05:08.139 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Frequency 0x138a <class 'int'>                                                                                    
2024-02-06 17:05:08.139 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Frequency_SF -0x2 <class 'int'>                                                                                   
2024-02-06 17:05:08.139 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_VA 0x1118 <class 'int'>                                                                                           
2024-02-06 17:05:08.139 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_VA_SF -0x1 <class 'int'>                                                                                          
2024-02-06 17:05:08.140 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_var -0x400b <class 'int'>                                                                                         
2024-02-06 17:05:08.140 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_var_SF -0x2 <class 'int'>                                                                                         
2024-02-06 17:05:08.141 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_PF -0x2431 <class 'int'>                                                                                          
2024-02-06 17:05:08.141 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_PF_SF -0x2 <class 'int'>                                                                                          
2024-02-06 17:05:08.141 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Energy_WH 0xafd29 <class 'int'>                                                                                   
2024-02-06 17:05:08.142 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: AC_Energy_WH_SF 0x0 <class 'int'>                                                                                    
2024-02-06 17:05:08.142 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_DC_Current 0x13a1 <class 'int'>                                                                                    
2024-02-06 17:05:08.142 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_DC_Current_SF -0x4 <class 'int'>                                                                                   
2024-02-06 17:05:08.142 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_DC_Voltage 0x2004 <class 'int'>                                                                                    
2024-02-06 17:05:08.143 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_DC_Voltage_SF -0x1 <class 'int'>                                                                                   
2024-02-06 17:05:08.143 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_DC_Power 0x1017 <class 'int'>                                                                                      
2024-02-06 17:05:08.143 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_DC_Power_SF -0x1 <class 'int'>                                                                                     
2024-02-06 17:05:08.143 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_Temp_Cab -0x8000 <class 'int'>                                                                                     
2024-02-06 17:05:08.143 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_Temp_Sink 0x100f <class 'int'>                                                                                     
2024-02-06 17:05:08.144 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_Temp_Trns -0x8000 <class 'int'>                                                                                    
2024-02-06 17:05:08.144 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_Temp_Other -0x8000 <class 'int'>                                                                                   
2024-02-06 17:05:08.144 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_Temp_SF -0x2 <class 'int'>  
2024-02-06 17:05:08.144 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_Status 0x4 <class 'int'>                                                                                           
2024-02-06 17:05:08.145 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_Status_Vendor 0x0 <class 'int'>                                                                                    
2024-02-06 17:05:08.145 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_RRCR 0x0 <class 'int'>                                                                                             
2024-02-06 17:05:08.145 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_Power_Limit 0x64 <class 'int'>                                                                                     
2024-02-06 17:05:08.145 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_CosPhi 0x3f800000 <class 'float'>                                                                                  
2024-02-06 17:05:08.145 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: I_AdvPwrCtrlEn 0x1 <class 'int'>                                                                                     
2024-02-06 17:05:08.218 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Registers received requested : 14 14                                                                                     
2024-02-06 17:05:08.218 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: control_mode 0x1 <class 'int'>                                                                                       
2024-02-06 17:05:08.219 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: ac_charge_policy 0x1 <class 'int'>                                                                                   
2024-02-06 17:05:08.219 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: ac_charge_limit 0x0 <class 'float'>                                                                                  
2024-02-06 17:05:08.219 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: backup_reserve 0x41f80000 <class 'float'>                                                                            
2024-02-06 17:05:08.220 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: default_mode 0x0 <class 'int'>                                                                                       
2024-02-06 17:05:08.220 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: command_timeout 0xe10 <class 'int'>                                                                                  
2024-02-06 17:05:08.220 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: command_mode 0xffff <class 'int'>                                                                                    
2024-02-06 17:05:08.220 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: charge_limit 0x459c4000 <class 'float'>                                                                              
2024-02-06 17:05:08.221 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1: discharge_limit 0x459c4000 <class 'float'>                                                                           
2024-02-06 17:05:08.405 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Registers received requested : 40 40                                                                                     
2024-02-06 17:05:08.626 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Registers received requested : 4 4                                                                                       
2024-02-06 17:05:08.843 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Registers received requested : 2 2                                                                                       
2024-02-06 17:05:08.844 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: C_SunSpec_DID 0x67 <class 'int'>                                                                                     
2024-02-06 17:05:08.844 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: C_SunSpec_Length 0x32 <class 'int'>                                                                                  
2024-02-06 17:05:08.845 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Current 0x3f <class 'int'>                                                                                        
2024-02-06 17:05:08.845 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Current_A 0x14 <class 'int'>                                                                                      
2024-02-06 17:05:08.845 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Current_B 0x16 <class 'int'>                                                                                      
2024-02-06 17:05:08.845 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Current_C 0x14 <class 'int'>                                                                                      
2024-02-06 17:05:08.846 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Current_SF -0x2 <class 'int'>                                                                                     
2024-02-06 17:05:08.846 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Voltage_AB 0x1015 <class 'int'>                                                                                   
2024-02-06 17:05:08.846 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Voltage_BC 0x100f <class 'int'>                                                                                   
2024-02-06 17:05:08.846 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Voltage_CA 0x100d <class 'int'>                                                                                   
2024-02-06 17:05:08.847 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Voltage_AN 0x948 <class 'int'>                                                                                    
2024-02-06 17:05:08.847 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Voltage_BN 0x946 <class 'int'>                                                                                    
2024-02-06 17:05:08.847 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Voltage_CN 0x945 <class 'int'>                                                                                    
2024-02-06 17:05:08.847 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Voltage_SF -0x1 <class 'int'>                                                                                     
2024-02-06 17:05:08.848 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Power 0x682c <class 'int'>                                                                                        
2024-02-06 17:05:08.848 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Power_SF -0x3 <class 'int'>                                                                                       
2024-02-06 17:05:08.848 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Frequency 0x138a <class 'int'>                                                                                    
2024-02-06 17:05:08.848 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Frequency_SF -0x2 <class 'int'>                                                                                   
2024-02-06 17:05:08.849 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_VA 0x3962 <class 'int'>                                                                                           
2024-02-06 17:05:08.850 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_VA_SF -0x2 <class 'int'>                                                                                          
2024-02-06 17:05:08.850 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_var -0x386d <class 'int'>                                                                                         
2024-02-06 17:05:08.850 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_var_SF -0x2 <class 'int'>                                                                                         
2024-02-06 17:05:08.851 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_PF -0x23ad <class 'int'>                                                                                          
2024-02-06 17:05:08.851 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_PF_SF -0x3 <class 'int'>                                                                                          
2024-02-06 17:05:08.851 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Energy_WH 0xa5b82 <class 'int'>                                                                                   
2024-02-06 17:05:08.852 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: AC_Energy_WH_SF 0x0 <class 'int'>                                                                                    
2024-02-06 17:05:08.852 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_DC_Current 0xe1b <class 'int'>                                                                                     
2024-02-06 17:05:08.852 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_DC_Current_SF -0x5 <class 'int'>                                                                                   
2024-02-06 17:05:08.852 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_DC_Voltage 0x1d48 <class 'int'>                                                                                    
2024-02-06 17:05:08.853 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_DC_Voltage_SF -0x1 <class 'int'> 
2024-02-06 17:05:08.853 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_DC_Power 0x69c2 <class 'int'>                                                                                      
2024-02-06 17:05:08.853 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_DC_Power_SF -0x3 <class 'int'>                                                                                     
2024-02-06 17:05:08.853 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_Temp_Cab -0x8000 <class 'int'>                                                                                     
2024-02-06 17:05:08.853 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_Temp_Sink 0xeac <class 'int'>                                                                                      
2024-02-06 17:05:08.854 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_Temp_Trns -0x8000 <class 'int'>                                                                                    
2024-02-06 17:05:08.854 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_Temp_Other -0x8000 <class 'int'>                                                                                   
2024-02-06 17:05:08.854 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_Temp_SF -0x2 <class 'int'>                                                                                         
2024-02-06 17:05:08.854 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_Status 0x4 <class 'int'>                                                                                           
2024-02-06 17:05:08.854 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_Status_Vendor 0x0 <class 'int'>                                                                                    
2024-02-06 17:05:08.854 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_RRCR 0x0 <class 'int'>                                                                                             
2024-02-06 17:05:08.854 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_Power_Limit 0x64 <class 'int'>                                                                                     
2024-02-06 17:05:08.854 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_CosPhi 0x3f800000 <class 'float'>                                                                                  
2024-02-06 17:05:08.855 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: I_AdvPwrCtrlEn 0x1 <class 'int'>                                                                                     
2024-02-06 17:05:09.046 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Registers received requested : 14 14                                                                                     
2024-02-06 17:05:09.047 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: control_mode 0x1 <class 'int'>                                                                                       
2024-02-06 17:05:09.047 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: ac_charge_policy 0x1 <class 'int'>                                                                                   
2024-02-06 17:05:09.047 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: ac_charge_limit 0x0 <class 'float'>                                                                                  
2024-02-06 17:05:09.048 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: backup_reserve 0x0 <class 'float'>                                                                                   
2024-02-06 17:05:09.048 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: default_mode 0x0 <class 'int'>                                                                                       
2024-02-06 17:05:09.048 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: command_timeout 0xe10 <class 'int'>                                                                                  
2024-02-06 17:05:09.048 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: command_mode 0x7 <class 'int'>                                                                                       
2024-02-06 17:05:09.049 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: charge_limit 0x45a8c000 <class 'float'>                                                                              
2024-02-06 17:05:09.049 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I9: discharge_limit 0x45a8c000 <class 'float'>                                                                           
2024-02-06 17:05:09.249 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Registers received requested : 107 107                                                                                   
2024-02-06 17:05:09.251 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: C_SunSpec_DID 0xcb <class 'int'>                                                                                   
2024-02-06 17:05:09.252 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: C_SunSpec_Length 0x69 <class 'int'>                                                                                
2024-02-06 17:05:09.252 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Current 0x2a <class 'int'>                                                                                      
2024-02-06 17:05:09.252 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Current_A 0x11 <class 'int'>                                                                                    
2024-02-06 17:05:09.252 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Current_B 0xd <class 'int'>                                                                                     
2024-02-06 17:05:09.252 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Current_C 0xb <class 'int'>                                                                                     
2024-02-06 17:05:09.253 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Current_SF -0x1 <class 'int'>                                                                                   
2024-02-06 17:05:09.253 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Voltage_LN 0x5c7e <class 'int'>                                                                                 
2024-02-06 17:05:09.253 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Voltage_AN 0x5c7e <class 'int'>                                                                                 
2024-02-06 17:05:09.253 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Voltage_BN 0x5c90 <class 'int'>                                                                                 
2024-02-06 17:05:09.254 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Voltage_CN 0x5c81 <class 'int'>                                                                                 
2024-02-06 17:05:09.254 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Voltage_LL 0x0 <class 'int'>                                                                                    
2024-02-06 17:05:09.254 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Voltage_AB 0x0 <class 'int'>                                                                                    
2024-02-06 17:05:09.254 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Voltage_BC 0x0 <class 'int'>                                                                                    
2024-02-06 17:05:09.254 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Voltage_CA 0x0 <class 'int'>                                                                                    
2024-02-06 17:05:09.255 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Voltage_SF -0x2 <class 'int'>                                                                                   
2024-02-06 17:05:09.256 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Frequency 0x138a <class 'int'>                                                                                  
2024-02-06 17:05:09.256 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Frequency_SF -0x2 <class 'int'>                                                                                 
2024-02-06 17:05:09.256 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Power 0x2 <class 'int'>                                                                                         
2024-02-06 17:05:09.256 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Power_A -0x60 <class 'int'>                                                                                     
2024-02-06 17:05:09.257 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Power_B -0x8 <class 'int'>                                                                                      
2024-02-06 17:05:09.257 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Power_C 0x6c <class 'int'>                                                                                      
2024-02-06 17:05:09.257 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Power_SF 0x0 <class 'int'>                                                                                      
2024-02-06 17:05:09.257 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_VA 0x326 <class 'int'>                                                                                          
2024-02-06 17:05:09.257 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_VA_A 0x135 <class 'int'>                                                                                        
2024-02-06 17:05:09.257 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_VA_B 0x126 <class 'int'>                                                                                        
2024-02-06 17:05:09.257 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_VA_C 0xf3 <class 'int'>                                                                                         
2024-02-06 17:05:09.258 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_VA_SF 0x0 <class 'int'>                                                                                         
2024-02-06 17:05:09.258 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_var -0x326 <class 'int'>   
2024-02-06 17:05:09.258 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_var_A -0x126 <class 'int'>                                                                                      
2024-02-06 17:05:09.258 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_var_B -0x126 <class 'int'>                                                                                      
2024-02-06 17:05:09.258 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_var_C -0xda <class 'int'>                                                                                       
2024-02-06 17:05:09.258 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_var_SF 0x0 <class 'int'>                                                                                        
2024-02-06 17:05:09.258 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_PF -0x1be <class 'int'>                                                                                         
2024-02-06 17:05:09.258 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_PF_A 0x973 <class 'int'>                                                                                        
2024-02-06 17:05:09.259 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_PF_B 0x17b <class 'int'>                                                                                        
2024-02-06 17:05:09.259 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_PF_C -0x102c <class 'int'>                                                                                      
2024-02-06 17:05:09.259 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_PF_SF -0x2 <class 'int'>                                                                                        
2024-02-06 17:05:09.259 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Energy_WH_Exported 0xed940 <class 'int'>                                                                        
2024-02-06 17:05:09.259 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Energy_WH_Exported_A 0x37a70 <class 'int'>                                                                      
2024-02-06 17:05:09.259 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Energy_WH_Exported_B 0x5c4dc <class 'int'>                                                                      
2024-02-06 17:05:09.259 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Energy_WH_Exported_C 0x6e68f <class 'int'>                                                                      
2024-02-06 17:05:09.259 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Energy_WH_Imported 0x5efbe1 <class 'int'>                                                                       
2024-02-06 17:05:09.260 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Energy_WH_Imported_A 0x2b6a41 <class 'int'>                                                                     
2024-02-06 17:05:09.260 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Energy_WH_Imported_B 0x1a8bdf <class 'int'>                                                                     
2024-02-06 17:05:09.260 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Energy_WH_Imported_C 0x1a525c <class 'int'>                                                                     
2024-02-06 17:05:09.260 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: AC_Energy_WH_SF 0x0 <class 'int'>                                                                                  
2024-02-06 17:05:09.260 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_VAh_Exported 0x0 <class 'int'>                                                                                   
2024-02-06 17:05:09.260 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_VAh_Exported_A 0x0 <class 'int'>                                                                                 
2024-02-06 17:05:09.260 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_VAh_Exported_B 0x0 <class 'int'>                                                                                 
2024-02-06 17:05:09.260 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_VAh_Exported_C 0x0 <class 'int'>                                                                                 
2024-02-06 17:05:09.261 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_VAh_Imported 0x0 <class 'int'>                                                                                   
2024-02-06 17:05:09.261 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_VAh_Imported_A 0x0 <class 'int'>                                                                                 
2024-02-06 17:05:09.261 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_VAh_Imported_B 0x0 <class 'int'>                                                                                 
2024-02-06 17:05:09.261 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_VAh_Imported_C 0x0 <class 'int'>                                                                                 
2024-02-06 17:05:09.261 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_VAh_SF -0x8000 <class 'int'>                                                                                     
2024-02-06 17:05:09.261 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Import_Q1 0x0 <class 'int'>                                                                                 
2024-02-06 17:05:09.262 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Import_Q1_A 0x0 <class 'int'>                                                                               
2024-02-06 17:05:09.262 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Import_Q1_B 0x0 <class 'int'>                                                                               
2024-02-06 17:05:09.262 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Import_Q1_C 0x0 <class 'int'>                                                                               
2024-02-06 17:05:09.262 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Import_Q2 0x0 <class 'int'>                                                                                 
2024-02-06 17:05:09.262 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Import_Q2_A 0x0 <class 'int'>                                                                               
2024-02-06 17:05:09.262 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Import_Q2_B 0x0 <class 'int'>                                                                               
2024-02-06 17:05:09.262 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Import_Q2_C 0x0 <class 'int'>                                                                               
2024-02-06 17:05:09.262 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Export_Q3 0x0 <class 'int'>                                                                                 
2024-02-06 17:05:09.263 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Export_Q3_A 0x0 <class 'int'>                                                                               
2024-02-06 17:05:09.263 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Export_Q3_B 0x0 <class 'int'>                                                                               
2024-02-06 17:05:09.263 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Export_Q3_C 0x0 <class 'int'>                                                                               
2024-02-06 17:05:09.263 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Export_Q4 0x0 <class 'int'>                                                                                 
2024-02-06 17:05:09.263 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Export_Q4_A 0x0 <class 'int'>                                                                               
2024-02-06 17:05:09.263 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Export_Q4_B 0x0 <class 'int'>                                                                               
2024-02-06 17:05:09.263 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_Export_Q4_C 0x0 <class 'int'>                                                                               
2024-02-06 17:05:09.264 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_varh_SF -0x8000 <class 'int'>                                                                                    
2024-02-06 17:05:09.264 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M1: M_Events 0x0 <class 'int'>     
2024-02-06 17:05:09.465 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Registers received requested : 86 86                                                                                     
2024-02-06 17:05:09.467 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_MaxChargePower 0x45b09000 <class 'float'>                                                                        
2024-02-06 17:05:09.467 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_MaxDischargePower 0x46000000 <class 'float'>                                                                     
2024-02-06 17:05:09.467 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_MaxChargePeakPower 0x45a73000 <class 'float'>                                                                    
2024-02-06 17:05:09.467 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_MaxDischargePeakPower 0x4604d000 <class 'float'>                                                                 
2024-02-06 17:05:09.468 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Temp_Average 0x41c0cccd <class 'float'>                                                                          
2024-02-06 17:05:09.468 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Temp_Max 0x0 <class 'float'>                                                                                     
2024-02-06 17:05:09.468 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_DC_Voltage 0x444ccd90 <class 'float'>                                                                            
2024-02-06 17:05:09.468 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_DC_Current 0x3f0122a4 <class 'float'>                                                                            
2024-02-06 17:05:09.469 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_DC_Power 0xc3cf0000 <class 'float'>                                                                              
2024-02-06 17:05:09.469 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Export_Energy_WH 0x2af <class 'int'>                                                                             
2024-02-06 17:05:09.469 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Import_Energy_WH 0x1e94 <class 'int'>                                                                            
2024-02-06 17:05:09.469 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Energy_Max 0x460fc000 <class 'float'>                                                                            
2024-02-06 17:05:09.469 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Energy_Available 0x460e8f5c <class 'float'>                                                                      
2024-02-06 17:05:09.470 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_SOH 0x42c60000 <class 'float'>                                                                                   
2024-02-06 17:05:09.470 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_SOE 0x42c15556 <class 'float'>                                                                                   
2024-02-06 17:05:09.470 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Status 0x4 <class 'int'>                                                                                         
2024-02-06 17:05:09.470 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Status_Vendor 0x3 <class 'int'>                                                                                  
2024-02-06 17:05:09.471 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log1 0x0 <class 'int'>                                                                                     
2024-02-06 17:05:09.471 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log2 0x0 <class 'int'>                                                                                     
2024-02-06 17:05:09.472 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log3 0x0 <class 'int'>                                                                                     
2024-02-06 17:05:09.472 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log4 0x0 <class 'int'>                                                                                     
2024-02-06 17:05:09.473 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log5 0x0 <class 'int'>                                                                                     
2024-02-06 17:05:09.473 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log6 0x0 <class 'int'>                                                                                     
2024-02-06 17:05:09.473 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log7 0x0 <class 'int'>                                                                                     
2024-02-06 17:05:09.473 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log8 0x0 <class 'int'>                                                                                     
2024-02-06 17:05:09.473 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log_Vendor1 0x0 <class 'int'>                                                                              
2024-02-06 17:05:09.473 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log_Vendor2 0x0 <class 'int'>                                                                              
2024-02-06 17:05:09.474 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log_Vendor3 0x0 <class 'int'>                                                                              
2024-02-06 17:05:09.474 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log_Vendor4 0x0 <class 'int'>                                                                              
2024-02-06 17:05:09.474 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log_Vendor5 0x0 <class 'int'>                                                                              
2024-02-06 17:05:09.474 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log_Vendor6 0x0 <class 'int'>                                                                              
2024-02-06 17:05:09.474 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log_Vendor7 0x0 <class 'int'>                                                                              
2024-02-06 17:05:09.474 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1B1: B_Event_Log_Vendor8 0x0 <class 'int'>                                                                              
2024-02-06 17:05:09.474 DEBUG (MainThread) [custom_components.solaredge_modbus_multi] Finished fetching SolarEdge Coordinator data in 1.572 seconds (success: True)                                                
- home-assistant.log 5066/5066 100%
WillCodeForCats commented 8 months ago

I don't have batteries so specific operation is probably best asked in one of the battery related discussions, but as far as I understand how it's supposed to work you need to change Storage Control Mode to "Remote Control" before any of the storage related commands will work through Modbus. This includes setting all of the other storage commands appropriately for your setup.

Your current setting from the diagnostic file is "Maximize Self Consumption". This is a screenshot from my development system which is connected to a simulated inverter with battery:

Screenshot 2024-02-06 at 9 01 33 AM
WillCodeForCats commented 8 months ago

Modbus does not have a duration associated with the backup reserve setting as far as I am aware. There is a command timeout value, but that is related to the default mode and command mode settings.

The are additional settings you won't see in 2.4.9 in the Power Settings grouping in my example that will be available 2.4.10 or now in the pre-releases.

WillCodeForCats commented 8 months ago

I also recall someone saying that modbus commands need to be sent to whichever inverter is the lead unit, but I don't remember where that discussion was.

WillCodeForCats commented 8 months ago

Were you able to try changing the mode to Remote Control?

mtbsteve commented 8 months ago

Were you able to try changing the mode to Remote Control?

The behavior is somehow a bit strange. When I set the backup_reserve in the ioBroker modbus interface by writing the target percentage value into the E008/F708 register the value is correctly displayed in the app and, if the reserve is greater than the previous value, the battery will be automatically charged from the grid if there is no/insufficient PV production. When I set the reserve value from within this adapter, the target percentage value is set correctly in the register, BUT its not updated in the app. I still need to test if the automatic charging from the grid is initiated once the new reserve setting is grater than the current value.

WillCodeForCats commented 8 months ago

The integration is just writing modbus values, I don't see how it would be any different. There's enough users using commands that report it's fine that I don't have any reason to suspect there is a problem.

But my inverters do not accept commands so I can't help much beyond actual integrations bugs, since I can't test or use any commands on real inverter hardware or give any advice beyond what I can recall other people have said.

cyberkryten commented 8 months ago

@mtbsteve I think this is due to a delay of the inverter reporting those figures back to the monitoring platform which is used to generate figures for the App.

I also thought it wasn't working at first, but after some experimentation, the App 'catches up' if you leave it a while, so it's worth trying again and seeing what values show in the App 15min later.

I've noticed some differences between the values shown in the App and on the website even before I started changing them via Modbus so I think it's an issue on the monitoring side and not an issue with setting them locally via Modbus.

mtbsteve commented 8 months ago

@cyberkryten its not updated in the app regardless how long I wait. Seems like SE changed something recently in their data structures. Not even when deleting the app and reinstalling it will show the reserve setting when I set it through the modbus register. @WillCodeForCats I am closing this issue for now - in case you run over the root cause for this app behaviour let me know - Thanks for all your great work!