update changelog, use new core libs

This commit is contained in:
proddy
2026-10-10 12:59:46 +02:00
parent e10983cca1
commit 62f2987b56
7 changed files with 154 additions and 17 deletions
+2 -2
View File
@@ -22,10 +22,10 @@ jobs:
with: with:
python-version: '3.13' python-version: '3.13'
- name: Install PlatformIO - name: Install pioarduino
run: | run: |
pip install wheel pip install wheel
pip install -U platformio pip install -U "pioarduino==6.2.0"
- name: Run unit tests - name: Run unit tests
run: | run: |
+2 -2
View File
@@ -38,10 +38,10 @@ jobs:
version=`grep -E '^#define EMSESP_APP_VERSION' ./src/emsesp_version.h | awk -F'"' '{print $2}'` version=`grep -E '^#define EMSESP_APP_VERSION' ./src/emsesp_version.h | awk -F'"' '{print $2}'`
echo "VERSION=$version" >> $GITHUB_OUTPUT echo "VERSION=$version" >> $GITHUB_OUTPUT
- name: Install PlatformIO - name: Install pioarduino
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install -U platformio pip install -U "pioarduino==6.2.0"
python -m pip install intelhex python -m pip install intelhex
- name: Build webUI - name: Build webUI
+2 -2
View File
@@ -39,10 +39,10 @@ jobs:
version=`grep -E '^#define EMSESP_APP_VERSION' ./src/emsesp_version.h | awk -F'"' '{print $2}'` version=`grep -E '^#define EMSESP_APP_VERSION' ./src/emsesp_version.h | awk -F'"' '{print $2}'`
echo "VERSION=$version" >> $GITHUB_OUTPUT echo "VERSION=$version" >> $GITHUB_OUTPUT
- name: Install PlatformIO - name: Install pioarduino
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install -U platformio pip install -U "pioarduino==6.2.0"
python -m pip install intelhex python -m pip install intelhex
- name: Build webUI - name: Build webUI
+1 -1
View File
@@ -74,5 +74,5 @@ This release is based on the latest Espressif/Arduino core version 3. It brings
- failed versions.json fetches back off from 5 up to 160 minutes instead of retrying every 5 minutes, as each attempt blocks the main loop for as long as the DNS, connect and read timeouts allow - failed versions.json fetches back off from 5 up to 160 minutes instead of retrying every 5 minutes, as each attempt blocks the main loop for as long as the DNS, connect and read timeouts allow
- optimized the LED library to support WS2812B V5 and the newer V6 RGB LEDs - optimized the LED library to support WS2812B V5 and the newer V6 RGB LEDs
- hold Tx while a K30RF/KM200 gateway is syncing [#3094](https://github.com/emsesp/EMS-ESP32/issues/3094) - hold Tx while a K30RF/KM200 gateway is syncing [#3094](https://github.com/emsesp/EMS-ESP32/issues/3094)
- Tasmota platform 2026.05.50 (Arduino 3.3.8 / IDF 5.5.4) to 2026.09.50 (Arduino 3.3.12 / IDF 5.5.5) - Tasmota platform 2026.05.50 (Arduino 3.3.8 / IDF 5.5.4) to 2026.09.50 (Arduino 3.3.12 / IDF 5.5.5). Building that platform needs PlatformIO Core ≥6.2.0; install `pioarduino==6.2.0` (official `platformio` is still 6.1.19). See CONTRIBUTING.md
- CI dev-release firmware jobs run in parallel (webUI, firmware targets, standalone) instead of one serial job - CI dev-release firmware jobs run in parallel (webUI, firmware targets, standalone) instead of one serial job
+34
View File
@@ -10,6 +10,40 @@ Everybody is welcome and invited to contribute to the EMS-ESP Project by:
This document describes rules that are in effect for this repository, meant for handling issues by contributors in the issue tracker and PRs. This document describes rules that are in effect for this repository, meant for handling issues by contributors in the issue tracker and PRs.
## Building the firmware
Arduino/IDF 3.3.12 (Tasmota platform `2026.09.50` in `platformio.ini`) needs **PlatformIO Core ≥6.2.0**. The official `platformio` package on PyPI is still 6.1.19, so `pio upgrade` and `pip install -U platformio` stay on 6.1.19 and you get:
`IncompatiblePlatform: Development platform 'espressif32' is not compatible with PlatformIO Core v6.1.19 and depends on PlatformIO Core >=6.2.0.`
Install **pioarduino** 6.2.0 (drop-in Core fork). It provides the same `pio` / `platformio` commands.
**VS Code / Cursor** (PlatformIO IDE uses `~/.platformio/penv`):
Linux / macOS:
```bash
~/.platformio/penv/bin/pip install -U "pioarduino==6.2.0"
~/.platformio/penv/bin/pio --version
```
Windows (PowerShell):
```powershell
& "$env:USERPROFILE\.platformio\penv\Scripts\pip.exe" install -U "pioarduino==6.2.0"
& "$env:USERPROFILE\.platformio\penv\Scripts\pio.exe" --version
```
You should see `PlatformIO Core, version 6.2.0`. Reload the window (or restart the IDE), then build again.
**CLI-only / CI:**
```bash
pip install -U "pioarduino==6.2.0"
# or: uv pip install --system pioarduino==6.2.0
platformio --version
```
## Opening New Issues ## Opening New Issues
1. Opening an issue means that a problem exists in the code and should be addressed by the project contributors. 1. Opening an issue means that a problem exists in the code and should be addressed by the project contributors.
+109
View File
@@ -0,0 +1,109 @@
; example custom platformio ini file for EMS-ESP
[common]
; custom build flags to use in my_build_flags
; -DEMSESP_UART_DEBUG ; debugging UART
; -DEMSESP_DEBUG ; enables DEBUG to the log. Will generate a lot of extra traffic on Console and Syslog
; -DEMSESP_DEFAULT_BOARD_PROFILE=\"NODEMCU\" ; hard code the default board name
; -DEMSESP_DEBUG_SENSOR ; additional debug for the sensors
; -DCORE_DEBUG_LEVEL=5 ; verbose core level debugging 5=verbose, 4=debug, 3=info
; -DEMSESP_TEST ; enable the tests. EN language only
; -DEMSESP_DE_ONLY ; only DE translated entity names
; -DEMSESP_EN_ONLY ; only EN translated entity names
; -DEMSESP_PINGTEST ; send log message every 1/2 second
; my_build_flags = -DEMSESP_TEST -DEMSESP_DEBUG
; my_build_flags = -DEMSESP_DEBUG -DEMSESP_TEST -DEMSESP_PINGTEST
; my_build_flags = -DEMSESP_DEBUG -DCORE_DEBUG_LEVEL=5
; my_build_flags = -DEMSESP_EN_ONLY -DEMSESP_TEST -DCORE_DEBUG_LEVEL=5 -DARDUINO_USB_CDC_ON_BOOT=1
; my_build_flags = -DEMSESP_EN_ONLY
; my_build_flags = -DEMSESP_DEBUG
; my_build_flags =
; -D EMSESP_GATEWAY_TX_HOLD ; hold Tx while a K30RF/KM200 gateway is syncing, see issue #3094
; -D EMSESP_TX_PRE_DELAY=1000 ; wait this many us before each Tx so we don't overlap the master's break, see issue #3094
my_build_flags =
[platformio]
default_envs = s_16M_P ; BBQKees E32V2
; default_envs = s_16M_P_custom ; BBQKees E32V2 with custom Arduino/IDF libs
; default_envs = recovery_s_16M_P ; recovery
; default_envs = crashtest_s_16M_P ; crash test
; default_envs = build-webUI ; build the web interface only
; default_envs = s3_16M_P ; BBQKees S3
; default_envs = s_4M ; BBQKees older S32, 4MB no psram
; default_envs = s_16M ; BBQKees newer S32 V2, 16MB no psram
; default_envs = c6 ; XIAO ESP32C
; default_envs = debug
; default_envs = core3
; default_envs = core2
[env]
; uncomment if you want to upload the firmware via OTA (must have upload_protocol = custom)
extra_scripts =
post:scripts/rename_fw.py ; renames the firmware .bin file
scripts/upload.py ; optionally upload the firmware via OTA (must have upload_protocol = custom)
; set the username and password for the admin account (default password is admin)
custom_username = admin
custom_password = admin
; ** upload settings **
; for direct USB, which is the default you can set an optional port for example:
; upload_port = /dev/ttyUSB0
; upload_port = /dev/ttyACM0
; CH340G bridge tops out here reliably; drop back to 460800 if uploads fail
; upload_speed = 921600
upload_speed = 2000000
; for direct via HTTP (OTA) set:
; upload_protocol = custom
; custom_emsesp_ip = <ip address> or ems-esp.local
upload_protocol = custom
; custom_emsesp_ip = ems-esp.local ; E32V2.2 (test)
; custom_emsesp_ip = 192.168.1.39 ; E32V2.2 (test)
; custom_emsesp_ip = 192.168.1.75 ; E32V2.2 (test) v3.8.4
custom_emsesp_ip = ems-espP.local ; E32V2.2 (prod)
; custom_emsesp_ip = 10.10.10.202 ; E32V2.2 (prod)
; custom_emsesp_ip = ems-esps32.local ; S32, 4MB no psramS32
; custom_emsesp_ip = ems-espS3.local ; ems-espS3
; custom_emsesp_ip = 10.10.10.175 ; Wemos Lolin S3
; lib_deps =
; bblanchon/ArduinoJson @ 7.4.3
; ESP32Async/AsyncTCP @ 3.4.10
; ESP32Async/ESPAsyncWebServer @ 3.11.0
; https://github.com/mobizt/ReadyMail.git @ 0.4.0
; https://github.com/mobizt/ESP_SSLClient.git @ 3.1.3
; https://github.com/emsesp/EMS-ESP-Modules.git @ 1.0.8
; ; file://${PROJECT_DIR}/../modules/EMS-ESP-Modules
; ** debug settings **
; to be used with an ESP32-S3 which has an onboard JTAG, connect the OTG USB port to the PC
; if using an external JTAG board like the ESP-PROG set debug_tool = esp-prog, and use zadig to set the correct driver for the USB port
; see https://docs.platformio.org/en/stable/projectconf/sections/env/options/debug/debug_init_break.html for settings
; use with my_build_flags = -DEMSESP_EN_ONLY -DEMSESP_TEST -DCORE_DEBUG_LEVEL=5 -DARDUINO_USB_CDC_ON_BOOT=1
[env:debug]
board = esp32-s3-devkitc-1
framework = arduino
platform = espressif32@6.12.0 ; Arduino Core v2.0.17 / IDF v4.4.7
board_build.partitions = partitions/esp32_partition_16M.csv
board_upload.flash_size = 16MB
board_build.app_partition_name = app0
board_build.filesystem = littlefs
upload_protocol = esptool
build_type = debug
monitor_raw = no
monitor_filters = colorize, esp32_exception_decoder
debug_tool = esp-builtin
debug_init_break =
upload_speed = 2000000
monitor_speed = 115200
extra_scripts =
+4 -10
View File
@@ -6,6 +6,8 @@
; For example: EMS-ESP-3_7_0-dev_31-esp32-16MB+.bin ; For example: EMS-ESP-3_7_0-dev_31-esp32-16MB+.bin
; ;
; boards can be found in https://github.com/pioarduino/platform-espressif32/tree/main/boards ; boards can be found in https://github.com/pioarduino/platform-espressif32/tree/main/boards
; Tasmota platform 2026.09.50 needs PlatformIO Core >=6.2.0. Official platformio is still
; 6.1.19 — install pioarduino instead (see CONTRIBUTING.md). `pio upgrade` will not get 6.2.0.
[platformio] [platformio]
; build all supported targets. Use pio_local.ini to override and build specific targets. ; build all supported targets. Use pio_local.ini to override and build specific targets.
@@ -63,18 +65,11 @@ unbuild_flags =
[espressif32_base_4M] [espressif32_base_4M]
framework = arduino framework = arduino
board_build.partitions = partitions/esp32_partition_4M.csv board_build.partitions = partitions/esp32_partition_4M.csv
board_upload.flash_size = 4MB
board_build.app_partition_name = app0
platform = https://github.com/tasmota/platform-espressif32/releases/download/2026.09.50/platform-espressif32.zip ; Arduino Core 3.3.12 based on IDF 5.5.5
; 16MB Flash variants ; 16MB Flash variants
[espressif32_base_16M] [espressif32_base_16M]
framework = arduino framework = arduino
board_build.partitions = partitions/esp32_partition_16M.csv board_build.partitions = partitions/esp32_partition_16M.csv
board_upload.flash_size = 16MB
board_build.app_partition_name = app0
platform = https://github.com/tasmota/platform-espressif32/releases/download/2026.09.50/platform-espressif32.zip ; Arduino Core 3.3.12 based on IDF 5.5.5
platform_packages = framework-arduinoespressif32 @ https://github.com/emsesp/esp32-arduino-lib-builder/releases/download/0910-1604-5.5.5/framework-arduinoespressif32-v5.5.5-a63b839f.tar.xz
build_flags = build_flags =
${common.build_flags} ${common.build_flags}
-D EMSESP_HAS_RECOVERY ; installs and falls back to the recovery firmware in the factory partition -D EMSESP_HAS_RECOVERY ; installs and falls back to the recovery firmware in the factory partition
@@ -84,11 +79,10 @@ build_flags =
[espressif32_base_32M] [espressif32_base_32M]
framework = arduino framework = arduino
board_build.partitions = partitions/esp32_partition_32M.csv board_build.partitions = partitions/esp32_partition_32M.csv
board_upload.flash_size = 32MB
board_build.app_partition_name = app0
platform = https://github.com/tasmota/platform-espressif32/releases/download/2026.09.50/platform-espressif32.zip ; Arduino Core 3.3.12 based on IDF 5.5.5
[env] [env]
platform = https://github.com/tasmota/platform-espressif32/releases/download/2026.09.50/platform-espressif32.zip ; Arduino Core 3.3.12 based on IDF 5.5.5
platform_packages = framework-arduinoespressif32 @ https://github.com/emsesp/esp32-arduino-lib-builder/releases/download/0910-1604-5.5.5/framework-arduinoespressif32-v5.5.5-a63b839f.tar.xz
build_flags = build_flags =
${common.build_flags} ${common.build_flags}
build_unflags = build_unflags =