merge conflicts from 05.04

This commit is contained in:
Shailen Sobhee 2026-04-05 19:08:01 +02:00
commit 3271327208
7 changed files with 59 additions and 14 deletions

View file

@ -1,6 +1,9 @@
name: ESPSomfy-RTS Release name: ESPSomfy-RTS Build
on: on:
push:
branches: [main]
pull_request:
release: release:
types: [published] types: [published]
@ -16,7 +19,7 @@ jobs:
# fwname: firmware-only binary for OTA updates # fwname: firmware-only binary for OTA updates
# obname: onboard image (bootloader + partitions + firmware + littlefs merged) # obname: onboard image (bootloader + partitions + firmware + littlefs merged)
# for flashing a new chip via USB/serial # for flashing a new chip via USB/serial
# addr_bootloader: chip-dependent (ESP32: 0x1000, C3/S3: 0x0) # addr_bootloader: chip-dependent (ESP32: 0x1000, C3/S3/C6: 0x0)
# addr_fs: must match spiffs/littlefs offset in esp32_3MB.csv # addr_fs: must match spiffs/littlefs offset in esp32_3MB.csv
include: include:
- env: esp32dev - env: esp32dev
@ -54,6 +57,7 @@ jobs:
steps: steps:
- name: Get Release - name: Get Release
if: github.event_name == 'release'
id: get_release id: get_release
uses: bruceadams/get-release@v1.3.2 uses: bruceadams/get-release@v1.3.2
env: env:
@ -63,6 +67,7 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Update version from release tag - name: Update version from release tag
if: github.event_name == 'release'
run: | run: |
VERSION="${{ github.event.release.tag_name }}" VERSION="${{ github.event.release.tag_name }}"
VERSION="${VERSION#v}" VERSION="${VERSION#v}"
@ -71,6 +76,15 @@ jobs:
sed -i "s/\?v=[0-9.]*c/?v=${VERSION}c/g" data-src/index.html sed -i "s/\?v=[0-9.]*c/?v=${VERSION}c/g" data-src/index.html
sed -i "s/appVersion = 'v[0-9.]*'/appVersion = 'v${VERSION}'/" data-src/index.js sed -i "s/appVersion = 'v[0-9.]*'/appVersion = 'v${VERSION}'/" data-src/index.js
- name: Commit version update
if: github.event_name == 'release' && matrix.env == 'esp32dev'
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add src/ConfigSettings.h data-src/appversion data-src/index.html data-src/index.js
git commit -m "chore: bump version to ${{ github.event.release.tag_name }}"
git push origin HEAD:${{ github.event.release.target_commitish }}
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
@ -79,16 +93,25 @@ jobs:
- name: Install PlatformIO and esptool - name: Install PlatformIO and esptool
run: pip install platformio esptool run: pip install platformio esptool
- name: Build LittleFS image
run: pio run -e ${{ matrix.env }} -t buildfs
- name: Save LittleFS image
run: cp .pio/build/${{ matrix.env }}/littlefs.bin littlefs.bin
- name: Build firmware - name: Build firmware
run: pio run -e ${{ matrix.env }} run: pio run -e ${{ matrix.env }}
- name: Build LittleFS image - name: Restore LittleFS image
run: pio run -e ${{ matrix.env }} -t buildfs run: cp littlefs.bin .pio/build/${{ matrix.env }}/littlefs.bin
- name: List build artifacts
run: find .pio/build/${{ matrix.env }} -maxdepth 1 -name "*.bin" | sort
- name: Create onboard image - name: Create onboard image
run: | run: |
python -m esptool --chip ${{ matrix.chip }} \ python -m esptool --chip ${{ matrix.chip }} \
merge_bin -o ${{ matrix.obname }} \ merge-bin -o ${{ matrix.obname }} \
${{ matrix.addr_bootloader }} .pio/build/${{ matrix.env }}/bootloader.bin \ ${{ matrix.addr_bootloader }} .pio/build/${{ matrix.env }}/bootloader.bin \
0x8000 .pio/build/${{ matrix.env }}/partitions.bin \ 0x8000 .pio/build/${{ matrix.env }}/partitions.bin \
0x10000 .pio/build/${{ matrix.env }}/firmware.bin \ 0x10000 .pio/build/${{ matrix.env }}/firmware.bin \
@ -97,7 +120,22 @@ jobs:
- name: Compress onboard image - name: Compress onboard image
run: zip ${{ matrix.obname }}.zip ${{ matrix.obname }} run: zip ${{ matrix.obname }}.zip ${{ matrix.obname }}
- name: Upload artifacts
if: github.event_name != 'release'
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.name }}
path: |
.pio/build/${{ matrix.env }}/firmware.bin
.pio/build/${{ matrix.env }}/firmware.elf
.pio/build/${{ matrix.env }}/partitions.bin
.pio/build/${{ matrix.env }}/bootloader.bin
.pio/build/${{ matrix.env }}/littlefs.bin
${{ matrix.obname }}.zip
retention-days: 5
- name: Upload LittleFS - name: Upload LittleFS
if: github.event_name == 'release'
uses: shogo82148/actions-upload-release-asset@v1.7.5 uses: shogo82148/actions-upload-release-asset@v1.7.5
with: with:
github_token: ${{ github.token }} github_token: ${{ github.token }}
@ -107,6 +145,7 @@ jobs:
overwrite: true overwrite: true
- name: Upload firmware - name: Upload firmware
if: github.event_name == 'release'
uses: shogo82148/actions-upload-release-asset@v1.7.5 uses: shogo82148/actions-upload-release-asset@v1.7.5
with: with:
github_token: ${{ github.token }} github_token: ${{ github.token }}
@ -116,6 +155,7 @@ jobs:
overwrite: true overwrite: true
- name: Upload onboard image - name: Upload onboard image
if: github.event_name == 'release'
uses: shogo82148/actions-upload-release-asset@v1.7.5 uses: shogo82148/actions-upload-release-asset@v1.7.5
with: with:
github_token: ${{ github.token }} github_token: ${{ github.token }}

View file

@ -7,6 +7,10 @@
* Backup does no longer use LITTLEFS. Only RAM is used. Storage should not wear out so quick. * Backup does no longer use LITTLEFS. Only RAM is used. Storage should not wear out so quick.
* Added uptime info in web UI * Added uptime info in web UI
## There is a partition layout modification it's just better to perform full ESP32 wipeout. Perform backup then wipeout the firmware and restore from the bkp.
* fwname: firmware-only binary for OTA updates
* obname: onboard image (bootloader + partitions + firmware + littlefs merged) for flashing a new chip via USB/serial
# ESPSomfy-RTS <image src="https://user-images.githubusercontent.com/47839015/218898940-3541b360-5c49-4e38-a918-392cd0408b76.png" align="right" style="width:177px;display:inline-block;float:right"></image> # ESPSomfy-RTS <image src="https://user-images.githubusercontent.com/47839015/218898940-3541b360-5c49-4e38-a918-392cd0408b76.png" align="right" style="width:177px;display:inline-block;float:right"></image>
A controller for Somfy RTS blinds and shades that supports up to 32 individual shades and 16 groups over 433MHz RTx protocols. If you have IO Home Control motors this project is not for you but you can use the IO Remote protocol to connect the ESPSomfy RTS device to a disected remote. Look in the [Wiki](https://github.com/rstrouse/ESPSomfy-RTS/wiki/Controlling-Motors-with-GPIO) for options and verify whether the solution is workable for you. A controller for Somfy RTS blinds and shades that supports up to 32 individual shades and 16 groups over 433MHz RTx protocols. If you have IO Home Control motors this project is not for you but you can use the IO Remote protocol to connect the ESPSomfy RTS device to a disected remote. Look in the [Wiki](https://github.com/rstrouse/ESPSomfy-RTS/wiki/Controlling-Motors-with-GPIO) for options and verify whether the solution is workable for you.

View file

@ -1 +1 @@
2.5.0 3.0.10

View file

@ -8,9 +8,9 @@
<meta name="apple-mobile-web-app-title" content="ESPSomfy RTS App"> <meta name="apple-mobile-web-app-title" content="ESPSomfy RTS App">
<meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="stylesheet" href="main.css" type="text/css" /> <link rel="stylesheet" href="main.css?v=3.0.10c" type="text/css" />
<link rel="stylesheet" href="widgets.css" type="text/css" /> <link rel="stylesheet" href="widgets.css?v=3.0.10c" type="text/css" />
<link rel="stylesheet" href="icons.css" type="text/css" /> <link rel="stylesheet" href="icons.css?v=3.0.10c" type="text/css" />
<link rel="icon" type="image/png" href="favicon.png" /> <link rel="icon" type="image/png" href="favicon.png" />
<!-- iPad retina icon --> <!-- iPad retina icon -->
@ -114,7 +114,7 @@
rel="apple-touch-startup-image"> rel="apple-touch-startup-image">
<script type="text/javascript" src="index.js"></script> <script type="text/javascript" src="index.js?v=3.0.10c"></script>
</head> </head>
<body> <body>
<div id="divContainer" class="container main" data-auth="false"> <div id="divContainer" class="container main" data-auth="false">

View file

@ -13,8 +13,7 @@ default_envs = esp32c6
src_dir = src src_dir = src
[env] [env]
platform = https://github.com/pioarduino/platform-espressif32 platform = espressif32 @ 6.13.0
; platform = espressif32 @ 5.4.0
framework = arduino framework = arduino
lib_deps = lib_deps =
bblanchon/ArduinoJson@^7.2.2 bblanchon/ArduinoJson@^7.2.2
@ -28,7 +27,7 @@ extra_scripts =
post:archive_elf.py post:archive_elf.py
board_build.filesystem = littlefs board_build.filesystem = littlefs
build_flags = build_flags =
-DCORE_DEBUG_LEVEL=5 -DCORE_DEBUG_LEVEL=3
-DCONFIG_ESP_COREDUMP_ENABLE_TO_FLASH=1 -DCONFIG_ESP_COREDUMP_ENABLE_TO_FLASH=1
-DCONFIG_ESP_COREDUMP_DATA_FORMAT_ELF=1 -DCONFIG_ESP_COREDUMP_DATA_FORMAT_ELF=1
-DCONFIG_ESP_COREDUMP_CHECKSUM_CRC32=1 -DCONFIG_ESP_COREDUMP_CHECKSUM_CRC32=1

View file

@ -7,7 +7,7 @@
//enum class conn_types_t : byte; //enum class conn_types_t : byte;
#define CONNECT_TIMEOUT 20000 #define CONNECT_TIMEOUT 20000
#define SSID_SCAN_INTERVAL 60000 #define SSID_SCAN_INTERVAL 600000
class ESPNetwork { class ESPNetwork {
protected: protected:
unsigned long lastEmit = 0; unsigned long lastEmit = 0;

View file

@ -2115,8 +2115,10 @@ void Web::begin() {
AsyncJsonResp resp; AsyncJsonResp resp;
resp.beginResponse(request, g_async_content, sizeof(g_async_content)); resp.beginResponse(request, g_async_content, sizeof(g_async_content));
resp.beginObject(); resp.beginObject();
resp.beginObject("config");
serializeTransceiverConfig(resp); serializeTransceiverConfig(resp);
resp.endObject(); resp.endObject();
resp.endObject();
resp.endResponse(); resp.endResponse();
})); }));