User Tools

Site Tools


howto:growatt

This is an old revision of the document!


Growatt

Shinetools initial password: ossyyyymmdd (current date)
Shinephone/growatt key: growattyyyymmdd (current date)
Initial passwords 12345678 / 1234

Dashboard:
https://server.growatt.com/login

Warranty details:
https://www.ginverter.com/support/warranty

https://pypi.org/project/growattServer/

https://github.com/johanmeijer/grott
https://forums.whirlpool.net.au/archive/9xv65qw6

https://www.reddit.com/r/SolarDIY/comments/xkizq5/growatt_inverter_and_battery_charging_time_config/
https://electricianforum.co.uk/threads/growatt-ct-discrepancy.56213/page-2

Note: the inverter is doing a self test routine when the panels start supplying and when they cease eg sunrise and sunset. It goes into mode of drawing from the grid instead of the battery whilst this is going on, typically between 5 and 7 minutes.

Change Datalogger interval

By default, the datalogger upload interval is every 5 minutes. This can be changed either by re-initialising the data-logger through it's Wifi Access point function, but it's a lot easier doing this through the server.growatt.com interface.

Steps:

  1. Go to “All Device →” in the My Photovoltaic Devices list
  2. Open the Data Logger Settings
  3. Click on “Advanced Set”
  4. Enter “4” as Register in the “Read” row, then enter “growatt”+current date in format YYYY-MM-DD as key like “growatt20230709” without the quotes and press “Read”. This will return the current setting which is likely 5. This screenshot shows 1:
  5. To change the update interval value, enter 4 in the Register row above the read entry and set 1 as value, then click on 'Yes' at the bottom to save:
  6. Read the value again to confirm, then click cancel to close this window
  7. Go back to the dashboard and click the (i) next to the Data Logger serial number to confirm the new interval again:

The graphs on server.growatt.com won't change, but the data logger history can be verified and obtained through a greasemonkey/violentmonkey/tampermonkey script as Growatt removed the button to view the data history from the server, but the underlying functionality is still there.

Greasemonkey browser script:

// ==UserScript==
// @name         Growatt Device History
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Adds a button on the main screen under devices to access the detailed historical data
// @author       You
// @require      https://gist.github.com/raw/2625891/waitForKeyElements.js
// @match        http*://*.growatt.com/index
// @icon         https://server-us.growatt.com/v3/images/favicon/favicon.ico
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    /* globals waitForKeyElements */

    var historyButton=document.createElement("input");
    historyButton.type="button";
    historyButton.value="Get Historical Data";
    historyButton.setAttribute("style", "font-size:18px;position:relative;text-align:center");
    historyButton.onclick = showHistory;

    function insertButton(jNode){
        jNode.html(historyButton)
    }

    waitForKeyElements ("#tb_device_con > div > table > tbody > tr:nth-child(1) > td:nth-child(2)", insertButton);

    function showHistory(){
        var inv = window.INVS[Object.keys(window.INVS)[0]];
        if(inv.deviceTypeName=="inv"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_inverterHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getInverterHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_inverterHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_inverterHistory_init(did,dialog,inv.sn);
                }
            });
        }else if(inv.deviceTypeName=="max"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_maxHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getMAXHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_maxHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_maxHistory_init(did,dialog,inv.sn,inv.deviceType);
                }
            });
        }else if(inv.deviceTypeName=="storage"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_storageHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getStorageHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_storageHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_storageHistory_init(did,dialog,inv.sn,inv.deviceType);
                }
            });
        }else if(inv.deviceTypeName=="mix"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_mixHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getMIXHisPage?mixSn="+inv.sn,
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_mixHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_mixHistory_init(did,dialog,inv.sn);
                }
            });
        }else if(inv.deviceTypeName=="pcs"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_pcsHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getPCSHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_pcsHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_pcsHistory_init(did,dialog,inv.sn);
                }
            });
        }else if(inv.deviceTypeName=="hps"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_hpsHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getHPSHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_hpsHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_hpsHistory_init(did,dialog,inv.sn);
                }
            });
        }else if(inv.deviceTypeName=="spa"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_spaHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getSPAHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_spaHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_spaHistory_init(did,dialog,inv);
                }
            });
        }else if(inv.deviceTypeName=="tlx"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_tlxHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getTLXHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_tlxHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_tlxHistory_init(did,dialog,inv);
                }
            });
        }else if(inv.deviceTypeName=="jlInv"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_jlInvHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getJlInvHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_jlInvHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_jlInvHistory_init(did,dialog,inv);
                }
            });
        }else if(inv.deviceTypeName=="jfyInv"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_jfyInvHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getJfyInvHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_jfyInvHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_jfyInvHistory_init(did,dialog,inv);
                }
            });
        }else if(inv.deviceTypeName=="pbd"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_pbdHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getPBDHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_pbdHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_pbdHistory_init(did,dialog,inv);
                }
            });
        }else if(inv.deviceTypeName=="eybondInv"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_eybondInvHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getEybondInvHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_eybondInvHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_eybondInvHistory_init(did,dialog,inv.sn);
                }
            });
        }else if(inv.deviceTypeName=="igenInv"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_igenInvHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getIgenInvHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_igenInvHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_igenInvHistory_init(did,dialog,inv.sn);
                }
            });
        }else if(inv.deviceTypeName=="pumper"){
            window.comm.dialogUrl({
                skin:"noPadding",
                id:"dialog_pumperHistory",
                title:"History Data("+inv.sn+")",
                url:"/device/getPumperHisPage",
                btns:[[window.comm.getI18n("no-more"),function(did,dialog){window.dialog_pumperHistory_search_More(did,dialog);},false,"btn_more dis"],['i18n_common_cancel',window.comm.dialogClose]],
                success:function(did,dialog){
                    window.dialog_pumperHistory_init(did,dialog,inv.sn);
                }
            });
        }
    };


})();

https://diysolarforum.com/threads/data-history-removed-from-server-us-growatt-com.34331/

The above script will add a “Get Historical Data” button to the server.growatt.com page:

Example History showing the change from 5 minute update interval to 1 minute update interval:

howto/growatt.1688923784.txt.gz · Last modified: 2023/07/09 18:29 by Wulf Rajek