Skip to content

Commit 34d8fb3

Browse files
committed
added archive data to readme
cleaned examples
1 parent 33e0300 commit 34d8fb3

File tree

2 files changed

+91
-15
lines changed

2 files changed

+91
-15
lines changed

FroniusSolarClient.Examples/Program.cs

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,11 @@ static void Main(string[] args)
2020
{
2121
var client = new SolarClient("10.1.1.124", 1, OutputResponseHeader);
2222

23-
GetArchiveData(client);
24-
23+
//GetArchiveDataOverPast24Hours(client);
2524
//GetRealTimeData(client);
2625
}
27-
static void GetArchiveData(SolarClient client)
28-
{
29-
var channels = new List<Channel> { Channel.Voltage_AC_Phase_1, Channel.Voltage_AC_Phase_2, Channel.Voltage_AC_Phase_3 };
30-
31-
var data = client.GetArchiveData(DateTime.Now.AddDays(-1),DateTime.Now, channels);
32-
33-
Console.WriteLine(data);
34-
}
26+
27+
#region RealtimeData
3528
static void GetRealTimeData(SolarClient client)
3629
{
3730
var data = client.GetCommonInverterData(2, Scope.System);
@@ -42,5 +35,28 @@ static void GetRealTimeData(SolarClient client)
4235

4336
Console.WriteLine(data2.MaxCurrentDayAcPower);
4437
}
38+
#endregion
39+
40+
#region ArchiveData
41+
static void GetArchiveDataBetweenDates(SolarClient client)
42+
{
43+
var channels = new List<Channel> { Channel.Voltage_AC_Phase_1, Channel.Voltage_AC_Phase_2, Channel.Voltage_AC_Phase_3 };
44+
45+
var dateFrom = DateTime.Parse("01/08/2019");
46+
var dateTo = DateTime.Parse("05/08/2019");
47+
48+
var data = client.GetArchiveData(dateFrom, dateTo, channels);
49+
50+
Console.WriteLine(data);
51+
}
52+
static void GetArchiveDataOverPast24Hours(SolarClient client)
53+
{
54+
var channels = new List<Channel> { Channel.Voltage_AC_Phase_1, Channel.Voltage_AC_Phase_2, Channel.Voltage_AC_Phase_3 };
55+
56+
var data = client.GetArchiveData(DateTime.Now.AddDays(-1), DateTime.Now, channels);
57+
58+
Console.WriteLine(data);
59+
}
60+
#endregion
4561
}
4662
}

README.md

Lines changed: 65 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ A .NET Client wrapper for the [Fronius Solar API](https://www.fronius.com/en/pho
55

66
Install the [NuGet package](https://www.nuget.org/packages/FroniusSolarClient.Core/)
77

8-
`Install-Package FroniusSolarClient.Core`
8+
`Install-Package FroniusSolarClient.Core`
99

1010
```csharp
1111
using FroniusSolarClient.Entities.SolarAPI.V1;
@@ -18,14 +18,17 @@ static void OutputResponseHeader(CommonResponseHeader responseHeader)
1818
var client = new SolarClient("IP_ADDRESS", 1, OutputResponseHeader);
1919
```
2020

21-
## Implementation Status
21+
see [examples](#examples)
22+
23+
## Implementation
2224

2325
[Realtime Requests](#realtime-requests)
2426

25-
|||
26-
|---|---|
27-
|[GetInverterRealtimeData](#GetInverterRealtimeData)| **100%**|
27+
- [GetInverterRealtimeData](#GetInverterRealtimeData)
2828

29+
[Archive Data Requests](#Archive-Data-Requests)
30+
31+
- [Channels](#Channels)
2932

3033

3134

@@ -40,9 +43,46 @@ This request does not care about the configured visibility of single inverters.
4043
- P3InverterData (3PInverterData) - Values which are provided by 3phase Fronius inverters.
4144
- MinMaxInverterData - Minimum and Maximum values of various inverter values.
4245

46+
### Archive Data Requests
47+
Archive requests are provided whenever access to historic device-data is possible. The Datalogger web can only provide what is stored in its internal memory and has not been overwritten by newer data yet, it can loose data due to capacity reasons. The number of days stored is dependant on the number of connected units that are logging data.
48+
49+
#### Channels
50+
Each channel is handled and requested by name. Most of the channels are recorded in constant cyclic intervals which can be set between 5 and 30 minutes. Only `Digital_PowerManagementRelay_Out_1`, `InverterErrors`, `InverterEvents` and `Hybrid_Operating_State` are event triggered and may occur every time.
51+
52+
|Name|Unit|
53+
|---|---|
54+
|TimeSpanInSec |sec|
55+
|Digital_PowerManagementRelay_Out_1|1|
56+
|EnergyReal_WAC_Sum_Produced|Wh|
57+
|InverterEvents | struct|
58+
|InverterErrors | struct|
59+
|Current_DC_String_1 |1A |
60+
|Current_DC_String_2 |1A |
61+
|Voltage_DC_String_1 |1V |
62+
|Voltage_DC_String_2 |1V |
63+
|Temperature_Powerstage |deg C |
64+
|Voltage_AC_Phase_1 |1V |
65+
|Voltage_AC_Phase_2 |1V |
66+
|Voltage_AC_Phase_3 | 1V |
67+
|Current_AC_Phase_1 |1A |
68+
|Current_AC_Phase_2 |1A |
69+
|Current_AC_Phase_3 |1A |
70+
|PowerReal_PAC_Sum |1W |
71+
|EnergyReal_WAC_Minus_Absolute |1Wh|
72+
|EnergyReal_WAC_Plus_Absolute |1Wh |
73+
|Meter_Location_Current |1 |
74+
|Temperature_Channel_1 |1|
75+
|Temperature_Channel_2 |1 |
76+
|Digital_Channel_1 |1 |
77+
|Digital_Channel_2 |1 |
78+
|Radiation |1 |
79+
|Digital_PowerManagementRelay_Out_1 |1 |
80+
|Hybrid_Operating_State |1|
81+
4382
## Examples
4483

4584
- [GetInverterRealtimeData](#GetInverterRealtimeData)
85+
- [GetArchiveData](#GetArchiveData)
4686

4787

4888
### GetInverterRealtimeData
@@ -61,6 +101,26 @@ Provide device id and scope
61101
var data = client.GetCommonInverterData(2, Scope.System);
62102
```
63103

104+
### GetArchiveData
105+
106+
Get channel `Voltage_AC_Phase` data over the past 24 hours
107+
108+
```csharp
109+
var channels = new List<Channel> { Channel.Voltage_AC_Phase_1, Channel.Voltage_AC_Phase_2, Channel.Voltage_AC_Phase_3 };
110+
111+
var data = client.GetArchiveData(DateTime.Now.AddDays(-1), DateTime.Now, channels);
112+
```
113+
114+
or between 2 dates
115+
116+
```csharp
117+
var dateFrom = DateTime.Parse("01/08/2019");
118+
var dateTo = DateTime.Parse("05/08/2019");
119+
120+
var data = client.GetArchiveData(dateFrom, dateTo, channels);
121+
```
122+
**Query intervals are restricted to a maximum of 16 days and the number of parallel queries is system wide restricted to 4 clients.**
123+
64124
### Other Examples
65125

66126
See [Program.cs](FroniusSolarClient.Examples/Program.cs) for more examples

0 commit comments

Comments
 (0)