Library for controlling E.G.O. RS485 Smart Heaters.
Description from users manual:
The EGO Smart Heater is a screwin heater controlled by a communication interface to heat up water and aqueous solutions (e.g. hot water storage).
The EGO Smart Heater is suitable to optimise the own power consumption by converting electrical energy, for example from the photovoltaic system, into thermal energy.
The power of the EGO Smart Heater can be adjusted within the range 0W to 3500W in 500W steps.
Please refer to the Assembly und User manual to learn about the device features, possible fields of applications and boundary conditions.
The protocol description document contains a description of all available modbus registers. The library provides appropriate reading and - if possible - writing functions for all registers.
Some important library functions:
- setPowerNominalValue: Activate the heater in manual mode, to switch it to a specific power consumption.
- setHomeTotalPower: Activate the heater in automatic mode. Provide the current metering value of a two-way meter. Negative values will cause the heater to be turned on.
- getRelaisStatus: Get current power consumption. Multiply the Relais-Status value by 500 to get the current power consumption of the heater.
Renew the activation at least every 60 seconds. Otherwise the heater is automatically turned off.
This library has been tested with an Arduino NodeMCU ESP8266 controller, connected via RS485 using a MAX485 MAX485 transceiver. The transceiver is connected via software serial library.
However, as far as I can see, there is no hardware dependency. Therefore I expect EgoSmartHeaterRS485
to work with other Arduino devices as well. Other tranceiver boards might require code changes.
The following image shows the wiring schema of the ESP8266 example. Other PINs might be used, but not all of the ESP I/O PINs will be usable for all purposes. Please be aware, that a shielded cable is recommended to connect to the RS485 interface. Shielding must be unilaterally contacted (either on the EGO Smart Heater or on the control end only).
The Smart Heater must only be be turned on, if installed in a container filled with liquid. However to test the RS485 communication it is sufficient to wire the device (energy as well as communication) and power it up while the rotary operating mode selector is in OFF position. Reading registers is possible in this mode but the device cannot be activated.
To install the library please refer to Arduino Tutorials > Libraries Manual Installation.
The library contains a sketch that demonstrates how to use the library with an ESP8266 controller and a MAX485 transceiver. You can find it in the examples folder.
The library is documented by a Doxygen documentation. Please download the library and view the /html/index.html file.
Please submit an issue for all questions, bug reports, and feature requests. Email requests will be politely redirected to the issue tracker so others may contribute to the discussion and requestors get a more timely response.
The Smart Heater library depends on 4-20ma's ModbusMaster library which is used for the RS485/Modbus RTU communication. Please refer to this repository in case of detailed questions regarding the serial communication.
Tribute to CSchoch whose Library for reading ORNO WE Modbus Energy meters was used as a blueprint for the implementation of this library. Such an energy meter might be used for example to measure the real consumption of the heater, instead of estimating it based on the RelaisStatus register value.