muppet3000 / homeassistant-grott

Home Assistant Integration for Grott - MQTT
MIT License
65 stars 14 forks source link

Growatt 3600tl-xe compatibility #41

Open lepo80 opened 9 months ago

lepo80 commented 9 months ago

Hi, I tried the Grott integration using docker image. All data is pointed out properly into mqtt server, but I saw into Grott service log a ripetitive warning below.

Is the inverter model supported?

Where

I guess the log verbose disabled, I will provide the full log soon

Thanks

muppet3000 commented 9 months ago

No you get lots of output like that, grott just doesn't process it all.

lepo80 commented 9 months ago

[solved] it was related to the grott server and not the homeassistant-grott. Not all data collected from homeassistant-grott componend, but that data is not relevant for HA monitoring or automations. you should find below the solution implemented.

this is the configuration to be add into grottconf.py to read Growatt 3600TL-HX (T065104XTL3) and ChiNT DDSU666 meter (T065120). I used this configuration into this Docker version: ledidobe/grott:2.8.2

all relevant information are collected now, but, for my needs, i put some comments to avoid to collect not relevant data, fell free to remove these comments basing on your preference.

due to I don't have any battery installed, I wasn't able to verify all battery values.

    self.recorddict15 = {"T065104XTL3": {
        "decrypt"           : {"value" :"True"},
        "pvserial"          : {"value" :76, "length" : 10, "type" : "text", "divide" : 10},
        "date"              : {"value" :136, "divide" : 10}, 
        "pvstatus"          : {"value" :158, "length" : 2, "type" : "num"},  
        #"pvpowerin"         : {"value" :162, "length" : 4, "type" : "num", "divide" : 10},        
        #"pv1voltage"        : {"value" :170, "length" : 2, "type" : "num", "divide" : 10},        
        #"pv1current"        : {"value" :174, "length" : 2, "type" : "num", "divide" : 10},                        
        #"pv1watt"           : {"value" :178, "length" : 4, "type" : "num", "divide" : 10},                      
        #"pv2voltage"        : {"value" :186, "length" : 2, "type" : "num", "divide" : 10},                
        #"pv2current"        : {"value" :190, "length" : 2, "type" : "num", "divide" : 10},                
        #"pv2watt"           : {"value" :194, "length" : 4, "type" : "num", "divide" : 10}, 
        #"pvpowerout"        : {"value" :250, "length" : 4, "type" : "num", "divide" : 10},                
        #"pvfrequentie"      : {"value" :258, "length" : 2, "type" : "num", "divide" : 100},                
        #"pvgridvoltage"     : {"value" :262, "length" : 2, "type" : "num", "divide" : 10},                
        #"pvgridcurrent"     : {"value" :266, "length" : 2, "type" : "num", "divide" : 10},                
        #"pvgridpower"       : {"value" :270, "length" : 4, "type" : "num", "divide" : 10},                
        #"pvgridvoltage2"    : {"value" :278, "length" : 2, "type" : "num", "divide" : 10},                
        #"pvgridcurrent2"    : {"value" :282, "length" : 2, "type" : "num", "divide" : 10},                
        #"pvgridpower2"      : {"value" :286, "length" : 4, "type" : "num", "divide" : 10},                
        #"pvgridvoltage3"    : {"value" :294, "length" : 2, "type" : "num", "divide" : 10},                
        #"pvgridcurrent3"    : {"value" :298, "length" : 2, "type" : "num", "divide" : 10},                
        #"pvgridpower3"      : {"value" :302, "length" : 4, "type" : "num", "divide" : 10},  
        #"totworktime"       : {"value" :346, "length" : 4, "type" : "num", "divide" : 7200},
        "pvenergytoday"     : {"value" :354, "length" : 4, "type" : "num", "divide" : 10},                  
        "pvenergytotal"     : {"value" :362, "length" : 4, "type" : "num", "divide" : 10},
        "epvtotal"          : {"value" :370, "length" : 4, "type" : "num", "divide" : 10},
        "epv1today"         : {"value" :378, "length" : 4, "type" : "num", "divide" : 10},                
        #"epv1total"         : {"value" :386, "length" : 4, "type" : "num", "divide" : 10},                
        "epv2today"         : {"value" :394, "length" : 4, "type" : "num", "divide" : 10},                
        #"epv2total"         : {"value" :402, "length" : 4, "type" : "num", "divide" : 10},                           
        "pvtemperature"     : {"value" :530, "length" : 2, "type" : "num", "divide" : 10},                 
        "etouser_tod"       : {"value" :426, "length" : 4, "type" : "num", "divide" : 10},
        #"etouser_tot"       : {"value" :434, "length" : 4, "type" : "num", "divide" : 10},
        "etogrid_tod"       : {"value" :442, "length" : 4, "type" : "num", "divide" : 10},
        "etogrid_tot"       : {"value" :450, "length" : 4, "type" : "num", "divide" : 10},
        #"elocalload_tod"    : {"value" :458, "length" : 4, "type" : "num", "divide" : 10},
        #"elocalload_tot"    : {"value" :466, "length" : 4, "type" : "num", "divide" : 10},
        #"pbusvolt"          : {"value" :550, "length" : 2, "type" : "num", "divide" : 1},
        #"nbusvolt"          : {"value" :554, "length" : 2, "type" : "num", "divide" : 1},
        #"ISO"               : {"value" :490, "length" : 4, "type" : "num", "divide" : 10},
        #"Temperature2"     : {"value" :526, "length" : 4, "type" : "num", "divide" : 10},
        #"Temperature5"     : {"value" :542, "length" : 4, "type" : "num", "divide" : 10},
        "pvipmtemperature"  : {"value" :534, "length" : 2, "type" : "num", "divide" : 10}
    } }

    self.recorddict16 = {"T065120": {
        "decrypt"           : {"value" :"True"},
        "datalogserial"     : {"value" :16, "length" : 10, "type" : "text","incl" : "yes"},
        "pvserial"          : {"value" :76, "length" : 10, "type" : "text"},
        "date"              : {"value" :136, "divide" : 10}, 
        "voltage_l1"        : {"value" :160, "length" : 4, "type" : "num", "divide" : 10},  
        #"voltage_l2"        : {"value" :168, "length" : 4, "type" : "num", "divide" : 10,"incl" : "yes"},  
        #"voltage_l3"        : {"value" :176, "length" : 4, "type" : "num", "divide" : 10,"incl" : "yes"},  
        "Current_l1"        : {"value" :184, "length" : 4, "type" : "num", "divide" : 10},
        #"Current_l2"        : {"value" :192, "length" : 4, "type" : "num", "divide" : 10,"incl" : "yes"},
        #"Current_l3"        : {"value" :200, "length" : 4, "type" : "num", "divide" : 10,"incl" : "yes"},            
        "act_power_l1"      : {"value" :208, "length" : 4, "type" : "numx", "divide" : 10},        
        #"act_power_l2"      : {"value" :216, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "yes"},        
        #"act_power_l3"      : {"value" :224, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "yes"},        
        #"app_power_l1"      : {"value" :232, "length" : 4, "type" : "numx", "divide" : 10},                #not used in HA
        #"app_power_l2"      : {"value" :240, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "yes"}, #not used in HA       
        #"app_power_l3"      : {"value" :248, "length" : 4, "type" : "numx", "divide" : 10,"incl" : "yes"}, #not used in HA
        #"react_power_l1"    : {"value" :256, "length" : 4, "type" : "numx","divide" : 10},                 #not used in HA
        #"react_power_l2"    : {"value" :264, "length" : 4, "type" : "numx","divide" : 10,"incl" : "yes"},  #not used in HA      
        #"react_power_l3"    : {"value" :272, "length" : 4, "type" : "numx","divide" : 10,"incl" : "yes"},  #not used in HA      
        #"powerfactor_l1"    : {"value" :280, "length" : 4, "type" : "numx", "divide" : 1000},              #not used in HA      
        #"powerfactor_l2"    : {"value" :288, "length" : 4, "type" : "numx", "divide" : 1000,"incl" : "yes"}, #not used in HA                            
        #"powerfactor_l3"    : {"value" :296, "length" : 4, "type" : "numx", "divide" : 1000,"incl" : "yes"}, #not used in HA                           
        "pos_rev_act_power" : {"value" :304, "length" : 4, "type" : "numx", "divide" : 10}, 
        #"powerfactor"       : {"value" :328, "length" : 4, "type" : "numx", "divide" : 1000},              #not used in HA  
        #"frequency"         : {"value" :336, "length" : 4, "type" : "num", "divide" : 10},   
        #"L1-2_voltage"      : {"value" :344, "length" : 4, "type" : "num", "divide" : 10,"incl" : "yes"}, 
        #"L2-3_voltage"      : {"value" :352, "length" : 4, "type" : "num", "divide" : 10,"incl" : "yes"},   
        #"L3-1_voltage"      : {"value" :360, "length" : 4, "type" : "num", "divide" : 10,"incl" : "yes"},
        "pos_act_energy"    : {"value" :368, "length" : 4, "type" : "numx", "divide" : 10},             
        "rev_act_energy"    : {"value" :376, "length" : 4, "type" : "numx", "divide" : 10},   
        "eacharge_today"    : {"value" :390, "length" : 4, "type" : "num", "divide" : 10},    
        "eacharge_total"    : {"value" :398, "length" : 4, "type" : "num", "divide" : 10},  
        "edischrtoday"      : {"value" :406, "length" : 4, "type" : "num", "divide" : 10},  
        "edischrtotal"      : {"value" :414, "length" : 4, "type" : "num", "divide" : 10}
    }}

also, it is needed to add all lines below into the right position

    self.recorddict.update(self.recorddict15)  #T065104XTL3
    self.recorddict.update(self.recorddict16)  #T065120
muppet3000 commented 9 months ago

So you're all happy? I can close this one?

muppet3000 commented 9 months ago

You could submit an issue to the core Grott repo with this suggestion and maybe they'd include it in the core version?

lepo80 commented 9 months ago

I already opened the issue into Grott repo pointing out the solution. hoping that someone publish it to the core version. are you able to close this issue too, please? thx

muppet3000 commented 9 months ago

I'll do some tidying up of all the open tickets tonight, thanks for confirming.