diff --git a/README.md b/README.md index 98c1bc9..2945ccb 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ solXpect forecasts the output of your solar power plant This app takes direct and diffuse radiation data from Open-Meteo.com, calculates the position of the sun and projects the radiation on your solar panel. It shows the estimated energy production for the next hours and up to 16 days. +The hourly values are calculated for the preceding hour. So if there are 150 Wh shown at 11:00 this means you can expect 150 Wh between 10:00 and 11:00. diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a300af7..a1dac11 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,6 +46,15 @@ android:name="android.support.PARENT_ACTIVITY" android:value="org.woheller69.weather.activities.ForecastCityActivity" /> + + + + +

Übersicht

+ +Diese App nimmt direkte und diffuse Strahlungsdaten von Open-Meteo.com, berechnet die Position +der Sonne und projiziert die Strahlung auf Ihr Solarpanel. +Es zeigt die geschätzte Energieproduktion für die nächsten Stunden und bis zu 16 Tage an. +Die Stundenwerte werden für die vorangegangene Stunde berechnet. +Wenn also um 11:00 Uhr 150 Wh angezeigt werden, bedeutet dies, dass Sie zwischen 10:00 und 11:00 Uhr mit 150 Wh rechnen können. + +

Parameter

+ +

Breitengrad [°]

+Der Breitengrad gibt die Nord-Süd-Position Ihres Solarkraftwerks an. Er reicht von –90° am Südpol bis 90° am Nordpol. + +

Längengrad [°]

+Der Längengrad gibt die Ost-West-Position Ihres Solarkraftwerks an. Der Nullmeridian definiert 0° Länge. Positive Längen liegen östlich des Nullmeridians, negative westlich. + +

Azimut [°]

+Azimut ist die horizontale Richtung Ihres Solarkraftwerks. 0° entspricht Norden, 90° entspricht Osten, 180° entspricht Süden, 270° entspricht Westen. + +

Neigung [°]

+Neigung ist die vertikale Richtung Ihres Solarkraftwerks. 0° bedeutet, dass es zum Himmel zeigt, 90° bedeutet, dass es vertikal ausgerichtet ist und zum Horizont zeigt. + +

Zellen max. Leistung [W]

+Maximale Leistung, die Ihre Solarzellen liefern können. + +

Zelleneffizienz [%]

+Energieanteil in Form von Sonnenlicht, der von der Solarzelle in Strom umgewandelt werden kann. + +

Zellenfläche [m2]

+Größe der aktiven Fläche Ihres Solarpanels. + +

Diffuse Strahlungseffizienz [%]

+Wirkungsgrad Ihres Solarkraftwerks bei diffuser Strahlung. Bei der Ausrichtung nach oben sollte er etwa 100 % betragen, bei der Ausrichtung zum Horizont etwa 50 %. +Dies ist auch abhängig von Reflexionen etc. + +

Wechselrichterleistung [W]

+Maximale Leistung Ihres Wechselrichters. Wenn sie niedriger als die maximale Leistung Ihrer Panels ist, wird die Ausgangsleistung Ihres Systems durch diesen Parameter begrenzt. + +

Wirkungsgrad des Wechselrichters [%]

+Wirkungsgrad Ihres Wechselrichters. + +

Abschattung

+In diesem Abschnitt können Sie die Abschattung Ihrer Solarmodule definieren. +Für jeden Azimutwinkelbereich können Sie die minimale Elevation der Sonne angeben, die erforderlich ist, damit die Sonne auf die Solarmodule trifft. +Für Elevationen unter diesem Wert können Sie den Prozentsatz der Abschattung festlegen. Beispielsweise reduziert ein Gebäude die Strahlung um 100 %, ein Baum vielleicht nur um 60 %. + + + \ No newline at end of file diff --git a/app/src/main/assets/help/help-en.html b/app/src/main/assets/help/help-en.html new file mode 100644 index 0000000..a7437a4 --- /dev/null +++ b/app/src/main/assets/help/help-en.html @@ -0,0 +1,50 @@ + + +

Overview

+ +This app takes direct and diffuse radiation data from Open-Meteo.com, calculates the position +of the sun and projects the radiation on your solar panel. +It shows the estimated energy production for the next hours and up to 16 days. +The hourly values are calculated for the preceding hour. +So if there are 150 Wh shown at 11:00 this means you can expect 150 Wh between 10:00 and 11:00. + +

Parameters

+ +

Latitude [°]

+Latitude specifies the north–south position of your solar power plant. It ranges from –90° at the south pole to 90° at the north pole. + +

Longitude [°]

+Longitude specifies the east–west position of your solar power plant. The prime meridian defines 0° longitude. Positive longitudes are east of the prime meridian, negative ones are west. + +

Azimuth [°]

+Azimuth is the horizontal direction of your solar power plant. 0° equals North, 90° equals East, 180° equals South, 270° equals West. + +

Tilt [°]

+Tilt is the vertical direction of your solar power plant. 0° means it points up towards the the sky, 90° means it has a vertical orientation and points towards the horizon. + +

Cells max power [W]

+Maximum power your solar cells can deliver. + +

Cells efficiency [%]

+Portion of energy in the form of sunlight that can be converted into electricity by the solar cell. + +

Cell area [m2]

+Size of the active area your solar panel. + +

Diffuse radiation efficiency [%]

+Efficiency of your solar power plant for diffuse radiation. When pointing up it should be around 100%, when pointing to the horizon it may be around 50%. +Also depends on reflections etc. + +

Inverter power [W]

+Maximum power of your inverter. If it is lower than the maximum power of your panels the output power of your system will be limited by this parameter. + +

Inverter efficiency [%]

+Efficiency of your inverter. + +

Shading

+In this section you can define the shading on your solar panels. +For each azimuth angle range, you can specify the minimum elevation of the sun that is necessary for the sun to hit the solar panels. +For elevations below this value you can set the percentage of shading. For example, a building will reduce radiation by 100%, a tree maybe only by 60%. + + + diff --git a/app/src/main/java/org/woheller69/weather/activities/HelpActivity.java b/app/src/main/java/org/woheller69/weather/activities/HelpActivity.java new file mode 100644 index 0000000..08639f0 --- /dev/null +++ b/app/src/main/java/org/woheller69/weather/activities/HelpActivity.java @@ -0,0 +1,44 @@ +package org.woheller69.weather.activities; + +import android.content.res.AssetManager; +import android.os.Bundle; +import android.webkit.WebView; +import org.woheller69.weather.R; + +import androidx.appcompat.app.ActionBar; + +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +public class HelpActivity extends NavigationActivity{ + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_help); + WebView view = findViewById(R.id.help); + + String language = getResources().getConfiguration().getLocales().get(0).getLanguage(); + + String filename = "help-"+language+".html"; + + AssetManager am = getAssets(); + try { + List mapList = Arrays.asList(am.list("help")); + + if (!mapList.contains(filename)) { + filename = "help-en.html"; + } + } catch ( IOException ex){ + ex.printStackTrace(); + } + + view.loadUrl("file:///android_asset/help/"+ filename); + + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(true); + } + } +} diff --git a/app/src/main/java/org/woheller69/weather/activities/NavigationActivity.java b/app/src/main/java/org/woheller69/weather/activities/NavigationActivity.java index 6d2e3f7..70193bf 100644 --- a/app/src/main/java/org/woheller69/weather/activities/NavigationActivity.java +++ b/app/src/main/java/org/woheller69/weather/activities/NavigationActivity.java @@ -174,10 +174,13 @@ public class NavigationActivity extends AppCompatActivity implements OnNavigatio startActivity(intent); }else if (itemId==R.id.nav_about) { intent = new Intent(this, AboutActivity.class); - createBackStack(intent); + startActivity(intent); }else if(itemId==R.id.nav_settings) { intent = new Intent(this, SettingsActivity.class); - createBackStack(intent); + startActivity(intent); + }else if(itemId==R.id.nav_help) { + intent = new Intent(this, HelpActivity.class); + startActivity(intent); }else if (itemId==R.id.star_on_github){ startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(BuildConfig.GITHUB_URL))); diff --git a/app/src/main/res/drawable/ic_help_24px.xml b/app/src/main/res/drawable/ic_help_24px.xml new file mode 100644 index 0000000..956415a --- /dev/null +++ b/app/src/main/res/drawable/ic_help_24px.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_help.xml b/app/src/main/res/layout/activity_help.xml new file mode 100644 index 0000000..0a90b44 --- /dev/null +++ b/app/src/main/res/layout/activity_help.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/menu/activity_main_drawer.xml b/app/src/main/res/menu/activity_main_drawer.xml index 9b81cdb..d8289ca 100644 --- a/app/src/main/res/menu/activity_main_drawer.xml +++ b/app/src/main/res/menu/activity_main_drawer.xml @@ -21,6 +21,10 @@ android:id="@+id/nav_settings" android:icon="@drawable/ic_settings_24px" android:title="@string/activity_settings" /> + Min. Elevation der Sonne [°] Abschattung unterhalb dieser Elevation [%] Abschattung + Anleitung diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4c6961f..34818f7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -132,4 +132,5 @@ Min. solar elevation [°] Shading below this elevation [%] Shading + Instructions