johanmeijer / grott

Growatt inverter monitor
https://github.com/johanmeijer/grott/wiki
394 stars 109 forks source link

Intermittent dropouts in influx recordings #495

Open raadjek opened 9 months ago

raadjek commented 9 months ago

Hi, I'm using Grott for few months now in proxy mode. The values are correctly reported to server.growatt.com. I'm using ShinePhone app and growatt web interface for checking graphs and values.

I have enabled influx + grafana to create my own graphs (similar to growatt official ones), but I see occasional drop outs in data. Portion(s) of graph is missing - see screenshots below. The data is missing from the influx DB as well, so it's not Grafana issue. I'm not sure where should I look - influx or MQTT or Grott. Since energy dashboard shows the data, I guess MQTT works fine? Can you please point me in right direction what to check to see where the data is lost/rejected? I didn't find any rejections or errors in Influx log (settings>add-ons>influx>log).

I'm not sure if that's related, but Grott shows similar code very often:

 - Growatt packet received:
      <socket.socket fd=5, family=2, type=1, proto=0, laddr=('172.30.33.8', 54026), raddr=('47.91.67.66', 5279)>
 - Growatt original Data:
     \x03\x8d\x00\x06\x02\x41\x01\x36\x1f\x35\x2b\x42\x23\x3c\x47\x73\x33\x25\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x3b\x39\x2b\x46\x36\x0b\x3a\x5f\x47\x34\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x76\x78\x7f\x55\x5c\x77\x75\x18
     \x6c\x0d\xd3\x72\x6a\x77\x63\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x53\x88\x6f\x59\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x27\x92\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x5d\x32\x90\x88
     \x9e\xf1\x74\x47\x61\xe6\x67\x0e\x64\x0a\x57\x16\x6f\x7a\x61\x7d\x74\x4b\x8d
     \x90\x8b\x79\x75\xd9\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x0d\xd2\x08\x7e\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x4d\x21\x77\x61\x74\x77\x47\x72\xe5
     \x8e\x61\x74\x74\x47\x72\x6f\xf6\x43\x74\x74\xb8\x34\x6f\x77\x9e\x32\x7e\x71
     \x72\x6f\x77\x5f\x74\x78\x47\x12\x6f\x77\x61\x5f\x74\x47\x72\x5e\x76\x08\x75
     \x6c\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x27\x6d
 - Grott automatic protocol detection
 - Grott data record length 585
 - layout   :  T060136XSPH
 - no matching record layout found, try generic
 - Record layout used :  T060136XSPH
 - Growatt data decrypted V2
 - Grott Growatt data decrypted
 - Growatt plain data:
     038d0006024101365847443542483334414a00000000000000000000000000000000000000005
     44e4a32424c483030550000000000000000000000000000000000000000170c0b122e18027918
     7994000500020000000000000000000000000000000014fa002e0000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000060e00000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     000000000000000000000001a40ffffff8500001389106f107e1064000d0009000cfffffc1801
     ad000000000000000000000000000000000000000079957a11000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000003f4e0000000300008af900000000000
     081220000ff460000ff460a360000003e000c00600000002b0000003101690118000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     000000000005502
 - Grott data ack record or data record not defined no processing done

I'm using HAOS on dedicated RP. Grott (beta 2.8) in HACS, Mosquito 6.4.0, influx 4.8.0. I tried beta as well as stable version of Grott, no difference. Grott config:

ata_path: /config/grott
gmode: proxy
grott_mqtt: true
ginvtype: sph
ginvtypemap: ""
retain: true
verbose: true
ha_plugin: true
mqtt: {}
gifdbname: grottdb
gifip: 192.168.1.24
gifpassword: ****
gifport: 8086
gifuser: grottdbuser
ginflux: true
ginverterid: TNJ2BLH00U
gmqttip: 192.168.1.24
gmqttpassword: *****
gmqttuser: mqttuser
gmqttauth: true

Can you please point me in right direction? I'm attaching few screenshots. Grafana shows no data in last 12 hours: grafana_screen_last12h Growatt web shows the data OK: growatt_graph Energy dashboard also shows data: energy_screen Grafana in last 24 hours shows the data stopped around 21:00 (~13 hours ago): grafana_screen_last24h Short about 1 hour dropout: grafana-missing_data

Thank you

johanmeijer commented 9 months ago

The record you included (T060136XSPH) is not a normal data record and Grott will not proces this record. The data record should be T060104XSPH records in your case. Do you see this type of records in the Grott log in the period of the missing values?

Do you see other Grott messages (e.g. errors with writing to MQTT or Influxdb) at that time?

raadjek commented 9 months ago

It seems the Grott specific log (Settings>System>Log>Grott) has short time span (not sure if somewhere on filesystem I could find full log), but anyway - no, I don't see T060104XSPH record during the period of missing values.

Mosquito gets its data every 5 mins, so that seems to be OK (TNJ2BLH00U is serial number of my inverter):

2023-12-18 09:47:46: New connection from 172.30.33.7:33771 on port 1883.
2023-12-18 09:47:46: New client connected from 172.30.33.7:33771 as TNJ2BLH00U (p2, c1, k60, u'addons').
2023-12-18 09:47:46: Client TNJ2BLH00U disconnected.
2023-12-18 09:48:54: New connection from 172.30.32.2:54758 on port 1883.
2023-12-18 09:48:54: Client <unknown> closed its connection.
2023-12-18 09:50:54: New connection from 172.30.32.2:41294 on port 1883.
2023-12-18 09:50:54: Client <unknown> closed its connection.
2023-12-18 09:52:46: New connection from 172.30.33.7:39409 on port 1883.
2023-12-18 09:52:46: New client connected from 172.30.33.7:39409 as TNJ2BLH00U (p2, c1, k60, u'addons').
2023-12-18 09:52:47: Client TNJ2BLH00U disconnected.

Influx log shows every 10sec or so, the same message:

time="2023-12-18T09:52:31+01:00" level=info msg="Response: OK" component=server method=GET remote_addr="127.0.0.1:48288" response_time="116.72µs" status=200
johanmeijer commented 9 months ago

The mosquitto dat log looks ok indeed.

Influx I do not understand. Do you have other things logging to influx as well? It is really hard to determine for me what is happening if there is no Grott log available.

raadjek commented 9 months ago

How can I switch on (more extensive) Grott logging - e.g. to a file? Or where can I find grott log on filesystem? Maybe it is there and I didn't find it.... I was only able to find the Grott log in UI, not on the filesystem.

johanmeijer commented 9 months ago

I think you already enabled to most extensive logging (-v parm during start up). You can log to a file by specifing filename ar grott start. EG:

python3 grott.py -v -c grott.ini -o log.txt

BaumSchorle commented 6 months ago

@johanmeijer I noticed something similar in my setup. I have grott running without issues for a longer period, but added influx the last couple of days. Yesterday evening I had the first incident where no data was written to influxdb but MQTT was still fine, today I had the second incident. After restarting grott container everything is back to normal.

I dug a bit in the leg and found the following:

I can't explain where this data was coming from and why mqtt is still receiving correct data, while influxdb apparently is not.

Maybe you can find out why this could be happening. If I can be of any assistance, let me please know.

`

 - Growatt packet received:
      <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 5279), raddr=('172.17.0.1', 37984)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 51106), raddr=('47.91.67.66', 5279)>
 - Growatt original Data:
     \x03\x4c\x00\x06\x02\x41\x01\x36\x1f\x35\x2b\x41\x22\x3f\x41\x74\x34\x5c\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x3b\x27\x2b\x41\x37\x0c\x22\x5f\x3c\x38\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x79\x77\x6e\x4a\x51\x43\x75\x18
     \x6c\x0d\xd3\x72\x6a\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x49\x61\x6f\x24\x70\x0c\x74\x14\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x75\x40\x3a\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\xba\xc6\x90\x88
     \x9b\x65\x74\x47\x61\xe7\x78\xdc\x7b\xa5\x48\xca\x6f\x2c\x61\x2f\x74\x1c\x8d
     \x90\x7c\xbd\x76\x7d\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x0d\xd2\x08\x7e\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x5d\x61\x74\x74\x47\x72\x6f\x77\x68\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x1c
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\xeb\xf1
 - Grott automatic protocol detection
 - Grott data record length 585
 - layout   :  T060136XSPH
 - no matching record layout found, try generic
 - Record layout used :  T060136XSPH
 - Growatt data decrypted V2
 - Grott Growatt data decrypted
 - Growatt plain data:
     034c00060241013658474436434b3533463300000000000000000000000000000000000000005
     4504a35434b50304b59000000000000000000000000000000000000000018031a0d232c027918
     799400050000000000000000000000000000000000000e1300531178005300000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000107480000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000fdb4fffffa11000013880fbd0fd10fb8005b005b005bffff0bdc02
     09000000000000000000000000000000000000000079957a11000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000002a00000000000
     000090000000000000000005b0000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000999e
 - Grott data ack record or data record not defined no processing done

 - Growatt packet received:
      <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 5279), raddr=('172.17.0.1', 37984)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 51106), raddr=('47.91.67.66', 5279)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 5279), raddr=('172.17.0.1', 37984)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 51106), raddr=('47.91.67.66', 5279)>
 - Growatt original Data:
     \x00\xd6\x00\x06\x03\x3f\x01\x04\x1f\x35\x2b\x41\x22\x3f\x41\x74\x34\x5c\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x3b\x27\x2b\x41\x37\x0c\x22\x5f\x3c\x38\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x79\x77\x6e\x4a\x56\x66\x74\x61
     \x74\x74\x3b\x72\x6a\x77\x60\x7f\xe0\x49\x22\x6f\x24\x61\x74\x03\x0c\x63\x31
     \x77\x34\x74\x74\xd3\x29\x6f\x76\x61\xf0\x74\xc3\x72\xeb\x77\xe5\x74\xf0\x47
     \xf6\x6f\xf3\x61\xf0\x74\xc3\x72\xeb\x77\xe5\x74\xf0\x47\xf6\x6f\xf3\x61\xf0
     \x74\xc3\x72\xeb\x77\xe5\x74\xf0\x47\xf6\x6f\xf3\x61\xf0\x74\xc3\x72\x6e\x76
     \xd4\x67\xf3\x48\xce\x6f\x2b\x61\x75\x76\xfa\x7d\xbb\x77\x3d\x74\x74\x47\x72
     \x60\xc0\x61\x28\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\xee\x74
     \x47\x35\x39\x76\xab\x85\x1a\x47\x72\x6f\x34\x61\x74\x69\x7f\x72\x6f\x77\x2d
     \x74\x74\x67\x88\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x49\x53\x76
     \x7d\x45\x70\x6e\xc5\x61\x74\x74\x1e\x69\xc1\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x46\x06\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x77\xaf\x76\x0b\x77\x64\x74\x74\x47\x72\x6f\x77\x61
     \x70\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x34
     \x77\x64\x74\x74\x47\x72\x98\xf9\x96\x87\x83\xa3\x72\x6f\x77\x61\x74\x74\x47
     \x72\x99\x6f\x61\x6c\x74\x30\x72\x30\x77\x61\x74\x74\xb1\x6a\x6f\x77\x72\x50
     \x74\x47\x7a\xe5\x7f\xe5\x7c\x0f\x47\x72\x7c\x53\x61\x74\x74\x47\x72\x6a\x6c
     \xa2\x74\x74\x47\x72\x6f\x3f\x61\x74\xe2\x7a\x72\x6f\x77\x3c\x74\x74\x6f\xa1
     \x6f\x77\x61\x74\x74\x47\x72\x66\x77\x61\x74\x74\x47\x72\x6f\x5d\x61\x74\x74
     \xd5\x72\x6f\xce\x14\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x51\x72\x6f\x77\x61
     \x74\x74\x47\x53\x6f\x77\x61\x74\x74\x47\x72\x71\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x76\x0a\x73\x80\x74\x74
     \x47\x72\x6e\x03\x61\x74\x74\x47\x71\x87\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\xf0\x74\x74\x03\x51\x6f\x77\x61\x42\x74\x47\x69\x10
     \x77\x60\x7e\x1c\x47\x72\x7c\x53\x61\x74\x74\xc8\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x1d\x67\xe6\x69\xfa\x7c
     \xc3\x7a\xeb\x77\x7d\x73\xa4\x09\x52\x93\x6f\xb4\x7c\x74\x46\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x64\x9a
 - Grott automatic protocol detection
 - Grott data record length 839
 - layout   :  T060104XSPH
 - no matching record layout found, try generic
 - Record layout used :  T06NNNNXSPH
 - Growatt data decrypted V2
 - Grott Growatt data decrypted
 - Growatt plain data:
     00d60006033f010458474436434b3533463300000000000000000000000000000000000000005
     4504a35434b50304b59000000000000000000000000000000000000000018031a0d2409030000
     007c000500010b940e5000530000774b115e00550000945b00010084008400840084008400840
     0840084008400840084008400840084008400840084008400840084008400840084000101b513
     870fbc005c000102bd0fd4005c000000000fb7005c000000000000000000000000009a0000475
     601caf16e0000004300001d380000004c000020fa000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000003e32020902020
     1b2000000591bae00000000000000000000000000000000000000000000000000000000000000
     00017400000000000000000000000000000000000003e80464000500000000000000040000000
     0000000000000000000000000005b000500000000f78ef7f3f7e40000000000000000f6180018
     0077005f00000000f618000013240000088a0884087b000013240000000000051bc3000000000
     0480000963d0000005d000028d30000000000000009000000000000002a000000920000b97500
     0000000000000000160000000000000021000000000000001e000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000046504e10000000001740000000003e80000000000000000000000000000009100
     0044230000003600001b7f00010a68000013240000008f0000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000006f0891088e08840884001c07d04e20f
     c18d5080001000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000013fb
 - Growatt new layout processing
     - decrypt       :  True
     - offset        :  6
     - record layout :  T06NNNNXSPH

 - Grott data record date/time processing started
 - date-time:  2024-03-26T13:36:09
 - Grott values retrieved:
     -  datalogserial        :  XGD6CK53F3
     -  pvserial             :  TPJ5CKP0KY
     -  pvstatus             :  5
     -  pvpowerin            :  6850.0
     -  pv1voltage           :  366.4
     -  pv1current           :  8.3
     -  pv1watt              :  3053.9
     -  pv2voltage           :  444.6
     -  pv2current           :  8.5
     -  pv2watt              :  3797.9
     -  pvpowerout           :  6597.3
     -  pvfrequentie         :  50.0
     -  pvgridvoltage        :  402.8
     -  pvgridcurrent        :  9.2
     -  pvgridpower          :  6623.7
     -  pvgridvoltage2       :  405.2
     -  pvgridcurrent2       :  9.2
     -  pvgridpower2         :  0.0
     -  pvgridvoltage3       :  402.3
     -  pvgridcurrent3       :  9.2
     -  pvgridpower3         :  0.0
     -  totworktime          :  4177.4
     -  eactoday             :  15.4
     -  pvenergytoday        :  15.4
     -  eactotal             :  1826.2
     -  epvtotal             :  1592.2
     -  epv1today            :  6.7
     -  epv1total            :  748.0
     -  epv2today            :  7.6
     -  epv2total            :  844.2
     -  pvtemperature        :  52.1
     -  pvipmtemperature     :  51.4
     -  pvboosttemp          :  43.4
     -  bat_dsp              :  8.9
     -  eacharge_today       :  0.0
     -  eacharge_total       :  37.2
     -  batterytype          :  0
     -  uwsysworkmode        :  5
     -  systemfaultword0     :  0
     -  systemfaultword1     :  0
     -  systemfaultword2     :  0
     -  systemfaultword3     :  4
     -  systemfaultword4     :  0
     -  systemfaultword5     :  0
     -  systemfaultword6     :  0
     -  systemfaultword7     :  0
     -  pdischarge1          :  0.0
     -  p1charge1            :  0.0
     -  vbat                 :  9.1
     -  SOC                  :  0.1
     -  pactouserr           :  0.0
     -  pactousertot         :  0.0
     -  pactogridr           :  6300.0
     -  pactogridtot         :  6300.0
     -  plocaloadr           :  490.0
     -  plocaloadtot         :  490.0
     -  spdspstatus          :  0.5
     -  spbusvolt            :  710.7
     -  etouser_tod          :  7.2
     -  etouser_tot          :  3846.1
     -  etogrid_tod          :  9.3
     -  etogrid_tot          :  1045.1
     -  edischarge1_tod      :  0.0
     -  edischarge1_tot      :  0.9
     -  eharge1_tod          :  0.0
     -  eharge1_tot          :  4.2
     -  elocalload_tod       :  14.6
     -  elocalload_tot       :  4747.7
 - MQTT jsonmsg: 
         {"device": "TPJ5CKP0KY", "time": "2024-03-26T13:36:09", "buffered": "no",
         "values": {"datalogserial": "XGD6CK53F3", "pvserial": "TPJ5CKP0KY",
         "pvstatus": 5, "pvpowerin": 68500, "pv1voltage": 3664, "pv1current": 83,
         "pv1watt": 30539, "pv2voltage": 4446, "pv2current": 85, "pv2watt": 37979,
         "pvpowerout": 65973, "pvfrequentie": 4999, "pvgridvoltage": 4028,
         "pvgridcurrent": 92, "pvgridpower": 66237, "pvgridvoltage2": 4052,
         "pvgridcurrent2": 92, "pvgridpower2": 0, "pvgridvoltage3": 4023,
         "pvgridcurrent3": 92, "pvgridpower3": 0, "totworktime": 30077294,
         "eactoday": 154, "pvenergytoday": 154, "eactotal": 18262, "epvtotal": 15922,
         "epv1today": 67, "epv1total": 7480, "epv2today": 76, "epv2total": 8442,
         "pvtemperature": 521, "pvipmtemperature": 514, "pvboosttemp": 434,
         "bat_dsp": 89, "eacharge_today": 0, "eacharge_total": 372, "batterytype": 0,
         "uwsysworkmode": 5, "systemfaultword0": 0, "systemfaultword1": 0,
         "systemfaultword2": 0, "systemfaultword3": 4, "systemfaultword4": 0,
         "systemfaultword5": 0, "systemfaultword6": 0, "systemfaultword7": 0,
         "pdischarge1": 0, "p1charge1": 0, "vbat": 91, "SOC": 5, "pactouserr": 0,
         "pactousertot": 0, "pactogridr": 63000, "pactogridtot": 63000, "plocaloadr":
         4900, "plocaloadtot": 4900, "spdspstatus": 5, "spbusvolt": 7107,
         "etouser_tod": 72, "etouser_tot": 38461, "etogrid_tod": 93, "etogrid_tot":
         10451, "edischarge1_tod": 0, "edischarge1_tot": 9, "eharge1_tod": 0,
         "eharge1_tot": 42, "elocalload_tod": 146, "elocalload_tot": 47477}}
 - Grott MQTT topic used : energy/growatt
 - MQTT message message sent
 - Grott Send data to PVOutput disabled 
 - Grott InfluxDB publihing started
 - Grott original time :  2024-03-26T13:36:09 adjusted UTC time for influx :  2024-03-26T12:36:09
 - Grott influxdb jsonmsg: 
         [{'measurement': 'TPJ5CKP0KY', 'time': '2024-03-26T12:36:09', 'fields':
         {'datalogserial': 'XGD6CK53F3', 'pvserial': 'TPJ5CKP0KY', 'pvstatus': 5,
         'pvpowerin': 68500, 'pv1voltage': 3664, 'pv1current': 83, 'pv1watt': 30539,
         'pv2voltage': 4446, 'pv2current': 85, 'pv2watt': 37979, 'pvpowerout': 65973,
         'pvfrequentie': 4999, 'pvgridvoltage': 4028, 'pvgridcurrent': 92,
         'pvgridpower': 66237, 'pvgridvoltage2': 4052, 'pvgridcurrent2': 92,
         'pvgridpower2': 0, 'pvgridvoltage3': 4023, 'pvgridcurrent3': 92,
         'pvgridpower3': 0, 'totworktime': 30077294, 'eactoday': 154,
         'pvenergytoday': 154, 'eactotal': 18262, 'epvtotal': 15922, 'epv1today': 67,
         'epv1total': 7480, 'epv2today': 76, 'epv2total': 8442, 'pvtemperature': 521,
         'pvipmtemperature': 514, 'pvboosttemp': 434, 'bat_dsp': 89,
         'eacharge_today': 0, 'eacharge_total': 372, 'batterytype': 0,
         'uwsysworkmode': 5, 'systemfaultword0': 0, 'systemfaultword1': 0,
         'systemfaultword2': 0, 'systemfaultword3': 4, 'systemfaultword4': 0,
         'systemfaultword5': 0, 'systemfaultword6': 0, 'systemfaultword7': 0,
         'pdischarge1': 0, 'p1charge1': 0, 'vbat': 91, 'SOC': 5, 'pactouserr': 0,
         'pactousertot': 0, 'pactogridr': 63000, 'pactogridtot': 63000, 'plocaloadr':
         4900, 'plocaloadtot': 4900, 'spdspstatus': 5, 'spbusvolt': 7107,
         'etouser_tod': 72, 'etouser_tot': 38461, 'etogrid_tod': 93, 'etogrid_tot':
         10451, 'edischarge1_tod': 0, 'edischarge1_tot': 9, 'eharge1_tod': 0,
         'eharge1_tot': 42, 'elocalload_tod': 146, 'elocalload_tot': 47477}}]
 - Grott write to influxdb v2
 - Grott extension processing disabled 

 - Growatt packet received:
      <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 5279), raddr=('172.17.0.1', 37984)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 51106), raddr=('47.91.67.66', 5279)>
 - Growatt original Data:
     \x00\xe8\x00\x06\x01\x0e\x01\x20\x1f\x35\x2b\x41\x22\x3f\x41\x74\x34\x5c\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x3b\x27\x2b\x41\x37\x0c\x22\x5f\x3c\x38\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x79\x77\x6e\x4a\x56\x61\x77\xa9
     \x74\x74\x47\xf4\x6f\x77\x68\x7a\x74\x47\x7b\x75\x77\x61\x7d\x68\x47\x72\x6f
     \x2a\x61\x74\x74\x1e\x72\x6f\x77\x38\x8b\x8b\xec\x01\x90\x88\xce\x04\x8b\xb8
     \xdc\xf9\x77\x61\x20\xf9\x47\x72\x3e\x56\x61\x74\x25\xff\x8d\x90\x88\x0d\x8b
     \x8b\xb1\x36\x90\x88\x98\xaf\x8b\xb8\x8e\x76\x88\x9e\x88\x54\xb8\x8d\x93\x6c
     \x9e\x8b\x7d\x3e\x72\x6f\x80\x04\x8b\x8b\xb7\x4c\x90\x88\x9d\x6f\x74\x47\x73
     \x9c\x77\x61\x7b\xcf\x47\x72\x60\xb1\x61\x74\x7b\xfa\x72\x6f\xee\xaa\x74\x74
     \x6b\x27\x6f\x77\x62\x62\x74\x47\x19\x5d\x77\x61\x96\xb5\x47\x72\xa9\x57\x61
     \x74\x1a\x0f\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x93\xf5
 - Grott automatic protocol detection
 - Grott data record length 278
 - layout   :  T060120
 - Record layout used :  T060120
 - Growatt data decrypted V2
 - Grott Growatt data decrypted
 - Growatt plain data:
     00e80006010e012058474436434b3533463300000000000000000000000000000000000000005
     4504a35434b50304b59000000000000000000000000000000000000000018031a0d240e00c800
     0000860000090e0000091a0000091c0000005d0000005900000059ffffab73ffffaf70ffffae9
     60000548d00005121000051b8ffffff6cfffff644fffff9dbfffffc19fffffc20fffffc1bffff
     09790000f765fffff03efffffc1b000001f300000fbb00000fc600000fbd000099cb00002c550
     000031600006b320000e2c10000c62000006e4800000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     0000000000000fc82
 - Growatt new layout processing
     - decrypt       :  True
     - offset        :  6
     - record layout :  T060120

 - Grott data record date/time processing started
 - date-time:  2024-03-26T13:36:14
 - Grott values retrieved:
     -  datalogserial        :  XGD6CK53F3
     -  pvserial             :  TPJ5CKP0KY
     -  voltage_l1           :  231.8
     -  voltage_l2           :  233.0
     -  voltage_l3           :  233.2
     -  Current_l1           :  9.3
     -  Current_l2           :  8.9
     -  Current_l3           :  8.9
     -  act_power_l1         :  -2164.5
     -  act_power_l2         :  -2062.4
     -  act_power_l3         :  -2084.2
     -  app_power_l1         :  2164.5
     -  app_power_l2         :  2076.9
     -  app_power_l3         :  2092.0
     -  react_power_l1       :  -14.8
     -  react_power_l2       :  -249.2
     -  react_power_l3       :  -157.3
     -  powerfactor_l1       :  -1.0
     -  powerfactor_l2       :  -1.0
     -  powerfactor_l3       :  -1.0
     -  pos_rev_act_power    :  -6311.1
     -  pos_act_power        :  -6311.1
     -  rev_act_power        :  -6311.1
     -  app_power            :  6333.3
     -  react_power          :  -403.4
     -  powerfactor          :  -1.0
     -  frequency            :  49.9
     -  L1-2_voltage         :  402.7
     -  L2-3_voltage         :  403.8
     -  L3-1_voltage         :  402.9
     -  pos_act_energy       :  3937.1
     -  rev_act_energy       :  1134.9
 - MQTT jsonmsg: 
         {"device": "XGD6CK53F3", "time": "2024-03-26T13:36:14", "buffered": "no",
         "values": {"datalogserial": "XGD6CK53F3", "pvserial": "TPJ5CKP0KY",
         "voltage_l1": 2318, "voltage_l2": 2330, "voltage_l3": 2332, "Current_l1":
         93, "Current_l2": 89, "Current_l3": 89, "act_power_l1": -21645,
         "act_power_l2": -20624, "act_power_l3": -20842, "app_power_l1": 21645,
         "app_power_l2": 20769, "app_power_l3": 20920, "react_power_l1": -148,
         "react_power_l2": -2492, "react_power_l3": -1573, "powerfactor_l1": -999,
         "powerfactor_l2": -992, "powerfactor_l3": -997, "pos_rev_act_power": -63111,
         "pos_act_power": -63111, "rev_act_power": -63111, "app_power": 63333,
         "react_power": -4034, "powerfactor": -997, "frequency": 499, "L1-2_voltage":
         4027, "L2-3_voltage": 4038, "L3-1_voltage": 4029, "pos_act_energy": 39371,
         "rev_act_energy": 11349}}
 - Grott MQTT topic used : energy/growatt
 - MQTT message message sent
 - Grott Send data to PVOutput disabled 
 - Grott InfluxDB publihing started
 - Grott original time :  2024-03-26T13:36:14 adjusted UTC time for influx :  2024-03-26T12:36:14
 - Grott influxdb jsonmsg: 
         [{'measurement': 'XGD6CK53F3', 'time': '2024-03-26T12:36:14', 'fields':
         {'datalogserial': 'XGD6CK53F3', 'pvserial': 'TPJ5CKP0KY', 'voltage_l1':
         2318, 'voltage_l2': 2330, 'voltage_l3': 2332, 'Current_l1': 93,
         'Current_l2': 89, 'Current_l3': 89, 'act_power_l1': -21645, 'act_power_l2':
         -20624, 'act_power_l3': -20842, 'app_power_l1': 21645, 'app_power_l2':
         20769, 'app_power_l3': 20920, 'react_power_l1': -148, 'react_power_l2':
         -2492, 'react_power_l3': -1573, 'powerfactor_l1': -999, 'powerfactor_l2':
         -992, 'powerfactor_l3': -997, 'pos_rev_act_power': -63111, 'pos_act_power':
         -63111, 'rev_act_power': -63111, 'app_power': 63333, 'react_power': -4034,
         'powerfactor': -997, 'frequency': 499, 'L1-2_voltage': 4027, 'L2-3_voltage':
         4038, 'L3-1_voltage': 4029, 'pos_act_energy': 39371, 'rev_act_energy':
         11349}}]
 - Grott write to influxdb v2
 - Grott extension processing disabled 

 - Growatt packet received:
      <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 5279), raddr=('172.17.0.1', 37984)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 51106), raddr=('47.91.67.66', 5279)>
 - Growatt original Data:
     \x03\x4d\x00\x06\x02\x41\x01\x36\x1f\x35\x2b\x41\x22\x3f\x41\x74\x34\x5c\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x3b\x27\x2b\x41\x37\x0c\x22\x5f\x3c\x38\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x79\x77\x6e\x4a\x56\x49\x75\x18
     \x6c\x0d\xd3\x72\x6a\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x49\x2f\x6f\x26\x70\x4d\x74\x13\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x75\x42\xca\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\xbb\x0e\x90\x88
     \x9b\x5a\x74\x47\x61\xe8\x78\xdf\x7b\xa5\x48\xc5\x6f\x2d\x61\x2e\x74\x1c\x8d
     \x90\x7a\x69\x76\x7e\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x0d\xd2\x08\x7e\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x5d\x61\x74\x74\x47\x72\x6f\x77\x68\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x1e
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\xbc\x22
 - Grott automatic protocol detection
 - Grott data record length 585
 - layout   :  T060136XSPH
 - no matching record layout found, try generic
 - Record layout used :  T060136XSPH
 - Growatt data decrypted V2
 - Grott Growatt data decrypted
 - Growatt plain data:
     034d00060241013658474436434b3533463300000000000000000000000000000000000000005
     4504a35434b50304b59000000000000000000000000000000000000000018031a0d2426027918
     799400050000000000000000000000000000000000000e5d00511139005400000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000105b80000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000fc7cfffffa2e000013870fbe0fd10fb7005a005a005bffff0d0802
     0a000000000000000000000000000000000000000079957a11000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000002a00000000000
     00009000000000000000000590000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000ce4d
 - Grott data ack record or data record not defined no processing done

 - Growatt packet received:
      <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 5279), raddr=('172.17.0.1', 37984)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 51106), raddr=('47.91.67.66', 5279)>
 - Growatt original Data:
     \x03\x4e\x00\x06\x02\x41\x01\x36\x1f\x35\x2b\x41\x22\x3f\x41\x74\x34\x5c\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x3b\x27\x2b\x41\x37\x0c\x22\x5f\x3c\x38\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x79\x77\x6e\x41\x6e\x75\x75\x18
     \x6c\x0d\xd3\x72\x6a\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x49\x3b\x6f\x3f\x70\x15\x74\x0d\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\xaf\xa2\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x99\x77\x90\x88
     \x9d\x95\x74\x47\x61\xea\x78\xa0\x7b\xa5\x48\xdd\x6f\x27\x61\x24\x74\x17\x8d
     \x90\x5d\xd9\x76\x7e\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x0d\xd2\x08\x7e\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x5d\x61\x74\x74\x47\x72\x6f\x77\x68\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x1f
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x0e\x11
 - Grott automatic protocol detection
 - Grott data record length 585
 - layout   :  T060136XSPH
 - no matching record layout found, try generic
 - Record layout used :  T060136XSPH
 - Growatt data decrypted V2
 - Grott Growatt data decrypted
 - Growatt plain data:
     034e00060241013658474436434b3533463300000000000000000000000000000000000000005
     4504a35434b50304b59000000000000000000000000000000000000000018031a061c1a027918
     799400050000000000000000000000000000000000000e4900481161004a00000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     000000000e8d00000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000de05fffffce1000013850fc10fd10faf005000500050ffff2ab802
     0a000000000000000000000000000000000000000079957a11000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000002a00000000000
     00009000000000000000000580000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     000000000007c7e
 - Grott data ack record or data record not defined no processing done

 - Growatt packet received:
      <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 5279), raddr=('172.17.0.1', 37984)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 51106), raddr=('47.91.67.66', 5279)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 5279), raddr=('172.17.0.1', 37984)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 51106), raddr=('47.91.67.66', 5279)>
 - Growatt original Data:
     \x03\x4f\x00\x06\x02\x41\x01\x36\x1f\x35\x2b\x41\x22\x3f\x41\x74\x34\x5c\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x3b\x27\x2b\x41\x37\x0c\x22\x5f\x3c\x38\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x79\x77\x6e\x41\x6f\x4c\x75\x18
     \x6c\x0d\xd3\x72\x6a\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x49\x36\x6f\x36\x70\xf0\x74\x06\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x97\x8e\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x8c\x23\x90\x88
     \x9f\xf3\x74\x47\x61\xe7\x78\xd9\x7b\xb9\x48\xd9\x6f\x3e\x61\x3d\x74\x0e\x8d
     \x90\x49\xc5\x76\x7c\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x0d\xd2\x08\x7e\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x5d\x61\x74\x74\x47\x72\x6f\x77\x68\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x1e
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x2a\xde
 - Grott automatic protocol detection
 - Grott data record length 585
 - layout   :  T060136XSPH
 - no matching record layout found, try generic
 - Record layout used :  T060136XSPH
 - Growatt data decrypted V2
 - Grott Growatt data decrypted
 - Growatt plain data:
     034f00060241013658474436434b3533463300000000000000000000000000000000000000005
     4504a35434b50304b59000000000000000000000000000000000000000018031a061d23027918
     799400050000000000000000000000000000000000000e4400411184004100000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     000000000d0fc0000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000cb51fffffe87000013880fb80fcd0fab004900490049ffff3ea402
     08000000000000000000000000000000000000000079957a11000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000002a00000000000
     00009000000000000000000590000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     0000000000058b1
 - Grott data ack record or data record not defined no processing done

 - Growatt packet received:
      <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 5279), raddr=('172.17.0.1', 37984)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 51106), raddr=('47.91.67.66', 5279)>
 - Growatt original Data:
     \x03\x50\x00\x06\x02\x41\x01\x36\x1f\x35\x2b\x41\x22\x3f\x41\x74\x34\x5c\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x3b\x27\x2b\x41\x37\x0c\x22\x5f\x3c\x38\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x79\x77\x6e\x41\x6c\x5b\x75\x18
     \x6c\x0d\xd3\x72\x6a\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x49\x04\x6f\x42\x70\x25\x74\x72\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\xf6\xdd\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\xef\x95\x6f\x77
     \x60\xed\x74\x47\x61\xe5\x78\xd7\x7b\xb8\x48\xde\x6f\x4b\x61\x48\x74\x7b\x8d
     \x90\x15\xf5\x76\x77\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x0d\xd2\x08\x7e\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x5d\x61\x74\x74\x47\x72\x6f\x77\x68\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x10
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x80\xe2
 - Grott automatic protocol detection
 - Grott data record length 585
 - layout   :  T060136XSPH
 - no matching record layout found, try generic
 - Record layout used :  T060136XSPH
 - Growatt data decrypted V2
 - Grott Growatt data decrypted
 - Growatt plain data:
     035000060241013658474436434b3533463300000000000000000000000000000000000000005
     4504a35434b50304b59000000000000000000000000000000000000000018031a061e34027918
     799400050000000000000000000000000000000000000e7600351151003500000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     000000000b1af0000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000a8e7000001990000138a0fb60fcc0fac003c003c003cffff629402
     03000000000000000000000000000000000000000079957a11000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000002a00000000000
     00009000000000000000000570000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000f28d
 - Grott data ack record or data record not defined no processing done

 - Growatt packet received:
      <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 5279), raddr=('172.17.0.1', 37984)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 51106), raddr=('47.91.67.66', 5279)>
 - Growatt original Data:
     \x00\xd7\x00\x06\x03\x3f\x01\x04\x1f\x35\x2b\x41\x22\x3f\x41\x74\x34\x5c\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x3b\x27\x2b\x41\x37\x0c\x22\x5f\x3c\x38\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x79\x77\x6e\x41\x6d\x76\x74\x61
     \x74\x74\x3b\x72\x6a\x77\x61\xc7\xab\x49\xec\x6f\x42\x61\x74\x25\x21\x63\x02
     \x77\x57\x74\x74\x25\xfc\x6f\x76\x61\xf0\x74\xc3\x72\xeb\x77\xe5\x74\xf0\x47
     \xf6\x6f\xf3\x61\xf0\x74\xc3\x72\xeb\x77\xe5\x74\xf0\x47\xf6\x6f\xf3\x61\xf0
     \x74\xc3\x72\xeb\x77\xe5\x74\xf0\x47\xf6\x6f\xf3\x61\xf0\x74\xc3\x72\x6f\xdd
     \x9a\x67\xfe\x48\xc5\x6f\x4a\x61\x74\xdf\xed\x7d\xa0\x77\x5c\x74\x74\x47\x72
     \x60\xc3\x61\x49\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\xeb\x74
     \x47\x35\x34\x76\xab\x87\xbb\x47\x72\x6f\x31\x61\x74\x69\x7c\x72\x6f\x77\x2e
     \x74\x74\x67\x8f\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x49\x59\x76
     \x75\x46\x85\x6e\xc4\x61\x74\x74\x11\x69\xc4\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x46\x06\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x77\xaf\x76\x0b\x77\x64\x74\x74\x47\x72\x6f\x77\x61
     \x70\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x37
     \x77\x64\x74\x74\x47\x72\x95\x1f\x9b\xa3\x8e\x90\x72\x6f\x77\x61\x74\x74\x47
     \x72\xf1\x8b\x61\x69\x74\xc1\x72\xed\x77\x61\x74\x74\xd9\x8e\x6f\x77\x75\x24
     \x74\x47\x77\xda\x72\xce\x71\xdf\x47\x72\x7b\x27\x61\x74\x74\x47\x72\x6a\x6c
     \xa1\x74\x74\x47\x72\x6f\x3f\x61\x74\xe2\x7a\x72\x6f\x77\x00\x74\x74\x6f\xa5
     \x6f\x77\x61\x74\x74\x47\x72\x66\x77\x61\x74\x74\x47\x72\x6f\x5d\x61\x74\x74
     \xd5\x72\x6f\xce\x14\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x50\x72\x6f\x77\x61
     \x74\x74\x47\x50\x6f\x77\x61\x74\x74\x47\x72\x70\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x76\x0a\x73\x80\x74\x74
     \x47\x72\x6e\x03\x61\x74\x74\x47\x71\x87\x77\x61\x74\x74\x47\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\xf7\x74\x74\x03\x5a\x6f\x77\x61\x42\x74\x47\x69\x10
     \x77\x61\xdf\x6c\x47\x72\x63\x6b\x61\x74\x74\xd2\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x1d\x6a\xc7\x64\xde\x71
     \xe1\x77\xc9\x77\x7d\x73\xa4\x09\x52\x93\x6f\xb4\x7c\x74\x46\x72\x6f\x77\x61
     \x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x6f\x7a\x74
 - Grott automatic protocol detection
 - Grott data record length 839
 - layout   :  T060104XSPH
 - no matching record layout found, try generic
 - Record layout used :  T06NNNNXSPH
 - Growatt data decrypted V2
 - Grott Growatt data decrypted
 - Growatt plain data:
     00d70006033f010458474436434b3533463300000000000000000000000000000000000000005
     4504a35434b50304b59000000000000000000000000000000000000000018031a061f19030000
     007c00050000b3df0e9e003500005166116d00360000628e00010084008400840084008400840
     08400840084008400840084008400840084008400840084008400840084008400840000aafb13
     8a0fb7003d0000abaa0fcf003d000000000fb4003d000000000000000000000000009f0000475
     b01caf3cf0000004600001d3b0000004f000020fd000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000003e38020101f70
     1b3000000561bab00000000000000000000000000000000000000000000000000000000000000
     00017400000000000000000000000000000000000003e80464000500000000000000040000000
     00000000000000000000000000058000500000000fa68fad7fad700000000000000009efc001d
     00860082000000009efc00001450000005b505af05ab000014500000000000051bc0000000000
     0480000963d00000061000028d70000000000000009000000000000002a000000920000b97500
     0000000000000000170000000000000022000000000000001f000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000046504e10000000001740000000003e80000000000000000000000000000009600
     0044280000003600001b7f0000ab1800000c1c000000950000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000006f05b005aa05a605a6001c07d04e20f
     c18d5080001000000000000000000000000000000000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     0000000000000000000000000000000000000000000000000000000000d15
 - Growatt new layout processing
     - decrypt       :  True
     - offset        :  6
     - record layout :  T06NNNNXSPH

 - Grott data record date/time processing started
 - date-time:  2024-03-26T06:31:25
 - Grott values retrieved:
     -  datalogserial        :  XGD6CK53F3
     -  pvserial             :  TPJ5CKP0KY
     -  pvstatus             :  5
     -  pvpowerin            :  4604.7
     -  pv1voltage           :  374.2
     -  pv1current           :  5.3
     -  pv1watt              :  2083.8
     -  pv2voltage           :  446.1
     -  pv2current           :  5.4
     -  pv2watt              :  2523.0
     -  pvpowerout           :  4377.1
     -  pvfrequentie         :  50.0
     -  pvgridvoltage        :  402.3
     -  pvgridcurrent        :  6.1
     -  pvgridpower          :  4394.6
     -  pvgridvoltage2       :  404.7
     -  pvgridcurrent2       :  6.1
     -  pvgridpower2         :  0.0
     -  pvgridvoltage3       :  402.0
     -  pvgridcurrent3       :  6.1
     -  pvgridpower3         :  0.0
     -  totworktime          :  4177.5
     -  eactoday             :  15.9
     -  pvenergytoday        :  15.9
     -  eactotal             :  1826.7
     -  epvtotal             :  1592.8
     -  epv1today            :  7.0
     -  epv1total            :  748.3
     -  epv2today            :  7.9
     -  epv2total            :  844.5
     -  pvtemperature        :  51.3
     -  pvipmtemperature     :  50.3
     -  pvboosttemp          :  43.5
     -  bat_dsp              :  8.6
     -  eacharge_today       :  0.0
     -  eacharge_total       :  37.2
     -  batterytype          :  0
     -  uwsysworkmode        :  5
     -  systemfaultword0     :  0
     -  systemfaultword1     :  0
     -  systemfaultword2     :  0
     -  systemfaultword3     :  4
     -  systemfaultword4     :  0
     -  systemfaultword5     :  0
     -  systemfaultword6     :  0
     -  systemfaultword7     :  0
     -  pdischarge1          :  0.0
     -  p1charge1            :  0.0
     -  vbat                 :  8.8
     -  SOC                  :  0.1
     -  pactouserr           :  0.0
     -  pactousertot         :  0.0
     -  pactogridr           :  4070.0
     -  pactogridtot         :  4070.0
     -  plocaloadr           :  520.0
     -  plocaloadtot         :  520.0
     -  spdspstatus          :  0.5
     -  spbusvolt            :  710.4
     -  etouser_tod          :  7.2
     -  etouser_tot          :  3846.1
     -  etogrid_tod          :  9.7
     -  etogrid_tot          :  1045.5
     -  edischarge1_tod      :  0.0
     -  edischarge1_tot      :  0.9
     -  eharge1_tod          :  0.0
     -  eharge1_tot          :  4.2
     -  elocalload_tod       :  14.6
     -  elocalload_tot       :  4747.7
 - MQTT jsonmsg: 
         {"device": "TPJ5CKP0KY", "time": "2024-03-26T06:31:25", "buffered": "no",
         "values": {"datalogserial": "XGD6CK53F3", "pvserial": "TPJ5CKP0KY",
         "pvstatus": 5, "pvpowerin": 46047, "pv1voltage": 3742, "pv1current": 53,
         "pv1watt": 20838, "pv2voltage": 4461, "pv2current": 54, "pv2watt": 25230,
         "pvpowerout": 43771, "pvfrequentie": 5002, "pvgridvoltage": 4023,
         "pvgridcurrent": 61, "pvgridpower": 43946, "pvgridvoltage2": 4047,
         "pvgridcurrent2": 61, "pvgridpower2": 0, "pvgridvoltage3": 4020,
         "pvgridcurrent3": 61, "pvgridpower3": 0, "totworktime": 30077903,
         "eactoday": 159, "pvenergytoday": 159, "eactotal": 18267, "epvtotal": 15928,
         "epv1today": 70, "epv1total": 7483, "epv2today": 79, "epv2total": 8445,
         "pvtemperature": 513, "pvipmtemperature": 503, "pvboosttemp": 435,
         "bat_dsp": 86, "eacharge_today": 0, "eacharge_total": 372, "batterytype": 0,
         "uwsysworkmode": 5, "systemfaultword0": 0, "systemfaultword1": 0,
         "systemfaultword2": 0, "systemfaultword3": 4, "systemfaultword4": 0,
         "systemfaultword5": 0, "systemfaultword6": 0, "systemfaultword7": 0,
         "pdischarge1": 0, "p1charge1": 0, "vbat": 88, "SOC": 5, "pactouserr": 0,
         "pactousertot": 0, "pactogridr": 40700, "pactogridtot": 40700, "plocaloadr":
         5200, "plocaloadtot": 5200, "spdspstatus": 5, "spbusvolt": 7104,
         "etouser_tod": 72, "etouser_tot": 38461, "etogrid_tod": 97, "etogrid_tot":
         10455, "edischarge1_tod": 0, "edischarge1_tot": 9, "eharge1_tod": 0,
         "eharge1_tot": 42, "elocalload_tod": 146, "elocalload_tot": 47477}}
 - Grott MQTT topic used : energy/growatt
 - MQTT message message sent
 - Grott Send data to PVOutput disabled 
 - Grott InfluxDB publihing started
 - Grott original time :  2024-03-26T06:31:25 adjusted UTC time for influx :  2024-03-26T05:31:25
 - Grott influxdb jsonmsg: 
         [{'measurement': 'TPJ5CKP0KY', 'time': '2024-03-26T05:31:25', 'fields':
         {'datalogserial': 'XGD6CK53F3', 'pvserial': 'TPJ5CKP0KY', 'pvstatus': 5,
         'pvpowerin': 46047, 'pv1voltage': 3742, 'pv1current': 53, 'pv1watt': 20838,
         'pv2voltage': 4461, 'pv2current': 54, 'pv2watt': 25230, 'pvpowerout': 43771,
         'pvfrequentie': 5002, 'pvgridvoltage': 4023, 'pvgridcurrent': 61,
         'pvgridpower': 43946, 'pvgridvoltage2': 4047, 'pvgridcurrent2': 61,
         'pvgridpower2': 0, 'pvgridvoltage3': 4020, 'pvgridcurrent3': 61,
         'pvgridpower3': 0, 'totworktime': 30077903, 'eactoday': 159,
         'pvenergytoday': 159, 'eactotal': 18267, 'epvtotal': 15928, 'epv1today': 70,
         'epv1total': 7483, 'epv2today': 79, 'epv2total': 8445, 'pvtemperature': 513,
         'pvipmtemperature': 503, 'pvboosttemp': 435, 'bat_dsp': 86,
         'eacharge_today': 0, 'eacharge_total': 372, 'batterytype': 0,
         'uwsysworkmode': 5, 'systemfaultword0': 0, 'systemfaultword1': 0,
         'systemfaultword2': 0, 'systemfaultword3': 4, 'systemfaultword4': 0,
         'systemfaultword5': 0, 'systemfaultword6': 0, 'systemfaultword7': 0,
         'pdischarge1': 0, 'p1charge1': 0, 'vbat': 88, 'SOC': 5, 'pactouserr': 0,
         'pactousertot': 0, 'pactogridr': 40700, 'pactogridtot': 40700, 'plocaloadr':
         5200, 'plocaloadtot': 5200, 'spdspstatus': 5, 'spbusvolt': 7104,
         'etouser_tod': 72, 'etouser_tot': 38461, 'etogrid_tod': 97, 'etogrid_tot':
         10455, 'edischarge1_tod': 0, 'edischarge1_tot': 9, 'eharge1_tod': 0,
         'eharge1_tot': 42, 'elocalload_tod': 146, 'elocalload_tot': 47477}}]
 - Grott write to influxdb v2
 - Grott extension processing disabled 

 - Growatt packet received:
      <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 5279), raddr=('172.17.0.1', 37984)>
 - Data less then minimum record length, data not processed

 - Growatt packet received:
      <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 51106), raddr=('47.91.67.66', 5279)>
 - Growatt original Data:
     \x00\xe9\x00\x06\x01\x0e\x01\x20\x1f\x35\x2b\x41\x22\x3f\x41\x74\x34\x5c\x77
     \x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72
     \x3b\x27\x2b\x41\x37\x0c\x22\x5f\x3c\x38\x74\x74\x47\x72\x6f\x77\x61\x74\x74
     \x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x79\x77\x6e\x41\x6d\x4d\x77\xa9
     \x74\x74\x47\xf4\x6f\x77\x68\x66\x74\x47\x7b\x71\x77\x61\x7d\x68\x47\x72\x6f
     \x4b\x61\x74\x74\x7f\x72\x6f\x77\x59\x8b\x8b\x8e\x7a\x90\x88\xac\x1b\x8b\xb8
     \xbf\x4c\x77\x61\x43\x62\x47\x72\x5c\xc5\x61\x74\x47\xd6\x8d\x90\x89\x80\x8b
     \x8b\xb2\xee\x90\x88\x98\x4a\x8b\xb8\x8e\x76\x88\x9e\x88\x59\xb8\x8d\x93\x56
     \x9e\x8b\x17\xdd\x72\x6f\xe8\x2e\x8b\x8b\xa9\x2e\x90\x88\x9d\x6b\x74\x47\x73
     \x9c\x77\x61\x7b\xb5\x47\x72\x60\xbe\x61\x74\x7b\xf8\x72\x6f\xee\xaa\x74\x74
     \x6b\x2b\x6f\x77\x62\x62\x74\x47\x19\x5c\x77\x61\x96\xb1\x47\x72\xa9\x52\x61
     \x74\x1a\x0e\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f
     \x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47
     \x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x6f\x77\x61\x74
     \x74\x47\x72\x6f\x77\x61\x74\x74\x47\x72\x82\xe8
 - Grott automatic protocol detection
 - Grott data record length 278
 - layout   :  T060120
 - Record layout used :  T060120
 - Growatt data decrypted V2
 - Grott Growatt data decrypted
 - Growatt plain data:
     00e90006010e012058474436434b3533463300000000000000000000000000000000000000005
     4504a35434b50304b59000000000000000000000000000000000000000018031a061f2200c800
     000086000009120000091e0000091c0000003c0000003800000038ffffc908ffffcd6fffffcd2
     300003716000033b200003391fffffee1fffff59cfffff93efffffc19fffffc2dfffffc21ffff
     639a00009f4fffffee5cfffffc1f000001f300000fc100000fc900000fbf000099cb00002c590
     000031600006b330000e2c50000c62500006e4900000000000000000000000000000000000000
     00000000000000000000000000000000000000000000000000000000000000000000000000000
     0000000000000ed9f
 - Growatt new layout processing
     - decrypt       :  True
     - offset        :  6
     - record layout :  T060120

 - Grott data record date/time processing started
 - date-time:  2024-03-26T06:31:34
 - Grott values retrieved:
     -  datalogserial        :  XGD6CK53F3
     -  pvserial             :  TPJ5CKP0KY
     -  voltage_l1           :  232.2
     -  voltage_l2           :  233.4
     -  voltage_l3           :  233.2
     -  Current_l1           :  6.0
     -  Current_l2           :  5.6
     -  Current_l3           :  5.6
     -  act_power_l1         :  -1407.2
     -  act_power_l2         :  -1294.5
     -  act_power_l3         :  -1302.1
     -  app_power_l1         :  1410.2
     -  app_power_l2         :  1323.4
     -  app_power_l3         :  1320.1
     -  react_power_l1       :  -28.7
     -  react_power_l2       :  -266.0
     -  react_power_l3       :  -173.0
     -  powerfactor_l1       :  -1.0
     -  powerfactor_l2       :  -1.0
     -  powerfactor_l3       :  -1.0
     -  pos_rev_act_power    :  -4003.8
     -  pos_act_power        :  -4003.8
     -  rev_act_power        :  -4003.8
     -  app_power            :  4078.3
     -  react_power          :  -451.6
     -  powerfactor          :  -1.0
     -  frequency            :  49.9
     -  L1-2_voltage         :  403.3
     -  L2-3_voltage         :  404.1
     -  L3-1_voltage         :  403.1
     -  pos_act_energy       :  3937.1
     -  rev_act_energy       :  1135.3
 - MQTT jsonmsg: 
         {"device": "XGD6CK53F3", "time": "2024-03-26T06:31:34", "buffered": "no",
         "values": {"datalogserial": "XGD6CK53F3", "pvserial": "TPJ5CKP0KY",
         "voltage_l1": 2322, "voltage_l2": 2334, "voltage_l3": 2332, "Current_l1":
         60, "Current_l2": 56, "Current_l3": 56, "act_power_l1": -14072,
         "act_power_l2": -12945, "act_power_l3": -13021, "app_power_l1": 14102,
         "app_power_l2": 13234, "app_power_l3": 13201, "react_power_l1": -287,
         "react_power_l2": -2660, "react_power_l3": -1730, "powerfactor_l1": -999,
         "powerfactor_l2": -979, "powerfactor_l3": -991, "pos_rev_act_power": -40038,
         "pos_act_power": -40038, "rev_act_power": -40038, "app_power": 40783,
         "react_power": -4516, "powerfactor": -993, "frequency": 499, "L1-2_voltage":
         4033, "L2-3_voltage": 4041, "L3-1_voltage": 4031, "pos_act_energy": 39371,
         "rev_act_energy": 11353}}
 - Grott MQTT topic used : energy/growatt
 - MQTT message message sent
 - Grott Send data to PVOutput disabled 
 - Grott InfluxDB publihing started
 - Grott original time :  2024-03-26T06:31:34 adjusted UTC time for influx :  2024-03-26T05:31:34
 - Grott influxdb jsonmsg: 
         [{'measurement': 'XGD6CK53F3', 'time': '2024-03-26T05:31:34', 'fields':
         {'datalogserial': 'XGD6CK53F3', 'pvserial': 'TPJ5CKP0KY', 'voltage_l1':
         2322, 'voltage_l2': 2334, 'voltage_l3': 2332, 'Current_l1': 60,
         'Current_l2': 56, 'Current_l3': 56, 'act_power_l1': -14072, 'act_power_l2':
         -12945, 'act_power_l3': -13021, 'app_power_l1': 14102, 'app_power_l2':
         13234, 'app_power_l3': 13201, 'react_power_l1': -287, 'react_power_l2':
         -2660, 'react_power_l3': -1730, 'powerfactor_l1': -999, 'powerfactor_l2':
         -979, 'powerfactor_l3': -991, 'pos_rev_act_power': -40038, 'pos_act_power':
         -40038, 'rev_act_power': -40038, 'app_power': 40783, 'react_power': -4516,
         'powerfactor': -993, 'frequency': 499, 'L1-2_voltage': 4033, 'L2-3_voltage':
         4041, 'L3-1_voltage': 4031, 'pos_act_energy': 39371, 'rev_act_energy':
         11353}}]
 - Grott write to influxdb v2
 - Grott extension processing disabled 

 - Growatt packet received:
      <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.2', 5279), raddr=('172.17.0.1', 37984)>
 - Data less then minimum record length, data not processed`
BaumSchorle commented 6 months ago

Same thing happened yesterday as I was writing my comment, everything was fine until 21:19 and then all of sudden the next record shows the time 14:15. I attached a bit of a longer log exctract. grott.log

a restart of grott helps to fix this situation for a couple of hours again. I have no idea where this sudden change in time comes from, but have not looked at the code in detail.

//edit: MQTT received Data the whole night without any issues, as you can see in the screenshot of a data point deliverd via MQTT to HomeAssistant: image

raadjek commented 6 months ago

I have also noticed that the time stamps do not match. In the beginning it was off slightly, but since the grott log itself does not have timestamp. I thought it's a delay in the log. Today morning (09:25am) when I refresh the grott log, last influx db message shows 17:36 of yesterday:

 - Growatt data decrypted V2
     - Grott MQTT topic used : energy/growatt
     - Grott influxdb jsonmsg: 
             [{'measurement': 'TNJ2BLH00U', 'time': '2024-03-26T17:36:16', 'fields':
             {'datalogserial': 'XGD5BH34AJ', 'pvserial': 'TNJ2BLH00U', 'pvstatus': 5,
             'pvpowerin': 22500, 'pv1voltage': 6231, 'pv1current': 36, 'pv1watt': 22567,
             'pv2voltage': 0, 'pv2current': 0, 'pv2watt': 0, 'pvpowerout': 4578,
             'pvfrequentie': 4999, 'pvgridvoltage': 4150, 'pvgridcurrent': 8,
             'pvgridpower': 6991, 'pvgridvoltage2': 4178, 'pvgridcurrent2': 9,
             'pvgridpower2': 0, 'pvgridvoltage3': 4173, 'pvgridcurrent3': 9,
             'pvgridpower3': 0, 'totworktime': 108628570, 'eactoday': 38,
             'pvenergytoday': 38, 'eactotal': 95673, 'epvtotal': 98466, 'epv1today': 50,
             'epv1total': 98466, 'epv2today': 0, 'epv2total': 0, 'pvtemperature': 464,
             'pvipmtemperature': 483, 'pvboosttemp': 478, 'bat_dsp': 2666,
             'eacharge_today': 6, 'eacharge_total': 14805, 'batterytype': 1,
             'uwsysworkmode': 5, 'systemfaultword0': 0, 'systemfaultword1': 0,
             'systemfaultword2': 0, 'systemfaultword3': 0, 'systemfaultword4': 0,
             'systemfaultword5': 0, 'systemfaultword6': 0, 'systemfaultword7': 0,
             'pdischarge1': 0, 'p1charge1': 16400, 'vbat': 2666, 'SOC': 40, 'pactouserr':
             0, 'pactousertot': 0, 'pactogridr': 0, 'pactogridtot': 0, 'plocaloadr':
             6100, 'plocaloadtot': 6100, 'spdspstatus': 5, 'spbusvolt': 7324,
             'etouser_tod': 13, 'etouser_tot': 47982, 'etogrid_tod': 0, 'etogrid_tot':
             31478, 'edischarge1_tod': 28, 'edischarge1_tot': 39205, 'eharge1_tod': 35,
             'eharge1_tot': 42241, 'elocalload_tod': 55, 'elocalload_tot': 111219}}]

I'm running HAOS, so it's difficult (at don't know how) to run grott from command line with some additional parameters.

anoppe commented 6 months ago

For what it's worth: I have had a bad experience with the date/time coming from the inverter and don't trust that anymore. I had the same behavior when the inverter suddenly published results for dates/times earlier that day. My solution was to instruct Grott to use server date/time instead.

BaumSchorle commented 6 months ago

@anoppe thx. for the hint, found the gtime configuration variable in the code and have set it to server now in my docker container. This should hopefully fix this issue!

raadjek commented 6 months ago

Is there any GUI option to use server time (HAOS) instead? Or in /config/grott/grott.ini (which is empty for me)?

BaumSchorle commented 6 months ago

I am not sure how HAOS implementation works, but it is a simple config variable (similar to the other ones in grott)

BaumSchorle commented 6 months ago

Just wanted to confirm that using gtime environment variable in my docker environment solved the problems I had and the system is running stable for days now.

anoppe commented 6 months ago

I still think that Grott should use server time as default to prevent all these kind of issues.

raadjek commented 6 months ago

What would be the value in the grott.ini? Something like? gtime=true Or should something similar go to configuration.yaml to set it as environmental variable? I'm bit lost here. Thanks for directing me to the rigt place.

BaumSchorle commented 6 months ago

gtime=server will do the trick.

BaumSchorle commented 6 months ago

If you add it to the .ini you might just need to use time=server! Not sure how it works with the ini, since I am using the docker environment variables.

raadjek commented 6 months ago

Thanks! really the gtime=server caused error during initialization. Perhaps time=server is correct as you say. I have found 'gtime' in Grott GUI config. Set it to "server" and it seems it works just fine! Grott log shows Grott influxdb jsonmsg timestamp exactly 1 hour behind (I expect it is GMT? Perhaps need to set gtimezone variable too).

Anyway since yesterday afternoon when I updated the setup I see no dropout! Fingers crossed!

johanmeijer commented 6 months ago

Yeah sorry for the confusion, in grott,ini it is time=server. I know internally grott it is called gtime. gtime = "server" is also the setting for (the docker container) environmental variable.

Grott should change the time from the datarecord to the GMT time and use that for influxdb (as standard is being used in time series databases). Your reporting application (like grafana) should again correct it for your local time then,

If things are not going well (e.g the server / container time / time zone settings are not setted right) you can also specify

timezone=Europe/Amsterdam (example) 

in the grott.ini (gtimezone= for evironmental)

If using a container it is recommended to start the container with a time zone (e.g. TZ=Europe/Amsterdam).

johanmeijer commented 6 months ago

To add to the time problems, indeed it seems that same dataloggers are not very good in keeping the time actual.

If the datalogger starts (e.g. in the morning) then Growatt is sending a time configuration record and the datalogger time is set. If the time is running of during the day you can indeed update the time by stop/starting Grott (During initialisation Growatt will send a update for the time again).

With time=server. Grott ignores the time in the datarecord (from the datalogger) and uses the time of the server it is running. Using this has one disadvantage: Grott has to ignore the buffered/historical records from the datalogger that might has been saved while having no connection with the growatt server while these are not of any value any more if using the actual time.