As time progresses so does the EMS-ESP firmware. We were now at a point were EMS-ESP would benefit from some more RAM memory.
That’s why BBQKees Electronics is introducing the new EMS Gateway S3 models. One with the default on-chip antenna and an identical Gateway model with an external high gain antenna for those area’s with low WiFi reception. These are the replacement for the very popular S32 Gateway.
Hardware changes
The S3 models looks and feel identical to the EMS Gateway S32 V2.0 they are replacing but they now come with an ESP32-S3 module with 16MB Flash and a hefty 8MB PSRAM (in addition to the on-chip 512KB RAM), which makes it more suitable for large EMS systems with a heat pump or multiple zones/heating circuits.
The new hardware continues using the existing third-gen BBQKees EMS detecting and sending circuitry design as in the S32 Gateway and the EMS Interface board V3’s, which has proven extremely reliable and robust over the years for all EMS types across all Bosch brands.
Aside from the more powerful chip, this model now also features an external USB-C connector for manual firmware updates (if ever needed). The USB-C connection makes use of the internal USB OTG controller of the ES32-S3 so we don’t need the CH340 chip and driver anymore.
What has remained unchanged are the positions and pinout of the external connectors so the S3 is a direct replacement for S32 setups. Only the LED lightguide was changed a bit.
The power options via the service jack or 12V DC power supply also remained the same.
Firmware
The S3 models will be loaded with firmware EMS-ESP32 v3.6. This is exactly the same firmware with the exact same features as for the S32, just built for the different chip architecture of the S3. The 3.6 firmware contains a number of new features over 3.5.1, most notably further memory optimizations.
Upgrade discount
If you already own an S32 Gateway it’s probably not really worthwhile to upgrade to the new S3, but if you want too or if you still have an old ESP8266 Gateway like the Premium II you can get a 15% discount on a new S3 Gateway of your choosing. Just use the contact form to contact me with your previous order ID and I’ll give you a discount code.
Firmware EMS-ESP 3.5.0 has been available as a beta for quite some time and it had already been loaded on new Gateways since October 2022, the release version of 3.5.0 (stable) is now available as well. Thanks to a lot of work by Proddy and MichaelDvP and assisted by a number of other contributors, this is one of the most feature rich updates yet.
— Remember the firmware is completely open source —
The the most noticeable new feature is going to be the addition of localization. This means you can now change the language from English to other languages. The release of 3.5.0 will contain English, German, Dutch, Polish, French, Swedish and Norwegian language.
This localization is in all major parts of EMS-ESP: the web interface and MQTT.
There are however some breaking changes. The most important one is that there is now support for multiple Gateways on a single MQTT broker. When enabled, which is now the default, all MQTT Discovery Entity IDs will include the MQTT base name and the shortname of the EMS-ESP device entity. For example what was previously sensor.boiler_actual_boiler_temperature will now become sensor.ems_esp_boiler_boiltemp. This means these entities will have to be replaced inside HA. See below. If you still want to use the old format and retain the history and script compatibility in Home Assistant then set this back to the old format.
New features and updates
Summary of new stuff:
Localization: addition of German, Dutch, Polish, Swedish, French and Norwegian language options.
Support for multiple Gateways on the same broker (for hybrid systems and for multiple boilers/cascade)
100+ bug fixes and new features
Added initial support for ESP32 C3 and S2 architectures
Several new board profiles
Improvements in HA Discovery and MQTT handling
Addition of new EMS boilers, thermostats and other devices (Greenstar 30, GBH192iT, FW500, BC30)
Addition of additional parameters of known EMS devices (f.i. RC30 internal temp, 20+ heat pump parameters)
Improved handling of logic/telegrams of some EMS devices
Setting the 4 multi-purpose relays/inputs of heatpumps (via API)
To update to the release version of 3.5.0 depends on which firmware you are on now, and when you purchased a Gateway product. In most cases you should first try out an update via the web interface. If it succeeds, you are on 3.5.0. If it fails you need to flash the Gateway via the internal USB connection on the Gateway board.
Read the instructions below for the correct update procedure for your situation.
If you are currently on any 3.3 or older version you need to use the USB method anyway. If you are currently on any 3.4 or 3.5 version first try the update via the web interface and if it fails update via the USB port.
The upload will take about a minute. If the Gateway has installed the firmware and rebooted itself, you should see the login screen again after a while. Press F5 to clear the browser cache. Then login. Settings should be pertained.
In case you get an error 500 during the upload, you need to move on to method two below.
In case you have an E32 Gateway and it became unreachable after the update, the board profile might have been reset to S32 or Custom. Please login to the ems-esp access point, set the board profile back to E32, save, and reboot. Ethernet will be activated again.
Method two: Update via the USB port
If a lot of cases you need to upload this firmware via the USB port on the inside of the Gateway. It is the only time this is needed, if 3.5.0 is installed once, all future updates can be done via the web interface.
You need to open the Gateway, plug in the USB to a computer and load the firmware via the EMS-ESP flash tool. DO NOT use another flash tool as it will not work. All settings will be lost after this update, so make a note of all important ones. (You can also backup your settings and customizations before the update and load them once the update is done).
If you have questions about the update you can send me an email via the contact form.
Breaking change: MQTT entity ID’s
For a number of entities in Home Assistant the unique ID has changed in the auto discovery config . This means these entities will have to be replaced inside HA. This is because there is now support for multiple Gateways on a single MQTT broker. When enabled, which is now the default, all MQTT Discovery Entity IDs will include the MQTT base name and the shortname of the EMS-ESP device entity. For example what was previously sensor.boiler_actual_boiler_temperature will now become sensor.ems_esp_boiler_boiltemp. This means these entities will have to be replaced inside HA. See below. If you still want to use the old format and retain the history and script compatibility in Home Assistant then set this back to the old format. There is a new checkbox in the Settings to keep the ID as in firmware 3.4 for those who do not want to switch now.
After the update to 3.5.0 it is possible that sometimes during loading or viewing of the web interface you’ll get an Error 507. This is because the new web interface needs a fairly large chunk of memory, which is not always available. You get this error 507 then. All other services on the Gateway will continue to work. See: https://github.com/emsesp/EMS-ESP32/issues/823