Skip to content

Grott advanced (customize behaviour)

Johan Meijer edited this page Apr 4, 2021 · 4 revisions

It is possible to change the processing of grott (only recommended for advanced users)

Change the data processing and grott output for MQTT and InfluxDB

  • This can be used if the output does not contain the expected values or if you want to add new or rename existing values/keywords
  • Look in the grott log for the record layout message (record layout : T060104)
  • You can create a txxxxxx.json (in this case t060104.json) file that contains information which values should be generated by grott and how they can be found in the Growat data record.
  • The content of the data record is shownd in Growatt plain data log message
  • Examples of the Txxxxxx.JSON files can be found in the example directory
  • Default processing values of the txxxxxx records are shown at startup and overridden by the Txxxxxx.JSON file in the grott home directory

A short explanation of a keyword / value definitions:

"totworktime" : {"value" :198, "length" : 4, "type" : "num", "divide" : 7200}

This means that the total active value named: totworktime can be found at position 198 of the growatt data record; the length is 4; It is a numeric value and in this case the value is divided by 7200 to show active hours in the Verbose output (from 0.5 sec in hours).

Changing this in totuptime in minutes:

"totuptime" : {"value" :198, "length" : 4, "type" : "num", "divide" : 120}

"type" can be:

num  (positive number)
numx (positive and negative number)
text (Text string)

Be aware: the JSON message will always contain the original value (divide is not being used by generating the JSON message)
Keywords decrypt, pvserial and date can not be renamed. Decrypt will define if a record has to be decrypted or not (only t02xxxxx records are not encrypted).

Change command blocking (blockcmd=True)

  • In basis all records are blocked. A whitelist is created to allow the normal data and communication records (Data, Ping, Announce, Identify etc).
  • The shine and inverter configure records are blocked
  • You can create your own whitelist (recwl.txt) to override the default behaviour
  • An example of the recwl.txt file can be found in the example directory
  • Default processing whitelist values are shown at startup and overridden by the recwl.txt file in the grott home directory

How record definition is determined

  • The layout of the record is defined by information in the header of data record.
  • I use "T" + header[6:8] + header[12:14] + header[14:16] to determine the type of record used.
  • This information differs per inverter and interface type
  • an X is added if the record is longer then the standard record (eg used by the tl-x inverters with shine-x interfaces)

!!!!! Be aware the record definitions I made are result on reversed engineering and does not need to be correct or complete!!!!!!!!