Monitoring & Controlling a Hybrid Solis Inverter

MrPablo
Posts: 240
Joined: Mon Oct 17, 2022 1:26 pm

Re: Monitoring & Controlling a Hybrid Solis Inverter

#51

Post by MrPablo »

Morning James, sorry for missing your original query!

Yes, you can just pass 5 through, it doesn't need to be prefixed with a zero.
I have a section of my own flow that I have used before for Octopus Power Hours, so I'll grab the details today for you to import and test out.
10x 405W JA Solar panels (4.05kWp) @ 5 degrees
3x 405W Longi panels (1.22kWp) @ 90 degrees
16.5kWh DIY LifePo4 battery
Solis inverter/charger
0.6kW Ripple WT
SonsOfHigSolar
Posts: 25
Joined: Tue Sep 26, 2023 4:00 pm

Re: Monitoring & Controlling a Hybrid Solis Inverter

#52

Post by SonsOfHigSolar »

Morning!

Thank you, that would be brilliant! I've tried copying your buffer parsers to get the data for charge hour and minute etc but am very confused about what the offsets mean, what to set 'fc' to and the quantity 🤣 so virtually all of it! I set the register to 43143 which should be start charge hours but keep getting a result of 0 and 0x0 back from the array and buffer it sends out.

Does your flow include calling these values perchance? As I'd like to be able to check my commands to the inverter are doing what I want them to without having to go in the loft!

Thank you again!
MrPablo
Posts: 240
Joined: Mon Oct 17, 2022 1:26 pm

Re: Monitoring & Controlling a Hybrid Solis Inverter

#53

Post by MrPablo »

Hi James,

I won't have time to get to my pc for the node red flows tonight, it'll have to be tomorrow I'm afraid.
I have a manual check which I can run to return the current schedule times, so that should work for you too.
10x 405W JA Solar panels (4.05kWp) @ 5 degrees
3x 405W Longi panels (1.22kWp) @ 90 degrees
16.5kWh DIY LifePo4 battery
Solis inverter/charger
0.6kW Ripple WT
SonsOfHigSolar
Posts: 25
Joined: Tue Sep 26, 2023 4:00 pm

Re: Monitoring & Controlling a Hybrid Solis Inverter

#54

Post by SonsOfHigSolar »

No worries, that sounds perfect, thank you :)
MrPablo
Posts: 240
Joined: Mon Oct 17, 2022 1:26 pm

Re: Monitoring & Controlling a Hybrid Solis Inverter

#55

Post by MrPablo »

James, here's a couple of subflows you can import and set up to work with your inverter.

Query existing settings for schedule 1 and 2, plus schedule charge and discharge current:

Code: Select all

[
    {
        "id": "371117eaeb9627b9",
        "type": "group",
        "z": "092657c3a04af884",
        "name": "Query Inverter Schedule Details",
        "style": {
            "fill": "#bfdbef",
            "label": true
        },
        "nodes": [
            "b4cf832f252f66fa",
            "8c8b3faaad2bf21d",
            "6d74289f7cd1e3cb",
            "16b6e86ece8422a8",
            "cf7d736079434f77",
            "bc7ff499b4b925b7",
            "177c63c2a31f1ecc",
            "0d010c01ed07383e",
            "d8201ca5709f73b1",
            "62d69426a37f7a03"
        ],
        "x": 174,
        "y": 179,
        "w": 892,
        "h": 322
    },
    {
        "id": "b4cf832f252f66fa",
        "type": "function",
        "z": "092657c3a04af884",
        "g": "371117eaeb9627b9",
        "name": "Read Data on Inverter",
        "func": "msg.payload = {\n    'fc': 3,\n    'unitid': 1,\n    'address': 43141,\n    'quantity': 50\n    }\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 340,
        "y": 300,
        "wires": [
            [
                "8c8b3faaad2bf21d"
            ]
        ]
    },
    {
        "id": "8c8b3faaad2bf21d",
        "type": "modbus-flex-getter",
        "z": "092657c3a04af884",
        "g": "371117eaeb9627b9",
        "name": "Solis Inverter",
        "showStatusActivities": true,
        "showErrors": false,
        "logIOActivities": false,
        "server": "",
        "useIOFile": false,
        "ioFile": "",
        "useIOForPayload": false,
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "x": 370,
        "y": 360,
        "wires": [
            [],
            [
                "16b6e86ece8422a8"
            ]
        ]
    },
    {
        "id": "6d74289f7cd1e3cb",
        "type": "inject",
        "z": "092657c3a04af884",
        "g": "371117eaeb9627b9",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 280,
        "y": 240,
        "wires": [
            [
                "b4cf832f252f66fa"
            ]
        ]
    },
    {
        "id": "16b6e86ece8422a8",
        "type": "buffer-parser",
        "z": "092657c3a04af884",
        "g": "371117eaeb9627b9",
        "name": "",
        "data": "payload.buffer",
        "dataType": "msg",
        "specification": "spec",
        "specificationType": "ui",
        "items": [
            {
                "type": "uint16be",
                "name": "Scheduled Charge Current",
                "offset": 0,
                "length": 1,
                "offsetbit": 0,
                "scale": "0.1",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Scheduled Discharge Current",
                "offset": 2,
                "length": 1,
                "offsetbit": 0,
                "scale": "0.1",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 1 - Charge - Start Hour",
                "offset": 4,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 1 - Charge - Start Minute",
                "offset": 6,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 1 - Charge - End Hour",
                "offset": 8,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 1 - Charge - End Minute",
                "offset": 10,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 1 - Discharge - Start Hour",
                "offset": 12,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 1 - Discharge - Start Minute",
                "offset": 14,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 1 - Discharge - End Hour",
                "offset": 16,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 1 - Discharge - End Minute",
                "offset": 18,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 2 - Charge - Start Hour",
                "offset": 24,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 2 - Charge - Start Minute",
                "offset": 26,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 2 - Charge - End Hour",
                "offset": 28,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 2 - Charge - End Hour",
                "offset": 30,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 2 - Discharge - Start Hour",
                "offset": 32,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 2 - Discharge - Start Minute",
                "offset": 34,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 2 - Discharge - End Hour",
                "offset": 36,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "Schedule 2 - Discharge - End Minute",
                "offset": 38,
                "length": 1,
                "offsetbit": 0,
                "scale": "0",
                "mask": ""
            }
        ],
        "swap1": "",
        "swap2": "",
        "swap3": "",
        "swap1Type": "swap",
        "swap2Type": "swap",
        "swap3Type": "swap",
        "msgProperty": "payload",
        "msgPropertyType": "str",
        "resultType": "value",
        "resultTypeType": "return",
        "multipleResult": true,
        "fanOutMultipleResult": true,
        "setTopic": true,
        "outputs": 18,
        "x": 550,
        "y": 340,
        "wires": [
            [
                "bc7ff499b4b925b7"
            ],
            [
                "177c63c2a31f1ecc"
            ],
            [
                "cf7d736079434f77"
            ],
            [
                "cf7d736079434f77"
            ],
            [
                "cf7d736079434f77"
            ],
            [
                "cf7d736079434f77"
            ],
            [
                "d8201ca5709f73b1"
            ],
            [
                "d8201ca5709f73b1"
            ],
            [
                "d8201ca5709f73b1"
            ],
            [
                "d8201ca5709f73b1"
            ],
            [
                "0d010c01ed07383e"
            ],
            [
                "0d010c01ed07383e"
            ],
            [
                "0d010c01ed07383e"
            ],
            [
                "0d010c01ed07383e"
            ],
            [
                "62d69426a37f7a03"
            ],
            [
                "62d69426a37f7a03"
            ],
            [
                "62d69426a37f7a03"
            ],
            [
                "62d69426a37f7a03"
            ]
        ]
    },
    {
        "id": "cf7d736079434f77",
        "type": "debug",
        "z": "092657c3a04af884",
        "g": "371117eaeb9627b9",
        "name": "Schedule 1 - Charge Times",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 880,
        "y": 340,
        "wires": []
    },
    {
        "id": "bc7ff499b4b925b7",
        "type": "debug",
        "z": "092657c3a04af884",
        "g": "371117eaeb9627b9",
        "name": "Scheduled Charge Current",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 880,
        "y": 220,
        "wires": []
    },
    {
        "id": "177c63c2a31f1ecc",
        "type": "debug",
        "z": "092657c3a04af884",
        "g": "371117eaeb9627b9",
        "name": "Scheduled Discharge Current",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 890,
        "y": 280,
        "wires": []
    },
    {
        "id": "0d010c01ed07383e",
        "type": "debug",
        "z": "092657c3a04af884",
        "g": "371117eaeb9627b9",
        "name": "Schedule 2 - Charge Times",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 880,
        "y": 420,
        "wires": []
    },
    {
        "id": "d8201ca5709f73b1",
        "type": "debug",
        "z": "092657c3a04af884",
        "g": "371117eaeb9627b9",
        "name": "Schedule 1 - Discharge Times",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 890,
        "y": 380,
        "wires": []
    },
    {
        "id": "62d69426a37f7a03",
        "type": "debug",
        "z": "092657c3a04af884",
        "g": "371117eaeb9627b9",
        "name": "Schedule 2 - Discharge Times",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 890,
        "y": 460,
        "wires": []
    }
]
Image

If you click the square to the left of the timestamp node, you should see schedule values in the debug pane on NodeRed.

Set Schedule 1 start and end times:

Code: Select all

[
    {
        "id": "18b747ce8e218f26",
        "type": "group",
        "z": "092657c3a04af884",
        "name": "Set Inverter Schedule 1",
        "style": {
            "fill": "#ffffbf",
            "label": true
        },
        "nodes": [
            "92b9f028d59ea0e8",
            "0589d9852ef5b108",
            "54bf222c4dcb0125",
            "f28f0a6964a4d3ea",
            "b96d91f66e470478",
            "0df762ba0186e639",
            "9794157ae5ed06d0",
            "7fe49b333145b422",
            "55d566bcaf0abad7",
            "766ac32687a49cb8",
            "60a4d2b8b017ccd4",
            "6d2415d25c0c01ea",
            "f403efabd078804e",
            "12981ac7055069b9",
            "ccb4c044d58fbf71"
        ],
        "x": 174,
        "y": 579,
        "w": 1032,
        "h": 322
    },
    {
        "id": "92b9f028d59ea0e8",
        "type": "ui_text_input",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "Schedule 1 - Start Time",
        "label": "Schedule 1 - Start Time",
        "tooltip": "",
        "group": "007d5f4ac436546f",
        "order": 1,
        "width": 0,
        "height": 0,
        "passthru": true,
        "mode": "time",
        "delay": "100",
        "topic": "topic",
        "sendOnBlur": true,
        "className": "",
        "topicType": "msg",
        "x": 510,
        "y": 620,
        "wires": [
            [
                "f403efabd078804e"
            ]
        ]
    },
    {
        "id": "0589d9852ef5b108",
        "type": "function",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "Start Milliseconds to Hour and Minute",
        "func": "var totalSeconds = flow.get(\"start_ms\") / 1000\n\nvar hours = Math.floor(totalSeconds / 3600);\ntotalSeconds %= 3600;\nvar minutes = Math.floor(totalSeconds / 60);\n\nmsg.start_hour = hours;\nmsg.start_minute = minutes;\n\nreturn msg",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 570,
        "y": 800,
        "wires": [
            [
                "55d566bcaf0abad7"
            ]
        ]
    },
    {
        "id": "54bf222c4dcb0125",
        "type": "modbus-flex-write",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "Write Schedule 1",
        "showStatusActivities": false,
        "showErrors": false,
        "server": "",
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "x": 910,
        "y": 860,
        "wires": [
            [],
            [
                "b96d91f66e470478"
            ]
        ]
    },
    {
        "id": "f28f0a6964a4d3ea",
        "type": "function",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "Set Charging Slot no.1",
        "func": "msg.payload = {\n    'value': [msg.start_hour, msg.start_minute, msg.end_hour, msg.end_minute],\n    'fc': 16,\n    'unitid': 1,\n    'address': 43143,\n    'quantity': 4\n    }\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 920,
        "y": 800,
        "wires": [
            [
                "54bf222c4dcb0125"
            ]
        ]
    },
    {
        "id": "b96d91f66e470478",
        "type": "debug",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 1110,
        "y": 860,
        "wires": []
    },
    {
        "id": "0df762ba0186e639",
        "type": "catch",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "",
        "scope": [
            "54bf222c4dcb0125"
        ],
        "uncaught": false,
        "x": 470,
        "y": 740,
        "wires": [
            [
                "9794157ae5ed06d0"
            ]
        ]
    },
    {
        "id": "9794157ae5ed06d0",
        "type": "delay",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "",
        "pauseType": "rate",
        "timeout": "5",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "5",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": true,
        "allowrate": false,
        "outputs": 1,
        "x": 620,
        "y": 740,
        "wires": [
            [
                "7fe49b333145b422"
            ]
        ]
    },
    {
        "id": "7fe49b333145b422",
        "type": "delay",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "",
        "pauseType": "delay",
        "timeout": "7",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 780,
        "y": 740,
        "wires": [
            [
                "f28f0a6964a4d3ea"
            ]
        ]
    },
    {
        "id": "55d566bcaf0abad7",
        "type": "function",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "End Milliseconds to Hour and Minute",
        "func": "var totalSeconds = flow.get(\"end_ms\") / 1000\n\nvar hours = Math.floor(totalSeconds / 3600);\ntotalSeconds %= 3600;\nvar minutes = Math.floor(totalSeconds / 60);\n\nmsg.end_hour = hours;\nmsg.end_minute = minutes;\n\nreturn msg",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 570,
        "y": 860,
        "wires": [
            [
                "f28f0a6964a4d3ea"
            ]
        ]
    },
    {
        "id": "766ac32687a49cb8",
        "type": "ui_text_input",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "Schedule 1 - End Time",
        "label": "Schedule 1 - End Time",
        "tooltip": "",
        "group": "007d5f4ac436546f",
        "order": 2,
        "width": 0,
        "height": 0,
        "passthru": true,
        "mode": "time",
        "delay": "100",
        "topic": "topic",
        "sendOnBlur": true,
        "className": "",
        "topicType": "msg",
        "x": 500,
        "y": 680,
        "wires": [
            [
                "ccb4c044d58fbf71"
            ]
        ]
    },
    {
        "id": "60a4d2b8b017ccd4",
        "type": "ui_button",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "",
        "group": "007d5f4ac436546f",
        "order": 3,
        "width": 0,
        "height": 0,
        "passthru": false,
        "label": "Update Schedule 1",
        "tooltip": "",
        "color": "",
        "bgcolor": "",
        "className": "",
        "icon": "",
        "payload": "true",
        "payloadType": "bool",
        "topic": "topic",
        "topicType": "msg",
        "x": 290,
        "y": 800,
        "wires": [
            [
                "0589d9852ef5b108"
            ]
        ]
    },
    {
        "id": "6d2415d25c0c01ea",
        "type": "inject",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "Restore",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": true,
        "onceDelay": "0.5",
        "topic": "",
        "payload": "start_ms",
        "payloadType": "flow",
        "x": 300,
        "y": 620,
        "wires": [
            [
                "92b9f028d59ea0e8"
            ]
        ]
    },
    {
        "id": "f403efabd078804e",
        "type": "change",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "Store Start Milliseconds",
        "rules": [
            {
                "t": "set",
                "p": "start_ms",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 750,
        "y": 620,
        "wires": [
            []
        ]
    },
    {
        "id": "12981ac7055069b9",
        "type": "inject",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "Restore",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": true,
        "onceDelay": "0.5",
        "topic": "",
        "payload": "end_ms",
        "payloadType": "flow",
        "x": 300,
        "y": 680,
        "wires": [
            [
                "766ac32687a49cb8"
            ]
        ]
    },
    {
        "id": "ccb4c044d58fbf71",
        "type": "change",
        "z": "092657c3a04af884",
        "g": "18b747ce8e218f26",
        "name": "Store End Milliseconds",
        "rules": [
            {
                "t": "set",
                "p": "end_ms",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 740,
        "y": 680,
        "wires": [
            []
        ]
    },
    {
        "id": "007d5f4ac436546f",
        "type": "ui_group",
        "name": "Schedule Time",
        "tab": "e1eb2e4d8dfd0407",
        "order": 7,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "e1eb2e4d8dfd0407",
        "type": "ui_tab",
        "name": "Solar Dashboard",
        "icon": "dashboard",
        "order": 1,
        "disabled": false,
        "hidden": false
    }
]
Image

That should make a new section on the dashboard like the below screenshot.
Image
Set your start and end time, then wait a second or so. After that, click 'Update Schedule 1' and the inverter should be set to the desired times.

Final note, don't forget to update the new modbus nodes to point at your EE11 details.
10x 405W JA Solar panels (4.05kWp) @ 5 degrees
3x 405W Longi panels (1.22kWp) @ 90 degrees
16.5kWh DIY LifePo4 battery
Solis inverter/charger
0.6kW Ripple WT
Andy
Posts: 461
Joined: Sun Aug 29, 2021 12:16 pm

Re: Monitoring & Controlling a Hybrid Solis Inverter

#56

Post by Andy »

MrPablo wrote: Sun Nov 05, 2023 12:51 pm
Image
OMG, I love that buffer parser. Never knew about that one in the past.
SonsOfHigSolar
Posts: 25
Joined: Tue Sep 26, 2023 4:00 pm

Re: Monitoring & Controlling a Hybrid Solis Inverter

#57

Post by SonsOfHigSolar »

Dear Mr Pablo (and anyone else here who is interested),

Thank you so much for all your help, it's been a frustrating road to get here but I'm finally at a place where the flow is doing it's job automatically and controlling the inverter! If anyone is in the same situation as me, feel free to use my flow. How do I add the code in as you did above please Mr Pablo?

James
MrPablo
Posts: 240
Joined: Mon Oct 17, 2022 1:26 pm

Re: Monitoring & Controlling a Hybrid Solis Inverter

#58

Post by MrPablo »

Great news, I'm glad it's working well for you!

To add code, just use the following tags at each end of your code block, removing the space after each leading square bracket.

[ code]
CODE GOES HERE
[/code ]

My PCBs from JLCPCB arrived today, but my 4 pin side JST connectors are still on the way. Hoping to get the units built this month, I should have two spare once my initial order is done.
10x 405W JA Solar panels (4.05kWp) @ 5 degrees
3x 405W Longi panels (1.22kWp) @ 90 degrees
16.5kWh DIY LifePo4 battery
Solis inverter/charger
0.6kW Ripple WT
SonsOfHigSolar
Posts: 25
Joined: Tue Sep 26, 2023 4:00 pm

Re: Monitoring & Controlling a Hybrid Solis Inverter

#59

Post by SonsOfHigSolar »

It won't let me post the JSON code as it is apparently well over the character limit for a post? Yours came up in that separate box. Is mine just too big a code?
SonsOfHigSolar
Posts: 25
Joined: Tue Sep 26, 2023 4:00 pm

Re: Monitoring & Controlling a Hybrid Solis Inverter

#60

Post by SonsOfHigSolar »

Hi Mr Pablo and all,

It was going very well but now every so often it refuses to change the charge times on the inverter. It's only getting a maximum of 2 writes sent to it per day for the charge times. It won't let me even change the times from the inverter itself. Then the next day comes and it works again. Do you know what this could be perchance please? Is it a problem with too many writes to the same register in total? It lets me change other things from the flow....

Thank you for all your help!
James
Post Reply