Skip to content
This repository has been archived by the owner on Oct 4, 2021. It is now read-only.

Commit

Permalink
1.9.5 - Merge remote-tracking branch 'origin/dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
proddy committed Apr 30, 2020
2 parents 06305e8 + 487cda0 commit 26b201e
Show file tree
Hide file tree
Showing 27 changed files with 3,826 additions and 2,030 deletions.
4 changes: 3 additions & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,6 @@ PointerAlignment: Middle
SpaceAfterCStyleCast: false
SpaceBeforeAssignmentOperators: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInParentheses: false
DerivePointerAlignment: false
SortIncludes: false
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@ node_modules
# project specfic
scripts/stackdmp.txt
firmware

# firmware
*.bin
4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
os: linux
dist: bionic
language: python
python:
- "2.7"
- "3.8"

cache:
directories:
Expand Down Expand Up @@ -55,6 +56,7 @@ before_deploy:
deploy:
provider: releases
edge:
# source: wenkokke/dpl
branch: master
token: ${GITHUB_TOKEN}
file_glob: true
Expand Down
41 changes: 40 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,46 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.9.4] 2019-12-15
## [1.9.5] 30-04-2020

### Added
- Solar Module SM200 support
- Support writing to Junkers FR100 thermostats
- Support writing to RC100, Moduline 1000/1010 thermostats
- MM10 Mixing module support (thanks @MichaelDvP)
- MM200 warm water circuits (https://github.com/proddy/EMS-ESP/pull/315)
- Support for Moduline 200 and Sieger ES72 thermostats
- First implementation of writing to generic Junker Thermostats (thanks @Neonox31)
- Added model type (Buderus, Sieger, Junkers, Nefit, Bosch, Worcester) to device names
- `set master_thermostat <product id>` to choose with thermostat is master when there are multiple on the bus
- `boiler wwonetime` command from Telnet
- `set bus_id <ID>` to support multiple EMS-ESP circuits. Default is 0x0B to mimic a service key.
- `mqtt_nestedjson` option to disable multiple data records being nested into a single JSON string
- MQTT publish messages are queued and gracefully published every second to avoid TCP blocks
- Added features to WW messages (0x33, 0x34) to improve WW monitoring. (PR#338 by @ypaindaveine)
- Added mixing log and stub for EMS type 0xAC (PR#338 by @ypaindaveine)
- Added Thermostat retrieving settings (0xA5) (validated on RC30N) with MQTT support (thanks Yves @ypaindaveine. See #352)
- Merged with PR https://github.com/proddy/EMS-ESP/pull/366 from @MichaelDvP fixing RC20 and MM50

### Fixed
- set boiler warm water temp on Junkers/Bosch HT3
- fixed detection of the Moduline 400 thermostat
- RC35 setting temperature also forces the current select temp to change, irrespective of the mode

### Changed
- improved MQTT publishing to stop network flooding. `publish_time` of -1 is no publish, 0 is automatic otherwise its a time interval
- External sensors (like Dallas DS18*) are sent as a nested MQTT topic including their unqiue identifier
- `mqttlog` console command renamed to `mqttqueue` to only show the current publish queue
- `status` payload on start-up shows the IP and Version of EMS-ESP
- `thermostat mode` takes a string like manual,auto,heat,day,night,eco,comfort,holiday,nofrost
- `thermostat temp` also takes a mode string, e.g. `thermostat temp 20 heat`
- `queue` renamed to `txqueue`

### Removed
- `autodetect scan`. Replaced with `devices scan` and `devices scan+` for deep scanning
- `mqttlog all` and showing MQTT log in the web interface - no point showing history of previous mqtt publishes in ESP's precious memory. For debugging I recommend using MQTT Explorer or another external tool.

## [1.9.4] 15-12-2019

There are breaking changes in this release. Make you sure you adjust the MQTT topics as described in the wiki.

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ EMS-ESP is a open-source system built for the Espressif ESP8266 microcontroller

## Features

* Supporting more than [50 EMS devices](https://emsesp.github.io/docs/#/Supported-EMS-Devices) (EMS 1, EMS+/2.0 and Heatronics 3).
* Supporting more than [50 EMS devices](https://emsesp.github.io/docs/#/Supported-EMS-Devices) (EMS 1, EMS 2.0/Plus and Heatronics 3).
* A web interface for easy configuration and real-time monitoring of the EMS bus.
* Telnet for advanced configuration and verbose traffic logging.
* Configurable MQTT, with templates for Home Assistant and Domoticz.
Expand Down
31 changes: 17 additions & 14 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,23 @@

[platformio]
default_envs = release
;default_envs = debug
; default_envs = debug

[common]
# From https://github.com/esp8266/Arduino/blob/master/tools/sdk/ld
# eagle.flash.4m1m.ld = 1019 KB sketch, 1000 KB SPIFFS. 4KB EEPROM, 4KB RFCAL, 12KB WIFI stack, 2052 KB OTA & buffer
# eagle.flash.4m2m.ld = same as above but with 2024 KB SPIFFS
# eagle.flash.4m.ld = same as above but with no SPIFFS storage
ldscript = eagle.flash.4m1m.ld

; custom build options are:
; -DMYESP_TIMESTAMP
; -DTESTS
; -DCRASH
; -DFORCE_SERIAL
; -DMYESP_DEBUG
;custom_flags = -DFORCE_SERIAL -DMYESP_DEBUG
; -DSENSOR_MQTT_USEID
; custom_flags = -DFORCE_SERIAL -DMYESP_DEBUG -DEMSESP_SIMULATE
custom_flags =

# Available lwIP variants (macros):
Expand All @@ -26,33 +33,28 @@ custom_flags =
# -DVTABLES_IN_FLASH
# -DNO_GLOBAL_EEPROM
# -DBEARSSL_SSL_BASIC
# general_flags = -DNO_GLOBAL_EEPROM -DVTABLES_IN_FLASH -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
general_flags = -DNO_GLOBAL_EEPROM

# From https://github.com/esp8266/Arduino/blob/master/tools/sdk/ld
# eagle.flash.4m1m.ld = 1019 KB sketch, 1000 KB SPIFFS. 4KB EEPROM, 4KB RFCAL, 12KB WIFI stack, 2052 KB OTA & buffer
# eagle.flash.4m2m.ld = same as above but with 2024 KB SPIFFS
# eagle.flash.4m.ld = same as above but with no SPIFFS storage
build_flags_4m1m = -Wl,-Teagle.flash.4m1m.ld
build_flags = ${common.general_flags} ${common.build_flags_4m1m}
build_flags = ${common.general_flags} -std=c++11 -fno-exceptions

[env]
framework = arduino
;platform = [email protected] ; arduino core 2.5.2
platform = espressif8266
;platform = https://github.com/platformio/platform-espressif8266#develop
;platform = https://github.com/platformio/platform-espressif8266#feature/stage
board_build.ldscript = ${common.ldscript}
lib_compat_mode = strict
lib_deps =
https://github.com/rlogiacco/CircularBuffer
https://github.com/PaulStoffregen/OneWire
https://github.com/me-no-dev/ESPAsyncWebServer
https://github.com/me-no-dev/ESPAsyncUDP
uuid-common@^1.1.0
uuid-log@^2.1.1
uuid-syslog@^2.0.4 ; https://github.com/nomis/mcu-uuid-syslog
uuid-log@^2.1.1
uuid-syslog@^2.0.4 ; https://github.com/nomis/mcu-uuid-syslog
[email protected] ; https://github.com/xoseperez/justwifi
[email protected] ; https://github.com/marvinroger/async-mqtt-client
[email protected] ; https://github.com/xoseperez/eeprom_rotate
ArduinoJson@6.13.0 ; https://github.com/bblanchon/ArduinoJson
ArduinoJson
[email protected] ; https://github.com/me-no-dev/ESPAsyncTCP
upload_speed = 921600
monitor_speed = 115200
Expand Down Expand Up @@ -112,3 +114,4 @@ build_flags = ${common.build_flags} ${common.custom_flags}
extra_scripts =
pre:scripts/pre_script.py
scripts/main_script.py

2 changes: 1 addition & 1 deletion scripts/main_script.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def clr(color, text):

def remove_float_support():
flags = " ".join(env['LINKFLAGS'])
print(clr(Color.BLUE, "** LINKFLAGS = %ss" % flags))
print(clr(Color.BLUE, "LINKFLAGS = %ss" % flags))
flags = flags.replace("-u _printf_float", "")
flags = flags.replace("-u _scanf_float", "")
newflags = flags.split()
Expand Down
2 changes: 1 addition & 1 deletion scripts/pre_script.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
def build_web():
print("** Building web...")
env.Execute(
"node ./tools/webfilesbuilder/node_modules/gulp/bin/gulp.js --cwd ./tools/webfilesbuilder")
"node ./tools/webfilesbuilder/node_modules/gulp/bin/gulp.js --silent --cwd ./tools/webfilesbuilder")

def code_check(source, target, env):
print("** Starting cppcheck...")
Expand Down
Loading

0 comments on commit 26b201e

Please sign in to comment.