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:
python-version: '3.13'
- name: Install PlatformIO
- name: Install pioarduino
run: |
pip install wheel
pip install -U platformio
pip install -U "pioarduino==6.2.0"
- name: Run unit tests
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}'`
echo "VERSION=$version" >> $GITHUB_OUTPUT
- name: Install PlatformIO
- name: Install pioarduino
run: |
python -m pip install --upgrade pip
pip install -U platformio
pip install -U "pioarduino==6.2.0"
python -m pip install intelhex
- 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}'`
echo "VERSION=$version" >> $GITHUB_OUTPUT
- name: Install PlatformIO
- name: Install pioarduino
run: |
python -m pip install --upgrade pip
pip install -U platformio
pip install -U "pioarduino==6.2.0"
python -m pip install intelhex
- 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
- 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)
- 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
+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.
## 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
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
;
; 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]
; build all supported targets. Use pio_local.ini to override and build specific targets.
@@ -63,18 +65,11 @@ unbuild_flags =
[espressif32_base_4M]
framework = arduino
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
[espressif32_base_16M]
framework = arduino
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 =
${common.build_flags}
-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]
framework = arduino
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]
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 =
${common.build_flags}
build_unflags =