Skip to content

Simulated Solar Inverter

Configurable solar PV inverter with realistic generation patterns based on panel characteristics.

Configuration

json
{
  "Name": "sim-solar",
  "DeviceClass": "SimulatedSolarInverter",
  "AssetType": "Solar",
  "SimulatedSolarInverter": {
    "InstalledCapacityW": 10000.0,
    "RoofAngleDegrees": 30.0,
    "OrientationDegrees": 180.0,
    "Technology": "Monocrystalline"
  }
}

Configuration Options

PropertyDescriptionDefault
InstalledCapacityWInstalled capacity in watts10,000 W (10 kW)
RoofAngleDegreesPanel angle from horizontal (0°=flat, 90°=vertical)30°
OrientationDegreesPanel azimuth (0°=north, 90°=east, 180°=south, 270°=west)180° (south)
TechnologyPanel technology typeMonocrystalline
InitialExportRegisterWhInitial export energy register5,000,000 Wh (5 MWh)

Panel Technologies

TechnologyEfficiencyCharacteristics
Polycrystalline15-17%Lower cost, lower efficiency
Monocrystalline18-22%Standard choice, good efficiency
Heterojunction21-24%Premium, highest efficiency
ThinFilmAmorphous10-12%Better low-light performance

Angle & Orientation

Roof Angle

Optimal angle depends on latitude. For most of Europe/US:

AngleDescription
Flat roof (suboptimal)
25-35°Optimal for mid-latitudes
45°Steeper roofs, good for winter
90°Vertical (façade-mounted)

Orientation

DegreesDirectionOutput
NorthMinimal (northern hemisphere)
90°EastMorning peak
180°SouthMaximum annual output
270°WestAfternoon peak

Features

  • Technology-based efficiency: Different panel types with realistic efficiency curves
  • Angle optimization: Output affected by roof angle (optimal ~30-35°)
  • Orientation effects: South-facing panels produce most energy in northern hemisphere
  • Profile-based generation: Uses SimpleSolarProfile for time-of-day curves
  • Cloud cover simulation: Random variance for realistic patterns

Examples

Commercial Rooftop (50 kW)

json
{
  "Name": "office-solar",
  "DeviceClass": "SimulatedSolarInverter",
  "AssetType": "Solar",
  "SimulatedSolarInverter": {
    "InstalledCapacityW": 50000.0,
    "RoofAngleDegrees": 32.0,
    "OrientationDegrees": 180.0,
    "Technology": "Monocrystalline"
  }
}

East-Facing Residential (5 kW)

json
{
  "Name": "home-solar",
  "DeviceClass": "SimulatedSolarInverter",
  "AssetType": "Solar",
  "SimulatedSolarInverter": {
    "InstalledCapacityW": 5000.0,
    "RoofAngleDegrees": 25.0,
    "OrientationDegrees": 90.0,
    "Technology": "ThinFilmAmorphous"
  }
}

Flat Roof with Premium Panels (20 kW)

json
{
  "Name": "warehouse-solar",
  "DeviceClass": "SimulatedSolarInverter",
  "AssetType": "Solar",
  "SimulatedSolarInverter": {
    "InstalledCapacityW": 20000.0,
    "RoofAngleDegrees": 10.0,
    "OrientationDegrees": 180.0,
    "Technology": "Heterojunction"
  }
}

Custom Solar Profiles

Override the default SimpleSolarProfile by implementing ISolarProfileProvider:

csharp
public interface ISolarProfileProvider
{
    double GetSolarOutput(DateTime utcTime, double installedCapacityW);
}

Register your custom provider via DI:

csharp
services.AddSingleton<ISolarProfileProvider, MyCustomSolarProfile>();