Skip to content

camueller/SmartApplianceEnabler

Repository files navigation

  This documentation is available in English.



Smart Appliance Enabler

Seit mehreren Jahren habe ich einen Grossteil meiner Freizeit in Entwicklung, Dokumentation und Support dieses Open-Source-Projektes gesteckt. Ich habe mich bewusst dazu entschieden, diese Software kostenfrei zur Verfügung zu stellen und kontinuierlich um Features zu erweitern, die für möglichst viele Nutzer von Interesse sein könnten. Durch die Nutzung dieser Software lassen sich die Stromkosten signifikant senken, indem die Nutzung des selbst erzeugten Stroms maximiert wird. Ich würde es als Anerkennung meiner Arbeit betrachten, wenn ein Teil dieser Ersparnis als Beitrag zur Förderung dieses Projekts verwendet werden würde. Das geht ganz einfach per Paypal oder als klassische Banküberweisung (Kontoinhaber: Axel Müller, IBAN: DE83 5185 0079 1140 0764 37, BIC: HELADEF1FRI, Verwendungszweck: Förderbeitrag Smart Appliance Enabler)

Überblick

Der Smart Appliance Enabler ist eine Software zur Integration beliebiger Geräte (Wallbox, Wärmepumpe, Waschmaschine, Geschirrspüler, ...) mit dem Sunny Home Manager von SMA, um eine Maximierung des Eigenverbrauchs von Photovoltaik-Anlagen zu ermöglichen.

SmartHomeEnablerClip

Dazu meldet der Smart Appliance Enabler dem Sunny Home Manager Bedarfsanforderungen dieser Geräte, um diesem eine optimale Planung des Eigenverbrauchs zu ermöglichen. Entsprechend dieser Planung empfängt der Smart Appliance Enabler Schaltbefehle, die er an die von ihm verwalteten Geräte weiterleitet. Falls für diese Geräte individuelle, digitale Stromzähler vorhanden sind, können diese ausgelesen und der Stromverbrauch an den Sunny Home Manager gemeldet werden, um diesen beim Lernen der Verbrauchscharakteristik zu unterstützen und Verbräuche im Sunny Portal zu visualisieren.

Die nachfolgende Grafik aus dem Sunny Portal zeigt einen sonnigen Herbsttag, an dem die Wallbox optimal angesteuert wurde, um das E-Auto so zu laden und so Netzbezug zu vermeiden. Gleichzeitig musste der Sunny Home Manager den Geschirrspüler und die Waschmaschine entsprechend der eingestellten Anforderungen laufen lassen. Zusätzlich waren auch die Wärmepumpe (Warmwasser und Heizung) und die Espressomaschine zeitweise eingeschaltet, die nicht durch den Sunny Home Manager gesteuert werden, aber natürlich auch Strom verbrauchen.

SHM_Verbraucherbilanz_GuterTag

Hardware

Anforderungen

Der Smart Appliance Enabler wurde in Java implementiert und läuft grundsätzlich auf jedem Gerät, für das eine Java Virtual Machine mit Java 11 existiert. Neben dem compilierten Code werden diverse Scripts bereitgestellt, in denen von Linux als Betriebssystem ausgegangen wird. Falls Geräte über GPIO angebunden werden sollen, benötigt der Smart Appliance Enabler einen Raspberry Pi als Hardware.

Stromzähler

Aktuell unterstützt der Smart Appliance Enabler folgende Möglichkeiten, den Stromverbrauch eines Gerätes zu messen, um ihn an den Sunny Home Manager zu melden:

Protokolle Produkte
GPIO S0-Zähler
Modbus Modbus Zähler
HTTP HTTP Zähler allgemein
    kompatible Produktealle Produkte mit Tasmota-Firmware
    MQTT MQTT-Zähler

    Details zu diesen Zählern und weiteren Software-basierten Zählern (z.B. Master/Slave)

    Schalter

    Zum Ein-/Ausschalten eines Gerätes unterstützt der Smart Appliance Enabler derzeit folgende Möglichkeiten:

    Protokolle Produkte
    GPIO GPIO Schalter
    Stufenschalter
    PWM-Schalter
    Modbus Modbus Schalter
    Modbus-basierte Stufenschalter

    Wallboxen
    HTTP HTTP Schalter
    HTTP-basierte Stufenschalter
      kompatible Produktealle Produkte mit Tasmota-Firmware
        Wallboxen
        MQTT MQTT Schalter
        MQTT-basierte Stufenschalter

        Details zu diesen Schaltern und weiteren Software-basierten Schalten (z.B. Anlaufstromerkennung, Unterstützung der SG-Ready-Funktion von Wärmepumpen )

        Montage

        Falls der Smart Appliance Enabler auf einem Raspberry Pi betrieben werden soll, sollten dafür die Montage-Hinweise beachtet werden.

        Installation / Update

        Die Standard-Installation läuft automatisch ab und erfordert keine Linux-Kenntnisse.

        Falls notwendig, kann alternativ auch die manuelle Installation gewählt werden, bei der sämtliche Befehle der Dokumentation manuell auszuführen sind.

        Die Installation von Updates ermöglicht die Nutzung neuer Funktionen und Fehlerbehebungen.

        Bei Bedarf lässt sich der Smart Appliance Enabler auch im Container mit den bereitgestellten Docker-Images betreiben.

        Konfiguration und Steuerung

        Die Konfiguration des Smart Appliance Enabler erfolgt mit dem Web-Browser.

        Der Status aller steuerbaren Geräte wird in der Status-Anzeige übersichtlich dargestellt, wobei der Status jedes Gerätes durch eine Ampel visualisiert wird. Die Ampel kann auch zur manuellen Steuerung verwendet werden.

        Zusätzlich unterstützt der Smart Appliance Enabler Node-RED, indem er für die konfigurierten Geräte Flows exportiert, damit diese im Dashboard von Node-RED visualisiert werden. Darüber hinaus können die MQTT-Nachrichten des Smart Appliance Enabler zur Integration mit anderen Automatisierungsplatformen verwendet werden.

        In dem nachfolgenden Video kann man einen Eindruck von der Konfiguration des Smart Appliance Enabler gewinnen. Dieses Video wurde im Rahmen der Durchführung automatisierter Tests erstellt, welche die Qualität des Smart Appliance Enabler sicherstellen sollen.

        Web-Oberfläche

        Integration in das Sunny Portal

        Neben der Steuerung durch den Sunny Home Manager ermöglicht der Smart Appliance Enabler die Integration von Geräten in das Sunny Portal.

        Verbraucherbilanz

        Häufige Fragen und Antworten

        Diese Seite führt bei Problemen hoffentlich zur Lösung. Ausgehend von häufig gestellten Fragen werden Antworten sowie Verweise zu relevanten Teilen der Dokumentation gegeben.




        Unterstützung

        Diskussionen und Fragen rund um den Smart Appliance Enabler sind in Github Diskussion richtig platziert.

        Darüber hinaus biete ich einen persönlichen, individuellen, kostenpflichtigen Support mit Beratung an - quasi das "Rundum-sorglos Paket".


        Mitmachen

        Zum Mitmachen muss man kein Programmierer sein! Mitmachen kann jeder auf vielfältige Weise! Eure Anwendunsszenarien für den Smart Appliance Enabler helfen Anderen weiter!





        Entwicklung

        Alle Informationen rund um die Entwicklung des Smart Appliance Enabler einschliesslich der Dokumentation der Build- und Testumgebungen.

        Dank und Anerkennung

        Das Projekt Smart Appliance Enabler wurde durch die kostenfreie Bereitstellung eines Sunny Home Manager 2.0 von SMA unterstützt!

        Der Smart Appliance Enabler würde ohne folgende Tools und Frameworks so nicht existieren, deren Entwicklern ich Dank und Anerkennung zolle:

        • Angular für das Web-Frontend
        • Angular Material für die Material-Design-Komponenten des Web-Frontends
        • Browserstack für automatisierte Multi-Browser-Tests und kostenlose Lizenz für Open-Source-Projekte
        • Cling für eine Implementierung des UPnP-Protokolls (Teil des SEMP-Protokolls)
        • Docker für seine Container-Platform
        • Docker Hub für sein Repository zum Austausch von Docker-Images
        • GitHub für seine Plaformform für Projekt-Repositories
        • IntelliJ für die beste IDE (vor allem auch unter Linux) und kostenlose Lizenz für Open-Source-Projekte
        • Jenkins für den Server zur Automatisierung von Builds/Tests
        • pigpioj für eine Bibliothek für den Zugriff auf die GPIO-Ports des Raspberry Pi
        • Spring Boot für Spring-basierte Anwendungen mit eingebettetem Web-Container
        • Testcafe für einfaches Testen von Web-Anwendungen
        • WebStorm für die beste Web-IDE (vor allem auch unter Linux) und kostenlose Lizenz für Open-Source-Projekte

        Lizenz

        Die Inhalte in diesem Repository sind lizensiert unter der GNU GENERAL PUBLIC LICENSE, falls nicht anders angegeben.