marcflohrer / stiebel-eltron-dashboard

Provides a dashboard that shows the raw data of the original dashboard as widgets and it adds the missing performance factor metric.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


stiebel-eltron-dashboard demo


Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. What is it about?
  3. Known limitations
  4. Installation
  5. Local Development
  6. License

About The Project

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).

Built With

This section lists major frameworks and projects that were used:

What is it about

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:

Screenshot of the dashboard

Known limitations

  • 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"

Prerequisites

You need docker on the machine where you want to run the application:

Installation

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.

Installation on ubuntu 22.04

  1. Install ubuntu 22.04 on a raspberry pi 4 and enable ssh.

  2. 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>
  3. When you see 'Migration finished' stop and remove the migration container:

    docker stop migration && docker rm migration
  4. Start the app:

    chmod +x startup-app.sh && ./startup-app.sh &
  5. 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.

  6. 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

Installation somewhere else

  1. Install the dependencies listed under Prerequisites and then run in the src folder of the repository:

    ./start-dbmigrating.sh
  2. When you see 'Migration finished' stop and remove the migration container:

    docker stop migration && docker rm migration
  3. Start the app:

    chmod +x startup-app.sh && ./startup-app.sh &

Local development

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.

License

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.

About

Provides a dashboard that shows the raw data of the original dashboard as widgets and it adds the missing performance factor metric.

License:Other


Languages

Language:C# 68.2%Language:HTML 28.6%Language:Shell 1.4%Language:JavaScript 1.0%Language:CSS 0.7%Language:Dockerfile 0.2%