Growatt 3600tl-xe compatibility
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
No you get lots of output like that, grott just doesn't process it all.
[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
So you're all happy? I can close this one?
You could submit an issue to the core Grott repo with this suggestion and maybe they'd include it in the core version?
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
I'll do some tidying up of all the open tickets tonight, thanks for confirming.