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
| Property | Description | Default |
|---|---|---|
| InstalledCapacityW | Installed capacity in watts | 10,000 W (10 kW) |
| RoofAngleDegrees | Panel angle from horizontal (0°=flat, 90°=vertical) | 30° |
| OrientationDegrees | Panel azimuth (0°=north, 90°=east, 180°=south, 270°=west) | 180° (south) |
| Technology | Panel technology type | Monocrystalline |
| InitialExportRegisterWh | Initial export energy register | 5,000,000 Wh (5 MWh) |
Panel Technologies
| Technology | Efficiency | Characteristics |
|---|---|---|
Polycrystalline | 15-17% | Lower cost, lower efficiency |
Monocrystalline | 18-22% | Standard choice, good efficiency |
Heterojunction | 21-24% | Premium, highest efficiency |
ThinFilmAmorphous | 10-12% | Better low-light performance |
Angle & Orientation
Roof Angle
Optimal angle depends on latitude. For most of Europe/US:
| Angle | Description |
|---|---|
| 0° | Flat roof (suboptimal) |
| 25-35° | Optimal for mid-latitudes |
| 45° | Steeper roofs, good for winter |
| 90° | Vertical (façade-mounted) |
Orientation
| Degrees | Direction | Output |
|---|---|---|
| 0° | North | Minimal (northern hemisphere) |
| 90° | East | Morning peak |
| 180° | South | Maximum annual output |
| 270° | West | Afternoon 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
SimpleSolarProfilefor 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>();