Skip to content

Time of Use

Assumptions

  • TOU definitions are created corresponding to the required 'bins/buckets'
  • A single Rate Period is created covering the whole year to which the TOU definitions are assigned
  • A Billing Profile is created using that Rate Period definition
  • Devices are put in the Billing Profile
  • Devices can only be in one active billing group at a point in time i.e. billing surface
  • The TOU definitions in the Billing Profile are submitted via device config to the charger whenever the Billing Profile is saved
  • The TOU payload will include the timestamp of the last published Billing Profile version i.e. last time it was saved
  • TOU definitions will be minified but maintain the TOU order used in the Billing Profile
  • Final Accumlated KWH and Peak KW values from the previous 24hrs for each TOU bin will be reported back from each charger
  • Reports may repeat the same values at intervals throughout the following 24hrs to ensure a successful data submission
  • Accumulated energy will increase over time and not be reset by the charger Energy usage deltas for each charger will be calculated by ZEFNET based on a given date/time range
  • Peak KW will be reset to 0 on the charger at midnight every day
  • The reporting parameter used to identify each bin will be 801, 802, 803 or 804, where 801=bin1, 802=bin2 etc
  • Energy and KW will be concatenated with a '#' symbol to create a single log entry containing both values for later parsing
  • A record will be created in the device-log table in AWS for each parameter supplied

Example TOU definition

[{
        "id": "CChCZqSz7",
        "name": "Summer On-Peak",
        "tous": [{
                "days": [
                    1,
                    2,
                    3,
                    4,
                    5
                ],
                "id": "1",
                "intervals": [{
                        "end": 18,
                        "id": "JaLMEjIUD",
                        "name": "From 1pm to 6pm",
                        "start": 13,
                        "type": "AMO",
                        "unit": "h"
                    }
                ]
            }
        ],
        "type": "TOU",
        "value": 0
    }, {
        "id": "3hyBbbXXk",
        "name": "Summer Shoulder",
        "tous": [{
                "days": [
                    1,
                    2,
                    3,
                    4,
                    5
                ],
                "id": "1",
                "intervals": [{
                        "end": 20,
                        "id": "7FcsS9uQz",
                        "name": "From 6pm to 8pm",
                        "start": 18,
                        "type": "AMO",
                        "unit": "h"
                    }, {
                        "end": 13,
                        "id": "ondSimJf6",
                        "name": "From 12pm to 1pm",
                        "start": 12,
                        "type": "AMO",
                        "unit": "h"
                    }
                ]
            }, {
                "days": [
                    7,
                    6
                ],
                "id": "2",
                "intervals": [{
                        "end": 18,
                        "id": "hkTEUByLt",
                        "name": "From 1pm to 6pm",
                        "start": 13,
                        "type": "AMO",
                        "unit": "h"
                    }
                ]
            }
        ],
        "type": "TOU",
        "value": 0
    }, {
        "id": "XUCz8IIlF",
        "name": "Summer Off-Peak",
        "tous": [{
                "days": [
                    1,
                    2,
                    3,
                    4,
                    5
                ],
                "id": "1",
                "intervals": [{
                        "end": 24,
                        "id": "RoiCNNQDL",
                        "name": "From 8pm to 12pm",
                        "start": 20,
                        "type": "AMO",
                        "unit": "h"
                    }, {
                        "end": 12,
                        "id": "iRK0aHdJo",
                        "name": "From 8pm to 12pm",
                        "start": 0,
                        "type": "AMO",
                        "unit": "h"
                    }
                ]
            }, {
                "days": [
                    6,
                    7
                ],
                "id": "2",
                "intervals": [{
                        "end": 24,
                        "id": "yvSkuoAPk",
                        "name": "From 6pm to 1pm",
                        "start": 18,
                        "type": "AMO",
                        "unit": "h"
                    }, {
                        "end": 13,
                        "id": "BZz9oMJ3g",
                        "name": "From 6pm to 1pm",
                        "start": 0,
                        "type": "AMO",
                        "unit": "h"
                    }
                ]
            }
        ],
        "type": "TOU",
        "value": 0
    }
]

Example device config with minified TOU definition

"config": {
    "auth": 1,
    "ctrls": [],
    "reportfreq": [{"c": 1, "k": 1, "v": 300},{"c": 1, "k": 5, "v": 300}],
    "source": 1,
    "toplug": 60,
    "tou": {
                "ts": 1615911256,
                "bins": [
                    [   
                        {
                            "d": [1,2,3,4,5],
                            "i": [{"e": 18, "s": 13, "u": "h"}]
                        }
                    ],[
                        {
                            "d": [1,2,3,4,5],
                            "i": [{"e": 20, "s": 18, "u": "h"},{"e": 13, "s": 12, "u": "h"}]
                        }, {
                            "d": [7,6],
                            "i": [{"e": 18, "s": 13, "u": "h"}]
                        }
                    ],[
                        {
                            "d": [1,2,3,4,5],
                            "i": [{"e": 24, "s": 20, "u": "h"},{"e": 12, "s": 0, "u": "h"}]
                        }, {
                            "d": [6,7],
                            "i": [{"e": 24, "s": 18, "u": "h"},{"e": 13, "s": 0, "u": "h"}]
                        }
                    ]
                ]
            }
}

Enumerations provided in ZEFNET

"MEASURE.TOU1.STRING": 801,
"MEASURE.TOU2.STRING": 802,
"MEASURE.TOU3.STRING": 803,
"MEASURE.TOU4.STRING": 804

Example device report from the charger

1,0,1615905943,801,123414#12.3,802,1234243#10.1,803,1234243#14.2

Device-log entries created

deviceid ts data
MEASURE.TOU1.DEVICE-ABC12345 2021-03-16T14:45:43Z 123414#12.3
MEASURE.TOU2.DEVICE-ABC12345 2021-03-16T14:45:43Z 1234243#10.1
MEASURE.TOU3.DEVICE-ABC12345 2021-03-16T14:45:43Z 1234243#14.2