All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Change wifi settings using the
set wifi <ssid> <password>
command
- Added incoming MQTT "TOPIC_BOILER_WWACTIVATED" to set the warm water on/off. Payload is 1 or 0. See issue.
- Added the list of all MQTT topics to the README file
- issue with Serial monitoring conflicting with UART when both running
- Fixed typo with -D settings in the example platformio.ini
thermostat temp
now except floats (e.g. 20.5). Some thermostats may round up or down if they use 0.5 intervals.
- Support for RC10 thermostat
- New command
set serial
- Improved Tx logic. Retries are more efficient and startup is faster and less error prone.
- "# Rx telegrams" and "# Tx telegrams" show number of successful Reads and Writes initiated by the user or automatically by the code. This makes it easy to see if the Tx is working.
- Some refactoring in preparation for the EMS+ support coming soon
- Removed the
poll
andtx
commands DEBUG_SUPPORT
. Now controlled with the 'set serial' command- removed MQTT and WIFI settings from my_config.h. These have to be set either within the application (using set) or hardcoded in platformio.ini You can now check in
my_config.h
without everyone seeing your passwords! - TxCapable removed from
info
- The led pin, dallas pin and both thermostat and boiler type IDs can be set with the application, and stored.
- some minor improvements to autodetect
- last will MQTT topic prefixed with a header like the rest of the topics
- All double and float numbers rendered to 2 decimal places (precision = 2)
- Default logging set to None when starting a telnet session
- Added support for external Dallas sensors (DS1822, DS18S20, DS18B20, DS1825). See readme
- Added UBAParametersMessage type to fetch boiler modulation min & max values
- Report shows system load average
- Handle thermostats that don't have builtin temperature sensors when showing current temperature (emsesp#18 (comment))
- Improved way to identify if the EMS bus is connected
- Improved 'types' command to show more details
- Improved auto detect of thermostat types
- Some more devices like the Nefit Topline & RC310 thermostat recognition
- Added a check to see Tx is possible. See 'Tx Capable' under the 'info' screen
- Removed
MY_BOILER_MODELID
frommy_config.h
. It's always hardcoded.
- telnet commands with set are no longer forced to lower case
- Custom settings (e.g set led) moved outside MyESP
- Moved all MQTT to my_config.h making it independent from Home Assistant
- MQTT keep alive, last will testament and other settings all configurable in my_config.h
- RC35: MQTT day/night/auto mode; sets setpoint temperature in type 0x3D depends on current night/day Mode (@SpaceTeddy) #33
- Renamed project from EMS-ESP-Boiler to EMS-ESP since it's kinda EMS generic now
- Support for RC20F and RFM20 (emsesp#18)
- Moved all EMS device information into a separate file
ems_devices.h
so no longer need to touchems.h
- Telnet commands can be strings now and output is suspended when typing
- Removed SHOWER_TEST
- Removed WIFI and MQTT credentials from the platformio.ini file
- Settings are saved and loaded from the ESP8266's file system (SPIFFS). Can be set using the 'set' command
- Improved support when in Access Point mode (192.168.4.1)
- pre-built firmwares are back
- Scanning known EMS Devices now ignores duplicates (emsesp#30)
- ServiceCode stored as a two byte char
- Support for RC20F and RFM20 (emsesp#18)
- Can now hardcode Boiler and Thermostat types in my_config.h to bypass auto-detection
- Fixed MQTT subscribing to Heating and Hot Water active topics
- Fixed for listening to incoming MQTT topics (emsesp#27)
- Fixed handling of current temperature on an RC35-type thermostat that doesn't have a sensor (emsesp#18)
- Issues in 1.2.1 (see emsesp#25)
- Logic for determining if there is activity on the EMS bus and using the onboard LEDs properly
- Only process broadcast messages if the offset (byte 4) is 0. (emsesp#23)
- Improved checking for duplicate sent Tx telegrams by comparing CRCs
- Removed distiquishing between noise on the line and corrupt telegrams (emsesp#24)
- Incorrect indenting in
climate.yaml
(thanks @mrfixit1) - Improved support for slower WiFi connections
- Fixed issue with OTA not always giving back a completion response to platformio
- Fixed issue with repeating reads after a raw mode send
- Fixed handling of long integers (thanks @SpaceTeddy)
- added 'dout' flashmode to platformio.ini so OTA works now when uploading to a Wemos D1 Pro's or any other board with larger flash's
- added un tested supporting RC35 type of thermostats
- Try and discover and set Boiler and Thermostat types automatically
- Fetch UBATotalUptimeMessage from Boiler to get total working minutes
- Added check to see if bus is connected. Shown in stats page
- If no Wifi connection can be made, start up as a WiFi Access Point (AP)
- Report out service codes and water-flow pull-request. Thanks @Bonusbartus
- Build option is called
DEBUG_SUPPORT
(wasUSE_SERIAL
) - Replaced old ESPHelper with my own MyESP library to handle Wifi, MQTT, MDNS and Telnet handlers. Supports asynchronous TCP and has smaller memory footprint. And moved to libs directory.
- Simplified LED error checking. If enabled (by default), solid means connected and flashing means error. Uses either an external pull-up or the onboard ESP8266 LED.
- Improved Telnet debugging which uses TelnetSpy to keep a buffer of previous output
- Optimized memory usage & heap conflicts, removing nasty things like strcpy, sprintf where possible
- Improved checking for tap water on/off (thanks @Bonusbartus)
- Time and TimeLib's. Not used in code.
- Removed build option
MQTT_MAX_PACKAGE_SIZE
as not using the PubSubClient library any more - Removed all of Espurna's pre-built firmwares and instructions to build. Keeping it simple.
- Espurna build notes and ready made firmware
- Fixed handling of negative floating point values (like outdoor temp)
- Fixed handling of auto & manual mode on an RC30
- Fixed condition where all telegram types were processed, instead of only broadcasts or our own reads
- Created this CHANGELOG.md file!
- Added support for the Nefit Easy thermostat, reading of temperature values only - note read only (big thanks @kroon040 for lending me an Easy device)
- Added support for RC35/Moduline 400 - read only
- New raw logging mode for logging
- New 'r'command to send raw data to EMS
- Added MQTT messages for hot water on and heating on
- Implemented FIFO circular buffer queue for up to 20 Tx messages (Q command to show queue)
- Toggle Tx transmission via telnet (use 'X' command)
- Show thermostat type in help stats (use 's' command)
- Show version is help stats (use '?' command)
- Improved overall formatting of logging
- Include app name and version in telnet help
- Improved method to switch off hot tap water in Shower Alert
- Telnet P and M commands have changed
- Enabling Logging in telnet is now the 'l' command
- Logging is set back to None when telnet session closes
- Improved fetching of initial boiler values to post to MQTT at startup
- Improved handling and retrying of write/Tx commands
- Hid access from telnet to the Experimental custom function command 'x'
- Tx and Rx stats have gone from the stats page, as they were pretty meaningless
- Removed NO_TX define in platformio and replaced with system parameter 'command X'
- Removed -DDEBUG option in build
- Removed wwtemp MQTT messages to set the boiler temp. You'll never miss it.
- Removed LEDs for Tx, Rx and Err. Too many flashing lights and it drains the current.
- Removed capturing of last Rx and Tx times
- Support for older RC20 thermostats
- There's a nasty memory leek when in telnet's verbose mode with sending which causes the EMS to reset when running for a while.
- Initial stable version
- Initial development version