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 |