Simulated Load
Configurable load that follows time-varying profiles or constant power consumption.
Configuration
json
{
"Name": "test-load",
"DeviceClass": "SimulatedLoad",
"AssetType": "Load",
"SimulatedLoad": {
"ProfileType": "Residential",
"PowerW": 2000.0,
"InitialImportRegisterWh": 8000000.0
}
}Configuration Options
| Property | Description | Default |
|---|---|---|
| ProfileType | Load profile type | Residential |
| PowerW | Power in watts (usage depends on profile) | 2,000 W |
| InitialImportRegisterWh | Starting energy register | 8,000,000 Wh (8 MWh) |
Profile Types
Residential
Typical home consumption with time-of-day variation:
| Time | Power | Description |
|---|---|---|
| 00:00-06:00 | 500 W | Standby appliances |
| 06:00-09:00 | 3,000 W | Morning routine |
| 09:00-17:00 | 800 W | Daytime (work hours) |
| 17:00-22:00 | 4,000 W | Evening peak |
| 22:00-24:00 | 1,500 W | Late evening |
Includes ±20% random variance for realism. PowerW is ignored.
Commercial
Office/commercial building pattern. Uses PowerW as peak demand:
| Time | % of Peak | Description |
|---|---|---|
| Weekend | 10% | Security, minimal HVAC |
| 00:00-07:00 | 15% | Night (baseline systems) |
| 07:00-09:00 | 60% | Startup |
| 09:00-17:00 | 85% | Business hours |
| 17:00-19:00 | 50% | Closing |
| 19:00-24:00 | 20% | Evening |
Constant
Fixed power consumption. Uses PowerW directly.
Examples
Constant 5 kW Load
json
{
"Name": "constant-load",
"DeviceClass": "SimulatedLoad",
"AssetType": "Load",
"SimulatedLoad": {
"ProfileType": "Constant",
"PowerW": 5000.0
}
}Commercial Building (100 kW Peak)
json
{
"Name": "office-building",
"DeviceClass": "SimulatedLoad",
"AssetType": "Load",
"SimulatedLoad": {
"ProfileType": "Commercial",
"PowerW": 100000.0
}
}Residential Home
json
{
"Name": "home-load",
"DeviceClass": "SimulatedLoad",
"AssetType": "Load",
"SimulatedLoad": {
"ProfileType": "Residential"
}
}Custom Load Profiles
CSV Profile
Load profile from CSV file for measured data:
csharp
services.AddSingleton<ILoadProfileProvider>(
new CsvLoadProfile("path/to/load-data.csv"));Custom Implementation
Implement ILoadProfileProvider for custom patterns:
csharp
public interface ILoadProfileProvider
{
double GetLoadPower(DateTime utcTime);
}Register via DI:
csharp
services.AddSingleton<ILoadProfileProvider, MyCustomLoadProfile>();