homeassistant-grott icon indicating copy to clipboard operation
homeassistant-grott copied to clipboard

Growatt 3600tl-xe compatibility

Open lepo80 opened this issue 2 years ago • 6 comments

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?

  • Growatt data decrypted V2
    • Growatt packet received: <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.5', 5279), raddr=('192.168.1.16', 1036)>

Where

  • 192.168.1 16 is the Growatt Shinelink
  • 172 17 is my docker farm lan

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

Thanks

lepo80 avatar Sep 30 '23 05:09 lepo80

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

muppet3000 avatar Sep 30 '23 05:09 muppet3000

[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

lepo80 avatar Oct 04 '23 09:10 lepo80

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

muppet3000 avatar Oct 04 '23 09:10 muppet3000

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

muppet3000 avatar Oct 04 '23 09:10 muppet3000

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

lepo80 avatar Oct 04 '23 09:10 lepo80

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

muppet3000 avatar Oct 04 '23 10:10 muppet3000