# Scheduled Charge Levels - Inactive, v3.67

**URL:** <https://community.victronenergy.com/t/scheduled-charge-levels-inactive-v3-67/54668>\
**Category:** Node-RED\
**Tags:** multiplus\_2\_gx, diy\
**Created:** [10 March 2026 10:29 UTC](https://community.victronenergy.com/t/scheduled-charge-levels-inactive-v3-67/54668 "2026-03-10T10:29:07Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Radunre](https://avatars.discourse-cdn.com/v4/letter/r/cdc98d/32.png) [@Radunre](https://community.victronenergy.com/u/Radunre)\
**Post date:** [10 March 2026 10:29 UTC](https://community.victronenergy.com/t/scheduled-charge-levels-inactive-v3-67/54668/1 "2026-03-10T10:29:07Z")

</div>

I have set the Scheduled charge levels to charge the battery every weekday from 14.30.

The schedule say inactive and also not taken into account, battery being charged whenever there is PV surplus.

What am I missing ?

 ![Screenshot 2026-03-10 122735](https://europe1.discourse-cdn.com/victron/original/3X/f/1/f1132d80afd3f1393f4240c74de2936d367feaaf.png)

 ![Screenshot 2026-03-10 122720](https://europe1.discourse-cdn.com/victron/original/3X/a/3/a393f33a8c6821a0fcc0a498dfc4e64ebcbfb0c5.png)

---

<div class="post-metadata">

**Author:** ![Radunre](https://avatars.discourse-cdn.com/v4/letter/r/cdc98d/32.png) [@Radunre](https://community.victronenergy.com/u/Radunre)\
**Post date:** [10 March 2026 11:54 UTC](https://community.victronenergy.com/t/scheduled-charge-levels-inactive-v3-67/54668/2 "2026-03-10T11:54:52Z")

</div>

As I **could not find a manual for Venus OS** , a mention in Venus GX manual says that schedule is intended for charging from grid.

For future versions, posibility of choosing the schedule intend, grid / PV surplus / any, might be useful.

![Screenshot 2026-03-10 134556](https://europe1.discourse-cdn.com/victron/original/3X/c/6/c6c4361b5b96ff8b4b6cb4d82716fe608d9e301e.png)

---

<div class="post-metadata">

**Author:** ![gehring](https://avatars.discourse-cdn.com/v4/letter/g/bcef8e/32.png) [@gehring](https://community.victronenergy.com/u/gehring)\
**Post date:** [21 March 2026 15:10 UTC](https://community.victronenergy.com/t/scheduled-charge-levels-inactive-v3-67/54668/3 "2026-03-21T15:10:22Z")

</div>

I recently had to remove pv panels from the roof to carry out repairs to the roof. This necessitated me placing a few panels at gound level with a 10 degree slant. Shading occurs much sooner than it would on the roof, so I opted to use the Scheduled Charge Level. The aim was to try increase the SOC by at least 5% every day until a 100% SOC could be achieved, considering that there are fewer panels connected and longer more frequent periods of heavy clouds and rain. This is only until the weather is clear enough so that roof tiles can be removed to fit the roof hooks and mounting rails. I discovered that when the SOC% difference between the battery SOC% and the Schedule Charge Level SOC Limit is around the 5% mark, nothing happens, it simply keeps it at the SOC% level that the battery was at when Scheduled charging is initiated.

@Nickdb mentioned in a post I read some time ago that:

- there is a 5% hysteresis before the charging starts. This would mean that if the battery is at for example 90% SOC and the Scheduled Charge Level SOC limit is set to 95% SOC then it would not initiate the charging. The setting would need to be higher at 100% SOC to invoke the charging.
- In another post he mentions that the Scheduled Charge Level is intended for charging new batteries or problematic batteries and/or to get the cells to properly balanced prior to them becoming part of a larger battery bank.

What is the SOC state of your battery that you want to get to 100% SOC?

---

<div class="post-metadata">

**Author:** ![Radunre](https://avatars.discourse-cdn.com/v4/letter/r/cdc98d/32.png) [@Radunre](https://community.victronenergy.com/u/Radunre)\
**Post date:** [21 March 2026 15:48 UTC](https://community.victronenergy.com/t/scheduled-charge-levels-inactive-v3-67/54668/4 "2026-03-21T15:48:24Z")

</div>

My intent use for schedule charge was only to enable charging after a specified hour, not particulary interested in SOC level but keep it 40-50%.

This system is UPS like for communications/networking, computers, printers and surveillance, with some ESS due to the presence of Fronius PV.

Installation place is in the office and charging is noisy.

After hours charging is desired and hoped to use the schedule. Maybe a future VenusOS will implement a more flexible schedule.

---

<div class="post-metadata">

**Author:** ![nickdb](https://dub1.discourse-cdn.com/victron/user_avatar/community.victronenergy.com/nickdb/32/51440_2.png) [@nickdb](https://community.victronenergy.com/u/nickdb)\
**Post date:** [21 March 2026 15:49 UTC](https://community.victronenergy.com/t/scheduled-charge-levels-inactive-v3-67/54668/5 "2026-03-21T15:49:51Z")

</div>

I think some of that might be out of context.  
The hysteresis applies to normal ESS operation.  
Schedules are solely to charge from grid and to block/limit battery discharge, it will by default charge from solar when it is available and there is surplus.  
It is also easy to customise grid charging via nodered.

---

<div class="post-metadata">

**Author:** ![Radunre](https://avatars.discourse-cdn.com/v4/letter/r/cdc98d/32.png) [@Radunre](https://community.victronenergy.com/u/Radunre)\
**Post date:** [21 March 2026 16:08 UTC](https://community.victronenergy.com/t/scheduled-charge-levels-inactive-v3-67/54668/6 "2026-03-21T16:08:39Z")

</div>

Using NodeRed, is it also possible to control charge schedule, independent from source grid/solar ?

Any start point documentation is highly appreciated.

---

<div class="post-metadata">

**Author:** ![gehring](https://avatars.discourse-cdn.com/v4/letter/g/bcef8e/32.png) [@gehring](https://community.victronenergy.com/u/gehring)\
**Post date:** [22 March 2026 12:42 UTC](https://community.victronenergy.com/t/scheduled-charge-levels-inactive-v3-67/54668/7 "2026-03-22T12:42:37Z")

</div>

Yes, one can programatically configure the Scheduled Charge Level using the ESS node.

---

<div class="post-metadata">

**Author:** ![nickdb](https://dub1.discourse-cdn.com/victron/user_avatar/community.victronenergy.com/nickdb/32/51440_2.png) [@nickdb](https://community.victronenergy.com/u/nickdb)\
**Post date:** [22 March 2026 12:45 UTC](https://community.victronenergy.com/t/scheduled-charge-levels-inactive-v3-67/54668/8 "2026-03-22T12:45:54Z")

</div>

Easy to do. Go have a dig around the nodered section, plenty of info to get you going.

> **[Node-RED](https://community.victronenergy.com/c/node-red/28)**
>
> This is a dedicated space for discussion about Node-RED and Victron integration; 
> See here for getting started.

---

<div class="post-metadata">

**Author:** ![Radunre](https://avatars.discourse-cdn.com/v4/letter/r/cdc98d/32.png) [@Radunre](https://community.victronenergy.com/u/Radunre)\
**Post date:** [22 March 2026 13:18 UTC](https://community.victronenergy.com/t/scheduled-charge-levels-inactive-v3-67/54668/9 "2026-03-22T13:18:54Z")

</div>

Great, thank you all for directions.

Will get back after results.

---

<div class="post-metadata">

**Author:** ![Radunre](https://avatars.discourse-cdn.com/v4/letter/r/cdc98d/32.png) [@Radunre](https://community.victronenergy.com/u/Radunre)\
**Post date:** [24 March 2026 17:08 UTC](https://community.victronenergy.com/t/scheduled-charge-levels-inactive-v3-67/54668/10 "2026-03-24T17:08:12Z")

</div>

This is my first Node-RED experience, quite a pleasant one after understanding the basic concepts and some terms “slang”.

Did not found a simple timer function/node so had to install a third-party (node-red-contrib-cron-plus), any thoughts on that ?

It could be made simpler, timer node having a capacity of multiple cron jobs but for a beginner flow is easy to follow. The “Charge current limit“ node is only for monitoring.

```flows
[
    {
        "id": "7abcfc5e6f0a3f1d",
        "type": "tab",
        "label": "Flow 2",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "c1ccce94a9cdbbe0",
        "type": "victron-output-ess",
        "z": "7abcfc5e6f0a3f1d",
        "service": "com.victronenergy.settings",
        "path": "/Settings/SystemSetup/MaxChargeCurrent",
        "serviceObj": {
            "service": "com.victronenergy.settings",
            "name": "Venus settings",
            "communityTag": "ess"
        },
        "pathObj": {
            "path": "/Settings/SystemSetup/MaxChargeCurrent",
            "type": "float",
            "name": "DVCC Charge current limit (A)",
            "mode": "both"
        },
        "initial": 25,
        "name": "Set charge current 25A",
        "onlyChanges": false,
        "roundValues": "no",
        "rateLimit": 0,
        "outputs": 0,
        "conditionalMode": false,
        "condition1Operator": ">",
        "condition2Enabled": false,
        "condition2Service": "",
        "condition2Path": "",
        "condition2Operator": ">",
        "logicOperator": "AND",
        "outputTrue": "true",
        "outputFalse": "false",
        "outputOnChange": false,
        "debounce": 2000,
        "x": 510,
        "y": 100,
        "wires": []
    },
    {
        "id": "b11fe7ad10ef105d",
        "type": "cronplus",
        "z": "7abcfc5e6f0a3f1d",
        "name": "Weekdays-morning",
        "outputField": "payload",
        "timeZone": "",
        "storeName": "",
        "commandResponseMsgOutput": "output1",
        "defaultLocation": "45.49710705753418 24.78515625",
        "defaultLocationType": "fixed",
        "outputs": 1,
        "options": [
            {
                "name": "schedule1",
                "topic": "topic1",
                "payloadType": "num",
                "payload": "25",
                "expressionType": "cron",
                "expression": "0 0 8 ? * MON,TUE,WED,THU,FRI *",
                "location": "",
                "offset": "0",
                "solarType": "all",
                "solarEvents": "sunrise,sunset"
            }
        ],
        "x": 170,
        "y": 100,
        "wires": [
            [
                "c1ccce94a9cdbbe0",
                "9425f29d74d05e45"
            ]
        ]
    },
    {
        "id": "943376caa7942007",
        "type": "cronplus",
        "z": "7abcfc5e6f0a3f1d",
        "name": "Weekdays-afternoon",
        "outputField": "payload",
        "timeZone": "",
        "storeName": "",
        "commandResponseMsgOutput": "output1",
        "defaultLocation": "45.6201852957278 24.960937499999996",
        "defaultLocationType": "fixed",
        "outputs": 1,
        "options": [
            {
                "name": "schedule1",
                "topic": "topic1",
                "payloadType": "num",
                "payload": "65",
                "expressionType": "cron",
                "expression": "0 30 14 ? * MON,TUE,WED,THU,FRI *",
                "location": "",
                "offset": "0",
                "solarType": "all",
                "solarEvents": "sunrise,sunset"
            }
        ],
        "x": 180,
        "y": 160,
        "wires": [
            [
                "6ce097a8b242c29e",
                "9425f29d74d05e45"
            ]
        ]
    },
    {
        "id": "6ce097a8b242c29e",
        "type": "victron-output-ess",
        "z": "7abcfc5e6f0a3f1d",
        "service": "com.victronenergy.settings",
        "path": "/Settings/SystemSetup/MaxChargeCurrent",
        "serviceObj": {
            "service": "com.victronenergy.settings",
            "name": "Venus settings",
            "communityTag": "ess"
        },
        "pathObj": {
            "path": "/Settings/SystemSetup/MaxChargeCurrent",
            "type": "float",
            "name": "DVCC Charge current limit (A)",
            "mode": "both"
        },
        "initial": 65,
        "name": "Set charge current 65A",
        "onlyChanges": false,
        "roundValues": "no",
        "rateLimit": 0,
        "outputs": 0,
        "conditionalMode": false,
        "condition1Operator": ">",
        "condition2Enabled": false,
        "condition2Service": "",
        "condition2Path": "",
        "condition2Operator": ">",
        "logicOperator": "AND",
        "outputTrue": "true",
        "outputFalse": "false",
        "outputOnChange": false,
        "debounce": 2000,
        "x": 510,
        "y": 160,
        "wires": []
    },
    {
        "id": "7a6abe80b1f543e3",
        "type": "victron-input-ess",
        "z": "7abcfc5e6f0a3f1d",
        "service": "com.victronenergy.settings",
        "path": "/Settings/SystemSetup/MaxChargeCurrent",
        "serviceObj": {
            "service": "com.victronenergy.settings",
            "name": "Venus settings",
            "communityTag": "ess"
        },
        "pathObj": {
            "path": "/Settings/SystemSetup/MaxChargeCurrent",
            "type": "float",
            "name": "DVCC Charge current limit (A)",
            "mode": "both"
        },
        "name": "Charge current limit",
        "onlyChanges": false,
        "roundValues": "no",
        "rateLimit": 0,
        "outputs": 1,
        "conditionalMode": false,
        "outputTrue": "true",
        "outputFalse": "false",
        "debounce": "2000",
        "x": 490,
        "y": 300,
        "wires": [
            []
        ]
    },
    {
        "id": "9425f29d74d05e45",
        "type": "debug",
        "z": "7abcfc5e6f0a3f1d",
        "name": "debug 1",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 460,
        "y": 240,
        "wires": []
    },
    {
        "id": "6a64a09fd4c8ef47",
        "type": "global-config",
        "env": [],
        "modules": {
            "@victronenergy/node-red-contrib-victron": "1.6.63",
            "node-red-contrib-cron-plus": "2.2.4"
        }
    }
]

```
