Explore the docs »
Report Bug
·
Request Feature
Table of Contents
This project is intended to provide a more insightful presentation of the data provided by the original Stiebel Eltron dashboard. On top it adds the missing performance factor chart (Arbeitszahl).
This section lists major frameworks and projects that were used:
- docker
- Asp.net
- SQL Server on Linux
- aspnetcore/src/Identity/samples/IdentitySample.Mvc/ that is licensed under Apache 2.0 (Notice: Some files are changed.)
- marcflohrer/AspNetOnSqlServer
- zzzprojects/html-agility-pack
- xunit/xunit
- HangfireIO/Cronos
- aspnet/Identity
- dotnet/efcore
- AutoFixture/AutoFixture
- microsoft/vstest
- xunit/xunit
- chartjs
- jquery/jquery
- twbs/bootstrap
- jsdelivr/bootstrapcdn
This project prvides a dashboard for the things that are missing in the dashboard provided with a Stiebel Eltron(R) heat pump:
- charts showing the performance factor evolving over time plus the performance factor for the whole operating time of the heat pump.
- charts showing all the metrics in a chart that puts them in a historic context: recent days, recent weeks, months and years.
Here is a screen shot of the dashboard:
- This project has only been tested with the heat pump version WPL 20 A.
- The dashboard labels are partly in German and there is no option to change the language.
- The first day after starting the application no information are available in the database and the site will show an error "Sequence contains no elements".
- After migrating to the .NET 6 version make sure your database connection string contains this
;TrustServerCertificate=True
in your .env file. e.g.:
DatabaseConnectionString="Server=db;Database=master;User=sa;Password=MySuperSecretPassword;TrustServerCertificate=True"
You need docker on the machine where you want to run the application:
- git
- docker
- dotnet 7.0
- either armv7+ && ubuntu 22.04
- or x64 && (linux, mac)
The installation I tested is the combination ubuntu 22.04 on raspberry pi 4 but generally it should work similarly with different operating systems and chipset architecture combinations.
-
Install ubuntu 22.04 on a raspberry pi 4 and enable ssh.
-
Go to the home directory and call the setup script with your passwords, usernames and your url:
sudo chmod +x ubuntu-arm64-setup.sh && ./ubuntu-arm64-setup.sh <databasepassword> <serviceweltusername> <serviceweltpassword> <servicewelturl>
-
When you see 'Migration finished' stop and remove the migration container:
docker stop migration && docker rm migration
-
Start the app:
chmod +x startup-app.sh && ./startup-app.sh &
-
Wait a minute then open http://localhost in any browser. If your raspberry pi is reachable in your local network you can replace localhost with the respective IP address.
-
If you want to contribute to the project and you need to change the database structure you can use the following script to check if your database changes were successful:
./start-dbscaffolding.sh
-
Install the dependencies listed under Prerequisites and then run in the src folder of the repository:
./start-dbmigrating.sh
-
When you see 'Migration finished' stop and remove the migration container:
docker stop migration && docker rm migration
-
Start the app:
chmod +x startup-app.sh && ./startup-app.sh &
If you want to develop the project locally on your machine you have to put an appsettings.json file in the folder src/secrets with the following structure:
{
"DatabasePassword": "<MySuperSecretPassword>",
"DefaultConnection": "Server=localhost,1433;Database=master;User=sa;Password=<MySuperSecretPassword>;TrustServerCertificate=True",
"ServiceWeltUser": "<serviceweltusername>",
"ServiceWeltPassword": "<serviceweltpassword>",
"ServiceWeltUrl": "<servicewelturl>"
}
Replace the placeholders , , , with the respective values in your environment. After running the project in the IDE of your choice the website http://localhost:55876/ should be up and running after some time.
This project is licensed under the Reciprocal Public License 1.5 (RPL1.5). This is a GPL-style license with very detailed liability protection and numerous requirements, created to close a perceived loophole in the GPL which let users sell modified software without 'fairly' distributing it. Disputes over this license must be settled through an American arbitration process.