Skip to content

Releases: emsesp/EMS-ESP32

Development Build v3.8.2-dev.7

19 Feb 21:10
c05e1cb

Choose a tag to compare

Pre-release

Commits

v3.8.1

11 Jan 18:41

Choose a tag to compare

[3.8.1] 11 January 2026

Added

  • update time saved in nvs
  • heatpump entities #2883
  • HA input number format (mode) selectable box/slider (slider for max range 100) #2900

Fixed

  • fix EMS bus disconnected errors on some systems #2881
  • selflowtemp fix #2876
  • updated valid GPIOs for ESP32S2, ESP32S3 and ESP32 that caused custom systems to block gpios #2887
  • Junkers wwcharge offset #2860
  • fixed minflowtemp #2890
  • don't add HA uom/classes for bool values #2885
  • fixed missing progress bar on web firmware uploads

Changed

  • snapshot gpios stored in temporary ram
  • GPIOs stored along with the name and reported in log if conflicting
  • free GPIOs depend on board profile #2901
  • prefer PSram for mqtt queue #2889
  • day schedule defult to all days, no day selected is not allowed
  • board profile CUSTOM can only be selected in developer mode
  • mqtt sends round values without decimals (28 instead of 28.0)

v3.8.0

31 Dec 20:37

Choose a tag to compare

Added

  • analogsensor types: NTC and RGB-Led
  • Flag for HMC310 #2465
  • boiler auxheatersource #2489
  • thermostat last error for RC100/300 #2501
  • boiler 0xC6 telegram #1963
  • CS6800i changes #2448, #2449
  • charging pump #2544
  • hybrid CSH5800iG #2569
  • added EMS Device details to Home Assistant MQTT Discovery
  • disinfection command #2601
  • added new board profile for upcoming BBQKees E32V2.2
  • set differential pressure entity in Mixer device
  • set set climate action cooling/heating in HA #2583
  • Internal sensors of E32V2_2
  • FW200 display options #2610
  • CR11 mode settings OFF/MANUAL depends on selTemp #2437
  • implemented eFuse settings for BBQKees boards to store model type and ESP chipset
  • Analogsensors for pulse output #2624
  • Analogsensors frequency input #2631
  • SRC plus thermostats #2636
  • Greenstar 2000 #2645
  • RC3xx dhw modetype #2659
  • new boiler entities VR0,VR1, compressor speed #2669
  • solar temperature TS16 #2690
  • pumpmode enum for HT3 boilers, add commands for manual defrost, chimneysweeper #2727
  • pid settings #2735
  • refresh MQTT button added to MQTT Settings page
  • heating assistance, rounding custum settings #2763
  • added counter 0..2 for short pulses, high frequency #2758
  • added LWT (Last Will and Testament) to MQTT entities in Home Assistant
  • added api/metrics endpoint for prometheus integration by @gr3enk #2774
  • added RTL8201 to eth phy list #2800
  • added partitions to Web UI Version page, so previous firmware versions can be installed #2837
  • button pressures show LED. On a long press (10 seconds) the LED flashes for 5 seconds to indicate a factory reset is about to happen. #2848
  • added txpause command to pause the TX, by setting Txmode to 0 (disabled) #2850

Fixed

  • dhw/switchtime #2490
  • switch to secure mqtt #2492
  • update link buttons #2497
  • refresh scheduler states #2502
  • also rebuild HA config on mqtt connect for scheduler, custom and shower
  • FB100 controls the hc, not the master #2510
  • IPM DHW module, #2524
  • charge optimization #2543
  • shower active state retained, shows correctly in HA
  • MQTT Command Topic with slashes #2571
  • Add pulsed water meter input to V1.3 gateway with Lilygo S3 #2550
  • fix missing long 10-second press of Button to perform a factory reset
  • fix wwMaxPower on Junkers ZBS14 #2609
  • ventilation bypass state from telegram 0x55C #1197
  • set selflowtemp for ems+ boilers #2641
  • syslog timestamp #2704
  • fixed FS format command #2720
  • dhw priority setting to boiler and mixer, telegrams 0x2CC, 0x2CD, etc.
  • check for valid GPIOs when board profile is changed #2841

Changed

  • show console log with ISO date/time #2533
  • removed ESP32 CPU temperature
  • updated core libraries like AsyncTCP, AsyncWebServer and Modbus
  • remove command scan deep
  • ignore repeated forceheatingoff commands #2641
  • optimized web for better performance by adding lazy loading and caching
  • internal system analog sensors (core_voltage, supply_voltage and gateway_temperature) cannot be accidentally removed
  • double click button reconnects EMS-ESP to AP
  • place system message command in side scheduler loop to reduce stack memory usage by 2KB
  • syslog mark interval set to 1 hour
  • handle process_telegram in oneloop
  • improved GPIO validation for Analog Sensors and System GPIOs
  • entities with no values are greyed out in the Web UI in the Customization page
  • added System Status to Web Status page
  • show number on entities and supported languages in log on boot
  • on tx read fail delay the 3rd. retry 2 sec
  • move vectors and lists to PSRAM
  • removed unused last topic/payload echo-check
  • added Home Assistant device details to MQTT Discovery for all devices
  • device_class and state_class changes for HA MQTT Discovery #2825

v3.7.2

22 Mar 09:41

Choose a tag to compare

[3.7.2] 22 March 2025

Added

  • change enum_heatingtype for remote control #2268
  • system service commands #2182
  • read 0x02A5 for thermostat CT200 #2277
  • add "duplicate" option to Custom Entities #2266
  • mask bits for bool custom entities
  • thermostat reduce threshold #2288
  • thermostat absent #1957
  • CR11 thermostat #2295
  • Show ESP32's CPU temp in Hardware Status
  • vacation mode for the CR50 #2403
  • new Console command "set admin password" to set WebUI admin password
  • support nested conditions in scheduler #2451
  • allow mixed case in scheduler expressions #2457
  • Suprapur-o #2470

Fixed

  • long numbers of custom entities #2267
  • modbus command path to api/ #2276
  • info command for devices without entity-commands #2274
  • CW100 settings telegram 0x241 #2290
  • modbus signed 8bit values #2294
  • thermostat date #2313
  • Updated unknown compressor stati "enum_hpactivity" #2311
  • Underline Tab headers in WebUI
  • console unit tests fixed due to changed shell output
  • tx-queue overflow in some heatpump systems #2455

Changed

  • show operation in pretty telegram between src and dst #2263
  • update eModbus to 1.7.2 #2254
  • modbus timeout default to 300 sec, change setting from ms to sec #2254
  • update AsyncTCP and ESPAsyncWebServer to latest versions
  • update Arduino pio platform to 3.10.0 and optimized flash using build flags
  • Version checker in WebUI improved
  • rename remoteseltemp to cooltemp #2456

v3.7.1

30 Nov 20:51

Choose a tag to compare

[3.7.1] 29 November 2024

Added

  • include HA "unit_of_meas", "stat_cla" and "dev_cla" attributes for Number sensors #2149
  • Bosch CS6800i AW - Silent Mode + Electrical Power Reduction (HP) #2147
  • /api/system/showeralert and /api/system/showertimer #2182
  • MX400 #2198
  • SM200 values #2212

Fixed

  • Modbus integration in 3.7.0 missing offset #2148
  • fix changing TZ in NTPsettings without clearing enable+server, added DST support #2142
  • Support MQTT Discovery (AD) with Domoticz #2177
  • wwExtra (dhw extra) changed from temperature reading to number
  • auxheaterstatus #2192
  • lastCode character check #2189
  • reading too many telegram parts
  • heatpump cost UOMs #2188
  • analog dac output and inputs on dac pins #2201
  • api memory leak #2216
  • modbus multiple mixers #2229
  • Last Will (LWT) not set on MQTT Connect #2247

Changed

  • name of wwstarts2 #2217

Commits

Read more

v3.7.0

27 Oct 10:53

Choose a tag to compare

[3.7.0] October 27 2024

IMPORTANT! BREAKING CHANGES with 3.6.5

  • "ww" and "wwc" has been renamed to "dhw". It is nested JSON object in both the MQTT and API outputs. The old prefix has also been removed from MQTT topics (#1634). This will impact historical data in home automation systems like Home Assistant and IOBroker. To preserve the current value of dhw energy (was previously nrgww) refer to this issue #1938.
  • dhw entities from the MM100/SM100 have been moved under a new Device called 'water'.
  • The automatically generated temperature sensor ID has replaced dashes (-) with underscores (_) to be compatible with Home Assistant.
  • api/system/info has it's JSON key names changed to camelCase syntax.

For more details go to www.emsesp.org

Added

  • some more entities for dhw with SM100 module
  • thermostat second dhw circuit #1634
  • remote thermostat emulation for RC100H, RC200 and FB10 #1287, #1602, #1551
  • heatpump dhw stop temperatures #1624
  • reset history #1695
  • heatpump entities fan and shutdown #1690
  • mqtt HA-mode 3 for v3.6 compatible HA entities, set on update v3.6->v3.7
  • HP input states #1723
  • holiday settings for rego 3000 #1735
  • Added scripts for OTA (scripts/upload.py and upload_cli.py) #1738
  • timeout for remote thermostat emulation #1680, #1774
  • CR120 thermostat as own model() #1779
  • modules - external linkable module library #1778
  • scheduler onChange and Conditions #1806
  • make remote control timeout editable #1774
  • added extra pump characteristics (mode and pressure for EMS+) by @SLTKA #1802
  • allow device name to be customized #1174
  • Modbus support by @mheyse #1744
  • System Message command #1854
  • scheduler can use web get/post for values and commands #1806
  • RT800 remote emulation #1867
  • RC310 cooling parameters #1857
  • command api/device/entities #1897
  • switchprogmode #1903
  • autodetect and download firmware upgrades via the WebUI
  • command 'show log' that lists out the current weblog buffer, showing last messages.
  • default web log buffer to 25 lines for ESP32s with no PSRAM
  • try and determine correct board profile if none is set during boot
  • auto Scroll in WebLog UI - reduced delay so incoming logs are faster
  • uploading custom support info, shown to Guest users in Help page #2054
  • feature: Dashboard showing all data (favorites, sensors, custom) #1958
  • entity for low-temperature boilers pump start temp (pumpOnTemp) #2088 #2088
  • internal ESP32 temperature sensor on the S3 #2077
  • MQTT status topic (used in connect and last will) set to Retain #2086
  • Czech language 2096
  • Developer Mode and send EMS Read Commands from WebUI #2116
  • Scheduler functions #2115
  • Set device custom name from telegram 0x01 #2073

Fixed

  • remote thermostat emulation for RC200 on Rego2000/3000 thermostats #1691
  • log shows data for F7/F9 requests
  • Detection of LittleFS for factory setting wasn't working
  • Check for bad GPIOs with Ethernet before the ethernet is initialized
  • Show values with factor 50 on webUI #2064
  • Rendering of values between -1 and 0
  • Value for 32bit times not-set #2109

Changed

  • use flag for BC400 compatible thermostats, manage different mode settings
  • use factory partition for 16M flash
  • store digital out states to nvs
  • Refresh UI - moving settings to one location #1665
  • rename DeviceValueTypes, add UINT32 for custom entities
  • dynamic register dhw circuits for thermostat
  • removed OTA feature #1738
  • added shower min duration #1801
  • Include TXT file along with the generated CSV for Device Data export/download
  • thermostat/remotetemp as command #1835
  • temperaturesensor id notation with underscore #1794
  • Change key-names in JSON to be compliant and consistent #1860
  • Updates to webUI #1920
  • Correct firmware naming #1933 #1933
  • Don't start Serial console if not connected to a Serial port. Will initiate manually after a CTRL-C/CTRL-S
  • WebLog UI matches color schema of the terminal console correctly
  • Updated Web libraries, ArduinoJson
  • Help page doesn't show detailed tech info if the user is not 'admin' role #2054
  • removed system command allvalues and moved to an action called export
  • Show ems-esp internal devices in device list of system/info
  • Scheduler and mqtt run async on systems with psram
  • Show IPv6 address type (local/global/ula) in log

v3.6.5

23 Mar 17:03

Choose a tag to compare

[3.6.5] March 23 2024

IMPORTANT! BREAKING CHANGES

  • The Wifi Tx Power setting in Network Settings will be reset to Auto

Added

  • thermostat boost mode and boost time #1446
  • heatpump energy meters #1463
  • heatpump max power #1475
  • checkbox for MQTT-TLS enable #1474
  • added SK (Slovak) language. Thanks @misa1515
  • CPU info #1497
  • Show network hostname in Web UI under Network Status
  • Improved HA Discovery so each section (EMS device, Scheduler, Analog, Temperature, Custom, Shower) have their own section
  • boiler Bosch C1200W, id 12, #1536
  • mixer MM100 telegram 0x2CC #1554
  • boiler hpSetDiffPressure #1563
  • custom variables #1423
  • weather compensation #1642
  • env and partitions for DevKitC-1-N32R8 #1635
  • command restart partitionname and button long press to start with other partition #1657
  • command set service <mqtt|ota|ntp|ap> <enable|disable> #1663

Fixed

  • exhaust temperature for some boilers
  • add back boil2hyst #1477
  • subscribed MQTT topics not detecting changes by EMS-ESP #1494
  • changed HA name and grouping to be consistent #1528
  • MQTT autodiscovery in Domoticz not working #1360
  • dhw comfort for new ems+, #1495
  • added writeable icon to Web's Custom Entity page for each entity shown in the table
  • Wifi Tx Power not adjusted #1614
  • MQTT discovery of custom entity doesn't consider type of data #1587
  • WiFi TxPower wasn't correctly used. Added an 'Auto' setting, which is the default.
  • dns w/wo IPv6 #1644

Changed

  • HA don't set entity_category to Diagnostic/Configuration for EMS entities #1459
  • upgraded ArduinoJson to 7.0.0 #1538 and then 7.0.2
  • small changes to the API for analog and temperature sensors
  • Length of mqtt Broker address #1619
  • C++ optimizations - see #1615
  • Send MQTT heartbeat immediately after connection #1628
  • 16MB partitions with second nvs, larger FS, Coredump, optional factory partition
  • stop fetching empty telegrams after 5 min

v3.6.4

26 Nov 19:18

Choose a tag to compare

[3.6.4] November 24 2023

IMPORTANT! BREAKING CHANGES

Writeable Text entities have moved from type sensor to text in Home Assistant to make them also editable within an HA dashboard. Examples are datetime, holidays, switchtime, vacations, maintenancedate... You will need to manually remove any old discovery topics from your MQTT broker using an application like MQTT Explorer.

Added

  • humidity for ventilation devices
  • telegrams for RC100H, hc2, etc. (seen on discord, not tested)
  • names for BC400, GB192i.2, read temperatures for low loss header and heatblock #1317
  • option for forceheatingoff #1262
  • remote thermostat emulation RC100H for RC3xx #1278
  • shower_data MQTT payload contains the timestamp #1329
  • HA discovery for writeable text entities #1337
  • autodetect board_profile, store in nvs, add telnet command option, add E32V2
  • heat pump high res energy counters #1348, #1349. #1350
  • optional bssid in network settings
  • extension module EM100 #1315
  • digital_out with new options for polarity and startup state
  • added 'system allvalues' command that dumps all the EMS device values, plus sensors and any custom entities

Fixed

  • remove command remoteseltemp, thermostat accept it only from remote thermostat
  • shower_data MQTT payload contains the timestamp #1329
  • fixed helper text in Web Device Entity dialog box for numerical ranges
  • MQTT base with paths not working in HA #1393
  • set/read thermostat mode for RC100-RC300, #1440 #1442

Changed

  • update to platform 6.4.0, arduino 2.0.14 / idf 4.4.6
  • small changes for arduino 3.0.0 / idf 5.1 compatibility (not backward compatible to platform 6.3.2 and before)
  • AP start after 10 sec, stay until station/eth connected
  • tested wifi-all-channel-scan (3.6.3-dev4 a-e), removed again because of connect issues
  • mqtt disconnect stops queue

Chores

Commits

Read more

v3.6.2

01 Oct 15:51

Choose a tag to compare

Commits

v3.6.1

09 Sep 12:19

Choose a tag to compare

[3.6.1]

IMPORTANT! BREAKING CHANGES

  • shower_data MQTT topic shows duration is seconds (was previously a full english sentence)

Added

  • show WiFi rssi in Network Status Page, show quality as color

Fixed

  • Issue in espMqttClient causing a memory leak when MQTT broker is disconnected due to network unavailability #1264
  • Using MQTT enum values correctly formatted in MQTT Discovery #1280

Changed

  • mqtt free mem check set to 60 kb
  • small cosmetic changes to Searching in Customization web page
  • updated to espressif32@6.4.0

Commits