Merge pull request #887 from proddy/dev
README update and one change to api_data
131
README.md
@@ -1,17 +1,5 @@
|
|||||||
# 
|
# 
|
||||||
|
|
||||||
**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
|
|
||||||
|
|
||||||
[](https://github.com/emsesp/EMS-ESP32/blob/main/CHANGELOG.md)
|
[](https://github.com/emsesp/EMS-ESP32/blob/main/CHANGELOG.md)
|
||||||
[](https://github.com/emsesp/EMS-ESP32/commits/main)
|
[](https://github.com/emsesp/EMS-ESP32/commits/main)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
@@ -20,34 +8,54 @@ This project is the specifically for the ESP32. Compared with the previous ESP82
|
|||||||
[](https://github.com/emsesp/EMS-ESP32/releases)
|
[](https://github.com/emsesp/EMS-ESP32/releases)
|
||||||
[](https://discord.gg/3J3GgnzpyT)
|
[](https://discord.gg/3J3GgnzpyT)
|
||||||
|
|
||||||
If you like **EMS-ESP**, please give it a star, or fork it and contribute!
|
|
||||||
|
|
||||||
[](https://github.com/emsesp/EMS-ESP32/stargazers)
|
[](https://github.com/emsesp/EMS-ESP32/stargazers)
|
||||||
[](https://github.com/emsesp/EMS-ES32P/network)
|
[](https://github.com/emsesp/EMS-ES32P/network)
|
||||||
[](https://www.paypal.com/paypalme/prderbyshire/2)
|
[](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 <https://bbqkees-electronics.nl> 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 <https://bbqkees-electronics.nl> or custom built.
|
||||||
|
|
||||||
<img src="media/gateway-integration.jpg" width=40%>
|
## **Features**
|
||||||
|
|
||||||
---
|
- A multi-user, multi-language secure web interface to change settings and monitor incoming data
|
||||||
|
|
||||||
# **Features**
|
|
||||||
|
|
||||||
- A multi-user secure web interface to change settings and monitor incoming data
|
|
||||||
- A console, accessible via Serial and Telnet for more advanced monitoring
|
- 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
|
- Can run standalone as an independent WiFi Access Point or join an existing WiFi network
|
||||||
- Easy first-time configuration via a web Captive Portal
|
- 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**
|
## **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
|
|||||||
| <img src="media/web_devices.png"> | <img src="media/web_mqtt.png"> |
|
| <img src="media/web_devices.png"> | <img src="media/web_mqtt.png"> |
|
||||||
| <img src="media/web_edit.png"> | <img src="media/web_log.png"> |
|
| <img src="media/web_edit.png"> | <img src="media/web_log.png"> |
|
||||||
|
|
||||||
## Telnet Console
|
### Telnet Console
|
||||||
|
|
||||||
<img src="media/console.png" width=80% height=80%>
|
<img src="media/console0.png" width=80% height=80%>
|
||||||
|
|
||||||
## In Home Assistant
|
### In Home Assistant
|
||||||
|
|
||||||
<img src="media/ha_lovelace.png" width=80% height=80%>
|
<img src="media/ha_lovelace.png" width=80% height=80%>
|
||||||
|
|
||||||
# **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:
|
|
||||||
|
|
||||||
<!-- prettier-ignore-start -->
|
|
||||||
<!-- markdownlint-disable -->
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td align="center">
|
|
||||||
<a href="https://github.com/MichaelDvP"><img src="https://avatars.githubusercontent.com/u/59284019?v=3?s=100" width="100px;" alt=""/><br /><sub><b>MichaelDvP</b></sub></a><br /></a> <a href="https://github.com/emsesp/EMS-ESP/commits?author=MichaelDvP" title="v2 Commits">v2</a>
|
|
||||||
<a href="https://github.com/emsesp/EMS-ESP32/commits?author=MichaelDvP" title="v3 Commits">v3</a>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<!-- markdownlint-restore -->
|
|
||||||
<!-- prettier-ignore-end -->
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 722 KiB After Width: | Height: | Size: 722 KiB |
BIN
media/console1.png
Normal file
|
After Width: | Height: | Size: 304 KiB |
BIN
media/console3.png
Normal file
|
After Width: | Height: | Size: 888 KiB |
|
Before Width: | Height: | Size: 178 KiB After Width: | Height: | Size: 258 KiB |
BIN
media/web_customizations.png
Normal file
|
After Width: | Height: | Size: 168 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 163 KiB After Width: | Height: | Size: 293 KiB |
BIN
media/web_login.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |
BIN
media/web_sensors.png
Normal file
|
After Width: | Height: | Size: 556 KiB |
|
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 135 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 84 KiB |
@@ -393,7 +393,7 @@ void EMSESPShell::add_console_commands() {
|
|||||||
if (return_code == CommandRet::OK && json.size()) {
|
if (return_code == CommandRet::OK && json.size()) {
|
||||||
if (json.containsKey("api_data")) {
|
if (json.containsKey("api_data")) {
|
||||||
JsonVariant data = json["api_data"];
|
JsonVariant data = json["api_data"];
|
||||||
shell.println(data.as<String>());
|
shell.println(data.as<const char *>());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
serializeJsonPretty(doc, shell);
|
serializeJsonPretty(doc, shell);
|
||||||
|
|||||||