reneschuster / SmartApplianceEnabler

This gateway software turns existing devices into smart appliances.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Smart Appliance Enabler

Donate

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)

Wozu?

Der Smart Appliance Enabler dient dazu, beliebige Geräte (Ladegeräte/Wallboxen für E-Autos, Wärmepumpe, Waschmaschine, Geschirrspüler, ...) mit dem Sunny Home Manager (SHM) von SMA zu integrieren, um eine Maximierung des Eigenverbrauchs von Photovoltaik-Anlagen zu ermöglichen.

SmartHomeEnablerSchema

Dazu meldet der Smart Appliance Enabler dem SHM 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 verwendet werden, können diese ausgelesen werden und der Stromverbrauch an den SHM gemeldet werden, um diesen beim Lernen der Verbrauchscharakteristik zu unterstüzen und Verbräuche zu visualieren.

Die nachfolgende Grafik des Sunny Home Manager (SHM) zeigt einen sonnigen Herbstag, an dem die Wallbox optimal angesteuert wurde, um das E-Auto so zu laden, dass Netzbezug vermieden wird. Gleichzeitig musste der SHM 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 SHM 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 existiert. Neben dem compilierten Code werden diverse Script 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 die (Smart-Home-) Steuerung zu melden:

Protokolle Produkte
GPIO S0-Zähler
Modbus Modbus-basierte Zähler
HTTP HTTP-basierte Zähler allgemein
    kompatible Produktemit Tasmota-Firmware nutzbare Produkte

    Schalter

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

    Protokolle Produkte
    GPIO GPIO-basierte Schalter
    Modbus Modbus-basierte Schalter

    Modbus-basierte Ladegeräte für Elektroautos
    HTTP HTTP-basierte Schalter allgemein
      kompatible Produktemit Tasmota-Firmware nutzbare ProdukteHTTP-basierte Ladegeräte für Elektroautos

      Alle aufgeführten Schalter (außer Ladegeräte für Elektro-Autos) können mit einer Anlaufstromerkennung verwendet werden, um die Programmierung des Gerätes zu ermöglichen.

      Für den reibungslosen Einsatz des Smart Appliance Enabler sollten die Montage-Hinweise beachtet werden.

      Software

      In den nachfolgenden Kapiteln ist Installation und Konfiguration des Smart Appliance Enabler beschrieben. Gegebenenfalls sollte auch das Kapitel Fragen / Probleme konsultiert werden.

      Der einfachste Weg zu einem lauffähigen Smart Appliance Enabler besteht in der Installation einer releasten Version.

      Damit der Smart Appliance Enabler die Geräte steuern und deren Stromverbrauch messen kann, ist zusätzlich zur Installation der Software die Erstellung einer Konfiguration erforderlich.

      Im oberen Bereich der Seite findet sich der Menüpunkt zur Verwaltung der zentralen Einstellungen.

      Der Status aller 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.

      Integration in den Sunny Home Manager

      Der Sunny Home Manager kann die Geräte erst dann steuern und deren Verbrauch messen, nachdem sie auch im Sunny Home Manager konfiguriert worden sind.

      Zur Nutzung von Features, die noch nicht in der releasten Version enthalten sind, muss der Smart Appliance Enabler aus Sourcen gebaut werden.

      Durch die Vielzahl von Hard- und Softwarekomponenten können bei der Verwendung des Smart Appliance Enabler naturgemäß Fragen oder Probleme auftreten. In diesem Fall sollten diese Hinweise beachtet werden.

      Mitmachen

      Zum Mitmachen muss man kein Programmierer sein! Auch die Dokumentation oder Support von anderen Anwendern im Forum sind Bereiche, in denen man helfen kann, den Smart Appliance Enabler besser zu machen. Der Smart Appliance Enabler ist für einige Einsatzzwecke "Out-of-the-box" geeignet. Viel interessanter sind aber oft Ideen, an die bei der Entwicklung des Smart Appliance Enabler gar nicht gedacht wurde, die ihr aber damit umgesetzt habt. Es wäre doch schön, wenn andere auch von Euren Ideen profitieren würden oder vielleicht sogar dazu beitragen könnten, sie noch besser zu machen.

      Wenn Ihr zum Smart Appliance Enabler inkl. Dokumenation beitragen wollt, solltet Ihr das Smart Appliance Enabler-Repository clonen. Ihr könnte dann in Eurer Kopie z.B. die Dokumentation erweitern oder korrigieren und mir dann einen Pull-Request schicken, mit dem ich Eure Änderungen direkt in das Smart Appliance Enabler-Repository übernehmen kann.

      Dank und Anerkennung

      Der Smart Appliance Enabler verwendet intern folgende Open-Source-Software:

      • Pi4J für den Zugriff auf die GPIO-Ports des Raspberry
      • Spring Boot für RESTful Web-Services (SEMP-Protokoll)
      • Angular für das Web-Frontend
      • Semantic UI für das Web-Frontend
      • Cling für UPnP (SEMP-Protokoll)

      Lizenz

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

      About

      This gateway software turns existing devices into smart appliances.

      License:GNU General Public License v2.0


      Languages

      Language:Java 62.7%Language:TypeScript 29.2%Language:HTML 6.6%Language:Dockerfile 0.5%Language:CSS 0.3%Language:Shell 0.3%Language:Python 0.3%