Skip to content

Latest commit

 

History

History
139 lines (98 loc) · 13 KB

README_EN.md

File metadata and controls

139 lines (98 loc) · 13 KB

Smart Appliance Enabler

For several years I have put most of my free time into developing, documenting and supporting this open source project. I made a conscious decision to make this software available free of charge and to continuously expand it with features that could be of interest to as many users as possible. By using this software, electricity costs can be significantly reduced by maximizing the use of self-generated electricity. I would consider it an acknowledgment of my work if a portion of this saving were used to help support this project. This can easily be done using Paypal or bank transfer (account owner: Axel Mueller, IBAN: DE83 5185 0079 1140 0764 37, BIC: HELADEF1FRI, Details: support for Smart Appliance Enabler)

Overview

The Smart Appliance Enabler is a software for integrating any device (Wallbox, heat pump, washing machine, dishwasher, ...) with the Sunny Home Manager by SMA to maximize the use of self-generated electricity obtained by photovoltaic systems.

SmartHomeEnablerClip

For that, the Smart Appliance Enabler reports demands of these devices to the Sunny Home Manager in order to enable optimal planning of self-consumption. According to this planning, the Smart Appliance Enabler receives switching commands, which it forwards to the devices it manages. If individual, digital electricity meters are used for these devices, the power cosumption can be read and reported to the Sunny Home Manager to support it in learning the consumption characteristics and visualize power consumption in the Sunny Portal.

The following graphic from the Sunny Portal shows a sunny autumn day on which the Wallbox was optimally controlled to charge the electric car while avoiding grid purchase. At the same time, the Sunny Home Manager had to run the dishwasher and washing machine according to the set requirements. In addition, the heat pump (hot water and heating) and the espresso machine were switched on at times, which are not controlled by the Sunny Home Manager, but of course also consume electricity.

SHM_Verbraucherbilanz_GuterTag

Hardware

Requirements

The Smart Appliance Enabler was implemented in Java and basically runs on any device for which a Java Virtual Machine with Java 11 exists. In addition to the compiled code, various scripts are provided in which Linux is assumed to be the operating system. If devices are to be connected via GPIO, the Smart Appliance Enabler requires a Raspberry Pi as hardware.

Electricity meter

The Smart Appliance Enabler currently supports the following options for measuring the power consumption of a device in order to report it to the Sunny Home Manager:

Protocol Products
GPIO S0 meter
Modbus Modbus meter
HTTP HTTP meter in general
    compatible productsall products using Tasmota firmware
    MQTT MQTT meter

    More details about these meters and other software based meters (e.g. master/slave meter)

    Switches

    The Smart Appliance Enabler currently supports the following options for switching a device on/off:

    Protocol Products
    GPIO GPIO switch
    level switch
    PWM switch
    Modbus Modbus switch
    level switch

    wallbox
    HTTP HTTP switch
    level switch
      compatible productsall products using Tasmota firmware
        wallbox
        MQTT MQTT switch
        level switch

        More details about these switches and other software based switches (e.g. starting current detection, "smart grid ready" support of heat pumps)

        Assembly

        If the Smart Appliance Enabler is to be operated on a Raspberry Pi, the Assembly Instructions should be observed.

        Installation / Update

        The standard installation runs automatically and requires no Linux knowledge.

        If necessary, the manual installation can also be selected as an alternative, in which all commands in the documentation must be executed manually.

        Installing updates enables the use of new functions and bug fixes.

        If desired, the Smart Appliance Enabler can also be operated in a container with the provided Docker-Images.

        Configuration and Control

        The configuration of the Smart Appliance Enabler is done with the web browser.

        The status of all controllable devices is clearly displayed in the Status display, whereby the status of each device is visualized by a traffic light. The traffic light can also be used for manual control.

        In addition, the Smart Appliance Enabler supports Node-RED by exporting flows for the configured devices so that they can be visualized in the Node-RED dashboard. In addition, the MQTT messages of the Smart Appliance Enabler can be used to integrate with other automation platforms.

        In the following video you can get an impression of the configuration of the Smart Appliance Enabler. This video was created as part of conducting automated tests to ensure the quality of the Smart Appliance Enabler.

        Web-Oberfläche

        Integration with Sunny Portal

        In addition to being controlled by the Sunny Home Manager, the Smart Appliance Enabler enables the integration of devices into Sunny Portal.

        Verbraucherbilanz

        Frequently asked questions

        This page hopefully leads to the solution in case of problems. Based on frequently asked questions, answers are given as well as references to relevant parts of the documentation.




        Support

        Discussions and questions about the Smart Appliance Enabler are correctly placed in Github Discussion.

        In addition, I offer personal, individual, fee-based support with advice - so to speak, the "all-round carefree package".


        Contribute

        To contribute you don't have to be a programmer! Anyone can contribute in many different ways! Your application scenarios for the Smart Appliance Enabler help others!





        Development

        All information about the development of the Smart Appliance Enabler including the documentation of the build and test environments.

        Thanks and appreciation

        The Smart Appliance Enabler project was supported by SMA by providing a Sunny Home Manager 2.0!

        The Smart Appliance Enabler would not exist without the following tools and frameworks, whose developers I would like to thank and acknowledge:

        • Angular for the web frontend
        • Angular Material for material design components of the web frontend
        • Browserstack for automated multi-browser tests and a free license for open source projects
        • Cling for UPnP protocol implementation (part for the SEMP protocol)
        • Docker for its container platform
        • Docker Hub for its repository to exchange docker images
        • GitHub for its platform for project repositories
        • IntelliJ for the best IDE (especially with Linux) and free license for open source projects
        • Jenkins for a build/test automation server
        • pigpioj for a library providing access to Raspberry Pi GPIO
        • Spring Boot for Spring-based applications with embedded web container
        • Testcafe for easy testing of web applications
        • WebStorm for the best IDE (especially with Linux) and free license for open source projects

        License

        The contents of this repository are licensed under the GNU GENERAL PUBLIC LICENSE unless otherwise noted.