diff --git a/README.md b/README.md index 063a55364..59395c367 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,5 @@ # ![logo](media/EMS-ESP_logo_dark.png) -**EMS-ESP** is an open-source firmware for the Espressif ESP8266 and ESP32 microcontroller that communicates with **EMS** (Energy Management System) based equipment from manufacturers like Bosch, Buderus, Nefit, Junkers, Worcester and Sieger. - -This project is the specifically for the ESP32. Compared with the previous ESP8266 (version 2) release it has the following enhancements: - -- Ethernet Support -- Pre-configured circuit board layouts -- Supports writing EMS values directly from within Web UI -- Mock API server for faster offline development and testing -- Improved API and MQTT commands -- Improvements to Dallas temperature sensors -- Embedded log tracing in the Web UI - [![version](https://img.shields.io/github/release/emsesp/EMS-ESP32.svg?label=Latest%20Release)](https://github.com/emsesp/EMS-ESP32/blob/main/CHANGELOG.md) [![release-date](https://img.shields.io/github/release-date/emsesp/EMS-ESP32.svg?label=Released)](https://github.com/emsesp/EMS-ESP32/commits/main) [![license](https://img.shields.io/github/license/emsesp/EMS-ESP32.svg)](LICENSE) @@ -20,34 +8,54 @@ This project is the specifically for the ESP32. Compared with the previous ESP82 [![downloads](https://img.shields.io/github/downloads/emsesp/EMS-ESP32/total.svg)](https://github.com/emsesp/EMS-ESP32/releases) [![chat](https://img.shields.io/discord/816637840644505620.svg?style=flat-square&color=blueviolet)](https://discord.gg/3J3GgnzpyT) -If you like **EMS-ESP**, please give it a star, or fork it and contribute! - [![GitHub stars](https://img.shields.io/github/stars/emsesp/EMS-ESP32.svg?style=social&label=Star)](https://github.com/emsesp/EMS-ESP32/stargazers) [![GitHub forks](https://img.shields.io/github/forks/emsesp/EMS-ESP32.svg?style=social&label=Fork)](https://github.com/emsesp/EMS-ES32P/network) [![donate](https://img.shields.io/badge/donate-PayPal-blue.svg)](https://www.paypal.com/paypalme/prderbyshire/2) -Note, EMS-ESP requires a small hardware circuit that can convert the EMS bus data to be read by the microcontroller. These can be ordered at or contact the contributors that can provide the schematic and designs. +**EMS-ESP** is an open-source firmware for the Espressif ESP32 microcontroller that communicates with **EMS** (Energy Management System) based equipment from manufacturers like Bosch, Buderus, Nefit, Junkers, Worcester and Sieger. It requires a small gateway circuit to interface with the EMS bus which can be purchased from or custom built. - +## **Features** ---- - -# **Features** - -- A multi-user secure web interface to change settings and monitor incoming data +- A multi-user, multi-language secure web interface to change settings and monitor incoming data - A console, accessible via Serial and Telnet for more advanced monitoring -- Native support for Home Assistant and Domoticz via [MQTT Discovery](https://www.home-assistant.io/docs/mqtt/discovery/) +- Native support for Home Assistant, Domoticz and openHAB via [MQTT Discovery](https://www.home-assistant.io/docs/mqtt/discovery/) - Can run standalone as an independent WiFi Access Point or join an existing WiFi network - Easy first-time configuration via a web Captive Portal -- Support for more than [100 EMS devices](https://emsesp.github.io/docs/#/Supported-EMS-Devices) (boilers, thermostats, solar modules, mixer modules, heat pumps, gateways) +- Support for more than [110 EMS devices](https://emsesp.github.io/docs/#/Supported-EMS-Devices) (boilers, thermostats, solar modules, mixer modules, heat pumps, gateways, switches, heat sources) + +## **Documentation** + +For the complete documentation on how to install, configure and get support visit the [EMS-ESP Wiki](https://emsesp.github.io/docs). + +## **Support** + +To chat with the community reach out on our [Discord Server](https://discord.gg/3J3GgnzpyT). + +If you like **EMS-ESP**, please give it a star, or fork it and contribute or offer a small donation! ## **Demo** -See a demo [here](https://ems-esp.derbyshire.nl). Log in with any username/password. +For a live demo of the Web UI click [here](https://ems-esp.derbyshire.nl) and log in with any username/password. -# **Screenshots** +## **Contributors ✨** -## Web Interface +EMS-ESP is a project owned and maintained by [proddy](https://github.com/proddy) and [MichaelDvP](https://github.com/MichaelDvP). + +## **Libraries used** + +- [esp8266-react](https://github.com/rjwats/esp8266-react) by @rjwats for the framework that provides the core of the Web UI +- [uuid-\*](https://github.com/nomis/mcu-uuid-console) from @nomis. The console, syslog, telnet and logging are based off these open source libraries +- [ArduinoJson](https://github.com/bblanchon/ArduinoJson) for all the JSON +- [AsyncMqttClient](https://github.com/marvinroger/async-mqtt-client) for the MQTT client, with custom modifications from @bertmelis and @proddy +- ESPAsyncWebServer and AsyncTCP for the Web server and TCP backends, with custom modifications for performance + +## **License** + +This program is licensed under GPL-3.0 + +## **Screenshots** + +### Web Interface | | | | ---------------------------------- | -------------------------------- | @@ -55,75 +63,10 @@ See a demo [here](https://ems-esp.derbyshire.nl). Log in with any username/passw | | | | | | -## Telnet Console +### Telnet Console - + -## In Home Assistant +### In Home Assistant - -# **Installing** - -Refer to the [official documentation](https://emsesp.github.io/docs) to how to install the firmware and configure it. The documentation is being constantly updated as new features and settings are added. - -You can choose to use an pre-built firmware image or compile the code yourself: - -- [Uploading a pre-built firmware build](https://emsesp.github.io/docs/#/Uploading-firmware) -- [Building the firmware from source code and flashing manually](https://emsesp.github.io/docs/#/Building-firmware) - -# **Support Information** - -If you're looking for support on **EMS-ESP** there are some options available: - -## Documentation - -- [Official EMS-ESP Documentation](https://emsesp.github.io/docs): For information on how to build and upload the firmware -- [FAQ and Troubleshooting](https://emsesp.github.io/docs/#/Troubleshooting): For information on common problems and solutions. See also [BBQKees's wiki](https://bbqkees-electronics.nl/wiki/gateway/troubleshooting.html) - -## Support Community - -- [Discord Server](https://discord.gg/3J3GgnzpyT): For support, troubleshooting and general questions. You have better chances to get fast answers from members of the community -- [Search in Issues](https://github.com/emsesp/EMS-ESP32/issues): You might find an answer to your question by searching current or closed issues - -## Developer's Community - -- [Bug Report](https://github.com/emsesp/EMS-ESP32/issues/new?template=bug_report.md): For reporting Bugs -- [Feature Request](https://github.com/emsesp/EMS-ESP32/issues/new?template=feature_request.md): For requesting features/functions -- [Troubleshooting](https://github.com/emsesp/EMS-ESP32/issues/new?template=questions---troubleshooting.md): As a last resort, you can open new _Troubleshooting & Question_ issue on GitHub if the solution could not be found using the other channels. Just remember: the more info you provide the more chances you'll have to get an accurate answer - -# **Contributors ✨** - -EMS-ESP is a project originally created and owned by [proddy](https://github.com/proddy). Key contributors are: - - - - - - - - -
-
MichaelDvP

v2 - v3 -
- - - -You can also contribute to EMS-ESP by - -- providing Pull Requests (Features, Fixes, suggestions) -- testing new released features and report issues on your EMS equipment -- contributing to missing [Documentation](https://emsesp.github.io/docs) - -# **Libraries used** - -- [esp8266-react](https://github.com/rjwats/esp8266-react) by @rjwats for the framework that provides the core of the Web UI -- [uuid-\*](https://github.com/nomis/mcu-uuid-console) from @nomis. The console, syslog, telnet and logging are based off these open source libraries -- [ArduinoJson](https://github.com/bblanchon/ArduinoJson) for JSON -- [AsyncMqttClient](https://github.com/marvinroger/async-mqtt-client) for the MQTT client, with custom modifications from @bertmelis and @proddy -- ESPAsyncWebServer and AsyncTCP for the Web server and TCP backends, with custom modifications for performance - -# **License** - -This program is licensed under GPL-3.0 diff --git a/media/console.png b/media/console0.png similarity index 89% rename from media/console.png rename to media/console0.png index 0399da27e..39691d5b2 100644 Binary files a/media/console.png and b/media/console0.png differ diff --git a/media/console1.png b/media/console1.png new file mode 100644 index 000000000..928b3f031 Binary files /dev/null and b/media/console1.png differ diff --git a/media/console3.png b/media/console3.png new file mode 100644 index 000000000..d0c44164a Binary files /dev/null and b/media/console3.png differ diff --git a/media/ha_lovelace.png b/media/ha_lovelace.png index 6776a8f63..5b22b72b8 100644 Binary files a/media/ha_lovelace.png and b/media/ha_lovelace.png differ diff --git a/media/web_customizations.png b/media/web_customizations.png new file mode 100644 index 000000000..dfbe91823 Binary files /dev/null and b/media/web_customizations.png differ diff --git a/media/web_devices.png b/media/web_devices.png index 75055909f..b266379a0 100644 Binary files a/media/web_devices.png and b/media/web_devices.png differ diff --git a/media/web_edit.png b/media/web_edit.png index 91c7c4f00..dda9f3f3b 100644 Binary files a/media/web_edit.png and b/media/web_edit.png differ diff --git a/media/web_log.png b/media/web_log.png index e6e2444b9..71d780370 100644 Binary files a/media/web_log.png and b/media/web_log.png differ diff --git a/media/web_login.png b/media/web_login.png new file mode 100644 index 000000000..820943c08 Binary files /dev/null and b/media/web_login.png differ diff --git a/media/web_mqtt.png b/media/web_mqtt.png index f0a7add9b..4074205e8 100644 Binary files a/media/web_mqtt.png and b/media/web_mqtt.png differ diff --git a/media/web_sensor.png b/media/web_sensor.png index 9419070e3..454576659 100644 Binary files a/media/web_sensor.png and b/media/web_sensor.png differ diff --git a/media/web_sensors.png b/media/web_sensors.png new file mode 100644 index 000000000..78126e04e Binary files /dev/null and b/media/web_sensors.png differ diff --git a/media/web_settings.png b/media/web_settings.png index 23b076143..8e90239f7 100644 Binary files a/media/web_settings.png and b/media/web_settings.png differ diff --git a/media/web_status.png b/media/web_status.png index 55c6e923e..0533600a8 100644 Binary files a/media/web_status.png and b/media/web_status.png differ