Compare commits

..
1122 Commits
Author SHA1 Message Date
TD-erandGitHub 44f4559f3c Merge pull request #5595 from tonhuisman/bugfix/Saving-task-cleared-the-cache-unexpectedly
[Bugfix] Taskname wasn't saved because cache was cleared unexpectedly
2026-07-25 21:27:10 +02:00
Ton Huisman d3c1b2adf6 [Bugfix] Taskname wasn't saved because cache was cleared unexpectedly 2026-07-25 21:24:11 +02:00
TD-erandGitHub 75d8a1e62b Merge pull request #5590 from TD-er/bugfix/p2p_update_5496
[ESPEasy p2p] Only update remote task with changes on the sender #5496
2026-07-21 11:59:16 +02:00
TD-er d80f77f555 [PWM] Fix crashes on ESP32 when using PWM fade (#5344)
Fixes: #5344
2026-07-21 11:58:09 +02:00
TD-er 3869d1de79 [ESPEasy p2p] Only update remote task with changes on the sender #5496
When an existing remote task already existed, it was cleared and initialized only with settings in the p2p packet when the sender task was saved.

Fixes: #5496
2026-07-21 11:35:08 +02:00
TD-erandGitHub be6608645c Merge pull request #5586 from TD-er/bugfix/simplify_serial_fallback
[ESPEasy Console] Simplify init of ESPEasy console + update IDF/Arduino
2026-07-21 00:19:55 +02:00
TD-er d80bea9467 [Serial] Fix failing custom_IR_ESP8266_4M1M build 2026-07-20 23:10:19 +02:00
TD-er aa2cc9ceca Merge remote-tracking branch 'letscontrolit/mega' into bugfix/simplify_serial_fallback 2026-07-20 22:55:32 +02:00
TD-er 450ecb3116 [Docs] Add ESP32-S31 datasheet to docs 2026-07-20 22:55:24 +02:00
TD-er 406a62421f [Console] Prevent long delay when USB-HWCDC is plugged but not used 2026-07-20 22:55:00 +02:00
TD-erandGitHub de1ee7ee81 Merge pull request #5568 from tonhuisman/feature/P016-add-event-on-overflow
[P016] Add Event on overflow setting
2026-07-20 22:51:43 +02:00
TD-erandGitHub ad42f76485 Merge pull request #5579 from tonhuisman/bugfix/P020-send-events-for-derived-values
[P020] Send events for Derived values
2026-07-20 22:51:15 +02:00
TD-erandGitHub ec83eaa0fa Merge pull request #5588 from tonhuisman/bugfix/P129-prime-data-by-starting-a-read
[P129] Bugfix: Pre-read so initial read returns valid data
2026-07-20 22:50:39 +02:00
TD-erandGitHub 6b2b80e88d Merge pull request #5585 from tonhuisman/feature/Multiple-serial-ports-with-standard-selector
[Serial] Allow multiple selectors on a single page for Modbus configuration
2026-07-20 22:50:11 +02:00
Ton HuismanandGitHub ff54a4ac50 Merge branch 'mega' into feature/Multiple-serial-ports-with-standard-selector 2026-07-20 21:12:51 +02:00
TD-er 413a22ff8e Merge remote-tracking branch 'letscontrolit/mega' into bugfix/simplify_serial_fallback 2026-07-20 16:18:33 +02:00
TD-erandGitHub 88882898b3 Merge pull request #5589 from letscontrolit/dependabot/github_actions/actions/setup-python-7
Bump actions/setup-python from 6 to 7
2026-07-20 16:16:55 +02:00
dependabot[bot]andGitHub ab6f0211c6 Bump actions/setup-python from 6 to 7
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-20 14:12:38 +00:00
TD-er 8ceb5eeeb1 automatically updated release notes for mega-20260720 2026-07-20 13:16:21 +02:00
TD-er 3f66a388f5 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/simplify_serial_fallback 2026-07-19 22:51:09 +02:00
TD-er 50c52c3b95 [ESPEasy console] reduce load when USB HWCDC is not connected 2026-07-19 22:50:51 +02:00
TD-erandGitHub 8c26bbf51c Merge pull request #5565 from tonhuisman/feature/Docs-update-vscode-plugin-list
[Docs] Update VSCode plugin list
2026-07-19 21:50:05 +02:00
Ton Huisman 89834507e5 [Serial] Add definition for all-but-CDC serial ports 2026-07-19 21:23:20 +02:00
TD-er 39f43f14f8 [Serial] Simplify ESPEasy console code + reduce resource usage 2026-07-19 17:06:59 +02:00
Ton Huisman e202e00c30 [P129] Bugfix: Pre-read so initial read returns valid data 2026-07-18 21:19:07 +02:00
Gijs Noorlander 759285e9bd [Serial] Fix failing build on minimal ESP8266 builds 2026-07-18 20:53:07 +02:00
Ton Huisman 1ca9a91689 [Serial] Implement enable/disable HWSerial in serial selector 2026-07-18 16:42:36 +02:00
TD-er 72171b9500 [ESPEasy Console] Simplify init of ESPEasy console + update IDF/Arduino 2026-07-18 16:09:50 +02:00
TD-er 943b95a955 [Console] Split ESPEasy_console.cpp into dual/single/serial0-only 2026-07-18 01:52:45 +02:00
Ton Huisman e4c6c93d61 [Serial] Simplify API 2026-07-17 23:32:12 +02:00
Ton Huisman 0144de4e47 [Serial] Allow multiple selectors on a single page for Modbus configuration 2026-07-17 22:36:19 +02:00
TD-erandGitHub 0c3f46d3cf Merge pull request #5584 from TD-er/docs/MiscDocumentation
[Docs] Add missing network overview tab screenshot
2026-07-17 15:46:35 +02:00
TD-er 92bcb385b9 [Docs] Add missing network overview tab screenshot 2026-07-17 15:43:30 +02:00
TD-erandGitHub 6b9ba7d40b Merge pull request #5583 from TD-er/docs/MiscDocumentation
[Docs] Document network + fix import/export nw. config
2026-07-17 15:27:51 +02:00
TD-er 60e4d70f99 [Docs] Document the devsecurity.dat file 2026-07-17 15:27:11 +02:00
TD-er 340e8f3e18 [Docs] Document the Network overview tab 2026-07-17 13:59:37 +02:00
TD-er 99b910b806 [Network] Fix import/export for WiFi STA and AP 2026-07-16 17:47:45 +02:00
TD-er aaf43fa423 [Network] Add "Append Name to Hostname" to import/export 2026-07-16 16:12:31 +02:00
TD-er 61bad0d9a4 [Cleanup] Set development/debug log as LOG_LEVEL_DEBUG 2026-07-16 16:01:57 +02:00
TD-er f51c3ffb18 [Docs] Add link of ESP32-Arduino supported features per ESP32-variant 2026-07-16 16:00:45 +02:00
TD-er 48810e5749 [Network] Add option to append NW interface name to hostname 2026-07-16 15:59:53 +02:00
TD-erandGitHub 5dbfc191f2 Merge pull request #5582 from TD-er/docs/NetworkDocumentation
[Docs] Add WiFi AP documentation + cleanup network docs
2026-07-15 01:43:21 +02:00
TD-er e839a2335e [Docs] Add missing documentation for WiFi AP + cleanup network docs 2026-07-15 01:42:23 +02:00
TD-er 3e435dccda [Docs] Remove empty 'Description' subsection from NW001 page 2026-07-15 01:14:10 +02:00
TD-er d0fad6c5bc [Docs] Fix section/subsection marking on PPP page. 2026-07-15 01:10:35 +02:00
TD-erandGitHub 23fa46a37f Merge pull request #5581 from TD-er/docs/NetworkingDocs
[Docs] Update network documentation
2026-07-15 00:52:47 +02:00
TD-er 68d6da8838 [Docs] Describe rest of WiFi settings 2026-07-15 00:51:07 +02:00
TD-er ccdad8300e [WiFi] Simplify passive/active scan note 2026-07-14 23:47:17 +02:00
TD-er 6df8f582d7 [Docs] Describe WiFi modes and Passive/Active scan 2026-07-14 23:46:04 +02:00
TD-er da35197a0b [Docs] Add documentation for WiFi STA/AP + reformat other network docs 2026-07-14 18:01:26 +02:00
Ton Huisman 213b284086 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Docs-update-vscode-plugin-list 2026-07-13 22:06:48 +02:00
Ton Huisman fda9d3524c [Docs] Clarification about Collection builds including Normal plugin set, mention 32MB flash units 2026-07-13 22:06:30 +02:00
TD-erandGitHub 0c733886e1 Merge pull request #5580 from TD-er/bugfix/Webserver_dedup_stdtmpl
[Webserver] Deduplicate & simplify code handling begin/end of web pages
2026-07-13 21:47:45 +02:00
TD-er 35c7cfd0f4 [PPP Docs] Add description and some tips regarding power 2026-07-13 21:34:27 +02:00
TD-er 2a2ac3eba0 Merge remote-tracking branch 'origin/bugfix/Webserver_dedup_stdtmpl' into bugfix/Webserver_dedup_stdtmpl 2026-07-13 16:03:44 +02:00
TD-er 760dcf724f [PPP Docs] Add documentation on NW005 PPP Modem 2026-07-13 16:03:26 +02:00
TD-er c570df9a3b [PPP] Show info even when no connection to provider is active 2026-07-13 16:02:56 +02:00
Ton Huisman f76da86cf1 [P020] Apply uncrustify once more 2026-07-12 15:30:54 +02:00
Ton Huisman a13c8589cf Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into bugfix/P020-send-events-for-derived-values 2026-07-12 15:25:57 +02:00
TD-erandGitHub 270991fc3c Merge branch 'mega' into bugfix/Webserver_dedup_stdtmpl 2026-07-12 14:59:29 +02:00
TD-erandGitHub 56fcdd1657 Merge pull request #5578 from tonhuisman/feature/DevicesPage-hide-controllers-if-no-values-to-send
[UI] DevicesPage: Hide Controllers if no values to send
2026-07-12 14:58:40 +02:00
TD-erandGitHub fe6728f9c4 Merge pull request #5546 from andbad/andbad-72x40
Add 72x40 display
2026-07-12 14:57:54 +02:00
TD-erandGitHub 94246f75ae Merge pull request #5576 from tonhuisman/bugfix/Limit-humidity-to-100%-after-temp-compensation
[Bugfix] Limit humidity to 100% after applying temperature compensation
2026-07-12 14:57:21 +02:00
TD-erandGitHub 0f2aa3382c Merge pull request #5574 from tonhuisman/bugfix/TaskValue-update-custom-format-uservar
[Bugfix] Include PLUGIN_FORMAT_USERVAR values for json updates
2026-07-12 14:56:43 +02:00
TD-erandGitHub a2041ba90c Merge pull request #5571 from tonhuisman/bugfix/TaskInterval-initialization
[Bugfix] Improve initialization of Task Interval
2026-07-12 14:55:54 +02:00
TD-er 45827f3651 [Webserver] Remove & simplify duplicate code send end of page 2026-07-12 14:00:22 +02:00
TD-er 0e66898524 [Webserver] Remove code duplication send start of page 2026-07-12 01:08:00 +02:00
Ton Huisman 6a27b251aa [P020] Send events for Derived values 2026-07-11 16:44:45 +02:00
Ton Huisman 7ea26d1454 [UI] DevicesPage: Hide Controllers if no values to send 2026-07-11 16:28:12 +02:00
andbadandGitHub d1fe05a538 Add 72x40 size
add screenshot
2026-07-09 11:59:32 +02:00
andbadandGitHub 61b985829d Merge branch 'letscontrolit:mega' into andbad-72x40 2026-07-09 11:58:28 +02:00
andbadandGitHub 699928a28c Add 72x40 OLED size to changelog
Updated changelog to reflect the addition of 74x40 resolution
2026-07-09 10:06:02 +02:00
andbadandGitHub 49aec9130e Fix formatting in P036_data_struct.h 2026-07-09 10:00:20 +02:00
andbadandGitHub 32490a92ce Fix formatting of enum value for p036_resolution 2026-07-09 09:50:39 +02:00
Ton Huisman f9ca8c562b [Bugfix] Limit humidity to 100% after applying temperature compensation 2026-07-04 23:02:01 +02:00
Ton Huisman b110027a5c [Docs] Small typo P124 2026-07-01 22:46:45 +02:00
Ton Huisman f082304173 [P126][P129] Code optimization using ceilf instead of ceil, fix conditional compile error 2026-07-01 10:23:48 +02:00
Ton Huisman 6fe0838471 [P126][P129] Code optimization by moving ul2stringFixed to StringConverter_Numerical 2026-06-30 22:12:49 +02:00
Ton Huisman ab417fa84c [PLUGIN_FORMAT_USERVAR] Allow optional value display formatting by setting ParN[idx] to 1 2026-06-30 17:24:39 +02:00
Ton Huisman 6f69fdf0e0 [Bugfix] Include PLUGIN_FORMAT_USERVAR values for json updates 2026-06-29 23:30:22 +02:00
Ton Huisman 2aeea6e1e5 [Bugfix] Partial revert for saving Task Interval 2026-06-29 23:16:54 +02:00
Ton Huisman 42bf0c451f [Bugfix] Improve initialization of Task Interval 2026-06-28 22:08:38 +02:00
Ton Huisman b1ecfdcfa1 [C005] Add note MQTT Auto Discovery not enabled in ESP8266 builds 2026-06-27 14:27:34 +02:00
Ton Huisman 5bff99ec5d Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Docs-update-vscode-plugin-list 2026-06-27 14:14:46 +02:00
Ton Huisman 6201edd509 [P016] Update documentation 2026-06-27 13:54:17 +02:00
Ton Huisman be6ce1f162 [P016] Fix typo in error log 2026-06-27 13:53:55 +02:00
Ton Huisman 7dee0ce173 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/P016-add-event-on-overflow 2026-06-27 13:53:02 +02:00
TD-erandGitHub 2776ae9516 Merge pull request #5564 from TD-er/bugfix/wifi_setup_crash
[WiFi] Fix stack overflow crash when no credentials set
2026-06-25 17:23:20 +02:00
TD-er 9ce4376d0d [Forms] Add optional changed bool to simplify checking for changes
As suggested here: https://github.com/letscontrolit/ESPEasy/pull/5390#discussion_r3474622331
2026-06-25 17:09:49 +02:00
TD-er d61d4ecdc6 [SendToHttps] Log HTTP return code even on BUILD_NO_DEBUG 2026-06-25 16:57:05 +02:00
TD-er b53120bddf [Build] Fix failing ESP32C2 Safeboot build. 2026-06-25 09:46:34 +02:00
TD-er 6c630a7266 [SendToHttps] Fix crash and actually working + connect timeout 2026-06-24 23:01:11 +02:00
TD-er 911638e832 [PWM] Disable fade for ESP32 PWM for now. 2026-06-24 17:01:36 +02:00
TD-er ba77d801b7 [Network] Simplify connected/disconnected and enabled/disabled events 2026-06-24 17:00:59 +02:00
TD-er 4219f257d9 [WiFi] Add state diagrams to WiFi documentation 2026-06-23 15:12:42 +02:00
TD-er baa447b876 [WiFi] Cleanup STA state machine code 2026-06-22 22:41:12 +02:00
TD-erandGitHub b2eb3a0f7c Merge pull request #5567 from letscontrolit/dependabot/github_actions/actions/checkout-7
Bump actions/checkout from 6 to 7
2026-06-22 22:00:28 +02:00
Ton Huisman 20e0718bd5 [P016] Add Event on overflow setting 2026-06-22 21:40:40 +02:00
TD-er bf1abdcba2 [WiFi] Simplify WiFi STA state machine 2026-06-22 20:19:46 +02:00
dependabot[bot]andGitHub dfded704ae Bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-22 14:12:41 +00:00
TD-er 8549f39667 [WiFi] Update WiFi state diagrams 2026-06-11 16:36:08 +02:00
Ton Huisman e8b936a00a [Docs] Update VSCode plugin list 2026-06-10 22:37:06 +02:00
TD-er 757d8a1668 [WiFi] Simplify state machine for WiFi STA 2026-06-10 14:51:39 +02:00
TD-er f527920019 [WiFi] Fix stack overflow crash when no credentials set 2026-06-08 11:54:09 +02:00
TD-erandGitHub 77e8b8290a Merge pull request #5563 from TD-er/bugfix/sort_custom_vars_ESP32_only
[SysVarSort] Only sort system variables on ESP32 due to build size
2026-06-08 09:13:03 +02:00
TD-er 30ca5c6370 [SysVarSort] Only sort system variables on ESP32 due to build size 2026-06-07 22:39:40 +02:00
TD-erandGitHub 673f5bbdc3 [Build] Fix sort custom vars on ESP8266
ESP8266 needs all return paths of the lambda function to be exactly the same type.
Thus the `operator<` of `String` needs to be cast to a bool as it would otherwise be an `unsigned char` .
2026-06-07 22:18:23 +02:00
TD-erandGitHub 41347de1ec Merge pull request #5562 from TD-er/bugfix/ip_access_control
[AccessControl] Fix checking for allowed IP access of webinterface
2026-06-07 21:43:47 +02:00
TD-erandGitHub 8d7fdcb2a5 Merge pull request #5561 from tonhuisman/feature/Sysvar-variables-num-sorted
[SysVars] List variables numerically sorted
2026-06-07 21:43:17 +02:00
TD-erandGitHub 7a1fc1ed19 [Build] Fix custom build missing an include for Metrics.cpp 2026-06-07 19:50:00 +02:00
TD-er 9bfc82bb70 [AccessControl] Fix checking for allowed IP access of webinterface 2026-06-07 17:06:06 +02:00
Ton Huisman 1dee7c775d [Docs] Suggest VSCode plugin TODO Highlight as Todo Tree doesn't work anymore without an external tool 2026-06-06 13:29:35 +02:00
TD-erandGitHub b95cda55ad [Docs] Add link to Supported Features and Peripherals on ESP32-xx 2026-06-06 10:35:28 +02:00
Ton HuismanandGitHub 7870eeda6f Merge branch 'mega' into feature/Sysvar-variables-num-sorted 2026-06-05 22:04:56 +02:00
TD-erandGitHub 99681464ce Merge pull request #5559 from TD-er/bugfix/captive_portal_setup
[AccessControl] Fix checking for allowed IP range
2026-06-05 16:30:53 +02:00
TD-er a954b0224f [Arduino 3.3.9] Update to latest espressif32/Arduino 3.3.9 2026-06-05 14:52:59 +02:00
Ton Huisman 85e4cc283d [SysVars] Sort alphabetic values too (though they come in already sorted) 2026-06-03 21:52:28 +02:00
TD-er 7cc89ccd5d [Network] Fix properly clearing runtime data when starting nw interface 2026-06-03 15:26:06 +02:00
TD-er 99e6205bc5 [Network] Fix route setting priority (ESP32-only) 2026-06-03 14:46:00 +02:00
TD-er a3228f0272 [WebFlasher] Update webflasher to 12.2.4 2026-06-03 14:44:56 +02:00
TD-er 926dc99d65 [ESP-IDF] Update Arduino/ESP-IDF to latest version 2026-06-03 14:44:16 +02:00
Ton Huisman 052780e595 [SysVars] List variables numerically sorted 2026-06-02 22:11:23 +02:00
TD-er ef324e6e5f [WiFi AP] Fix really stupid error setting WiFi AP static IP 2026-05-28 16:52:01 +02:00
TD-er 1646c4e953 [ESP8266] Fix ESP8266 builds missing include 2026-05-25 23:24:22 +02:00
TD-er ecfa569c93 [AccessControl] Fix checking for allowed IP range 2026-05-25 01:27:28 +02:00
TD-erandGitHub 03c3d434a4 Merge pull request #5558 from yosinn1-blip/codex/typo-v5-occurrence-rules-rst
docs: fix occurrence spelling in docs
2026-05-24 11:08:56 +02:00
TD-erandGitHub ed17f5987c Merge pull request #5557 from yosinn1-blip/codex/typo-v3-received-p118-rst
docs: fix received spelling in docs
2026-05-24 10:35:15 +02:00
yosinn1-blip 94946bb9a5 docs: fix occurrence spelling in docs
Signed-off-by: Yoshiki <yosinn1@gmail.com>
2026-05-24 08:29:59 +09:00
yosinn1-blip 3658ff1ff3 docs: fix received spelling in docs
Signed-off-by: Yoshiki <yosinn1@gmail.com>
2026-05-24 08:11:27 +09:00
andbadandGitHub 4d6d2c1b7f Refactor FormSelectorOptions initialization 2026-05-22 15:15:11 +02:00
andbadandGitHub b7f74fa6e8 Add default parameters to OLedFormSizes function 2026-05-22 14:38:15 +02:00
andbadandGitHub a8c6635f55 Update OLedFormSizes to use optionsSize parameter 2026-05-22 14:37:27 +02:00
andbadandGitHub 3aebc9ce42 Update OLedFormSizes call to include element count 2026-05-22 14:36:16 +02:00
TD-erandGitHub 59d972d4aa Merge pull request #5555 from tonhuisman/bugfix/P039-initialization-error
[P039] Fix for initialization error
2026-05-21 21:50:45 +02:00
Ton Huisman 765384cd7e [P039] Fix for initialization error 2026-05-21 21:21:34 +02:00
TD-erandGitHub e617c0faa9 Merge pull request #5553 from tonhuisman/feature/UI-update-icon-for-tools-tab
[UI] Update icon for Tools tab
2026-05-20 21:12:00 +02:00
Ton Huisman ce1658ca03 [UI] Update icon for Tools tab 2026-05-20 21:02:51 +02:00
TD-erandGitHub 4cea1e7a26 Merge pull request #5552 from TD-er/bugfix/wifi_fallback_credentials
[WiFi] Fix using all set WiFi credentials
2026-05-20 19:25:45 +02:00
TD-er 5c82e9a455 [WiFi] Fix using all set WiFi credentials
Problem was, the index was incremented extra when a valid value was found, thus skipping every odd one when multiple credentials were set.
2026-05-20 13:48:36 +02:00
TD-erandGitHub 9e2669b99e Merge pull request #5550 from TD-er/bugfix/crash_esp32s3_psram
[ESP32S3] Fix random crashes on ESP32S3 with PSRAM
2026-05-19 21:50:51 +02:00
TD-erandGitHub e77f909b85 Merge pull request #5549 from tonhuisman/feature/Console-accept-all-ascii-characters
[Console] Accept all valid ASCII characters for input
2026-05-19 21:48:11 +02:00
TD-erandGitHub 25caebb070 Merge pull request #5551 from tonhuisman/bugfix/Build-fix-install-requirements-on-windows
[Build] Fix install-requirements script on Windows
2026-05-19 21:46:48 +02:00
Ton Huisman 8eba96fd2f [Build] Fix install-requirements script on Windows 2026-05-19 20:30:25 +02:00
TD-er c029bf0ebb [ESP32S3] Fix random crashes on ESP32S3 with PSRAM 2026-05-19 16:03:02 +02:00
Ton Huisman 7955412bf9 [Console] Accept all valid ASCII characters for input 2026-05-17 22:25:33 +02:00
TD-erandGitHub 72fe2e5f97 Merge pull request #5548 from tonhuisman/bugfix/Docs-fix-reference-to-i2c-docs-and-more-improvements
[Docs] Fix link to I2C Bus settings
2026-05-15 22:56:12 +02:00
Ton Huisman 87e77e0019 [Docs] Fix link to I2C Bus settings 2026-05-15 13:54:09 +02:00
TD-erandGitHub 4dd50b7960 Merge pull request #5547 from TD-er/bugfix/p073_esp8266
[TM1637] Fix ESP8266 not working with TM1637 (#5541)
2026-05-14 13:02:17 +02:00
TD-er a4b0a83cf9 [TM1637] Fix ESP8266 not working with TM1637 (#5541)
Fixes: #5541
2026-05-14 00:56:01 +02:00
TD-erandGitHub 9e01130551 Merge pull request #5535 from tonhuisman/bugfix/Fixes-for-release-may-2026
[Fixes] Corrections and improvements for release May 2026
2026-05-13 21:49:29 +02:00
TD-erandGitHub 782be9d60d Merge pull request #5537 from tonhuisman/feature/Metrics-add-network-tx-rx-data
[Metrics] Add network traffic data TX/RX bytes and frames (Prometheus)
2026-05-13 21:48:55 +02:00
Ton Huisman 8b20069aeb Revert: [Metrics] Only export metrics when stats enabled 2026-05-13 21:35:58 +02:00
Ton Huisman 6ce70cd349 [Network] Allow to not default-enable WiFi interface 2026-05-13 21:35:11 +02:00
Ton Huisman f9c4b72d76 [Build] Fix comment 2026-05-13 21:34:23 +02:00
Ton Huisman 3dc43a384f Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into bugfix/Fixes-for-release-may-2026 2026-05-13 21:05:31 +02:00
Ton Huisman 821bd5fb48 [Metrics] Only export metrics when stats enabled 2026-05-13 21:04:01 +02:00
Ton Huisman 24f764fa46 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Metrics-add-network-tx-rx-data 2026-05-13 20:58:41 +02:00
andbadandGitHub 48641c73ee Merge branch 'letscontrolit:mega' into andbad-72x40 2026-05-13 13:27:12 +02:00
TD-erandGitHub 43e267346b Merge pull request #5545 from TD-er/update/pubsubclient3_3_3_0
[PubSubClient3] Update to latest MQTT Client PubSubClient3
2026-05-13 13:05:03 +02:00
TD-er 419170689e [Network] Fix crash saving network interface settings with p2p active 2026-05-12 21:30:10 +02:00
andbadandGitHub c77e1f78d5 Remove and re-add 72x40 resolution configuration 2026-05-12 18:49:37 +02:00
andbadandGitHub 30c111884a Reorder display size options in OLed_helper.cpp 2026-05-12 18:47:00 +02:00
andbadandGitHub c40cdc8336 Fix formatting of optionValues array in FrameOLED 2026-05-12 18:44:38 +02:00
andbadandGitHub 64de7977fc Reorder resolution options in OLED frame 2026-05-12 18:43:47 +02:00
TD-er 976bd2fc1b [ESP32S2] Improve free RAM on ESP32S2 2026-05-12 17:02:29 +02:00
andbadandGitHub f7e285bc85 Fix enum values for p036_resolution 2026-05-12 17:00:52 +02:00
andbadandGitHub dcc1e7918e Add new display option '72x40' to OLed_helper 2026-05-12 15:47:23 +02:00
andbadandGitHub 6ca21c852c Update p036_resolution enum values 2026-05-12 15:46:01 +02:00
andbadandGitHub 8bb8ce09d1 Add case for pix72x40 resolution handling 2026-05-12 15:44:48 +02:00
andbadandGitHub c3c99dd1bb Add new display configuration for 72x40 resolution 2026-05-12 15:43:44 +02:00
andbadandGitHub 032c480a5f Update _P036_FrameOLED.ino
Add 72x40 display
2026-05-12 15:42:23 +02:00
TD-er 31ba16e7cc [Network] Add setting whether to collect network stats (ESP32-only) 2026-05-12 13:14:12 +02:00
Ton Huisman 0d942d08fd [Network] Initially collapse the Statistics section of the page 2026-05-11 22:37:43 +02:00
TD-er e694a845c1 [Network] Improve response time on network disconnect for MQTT client 2026-05-11 22:08:47 +02:00
Ton Huisman 0dcf34e7e0 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Metrics-add-network-tx-rx-data 2026-05-11 21:54:47 +02:00
Ton Huisman e52122e677 [C016] Remove Experimental label, clean up initialization 2026-05-11 21:35:13 +02:00
TD-er 2f7f42b460 [PubSubClient3] Update to latest MQTT Client PubSubClient3 2026-05-11 21:32:09 +02:00
Ton Huisman 421678e254 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into bugfix/Fixes-for-release-may-2026 2026-05-11 20:40:34 +02:00
TD-erandGitHub 76729ae905 Merge pull request #5544 from TD-er/bugfix/esp32s2_direct_gpio
[DirectGPIO] Use low-level HAL commands from ESP-IDF for ESP32-xx
2026-05-11 14:05:27 +02:00
TD-er 33d5d2adde [DirectGPIO] Use low-level HAL commands from ESP-IDF for ESP32-xx 2026-05-11 12:35:12 +02:00
TD-erandGitHub d5dcb58140 Merge pull request #5543 from TD-er/bugfix/esp32p4_crash_old_esphosted
Bugfix/esp32p4 crash old esphosted
2026-05-11 11:12:24 +02:00
TD-er 79da218624 [webflasher] Cleanup Python script to generate page + set to 460800 baud 2026-05-11 11:11:29 +02:00
TD-er 22c9ef9d63 [Webflasher] Use flash size detection to simplify MAX build selection 2026-05-11 10:38:50 +02:00
TD-er f5ac9f0b79 [Webflasher] Add 32M builds to the page generator script 2026-05-11 09:00:08 +02:00
TD-er 5aebf02705 [ESP32-P4] Enable WiFi STA interface on factory reset 2026-05-10 23:47:05 +02:00
TD-er 20e3975495 [ESP-Hosted-MCU] Fix OTA URL + speedup log output to serial 2026-05-10 23:46:10 +02:00
TD-er 99ec57a6d0 [32M flash] Fix including all 'MAX' plugins for 32M flash builds 2026-05-10 21:52:20 +02:00
TD-er 12435f3e8e [ESP32P4] Fix crashes on older ESP-HOSTED-MCU fw & detection 32M flash 2026-05-10 21:32:30 +02:00
TD-er f5bb6d95f0 Merge remote-tracking branch 'origin/mega' into mega 2026-05-10 19:24:59 +02:00
Ton Huisman c4dba7e9c3 [Build] uv: Activate the PENV, then install missing requirements there 2026-05-10 17:28:18 +02:00
Ton Huisman 7209813fbd Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into bugfix/Fixes-for-release-may-2026 2026-05-10 16:21:36 +02:00
TD-erandGitHub ee9734ae80 Merge pull request #5540 from tonhuisman/feature/Build-add-c5-and-p4-builds-32-mb
[Build] Add C5 4MB Custom, 16MB MAX and 32 MB MAX32 and P4 32MB MAX32 builds
2026-05-10 15:23:27 +02:00
Ton Huisman c7415c35e3 [P073] Fix build with P073_DEBUG and BUILD_NO_DEBUG enabled 2026-05-09 15:19:32 +02:00
Ton Huisman f44e7fdbed Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into bugfix/Fixes-for-release-may-2026 2026-05-09 14:21:35 +02:00
TD-erandGitHub 8d31a93329 Merge pull request #5536 from TD-er/bugfix/convert_network_settings
[Eth] Fix static IP for Ethernet
2026-05-08 20:56:49 +02:00
TD-er 6d814bb6ea [WiFi] Fix WiFi reconnect + event duplicates on ESP8266 2026-05-08 15:34:54 +02:00
TD-er f0d3b78bb4 [WiFi] Fix some minor WiFi issues when saving settings (still 5min wait) 2026-05-07 21:07:21 +02:00
TD-er c1bb5733ae [ESP32S2] Fix using UART/USBCDC on ESP32S2 2026-05-07 00:23:15 +02:00
Ton Huisman d1777b7807 [P180] Add documentation for TCA9554 I/O extender to control relays 2026-05-06 22:43:04 +02:00
Ton Huisman 8cb3a3f3c7 [Network] Fix small typo 2026-05-05 21:33:05 +02:00
Ton Huisman da616cdbfe [Network] Allow network interfaces to be enabled on factory reset 2026-05-04 21:23:35 +02:00
Ton Huisman 8e70deafb3 [Build] Update documentation 2026-05-03 21:09:04 +02:00
Ton Huisman cb3b886e88 [Dist] Update Espressif Flash Download tool to v3.9.10 2026-05-03 17:43:36 +02:00
Ton Huisman f6227a42bd [Build] Missed a typo in 16MB board definition 2026-05-03 16:08:58 +02:00
Ton Huisman 2adad6e195 [Build] Fix a few typos in 32MB board definitions 2026-05-03 15:28:09 +02:00
TD-er 3180314785 [WiFi] Fix setting init/exit/gotIP flags on Network interfaces 2026-05-03 00:56:05 +02:00
TD-er 3a0d2579ea [Console] Fix setting correct TX buffer size + add checks + cleanup 2026-05-03 00:53:23 +02:00
TD-er 746b0ae8d2 [Sysinfo] Fix reporting used sketch size on sysinfo page 2026-05-03 00:50:24 +02:00
TD-er 28a8b931db [ESP-IDF] Update to latest IDF/Arduino code 2026-05-03 00:49:29 +02:00
TD-er c57a77d022 [ESP32S2] Add MAX 8M1M build for ESP32-S2 2026-05-03 00:49:06 +02:00
Ton Huisman b1d575f345 [Build] Add C5 4MB Custom, 16MB MAX and 32 MB MAX32 and P4 32MB MAX32 builds 2026-05-02 22:38:06 +02:00
TD-er 1889767d5c [WiFi] Fix static IP for ESP8266 2026-05-01 12:41:35 +02:00
TD-er 02ccc74235 [WiFi] Fix static IP for WiFi 2026-05-01 12:23:32 +02:00
TD-er aeb06ea8a3 [Build] Fix missing include 2026-05-01 00:55:11 +02:00
TD-er 0895c1e1b9 [Build] Remove normal_beta_ESP8266_16M_LittleFS 2026-05-01 00:37:39 +02:00
TD-er 5b9e529f25 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/convert_network_settings 2026-05-01 00:23:40 +02:00
TD-er 2e9bd45695 [ETH] Fix setting static IP for Ethernet network interfaces 2026-05-01 00:23:22 +02:00
Ton Huisman 9899648f30 [Docs] Fix missing column for LoopTimerSetAndRun 2026-04-30 20:58:05 +02:00
Ton Huisman fbeef3f0bb Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into bugfix/Fixes-for-release-may-2026 2026-04-30 20:51:48 +02:00
TD-erandGitHub bda732735a Fix syslog packets contain only a prefix (#5538)
Fixes: #5538
2026-04-30 14:02:18 +02:00
TD-er acb7288bdd [Build] Fix ESP8266 build 2026-04-27 01:26:04 +02:00
TD-er 91d952ab49 [WiFi] Fix continuous logs flood + fix check for no credentials 2026-04-27 01:18:31 +02:00
TD-er d00b793bf6 [WiFi] Make Captive Portal more intuitive and only act when connected to AP 2026-04-26 15:34:23 +02:00
Ton Huisman dd8786396d [Custom] Add secure Cloudflare DNS entries 2026-04-25 21:24:39 +02:00
Ton Huisman f320145307 [Network] Add size-check for NetworkDriverStruct 2026-04-25 20:46:13 +02:00
Ton Huisman 6a9a0a84fd [Settings] Fix waring for VariousBits_2 2026-04-25 20:45:34 +02:00
Ton Huisman ad4abaf832 [Network] Fix struct initialization 2026-04-25 20:19:50 +02:00
Ton Huisman 2f5eb4cb6d [Custom] Add some missing #define variables to Custom-sample.h 2026-04-25 17:27:55 +02:00
Ton Huisman 7ddd503c1c [Network] Add define to select factory-default network adapter 2026-04-25 17:22:45 +02:00
Ton Huisman 033a8ea7fd [Ni]otifications] Add usesTLS flag to attributes and show in PluginList 2026-04-25 13:05:14 +02:00
Ton Huisman 0ad3c6b619 [Ni]otifications] Add usesTLS flag to attributes and show in PluginList 2026-04-24 23:23:18 +02:00
TD-er 5b4f4b176c [WiFi] Fix slowdown issues using Eth on ESP32-P4 with WiFi off 2026-04-24 11:33:17 +02:00
Ton Huisman 6cc5143a11 [Docs] Fix typo 2026-04-23 23:07:34 +02:00
Ton Huisman 36f41daae7 [Metrics] Add network traffic data TX/RX bytes and frames (Prometheus) 2026-04-23 23:03:10 +02:00
TD-er e6fe18c19a [Build] Fix missing include for collection_H_ESP32_IRExt_4M316k build 2026-04-23 15:44:00 +02:00
TD-er c9648663bd [Build] Fix missing include on minimal_core_312_ESP8266_1M_OTA_Domoticz 2026-04-23 15:07:57 +02:00
TD-er 4dbfab2479 [Eth] Fix static IP for Ethernet 2026-04-23 14:30:30 +02:00
Ton Huisman cc2ec06cb2 [Fixes] %iswifi% report status value instead of boolean 2026-04-22 23:10:42 +02:00
TD-erandGitHub 0ff1e2f571 Merge pull request #5532 from TD-er/build/add_ESP32P4_rev3
[ESP32P4r3] Add support for ESP32-P4 rev3
2026-04-20 23:07:02 +02:00
TD-erandGitHub fc9c93586a Merge pull request #5533 from tonhuisman/feature/Build-add-esp32p4-archive-in-release
[Build] Create separate ESP32P4 binaries zip in release script
2026-04-20 23:06:30 +02:00
TD-erandGitHub 5dec945bf3 Merge pull request #5526 from tonhuisman/feature/P180-buscmd-helper-support-for-data-from-variables
[P180] [BusCmd] Allow rules variables in read and put/write (bus) commands
2026-04-20 23:05:51 +02:00
Ton Huisman 71e9fb149f [Build] Create separate ESP32P4 binaries zip in release script 2026-04-20 22:01:47 +02:00
Ton HuismanandGitHub e2769f26a5 Merge branch 'mega' into feature/P180-buscmd-helper-support-for-data-from-variables 2026-04-20 21:44:05 +02:00
TD-er 5d6046b5c2 [ESP32P4r3] Add support for ESP32-P4 rev3 2026-04-20 17:12:20 +02:00
TD-erandGitHub 8554859156 Merge pull request #5531 from TD-er/docs/Update_ESPchips_table
[Docs] Update ESP-Chips table
2026-04-20 14:07:42 +02:00
TD-er 0c1609a324 [Docs] Update ESP-Chips table 2026-04-20 13:57:26 +02:00
TD-erandGitHub 83be5055a3 Merge pull request #5530 from TD-er/bugfix/network_issues_initial_setup
[RMII Eth] Fix setting clock mode + document NW config import/export
2026-04-19 23:11:13 +02:00
TD-er b82c27f645 [RMII Eth] Fix setting clock mode + document NW config import/export 2026-04-19 23:09:12 +02:00
Ton Huisman bc3b531946 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/P180-buscmd-helper-support-for-data-from-variables 2026-04-19 15:28:04 +02:00
Ton Huisman dcba895d3c [P180] Update documentation 2026-04-19 15:27:42 +02:00
Ton Huisman 817d32f63e [P180] [BusCmd] Allow rules variables in read and put/write (bus) commands 2026-04-19 15:27:34 +02:00
TD-erandGitHub 7761b60f12 Merge pull request #5529 from TD-er/bugfix/WiFi_AP_setup
[WiFi] Fix initial WiFi setup via soft-AP
2026-04-18 22:25:48 +02:00
TD-erandGitHub 4d6a0e4d9f Merge pull request #5521 from tonhuisman/feature/Doc-updates-q2-2026
[Docs] Update documentation
2026-04-18 22:07:34 +02:00
TD-er 930e299b59 [ESP-IDF] Update to latest ESP-IDF/Arduino 2026-04-18 19:56:22 +02:00
TD-er 9bed9451fb [sendToHTTP] Fix sendToHTTP using the new lib for https. (revuew by Ton) 2026-04-18 19:22:00 +02:00
Ton Huisman b56bde1c06 [P180] Update documentation 2026-04-18 17:15:21 +02:00
Ton Huisman 17cda47d17 [P180] Process I2C commands synchronous when called from rules and other internal sources 2026-04-18 17:15:03 +02:00
Ton Huisman dbc6c2112c [P180] [BusCmd] Allow rules variables in read and put/write (bus) commands 2026-04-18 17:13:28 +02:00
Ton Huisman 87482529f2 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Doc-updates-q2-2026 2026-04-18 11:30:41 +02:00
TD-er 9e40ab93a0 [Build] Fix include for ESP8266 builds 2026-04-17 18:21:02 +02:00
TD-er 000cfade37 [sendToHttp] Fix SendToHttp HTTPS command using HTTPClientLight 2026-04-17 18:13:08 +02:00
TD-er bb775cc609 [WiFi] Add OTA update for ESP-Hosted-MCU on ESP32-P4 2026-04-16 23:45:01 +02:00
TD-er 9c3aca6e09 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_AP_setup 2026-04-16 13:50:49 +02:00
TD-er 7399791f39 [WiFi] Fix crash on saving WiFi settings with active network connections 2026-04-16 13:50:01 +02:00
Ton Huisman 918f5d7f78 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/P180-buscmd-helper-support-for-data-from-variables 2026-04-15 23:02:48 +02:00
TD-erandGitHub d479098b06 Merge pull request #5528 from tonhuisman/feature/Build-use-pioarduino-on-github-builds-too
[Build] Use pioarduino also on Github builds
2026-04-15 21:55:58 +02:00
Ton Huisman 7ee1008701 [Build] Rename library.json for HeatpumpIR to avoid constant re-installs of (outdated version) IRremoteESP8266 2026-04-15 21:38:33 +02:00
TD-er 705fcf7e11 [WiFi] Fix captive portal and initial setup for ESP32-S2 2026-04-15 16:01:52 +02:00
TD-er 355ee80601 [WiFi] Fix uncrustify messing up wifiChannels table 2026-04-15 10:41:41 +02:00
TD-er 66c370415b [Build] Fix missing include for ESP32 builds 2026-04-15 01:07:17 +02:00
TD-er 68e75fef66 [WiFi] Fix initial WiFi setup via soft-AP 2026-04-15 00:46:11 +02:00
Ton Huisman 1cc727bd4c [Build][GH] Bump github-scripts plugin from v8 to v9 2026-04-14 22:39:25 +02:00
Ton Huisman f045c5f0b3 [Build] Use pioarduino also on Github builds 2026-04-14 22:38:16 +02:00
Ton Huisman 494dfea03b Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/P180-buscmd-helper-support-for-data-from-variables 2026-04-13 22:35:31 +02:00
TD-erandGitHub b648255dab Merge pull request #5525 from tonhuisman/bugfix/I2C-connection-check-fix-disable-plugin
[Bugfix] [I2C] Connection-check failure didn't correctly disable the plugin
2026-04-13 12:21:21 +02:00
TD-erandGitHub d914aa166a Merge pull request #5337 from chromoxdor/httpResponseParser
Update for the HTTP Response Parser
2026-04-13 12:18:04 +02:00
Ton Huisman c0fb837c32 [P180] [BusCmd] Allow rules variables in get/read and put/write (bus) commands 2026-04-12 22:42:05 +02:00
Ton Huisman 9c9d636aaf [Bugfix] [I2C] Connection-check failure didn't correctly disable the plugin 2026-04-12 22:24:24 +02:00
Ton Huisman 9e28460778 [Docs] Expand description for creating a Custom build, small typo fixes 2026-04-10 22:45:47 +02:00
chromoxdorandGitHub 366f9bdd47 Merge branch 'letscontrolit:mega' into httpResponseParser 2026-04-10 19:33:54 +02:00
Ton Huisman 14b0526ccc [Docs] Expand description for creating a Custom build 2026-04-09 23:42:48 +02:00
Ton Huisman 1d218ab9b5 [Docs] Corrections for some recent changes 2026-04-08 22:10:15 +02:00
Ton Huisman 8e1659cfbd [Network] Fix missing reload-indicator for Network Driver selector 2026-04-06 22:19:21 +02:00
Ton Huisman 4b26b7aa63 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Doc-updates-q2-2026 2026-04-06 21:37:57 +02:00
Ton Huisman 98d28ab438 [Advanced] Remove I2C ClockStretchLimit note 2026-04-06 21:36:32 +02:00
TD-erandGitHub 8762af9ca9 Merge pull request #5515 from TD-er/bugfix/ESP8266_mDNS
[mDNS] Fix mDNS on ESP8266
2026-04-06 21:35:52 +02:00
TD-er 72c1676448 [mDNS] Disable mDNS in builds as it is considered unstable 2026-04-06 21:34:50 +02:00
TD-er 4d9b08b4a4 [Cleanup] Comment unused NWPluigin functions 2026-04-06 21:34:11 +02:00
TD-er 2487f8c5f6 [Network] Cleanup code + show connection info on ESP8266 adapter page 2026-04-06 16:40:00 +02:00
TD-er 8b52d2eb63 [Cleanup] Fix failing builds due to different virtual function sigs 2026-04-06 01:00:08 +02:00
TD-er dc14760360 [Cleanup] Add 'override' to virtual functions libs changed for ESPEasy 2026-04-05 23:57:53 +02:00
TD-er 5fee00f27b [Cleanup] Add 'override' to virtual controller queue functions 2026-04-05 23:56:02 +02:00
TD-er 5ab36e47ca [ESP8266] Define more bus specifics for ESP8266 in esp8266_soc_caps.h 2026-04-05 20:08:37 +02:00
TD-er fcd36b7312 [ESP8266] Simplify device info functions on ESP8266 2026-04-05 18:02:01 +02:00
TD-er 25638c79bd [Build] Reduce size of custom ESP8266 build 2026-04-05 16:04:59 +02:00
TD-er 1ee5327373 [WiFi] Fix odd WiFi behavior on ESP8266 2026-04-05 15:44:37 +02:00
TD-er 81d24c36ef [Build] Fix failing build collection_C_ESP32_IRExt_4M316k 2026-04-05 03:23:00 +02:00
TD-er 65cc58d098 [Cleanup] Reduce number of includes 2026-04-05 02:54:39 +02:00
TD-er 0ca8723a2e [Build] Fix hard_SONOFF_POW_4M1M build 2026-04-05 00:27:47 +02:00
TD-er 371d7c6dd2 [Network] Reduce number of includes in WiFi/Network code 2026-04-04 23:50:22 +02:00
TD-er 7916c3952e [Network] Fix failing custom_beta_2ndheap_ESP8266_4M1M 2026-04-04 02:18:13 +02:00
TD-er c8d964fd08 [Network] Reduce includes in network code 2026-04-04 01:59:35 +02:00
TD-er 94f92c9e21 [mDNS] Add flag to toggle mDNS 2026-04-04 01:34:38 +02:00
chromoxdorandGitHub 59bf4a563b Merge branch 'letscontrolit:mega' into httpResponseParser 2026-04-01 12:31:21 +02:00
Ton Huisman 20bcbeb83a [Build] Add P047 (Moisture sensors) to Climate B, as mentioned in the docs 2026-03-30 20:42:44 +02:00
TD-er 30f16c7651 [Docs] Fix rendering supported CPUs table 2026-03-30 08:34:08 +02:00
TD-er c3295f0d17 [Docs] Fix frequency of ESP32-S31 + ESPEasy supported since 2026-03-29 22:36:39 +02:00
TD-er 4e66890015 [Docs] Update links to datasheets + TR of supported ESP chips 2026-03-29 22:22:24 +02:00
TD-er 4675c3ec47 [mDNS] Update ESP32 mDNS lib + improve handling fallback AP on ESP8266 2026-03-28 00:54:30 +01:00
Ton Huisman 1d912fa6b2 [Build] - Ignore clangd configuration file 2026-03-27 22:53:34 +01:00
Ton Huisman 739d768e8e [Docs] Update documentation 2026-03-27 22:51:26 +01:00
TD-er 4e829a585a [mDNS] Add mDNS for ESP32 builds 2026-03-27 12:15:45 +01:00
TD-er be63c9db5b [Network] Fix starting fallback interfaces if all are fallback on ESP32 2026-03-27 12:14:57 +01:00
TD-er 4ced545e8f [P169] AS3935 Lightning Detector was missing from Climate B builds 2026-03-27 12:13:44 +01:00
TD-er b7bc84fe29 [WiFi-AP] Extend WiFiAPmode command to toggle WiFi-AP without disable it 2026-03-27 12:12:34 +01:00
TD-er 32161da283 [SPI] Fix potential uninitialized spi gpio pins 2026-03-26 20:08:33 +01:00
TD-er 4aecf23f04 [Web UI] Fix selected disabled item not getting saved 2026-03-26 19:57:15 +01:00
TD-er 2a84c1e226 [Build] Fix build missing #if FEATURE_SD 2026-03-26 19:56:33 +01:00
TD-er 614f166a29 [SPI] Simplify SPI code + fix SPI bus selection 2026-03-26 17:15:15 +01:00
TD-er 81d0c2b0f9 [SPI] Fix build on ESP32C3 2026-03-26 01:22:24 +01:00
TD-er fd8729283b [ESP-IDF] Revert to IDF 5.5.3 2026-03-26 00:37:13 +01:00
TD-er ec19a44c30 [SPI Eth] Fix SPI Ethernet using correct SPI bus 2026-03-26 00:36:51 +01:00
TD-er ba6b54275f [mDNS] Properly destruct MDNS objects when updating 2026-03-24 22:42:36 +01:00
TD-er 2f7c033bcc [ESP-IDF6.0] Add support for latest IDF6.0 2026-03-24 22:41:03 +01:00
TD-er c0ccc8f4f6 [Build] Add missing changes for disable colorize logs 2026-03-24 16:09:47 +01:00
TD-er 6852a7e351 [GPIO] Fix GPIO re-assign on ESP32 previously used by serial 2026-03-24 16:09:04 +01:00
TD-er a659062fdf [Git] Add sdkconfig.* to .gitignore 2026-03-24 16:07:38 +01:00
TD-er 2cc2c8baac [Console] Fix sluggish reply on console input + allow disable color logs 2026-03-24 16:05:55 +01:00
TD-er 7b1d6f57cd [Serial Console] Fix showing console output in VScode 2026-03-24 10:52:56 +01:00
TD-er c6300681c8 [ESPEasyP2P] Add ESP32-S31 as node ID to be recognized as ESP type 2026-03-24 10:16:10 +01:00
TD-er f69a4a7710 [mDNS] Fix mDNS on ESP8266 2026-03-19 00:49:05 +01:00
TD-erandGitHub 2633befe8f Merge pull request #5503 from chromoxdor/fix-pwm-flickering-led
[PWM] Fix led flickering
2026-03-18 22:08:31 +01:00
chromoxdorandGitHub cf95367a7d Merge branch 'mega' into httpResponseParser 2026-03-18 21:37:15 +01:00
chromoxdorandGitHub 6701e7d0a2 Merge branch 'mega' into fix-pwm-flickering-led 2026-03-18 21:36:49 +01:00
TD-erandGitHub ed8bc322ca Merge pull request #5498 from tonhuisman/feature/Menu-interfaces-split-into-tabs
[Feature] Split Interfaces page into separate tab per interface
2026-03-17 23:48:59 +01:00
Ton Huisman 715609b947 [UI] Disable the Interfaces/Modbus subtab for now, as it's still TODO 2026-03-17 22:58:15 +01:00
Ton Huisman faa37ad218 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Menu-interfaces-split-into-tabs 2026-03-17 22:51:26 +01:00
TD-erandGitHub 634fc88706 Merge pull request #5512 from tonhuisman/feature/Docs-separate-esp32-and-esp8266-status
[Docs] Separate ESP32 and ESP8266 status
2026-03-17 21:28:26 +01:00
TD-erandGitHub 3d62a1c9df Merge pull request #5504 from tonhuisman/feature/P104-improve-cyrillic-font
[P104] Improved Cyrillic font
2026-03-17 21:27:42 +01:00
Ton Huisman f5e47e573f Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Menu-interfaces-split-into-tabs 2026-03-17 21:23:55 +01:00
Ton Huisman 7ae1cbcdcb Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Docs-separate-esp32-and-esp8266-status 2026-03-17 21:16:43 +01:00
TD-erandGitHub 7e789fbb46 Merge pull request #5514 from TD-er/build/fix_mdns_builds
[Build] Fix mDNS builds + failing FEATURE_MQTT_TLS=0 & HTTP_TLS=1
2026-03-17 14:20:45 +01:00
TD-er 830be57f38 [ESP32-P4] Fix failing ESP32-P4 build due to upstream ESP-IDF changes 2026-03-17 14:20:13 +01:00
TD-er cc620b15b0 [Build] Fix mDNS builds + failing FEATURE_MQTT_TLS=0 & HTTP_TLS=1 2026-03-17 14:04:38 +01:00
TD-er 40a45941d8 Merge remote-tracking branch 'origin/mega' into mega 2026-03-17 13:11:44 +01:00
TD-erandGitHub 5921ea6ed1 Merge pull request #5495 from TD-er/feature/select_network_fallback_order
[Network] Add 'Fallback Network Interface' concept.
2026-03-17 12:22:57 +01:00
TD-er 55fab770bd [Build] Reduce build size by tweaking compile flags 2026-03-17 12:21:02 +01:00
Ton Huisman a8957ec91a [Docs] Small updates for supported chips 2026-03-15 23:14:50 +01:00
Ton Huisman 3536f83f38 [Docs] Small updates for supported chips 2026-03-15 23:10:26 +01:00
Ton HuismanandGitHub 74da48fdfc Merge branch 'mega' into feature/P104-improve-cyrillic-font 2026-03-15 16:46:23 +01:00
Ton Huisman f7af19d37f [Docs] Small update on excluded plugins 2026-03-14 22:14:32 +01:00
Ton Huisman 71fa3a0500 [Docs] Separate status for ESP32 and ESP8266 on each page 2026-03-12 23:32:55 +01:00
Ton Huisman 667019f19b [Docs] Separate ESP32 and ESP8266 status 2026-03-12 23:09:42 +01:00
Ton Huisman 2edbf8491f [UI] Compatibility css fix by @chromoxdor 2026-03-11 21:47:31 +01:00
Ton Huisman 8b2eb309ab [UI] Fine-tune css fixes by @chromoxdor 2026-03-10 22:18:58 +01:00
Ton Huisman 26aa8c78b5 [UI] Fine-tune css for nicer menu sub-tabs (Interfaces) 2026-03-09 22:21:26 +01:00
Ton Huisman c150b4bf37 [UI] Revert: Fine-tune css for nicer menu tabs in dark mode 2026-03-05 23:23:01 +01:00
Ton Huisman b5b9d570f1 [UI] Fine-tune css for nicer menu tabs in dark mode 2026-03-04 22:19:00 +01:00
Ton Huisman 2e7c386c43 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Menu-interfaces-split-into-tabs 2026-03-03 23:22:11 +01:00
chromoxdor 4cb0c6fb95 [PWM] reduce function 2026-03-03 15:03:27 +01:00
chromoxdorandGitHub 79c371de40 Merge branch 'mega' into fix-pwm-flickering-led 2026-03-03 11:07:19 +01:00
chromoxdor f441e95080 [PWM] using ledcRead() 2026-03-03 10:25:58 +01:00
TD-erandGitHub 2d9485cf2d Merge pull request #5505 from letscontrolit/dependabot/github_actions/actions/download-artifact-8
Bump actions/download-artifact from 7 to 8
2026-03-02 23:25:33 +01:00
TD-erandGitHub 56f17e758a Merge pull request #5506 from letscontrolit/dependabot/github_actions/actions/upload-artifact-7
Bump actions/upload-artifact from 6 to 7
2026-03-02 23:25:07 +01:00
TD-erandGitHub 1d5641d77a Merge pull request #5507 from tonhuisman/bugfix/Build-fix-minimal-ota-INA2xx-exclude
[Build] Fix failing build for minimal_core_274_ESP8266_1M_OTA_FHEM_HA
2026-03-02 23:24:37 +01:00
TD-erandTon Huisman 2627f4a6a9 [Build] Fix failing build for minimal_core_274_ESP8266_1M_OTA_FHEM_HA 2026-03-02 23:20:28 +01:00
TD-er ace784ecbb [Build] Fix failing build for minimal_core_274_ESP8266_1M_OTA_FHEM_HA 2026-03-02 23:13:41 +01:00
TD-er d67739ce94 Merge remote-tracking branch 'letscontrolit/mega' into feature/select_network_fallback_order 2026-03-02 22:50:08 +01:00
TD-erandGitHub 586ab10b9a Merge pull request #5462 from tonhuisman/feature/P132-add-support-for-other-INA-chips
[P132] Additional support for INA226, INA228, INA230, INA231 and INA260
2026-03-02 22:49:02 +01:00
Ton Huisman 81d2c027cf Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/P132-add-support-for-other-INA-chips 2026-03-02 21:04:32 +01:00
chromoxdor c9b16d9d6f Update Hardware_PWM.cpp 2026-03-02 19:57:21 +01:00
chromoxdor ff99b728f7 [PWM] multipin state tracking 2026-03-02 19:51:22 +01:00
dependabot[bot]andGitHub 75066da267 Bump actions/upload-artifact from 6 to 7
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 15:18:12 +00:00
dependabot[bot]andGitHub c421a09e4a Bump actions/download-artifact from 7 to 8
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 7 to 8.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 15:18:07 +00:00
Ton Huisman 6d3269718f [UI] Improved css to have a pointer cursor and some spacing around the Details... label 2026-03-01 22:38:56 +01:00
chromoxdor 1b1f4b213a [PWM] add ledcReadFreq(pin) for comparison 2026-03-01 20:34:54 +01:00
Ton Huisman d8d3751f84 [P104] Improved Ë and ë in the Cyrillic set to align with the other Cyrillic characters, and updated screenshot 2026-03-01 20:20:41 +01:00
Ton Huisman 6ccd4e94e2 [P104] Update Cyrillic font doc screenshot 2026-03-01 14:25:39 +01:00
Ton Huisman 4c32244bc5 [UI] Improved css when used on small screens, more updates 2026-02-28 23:58:38 +01:00
Ton Huisman 166107690e [UI] Improved css when used on small screens, more updates 2026-02-28 23:50:46 +01:00
Ton Huisman 422234be31 [UI] Improved css when used on small screens 2026-02-28 23:42:01 +01:00
Ton Huisman da1f924269 [P104] Improved Cyrillic font 2026-02-28 22:37:51 +01:00
Ton Huisman 06f1f7e682 [Docs] A few textual updates 2026-02-27 22:41:17 +01:00
TD-er ccb5a991e4 [ESP-IDF] Switch to latest ESP-IDF / Arduino SDK & GCC 15.2 2026-02-27 17:45:29 +01:00
chromoxdor 0d7f35d7e0 Update Hardware_PWM.cpp 2026-02-27 14:53:16 +01:00
chromoxdor 652ee8f985 [PWM] undoing 16-bit changes 2026-02-27 13:58:15 +01:00
chromoxdor e725092984 [PWM] Fix led flickering 2026-02-27 13:51:26 +01:00
Ton Huisman 47acc9fb23 [Docs] Move Interfaces and Network docs to more appropriate locations 2026-02-26 22:48:54 +01:00
Ton Huisman 9564b72636 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Menu-interfaces-split-into-tabs 2026-02-26 22:46:12 +01:00
TD-er fea85bc01f Merge remote-tracking branch 'letscontrolit/mega' into feature/select_network_fallback_order 2026-02-26 11:17:15 +01:00
TD-erandGitHub f7d0c83104 Merge pull request #5500 from TD-er/bugfix/tm1637
[TM1637] Fix timing issues for ESP32-builds for P073 TM1637
2026-02-26 11:16:34 +01:00
TD-er 6ae9ac20ab [TM1637] Fix proper timings for start/end sequence 2026-02-26 11:15:42 +01:00
TD-er 64473b0425 [TM1637] Change GPIO toggling to toggle input/output + enable pull-up 2026-02-26 11:15:33 +01:00
TD-er 7a580ee1ea [TM1637] Change init procedure not calling directGPIO at init 2026-02-26 11:15:21 +01:00
TD-er 85b0e7e956 [TM1637] Fix proper timings for start/end sequence 2026-02-26 11:14:45 +01:00
TD-er 191ce382f3 [TM1637] Change GPIO toggling to toggle input/output + enable pull-up 2026-02-24 22:02:18 +01:00
TD-er 5852c01277 [TM1637] Change init procedure not calling directGPIO at init 2026-02-24 17:56:20 +01:00
TD-er 57e773d75e [TM1637] Pull DIO pin low before switching to input for ACK 2026-02-24 15:34:10 +01:00
TD-er 4798aa99d6 [TM1637] Pull DIO pin low before switching to input for ACK 2026-02-24 15:33:40 +01:00
TD-er ea808a3687 [TM1637] Make clock timing more constant + fix end of transmission mark 2026-02-24 14:45:05 +01:00
TD-er 239d068911 [TM1637] Make clock timing more constant + fix end of transmission mark 2026-02-24 14:44:42 +01:00
TD-er ccadfa4585 [TM1637] Fine tune signal timing 2026-02-24 02:03:39 +01:00
TD-er ed955b2741 [TM1637] Fine tune signal timing 2026-02-24 01:23:49 +01:00
TD-er c70b1e8fb8 [WiFi] Set ESP8266 hostname each time before starting WiFi.begin() 2026-02-24 01:23:22 +01:00
Ton Huisman 954fd0bd3d Merge branch 'feature/Menu-interfaces-split-into-tabs' of https://github.com/tonhuisman/ESPEasy-1 into feature/Menu-interfaces-split-into-tabs 2026-02-23 21:30:25 +01:00
Ton HuismanandGitHub f8cdddb7a5 Merge branch 'mega' into feature/Menu-interfaces-split-into-tabs 2026-02-23 21:30:12 +01:00
Ton Huisman c91f771a33 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Menu-interfaces-split-into-tabs 2026-02-23 21:29:23 +01:00
TD-er 24ff65fd8f [WiFi] Fix build on ESP8266 SDK 2.7.4 2026-02-23 19:24:28 +01:00
TD-erandGitHub 9976fb64b1 Merge branch 'mega' into feature/select_network_fallback_order 2026-02-23 19:10:07 +01:00
TD-erandGitHub 47c9e8799c Merge pull request #5497 from TD-er/bugfix/usb_cdc_jtag_disconnect
[USB-CDC] Fix USB disconnect on reboot for USB-JTAG/CDC boards
2026-02-23 19:09:27 +01:00
TD-er 416edc7da0 [WiFi] Fix setting hostname before starting WiFi on ESP8266 2026-02-23 19:08:07 +01:00
TD-erandGitHub 7246fb93d2 Merge pull request #5501 from TD-er/bugfix/fix_failed_esp8266_custom
[ESP8266 build] Fix failing custom ESP8266 build using Custom.h
2026-02-23 14:33:30 +01:00
TD-er 05cfb52ee1 [ESP8266 build] Fix failing custom ESP8266 build using Custom.h 2026-02-23 14:31:53 +01:00
TD-er 9b97acc3e0 [ESP8266 build] Fix failing custom ESP8266 build using Custom.h 2026-02-23 14:31:12 +01:00
TD-er 8e2160a189 [Direct GPIO] Add missing function decl. for ESP8266 2026-02-22 23:20:36 +01:00
TD-er 8e4f671a2c [Direct GPIO] Add missing function decl. for ESP8266 2026-02-22 23:20:21 +01:00
TD-er 30fac66c39 [TM1637] Fix timing issues for ESP32-builds for P073 TM1637 2026-02-22 23:11:04 +01:00
TD-er 9572eda045 [TM1637] Fix timing issues for ESP32-builds for P073 TM1637 2026-02-22 23:10:16 +01:00
Ton Huisman 503cca6ea8 [UI] Add support for collapsible sections on web pages 2026-02-22 22:37:19 +01:00
Ton Huisman ac63d46fd6 [UI] Fix minor display issue 2026-02-22 22:37:01 +01:00
Ton Huisman 45fee0259a [Build] Fix compiler warnings 2026-02-22 22:36:30 +01:00
Ton Huisman 89c7ba1f8c [Interfaces] Add collapsible sections for I2C and SPI configuration 2026-02-22 22:35:59 +01:00
Ton Huisman a33cfa7bcf [UI] Add support for collapsible sections on web pages 2026-02-22 22:35:12 +01:00
Ton Huisman 0156400ed4 [Build] Remove unneeded ifdef check 2026-02-21 22:17:47 +01:00
Ton Huisman 6a609c0ea4 [Feature] Split Interfaces page into separate tab per interface 2026-02-21 22:00:39 +01:00
TD-er a5f3b99496 [USB-CDC] Fix USB disconnect on reboot for USB-JTAG/CDC boards 2026-02-20 13:00:11 +01:00
TD-er c54564f6a8 [USB-CDC] Fix USB disconnect on reboot for USB-JTAG/CDC boards 2026-02-20 12:59:19 +01:00
TD-er 8acd778259 [WiFi] Make WiFi AP act as fallback device when set as such. 2026-02-20 11:24:14 +01:00
TD-er f8211bf97c Merge remote-tracking branch 'letscontrolit/mega' into feature/select_network_fallback_order 2026-02-17 21:49:10 +01:00
TD-er 06424d0300 [Network] Start documenting Fallback Network Interface 2026-02-17 19:28:57 +01:00
TD-er 8d0aaaee02 [Network] Fix failing build on ESP8266 2026-02-17 19:28:27 +01:00
TD-er 1e5e2cf1ee [Network] Add 'Fallback Network Interface' concept. 2026-02-17 16:45:39 +01:00
TD-erandGitHub f1e935ec8a Merge pull request #5479 from tonhuisman/feature/Cleanup-and-provisioning-fallback-cmds
[Cleanup] Remove Provisioningxxx fall-back commands and other fixes
2026-02-16 21:46:15 +01:00
Ton Huisman 80af69ed7a [Docs] Fix typo 2026-02-16 21:42:29 +01:00
Ton Huisman 8b335014ca [Build] Disable unneeded 'page will reload' messages 2026-02-14 21:57:35 +01:00
Ton Huisman 90f45e032b [Docs] Fix error in internal commands list so it is visible again 2026-02-14 21:09:26 +01:00
Ton Huisman 9d86ffb085 [Docs] Use pioarduino plugin instead of PlatformIO for VSCode 2026-02-14 21:06:08 +01:00
Ton Huisman a98cff619d [P180] Set Cache-name field by default when empty for better performance, docs updated 2026-02-14 16:57:54 +01:00
Ton Huisman 16f2b899a1 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Cleanup-and-provisioning-fallback-cmds 2026-02-14 16:25:36 +01:00
TD-er e05f430953 Merge remote-tracking branch 'origin/mega' into mega 2026-02-14 16:17:39 +01:00
TD-erandGitHub 34a10f7f28 Merge pull request #5492 from TD-er/build/reduce_binsize_disable_spi_i2c
[Build] Try to reduce build size for ESP8266 minimal, disable I2C/SPI
2026-02-14 16:16:49 +01:00
Ton Huisman b309808a9c Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/Cleanup-and-provisioning-fallback-cmds 2026-02-14 15:05:57 +01:00
TD-erandGitHub a38862256c Update generate_web_flasher_manifest.py fix showing C6 in list
When both ESP32-C6 & ESP32-C61 build was found, only C61 was listed, not C6
2026-02-14 01:02:48 +01:00
TD-er 7de6648593 Merge remote-tracking branch 'origin/mega' into mega 2026-02-12 21:59:04 +01:00
TD-erandGitHub 7d5ada74e0 Merge pull request #5493 from chromoxdor/filter-weblog-fix
[LOG ]Filter weblog fix
2026-02-12 19:27:06 +01:00
chromoxdor d56bb776fd Delete fetch_and_parse_log.min.js 2026-02-12 18:25:27 +01:00
chromoxdor 480ba5f142 [LOG] Fix for the minified JS 2026-02-12 18:23:17 +01:00
TD-er f034922af4 [Build] Fix failing build safeboot_ESP32c2_4M_LittleFS 2026-02-12 14:54:33 +01:00
TD-er 8d3840fc1f [Build] Fix failing minimal_IRext_ESP8266_4M1M 2026-02-12 13:38:53 +01:00
TD-er 5da63d74b1 [Build] Fix failing neopixel_ESP8266_1M_Domoticz build 2026-02-12 13:23:12 +01:00
TD-er 7e880b8629 Merge remote-tracking branch 'letscontrolit/mega' into build/reduce_binsize_disable_spi_i2c 2026-02-12 12:36:05 +01:00
TD-er ba41ec3d0e [Build] Try to reduce build size for ESP8266 minimal, disable I2C/SPI 2026-02-12 12:35:42 +01:00
TD-erandGitHub f17f3643d8 Merge pull request #5484 from chromoxdor/filter-weblog
[LOG] Adding a filter for the weblog
2026-02-12 09:40:31 +01:00
TD-er c5efea21c5 Merge remote-tracking branch 'origin/mega' into mega 2026-02-11 21:38:35 +01:00
TD-erandGitHub 97fa64f8d5 Merge pull request #5477 from TD-er/bugfix/ESP32S2_USB_console
[Serial Console] Fix outputting data to USBCDC port for ESP32S2
2026-02-11 21:33:56 +01:00
TD-er 59c3953c97 [Web UI] Change icon for Interfaces 2026-02-11 21:33:04 +01:00
TD-er 7ba7226fd0 [ESP-IDF] Update to latest ESP-IDF/Arduino SDK 2026-02-11 17:22:56 +01:00
TD-er 3a1515ad21 [WebUI] Add some icon to Interfaces tab + minor tweaks 2026-02-11 17:17:12 +01:00
TD-er 6d070595dc [Interfaces] Split SPI and I2C config into new Interfaces page 2026-02-11 16:13:28 +01:00
TD-er cc4e8e9547 [SPI] Fix returning 'other' SPI bus for user defined SPI 2026-02-11 13:39:43 +01:00
Ton HuismanandGitHub fe2bb63b8e Merge branch 'mega' into feature/Cleanup-and-provisioning-fallback-cmds 2026-02-10 23:19:56 +01:00
TD-er 4f524612c4 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/ESP32S2_USB_console 2026-02-10 15:18:02 +01:00
TD-erandGitHub 4d2d04bd09 Merge pull request #5488 from tonhuisman/feature/Feb-2026-improvements-and-fixes
[Fixes] Various fixes and improvements Feb 2026
2026-02-10 15:16:50 +01:00
TD-erandGitHub a3f4617c5e Merge branch 'mega' into feature/Feb-2026-improvements-and-fixes 2026-02-10 15:16:25 +01:00
TD-er 80d4d2512c Merge remote-tracking branch 'letscontrolit/mega' into bugfix/ESP32S2_USB_console 2026-02-10 15:04:35 +01:00
TD-erandGitHub 2d4ac415f8 Merge pull request #5377 from tonhuisman/feature/SPI-add-support-for-multiple-buses
[SPI] Add support for multiple SPI buses
2026-02-10 14:55:18 +01:00
Ton Huisman ee123aeab7 [SPI] Add support (check) for ESP32-C61 in getSPIBusCount() 2026-02-10 13:05:19 +01:00
TD-erandGitHub 90088a1bf0 Merge branch 'mega' into feature/SPI-add-support-for-multiple-buses 2026-02-10 10:05:47 +01:00
Ton Huisman ff80cee2f6 [P104] Updated Cyrillic ext. font with a more visually pleasing character set 2026-02-09 23:25:46 +01:00
TD-er 45927223de [Build] Set BUILD_NO_DEBUG for Climate-A builds to make them fit again 2026-02-09 15:48:16 +01:00
TD-er 3050243748 [Build] Fix non-ESP32P4 builds with latest ESP-IDF/Arduino 2026-02-09 13:58:35 +01:00
TD-er 42443c368c [ESP-IDF] Update to latest IDF/Arduino code to test if P4 builds work 2026-02-09 13:30:30 +01:00
TD-er d5b57218e7 [Sysinfo] Show free space on file system 2026-02-09 10:18:35 +01:00
chromoxdor 2c7ce5e4f3 [JS] update WebStaticData.h 2026-02-05 10:25:10 +01:00
Ton Huisman 3344fc3c9c [P104] Updated Cyrillic ext. font with more elaborate character set 2026-02-04 23:06:34 +01:00
Ton Huisman 3304b268fc [P104] Updated documentation for Cyrillic font 2026-02-04 16:02:54 +01:00
Ton Huisman b17769acae [P104] Add font with Cyrillic characters in high-ASCII area 2026-02-04 15:50:44 +01:00
chromoxdor 7f14ce8d58 [LOG+DevicePage_JS] refining the device page JS
...while I am at it :)
2026-02-04 12:08:41 +01:00
chromoxdor 730c966c91 Merge branch 'filter-weblog' of https://github.com/chromoxdor/ESPEasy into filter-weblog 2026-02-03 10:49:18 +01:00
chromoxdor f05bd0797f [LOG] Removed unnecessary code. 2026-02-03 10:49:05 +01:00
chromoxdorandGitHub 55a6d25cee Merge branch 'mega' into filter-weblog 2026-02-03 10:44:42 +01:00
chromoxdor 66f6a598f4 [LOG] autoscroll fix, code reduction
- Fixes a long-existing autoscroll issue where the whole site would scroll instead of just the log content.
- reducing the code by simplifying the „browser check" and refining the loop
2026-02-03 10:43:40 +01:00
Ton Huisman e91f7f98e2 [Docs] Fix warnings and doc-build errors, remove deprecated plugin from conf.py 2026-02-01 23:17:06 +01:00
Ton Huisman 348c745a64 [P132] Fix MQTT Discovery for Power setting 2026-01-31 21:57:24 +01:00
Ton Huisman 4760c903e7 [CI] Fix github yaml syntax issues 2026-01-31 21:54:03 +01:00
Ton Huisman 719c41e291 [Fixes] Various fixes and improvements Feb 2026 2026-01-31 21:06:16 +01:00
TD-er 9ffe8b6196 Revert "[ESP-IDF] Update to latest 1901-1318-5.5 platform build"
This reverts commit 5592b1f3c1.
2026-01-29 06:19:03 +01:00
TD-er f40b9151dc [Build] Fix compile issues 2026-01-29 06:18:41 +01:00
TD-er 5592b1f3c1 [ESP-IDF] Update to latest 1901-1318-5.5 platform build 2026-01-28 21:28:06 +01:00
TD-er 1a343c6458 Merge remote-tracking branch 'chromoxdor/mega' into bugfix/ESP32S2_USB_console 2026-01-28 21:25:45 +01:00
TD-erandGitHub a67a3d03f7 Merge pull request #5487 from tonhuisman/bugfix/Build-compilation-of-tls-custom_h-esp32
[Build] Fix compilation with Custom.h and TLS on ESP32
2026-01-26 23:26:40 +01:00
Ton Huisman 5f338ae6e3 [Build] Fix compilation with Custom.h and TLS on ESP32 2026-01-26 22:57:34 +01:00
TD-er 62c45a782e Merge remote-tracking branch 'letscontrolit/mega' into bugfix/ESP32S2_USB_console 2026-01-26 14:42:39 +01:00
TD-erandGitHub c94d1addd0 Merge pull request #5486 from TD-er/build/Fix_custom_build
[Build] Fix failing custom build (#5485)
2026-01-26 14:41:29 +01:00
TD-er 3a0325a865 [Build] Fix failing custom build (#5485)
Fixes: #5485
2026-01-26 14:40:11 +01:00
TD-er 7f997e9cd0 [Build] Fix failing custom build (#5485)
Fixes: #5485
2026-01-26 14:38:34 +01:00
Ton Huisman a1c8fa2df2 [P132] Enable extended features for Energy build ESP8266 for now 2026-01-25 16:39:51 +01:00
chromoxdor 7c8a5ae68c [LOG] reverting accidents 2026-01-25 14:43:31 +01:00
chromoxdor 570155347e [LOG] add filter field for older builds
- Added a check to determine if there is already a filter field present; otherwise, add one for older builds.
2026-01-25 14:18:39 +01:00
TD-erandGitHub 51327a7e71 Update README.md 2026-01-25 01:55:17 +01:00
chromoxdor c5f06cc6ea [LOG] revert changes for plugin_sets 2026-01-24 12:49:27 +01:00
chromoxdor 6c5ce7e8f8 [LOG] refining the filter
- Added highlight filter phrases
- Added ordered AND operator (&)
- Added exclusion (!)
2026-01-24 12:33:30 +01:00
chromoxdorandGitHub a4fac0082d Merge branch 'letscontrolit:mega' into filter-weblog 2026-01-23 13:52:18 +01:00
chromoxdor e60b08539b [LOG] add filter 2026-01-23 13:51:47 +01:00
Ton Huisman 0958d88afe [P132] Only read measurement when conversion is ready 2026-01-22 21:50:41 +01:00
Ton Huisman f5e3ba29a0 [P132] Improve calculation accuracy determining shunt microVolt factor 2026-01-22 21:49:44 +01:00
Ton HuismanandGitHub dff0e8c406 [P073] Bugfix: Display stays blank after upgrade without settings-save (#5475)
* [P073] Bugfix: Display stays blank after upgrade without settings-save

* [P073] Revert to regular GPIO for TM1637 on ESP8266

* [P073] Minor code reduction (eliminate unneeded variables)
2026-01-21 14:06:31 +01:00
Ton Huisman 047b9a52d4 [Log] Restore ACT : (rules action) in logging for BUILD_NO_DEBUG builds 2026-01-19 21:03:37 +01:00
TD-er 0d09e9a7da [Domoticz] Fix Domoticz MQTT outputting svalue wrapped in quotes 2026-01-19 01:21:50 +01:00
TD-er dbc5e87f35 [TimingStats] Tweak timing stats for console output 2026-01-19 01:21:14 +01:00
Ton Huisman 9d83d6c703 [Log] Restore EVENT: (some event) in logging for BUILD_NO_DEBUG builds 2026-01-18 23:20:14 +01:00
Ton Huisman df0b90d15f [Docs] Fix some small typos 2026-01-18 23:19:18 +01:00
Ton Huisman b65c9bd26d [Cleanup] Remove Provisioningxxx fall-back commands and other fixes 2026-01-18 23:17:01 +01:00
chromoxdorandGitHub 2a49df0439 Merge branch 'mega' into httpResponseParser 2026-01-16 14:17:12 +01:00
TD-erandGitHub 65abd14751 Merge pull request #5405 from chromoxdor/Enable-CORS-globally-on-ESP8266
[ESP8266] Enable CORS globally
2026-01-16 08:55:57 +01:00
chromoxdor c54184fddb [ESP8266] Enable CORS globally (Update) 2026-01-15 23:51:25 +01:00
chromoxdorandGitHub 403e489c3d Merge branch 'mega' into Enable-CORS-globally-on-ESP8266 2026-01-15 20:10:06 +01:00
chromoxdorandGitHub 714fd985f7 Merge branch 'mega' into httpResponseParser 2026-01-15 20:09:09 +01:00
TD-erandGitHub 72dede5a91 Merge pull request #5406 from chromoxdor/CSS-for-two-extra-tabs
[CSS] Future CSS for Network & Interfaces tab
2026-01-15 18:44:58 +01:00
TD-er e3752b5755 [Serial Console] Fix outputting data to USBCDC port for ESP32S2
See: https://github.com/espressif/arduino-esp32/issues/12178
2026-01-14 23:00:35 +01:00
chromoxdor adee9486cd Update espeasy.min.js 2026-01-13 21:12:57 +01:00
chromoxdorandGitHub f223b2ad7b Merge branch 'mega' into httpResponseParser 2026-01-13 21:10:11 +01:00
chromoxdorandGitHub 7250122521 Merge branch 'mega' into CSS-for-two-extra-tabs 2026-01-13 20:13:31 +01:00
chromoxdorandGitHub 519fef75df Merge branch 'mega' into Enable-CORS-globally-on-ESP8266 2026-01-13 19:39:48 +01:00
TD-erandGitHub 61c3574bce Merge pull request #5473 from tonhuisman/bugfix/P135-correct-discovery-vtypes
[P135] Bugfix: Correct Discovery VTypes
2026-01-13 17:12:38 +01:00
TD-erandGitHub 982d7bab6d Merge pull request #5472 from letscontrolit/bugfix/5469_OLED_half_width
[OLED] Fix: 128×64 shows only left half in display_A builds (#5469)
2026-01-13 17:11:28 +01:00
TD-erandGitHub 71d71fbe70 Merge pull request #5474 from tonhuisman/bugfix/MQTT-import-fix-handling
[MQTT] Bugfix: Import wasn't initiated and handled correctly
2026-01-13 17:11:03 +01:00
TD-erandGitHub 556e376064 Merge pull request #5476 from chromoxdor/FIX-json-showpluginstats
[JSON] FIX json?showpluginstats
2026-01-13 17:10:33 +01:00
TD-er 7802fd6e42 Merge remote-tracking branch 'origin/mega' into mega 2026-01-13 16:51:57 +01:00
TD-erandGitHub 9e07afdf36 [Web Flasher] Fix generated web flasher manifest JSON
Since we split the Display and Climate builds into an A/B version, we also need to split those in the selection.

Also the web flasher had a problem with an empty `chipVariant` field which was added for supporting 2 versions of the ESP32-P4.
This caused all ESP32 builds to fail to start flashing.
2026-01-13 16:23:58 +01:00
chromoxdor 871972e1bd FIX json?showpluginstats
The comma was missing before the object therefore at the end where two of them....
2026-01-13 12:30:52 +01:00
Ton Huisman 367f4f9c15 [MQTT] Bugfix: Import wasn't initiated and handled correctly 2026-01-11 23:20:03 +01:00
Ton Huisman b7529e52cc [SPI] Add SPI bus selector to SPI Ethernet plugin 2026-01-11 20:55:42 +01:00
Ton Huisman 7ec7a7005c [P135] Bugfix: Correct Discovery VTypes 2026-01-11 20:19:08 +01:00
TD-erandGitHub 430c7279b9 [OLED] Fix: 128×64 shows only left half in display_A builds (#5469)
Fixes: #5469
2026-01-10 22:44:08 +01:00
Ton Huisman a9980c1d51 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/SPI-add-support-for-multiple-buses, fix conflicts 2026-01-09 15:14:41 +01:00
Ton Huisman d9cc3513fa Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/SPI-add-support-for-multiple-buses 2026-01-09 15:13:04 +01:00
TD-erandGitHub d9de06256a Merge pull request #5149 from TD-er/bugfix/WiFi_state_machine
[WiFi] Cleanup code, split ESP32/ESP8266 specific
2026-01-08 11:42:20 +01:00
TD-er 3f5510eb0f Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2026-01-08 11:39:26 +01:00
TD-er e8f3e3234d [Build] Add flags to disable webserver JSON or syslog to reduce bin size 2026-01-08 11:39:11 +01:00
Ton HuismanandGitHub 2d760c36fb Merge branch 'mega' into feature/SPI-add-support-for-multiple-buses 2026-01-08 11:17:14 +01:00
TD-er 7d24505454 automatically updated release notes for mega-20260108 2026-01-08 08:33:12 +01:00
TD-erandGitHub 598e9f9c77 Add Python version for prepare-dist in release.yml 2026-01-08 08:32:26 +01:00
TD-er 2be9b8fcaf [Build] Make syslog optional to reduce build size 2026-01-07 17:16:56 +01:00
TD-er 34bfb6d63a [Network] Fix enable/disable IPv6 per network interface 2026-01-07 11:02:17 +01:00
TD-er 4af0d8fab3 [WiFi] Fix reconnecting when connection gets interrupted 2026-01-06 15:53:56 +01:00
TD-er a9408d9f62 [Network] Enable Network Stats when plugin stats are also enabled 2026-01-06 15:53:13 +01:00
TD-er ac39184b33 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2026-01-05 23:09:55 +01:00
TD-er d78ec75057 [Bug] Fix formatToHex_wordarray 2026-01-05 23:09:17 +01:00
TD-er 00a284bd03 [C023] Remove debug log 2026-01-05 23:08:19 +01:00
TD-er a1922ddfa1 [USBCDC] Simplify code defining USBCDC(TinyUSB) vs. HWCDC 2026-01-05 23:02:36 +01:00
TD-er ea2331ddb2 [ESP-IDF] Update to latest ESP-IDF/Arduino 2026-01-05 23:00:26 +01:00
TD-er 5761e688b6 [C023] Add support for RAK3172 LoRaWAN (m5stack AtomDTU) 2026-01-05 22:59:40 +01:00
Ton Huisman 1dd51f7c21 [P132] Better selector-descriptions for shunt values 2026-01-01 21:41:51 +01:00
Ton Huisman 3ce92eebec [P132] Fix rounding for 400A shunt 2026-01-01 21:09:50 +01:00
Ton Huisman 1dcff8797c [P132] Update documentation for extended Shunt setting 2025-12-30 22:02:56 +01:00
Ton Huisman 4a96360e56 [P132] Refactor Shunt settings and add more high-current options 2025-12-30 22:01:45 +01:00
Ton Huisman bfd22329bf [P132] Update documentation for INA228 conversion rates 2025-12-29 14:14:04 +01:00
Ton Huisman 055cf03ce3 [P132] Fix defaults for INA228 2025-12-29 14:13:29 +01:00
Ton Huisman d10cb8d98a [P132] Fix conversion rate settings for INA228 2025-12-28 13:53:08 +01:00
Ton Huisman d8fb67cc55 [P132] Update documentation 2025-12-27 20:13:43 +01:00
Ton Huisman efaa786ab5 [P132] Add INA231 to plugin name 2025-12-27 17:04:20 +01:00
Ton Huisman 4cd7b3e75b [P132] Fix one more typo and clean up code 2025-12-27 15:17:19 +01:00
Ton Huisman a6cfb1bf86 [P132] Fix some more typos 2025-12-27 14:56:54 +01:00
Ton Huisman 4df25a401e [P132] Fix some typos 2025-12-26 22:43:13 +01:00
Ton Huisman 4da79371cf [P132] Additional support for INA226, INA228, INA230, INA231 and INA260 2025-12-26 21:28:53 +01:00
TD-er cefd7e3c3b [C023] Cleanup AT-command LoRaWAN 2025-12-16 17:19:57 +01:00
TD-er 0b4397786b [C023] Add initial support for RAK3172 LoRaWAN (m5stack AtomDTU) 2025-12-16 16:03:50 +01:00
TD-er d346e10624 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-12-14 22:40:59 +01:00
TD-er b117991a91 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-12-14 20:22:28 +01:00
TD-er 5b4b1308a5 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-12-13 23:18:19 +01:00
TD-er c2b7468b14 [WiFi] Add link to ESP-Hosted-MCU firmware builds 2025-12-13 23:17:56 +01:00
TD-er 2690f7c195 [C023] Cleanup LoRa AT-command controller + fix parse responses 2025-12-12 15:40:35 +01:00
TD-er 5e3628f612 [C023] Fix timeout reading from LoRa + set ClassC after joined 2025-12-11 01:50:55 +01:00
TD-er e870ed9df3 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-12-10 15:34:17 +01:00
TD-er efeee99cad [C023] Add option to trigger events via downlink messages + code cleanup 2025-12-10 15:31:57 +01:00
chromoxdor 0fb8a77935 Update HTTPResponseParser.cpp 2025-12-06 19:58:08 +01:00
chromoxdorandGitHub 68592f88c5 Merge branch 'mega' into httpResponseParser 2025-12-06 18:48:26 +01:00
chromoxdor 4de6a93f63 update colorcode files 2025-12-06 18:44:40 +01:00
chromoxdor 0fd7542fff Update HTTPResponseParser.cpp 2025-12-06 18:21:30 +01:00
chromoxdor 8aabe53504 Update HTTPResponseParser.cpp 2025-12-06 16:05:31 +01:00
Ton HuismanandGitHub 9805062fa4 Merge branch 'mega' into feature/SPI-add-support-for-multiple-buses 2025-12-06 15:35:39 +01:00
TD-er d440c58427 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-12-05 12:46:19 +01:00
TD-er 51b18bae69 [C023] Add querying LA66 + receive downlink messages 2025-12-05 12:45:13 +01:00
TD-er 7b980d56b7 [C023] Add initial support for Dragino LA66 LoRaWAN module 2025-12-05 01:12:13 +01:00
TD-er f0fed85f5a [C023] Remove links to RN2483 code 2025-12-04 13:42:13 +01:00
TD-er a7ea56dee6 [C023] Clone C018 code to C023 2025-12-04 09:32:55 +01:00
TD-er a2d5f12dbb [P180] BusCmd_Helper processing I2C commands via cmd subcommand was locked out 2025-12-02 23:52:58 +01:00
TD-er 7c9298c9d5 [Build] Fix failing ESP8266 builds 2025-12-01 16:31:35 +01:00
TD-er e9f0e54b5b [WiFi] Simplify WiFi AP fallback scenarios 2025-12-01 16:15:06 +01:00
TD-er b16154bafb [WebUI] Simplify adding HTML form fields 2025-11-30 13:35:15 +01:00
TD-er b01a6dccf2 [Build] Fix solo1 builds due to wrongly set LTO flags 2025-11-30 02:34:40 +01:00
TD-er a47f2c011a [Build] Fix failed minimal ESP8266 build 2025-11-30 02:12:52 +01:00
TD-er ebb9da3288 [WiFi] Cleanup WiFi/AP settings + simplify when to start AP mode 2025-11-30 01:46:29 +01:00
TD-er 7d49ef9dfa Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-11-27 10:45:13 +01:00
TD-er 47c2d30dd0 [Cleanup] Mark unused members in SettingsStruct 2025-11-27 09:28:59 +01:00
TD-er d25e41e52b [Hardware Info] Show differences between ESP32-C6H4 and ESP32-C6H8 2025-11-27 09:28:22 +01:00
TD-er 31affa1e6b [webflasher] Add 'chipVariant' to distinguish ESP32-P4 variants 2025-11-27 09:27:15 +01:00
Ton Huisman 1a8e097443 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/SPI-add-support-for-multiple-buses 2025-11-26 21:22:56 +01:00
TD-er 809838150a [Network] Fix processing network events on disconnect + simplify check 2025-11-21 12:54:16 +01:00
TD-er bec0c2f742 [WiFi] Fix check for available credentials only in device specific file 2025-11-21 12:53:23 +01:00
TD-er 94090570f1 [ColorCode] Add NetworkEnable/Disable commands to ColorCode JavaScript 2025-11-21 12:51:56 +01:00
TD-er db679eb9de [ESP32-P4/-C61] Update Arduino/IDF to support ESP32-C61 & ESP32-P4 preV3 2025-11-21 12:51:04 +01:00
Ton Huisman e05148a4b8 [Build] Fix missing FEATURE_SD check 2025-11-19 23:25:34 +01:00
Ton Huisman a8bbaab3bd Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/SPI-add-support-for-multiple-buses 2025-11-18 23:05:51 +01:00
TD-er 2ca08afef9 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-11-18 16:19:26 +01:00
TD-er 4501588df2 [ESPEasy p2p] Add IDs of not yet supported ESP MCUs 2025-11-17 23:56:39 +01:00
TD-er a6235086d3 [WebFlasher] Add support for ESP32-C5/C61 for the webflasher 2025-11-17 23:55:50 +01:00
TD-er 586fbd0509 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-11-17 23:18:16 +01:00
TD-er 4e9a08dbdc Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-11-17 22:10:11 +01:00
TD-er c3a1d9498d [Build] Speed up builds, add not used libs to lib_ignore 2025-11-17 16:00:53 +01:00
TD-er e8d42be432 [ESP32-P4] Add chip-variant option to support P4 rev 1 and rev 3 2025-11-17 15:53:06 +01:00
TD-er ddaf7be33a [ESP32-solo1] Add flags to fix IDF5.5 issues for 'esp32-solo1' boards 2025-11-17 15:52:15 +01:00
TD-er 86eb05a99a [Collection] Remove P038 and P095 from ESP32 Collection builds 2025-11-17 15:51:35 +01:00
TD-er 80cd9a0f1d [ESP32-C61] Add initial support for ESP32-C61 2025-11-14 00:25:14 +01:00
TD-er dc1f72c097 [Network] Remove obsolete code from Config and Tools->Advanced page 2025-11-10 00:29:08 +01:00
TD-er b904b7ec94 [Ethernet] Make Periman reported conflicts the reported conflicts 2025-11-10 00:27:09 +01:00
TD-er e276550011 [Ethernet] Remove no longer needed commands to setup ETH 2025-11-09 23:06:31 +01:00
TD-er 64697d0b27 [Ethernet] Cleanup showing GPIO conflicts/usage 2025-11-09 23:00:51 +01:00
TD-er 10f5cdd511 [Ethernet] Fix loading SPI Ethernet settings from KVS 2025-11-09 16:30:23 +01:00
TD-er 9195ac9240 [Ethernet] Fix loading RMII Eth settings from KVS 2025-11-09 15:25:05 +01:00
TD-er a6fe7443f5 [Build] Fix Solo1 builds 2025-11-08 00:50:24 +01:00
TD-er f7098b90ef [Build] Limit package building to use Python 3.13 2025-11-08 00:31:35 +01:00
TD-er ffd7ffb3a5 [Network] Simplify ETH Event handling + update ESP-IDF/Arduino 3.3.3 2025-11-08 00:17:34 +01:00
TD-er 249cf80259 [Web Flasher] Update script to generate webflasher for new build names 2025-11-05 21:27:51 +01:00
TD-er c3f952f086 [Build] Enable custom_remove_include to not build ignored libs 2025-11-05 11:38:48 +01:00
TD-er d4b1f02b6e [ESP32-P4] Disable OTA update for ESP-HOSTED-MCU on ESP32P4 for now 2025-11-05 11:37:58 +01:00
TD-er b3aa9a9d26 [Build] Fix build fail with builds without Ethernet support 2025-11-05 10:23:27 +01:00
TD-er 611f884b4e [Build] Remove _LittleFS and _ETH from build names due to linker issues 2025-11-05 08:48:00 +01:00
TD-er bb18ba21ab [ESP8266] Fix failing ESP8266 build 2025-11-05 00:31:18 +01:00
TD-er 6953c3723f [ESP-IDF] Update to latest Arduino/IDF code with fix for SPI Eth MAC 2025-11-05 00:20:10 +01:00
TD-er a5032fd5e8 [Network] Restart services (e.g. ESPEasy p2p) when default route changes 2025-11-04 13:26:08 +01:00
TD-er 07b9298caf [Ethernet] Fix saving settings to KVS 2025-11-04 13:12:08 +01:00
TD-er 097182fdd9 [Ethernet] Allocate unused ETH interface support multiple ETH instances 2025-11-02 23:03:52 +01:00
TD-er e9a5fd9652 [Eth] Store settings for RMII and SPI Ethernet to KV-store 2025-11-02 23:02:53 +01:00
TD-er 8c7b919c24 [Network] Add NetworkImportConfig command 2025-10-29 20:29:55 +01:00
TD-er 7fd75fd945 [Network] Add networkexportconfig command to export to JSON 2025-10-29 16:17:30 +01:00
Ton HuismanandGitHub ec46e84f3d Merge branch 'mega' into feature/SPI-add-support-for-multiple-buses 2025-10-28 22:27:16 +01:00
Ton Huisman d9a19bb82a Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/SPI-add-support-for-multiple-buses 2025-10-28 22:24:30 +01:00
TD-er ef1730a7dc Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-10-28 22:08:16 +01:00
TD-er 8833610d9c [Build] Disable Framed OLED on 1M ESP8266 Normal builds due to size 2025-10-28 22:06:12 +01:00
TD-er 4c76e51dd1 [Network] Start adding JSON import/export Network settings per adapter 2025-10-28 22:05:21 +01:00
TD-er 56a5d84914 [Sysinfo] Hide WiFi info when no WiFi is enabled 2025-10-28 11:08:23 +01:00
TD-er b2a4dbf18f [Ethernet] Add already setup Ethernet when upgrading ESPEasy 2025-10-28 10:41:52 +01:00
TD-er a854c91e60 [Sysinfo] Add missing Unit-of-measure on file system size 2025-10-28 09:56:11 +01:00
TD-er 0515e51826 [Build] Fix build issue due to missing forward decl. of enum 2025-10-27 17:30:05 +01:00
TD-er 9da96ebb15 [Build] Make normal_ESP8266_1M_VCC not fail building (still too big) 2025-10-27 15:59:28 +01:00
TD-er 073dc200a0 [Build] Fix flush() vs. clear() as it differs between ESP8266 and ESP32 2025-10-27 14:45:54 +01:00
TD-er e577c7d786 [Network] Make connected check more direct when starting connection 2025-10-27 13:42:32 +01:00
TD-er bb78389dfc [ESPEasy Console] Fix console on both HWCDC and Serial0 2025-10-27 13:40:56 +01:00
TD-er 764ab0eac5 [ETH] Remove left-over code duplication after split RMII/SPI adapters 2025-10-26 22:21:54 +01:00
TD-er 6904653718 [Eth] Move duplicate code to shared functions to display info 2025-10-26 22:06:17 +01:00
TD-er 2d4aa54d75 [JSON] Write empty "Sensors" array when no tasks defined 2025-10-26 22:04:25 +01:00
TD-er ddb0afc4cd [IPv6] Add option to enable/disable IPv6 per network adapter 2025-10-26 14:40:18 +01:00
TD-er 2dc1b8f540 [ESP-Hosted] Make sure hostname is set on ESP-Hosted-MCU before DHCP 2025-10-26 11:52:29 +01:00
TD-er 7cab77c5e5 [ESP-Hosted] Show more info on ESP-Hosted-MCU WiFi (ESP32-P4) 2025-10-26 11:41:42 +01:00
TD-er 84feba288e [ESP32P4] Disable USB HWCDC to fix ESPEasy console for ESP32P4 2025-10-26 11:40:49 +01:00
TD-er fef2fb4de0 [Units Of Measure] fix merge issues PR #5419 2025-10-25 20:57:44 +02:00
TD-er 25254bee51 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-10-25 20:56:19 +02:00
TD-er 6f61cba2cd [ESP32-P4] Fix WiFi/Eth issues on ESP32-P4 + optimize memory allocations 2025-10-25 20:12:01 +02:00
TD-er 497b15e514 [Build] Reduce build size by disabling GitHub copy button for ESP8266 2025-10-24 09:55:16 +02:00
TD-er 49df7ebe19 [Ethernet] Set hostname when Ethernet device is started 2025-10-24 01:24:17 +02:00
TD-er cb84df0b44 [ESPEasy p2p] Cleanup use of std::unique_ptr + p2p data structs 2025-10-24 00:06:30 +02:00
TD-er 015dd8b3fc [Charts] Remove no longer needed chart height/width & cleanup code 2025-10-23 11:18:32 +02:00
TD-er 1125659383 [ChartJS] Make charts appear on the full width and responsive 2025-10-23 01:35:43 +02:00
TD-er 069305a6f0 [Build] Wrap calls to setUnit in #if FEATURE_TASKVALUE_UNIT_OF_MEASURE 2025-10-21 19:58:05 +02:00
TD-er a0658f9a01 [ValueStruct] Fix edge case crash copying values. 2025-10-21 15:35:38 +02:00
TD-er 6181ca0c3b [WebForm] Show bool types from key/value struct as checkmark 2025-10-21 15:34:51 +02:00
TD-er e156670a8f [KeyValueStruct] Add standard Unit-of-Measure units 2025-10-21 14:08:22 +02:00
TD-er b12ce6a0b8 [ValueStruct] Fix order initialization members 2025-10-21 10:42:14 +02:00
TD-er 3314d213b8 [LogEntry] Reduce LogEntry struct to 16 bytes per log item in memory 2025-10-21 10:41:42 +02:00
TD-er 1b01cbb16b [ValueStruct] Reduce memory allocations on short strings 2025-10-21 10:14:40 +02:00
TD-er cc731f5f8e [PPP modem] Show mobile provider name from SIM card 2025-10-21 00:19:30 +02:00
TD-er 4df452cb4b [ESPEasy] Increase nr of ints in EventStruct 2025-10-21 00:18:57 +02:00
TD-er dc02e77c0f [Cleanup] Simplify ValueStruct to reduce bin size + speed up processing 2025-10-21 00:18:23 +02:00
TD-er 3aab6eb4a6 [Build] Revert ESP-IDF/Arduino to make Solo1 and ESP32-P4 build again 2025-10-19 13:18:38 +02:00
TD-er ccb7819f9a [Climate] Remove P169 (AS3935 lightning Detector) from ESP8266 builds 2025-10-19 00:14:23 +02:00
TD-er 7e8371c85e [Cleanup] Make ESP8266 builds fit again + tweak reducing generated HTML 2025-10-18 23:57:11 +02:00
TD-er 6c5e8f0e27 [Cleanup] Make nearly all of sysinfo page use new KeyValueStruct writers 2025-10-18 01:31:21 +02:00
TD-er b4d3c60ff7 [ESP8266] Fix build issues due to older compiler for ESP8266 2.7.4 2025-10-17 22:37:55 +02:00
TD-er 7451a65333 [Cleanup] Simplify use of LabelType 2025-10-17 18:24:16 +02:00
TD-er 1cd5657daa [ChartJS] Cleanup forcing "null" on NaN values in JSON 2025-10-17 13:20:11 +02:00
TD-er a7a8f4cd71 [Cleanup] Rename Sp_KeyValueWriter to Up_KeyValueWriter 2025-10-17 13:19:02 +02:00
TD-er 9322a324d8 [ChartJS] Use new JSON key-value-writer + cleanup ChartJS code 2025-10-17 12:57:56 +02:00
TD-er b5ed96496c Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-10-16 22:47:23 +02:00
TD-er 1aaae62cf9 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-10-16 22:32:45 +02:00
TD-er 208d5541d5 [Log] Fix build on ESP8266 + log level label in console + syslog format 2025-10-16 16:18:23 +02:00
TD-er 6961465501 [Log] Make syslog to use the new log queue + fix syslog crashes 2025-10-16 14:35:27 +02:00
TD-er 68e2c3cb18 [Log] Cleanup and simplify log level code 2025-10-15 21:56:17 +02:00
TD-er af96cb3e49 [Log] Clearly mark commands in log + source of the command 2025-10-15 20:17:42 +02:00
TD-er 4a77bd5b0d [Log] Fix log output to webflasher console + colorize LogEntry output 2025-10-15 17:37:41 +02:00
TD-er 2e34df9fa5 [Log] Serial Console pulls logitems when UART buffer is ready + colorize 2025-10-15 00:05:28 +02:00
TD-er f106bfd3d0 [Log] Convert all ESPEasy console output to LOG_LEVEL_NONE log entry 2025-10-14 19:54:46 +02:00
TD-er e113b0c859 [WiFi] Fix starting AP when no credentials present or known APs found 2025-10-13 23:33:12 +02:00
TD-er 85028da6d0 [WiFi AP] Fix generating correct events when WiFi AP turns on/off 2025-10-13 16:17:36 +02:00
TD-er 02dbfe33a3 [TAR] Fix creating unusable TAR files when backup all 2025-10-13 16:16:34 +02:00
TD-er 56b0ba6dd4 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-10-13 10:41:39 +02:00
TD-er 1c5be8c54c [WiFi Setup] Store credentials via setup page to separate file 2025-10-13 10:38:23 +02:00
TD-er 7a26f68ba9 [Build] Fix build issues on ESP8266 2025-10-12 22:15:56 +02:00
TD-er cf7a400a6d [Provision] Add option to store (WiFi) credentials to separate file 2025-10-12 21:54:36 +02:00
TD-er dd55c27bed [TLS-MQTT] Automatic switch to ECDSA when error is 296 (TLS handshake) 2025-10-11 20:19:00 +02:00
TD-er e9cc704777 [TimingStats] Add stat to measure time spent processing MQTT messages 2025-10-11 00:03:26 +02:00
TD-er af56ce7fb6 [TLS] Update TLS to be able to use ECDHE_ECDSA_AES_128_GCM_SHA256 cipher 2025-10-10 20:52:28 +02:00
TD-er 6f5be97fe9 [WebLog] Send many log messages in chunks of 200 msec. 2025-10-10 16:46:41 +02:00
TD-er 4b6b5abd35 [Build] Fix ESP8266 build fail as std::make_unique is not (yet) known 2025-10-10 01:31:48 +02:00
TD-er 881285970b [Log] Speedup finding 'next' log element to process 2025-10-10 00:04:39 +02:00
TD-er fda5b00e90 [Log] Simplify web log buffering 2025-10-09 23:11:22 +02:00
TD-er fd2de92cc6 [ESP-IDF] Update to latest Arduino/ESP-IDF 2025-10-07 12:50:50 +02:00
TD-er 812e26d82c [Cleanup] Reduce bin size & simplify ValueStruct 2025-10-07 12:49:33 +02:00
TD-er 5a0158e6f1 [Build] Fix failing max_ESP32c5_8M1M_LittleFS_ETH builds 2025-10-06 21:20:59 +02:00
TD-er 0df6a16188 [Build] Set BUILD_NO_DEBUG for all NeoPixel builds to make builds fit 2025-10-06 20:32:31 +02:00
TD-er 7afbf7b3c3 [Build] Fix build error on safeboot builds 2025-10-06 17:17:02 +02:00
TD-er beeb6dfa2d [Build] Fix build errors on RISC-V like ESP32-C2/C3/C5/C6 2025-10-06 16:28:23 +02:00
TD-er 36e8edd80a [Build] Fix failing build hard_SONOFF_POW_4M1M 2025-10-06 11:12:37 +02:00
TD-er 0944d27240 [Build] Disable more logs with BUILD_NO_DEBUG on ESP8266 2025-10-06 10:58:59 +02:00
TD-er 60a3b451fb [Build] Disable C014 (Homie) and C017 (Zabbix) for ESP8266 Collections 2025-10-06 09:38:10 +02:00
TD-er 0139f1248b [Build] Fix failed custom ESP8266 build, disable CustomProvisioning 2025-10-06 09:29:15 +02:00
TD-er e043c85429 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-10-06 09:19:25 +02:00
TD-er 536189789f [Build] Reduce bin size by disabling logs in BUILD_NO_DEBUG builds 2025-10-06 09:16:15 +02:00
TD-er 881c3bc020 [Build] Fix ESP8266 build fail due to variable type mismatch 2025-10-06 01:01:04 +02:00
TD-er b728fdd9ab [JSON] Add same info on network adapters & sysinfo & JSON page 2025-10-06 00:34:55 +02:00
TD-er 43ecbf2f74 [Network] Cleanup code + generate more network info using new K/V writer 2025-10-05 23:04:37 +02:00
TD-er a9a7004141 [Network] Use new WebForm writer for gathering network adapter info 2025-10-05 17:31:41 +02:00
TD-er 44271fc202 [JSON] Move KeyValueWriter_JSON to src/Helpers/ 2025-10-05 12:15:34 +02:00
TD-er 8db19e8a1f [Cleanup] Reduce bin size: unsigned long to uint32_t and long to int32_t 2025-10-05 11:56:39 +02:00
TD-er 325e6fe64a [Cleanup] Remove no longer used to_json_object_value functions 2025-10-05 00:46:19 +02:00
TD-er 4ada6c8814 [C009 FHEM] Use new JSON code to generate response 2025-10-05 00:45:22 +02:00
TD-er 2bb6574852 [Build] Fix custom_IR_ESP8266_4M1M build 2025-10-04 21:54:27 +02:00
TD-er fcd39e68bf [Build] Set ESP8266 IR builds to esp8266/Arduino 3.1.2 2025-10-04 21:42:48 +02:00
Gijs Noorlander a201e547ae [Build] Enable BUILD_NO_DEBUG for 2nd heap ESP8266 normal builds 2025-10-04 20:10:27 +02:00
Gijs Noorlander f032f517c4 [Build] Change ESP8266 normal and collection builds to core 3.1.2 2025-10-04 09:37:28 +02:00
TD-er ba456d4044 [JSON] Add option to print JSON to String + convert Domoticz JSON 2025-10-04 02:46:19 +02:00
TD-er 56d2f5bc52 [JSON] Simplify code + reduce build size due to less dependencies 2025-10-04 00:41:38 +02:00
TD-er 8bc6f4de3e [JSON] Use new createChild function 2025-10-03 23:59:16 +02:00
TD-er 1829a3c1f2 [JSON] Fix pretty-print generated JSON + add createChild() option 2025-10-03 22:22:39 +02:00
TD-er cb386edbf5 [JSON] Change handle_sysinfo_json() to use new JSON formatting functions 2025-10-03 16:55:48 +02:00
TD-er 258cda68a5 [Cleanup] Wrap #ifdef WEBSERVER_NEW_UI.. around functions only used then 2025-10-03 15:52:47 +02:00
TD-er 17c3326c31 [JSON] Fine tune new JSON generation functions 2025-10-03 13:45:55 +02:00
TD-er be3d1793e3 [Cache Controller] Use new JSON functions to generate cache_json 2025-10-02 21:48:53 +02:00
TD-er f296e8655f [Log] Use new streaming JSON writer to generate web log 2025-10-02 21:47:23 +02:00
TD-er 66125885b0 [JSON] Fine-tune + speedup generating JSON 2025-10-02 21:46:51 +02:00
TD-er 5588cc4aca [JSON] Simplify writing JSON page 2025-10-02 16:02:13 +02:00
TD-er e2fc9ce036 [Cleanup] Simplify managing key-value representation in web UI / JSON 2025-10-02 01:05:08 +02:00
TD-er 44aa36322b [PPP modem] Add DTR pin option to regain access to modem in CMUX mode 2025-09-30 17:37:34 +02:00
TD-er a1b42f31ba [CacheReader] Fix reading cache files when files are missing 2025-09-30 13:04:53 +02:00
TD-er 870be68c52 [Cleanup] Only show MQTT connected stats on enabled controller 2025-09-30 13:03:28 +02:00
TD-er d19d5b99db Merge remote-tracking branch 'origin/mega' into mega 2025-09-29 23:33:19 +02:00
TD-er 23c02f8e1a Merge remote-tracking branch 'origin/mega' into mega 2025-09-29 23:28:31 +02:00
TD-er 7af988a620 [CacheReader] Fix incorrect settings array index 2025-09-29 23:28:13 +02:00
TD-er 19091e8638 [CacheReader] Fix incorrect settings array index 2025-09-29 23:24:58 +02:00
TD-er f0cbd9007c [CacheReader] Fix incorrect settings array index 2025-09-29 23:22:43 +02:00
TD-er d9e281993f Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-09-29 23:07:20 +02:00
TD-er 616305a1a7 [CacheReader] Fix continue reading after crash/reboot 2025-09-29 22:11:36 +02:00
TD-er 872ebfe6ca [CacheReader] Add support for 64bit ints + output as events 2025-09-29 15:21:17 +02:00
TD-er 035cb04f77 [CacheReader] Fix reading cache files from CacheController 2025-09-29 15:20:21 +02:00
TD-er 847d64b2ac [TaskValueSet] Fix setting 64-bit int values to a dummy task 2025-09-29 15:19:20 +02:00
TD-er 0c15064686 [Docs] Add stubs for documenting new Network design 2025-09-27 14:37:30 +02:00
TD-er eff11c69dd [PPP modem] Fix crash when PPP modem is enabled but not present 2025-09-27 14:36:55 +02:00
TD-er 2a8c514bed [Provision] Fix not able to provision files 2025-09-27 14:36:20 +02:00
chromoxdor 5a1a0cdc91 [CSS] small update 2025-09-26 11:19:20 +02:00
chromoxdor e16b621c96 no need here 2025-09-25 18:21:57 +02:00
chromoxdor fd682caabb [CSS] Future CSS for Wi-Fi & Interfaces tab 2025-09-25 18:04:07 +02:00
chromoxdor 5156d821f8 [ESP8266] Enable CORS globally 2025-09-25 17:09:19 +02:00
TD-er 7e9a773af3 [Build] Reduce bin size for ESP32 collection builds 2025-09-25 16:58:54 +02:00
TD-er 52e852952a [WiFi AP] Fix switching between NAPT and Captive Portal 2025-09-25 16:58:30 +02:00
TD-er a29a25a8e3 [MQTT] Reduce work/memory in background task, use xTaskDelay as required 2025-09-24 23:49:23 +02:00
TD-er 452a595d28 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-09-24 20:14:19 +02:00
TD-er 9bd053ab47 [WiFi] Fix automatic redirect on Captive Portal 2025-09-24 20:14:08 +02:00
TD-er fcf23e1f4b [web UI] Change tab icons to be more uniform and working on Apple 2025-09-24 17:32:18 +02:00
TD-er 41aeed8060 [CSS] Tweaks for newly added Network tab 2025-09-24 16:15:12 +02:00
TD-er edd8ddef58 [MQTT] Only try to run background MQTT connect when connected to network 2025-09-24 16:14:28 +02:00
TD-er 76dede8fb9 [WiFi] Make sure WiFi actually is disconnected when trying to reconnect 2025-09-24 16:13:54 +02:00
TD-er 5d568c6ee4 [Log] Only process log to serial when in "Arduino RTOS task" 2025-09-24 16:13:03 +02:00
TD-er 9e43ecee09 [Network] Add ESPEasy event when network is enabled/disabled 2025-09-24 16:11:59 +02:00
TD-er 18cf4d6b17 [Network] Remove unused base_class check for NWPluginData structs 2025-09-24 16:10:47 +02:00
TD-er dde3a81494 [MQTTDiscovery] Reduce mem alloc MQTT_DiscoveryPublishWithStatusAndSet 2025-09-24 12:23:19 +02:00
TD-er e337181a25 [NeoPixel] Make NeoPixelSendStatus use less memory allocations 2025-09-24 09:55:40 +02:00
TD-er 29eca9786b [Network] Make logging gotIPv6 events not do memory allocation 2025-09-24 09:54:45 +02:00
TD-er 22f60dee68 [Network] Add checks to see if _netif is a valid pointer 2025-09-23 23:15:18 +02:00
TD-er e00fe33d9e [Network] Log got IP events 2025-09-23 23:04:16 +02:00
TD-er 07485f76de [WiFi] Fix internal WiFi state matching real connected state. 2025-09-23 21:25:09 +02:00
TD-er dc5f50bf70 [WiFi] Fix wifi reconnect (on ESP32) 2025-09-23 16:31:14 +02:00
TD-er 9e1f8763f1 [Build] Fix ESP8266 build 2025-09-22 13:06:26 +02:00
TD-er 20fe2a465f [Eth] Clear uses of EthEventData for ESP32 builds 2025-09-22 12:38:02 +02:00
TD-er b63a93d103 [WiFi] Clear uses of WiFiEventData for ESP8266 builds 2025-09-22 10:38:16 +02:00
TD-er 1774dad526 [WiFi] Fix reported WiFi enc. mode on ESP8266 2025-09-22 09:46:00 +02:00
TD-er 4905c54620 [Network] Fix showing stats and connection info 2025-09-21 22:28:28 +02:00
TD-er 4bcf990a68 [WiFi] Fix scanning WiFi returns no networks found 2025-09-21 15:15:06 +02:00
TD-er a9b6c532b0 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-09-19 00:15:42 +02:00
TD-er 927e7fd102 [Network] Exit all networks before reboot 2025-09-19 00:13:24 +02:00
TD-er 7b5766c2bd Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-09-18 15:37:02 +02:00
TD-er 5135dfc446 [LAN867x] Add support for LAN867x Ethernet controller (RMII) 2025-09-18 15:36:24 +02:00
TD-er 43b42bb5e7 [MFRC522] Add immediate event on tag removal 2025-09-18 15:35:05 +02:00
TD-er 6bbb2087bd [SysVars] Fix showing variables with hex number as index 2025-09-18 15:32:45 +02:00
TD-er 6b27c56c8e Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-09-16 10:56:05 +02:00
TD-er 22ee9a29c1 [Build] Fix merge issue 2025-09-12 13:02:18 +02:00
TD-er 23a8d508db Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-09-12 12:50:46 +02:00
TD-er 582da18a2a [webUI] Move Hardware tab before Network tab 2025-09-12 12:33:48 +02:00
TD-er 2ab3e78e1d [RC522] Add support for 7-byte NFC UIDs 2025-09-12 12:33:18 +02:00
TD-er 92f8cf6a9e [WiFi] Fix WiFi reconnect issues 2025-09-12 12:32:38 +02:00
Ton Huisman 5654bdf6fa Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/SPI-add-support-for-multiple-buses 2025-09-10 22:24:42 +02:00
TD-er 4e0fde191b Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-09-07 23:22:48 +02:00
TD-er 0e9f5dc9c3 [Build] Fix merge issues 2025-09-07 23:09:33 +02:00
TD-er 03590d1bb1 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-09-07 22:51:01 +02:00
TD-er 3b622bad4d [Network] Fix xxx#Connected / #Disconnected events 2025-09-03 14:26:02 +02:00
TD-er ced714c271 [Build] Define BUILD_NO_DEBUG for Display builds 2025-09-02 17:27:25 +02:00
TD-er 3bbff03497 [USBCDC] Properly fix USB CDC issues on ESP32-S2 2025-09-02 13:45:30 +02:00
TD-er 15b118f27b [Network] Fix reported traffic RX/TX Bytes 2025-09-02 13:23:43 +02:00
TD-er 5f484c698b [Network] Add FEATURE_NETWORK_STATS to toggle collecting network stats 2025-09-02 13:12:00 +02:00
TD-er 18300f47a1 [Network] Add FEATURE_NETWORK_TRAFFIC_COUNT to toggle tracking traffic 2025-09-02 13:08:27 +02:00
TD-er a582ee2967 [Network] Fix collecting RX/TX traffic data 2025-09-02 11:47:06 +02:00
TD-er 7f032495b2 [Build] Define BUILD_NO_DEBUG for ESP32 Collection A builds 2025-09-02 09:30:46 +02:00
TD-er cb6dd6006e [USBCDC] Fix USB-CDC for ESP32S2 builds 2025-09-02 08:47:43 +02:00
TD-er 13bb2550cc [Build] Define BUILD_NO_DEBUG for all collection builds 2025-08-31 21:56:20 +02:00
TD-er b5581a2d30 [ESP-IDF] update to latest ESP-IDF5.5 2025-08-31 21:55:39 +02:00
TD-er 6b52b0a831 [Build] Define BUILD_NO_DEBUG for Collection_E builds 2025-08-31 10:03:42 +02:00
TD-er 0e2a3e4368 [Build] Fix missing include 2025-08-31 08:44:39 +02:00
TD-er fa8b6ac807 [ESP-IDF] Move to IDF5.5 for all ESP32-xx builds 2025-08-31 08:23:11 +02:00
TD-er 920d54afeb [Network] Fix merge-conflict on ESP32-build 2025-08-31 08:00:57 +02:00
TD-er 4c9c3c1312 [Network] Fix ESP8266 build 2025-08-31 07:57:19 +02:00
Ton HuismanandTD-er bdd4b75e8c [MQTT] Use client timeout for delay between connection attempts 2025-08-31 07:36:48 +02:00
Ton HuismanandTD-er 559c2bb0f5 [Discovery] Avoid setting the timeout more than once 2025-08-31 07:36:40 +02:00
Ton HuismanandTD-er e4bfdef173 [MQTT] Fix reconnect on unexpected network interruptions 2025-08-31 07:36:32 +02:00
Ton HuismanandTD-er dda9ac4dc3 [MQTT] Cancel background connection request after 2 minutes when still not connected 2025-08-31 07:36:14 +02:00
Ton Huisman cb7199a9ec [SPI] Rename settings variable for better usage indication (review comment) 2025-08-29 20:11:54 +02:00
Ton Huisman 749f5e2eb9 [P095] Fix GPIO display on Devices page, fix typos, no default GPIO pins for ESP32 2025-08-29 13:47:59 +02:00
Ton Huisman 87a449351c [P116] Fix GPIO display on Devices page, no default GPIO pins for ESP32 2025-08-29 13:47:30 +02:00
Ton Huisman 21fb34049d [SPI] Disconnect SPI GPIO pins also when not using them 2025-08-29 13:46:23 +02:00
Ton HuismanandGijs Noorlander 7dbed4c1f1 [MQTT] Reconnect on unexpected network interruptions 2025-08-26 16:08:48 +06:00
Gijs Noorlander 5105053589 [MQTT] Fix merge issues 2025-08-26 11:33:25 +06:00
Gijs Noorlander 269e9e23d4 Merge branch 'feature/MQTT-start-broker-connection-in-background' into bugfix/WiFi_state_machine 2025-08-26 10:46:31 +06:00
Gijs Noorlander 5f3827481e [network] Reduce CPU load + fix init NW interface event names 2025-08-26 10:40:40 +06:00
Ton Huisman a84d1d0682 [P039] Fix compiler warning (nested comments) 2025-08-25 22:26:53 +02:00
Ton Huisman 9a052d2efa [SPI] Code improvements, separate SPI functions, re-init SPI when saving Hardware page 2025-08-25 22:26:16 +02:00
Gijs Noorlander b65fba2775 [Network] Add connected/disconnected event handling for all interfaces 2025-08-24 00:28:31 +06:00
Gijs Noorlander 9f949f6e29 [Network] Add AT command write to PPP modem 2025-08-21 16:39:33 +06:00
Ton Huisman ba75ff94f8 [SPI] Rename SPI1 object to SPIe to avoid conflict for ESP32-Classic builds 2025-08-19 22:19:37 +02:00
Gijs Noorlander a7ddb44a36 [network] Fix typo in event 2025-08-19 22:11:02 +06:00
Gijs Noorlander 0f38b9e34a [network] Fix wifi#connected and wifi#disconnected events 2025-08-19 21:46:12 +06:00
Gijs Noorlander 3ea2751179 [MFRC522] Speedup reading tag 2025-08-19 21:13:53 +06:00
Ton Huisman daeb1891d0 [Storage] Add settings for External EEPROM 2025-08-17 22:36:40 +02:00
TD-er 142fe34714 [network] Show detailed received IPv6 info in the logs 2025-08-15 10:26:42 +02:00
TD-er 5e45bc7028 [Network] Fix crashes when toggling WiFi/AP on/off 2025-08-15 09:25:01 +02:00
TD-er 4c9c847f8d [network] Fix 'Enable' checkbox consistency & bootloop with AP disabled 2025-08-14 23:31:41 +02:00
TD-er b3c15c0127 [cleanup] Remove duplicate code in xPlugin tables 2025-08-14 08:52:15 +02:00
TD-er 37a9379f45 [Network] Show connected clients to AP + cleanup charts/stats 2025-08-14 08:51:28 +02:00
Ton Huisman a92dacc44c [SPI] Improvements in cross-bus GPIO config validation 2025-08-13 23:34:27 +02:00
Ton Huisman a38c3c04a9 [SPI] Fix initialization for standard FSPI bus 2025-08-13 21:01:34 +02:00
Ton Huisman e775bd14f2 [SPI] Show SPI Bus selector also if only second bus enabled 2025-08-13 21:00:22 +02:00
TD-er 15b38c61f6 [Network] Fix NAPT forwarding when client connects/disconnects 2025-08-13 19:47:05 +02:00
TD-er d628af5c88 [Network] Add column with interface number to Network overview page 2025-08-13 19:46:11 +02:00
Ton Huisman f00eed1a56 [P039] Enable support for configurable SPI bus 2025-08-13 17:00:28 +02:00
Ton Huisman 2e4e79fac4 [P039] Move (nearly) all code to PluginStrucs files 2025-08-13 16:46:03 +02:00
Ton Huisman da93c145ae Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/SPI-add-support-for-multiple-buses 2025-08-13 14:43:05 +02:00
Ton Huisman b61dcad353 [P096] Enable support for configurable SPI bus 2025-08-13 14:42:46 +02:00
Ton Huisman 7e13c7bd0c [P099] Enable support for configurable SPI bus 2025-08-13 14:01:25 +02:00
TD-er 4d6e5630e9 Merge remote-tracking branch 'letscontrolit/bugfix/ESP32_U4WDH_bootloop' into bugfix/WiFi_state_machine 2025-08-13 13:31:15 +02:00
Ton Huisman b753fea2ba [P111] Enable support for configurable SPI bus (and reformat source) 2025-08-13 12:18:03 +02:00
Ton Huisman 9e560d2c52 [P118] Enable support for configurable SPI bus 2025-08-13 11:55:13 +02:00
TD-er f13e8a0874 [Network] Fix access control check for accessing web config 2025-08-13 11:52:25 +02:00
Ton Huisman 55fab58823 [P125] Enable support for configurable SPI bus 2025-08-13 11:29:56 +02:00
Ton Huisman 56f33690a5 [P162] Fix compilation for ESP8266 2025-08-13 11:18:56 +02:00
Ton Huisman 2229b55f33 [P162] Enable support for configurable SPI bus 2025-08-13 11:01:41 +02:00
Ton Huisman e59a630f45 [P172] Enable support for configurable SPI bus 2025-08-12 22:21:50 +02:00
Ton Huisman a96d865e8f [P141] Enable support for configurable SPI bus 2025-08-12 22:21:34 +02:00
Ton Huisman 2bedef4d54 [P116] Enable support for configurable SPI bus 2025-08-12 22:21:13 +02:00
Ton Huisman a54228181c [P104] Enable support for configurable SPI bus 2025-08-12 22:20:51 +02:00
Ton Huisman 0c2f09df87 [P095] Enable support for configurable SPI bus 2025-08-12 22:20:26 +02:00
Ton Huisman cac4500f6a [SPI] Add support for multiple SPI buses 2025-08-12 22:18:58 +02:00
TD-er 6b33f57c31 [Network] Add Route Prio setting for each network interface (ESP32-xx) 2025-08-10 18:03:28 +02:00
TD-er c1dc569433 [Network] Fix corrupting settings on ESP8266 2025-08-10 16:43:47 +02:00
TD-er 9622eb1014 [Build] Fix copy/paste error on ESP32 builds 2025-08-10 15:09:13 +02:00
TD-er df0e663f1b [Build] Reduce build size on ESP8266 builds 2025-08-10 14:42:22 +02:00
TD-er 8796ce1794 [Network] Fix build on ESP8266 1M build 2025-08-10 01:44:51 +02:00
TD-er dc8b8ef7bc [Network] Fix ESP8266 build issues 2025-08-10 01:27:40 +02:00
TD-er ea1121f833 [Network] Cleanup + add charts for RSSI/TX-pwr, traffic, etc. 2025-08-10 01:14:47 +02:00
TD-er aa066e9230 [Network] Remove more legacy WiFiEventData code 2025-08-05 17:39:13 +02:00
TD-er d022b1b936 [Controller] Make connection timeout dynamic per host & networkinterface 2025-08-05 01:37:59 +02:00
TD-er 76289fd1b9 [Network] Clean up code duplication handling network events 2025-08-05 00:43:37 +02:00
TD-er 1a22bababa Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-08-04 20:07:10 +02:00
TD-er 05ca238035 [Network] Start removing connected checks from WiFi/Eth EventData 2025-08-04 20:07:04 +02:00
TD-er 8f7a465d63 [WiFi] Show WiFi Auth mode in connection info 2025-08-04 13:52:05 +02:00
TD-er 6acd513fe7 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-08-04 13:04:58 +02:00
TD-er e3385ed8dc [Build] Fix ESP-IDF 5.5 platform to specific one before pip -> uv change 2025-08-04 13:04:38 +02:00
TD-er 5e9bfc6b89 [Network] Reduce code duplication showing connection info 2025-08-04 13:03:39 +02:00
TD-er 1d2aa492c7 [Network] Show connection info for each interface 2025-08-04 10:28:27 +02:00
TD-er 5ea9b3f81d [Build] Fix ESP32 build due to missing include 2025-08-04 01:34:37 +02:00
TD-er f707e6bbfe Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-08-04 00:10:39 +02:00
TD-er 70b7b8921c [Network] Add test to see if we can track interface traffic count 2025-08-04 00:10:26 +02:00
TD-er f941908db9 [Network] Move common code to collect connection stats to base class 2025-08-03 17:49:02 +02:00
TD-er 5559d5fde3 [Network] Make connected info more consistent among network interfaces 2025-08-02 01:48:54 +02:00
TD-er 56cc30678a [Network] Trigger checking for DNS server on default NW-IF after event 2025-08-02 00:22:14 +02:00
TD-er abe872502b [Network] Fix mangled DNS servers when switching default route interface 2025-08-01 22:41:21 +02:00
TD-er cce96082f1 [Network] Fix ESP8266 build + add log when DNS is restored from cache 2025-08-01 15:09:40 +02:00
TD-er 7d09d02113 [Network] Add mechanism to restore cached DNS servers 2025-08-01 12:01:50 +02:00
TD-er 9b30fe1b57 [PPP Modem] Disable PPP Modem on platforms that don't support it 2025-07-31 20:04:21 +02:00
TD-er 12aa32892e [ESP-IDF] Update to latest ESP-IDF/Arduino for ESP32-xx 2025-07-31 17:07:46 +02:00
TD-er 881227c4ef [Build] Reduce build size for ESP8266 builds 2025-07-31 16:19:10 +02:00
TD-er 7da47fdb10 [Build] Fix failing ESP8266 custom build 2025-07-31 15:47:11 +02:00
TD-er 45002d9bf3 [Tasks] Fix scheduled Plugin Task Timer & proper task exit/init 2025-07-31 15:38:12 +02:00
TD-er 38b9597e0e [Controllers] Call [C/NW]PLUGIN_EXIT before _INIT when saving settings 2025-07-31 13:46:36 +02:00
TD-er 41041b827b [Network] Fix build on ESP8266 2025-07-31 12:24:07 +02:00
TD-er 8b0906b9ee [Controller] Fix proper checking when calling CPLUGIN_xxx functions 2025-07-31 11:56:37 +02:00
TD-er 3e66509aed [Network] Add networkenable / -disable commands + fix for controllers 2025-07-31 01:36:44 +02:00
TD-er 8baeeb51a5 [Network] Show connected duration in more readable format 2025-07-30 11:09:02 +02:00
TD-er 282feb85a5 [PPP modem] Make init of PPP modem more reliable 2025-07-30 01:18:08 +02:00
TD-er b64534db74 [MQTT AutoDiscovery] Fix merge issues 2025-07-28 22:45:55 +02:00
TD-er 3126181d5e Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-07-28 22:33:47 +02:00
TD-er 3a54863b61 [Network] Move WiFi init code to NW001_WiFi_STA plugin 2025-07-28 00:59:20 +02:00
TD-er d69fcdb505 [Network] Fix setting up last network/controller entry 2025-07-27 21:43:44 +02:00
TD-er 75ed59b299 [Network] Move WiFiAPcandidates files to ESPEasy::net::wifi namespace 2025-07-27 21:13:31 +02:00
TD-er 76b31ef091 [Network] Move MetworkMedium to new ESPEasy::net:: namespace 2025-07-27 20:32:25 +02:00
TD-er efc96ca6b7 [Network] Move EthernetParameters to ESPEasy::net namespace 2025-07-27 17:56:36 +02:00
TD-er 2ebde4f0f6 [Network] Fix ESP32-classic display build with ETH disabled 2025-07-27 17:22:46 +02:00
TD-er 9cb136a8e7 [Network] Disable ETH for ESP32-xx Display builds to make builds fit 2025-07-27 16:56:19 +02:00
TD-er b316e5aa49 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-07-27 16:05:01 +02:00
TD-er 21f53f1507 [Network] Move Network code to ESPEasy::net namespace 2025-07-27 15:42:14 +02:00
TD-er 62b6ecee69 [Network] Move more WiFi related code into ESPEasy::net::wifi namespace 2025-07-27 13:54:03 +02:00
TD-er f9f14a8a08 [Network] Move global runtime data to new ESPEasy::net namespace 2025-07-26 18:58:59 +02:00
TD-er e468b021ae [Network] Move ESPEasy::net namespace code to new folder structure 2025-07-26 17:50:39 +02:00
TD-er 9891d43b02 [Network] Move network plugin code to new ESPEasy::net namespace 2025-07-26 13:36:40 +02:00
TD-erandGitHub a330eb65e4 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-07-25 21:42:16 +02:00
TD-er 4a783fba42 [Network] Add route prio to network overview 2025-07-22 01:18:07 +02:00
TD-er 964950228f [Network] Fix saving WiFi STA & WiFi AP settings 2025-07-20 19:17:32 +02:00
TD-er 29cbff11ea [PPP Modem] Initialize C-code to NULL instead of nullptr 2025-07-20 19:16:57 +02:00
TD-er e7dabc72e5 [PPP Modem] Make PPP.begin() non-blocking by running in RTOS task 2025-07-20 16:04:05 +02:00
TD-er e850483e98 [Plugin] Rename PluginCall functions to use same convention as controllers 2025-07-20 01:07:43 +02:00
TD-er 4c814944bc [Network] Add WiFi/AP when not present in settings + limit options 2025-07-20 01:06:56 +02:00
TD-er 1a1c53d3e1 [Cleanup] Rename CPlugin and NWPlugin calls to make clear where used 2025-07-19 20:04:01 +02:00
TD-er 12577e77a1 [Controller] Fix bug not being able to add controller 2025-07-19 17:13:10 +02:00
TD-er 17da3e08b4 [Storage] Fix storing bool types 2025-07-19 16:42:15 +02:00
TD-er abae0f71bf [PubSubClient3] Speedup publish large messages using buffer
As discussed here: #29 (comment)
2025-07-19 16:41:18 +02:00
TD-er ae4c97caf6 [PubSubClient] Update to latest lib version 2025-07-19 00:05:53 +02:00
TD-er 3e30a1f0a3 [ESP32P4] Set Ethernet as default on ESP32P4 builds 2025-07-18 00:21:12 +02:00
TD-er 4d66bd5326 [Network] Allow crash detection to turn off network interfaces 2025-07-18 00:20:42 +02:00
TD-er bf9bfd33f4 [ESP-IDF] Update IDF 5.5 builds (P4/S3) to latest version 2025-07-18 00:20:10 +02:00
TD-er 31178de024 [Build] Remove "_CDC_" from all env names due to linker issues 2025-07-18 00:19:18 +02:00
TD-er 8d022794be [Build] Fix ESP32C6 builds 2025-07-17 18:05:10 +02:00
TD-er 2a84e95ade [PPP Modem] Disable PPP Modem plugin for 4M flash builds due to size 2025-07-17 17:34:57 +02:00
TD-er 55283bdab9 [PPP Modem] Add UE Cell info + fix ESP32C2 build 2025-07-17 12:37:52 +02:00
TD-er 746c3c5356 [PPP Modem] Fix build on LIMIT_BUILD_SIZE ESP32 builds 2025-07-17 02:17:16 +02:00
TD-er de2edd937f [PPP modem] Remove PPP Modem plugin from ESP32-C3 as there isn't support 2025-07-17 01:45:49 +02:00
TD-er 9d9ed38c3f [Storage] Fix build on ESP8266 builds 2025-07-17 01:08:43 +02:00
TD-er d42277a2dd [PPP Modem] Show more cell info + correct reported RSSI/BER values 2025-07-17 00:55:06 +02:00
TD-er 78aec6bc0b [PPP modem] Add APN/Pin settings + show modem status 2025-07-16 17:36:52 +02:00
TD-er 35dc30d6a4 [PPP modem] Add more settings + simplify key/value/store use 2025-07-16 14:25:56 +02:00
TD-er 8dc91cdd44 [PPP Modem] Add modem parameters to NW005 + fix compile issues 2025-07-16 02:54:09 +02:00
TD-er 0f7cdf3ceb [Storage] Use key value store for storing network interfaces 2025-07-16 00:12:49 +02:00
TD-er 8a398d0acd [Storage] Remove 0-termination for strings from raw stored data 2025-07-15 14:04:43 +02:00
TD-er 550aa38dea [Storage] Fix issues storing/loading from key/value store 2025-07-15 13:52:25 +02:00
TD-er 0aad8b1ecf [Storage] Add tests for key/value store 2025-07-15 00:47:46 +02:00
TD-er 2ef4f2ffc1 [Storage] Add NWPluginData_base & optimize key/value store 2025-07-14 17:54:45 +02:00
TD-er 6c974ddf9c [Network] Uncrustify new code 2025-07-14 14:14:27 +02:00
TD-er 64f66e35f1 [Network] Fix build issues 2025-07-14 14:08:03 +02:00
TD-er 252d632365 [Network] Add NetworkSettings type to store network interface settings 2025-07-13 23:54:44 +02:00
TD-er 4d573f5b97 [Storage] Add save function for new key/value store 2025-07-13 18:20:41 +02:00
TD-er f38ae9b92e [Storage] Add load function for new key/value store 2025-07-13 15:46:41 +02:00
TD-er abd8a22dd7 [Storage] Add generic key/value store to simplify data storage 2025-07-13 01:58:40 +02:00
TD-er ef156ddb08 [Network] Split ETH into RMII and SPI + add template for PPP modem 2025-07-13 01:58:04 +02:00
TD-er ba2af9f5a3 [ESP32P4] Add extra HW serial ports supported by ESP32P4 2025-07-13 01:56:51 +02:00
TD-er 43b849714b [PPP Modem] Add framework for new PPP Modem network interface 2025-07-11 17:28:53 +02:00
TD-er 4aef5463be [Network] Show Network Interface flags 2025-07-11 16:57:05 +02:00
TD-er c6130f928f [Network] Process info based on NetworkInterface baseclass when possible 2025-07-11 15:58:39 +02:00
TD-er 049e9fa023 [Network] List all IP-addresses per network interface 2025-07-11 11:13:02 +02:00
TD-er 34ad6ec3c1 [Network] Fix Ethernet on ESP32P4 + allow multiple active interfaces 2025-07-11 01:18:36 +02:00
TD-er f2f89bdf94 [Network] Split ESP32P4 code from other MCUs 2025-07-10 21:46:49 +02:00
TD-er 09d2174751 Merge remote-tracking branch 'origin/bugfix/WiFi_state_machine' into bugfix/WiFi_state_machine 2025-07-10 00:46:51 +02:00
TD-er 1f404b34c8 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-07-10 00:46:34 +02:00
TD-er 57731b4849 [ESP32-P4] Add OTA update command for ESP32C6 WiFi firmware 2025-07-10 00:45:58 +02:00
TD-erandGitHub 80cc2fe2f1 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-07-09 17:37:13 +02:00
TD-er b90252efd7 [Network] Add ETH config page + tweak Network Page 2025-07-09 17:35:38 +02:00
TD-er 7db117500e [Cleanup] Fix JS issues 2025-07-09 12:29:52 +02:00
TD-er e56326ad88 [ESP32P4] Add more warnings for specific GPIO pins 2025-07-09 12:29:02 +02:00
TD-er e4c60dc6bc [ESP32P4] Fix crashes when trying to connect to WiFi 2025-07-08 11:50:46 +02:00
TD-er 7152862e71 [ESP32P4] Add preliminary support for ESP32P4 2025-07-08 01:00:41 +02:00
TD-er 58beac2708 [Network] Fix looping over CONTROLLER_MAX instead of NETWORK_MAX 2025-07-07 23:32:54 +02:00
TD-er e36a9563e8 [Network] Add webform load/save for WiFi STA and AP 2025-07-07 13:46:13 +02:00
TD-er b7163df50b [Network] Start on initial first WiFi STA/AP drivers 2025-07-06 22:12:18 +02:00
TD-er 7f10572145 [Network] Rename NetworkAdapter to NetworkDriver 2025-07-06 16:41:19 +02:00
TD-er 544bbc84f1 [Network] Continue adding network config page 2025-07-06 16:15:31 +02:00
TD-er 56a6706fb9 [Network] Start adding Network config page 2025-07-06 01:35:29 +02:00
TD-er b1317d4cef Merge branch 'mega' into bugfix/WiFi_state_machine 2025-07-03 14:10:22 +02:00
TD-er 284047d884 [Controller] Fix crashes on MQTT callback calls 2025-07-03 13:44:44 +02:00
TD-er e31e042fe5 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-07-03 11:29:38 +02:00
TD-er 083778f1a3 [PubSubClient3] Add check for nullptr in CHECK_STRING_LENGTH
strnlen will cause a crash when called with a nullptr. Where this macro is called, there are already some checks for optional fields, however it is a bit 'not so nice' for the device to crash when accidentally a nullptr is given for for example the id or will message. (will topic is checked, will message is not)

See: https://github.com/hmueller01/pubsubclient3/pull/48
2025-07-03 11:27:44 +02:00
TD-er 8f6f9efd71 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-07-02 22:37:04 +02:00
TD-er 5e7f1db5f3 [ESP32-C5] Add option to force WiFi band 2.4/5 GHz 2025-07-02 13:41:30 +02:00
TD-er c0a3168221 [Build] Fix failed build due to missing include 2025-06-29 00:44:43 +02:00
TD-er f2f58ada3e [PubSubClient3] Speedup publish large messages using buffer
As discussed here: https://github.com/hmueller01/pubsubclient3/issues/29#issuecomment-2727644476
2025-06-29 00:18:13 +02:00
TD-er 7fb4d4e821 [PubSubClient] Update to new fork PubSubClient3 2025-06-28 23:20:27 +02:00
chromoxdorandGitHub 085f59bf8a Merge branch 'mega' into httpResponseParser 2025-06-27 12:00:28 +02:00
TD-er 8275eb743d Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-06-27 10:34:42 +02:00
TD-er 0ed022e6b4 [Web flasher] Update esp web tools to 8.1.10 to support ESP32-C5 2025-06-27 10:19:57 +02:00
TD-er f1823928ba Merge branch 'mega' into bugfix/WiFi_state_machine 2025-06-26 22:26:15 +02:00
TD-erandGitHub 68f64195d2 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-06-26 21:32:14 +02:00
TD-er 59e3a1b119 [PWM motor] Speedup acting on limit switch interrupt 2025-06-26 18:16:14 +02:00
TD-er c7e6397a7b [MFRC522] Speedup reading by acting on interrupt pin 2025-06-26 18:15:26 +02:00
TD-er 873c6c731d [ESP-IDF] Update to latest SDK version 2025-06-26 18:14:52 +02:00
TD-erandGitHub 9f9cee8b08 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-06-26 15:53:58 +02:00
TD-er 7b6fd5f344 [Build] Add ESP32C5 to release.yml build script 2025-06-26 15:50:21 +02:00
TD-er 44b0694f1c [Log] Add PrintToLog helper 2025-06-26 15:49:51 +02:00
chromoxdor 3c9c2036ab HttpResponseParser fix:prevent race condition 2025-06-26 12:16:41 +02:00
TD-er 69f04883d6 [Rules] Fix processing variables with index > 2^31 2025-06-26 12:04:37 +02:00
TD-er a33f1b61e9 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-06-25 22:51:03 +02:00
chromoxdor 50cec921da Update HTTPResponseParser.h
fixed typo
2025-06-25 14:08:36 +02:00
chromoxdor 1a4b2bfb22 Update HTTPResponseParser.h 2025-06-25 14:06:56 +02:00
chromoxdor c2cf8d7a26 minor changes 2025-06-25 13:49:57 +02:00
chromoxdor 9a10690425 Update for the HTTP Response Parser 2025-06-25 13:24:48 +02:00
TD-er 1c995d5fe3 [MFRC522] Do proper timing for communicating with card 2025-06-25 13:07:58 +02:00
TD-er b48d96e135 [MFRC522] Allow to dump card info to debug logs 2025-06-25 13:07:06 +02:00
TD-er 88986c7744 [MFRC522] Simplify board reset during init 2025-06-25 13:04:47 +02:00
TD-er 0323cabbed Add HTML_Print and PrintToString helpers 2025-06-25 13:02:22 +02:00
TD-er 445f66cc9a [MFRC522] Improve range of reader 2025-06-25 00:55:03 +02:00
TD-er a6aca34f4e [MFRC522] Speed-up detecting cards + make error recovery more stable 2025-06-25 00:54:32 +02:00
TD-er d6d7f139bc [ESP-IDF] Update to latest IDF/Arduino code for IDF 5.5 2025-06-23 22:10:58 +02:00
TD-er 325f258edc Merge branch 'mega' into bugfix/WiFi_state_machine 2025-06-23 22:09:23 +02:00
TD-er ac392105a4 [ADC] Fix not setting attenuation on internal ADC 2025-06-23 19:50:21 +02:00
TD-er 5ed46c1c40 [ESP32-C61] Start adding support for new SoC & generalize WiFi features 2025-06-23 15:50:46 +02:00
TD-er e69827b73e Merge branch 'mega' into bugfix/WiFi_state_machine 2025-06-22 22:29:22 +02:00
TD-er 100d64e5cc [build] Change ESP32 IRExt builds to LIMIT_BUILD_SIZE 2025-06-21 01:50:23 +02:00
TD-er 4703d4f948 [Build] Fix display ESP32 build 2025-06-21 01:24:53 +02:00
TD-er ec4b23a021 [Build] Get rid of all ESP32-SPIFFS builds 2025-06-21 01:03:40 +02:00
TD-er 0d5293962a Merge branch 'mega' into bugfix/WiFi_state_machine 2025-06-20 17:29:44 +02:00
TD-er a9b749c34a [ESP32-C5] Add hardware specific info about ESP32-C5 2025-06-20 17:28:41 +02:00
TD-er 54e0ad486f [ESP-IDF] Revert to older build due to broken UART support 2025-06-20 17:27:53 +02:00
TD-er ee6c6b6bfe [ESP32-S2] Change ADC for ESP32-S2 back to 13 bit 2025-06-20 11:21:19 +02:00
TD-er c144a59146 [ESPtool] Prepare use of esptool v5.0.0 2025-06-20 11:20:13 +02:00
TD-er 7465a2233e [ESP-IDF] Update to latest SDK/IDF 2025-06-20 11:19:24 +02:00
TD-er 47c9f352b2 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-06-12 13:41:49 +02:00
TD-erandGitHub 5441aa6ebb Merge branch 'mega' into bugfix/WiFi_state_machine 2025-06-12 13:34:25 +02:00
TD-er 203f476484 [ESP32-C5] Fix file name error for platformio_esp32c5_envs.ini 2025-05-25 15:42:42 +02:00
TD-er 732b4ff622 [ESP32-C5] Minor tweaks formatting used WiFi protocol 2025-05-25 00:24:22 +02:00
TD-er 382dad51a1 [ESP32-C5] Add preliminary support for ESP32-C5 with dual band WiFi 2025-05-24 02:24:44 +02:00
TD-er 5dd624e74e Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-05-23 21:37:28 +02:00
TD-er 0b87b5fc63 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-04-26 00:00:53 +02:00
TD-er cdf87fb6fa Merge branch 'mega' into bugfix/WiFi_state_machine 2025-04-22 09:53:59 +02:00
TD-er 16d33ffdfe Merge branch 'mega' into bugfix/WiFi_state_machine 2025-04-21 22:19:34 +02:00
TD-er 7c9cd48a44 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-04-19 22:52:02 +02:00
TD-er 02e2f92e29 [1-wire] Fix ESP8266 builds not fitting in IRAM 2025-04-18 17:11:55 +02:00
TD-er a2a0e2c77b [timing stats] Simplify and speedup collecting timing stats 2025-04-17 00:50:03 +02:00
TD-er e7841a2c98 [ESP-IDF5.3] Update to latest Arduino/ESP-IDF5.3 version 2025-04-17 00:49:11 +02:00
TD-erandGitHub b787a36db0 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-04-16 22:07:52 +02:00
TD-erandGitHub 3cb46a7d17 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-03-27 09:05:31 +01:00
TD-er b000d8d171 Merge remote-tracking branch 'origin/bugfix/WiFi_state_machine' into bugfix/WiFi_state_machine 2025-03-26 22:56:13 +01:00
TD-er fd626021bb Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-03-26 22:55:52 +01:00
TD-er f850af34c1 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-03-26 08:37:35 +01:00
TD-er d770d6e8d3 [Serial] Add setXxBufferSize functions 2025-03-26 08:37:19 +01:00
TD-erandGitHub c0e15f0ebd Merge branch 'mega' into bugfix/WiFi_state_machine 2025-03-15 18:20:22 +01:00
TD-er 853245c0fb [Eastron] Speed up parsing Modbus RTU messages 2025-03-15 00:03:54 +01:00
TD-er 7e2bce22c0 [ESP-IDF5.4] Prepare for ESP-IDF5.4 with Arduino 3.2.0 2025-03-13 15:48:15 +01:00
TD-er 4e45c17447 Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-03-12 23:48:50 +01:00
TD-er f6bd2c40dc [WiFi] Fix reconnecting + WiFi scan 2025-03-12 17:05:09 +01:00
TD-er 53ac3f75ef Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-03-12 11:49:39 +01:00
TD-er 48d3b7d02d [Cleanup] Uncrustify WiFi/Network code 2025-03-11 23:01:27 +01:00
TD-er 3d2b15ff8d [WiFi] Fix build error on ESP8266 2025-03-11 22:59:02 +01:00
TD-er 99ec939cef [WiFi] Fix (re-)connecting after WiFi connection lost 2025-03-11 22:26:38 +01:00
TD-er c969cd0012 [Rules] Fix broken math parsing
As reported on the [forum](https://www.letscontrolit.com/forum/viewtopic.php?p=73218#p73218)
2025-03-10 21:26:53 +01:00
TD-er 3d62e87fab [Cleanup] Optimize parsing system variables 2025-03-10 18:01:51 +01:00
TD-er c58ac90c8c [WiFi] Fix setting dynamic WiFi TX power 2025-03-10 12:18:44 +01:00
TD-erandGitHub 05a2d1cf83 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-03-10 10:37:17 +01:00
TD-erandGitHub 362fbe5ec7 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-03-06 10:14:31 +01:00
TD-erandGitHub ecb300ef34 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-02-26 10:09:48 +01:00
TD-er 78c2c04ae6 [Memory] Fix crashes on ESP32-S2 with 8M PSRAM 2025-02-21 16:33:46 +01:00
TD-er c391ad8a3b [Memory] Improve memory usage on Strings and task data 2025-02-20 17:04:42 +01:00
TD-er bf300aa177 [WiFi] Fix not setting wifi as initialized too often 2025-02-20 17:03:42 +01:00
TD-er 130d297fe5 [ESP32S3] Fix bootloop on ESP32S3 with OPI PSRAM 2025-02-20 17:02:56 +01:00
TD-er 5c9d7be604 [Memory] Move other controller queue elements to 2nd heap (ESP8266) 2025-02-19 23:17:18 +01:00
TD-er 64eff226d6 [Memory] Move C001 and C002 queue elements to 2nd heap (ESP8266) 2025-02-19 18:03:48 +01:00
TD-er e94cbce20d [Memory] Make memory allocation on ESP8266 2nd heap more stable 2025-02-19 17:44:03 +01:00
TD-er e84d07fba6 [Build] Fix build issues on ESP32-xx 2025-02-18 23:08:51 +01:00
TD-er fac4d97ca3 [ESP8266] Balance more what should be allocated on 2nd heap 2025-02-18 17:26:52 +01:00
TD-er 4fa9ef19df Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2025-02-17 23:35:06 +01:00
TD-er 9d57e8b6ef [ESP8266] Fix crash on ESP8266 SDK 2.7.4 2025-02-17 22:06:58 +01:00
TD-er 115e8a571d [Cleanup] Simplify generating sysinfo page 2025-02-17 17:47:47 +01:00
TD-er e6957bd0f9 [ESP8266] Fix crash on processing log with weblog enabled. 2025-02-17 17:43:05 +01:00
TD-er 3f2ac690fb [WiFi] Fix processing connected event 2025-02-17 16:31:13 +01:00
TD-er ce69d37972 [ESPEasy p2p] Add node-IDs for new Espressif SoC models 2025-02-17 16:30:36 +01:00
TD-er a6fc728397 [ESP-SDK] Update to ESP32/Arduino 3.1.3 2025-02-17 16:29:27 +01:00
TD-erandGitHub fe9a77149a Merge branch 'mega' into bugfix/WiFi_state_machine 2025-02-16 22:51:11 +01:00
TD-er 6d15414fb9 [ESP-IDF] Update to latest Arduino 3.1.2 for LittleFS builds 2025-02-13 16:22:48 +01:00
TD-er d7342f0b59 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-02-06 22:57:11 +01:00
TD-erandGitHub 79bba2c1a1 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-02-03 23:38:17 +01:00
TD-erandGitHub c388addad4 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-01-28 17:21:27 +01:00
TD-er 50a404427e [Memory] Add small optimization in free_string() to prevent copying 2025-01-28 15:12:29 +01:00
TD-er 02f070c9e9 [Memory] Fix freeing of allocated strings 2025-01-28 14:50:10 +01:00
TD-er 079d58d779 [PSRAM] Use PSRAM for logs, events and controller queues 2025-01-28 02:38:55 +01:00
TD-erandGitHub fde87f3729 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-01-27 15:53:25 +01:00
TD-er 85203fca45 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-01-17 20:56:43 +01:00
TD-erandGitHub b9fc56f1a6 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-01-16 08:54:15 +01:00
TD-erandGitHub bb7568a9c0 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-01-13 00:30:46 +01:00
TD-er cd41252bb8 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-01-10 10:13:04 +01:00
TD-er bbc99e2c05 [WiFi] Call WiFi_AP_Candidates.force_reload() on saving security setting 2025-01-06 18:04:57 +01:00
TD-er 3741f7f24f [WiFi] Fix start AP for setup 2025-01-06 17:33:40 +01:00
TD-er bf3485344e [WiFi] Fix event handling for WiFi on ESP32 2025-01-06 15:12:45 +01:00
TD-er e00f7ddb33 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-01-06 10:15:00 +01:00
TD-erandGitHub 2e8d0b93d6 Merge branch 'mega' into bugfix/WiFi_state_machine 2025-01-01 13:54:18 +01:00
TD-erandGitHub 618a40823c Merge branch 'mega' into bugfix/WiFi_state_machine 2024-12-30 12:27:26 +01:00
TD-er d0254c5ca2 Merge branch 'mega' into bugfix/WiFi_state_machine 2024-12-30 01:33:46 +01:00
TD-er bea116cf27 Merge branch 'mega' into bugfix/WiFi_state_machine 2024-12-29 14:29:28 +01:00
TD-erandGitHub cd1db06c64 Merge branch 'mega' into bugfix/WiFi_state_machine 2024-12-21 14:36:38 +01:00
TD-erandGitHub 201410226b Merge branch 'mega' into bugfix/WiFi_state_machine 2024-12-18 21:20:33 +01:00
TD-erandGitHub 5438997145 Merge branch 'mega' into bugfix/WiFi_state_machine 2024-12-16 23:15:03 +01:00
TD-er b2e26d0518 Merge branch 'mega' into bugfix/WiFi_state_machine 2024-12-09 23:18:24 +01:00
TD-er 64b9f4800b [WiFi] Update to latest ESP-IDF SDK + handle gotIP event on ESP8266 2024-12-06 23:27:05 +01:00
TD-er 6ab4ba66de [WiFi] Fix not showing /setup page 2024-12-06 21:26:59 +01:00
TD-er 9d9821cc63 [WiFi] Add some debug log to track GotIP event 2024-12-06 13:20:44 +01:00
TD-er ecd4ee5038 Merge branch 'mega' into bugfix/WiFi_state_machine 2024-12-06 09:36:07 +01:00
TD-erandGitHub d95c76333c Merge branch 'mega' into bugfix/WiFi_state_machine 2024-11-13 21:52:08 +01:00
TD-er c78edee911 [PSRAM] Fix solo1 builds 2024-11-10 20:13:19 +01:00
TD-er aaa6be7dbd [PSRAM] Cleanup code 2024-11-10 15:45:04 +01:00
TD-er a1fa226502 [PSRAM] Fix build on ESP-IDF 5.1 + add special case of ESP32-picoD4 2024-11-10 15:35:59 +01:00
TD-er 37d6f38b6d Merge remote-tracking branch 'letscontrolit/mega' into bugfix/WiFi_state_machine 2024-11-10 14:42:54 +01:00
TD-er 40df9b2b3a [PSRAM] Free GPIO-16 and -17 on ESP32-classic when no PSRAM present 2024-11-10 14:42:00 +01:00
TD-er 0eacd3d63e [IPv6] Disable IPv6 for ESP32-C2 2024-11-09 22:14:57 +01:00
TD-er 2e6fa428c7 [WiFi] Fix build issue due to enum naming conflict 2024-11-09 16:58:23 +01:00
TD-er 7fed5ff362 [WiFi] Allow connecting to hidden SSID network 2024-11-09 16:34:49 +01:00
TD-er ae7d49e5bb [WiFi] Restructure ESP32/ESP8266 code 2024-11-05 00:44:01 +01:00
TD-er b5f360de1d [WiFi] Start using simplified state machine for WiFi 2024-11-03 00:47:56 +01:00
TD-er e5100b180d [WiFi] First part of moving code around to restructure WiFi code 2024-11-02 13:59:21 +01:00
TD-er 07a6c55354 [Cleanup] Fix spelling error in filename 2024-10-26 21:08:46 +02:00
TD-er 44f4bb2713 [Cleanup] Get rid of ESP32-IDF code for IDF3.x or older 2024-10-26 18:31:07 +02:00
TD-er c731223456 [WiFi] Split WiFi code specific for ESP8266 and ESP32 2024-10-26 18:15:22 +02:00
1164 changed files with 67052 additions and 23291 deletions
+14 -14
View File
@@ -5,7 +5,7 @@ name: Build
on:
push:
branches: [mega]
tags-ignore: '**'
tags-ignore: ['**']
paths-ignore:
- 'dist/Release_notes.txt'
- 'docs/**'
@@ -23,8 +23,8 @@ jobs:
documentation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: '3.13'
- name: Build documentation
@@ -37,7 +37,7 @@ jobs:
make html
cd ..
zip -r -qq ESPEasy_docs.zip docs/build/*
- uses: actions/upload-artifact@v6
- uses: actions/upload-artifact@v7
with:
name: Documentation
path: ESPEasy_docs.zip
@@ -46,14 +46,14 @@ jobs:
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: '3.13'
- id: set-matrix
run: |
pip install uv
uv pip install --system platformio
uv pip install --system pioarduino
python tools/ci/generate-matrix.py
build:
@@ -62,8 +62,8 @@ jobs:
strategy:
matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: '3.13'
- name: Dependencies
@@ -88,7 +88,7 @@ jobs:
uses: Entepotenz/change-string-case-action-min-dependencies@v1
with:
string: ${{ matrix.chip }}
- uses: actions/upload-artifact@v6
- uses: actions/upload-artifact@v7
with:
# FIXME Workaround to (temporarily) not use # in the artifact name, see https://github.com/actions/upload-artifact/issues/473
name: Bin-${{ steps.string.outputs.uppercase }}-${{ matrix.env }}-${{ steps.date.outputs.builddate }}_PR_${{ github.event.number }}_${{ github.run_id }} # Sort by ESP type
@@ -101,8 +101,8 @@ jobs:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: '3.13'
- name: Get current date
@@ -110,7 +110,7 @@ jobs:
run: |
echo "builddate=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT
- name: Download all artifacts
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
path: artifacts/Binaries/bin/
pattern: Bin-*
@@ -119,7 +119,7 @@ jobs:
run: |
cd artifacts/Binaries/
ls -R
- uses: actions/upload-artifact@v6
- uses: actions/upload-artifact@v7
with:
# FIXME Workaround to (temporarily) not use # in the artifact name, see https://github.com/actions/upload-artifact/issues/473
name: ESPEasy-all-Binaries-${{ steps.date.outputs.builddate }}_PR_${{ github.event.number }}_${{ github.run_id }}
+22 -16
View File
@@ -9,8 +9,8 @@ name: Release
on:
push:
branches-ignore: '**'
tags: 'mega-*'
branches-ignore: ['**']
tags: ['mega-*']
permissions:
contents: read
@@ -21,14 +21,14 @@ jobs:
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: '3.13'
- id: set-matrix
run: |
pip install uv
uv pip install --system platformio
uv pip install --system pioarduino
python tools/ci/generate-matrix.py
build:
@@ -37,8 +37,8 @@ jobs:
strategy:
matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: '3.13'
- name: Dependencies
@@ -58,7 +58,7 @@ jobs:
uses: Entepotenz/change-string-case-action-min-dependencies@v1
with:
string: ${{ matrix.chip }}
- uses: actions/upload-artifact@v6
- uses: actions/upload-artifact@v7
with:
name: Bin-${{ steps.string.outputs.uppercase }}-${{ matrix.env }}
path: |
@@ -69,8 +69,10 @@ jobs:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: '3.13'
- name: Build documentation
run: |
cd docs
@@ -85,7 +87,7 @@ jobs:
cd dist
zip -r -qq ../ESPEasy_dist.zip *
cd ..
- uses: actions/upload-artifact@v6
- uses: actions/upload-artifact@v7
with:
name: Distribution
path: |
@@ -99,7 +101,7 @@ jobs:
notes: ${{ steps.release-notes.outputs.result }}
steps:
- id: release-notes
uses: actions/github-script@v8
uses: actions/github-script@v9
with:
result-encoding: string
script: |
@@ -121,7 +123,7 @@ jobs:
needs: [build, prepare-dist, prepare-notes]
runs-on: ubuntu-latest
steps:
- uses: actions/setup-python@v6
- uses: actions/setup-python@v7
with:
python-version: '3.13'
- name: Get current date
@@ -129,13 +131,13 @@ jobs:
run: |
echo "builddate=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT
- name: Download all successfully compiled artifacts
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
path: artifacts/bin/
pattern: Bin-*
merge-multiple: true
- name: Download dist and docs zip files
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
path: distribution/
name: Distribution
@@ -152,8 +154,10 @@ jobs:
find . -name '*ESP32c3*' -print | zip -@ ../ESPEasy_ESP32c3.zip
find . -name '*ESP32s3*' -print | zip -@ ../ESPEasy_ESP32s3.zip
find . -name '*ESP32c2*' -print | zip -@ ../ESPEasy_ESP32c2.zip
find . -name '*ESP32c5*' -print | zip -@ ../ESPEasy_ESP32c5.zip
find . -name '*ESP32c6*' -print | zip -@ ../ESPEasy_ESP32c6.zip
find . -name '*ESP32solo1*' -print | zip -@ ../ESPEasy_ESP32solo1.zip
find . -name '*ESP32p4*' -print | zip -@ ../ESPEasy_ESP32p4.zip
find . -name '*ESP32_*' -print | zip -@ ../ESPEasy_ESP32.zip
cd ..
# Add dist tools to each package, after removing some unneeded files
@@ -169,13 +173,15 @@ jobs:
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c3_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32c3.zip
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32s3_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32s3.zip
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c2_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32c2.zip
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c5_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32c5.zip
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c6_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32c6.zip
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32solo1_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32solo1.zip
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32p4_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32p4.zip
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32.zip
- uses: ncipollo/release-action@v1
with:
# Upload all separately supported CPU models and the docs zip
# TODO if/when available: ESP32h2
artifacts: "ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP82xx_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32solo1_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32s2_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c3_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32s3_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c2_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c6_binaries.zip,distribution/*.zip"
artifacts: "ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP82xx_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32solo1_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32s2_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c3_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32s3_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c2_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c5_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32c6_binaries.zip,ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32p4_binaries.zip,distribution/*.zip"
body: ${{ needs.prepare-notes.outputs.notes }}
token: ${{ secrets.GITHUB_TOKEN }}
+7 -1
View File
@@ -89,4 +89,10 @@ dependencies.lock
src/src/CustomBuild/CompiletimeDefines_generated.h
bhutan_16m.bin
sdkconfig.*
src/Custom_.h
compile_commands.json
*.Identifier
+32 -14
View File
@@ -4,6 +4,20 @@
For ways to *support* us, see [this announcement on the forum](https://www.letscontrolit.com/forum/viewtopic.php?f=14&t=5787), or have a look at the [Patreon](https://www.patreon.com/GrovkillenTDer), [Ko-Fi](https://ko-fi.com/grovkillentder) or [PayPal](https://www.paypal.me/espeasy) links above.
# ESPEasy, Automate (using) Common Sense, No AI.
The main objective for ESPEasy is to make people realize they can easily control appliances and act on sensor data.
Anyone can use it and you don't need AI.
Only requirement is common sense and appreciate the satisfaction of seeing things just work.
If you can't build it yourself, you don't 'own' it.
So let's make sure YOU control it.
We are more than willing to assist via our [forum](https://www.letscontrolit.com/forum).
# ESPEasy (development branch)
@@ -53,6 +67,7 @@ collection_F | Normal + plugin collection F | Stable + Collection b
collection_G | Normal + plugin collection G | Stable + Collection base + set G |
collection_H | Normal + plugin collection H | Stable + Collection base + set H |
max | All available plugins | All available |
max32 | All available plugins, 32MB Flash | All available, large file system |
energy | All plugins related to energy measurement | Stable + Energy measurement |
display A | All plugins related to displays A | Stable + Displays A |
display B | All plugins related to displays B | Stable + Displays B |
@@ -87,6 +102,10 @@ ESP32c3 | Espressif ESP32-C3 generic boards |
ESP32s3 | Espressif ESP32-S3 generic boards |
ESP32c2 | Espressif ESP32-C2 generic boards |
ESP32c6 | Espressif ESP32-C6 generic boards |
ESP32c61 | Espressif ESP32-C61 generic boards (experimental) |
ESP32c5 | Espressif ESP32-C5 generic boards (experimental) |
ESP32p4 | Espressif ESP32-P4 (Rev.1) generic boards |
ESP32p4r3 | Espressif ESP32-P4 (Rev.3/P4X) generic boards |
ESP32-wrover-kit | Espressif ESP32 wrover-kit boards |
SONOFF | Sonoff hardware specific |
other_POW | Switch with power measurement |
@@ -110,10 +129,10 @@ Flash size | Description |
16M | 16 MB with 14 MB filesystem |
4M316k | 4 MB with 316 kB filesystem |
8M1M | 8 MB with 1 MB filesystem |
16M1M | 16 MB with 1 MB filesystem |
16M8M | 16 MB with 8 MB filesystem |
32M20M | 32 MB with 20 MB filesystem |
N.B. Starting with release 2023/12/25, All ESP32 LittleFS builds use IDF 5.3, to support newer ESP32 chips like ESP32-C2 and ESP32-C6, and SPI Ethernet. Other SPIFFS based ESP32 builds will be migrated to LittleFS as SPIFFS is no longer officially available in IDF 5 and later. As a temporary solution, a specially crafted IDF 5.1 build that still includes SPIFFS, is used for the SPIFFS builds. A migration plan will be made available in 2025.
N.B. Starting with release 2023/12/25, All ESP32 LittleFS builds use IDF 5.3, to support newer ESP32 chips like ESP32-C2 and ESP32-C6, and SPI Ethernet. Other SPIFFS based ESP32 builds will be migrated to LittleFS as SPIFFS is no longer officially available in IDF 5 and later. As a temporary solution, a specially crafted IDF 5.1 build that still includes SPIFFS, is used for the SPIFFS builds. A migration plan is available, [here](https://espeasy.readthedocs.io/en/latest/Reference/Migrate_SPIFFS_to_LittleFS.html).
N.B.2 Starting with builds made after 2025/11/04, ESP32 builds will no longer have ``_LittleFS`` in the name as all ESP32 builds use LittleFS. Also the suffix ``_ETH`` has been removed since all builds will have Ethernet support, except for ESP32C2 builds.
@@ -128,7 +147,7 @@ Domoticz_MQTT | Only Domoticz controllers (MQTT) and plugins included
FHEM_HA | Only FHEM/OpenHAB/Home Assistant (MQTT) controllers and plugins included |
ETH | Ethernet support enabled (ESP32 and IDF 5.x based builds) |
OPI_PSRAM | Specific configuration to enable PSRAM detection, ESP32-S3 only |
CDC | Support USBCDC/HWCDC-serial console on ESP32-C3, ESP32-S2, ESP32-S3 and ESP32-C6 |
CDC | Support USBCDC/HWCDC-serial console on ESP32-C3, ESP32-S2, ESP32-S3, ESP32-C6, ESP32-C61 and ESP32-C5 |
noOTA/NO_OTA | Does not support OTA (Over The Air-updating of the firmware) Use [the flash page](https://td-er.nl/ESPEasy/) or ESPTool via USB Serial |
N.B. Starting ca. 2025/02/27, many ESP32 builds are *only* available with _ETH suffix, indicating that Ethernet support is enabled, to reduce the (rather high) number of builds.
@@ -136,18 +155,17 @@ N.B. Starting ca. 2025/02/27, many ESP32 builds are *only* available with _ETH s
Some example firmware names:
Firmware name | Hardware | Included plugins |
--------------------------------------------------------|-------------------------------------------------|----------------------------------|
ESPEasy_mega-20230822_normal_ESP8266_1M.bin | ESP8266/ESP8285 with 1MB flash | Stable |
ESPEasy_mega-20230822_normal_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable |
ESPEasy_mega-20230822_collection_A_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable + Collection base + set A |
ESPEasy_mega-20230822_normal_ESP32_4M316k_ETH.bin | ESP32 with 4MB flash | Stable |
ESPEasy_mega-20230822_collection_A_ESP32_4M316k_ETH.bin | ESP32 with 4MB flash | Stable + Collection base + set A |
ESPEasy_mega-20230822_collection_B_ESP32_4M316k_ETH.bin | ESP32 with 4MB flash | Stable + Collection base + set B |
ESPEasy_mega-20230822_max_ESP32s3_8M1M.bin | ESP32-S3 with 8MB flash, CDC-serial, Ethernet | All available plugins |
ESPEasy_mega-20230822_max_ESP32s3_8M1M_OPI_PSRAM.bin | ESP32-S3 8MB flash, PSRAM, CDC-serial, Ethernet | All available plugins |
ESPEasy_mega-20230822_max_ESP32_16M1M_ETH.bin | ESP32 with 16MB flash, SPIFFS, Ethernet | All available plugins |
ESPEasy_mega-20230822_max_ESP32_16M8M.bin | ESP32 with 16MB flash, LittleFS, Ethernet | All available plugins |
ESPEasy_mega-20260121_normal_ESP8266_1M.bin | ESP8266/ESP8285 with 1MB flash | Stable |
ESPEasy_mega-20260121_normal_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable |
ESPEasy_mega-20260121_collection_A_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable + Collection base + set A |
ESPEasy_mega-20260121_normal_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable |
ESPEasy_mega-20260121_collection_A_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable + Collection base + set A |
ESPEasy_mega-20260121_collection_B_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable + Collection base + set B |
ESPEasy_mega-20260121_max_ESP32s3_8M1M.bin | ESP32-S3 with 8MB flash, CDC-serial, Ethernet | All available plugins |
ESPEasy_mega-20260121_max_ESP32s3_8M1M_OPI_PSRAM.bin | ESP32-S3 8MB flash, PSRAM, CDC-serial, Ethernet | All available plugins |
ESPEasy_mega-20260121_max_ESP32_16M8M.bin | ESP32 with 16MB flash, LittleFS, Ethernet | All available plugins |
The binary files for the different ESP32 variants (S2, C3, S3, C2, C6, Solo1, 'Classic') are available in separate archives.
The binary files for the different ESP32 variants (S2, C3, S3, C2, C6/C61, C5, P4, Solo1, 'Classic') are available in separate archives.
To see what plugins are included in which collection set, you can find that on the [ESPEasy Plugin overview page](https://espeasy.readthedocs.io/en/latest/Plugin/_Plugin.html)
+3 -4
View File
@@ -6,6 +6,7 @@
"f_flash": "40000000L",
"flash_mode": "dio",
"mcu": "esp32",
"chip_variant": "esp32u",
"variant": "esp32",
"partitions": "boards/partitions/esp32_partition_app1810k_spiffs316k.csv"
},
@@ -30,10 +31,8 @@
"require_upload_port": true,
"speed": 460800
},
"espidf": {
"custom_sdkconfig": [
"CONFIG_FREERTOS_UNICORE=y"
]
"download": {
"speed": 230400
},
"url": "https://en.wikipedia.org/wiki/ESP32",
"vendor": "Espressif"
+1 -1
View File
@@ -4,7 +4,7 @@
"ldscript": "esp32c3_out.ld"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DESP32_16M -DESP32C3 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=1",
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DESP32_16M -DESP32C3 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "dio",
+1 -2
View File
@@ -4,7 +4,7 @@
"ldscript": "esp32c3_out.ld"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DESP32_4M -DESP32C3 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=1",
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DESP32_4M -DESP32C3 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "dio",
@@ -29,7 +29,6 @@
"maximum_ram_size": 327680,
"maximum_size": 4194304,
"require_upload_port": true,
"before_reset": "usb_reset",
"speed": 460800
},
"url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/hw-reference/esp32c3/user-guide-devkitm-1.html",
+40
View File
@@ -0,0 +1,40 @@
{
"build": {
"arduino":{
"ldscript": "esp32c5_out.ld"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32C5 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"mcu": "esp32c5",
"variant": "esp32c5",
"partitions": "boards/partitions/esp32_partition_app4096k_spiffs8124k.csv"
},
"connectivity": [
"wifi",
"bluetooth"
],
"debug": {
"default_tool": "esp-builtin",
"onboard_tools": [
"esp-builtin"
],
"openocd_target": "esp32c5.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Espressif Generic ESP32-C5 16M Flash, ESPEasy 4096k Code/OTA 8M FS",
"upload": {
"flash_size": "16MB",
"maximum_ram_size": 327680,
"maximum_size": 16777216,
"require_upload_port": true,
"speed": 460800
},
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c5/esp32-c5-devkitc-1/index.html",
"vendor": "Espressif"
}
+40
View File
@@ -0,0 +1,40 @@
{
"build": {
"arduino":{
"ldscript": "esp32c5_out.ld"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_32M -DESP32C5 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"mcu": "esp32c5",
"variant": "esp32c5",
"partitions": "boards/partitions/esp32_partition_app6144k_spiffs20412k.csv"
},
"connectivity": [
"wifi",
"bluetooth"
],
"debug": {
"default_tool": "esp-builtin",
"onboard_tools": [
"esp-builtin"
],
"openocd_target": "esp32c5.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Espressif Generic ESP32-C5 32M Flash, ESPEasy 6144k Code/OTA 20M FS",
"upload": {
"flash_size": "32MB",
"maximum_ram_size": 327680,
"maximum_size": 33554432,
"require_upload_port": true,
"speed": 460800
},
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c5/esp32-c5-devkitc-1/index.html",
"vendor": "Espressif"
}
+40
View File
@@ -0,0 +1,40 @@
{
"build": {
"arduino":{
"ldscript": "esp32c5_out.ld"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32C5 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"mcu": "esp32c5",
"variant": "esp32c5",
"partitions": "boards/partitions/esp32_partition_app3520k_spiffs1088k.csv"
},
"connectivity": [
"wifi",
"bluetooth"
],
"debug": {
"default_tool": "esp-builtin",
"onboard_tools": [
"esp-builtin"
],
"openocd_target": "esp32c5.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Espressif Generic ESP32-C5 >= 8M Flash, ESPEasy 3520k Code/OTA 1088k FS",
"upload": {
"flash_size": "8MB",
"maximum_ram_size": 327680,
"maximum_size": 8388608,
"require_upload_port": true,
"speed": 460800
},
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c5/esp32-c5-devkitc-1/index.html",
"vendor": "Espressif"
}
+40
View File
@@ -0,0 +1,40 @@
{
"build": {
"arduino":{
"ldscript": "esp32c5_out.ld"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32C5 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"mcu": "esp32c5",
"variant": "esp32c5",
"partitions": "boards/partitions/esp32_partition_app1810k_spiffs316k.csv"
},
"connectivity": [
"wifi",
"bluetooth"
],
"debug": {
"default_tool": "esp-builtin",
"onboard_tools": [
"esp-builtin"
],
"openocd_target": "esp32c5.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Espressif Generic ESP32-C5 >= 4M Flash, ESPEasy 1810k Code/OTA 316k FS",
"upload": {
"flash_size": "4MB",
"maximum_ram_size": 327680,
"maximum_size": 4194304,
"require_upload_port": true,
"speed": 460800
},
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c5/esp32-c5-devkitc-1/index.html",
"vendor": "Espressif"
}
+40
View File
@@ -0,0 +1,40 @@
{
"build": {
"arduino":{
"ldscript": "esp32c61_out.ld"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32C61 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"mcu": "esp32c61",
"variant": "esp32c61",
"partitions": "boards/partitions/esp32_partition_app3520k_spiffs1088k.csv"
},
"connectivity": [
"wifi",
"bluetooth"
],
"debug": {
"default_tool": "esp-builtin",
"onboard_tools": [
"esp-builtin"
],
"openocd_target": "esp32c61.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Espressif Generic ESP32-C61 >= 8M Flash, ESPEasy 3520k Code/OTA 1088k FS",
"upload": {
"flash_size": "8MB",
"maximum_ram_size": 327680,
"maximum_size": 8388608,
"require_upload_port": true,
"speed": 460800
},
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitc-1/index.html",
"vendor": "Espressif"
}
+1 -1
View File
@@ -4,7 +4,7 @@
"ldscript": "esp32c6_out.ld"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32C6 -DARDUINO_USB_CDC_ON_BOOT=1",
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32C6 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
+1 -1
View File
@@ -4,7 +4,7 @@
"ldscript": "esp32c6_out.ld"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32C6 -DARDUINO_USB_CDC_ON_BOOT=1",
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32C6 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
+1 -1
View File
@@ -4,7 +4,7 @@
"ldscript": "esp32c6_out.ld"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32C6 -DARDUINO_USB_CDC_ON_BOOT=1",
"extra_flags": "-DARDUINO_TASMOTA -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32C6 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
+39
View File
@@ -0,0 +1,39 @@
{
"build": {
"core": "esp32",
"extra_flags": [
"-DARDUINO_TASMOTA -DESP32P4 -DESP32_32M -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE"
],
"f_cpu": "360000000L",
"f_flash": "80000000L",
"f_psram": "200000000L",
"flash_mode": "qio",
"mcu": "esp32p4",
"chip_variant": "esp32p4_es",
"variant": "esp32p4",
"partitions": "boards/partitions/esp32_partition_app6144k_spiffs20412k.csv"
},
"connectivity": [
"wifi",
"bluetooth",
"openthread",
"ethernet"
],
"debug": {
"openocd_target": "esp32p4.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Espressif ESP32-P4 Function EV Board 32M Flash, ESPEasy 6144k Code/OTA 20M FS",
"upload": {
"flash_size": "32MB",
"maximum_ram_size": 768000,
"maximum_size": 33554432,
"require_upload_port": true,
"speed": 1500000
},
"url": "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4-function-ev-board/index.html",
"vendor": "Espressif"
}
+39
View File
@@ -0,0 +1,39 @@
{
"build": {
"core": "esp32",
"extra_flags": [
"-DARDUINO_TASMOTA -DESP32P4 -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE"
],
"f_cpu": "360000000L",
"f_flash": "80000000L",
"f_psram": "200000000L",
"flash_mode": "qio",
"mcu": "esp32p4",
"chip_variant": "esp32p4_es",
"variant": "esp32p4",
"partitions": "boards/partitions/esp32_partition_app4096k_spiffs8124k.csv"
},
"connectivity": [
"wifi",
"bluetooth",
"openthread",
"ethernet"
],
"debug": {
"openocd_target": "esp32p4.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Espressif ESP32-P4 Function EV Board 16M Flash, ESPEasy 4096k Code/OTA 8M FS",
"upload": {
"flash_size": "16MB",
"maximum_ram_size": 768000,
"maximum_size": 16777216,
"require_upload_port": true,
"speed": 1500000
},
"url": "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4-function-ev-board/index.html",
"vendor": "Espressif"
}
+39
View File
@@ -0,0 +1,39 @@
{
"build": {
"core": "esp32",
"extra_flags": [
"-DARDUINO_TASMOTA -DESP32P4R3 -DESP32_32M -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE"
],
"f_cpu": "400000000L",
"f_flash": "80000000L",
"f_psram": "200000000L",
"flash_mode": "qio",
"mcu": "esp32p4",
"chip_variant": "esp32p4",
"variant": "esp32p4",
"partitions": "boards/partitions/esp32_partition_app6144k_spiffs20412k.csv"
},
"connectivity": [
"wifi",
"bluetooth",
"openthread",
"ethernet"
],
"debug": {
"openocd_target": "esp32p4.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Espressif Generic ESP32-P4 rev.3 32M Flash, ESPEasy 6144k Code/OTA 20M FS",
"upload": {
"flash_size": "32MB",
"maximum_ram_size": 768000,
"maximum_size": 33554432,
"require_upload_port": true,
"speed": 1500000
},
"url": "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4x-function-ev-board/index.html",
"vendor": "Espressif"
}
+39
View File
@@ -0,0 +1,39 @@
{
"build": {
"core": "esp32",
"extra_flags": [
"-DARDUINO_TASMOTA -DESP32P4R3 -DESP32_16M -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE"
],
"f_cpu": "400000000L",
"f_flash": "80000000L",
"f_psram": "200000000L",
"flash_mode": "qio",
"mcu": "esp32p4",
"chip_variant": "esp32p4",
"variant": "esp32p4",
"partitions": "boards/partitions/esp32_partition_app4096k_spiffs8124k.csv"
},
"connectivity": [
"wifi",
"bluetooth",
"openthread",
"ethernet"
],
"debug": {
"openocd_target": "esp32p4.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Espressif Generic ESP32-P4 rev.3 16M Flash, ESPEasy 4096k Code/OTA 8M FS",
"upload": {
"flash_size": "16MB",
"maximum_ram_size": 768000,
"maximum_size": 16777216,
"require_upload_port": true,
"speed": 1500000
},
"url": "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4x-function-ev-board/index.html",
"vendor": "Espressif"
}
+1 -1
View File
@@ -5,7 +5,7 @@
"memory_type": "dio_qspi"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DESP32_4M -DESP32S2 -DCONFIG_IDF_TARGET_ESP32S2=1 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=1",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DESP32_4M -DESP32S2 -DCONFIG_IDF_TARGET_ESP32S2=1 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=1 -DCONFIG_TINYUSB_CDC_ENABLED=1",
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "dio",
+41
View File
@@ -0,0 +1,41 @@
{
"build": {
"arduino":{
"ldscript": "esp32s2_out.ld",
"memory_type": "dio_qspi"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DESP32_8M -DESP32S2 -DCONFIG_IDF_TARGET_ESP32S2=1 -DUSE_USB_CDC_CONSOLE -DARDUINO_USB_CDC_ON_BOOT=1 -DCONFIG_TINYUSB_CDC_ENABLED=1",
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "dio",
"mcu": "esp32s2",
"variant": "esp32s2",
"filesystem": "littlefs",
"partitions": "boards/partitions/esp32_partition_app3520k_spiffs1088k.csv"
},
"connectivity": [
"wifi"
],
"debug": {
"openocd_target": "esp32s2.cfg"
},
"frameworks": [
"espidf",
"arduino"
],
"name": "Espressif Generic ESP32-S2 USB CDC 8M Flash ESPEasy 3520k Code/OTA 1088k FS",
"upload": {
"flash_size": "8MB",
"maximum_ram_size": 327680,
"maximum_size": 4194304,
"before_reset": "usb_reset",
"after_reset": "hard_reset",
"use_1200bps_touch": true,
"wait_for_upload_port": true,
"require_upload_port": true,
"speed": 460800
},
"url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-saola-1-v1.2.html",
"vendor": "Espressif"
}
+2 -1
View File
@@ -5,10 +5,11 @@
"memory_type": "qio_opi"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1",
"f_cpu": "240000000L",
"f_flash": "80000000L",
"boot": "opi",
"flash_mode": "qio",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=0",
"hwids": [
[
"0x303A",
+1 -1
View File
@@ -5,7 +5,7 @@
"memory_type": "qio_opi"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
+1 -1
View File
@@ -5,7 +5,7 @@
"memory_type": "qio_opi"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
+1 -1
View File
@@ -5,7 +5,7 @@
"memory_type": "qio_qspi"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_16M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
+1 -1
View File
@@ -5,7 +5,7 @@
"memory_type": "qio_qspi"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_8M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
+1 -1
View File
@@ -5,7 +5,7 @@
"memory_type": "qio_qspi"
},
"core": "esp32",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=1",
"extra_flags": "-DARDUINO_TASMOTA -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DUSE_USB_CDC_CONSOLE -DESP32_4M -DESP32S3 -DARDUINO_USB_CDC_ON_BOOT=0",
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
+31
View File
@@ -0,0 +1,31 @@
{
"build": {
"arduino": {
"ldscript": "eagle.flash.4m1m.ld"
},
"core": "esp8266",
"extra_flags": "-DARDUINO_TASMOTA -DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP01 -DESP8266_4M -DESP8266_4M1M",
"f_cpu": "120000000L",
"f_flash": "40000000L",
"flash_mode": "dout",
"mcu": "esp8266",
"variant": "generic"
},
"connectivity": [
"wifi"
],
"frameworks": [
"arduino"
],
"name": "Espressif Generic ESP8266 ESPEasy 4M Flash 1M FS",
"upload": {
"maximum_ram_size": 81920,
"maximum_size": 1040316,
"require_upload_port": true,
"resetmethod": "nodemcu",
"speed": 115200
},
"url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family",
"vendor": "Espressif"
}
@@ -0,0 +1,7 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x600000,
app1, app, ota_1, 0x610000,0x600000,
eeprom, data, 0x99, 0xC10000,0x1000,
spiffs, data, spiffs, 0xC11000,0x13EF000,
1 # Name Type SubType Offset Size Flags
2 nvs data nvs 0x9000 0x5000
3 otadata data ota 0xe000 0x2000
4 app0 app ota_0 0x10000 0x600000
5 app1 app ota_1 0x610000 0x600000
6 eeprom data 0x99 0xC10000 0x1000
7 spiffs data spiffs 0xC11000 0x13EF000
+2 -2
View File
@@ -66,10 +66,10 @@ ESP32 now has a number of builds:
- custom_ESP32_4M316k Build template using either the plugin set defined in ``Custom.h`` or ``tools/pio/pre_custom_esp32.py``
- test_ESP32_4M316k Build using the "testing" set of plugins for ESP32
- test_ESP32-wrover-kit_4M316k A build for ESP32 including build flags for the official WRover test kit.
- max_ESP32_16M1M A build for ESP32 with larger flash size including all plugins.
- max_ESP32_16M8M A build for ESP32 with larger flash size including all plugins.
ESP32 also supports Ethernet.
Ethernet support is included in similar builds as mentioned before, only ending with "_ETH" in the file name.
Ethernet support is included in nearly all ESP32 builds, only ESP32-C2 doesn't have support for Ethernet.
+875
View File
@@ -1,3 +1,878 @@
-------------------------------------------------
Changes in release mega-20260720 (since mega-20260125)
-------------------------------------------------
Release date: ma 20 jul 2026 13:16:21 CEST
Gijs Noorlander (9):
[MFRC522] Speedup reading tag
[network] Fix wifi#connected and wifi#disconnected events
[network] Fix typo in event
[Network] Add AT command write to PPP modem
[Network] Add connected/disconnected event handling for all interfaces
[network] Reduce CPU load + fix init NW interface event names
[MQTT] Fix merge issues
[Build] Change ESP8266 normal and collection builds to core 3.1.2
[Build] Enable BUILD_NO_DEBUG for 2nd heap ESP8266 normal builds
TD-er (611):
[WiFi] Split WiFi code specific for ESP8266 and ESP32
[Cleanup] Get rid of ESP32-IDF code for IDF3.x or older
[Cleanup] Fix spelling error in filename
[WiFi] First part of moving code around to restructure WiFi code
[WiFi] Start using simplified state machine for WiFi
[WiFi] Restructure ESP32/ESP8266 code
[WiFi] Allow connecting to hidden SSID network
[WiFi] Fix build issue due to enum naming conflict
[IPv6] Disable IPv6 for ESP32-C2
[PSRAM] Free GPIO-16 and -17 on ESP32-classic when no PSRAM present
[PSRAM] Fix build on ESP-IDF 5.1 + add special case of ESP32-picoD4
[PSRAM] Cleanup code
[PSRAM] Fix solo1 builds
[WiFi] Add some debug log to track GotIP event
[WiFi] Fix not showing /setup page
[WiFi] Update to latest ESP-IDF SDK + handle gotIP event on ESP8266
[WiFi] Fix event handling for WiFi on ESP32
[WiFi] Fix start AP for setup
[WiFi] Call WiFi_AP_Candidates.force_reload() on saving security setting
[PSRAM] Use PSRAM for logs, events and controller queues
[Memory] Fix freeing of allocated strings
[Memory] Add small optimization in free_string() to prevent copying
[ESP-IDF] Update to latest Arduino 3.1.2 for LittleFS builds
[ESP-SDK] Update to ESP32/Arduino 3.1.3
[ESPEasy p2p] Add node-IDs for new Espressif SoC models
[WiFi] Fix processing connected event
[ESP8266] Fix crash on processing log with weblog enabled.
[Cleanup] Simplify generating sysinfo page
[ESP8266] Fix crash on ESP8266 SDK 2.7.4
[ESP8266] Balance more what should be allocated on 2nd heap
[Build] Fix build issues on ESP32-xx
[Memory] Make memory allocation on ESP8266 2nd heap more stable
[Memory] Move C001 and C002 queue elements to 2nd heap (ESP8266)
[Memory] Move other controller queue elements to 2nd heap (ESP8266)
[ESP32S3] Fix bootloop on ESP32S3 with OPI PSRAM
[WiFi] Fix not setting wifi as initialized too often
[Memory] Improve memory usage on Strings and task data
[Memory] Fix crashes on ESP32-S2 with 8M PSRAM
[WiFi] Fix setting dynamic WiFi TX power
[Cleanup] Optimize parsing system variables
[Rules] Fix broken math parsing
[WiFi] Fix (re-)connecting after WiFi connection lost
[WiFi] Fix build error on ESP8266
[Cleanup] Uncrustify WiFi/Network code
[WiFi] Fix reconnecting + WiFi scan
[ESP-IDF5.4] Prepare for ESP-IDF5.4 with Arduino 3.2.0
[Eastron] Speed up parsing Modbus RTU messages
[Serial] Add setXxBufferSize functions
[ESP-IDF5.3] Update to latest Arduino/ESP-IDF5.3 version
[timing stats] Simplify and speedup collecting timing stats
[1-wire] Fix ESP8266 builds not fitting in IRAM
[ESP32-C5] Add preliminary support for ESP32-C5 with dual band WiFi
[ESP32-C5] Minor tweaks formatting used WiFi protocol
[ESP32-C5] Fix file name error for platformio_esp32c5_envs.ini
[ESP-IDF] Update to latest SDK/IDF
[ESPtool] Prepare use of esptool v5.0.0
[ESP32-S2] Change ADC for ESP32-S2 back to 13 bit
[ESP-IDF] Revert to older build due to broken UART support
[ESP32-C5] Add hardware specific info about ESP32-C5
[Build] Get rid of all ESP32-SPIFFS builds
[Build] Fix display ESP32 build
[build] Change ESP32 IRExt builds to LIMIT_BUILD_SIZE
[ESP32-C61] Start adding support for new SoC & generalize WiFi features
[ADC] Fix not setting attenuation on internal ADC
[ESP-IDF] Update to latest IDF/Arduino code for IDF 5.5
[MFRC522] Speed-up detecting cards + make error recovery more stable
[MFRC522] Improve range of reader
Add HTML_Print and PrintToString helpers
[MFRC522] Simplify board reset during init
[MFRC522] Allow to dump card info to debug logs
[MFRC522] Do proper timing for communicating with card
[Rules] Fix processing variables with index > 2^31
[Log] Add PrintToLog helper
[Build] Add ESP32C5 to release.yml build script
[ESP-IDF] Update to latest SDK version
[MFRC522] Speedup reading by acting on interrupt pin
[PWM motor] Speedup acting on limit switch interrupt
[Web flasher] Update esp web tools to 8.1.10 to support ESP32-C5
[PubSubClient] Update to new fork PubSubClient3
[PubSubClient3] Speedup publish large messages using buffer
[Build] Fix failed build due to missing include
[ESP32-C5] Add option to force WiFi band 2.4/5 GHz
[PubSubClient3] Add check for nullptr in CHECK_STRING_LENGTH
[Controller] Fix crashes on MQTT callback calls
[Network] Start adding Network config page
[Network] Continue adding network config page
[Network] Rename NetworkAdapter to NetworkDriver
[Network] Start on initial first WiFi STA/AP drivers
[Network] Add webform load/save for WiFi STA and AP
[Network] Fix looping over CONTROLLER_MAX instead of NETWORK_MAX
[ESP32P4] Add preliminary support for ESP32P4
[ESP32P4] Fix crashes when trying to connect to WiFi
[ESP32P4] Add more warnings for specific GPIO pins
[Cleanup] Fix JS issues
[Network] Add ETH config page + tweak Network Page
[ESP32-P4] Add OTA update command for ESP32C6 WiFi firmware
Merge branch 'mega' into bugfix/WiFi_state_machine
[Network] Split ESP32P4 code from other MCUs
[Network] Fix Ethernet on ESP32P4 + allow multiple active interfaces
[Network] List all IP-addresses per network interface
[Network] Process info based on NetworkInterface baseclass when possible
[Network] Show Network Interface flags
[PPP Modem] Add framework for new PPP Modem network interface
[ESP32P4] Add extra HW serial ports supported by ESP32P4
[Network] Split ETH into RMII and SPI + add template for PPP modem
[Storage] Add generic key/value store to simplify data storage
[Storage] Add load function for new key/value store
[Storage] Add save function for new key/value store
[Network] Add NetworkSettings type to store network interface settings
[Network] Fix build issues
[Network] Uncrustify new code
[Storage] Add NWPluginData_base & optimize key/value store
[Storage] Add tests for key/value store
[Storage] Fix issues storing/loading from key/value store
[Storage] Remove 0-termination for strings from raw stored data
[Storage] Use key value store for storing network interfaces
[PPP Modem] Add modem parameters to NW005 + fix compile issues
[PPP modem] Add more settings + simplify key/value/store use
[PPP modem] Add APN/Pin settings + show modem status
[PPP Modem] Show more cell info + correct reported RSSI/BER values
[Storage] Fix build on ESP8266 builds
[PPP modem] Remove PPP Modem plugin from ESP32-C3 as there isn't support
[PPP Modem] Fix build on LIMIT_BUILD_SIZE ESP32 builds
[PPP Modem] Add UE Cell info + fix ESP32C2 build
[PPP Modem] Disable PPP Modem plugin for 4M flash builds due to size
[Build] Fix ESP32C6 builds
[Build] Remove "_CDC_" from all env names due to linker issues
[ESP-IDF] Update IDF 5.5 builds (P4/S3) to latest version
[Network] Allow crash detection to turn off network interfaces
[ESP32P4] Set Ethernet as default on ESP32P4 builds
[PubSubClient] Update to latest lib version
[PubSubClient3] Speedup publish large messages using buffer
[Storage] Fix storing bool types
[Controller] Fix bug not being able to add controller
[Cleanup] Rename CPlugin and NWPlugin calls to make clear where used
[Network] Add WiFi/AP when not present in settings + limit options
[Plugin] Rename PluginCall functions to use same convention as controllers
[PPP Modem] Make PPP.begin() non-blocking by running in RTOS task
[PPP Modem] Initialize C-code to NULL instead of nullptr
[Network] Fix saving WiFi STA & WiFi AP settings
[Network] Add route prio to network overview
[Network] Move network plugin code to new ESPEasy::net namespace
[Network] Move ESPEasy::net namespace code to new folder structure
[Network] Move global runtime data to new ESPEasy::net namespace
[Network] Move more WiFi related code into ESPEasy::net::wifi namespace
[Network] Move Network code to ESPEasy::net namespace
[Network] Disable ETH for ESP32-xx Display builds to make builds fit
[Network] Fix ESP32-classic display build with ETH disabled
[Network] Move EthernetParameters to ESPEasy::net namespace
[Network] Move MetworkMedium to new ESPEasy::net:: namespace
[Network] Move WiFiAPcandidates files to ESPEasy::net::wifi namespace
[Network] Fix setting up last network/controller entry
[Network] Move WiFi init code to NW001_WiFi_STA plugin
[MQTT AutoDiscovery] Fix merge issues
[PPP modem] Make init of PPP modem more reliable
[Network] Show connected duration in more readable format
[Network] Add networkenable / -disable commands + fix for controllers
[Controller] Fix proper checking when calling CPLUGIN_xxx functions
[Network] Fix build on ESP8266
[Controllers] Call [C/NW]PLUGIN_EXIT before _INIT when saving settings
[Tasks] Fix scheduled Plugin Task Timer & proper task exit/init
[Build] Fix failing ESP8266 custom build
[Build] Reduce build size for ESP8266 builds
[ESP-IDF] Update to latest ESP-IDF/Arduino for ESP32-xx
[PPP Modem] Disable PPP Modem on platforms that don't support it
[Network] Add mechanism to restore cached DNS servers
[Network] Fix ESP8266 build + add log when DNS is restored from cache
[Network] Fix mangled DNS servers when switching default route interface
[Network] Trigger checking for DNS server on default NW-IF after event
[Network] Make connected info more consistent among network interfaces
[Network] Move common code to collect connection stats to base class
[Network] Add test to see if we can track interface traffic count
[Build] Fix ESP32 build due to missing include
[Network] Show connection info for each interface
[Network] Reduce code duplication showing connection info
[Build] Fix ESP-IDF 5.5 platform to specific one before pip -> uv change
[WiFi] Show WiFi Auth mode in connection info
[Network] Start removing connected checks from WiFi/Eth EventData
[Network] Clean up code duplication handling network events
[Controller] Make connection timeout dynamic per host & networkinterface
[Network] Remove more legacy WiFiEventData code
[Network] Cleanup + add charts for RSSI/TX-pwr, traffic, etc.
[Network] Fix ESP8266 build issues
[Network] Fix build on ESP8266 1M build
[Build] Reduce build size on ESP8266 builds
[Build] Fix copy/paste error on ESP32 builds
[Network] Fix corrupting settings on ESP8266
[Network] Add Route Prio setting for each network interface (ESP32-xx)
[Network] Fix access control check for accessing web config
[Network] Add column with interface number to Network overview page
[Network] Fix NAPT forwarding when client connects/disconnects
[Network] Show connected clients to AP + cleanup charts/stats
[cleanup] Remove duplicate code in xPlugin tables
[network] Fix 'Enable' checkbox consistency & bootloop with AP disabled
[Network] Fix crashes when toggling WiFi/AP on/off
[network] Show detailed received IPv6 info in the logs
[Network] Fix ESP8266 build
[Network] Fix merge-conflict on ESP32-build
[ESP-IDF] Move to IDF5.5 for all ESP32-xx builds
[Build] Fix missing include
[Build] Define BUILD_NO_DEBUG for Collection_E builds
[ESP-IDF] update to latest ESP-IDF5.5
[Build] Define BUILD_NO_DEBUG for all collection builds
[USBCDC] Fix USB-CDC for ESP32S2 builds
[Build] Define BUILD_NO_DEBUG for ESP32 Collection A builds
[Network] Fix collecting RX/TX traffic data
[Network] Add FEATURE_NETWORK_TRAFFIC_COUNT to toggle tracking traffic
[Network] Add FEATURE_NETWORK_STATS to toggle collecting network stats
[Network] Fix reported traffic RX/TX Bytes
[USBCDC] Properly fix USB CDC issues on ESP32-S2
[Build] Define BUILD_NO_DEBUG for Display builds
[Network] Fix xxx#Connected / #Disconnected events
[Build] Fix merge issues
[WiFi] Fix WiFi reconnect issues
[RC522] Add support for 7-byte NFC UIDs
[webUI] Move Hardware tab before Network tab
[Build] Fix merge issue
[SysVars] Fix showing variables with hex number as index
[MFRC522] Add immediate event on tag removal
[LAN867x] Add support for LAN867x Ethernet controller (RMII)
[Network] Exit all networks before reboot
[WiFi] Fix scanning WiFi returns no networks found
[Network] Fix showing stats and connection info
[WiFi] Fix reported WiFi enc. mode on ESP8266
[WiFi] Clear uses of WiFiEventData for ESP8266 builds
[Eth] Clear uses of EthEventData for ESP32 builds
[Build] Fix ESP8266 build
[WiFi] Fix wifi reconnect (on ESP32)
[WiFi] Fix internal WiFi state matching real connected state.
[Network] Log got IP events
[Network] Add checks to see if _netif is a valid pointer
[Network] Make logging gotIPv6 events not do memory allocation
[NeoPixel] Make NeoPixelSendStatus use less memory allocations
[MQTTDiscovery] Reduce mem alloc MQTT_DiscoveryPublishWithStatusAndSet
[Network] Remove unused base_class check for NWPluginData structs
[Network] Add ESPEasy event when network is enabled/disabled
[Log] Only process log to serial when in "Arduino RTOS task"
[WiFi] Make sure WiFi actually is disconnected when trying to reconnect
[MQTT] Only try to run background MQTT connect when connected to network
[CSS] Tweaks for newly added Network tab
[web UI] Change tab icons to be more uniform and working on Apple
[WiFi] Fix automatic redirect on Captive Portal
[MQTT] Reduce work/memory in background task, use xTaskDelay as required
[WiFi AP] Fix switching between NAPT and Captive Portal
[Build] Reduce bin size for ESP32 collection builds
[Provision] Fix not able to provision files
[PPP modem] Fix crash when PPP modem is enabled but not present
[Docs] Add stubs for documenting new Network design
[TaskValueSet] Fix setting 64-bit int values to a dummy task
[CacheReader] Fix reading cache files from CacheController
[CacheReader] Add support for 64bit ints + output as events
[CacheReader] Fix continue reading after crash/reboot
[CacheReader] Fix incorrect settings array index
[CacheReader] Fix incorrect settings array index
[CacheReader] Fix incorrect settings array index
[Cleanup] Only show MQTT connected stats on enabled controller
[CacheReader] Fix reading cache files when files are missing
[PPP modem] Add DTR pin option to regain access to modem in CMUX mode
[Cleanup] Simplify managing key-value representation in web UI / JSON
[JSON] Simplify writing JSON page
[JSON] Fine-tune + speedup generating JSON
[Log] Use new streaming JSON writer to generate web log
[Cache Controller] Use new JSON functions to generate cache_json
[JSON] Fine tune new JSON generation functions
[Cleanup] Wrap #ifdef WEBSERVER_NEW_UI.. around functions only used then
[JSON] Change handle_sysinfo_json() to use new JSON formatting functions
[JSON] Fix pretty-print generated JSON + add createChild() option
[JSON] Use new createChild function
[JSON] Simplify code + reduce build size due to less dependencies
[JSON] Add option to print JSON to String + convert Domoticz JSON
[Build] Set ESP8266 IR builds to esp8266/Arduino 3.1.2
[Build] Fix custom_IR_ESP8266_4M1M build
[C009 FHEM] Use new JSON code to generate response
[Cleanup] Remove no longer used to_json_object_value functions
[Cleanup] Reduce bin size: unsigned long to uint32_t and long to int32_t
[JSON] Move KeyValueWriter_JSON to src/Helpers/
[Network] Use new WebForm writer for gathering network adapter info
[Network] Cleanup code + generate more network info using new K/V writer
[JSON] Add same info on network adapters & sysinfo & JSON page
[Build] Fix ESP8266 build fail due to variable type mismatch
[Build] Reduce bin size by disabling logs in BUILD_NO_DEBUG builds
[Build] Fix failed custom ESP8266 build, disable CustomProvisioning
[Build] Disable C014 (Homie) and C017 (Zabbix) for ESP8266 Collections
[Build] Disable more logs with BUILD_NO_DEBUG on ESP8266
[Build] Fix failing build hard_SONOFF_POW_4M1M
[Build] Fix build errors on RISC-V like ESP32-C2/C3/C5/C6
[Build] Fix build error on safeboot builds
[Build] Set BUILD_NO_DEBUG for all NeoPixel builds to make builds fit
[Build] Fix failing max_ESP32c5_8M1M_LittleFS_ETH builds
[Cleanup] Reduce bin size & simplify ValueStruct
[ESP-IDF] Update to latest Arduino/ESP-IDF
[Log] Simplify web log buffering
[Log] Speedup finding 'next' log element to process
[Build] Fix ESP8266 build fail as std::make_unique is not (yet) known
[WebLog] Send many log messages in chunks of 200 msec.
[TLS] Update TLS to be able to use ECDHE_ECDSA_AES_128_GCM_SHA256 cipher
[TimingStats] Add stat to measure time spent processing MQTT messages
[TLS-MQTT] Automatic switch to ECDSA when error is 296 (TLS handshake)
[Provision] Add option to store (WiFi) credentials to separate file
[Build] Fix build issues on ESP8266
[WiFi Setup] Store credentials via setup page to separate file
[TAR] Fix creating unusable TAR files when backup all
[WiFi AP] Fix generating correct events when WiFi AP turns on/off
[WiFi] Fix starting AP when no credentials present or known APs found
[Log] Convert all ESPEasy console output to LOG_LEVEL_NONE log entry
[Log] Serial Console pulls logitems when UART buffer is ready + colorize
[Log] Fix log output to webflasher console + colorize LogEntry output
[Log] Clearly mark commands in log + source of the command
[Log] Cleanup and simplify log level code
[Log] Make syslog to use the new log queue + fix syslog crashes
[Log] Fix build on ESP8266 + log level label in console + syslog format
[ChartJS] Use new JSON key-value-writer + cleanup ChartJS code
[Cleanup] Rename Sp_KeyValueWriter to Up_KeyValueWriter
[ChartJS] Cleanup forcing "null" on NaN values in JSON
[Cleanup] Simplify use of LabelType
[ESP8266] Fix build issues due to older compiler for ESP8266 2.7.4
[Cleanup] Make nearly all of sysinfo page use new KeyValueStruct writers
[Cleanup] Make ESP8266 builds fit again + tweak reducing generated HTML
[Climate] Remove P169 (AS3935 lightning Detector) from ESP8266 builds
[Build] Revert ESP-IDF/Arduino to make Solo1 and ESP32-P4 build again
[Cleanup] Simplify ValueStruct to reduce bin size + speed up processing
[ESPEasy] Increase nr of ints in EventStruct
[PPP modem] Show mobile provider name from SIM card
[ValueStruct] Reduce memory allocations on short strings
[LogEntry] Reduce LogEntry struct to 16 bytes per log item in memory
[ValueStruct] Fix order initialization members
[KeyValueStruct] Add standard Unit-of-Measure units
[WebForm] Show bool types from key/value struct as checkmark
[ValueStruct] Fix edge case crash copying values.
[Build] Wrap calls to setUnit in #if FEATURE_TASKVALUE_UNIT_OF_MEASURE
[ChartJS] Make charts appear on the full width and responsive
[Charts] Remove no longer needed chart height/width & cleanup code
[ESPEasy p2p] Cleanup use of std::unique_ptr + p2p data structs
[Ethernet] Set hostname when Ethernet device is started
[Build] Reduce build size by disabling GitHub copy button for ESP8266
[ESP32-P4] Fix WiFi/Eth issues on ESP32-P4 + optimize memory allocations
[Units Of Measure] fix merge issues PR #5419
[ESP32P4] Disable USB HWCDC to fix ESPEasy console for ESP32P4
[ESP-Hosted] Show more info on ESP-Hosted-MCU WiFi (ESP32-P4)
[ESP-Hosted] Make sure hostname is set on ESP-Hosted-MCU before DHCP
[IPv6] Add option to enable/disable IPv6 per network adapter
[JSON] Write empty "Sensors" array when no tasks defined
[Eth] Move duplicate code to shared functions to display info
[ETH] Remove left-over code duplication after split RMII/SPI adapters
[ESPEasy Console] Fix console on both HWCDC and Serial0
[Network] Make connected check more direct when starting connection
[Build] Fix flush() vs. clear() as it differs between ESP8266 and ESP32
[Build] Make normal_ESP8266_1M_VCC not fail building (still too big)
[Build] Fix build issue due to missing forward decl. of enum
[Sysinfo] Add missing Unit-of-measure on file system size
[Ethernet] Add already setup Ethernet when upgrading ESPEasy
[Sysinfo] Hide WiFi info when no WiFi is enabled
[Network] Start adding JSON import/export Network settings per adapter
[Build] Disable Framed OLED on 1M ESP8266 Normal builds due to size
[Network] Add networkexportconfig command to export to JSON
[Network] Add NetworkImportConfig command
[Eth] Store settings for RMII and SPI Ethernet to KV-store
[Ethernet] Allocate unused ETH interface support multiple ETH instances
[Ethernet] Fix saving settings to KVS
[Network] Restart services (e.g. ESPEasy p2p) when default route changes
[ESP-IDF] Update to latest Arduino/IDF code with fix for SPI Eth MAC
[ESP8266] Fix failing ESP8266 build
[Build] Remove _LittleFS and _ETH from build names due to linker issues
[Build] Fix build fail with builds without Ethernet support
[ESP32-P4] Disable OTA update for ESP-HOSTED-MCU on ESP32P4 for now
[Build] Enable `custom_remove_include` to not build ignored libs
[Web Flasher] Update script to generate webflasher for new build names
[Network] Simplify ETH Event handling + update ESP-IDF/Arduino 3.3.3
[Build] Limit package building to use Python 3.13
[Build] Fix Solo1 builds
[Ethernet] Fix loading RMII Eth settings from KVS
[Ethernet] Fix loading SPI Ethernet settings from KVS
[Ethernet] Cleanup showing GPIO conflicts/usage
[Ethernet] Remove no longer needed commands to setup ETH
[Ethernet] Make Periman reported conflicts the reported conflicts
[Network] Remove obsolete code from Config and Tools->Advanced page
[ESP32-C61] Add initial support for ESP32-C61
[Collection] Remove P038 and P095 from ESP32 Collection builds
[ESP32-solo1] Add flags to fix IDF5.5 issues for 'esp32-solo1' boards
[ESP32-P4] Add chip-variant option to support P4 rev 1 and rev 3
[Build] Speed up builds, add not used libs to lib_ignore
[WebFlasher] Add support for ESP32-C5/C61 for the webflasher
[ESPEasy p2p] Add IDs of not yet supported ESP MCUs
[ESP32-P4/-C61] Update Arduino/IDF to support ESP32-C61 & ESP32-P4 preV3
[ColorCode] Add NetworkEnable/Disable commands to ColorCode JavaScript
[WiFi] Fix check for available credentials only in device specific file
[Network] Fix processing network events on disconnect + simplify check
[webflasher] Add 'chipVariant' to distinguish ESP32-P4 variants
[Hardware Info] Show differences between ESP32-C6H4 and ESP32-C6H8
[Cleanup] Mark unused members in SettingsStruct
[WiFi] Cleanup WiFi/AP settings + simplify when to start AP mode
[Build] Fix failed minimal ESP8266 build
[Build] Fix solo1 builds due to wrongly set LTO flags
[WebUI] Simplify adding HTML form fields
[WiFi] Simplify WiFi AP fallback scenarios
[Build] Fix failing ESP8266 builds
[P180] BusCmd_Helper processing I2C commands via cmd subcommand was locked out
[C023] Clone C018 code to C023
[C023] Remove links to RN2483 code
[C023] Add initial support for Dragino LA66 LoRaWAN module
[C023] Add querying LA66 + receive downlink messages
[C023] Add option to trigger events via downlink messages + code cleanup
[C023] Fix timeout reading from LoRa + set ClassC after joined
[C023] Cleanup LoRa AT-command controller + fix parse responses
[WiFi] Add link to ESP-Hosted-MCU firmware builds
[C023] Add initial support for RAK3172 LoRaWAN (m5stack AtomDTU)
[C023] Cleanup AT-command LoRaWAN
[C023] Add support for RAK3172 LoRaWAN (m5stack AtomDTU)
[ESP-IDF] Update to latest ESP-IDF/Arduino
[USBCDC] Simplify code defining USBCDC(TinyUSB) vs. HWCDC
[C023] Remove debug log
[Bug] Fix formatToHex_wordarray
[Network] Enable Network Stats when plugin stats are also enabled
[WiFi] Fix reconnecting when connection gets interrupted
[Network] Fix enable/disable IPv6 per network interface
[Build] Make syslog optional to reduce build size
[Build] Add flags to disable webserver JSON or syslog to reduce bin size
[OLED] Fix: 128×64 shows only left half in display_A builds (#5469)
[Web Flasher] Fix generated web flasher manifest JSON
[Serial Console] Fix outputting data to USBCDC port for ESP32S2
[TimingStats] Tweak timing stats for console output
[Domoticz] Fix Domoticz MQTT outputting svalue wrapped in quotes
Update README.md
[Build] Fix failing custom build (#5485)
[Build] Fix failing custom build (#5485)
[ESP-IDF] Update to latest 1901-1318-5.5 platform build
[Build] Fix compile issues
Revert "[ESP-IDF] Update to latest 1901-1318-5.5 platform build"
[Sysinfo] Show free space on file system
[ESP-IDF] Update to latest IDF/Arduino code to test if P4 builds work
[Build] Fix non-ESP32P4 builds with latest ESP-IDF/Arduino
[Build] Set BUILD_NO_DEBUG for Climate-A builds to make them fit again
[SPI] Fix returning 'other' SPI bus for user defined SPI
[Interfaces] Split SPI and I2C config into new Interfaces page
[WebUI] Add some icon to Interfaces tab + minor tweaks
[ESP-IDF] Update to latest ESP-IDF/Arduino SDK
[Web UI] Change icon for Interfaces
[Build] Try to reduce build size for ESP8266 minimal, disable I2C/SPI
[Build] Fix failing neopixel_ESP8266_1M_Domoticz build
[Build] Fix failing minimal_IRext_ESP8266_4M1M
[Build] Fix failing build safeboot_ESP32c2_4M_LittleFS
Update generate_web_flasher_manifest.py fix showing C6 in list
[Network] Add 'Fallback Network Interface' concept.
[Network] Fix failing build on ESP8266
[Network] Start documenting Fallback Network Interface
[WiFi] Make WiFi AP act as fallback device when set as such.
[USB-CDC] Fix USB disconnect on reboot for USB-JTAG/CDC boards
[USB-CDC] Fix USB disconnect on reboot for USB-JTAG/CDC boards
[TM1637] Fix timing issues for ESP32-builds for P073 TM1637
[TM1637] Fix timing issues for ESP32-builds for P073 TM1637
[Direct GPIO] Add missing function decl. for ESP8266
[Direct GPIO] Add missing function decl. for ESP8266
[ESP8266 build] Fix failing custom ESP8266 build using Custom.h
[ESP8266 build] Fix failing custom ESP8266 build using Custom.h
[WiFi] Fix setting hostname before starting WiFi on ESP8266
[WiFi] Fix build on ESP8266 SDK 2.7.4
[WiFi] Set ESP8266 hostname each time before starting WiFi.begin()
[TM1637] Fine tune signal timing
[TM1637] Fine tune signal timing
[TM1637] Make clock timing more constant + fix end of transmission mark
[TM1637] Make clock timing more constant + fix end of transmission mark
[TM1637] Pull DIO pin low before switching to input for ACK
[TM1637] Pull DIO pin low before switching to input for ACK
[TM1637] Change init procedure not calling directGPIO at init
[TM1637] Change GPIO toggling to toggle input/output + enable pull-up
[TM1637] Fix proper timings for start/end sequence
[TM1637] Change init procedure not calling directGPIO at init
[TM1637] Change GPIO toggling to toggle input/output + enable pull-up
[TM1637] Fix proper timings for start/end sequence
[ESP-IDF] Switch to latest ESP-IDF / Arduino SDK & GCC 15.2
[Build] Fix failing build for minimal_core_274_ESP8266_1M_OTA_FHEM_HA
[Build] Fix failing build for minimal_core_274_ESP8266_1M_OTA_FHEM_HA
[Build] Reduce build size by tweaking compile flags
[Build] Fix mDNS builds + failing FEATURE_MQTT_TLS=0 & HTTP_TLS=1
[ESP32-P4] Fix failing ESP32-P4 build due to upstream ESP-IDF changes
[mDNS] Fix mDNS on ESP8266
[ESPEasyP2P] Add ESP32-S31 as node ID to be recognized as ESP type
[Serial Console] Fix showing console output in VScode
[Console] Fix sluggish reply on console input + allow disable color logs
[Git] Add sdkconfig.* to .gitignore
[GPIO] Fix GPIO re-assign on ESP32 previously used by serial
[Build] Add missing changes for disable colorize logs
[ESP-IDF6.0] Add support for latest IDF6.0
[mDNS] Properly destruct MDNS objects when updating
[SPI Eth] Fix SPI Ethernet using correct SPI bus
[ESP-IDF] Revert to IDF 5.5.3
[SPI] Fix build on ESP32C3
[SPI] Simplify SPI code + fix SPI bus selection
[Build] Fix build missing #if FEATURE_SD
[Web UI] Fix selected disabled item not getting saved
[SPI] Fix potential uninitialized spi gpio pins
[WiFi-AP] Extend WiFiAPmode command to toggle WiFi-AP without disable it
[P169] AS3935 Lightning Detector was missing from Climate B builds
[Network] Fix starting fallback interfaces if all are fallback on ESP32
[mDNS] Add mDNS for ESP32 builds
[mDNS] Update ESP32 mDNS lib + improve handling fallback AP on ESP8266
[Docs] Update links to datasheets + TR of supported ESP chips
[Docs] Fix frequency of ESP32-S31 + ESPEasy supported since
[Docs] Fix rendering supported CPUs table
[mDNS] Add flag to toggle mDNS
[Network] Reduce includes in network code
[Network] Fix failing custom_beta_2ndheap_ESP8266_4M1M
[Network] Reduce number of includes in WiFi/Network code
[Build] Fix hard_SONOFF_POW_4M1M build
[Cleanup] Reduce number of includes
[Build] Fix failing build collection_C_ESP32_IRExt_4M316k
[WiFi] Fix odd WiFi behavior on ESP8266
[Build] Reduce size of custom ESP8266 build
[ESP8266] Simplify device info functions on ESP8266
[ESP8266] Define more bus specifics for ESP8266 in esp8266_soc_caps.h
[Cleanup] Add 'override' to virtual controller queue functions
[Cleanup] Add 'override' to virtual functions libs changed for ESPEasy
[Cleanup] Fix failing builds due to different virtual function sigs
[Network] Cleanup code + show connection info on ESP8266 adapter page
[Cleanup] Comment unused NWPluigin functions
[mDNS] Disable mDNS in builds as it is considered unstable
[WiFi] Fix initial WiFi setup via soft-AP
[Build] Fix missing include for ESP32 builds
[WiFi] Fix uncrustify messing up wifiChannels table
[WiFi] Fix captive portal and initial setup for ESP32-S2
[WiFi] Fix crash on saving WiFi settings with active network connections
[WiFi] Add OTA update for ESP-Hosted-MCU on ESP32-P4
[sendToHttp] Fix SendToHttp HTTPS command using HTTPClientLight
[Build] Fix include for ESP8266 builds
[sendToHTTP] Fix sendToHTTP using the new lib for https. (revuew by Ton)
[ESP-IDF] Update to latest ESP-IDF/Arduino
[RMII Eth] Fix setting clock mode + document NW config import/export
[Docs] Update ESP-Chips table
[ESP32P4r3] Add support for ESP32-P4 rev3
[Eth] Fix static IP for Ethernet
[Build] Fix missing include on minimal_core_312_ESP8266_1M_OTA_Domoticz
[Build] Fix missing include for collection_H_ESP32_IRExt_4M316k build
[WiFi] Fix slowdown issues using Eth on ESP32-P4 with WiFi off
[WiFi] Make Captive Portal more intuitive and only act when connected to AP
[WiFi] Fix continuous logs flood + fix check for no credentials
[Build] Fix ESP8266 build
Fix syslog packets contain only a prefix (#5538)
[ETH] Fix setting static IP for Ethernet network interfaces
[Build] Remove normal_beta_ESP8266_16M_LittleFS
[Build] Fix missing include
[WiFi] Fix static IP for WiFi
[WiFi] Fix static IP for ESP8266
[ESP32S2] Add MAX 8M1M build for ESP32-S2
[ESP-IDF] Update to latest IDF/Arduino code
[Sysinfo] Fix reporting used sketch size on sysinfo page
[Console] Fix setting correct TX buffer size + add checks + cleanup
[WiFi] Fix setting init/exit/gotIP flags on Network interfaces
[ESP32S2] Fix using UART/USBCDC on ESP32S2
[WiFi] Fix some minor WiFi issues when saving settings (still 5min wait)
[WiFi] Fix WiFi reconnect + event duplicates on ESP8266
[ESP32P4] Fix crashes on older ESP-HOSTED-MCU fw & detection 32M flash
[32M flash] Fix including all 'MAX' plugins for 32M flash builds
[ESP-Hosted-MCU] Fix OTA URL + speedup log output to serial
[ESP32-P4] Enable WiFi STA interface on factory reset
[Webflasher] Add 32M builds to the page generator script
[Webflasher] Use flash size detection to simplify MAX build selection
[webflasher] Cleanup Python script to generate page + set to 460800 baud
[DirectGPIO] Use low-level HAL commands from ESP-IDF for ESP32-xx
[PubSubClient3] Update to latest MQTT Client PubSubClient3
[Network] Improve response time on network disconnect for MQTT client
[Network] Add setting whether to collect network stats (ESP32-only)
[ESP32S2] Improve free RAM on ESP32S2
[Network] Fix crash saving network interface settings with p2p active
[TM1637] Fix ESP8266 not working with TM1637 (#5541)
[ESP32S3] Fix random crashes on ESP32S3 with PSRAM
[WiFi] Fix using all set WiFi credentials
[AccessControl] Fix checking for allowed IP range
[ESP8266] Fix ESP8266 builds missing include
[WiFi AP] Fix really stupid error setting WiFi AP static IP
[ESP-IDF] Update Arduino/ESP-IDF to latest version
[WebFlasher] Update webflasher to 12.2.4
[Network] Fix route setting priority (ESP32-only)
[Network] Fix properly clearing runtime data when starting nw interface
[Arduino 3.3.9] Update to latest espressif32/Arduino 3.3.9
[Docs] Add link to Supported Features and Peripherals on ESP32-xx
[AccessControl] Fix checking for allowed IP access of webinterface
[Build] Fix custom build missing an include for Metrics.cpp
[Build] Fix sort custom vars on ESP8266
[SysVarSort] Only sort system variables on ESP32 due to build size
[WiFi] Fix stack overflow crash when no credentials set
[WiFi] Simplify state machine for WiFi STA
[WiFi] Update WiFi state diagrams
[WiFi] Simplify WiFi STA state machine
[WiFi] Cleanup STA state machine code
[WiFi] Add state diagrams to WiFi documentation
[Network] Simplify connected/disconnected and enabled/disabled events
[PWM] Disable fade for ESP32 PWM for now.
[SendToHttps] Fix crash and actually working + connect timeout
[Build] Fix failing ESP32C2 Safeboot build.
[SendToHttps] Log HTTP return code even on BUILD_NO_DEBUG
[Forms] Add optional changed bool to simplify checking for changes
[Webserver] Remove code duplication send start of page
[Webserver] Remove & simplify duplicate code send end of page
[PPP] Show info even when no connection to provider is active
[PPP Docs] Add documentation on NW005 PPP Modem
[PPP Docs] Add description and some tips regarding power
[Docs] Add documentation for WiFi STA/AP + reformat other network docs
[Docs] Describe WiFi modes and Passive/Active scan
[WiFi] Simplify passive/active scan note
[Docs] Describe rest of WiFi settings
[Docs] Fix section/subsection marking on PPP page.
[Docs] Remove empty 'Description' subsection from NW001 page
[Docs] Add missing documentation for WiFi AP + cleanup network docs
[Network] Add option to append NW interface name to hostname
[Docs] Add link of ESP32-Arduino supported features per ESP32-variant
[Cleanup] Set development/debug log as LOG_LEVEL_DEBUG
[Network] Add "Append Name to Hostname" to import/export
[Network] Fix import/export for WiFi STA and AP
[Docs] Document the Network overview tab
[Docs] Document the devsecurity.dat file
[Docs] Add missing network overview tab screenshot
Ton Huisman (166):
[SPI] Add support for multiple SPI buses
[P095] Enable support for configurable SPI bus
[P104] Enable support for configurable SPI bus
[P116] Enable support for configurable SPI bus
[P141] Enable support for configurable SPI bus
[P172] Enable support for configurable SPI bus
[P162] Enable support for configurable SPI bus
[P162] Fix compilation for ESP8266
[P125] Enable support for configurable SPI bus
[P118] Enable support for configurable SPI bus
[P111] Enable support for configurable SPI bus (and reformat source)
[P099] Enable support for configurable SPI bus
[P096] Enable support for configurable SPI bus
[P039] Move (nearly) all code to PluginStrucs files
[P039] Enable support for configurable SPI bus
[SPI] Show SPI Bus selector also if only second bus enabled
[SPI] Fix initialization for standard FSPI bus
[SPI] Improvements in cross-bus GPIO config validation
[Storage] Add settings for External EEPROM
[SPI] Rename SPI1 object to SPIe to avoid conflict for ESP32-Classic builds
[SPI] Code improvements, separate SPI functions, re-init SPI when saving Hardware page
[P039] Fix compiler warning (nested comments)
[MQTT] Reconnect on unexpected network interruptions
[SPI] Disconnect SPI GPIO pins also when not using them
[P116] Fix GPIO display on Devices page, no default GPIO pins for ESP32
[P095] Fix GPIO display on Devices page, fix typos, no default GPIO pins for ESP32
[SPI] Rename settings variable for better usage indication (review comment)
[MQTT] Cancel background connection request after 2 minutes when still not connected
[MQTT] Fix reconnect on unexpected network interruptions
[Discovery] Avoid setting the timeout more than once
[MQTT] Use client timeout for delay between connection attempts
[Build] Fix missing FEATURE_SD check
[P132] Additional support for INA226, INA228, INA230, INA231 and INA260
[P132] Fix some typos
[P132] Fix some more typos
[P132] Fix one more typo and clean up code
[P132] Add INA231 to plugin name
[P132] Update documentation
[P132] Fix conversion rate settings for INA228
[P132] Fix defaults for INA228
[P132] Update documentation for INA228 conversion rates
[P132] Refactor Shunt settings and add more high-current options
[P132] Update documentation for extended Shunt setting
[P132] Fix rounding for 400A shunt
[P132] Better selector-descriptions for shunt values
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/SPI-add-support-for-multiple-buses, fix conflicts
[P135] Bugfix: Correct Discovery VTypes
[SPI] Add SPI bus selector to SPI Ethernet plugin
[MQTT] Bugfix: Import wasn't initiated and handled correctly
[Cleanup] Remove Provisioningxxx fall-back commands and other fixes
[Docs] Fix some small typos
[Log] Restore EVENT: (some event) in logging for BUILD_NO_DEBUG builds
[Log] Restore ACT : (rules action) in logging for BUILD_NO_DEBUG builds
[P073] Bugfix: Display stays blank after upgrade without settings-save (#5475)
[P132] Improve calculation accuracy determining shunt microVolt factor
[P132] Only read measurement when conversion is ready
[P132] Enable extended features for Energy build ESP8266 for now
[Build] Fix compilation with Custom.h and TLS on ESP32
[Fixes] Various fixes and improvements Feb 2026
[CI] Fix github yaml syntax issues
[P132] Fix MQTT Discovery for Power setting
[Docs] Fix warnings and doc-build errors, remove deprecated plugin from conf.py
[P104] Add font with Cyrillic characters in high-ASCII area
[P104] Updated documentation for Cyrillic font
[P104] Updated Cyrillic ext. font with more elaborate character set
[P104] Updated Cyrillic ext. font with a more visually pleasing character set
[SPI] Add support (check) for ESP32-C61 in getSPIBusCount()
[P180] Set Cache-name field by default when empty for better performance, docs updated
[Docs] Use pioarduino plugin instead of PlatformIO for VSCode
[Docs] Fix error in internal commands list so it is visible again
[Build] Disable unneeded 'page will reload' messages
[Docs] Fix typo
[Feature] Split Interfaces page into separate tab per interface
[Build] Remove unneeded ifdef check
[UI] Add support for collapsible sections on web pages
[Interfaces] Add collapsible sections for I2C and SPI configuration
[Build] Fix compiler warnings
[UI] Fix minor display issue
[UI] Add support for collapsible sections on web pages
[Docs] Move Interfaces and Network docs to more appropriate locations
[Docs] A few textual updates
[P104] Improved Cyrillic font
[UI] Improved css when used on small screens
[UI] Improved css when used on small screens, more updates
[UI] Improved css when used on small screens, more updates
[P104] Update Cyrillic font doc screenshot
[P104] Improved Ë and ë in the Cyrillic set to align with the other Cyrillic characters, and updated screenshot
[UI] Improved css to have a pointer cursor and some spacing around the Details... label
[UI] Fine-tune css for nicer menu tabs in dark mode
[UI] Revert: Fine-tune css for nicer menu tabs in dark mode
[UI] Fine-tune css for nicer menu sub-tabs (Interfaces)
[UI] Fine-tune css fixes by @chromoxdor
[UI] Compatibility css fix by @chromoxdor
[Docs] Separate ESP32 and ESP8266 status
[Docs] Separate status for ESP32 and ESP8266 on each page
[Docs] Small update on excluded plugins
[Docs] Small updates for supported chips
[Docs] Small updates for supported chips
[UI] Disable the Interfaces/Modbus subtab for now, as it's still TODO
[Docs] Update documentation
[Build] - Ignore clangd configuration file
[Build] Add P047 (Moisture sensors) to Climate B, as mentioned in the docs
[Advanced] Remove I2C ClockStretchLimit note
[Network] Fix missing reload-indicator for Network Driver selector
[Docs] Corrections for some recent changes
[Docs] Expand description for creating a Custom build
[Docs] Expand description for creating a Custom build, small typo fixes
[Bugfix] [I2C] Connection-check failure didn't correctly disable the plugin
[P180] [BusCmd] Allow rules variables in get/read and put/write (bus) commands
[Build] Use pioarduino also on Github builds
[Build][GH] Bump github-scripts plugin from v8 to v9
[Build] Rename library.json for HeatpumpIR to avoid constant re-installs of (outdated version) IRremoteESP8266
[P180] [BusCmd] Allow rules variables in read and put/write (bus) commands
[P180] Process I2C commands synchronous when called from rules and other internal sources
[P180] Update documentation
[P180] [BusCmd] Allow rules variables in read and put/write (bus) commands
[P180] Update documentation
[Build] Create separate ESP32P4 binaries zip in release script
[Fixes] %iswifi% report status value instead of boolean
[Metrics] Add network traffic data TX/RX bytes and frames (Prometheus)
[Docs] Fix typo
[Ni]otifications] Add usesTLS flag to attributes and show in PluginList
[Ni]otifications] Add usesTLS flag to attributes and show in PluginList
[Network] Add define to select factory-default network adapter
[Custom] Add some missing #define variables to Custom-sample.h
[Network] Fix struct initialization
[Settings] Fix waring for VariousBits_2
[Network] Add size-check for NetworkDriverStruct
[Custom] Add secure Cloudflare DNS entries
[Docs] Fix missing column for LoopTimerSetAndRun
[Build] Add C5 4MB Custom, 16MB MAX and 32 MB MAX32 and P4 32MB MAX32 builds
[Build] Fix a few typos in 32MB board definitions
[Build] Missed a typo in 16MB board definition
[Dist] Update Espressif Flash Download tool to v3.9.10
[Build] Update documentation
[Network] Allow network interfaces to be enabled on factory reset
[Network] Fix small typo
[P180] Add documentation for TCA9554 I/O extender to control relays
[P073] Fix build with P073_DEBUG and BUILD_NO_DEBUG enabled
[Build] uv: Activate the PENV, then install missing requirements there
[C016] Remove Experimental label, clean up initialization
[Network] Initially collapse the Statistics section of the page
[Metrics] Only export metrics when stats enabled
[Build] Fix comment
[Network] Allow to not default-enable WiFi interface
Revert: [Metrics] Only export metrics when stats enabled
[Docs] Fix link to I2C Bus settings
[Console] Accept all valid ASCII characters for input
[Build] Fix install-requirements script on Windows
[UI] Update icon for Tools tab
[P039] Fix for initialization error
[SysVars] List variables numerically sorted
[SysVars] Sort alphabetic values too (though they come in already sorted)
[Docs] Suggest VSCode plugin TODO Highlight as Todo Tree doesn't work anymore without an external tool
[Docs] Update VSCode plugin list
[C005] Add note MQTT Auto Discovery not enabled in ESP8266 builds
[Bugfix] Improve initialization of Task Interval
[Bugfix] Partial revert for saving Task Interval
[Bugfix] Include PLUGIN_FORMAT_USERVAR values for json updates
[PLUGIN_FORMAT_USERVAR] Allow optional value display formatting by setting ParN[idx] to 1
[P126][P129] Code optimization by moving ul2stringFixed to StringConverter_Numerical
[P126][P129] Code optimization using ceilf instead of ceil, fix conditional compile error
[Docs] Small typo P124
[Bugfix] Limit humidity to 100% after applying temperature compensation
[UI] DevicesPage: Hide Controllers if no values to send
[Docs] Clarification about Collection builds including Normal plugin set, mention 32MB flash units
andbad (18):
Update _P036_FrameOLED.ino
Add new display configuration for 72x40 resolution
Add case for pix72x40 resolution handling
Update p036_resolution enum values
Add new display option '72x40' to OLed_helper
Fix enum values for p036_resolution
Reorder resolution options in OLED frame
Fix formatting of optionValues array in FrameOLED
Reorder display size options in OLed_helper.cpp
Remove and re-add 72x40 resolution configuration
Update OLedFormSizes call to include element count
Update OLedFormSizes to use optionsSize parameter
Add default parameters to OLedFormSizes function
Refactor FormSelectorOptions initialization
Fix formatting of enum value for p036_resolution
Fix formatting in P036_data_struct.h
Add 72x40 OLED size to changelog
Add 72x40 size
chromoxdor (35):
Update for the HTTP Response Parser
minor changes
Update HTTPResponseParser.h
Update HTTPResponseParser.h
HttpResponseParser fix:prevent race condition
[ESP8266] Enable CORS globally
[CSS] Future CSS for Wi-Fi & Interfaces tab
no need here
[CSS] small update
Update HTTPResponseParser.cpp
Update HTTPResponseParser.cpp
update colorcode files
Update HTTPResponseParser.cpp
FIX json?showpluginstats
Update espeasy.min.js
[ESP8266] Enable CORS globally (Update)
[LOG] add filter
[LOG] refining the filter
[LOG] revert changes for plugin_sets
[LOG] add filter field for older builds
[LOG] reverting accidents
[LOG] autoscroll fix, code reduction
[LOG] Removed unnecessary code.
[LOG+DevicePage_JS] refining the device page JS
[JS] update WebStaticData.h
[LOG] Fix for the minified JS
Delete fetch_and_parse_log.min.js
[PWM] Fix led flickering
[PWM] undoing 16-bit changes
Update Hardware_PWM.cpp
[PWM] add ledcReadFreq(pin) for comparison
[PWM] multipin state tracking
Update Hardware_PWM.cpp
[PWM] using ledcRead()
[PWM] reduce function
dependabot[bot] (3):
Bump actions/download-artifact from 7 to 8
Bump actions/upload-artifact from 6 to 7
Bump actions/checkout from 6 to 7
yosinn1-blip (2):
docs: fix received spelling in docs
docs: fix occurrence spelling in docs
-------------------------------------------------
Changes in release mega-20260108 (since mega-20260107)
-------------------------------------------------
Release date: Thu Jan 8 08:33:12 AM CET 2026
TD-er (1):
Add Python version for prepare-dist in release.yml
-------------------------------------------------
Changes in release mega-20260107 (since mega-20250430)
-------------------------------------------------
-32
View File
@@ -1,32 +0,0 @@
3.9.8
* add UI to support flash & efuse read
* support ESP32-C5 / ESP32-C61
3.9.7
* support ESP32-P4
* update UI display icon
* Fix bug: icon stuck after long-term use
3.9.6
* support ESP32/ESP32H2/ESP32C6/ESP32C2/ESP32S2 secure boot version2 and flash encryption
* config DUT number in multiconfig file ,up to 20pcs
* update secure config file, see docs in detail
3.9.5
* support esp32-h2
* support erase button disable
* fix some bugs
3.9.4
* support esp32-c6
* support esp32-c3/esp32-s3 flash encrytion
* add xmc flash fix
* support dut count in factory mode
3.9.3:
* support esp32-c2
* update finish UI show
3.9.2:
* fix configure file error
* update autostart process
+25 -15
View File
@@ -4,14 +4,15 @@
#
#############################################################################################################
# This script parses all documentation substitution files to determine in what builds a plugin is available
# Collection A..G, Display, Energy and Neopixel, IR and IRext get Normal plugins injected
# Collection, Notify and Network plugins are also injected into Collection A..G
# Collection A..H, Display A..B, Climate A..B, Energy and Neopixel, IR and IRext get Normal plugins injected
# Collection, Notify and Network plugins are also injected into Collection A..H
# All plugins get injected into MAX build set
# Some build sets have exceptions for plugins not available
# The output generation order is determined by how they are ordered in list 'buildColors'
# When adding or removing a build set, this script may need adjustments!
# Changelog:
# 2026-03-12 tonhuisman: Separate status for ESP32 and ESP8266 (_lb suffix)
# 2025-10-05 tonhuisman: Adjustments for Display A and Display B split
# 2025-10-01 tonhuisman: Include Notify and Network plugins, ignore not available files, parse NWxxx also
# 2024-05-04 tonhuisman: Working and documented
@@ -26,6 +27,7 @@ basePath = "source/_templates/"
# Gather data
allBuilds = {}
allBuilds_lb = {}
# Not mentioned as a build in documentation, implicit
appendBuilds = {'MAX'}
@@ -46,9 +48,10 @@ excludePlugins = {
'CLIMATE A': {'P007', 'P008', 'P009', 'P017', 'P022', 'P027', 'P030', 'P035', 'P040', 'P041', 'P042', 'P045'},
'CLIMATE B': {'P007', 'P008', 'P009', 'P017', 'P022', 'P027', 'P030', 'P035', 'P040', 'P041', 'P042', 'P045'},
'DISPLAY A': {'P038', 'P041', 'P042', 'P070'},
'DISPLAY B': {'P038', 'P041', 'P042', 'P057', 'P070', 'P075', 'P104'},
'DISPLAY B': {'P012', 'P023', 'P038', 'P041', 'P042', 'P057', 'P070', 'P075', 'P104'},
# 'MAX': {''},
# 'NEOPIXEL': {''},
# 'ENERGY': {''},
'NORMAL': {'P016', 'P035'},
}
@@ -75,13 +78,17 @@ buildColors = {
}
# Add/update a single plugin in the list
def addOnePlugin(build, plugin, pluginName):
def addOnePlugin(build, plugin, pluginName, with_lb = False):
if not build in allBuilds:
allBuilds[build] = {}
allBuilds[build].update({plugin: pluginName})
if not build in allBuilds_lb:
allBuilds_lb[build] = {}
if with_lb:
allBuilds_lb[build].update({plugin: pluginName})
# Add a plugin to all builds it should go in
def addToAllBuilds(plugin, pluginName, builds:dict):
def addToAllBuilds(plugin, pluginName, builds:dict, builds_lb:dict):
for b in appendBuilds:
if not b in builds:
builds += {b}
@@ -96,7 +103,7 @@ def addToAllBuilds(plugin, pluginName, builds:dict):
if plugin in excludePlugins[b]:
includeIt = False
if includeIt:
addOnePlugin(b, plugin, pluginName)
addOnePlugin(b, plugin, pluginName, b in builds_lb)
# Add in other builds too?
if b in appendAlso:
for n in appendAlso[b]:
@@ -105,7 +112,7 @@ def addToAllBuilds(plugin, pluginName, builds:dict):
includeIt = False
# Except when not to be included
if includeIt:
addOnePlugin(n, plugin, pluginName)
addOnePlugin(n, plugin, pluginName, b in builds_lb)
# Parse a single substitution file
def parseSingleSubstitutionFile(fileName):
@@ -118,25 +125,28 @@ def parseSingleSubstitutionFile(fileName):
plugin = ""
pluginName = ""
builds = []
builds_lb = []
while True:
line = pfile.readline()
if not line:
break
# Parse into label, plugin ID, description and up to 4 separate builds (current max.),
# Parse into label, plugin ID, description and up to 5 separate builds (current max.),
# append "(?:[^`]+`([^`]+)`)?" to regex for an extra build, if needed
m = re.search(r"[^|]\|((?:NW|[PCN])(\d{3}))([^\|]+)\|[^`]+`([^`]+)`(?:[^`]+`([^`]+)`)?(?:[^`]+`([^`]+)`)?(?:[^`]+`([^`]+)`)?", line)
m = re.search(r"[^|]\|((?:NW|[PCN])(\d{3}))([^\|]+)\|[^`]+`([^`]+)`(?:[^`]+`([^`]+)`)?(?:[^`]+`([^`]+)`)?(?:[^`]+`([^`]+)`)?(?:[^`]+`([^`]+)`)?", line)
if m:
if m.group(3) == "_typename": # the typename substitution should be before _status...
if plugin != "" and plugin != m.group(1): # Changed plugin ID, store current
addToAllBuilds(plugin, pluginName, builds)
addToAllBuilds(plugin, pluginName, builds, builds_lb)
plugin = m.group(1)
pluginName = m.group(4)
if m.group(3) == "_status":
builds = [m.group(4), m.group(5), m.group(6), m.group(7)]
builds = [m.group(4), m.group(5), m.group(6), m.group(7), m.group(8)]
if m.group(3) == "_status_lb":
builds_lb = [m.group(4), m.group(5), m.group(6), m.group(7), m.group(8)]
pfile.close()
if plugin != "": # Store last one too
addToAllBuilds(plugin, pluginName, builds)
addToAllBuilds(plugin, pluginName, builds, builds_lb)
# Parse all .. include :: files
def parseSubstitutionFiles(rootFile):
@@ -175,11 +185,11 @@ def generateBuildOverview(fileName):
output.write('.. collapse:: Details...\n')
output.write('\n')
output.write(' .. csv-table::\n')
output.write(' :header: "Plugin name", "Plugin number"\n')
output.write(' :widths: 10, 5\n')
output.write(' :header: "Plugin name", "ESP32", "ESP8266", "Plugin number"\n')
output.write(' :widths: 10, 3, 3, 3\n')
output.write('\n')
for p in sorted(allBuilds[b], key=sortPluginsBeforeControllers):
output.write(' ":ref:`' + p + '_page`","' + p + '"\n')
output.write(' ":ref:`' + p + '_page`", "", "' + ('' if p in allBuilds_lb[b] else '') + '", "' + p + '"\n')
output.write('\n')
output.close()
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C001_type|
Name: |C001_name|
Status: |C001_status|
Status ESP32: |C001_status|
Status ESP8266: |C001_status_lb|
GitHub: |C001_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C002_type|
Name: |C002_name|
Status: |C002_status|
Status ESP32: |C002_status|
Status ESP8266: |C002_status_lb|
GitHub: |C002_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C003_type|
Name: |C003_name|
Status: |C003_status|
Status ESP32: |C003_status|
Status ESP8266: |C003_status_lb|
GitHub: |C003_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C004_type|
Name: |C004_name|
Status: |C004_status|
Status ESP32: |C004_status|
Status ESP8266: |C004_status_lb|
GitHub: |C004_github|_
+5 -1
View File
@@ -14,7 +14,9 @@ Type: |C005_type|
Name: |C005_name|
Status: |C005_status|
Status ESP32: |C005_status|
Status ESP8266: |C005_status_lb|
GitHub: |C005_github|_
@@ -120,6 +122,8 @@ MQTT - Auto Discovery
(AutoDiscovery related settings added 2025/06/28)
.. note:: The **MQTT Auto Discovery** feature is not included in ESP8266 builds by default, see: :ref:`esp8266-feature-complete`
* **Enable Auto Discovery**: When checked, the controller will send discovery data for all connected and enabled tasks to the MQTT server on first startup, and when receiving an ``online`` message in the Discovery Trigger Topic, when configured.
* **Discovery Trigger topic**: Default for Home assistant: ``homeassistant/status``
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C006_type|
Name: |C006_name|
Status: |C006_status|
Status ESP32: |C006_status|
Status ESP8266: |C006_status_lb|
GitHub: |C006_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C007_type|
Name: |C007_name|
Status: |C007_status|
Status ESP32: |C007_status|
Status ESP8266: |C007_status_lb|
GitHub: |C007_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C008_type|
Name: |C008_name|
Status: |C008_status|
Status ESP32: |C008_status|
Status ESP8266: |C008_status_lb|
GitHub: |C008_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C009_type|
Name: |C009_name|
Status: |C009_status|
Status ESP32: |C009_status|
Status ESP8266: |C009_status_lb|
GitHub: |C009_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C010_type|
Name: |C010_name|
Status: |C010_status|
Status ESP32: |C010_status|
Status ESP8266: |C010_status_lb|
GitHub: |C010_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C011_type|
Name: |C011_name|
Status: |C011_status|
Status ESP32: |C011_status|
Status ESP8266: |C011_status_lb|
GitHub: |C011_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C012_type|
Name: |C012_name|
Status: |C012_status|
Status ESP32: |C012_status|
Status ESP8266: |C012_status_lb|
GitHub: |C012_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C013_type|
Name: |C013_name|
Status: |C013_status|
Status ESP32: |C013_status|
Status ESP8266: |C013_status_lb|
GitHub: |C013_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C014_type|
Name: |C014_name|
Status: |C014_status|
Status ESP32: |C014_status|
Status ESP8266: |C014_status_lb|
GitHub: |C014_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C016_type|
Name: |C016_name|
Status: |C016_status|
Status ESP32: |C016_status|
Status ESP8266: |C016_status_lb|
GitHub: |C016_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C017_type|
Name: |C017_name|
Status: |C017_status|
Status ESP32: |C017_status|
Status ESP8266: |C017_status_lb|
GitHub: |C017_github|_
+3 -1
View File
@@ -14,7 +14,9 @@ Type: |C018_type|
Name: |C018_name|
Status: |C018_status|
Status ESP32: |C018_status|
Status ESP8266: |C018_status_lb|
GitHub: |C018_github|_
+19 -19
View File
@@ -18,26 +18,26 @@ Controller Plugins
==================
.. csv-table::
:header: "Plugin name", "Plugin status", "Plugin number"
:widths: 10, 8, 5
:header: "Plugin name", "ESP32 Plugin status", "ESP8266 Plugin status", "Plugin number"
:widths: 9, 6, 6, 3
":ref:`C001_page`","|C001_status|","C001"
":ref:`C002_page`","|C002_status|","C002"
":ref:`C003_page`","|C003_status|","C003"
":ref:`C004_page`","|C004_status|","C004"
":ref:`C005_page`","|C005_status|","C005"
":ref:`C006_page`","|C006_status|","C006"
":ref:`C007_page`","|C007_status|","C007"
":ref:`C008_page`","|C008_status|","C008"
":ref:`C009_page`","|C009_status|","C009"
":ref:`C010_page`","|C010_status|","C010"
":ref:`C011_page`","|C011_status|","C011"
":ref:`C012_page`","|C012_status|","C012"
":ref:`C013_page`","|C013_status|","C013"
":ref:`C014_page`","|C014_status|","C014"
":ref:`C016_page`","|C016_status|","C016"
":ref:`C017_page`","|C017_status|","C017"
":ref:`C018_page`","|C018_status|","C018"
":ref:`C001_page`","|C001_status|","|C001_status_lb|","C001"
":ref:`C002_page`","|C002_status|","|C002_status_lb|","C002"
":ref:`C003_page`","|C003_status|","|C003_status_lb|","C003"
":ref:`C004_page`","|C004_status|","|C004_status_lb|","C004"
":ref:`C005_page`","|C005_status|","|C005_status_lb|","C005"
":ref:`C006_page`","|C006_status|","|C006_status_lb|","C006"
":ref:`C007_page`","|C007_status|","|C007_status_lb|","C007"
":ref:`C008_page`","|C008_status|","|C008_status_lb|","C008"
":ref:`C009_page`","|C009_status|","|C009_status_lb|","C009"
":ref:`C010_page`","|C010_status|","|C010_status_lb|","C010"
":ref:`C011_page`","|C011_status|","|C011_status_lb|","C011"
":ref:`C012_page`","|C012_status|","|C012_status_lb|","C012"
":ref:`C013_page`","|C013_status|","|C013_status_lb|","C013"
":ref:`C014_page`","|C014_status|","|C014_status_lb|","C014"
":ref:`C016_page`","|C016_status|","|C016_status_lb|","C016"
":ref:`C017_page`","|C017_status|","|C017_status_lb|","C017"
":ref:`C018_page`","|C018_status|","|C018_status_lb|","C018"
Controller Parameters
@@ -5,6 +5,7 @@
.. |C001_type| replace:: :cyan:`Controller`
.. |C001_typename| replace:: :cyan:`Controller - Domoticz HTTP`
.. |C001_status| replace:: :green:`NORMAL`
.. |C001_status_lb| replace:: :green:`NORMAL`
.. |C001_github| replace:: C001.cpp
.. _C001_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C001.cpp
.. |C001_usedby| replace:: `.`
@@ -16,6 +17,7 @@
.. |C002_type| replace:: :cyan:`Controller`
.. |C002_typename| replace:: :cyan:`Controller - Domoticz MQTT`
.. |C002_status| replace:: :green:`NORMAL`
.. |C002_status_lb| replace:: :green:`NORMAL`
.. |C002_github| replace:: C002.cpp
.. _C002_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C002.cpp
.. |C002_usedby| replace:: `.`
@@ -27,6 +29,7 @@
.. |C003_type| replace:: :cyan:`Controller`
.. |C003_typename| replace:: :cyan:`Controller - Nodo Telnet`
.. |C003_status| replace:: :green:`NORMAL`
.. |C003_status_lb| replace:: :green:`NORMAL`
.. |C003_github| replace:: C003.cpp
.. _C003_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C003.cpp
.. |C003_usedby| replace:: `.`
@@ -38,6 +41,7 @@
.. |C004_type| replace:: :cyan:`Controller`
.. |C004_typename| replace:: :cyan:`Controller - ThingSpeak`
.. |C004_status| replace:: :green:`NORMAL`
.. |C004_status_lb| replace:: :green:`NORMAL`
.. |C004_github| replace:: C004.cpp
.. _C004_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C004.cpp
.. |C004_usedby| replace:: `.`
@@ -49,6 +53,7 @@
.. |C005_type| replace:: :cyan:`Controller`
.. |C005_typename| replace:: :cyan:`Controller - Home Assistant (openHAB) MQTT`
.. |C005_status| replace:: :green:`NORMAL`
.. |C005_status_lb| replace:: :green:`NORMAL`
.. |C005_github| replace:: C005.cpp
.. _C005_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C005.cpp
.. |C005_usedby| replace:: `.`
@@ -60,6 +65,7 @@
.. |C006_type| replace:: :cyan:`Controller`
.. |C006_typename| replace:: :cyan:`Controller - PiDome MQTT`
.. |C006_status| replace:: :green:`NORMAL`
.. |C006_status_lb| replace:: :green:`NORMAL`
.. |C006_github| replace:: C006.cpp
.. _C006_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C006.cpp
.. |C006_usedby| replace:: `.`
@@ -71,6 +77,7 @@
.. |C007_type| replace:: :cyan:`Controller`
.. |C007_typename| replace:: :cyan:`Controller - Emoncms`
.. |C007_status| replace:: :green:`NORMAL`
.. |C007_status_lb| replace:: :green:`NORMAL`
.. |C007_github| replace:: C007.cpp
.. _C007_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C007.cpp
.. |C007_usedby| replace:: `.`
@@ -82,6 +89,7 @@
.. |C008_type| replace:: :cyan:`Controller`
.. |C008_typename| replace:: :cyan:`Controller - Generic HTTP`
.. |C008_status| replace:: :green:`NORMAL`
.. |C008_status_lb| replace:: :green:`NORMAL`
.. |C008_github| replace:: C008.cpp
.. _C008_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C008.cpp
.. |C008_usedby| replace:: `.`
@@ -93,6 +101,7 @@
.. |C009_type| replace:: :cyan:`Controller`
.. |C009_typename| replace:: :cyan:`Controller - FHEM HTTP`
.. |C009_status| replace:: :green:`NORMAL`
.. |C009_status_lb| replace:: :green:`NORMAL`
.. |C009_github| replace:: C009.cpp
.. _C009_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C009.cpp
.. |C009_usedby| replace:: `.`
@@ -104,6 +113,7 @@
.. |C010_type| replace:: :cyan:`Controller`
.. |C010_typename| replace:: :cyan:`Controller - Generic UDP`
.. |C010_status| replace:: :green:`NORMAL`
.. |C010_status_lb| replace:: :green:`NORMAL`
.. |C010_github| replace:: C010.cpp
.. _C010_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C010.cpp
.. |C010_usedby| replace:: `.`
@@ -115,6 +125,7 @@
.. |C011_type| replace:: :cyan:`Controller`
.. |C011_typename| replace:: :cyan:`Controller - Generic HTTP Advanced`
.. |C011_status| replace:: :yellow:`COLLECTION` :yellow:`CLIMATE`
.. |C011_status_lb| replace:: :yellow:`COLLECTION` :yellow:`CLIMATE`
.. |C011_github| replace:: C011.cpp
.. _C011_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C011.cpp
.. |C011_usedby| replace:: `.`
@@ -126,6 +137,7 @@
.. |C012_type| replace:: :cyan:`Controller`
.. |C012_typename| replace:: :cyan:`Controller - Blynk`
.. |C012_status| replace:: :yellow:`COLLECTION`
.. |C012_status_lb| replace:: :yellow:`COLLECTION`
.. |C012_github| replace:: C012.cpp
.. _C012_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C012.cpp
.. |C012_usedby| replace:: `.`
@@ -137,6 +149,7 @@
.. |C013_type| replace:: :cyan:`Controller`
.. |C013_typename| replace:: :cyan:`Controller - ESPEasy P2P Networking`
.. |C013_status| replace:: :green:`NORMAL`
.. |C013_status_lb| replace:: :green:`NORMAL`
.. |C013_github| replace:: C013.cpp
.. _C013_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C013.cpp
.. |C013_usedby| replace:: `.`
@@ -148,6 +161,7 @@
.. |C014_type| replace:: :cyan:`Controller`
.. |C014_typename| replace:: :cyan:`Controller - Homie MQTT convention`
.. |C014_status| replace:: :yellow:`COLLECTION`
.. |C014_status_lb| replace:: :yellow:`COLLECTION`
.. |C014_github| replace:: C014.cpp
.. _C014_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C014.cpp
.. |C014_usedby| replace:: `.`
@@ -158,7 +172,8 @@
.. |C016_name| replace:: :cyan:`Cache`
.. |C016_type| replace:: :cyan:`Controller`
.. |C016_typename| replace:: :cyan:`Controller - Cache`
.. |C016_status| replace:: :red:`DEVELOPMENT`
.. |C016_status| replace:: :yellow:`MAX`
.. |C016_status_lb| replace:: `.`
.. |C016_github| replace:: C016.cpp
.. _C016_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C016.cpp
.. |C016_usedby| replace:: `.`
@@ -170,6 +185,7 @@
.. |C017_type| replace:: :cyan:`Controller`
.. |C017_typename| replace:: :cyan:`Controller - Zabbix`
.. |C017_status| replace:: :yellow:`COLLECTION`
.. |C017_status_lb| replace:: :yellow:`COLLECTION`
.. |C017_github| replace:: C017.cpp
.. _C017_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C017.cpp
.. |C017_usedby| replace:: `.`
@@ -181,6 +197,7 @@
.. |C018_type| replace:: :cyan:`Controller`
.. |C018_typename| replace:: :cyan:`Controller - LoRa TTN - RN2483/RN2903`
.. |C018_status| replace:: :yellow:`COLLECTION`
.. |C018_status_lb| replace:: :yellow:`COLLECTION`
.. |C018_github| replace:: C018.cpp
.. _C018_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C018.cpp
.. |C018_usedby| replace:: `.`
+324 -235
View File
@@ -1,6 +1,8 @@
Supported ESP Chips
*******************
.. _esp8266-feature-complete:
ESP8266 is Feature Complete!
============================
@@ -19,7 +21,7 @@ The consequences of this decision are that:
* To enable some of the new features (many are still useable) for ESP8266, a Custom build can be configured and built by the user, as documented in :ref:`PlatformIO_page`.
* A notable exception is support for TLS: That's *not* possible to enable on ESPEasy in ESP8266 builds as it doesn't fit in the limited available RAM memory.
For new projects, it is strongly advised to select one of the many available ESP32 boards, or chips when designing a custom board. Some of the ESP32 variants are available with 16 MB Flash (ESP32 Classic, ESP32-C3, ESP32-C6 and ESP32-S3), and have 1 or more MAX builds available in ESPEasy, that include all plugins and features available, and also a larger selection of fonts for displays (TFT/LCD, OLed and 7-segment).
For new projects, it is strongly advised to select one of the many available ESP32 boards, or chips when designing a custom board. Some of the ESP32 variants are available with 8MB, 16 MB, and 32MB, Flash (ESP32 Classic, ESP32-C3, ESP32-C5, ESP32-C6/C61, ESP32-S3 and ESP32-P4), and have 1 or more MAX builds available in ESPEasy, that include all plugins and features available, and also a larger selection of fonts for displays (TFT/LCD, OLed and 7-segment).
Overview of supported chips
===========================
@@ -32,17 +34,30 @@ ESPEasy does support a number of variants of the processors manufactured by Espr
* **ESP32-solo1** Same as ESP32, but with 1 core, running at 160 MHz. Used in some commercially sold devices like the early editions of the orange Shelly modules.
* **ESP32-S2** Has more GPIO pins than the ESP32, but only 1 CPU core. Initial support in ESPEasy added since 2021-09-19.
* **ESP32-S3** Support added: 2023-05-03
* **ESP32-S31** ❌ (No chip available yet)
* **ESP32-C2 / ESP8684** Support added: 2023-11-10
* **ESP32-C3 / ESP8685** Support added: 2023-05-03
* **ESP32-C5** Not yet supported
* **ESP32-C5** Preliminary support added: 2026-01-09
* **ESP32-C6** Support added: 2023-11-10
* **ESP32-H2** Not yet supported
* **ESP32-P4** Not yet supported
* **ESP32-C61** Preliminary support added: 2026-01-09
* **ESP32-E22** ❌ (No chip available yet)
* **ESP32-H2**
* **ESP32-H21**
* **ESP32-H4**
* **ESP32-P4** Support added: 2026-01-08
* **ESP32-P4rev3** Support added: 2026-04-20
.. note::
ESP32-P4 rev. 1.x was renamed by Espressif to "ESP32-P4 ES" as in "Engineering Sample". The newer 'rev.3.x' silicon is now named "ESP32-P4", though some pages on the Espressif site refer to this as "ESP32-P4X".
It is unclear yet what will be the common naming schema for these. Both silicon revisions do require different build files.
.. note::
ESP32-Hxx will likely never be supported in ESPEasy as these do not have WiFi or other networking options. Only Zigbee.
.. list-table:: Espressif platforms
:header-rows: 1
:widths: 7 7 7 7 7 7 7 7 7 7 7 7
:widths: 7 7 7 7 7 7 7 7 7 7 7 7 10
:stub-columns: 1
* -
@@ -50,49 +65,53 @@ ESPEasy does support a number of variants of the processors manufactured by Espr
- ESP32 (ESP32solo1)
- ESP32-S2
- ESP32-S3
- ESP32-S31
- ESP32-C2 (ESP8684)
- ESP32-C3 (ESP8685)
- ESP32-C5
- ESP32-C6
- ESP32-C61
- ESP32-H2
- ESP32-P4
- ESP32-P4 (1.x) / ESP32-P4X (3.x)
* - CPU
- Xtensa® single-core 32-bit L106
- Xtensa® dual-core 32-bit LX6 (solo1:single core)
- Xtensa® single-core 32-bit LX7
- Xtensa® dual-core 32-bit LX7
- 32-bit RISC-V dual-core processor
- 32-bit RISC-V single-core processor
- 32-bit RISC-V single-core processor
- 32-bit RISC-V single-core processor
- 32-bit RISC-V single-core processor
- 32-bit RISC-V single-core processor
- 32-bit RISC-V single-core processor
- 32-bit RISC-V dual-core processor up to 400 MHz with AI instruction extension and FPU for the HP system
- 32-bit RISC-V dual-core processor, AI instr & FPU
* - Core
- 1
- 2 (solo1:1)
- 1
- 2
- 1
- 1
- 1
- 1
- 1
- 1
- 2
- 1
- 1
- 1
- 1
- 1
- 1
- 2
* - Freq. (MHz)
- 80
- 240 (solo1:160)
- 240
- 240
- 320
- 120
- 160
- 240
- 160
- 120
- 96
- 400
- v1.x:360 / v3.x:400
* - Voltage (V)
- 2.5 ~ 3.6
- 3.0 ~ 3.6
@@ -105,177 +124,192 @@ ESPEasy does support a number of variants of the processors manufactured by Espr
- 3.0 ~ 3.6
- 3.0 ~ 3.6
- 3.0 ~ 3.6
- 3.0 ~ 3.6
* - ESPEasy supported since
- May-15
- 2015/05
- 2017/12 (solo1:2023/05)
- Sep-21
- May-23
- Nov-23
- May-23
-
- Nov-23
-
-
-
- 2021/09
- 2023/05
-
- 2023/11
- 2023/05
- 2026/01
- 2023/11
- 2026/01
-
- 2026/01 (v3.x:2026/04)
* - Introduction
- 2014
- 2016
- 2019
- 2021
- 2026
- 2022
- 2020
-
- 2022
- 2021
-
- 2024
- 2021
-
* - Status (2024/12)
- 2023 (v3.x:2026)
* - Status (2026/04)
- End-Of-Life
- Mass Production (solo1: NRND)
- NRND
- Mass Production
- Announced
- Mass Production
- Mass Production
- Sample
- Mass Production
- Sample
- Mass Production
- Sample
- Mass Production
- Mass Production
- V1.x: NRND, V3.x: Sample
* - Wi-Fi
- IEEE 802.11 b/g/n; 2.4 GHz; HT20; up to 72 Mbps
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
- IEEE 802.11 b/g/n; 2.4 GHz; HT20; up to 150 Mbps
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
- IEEE 802.11 b/g/n; 2.4/5 GHz; HT20/40; up to 150 Mbps
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
- IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps
- No Wi-Fi
- No Wi-Fi
-
- ❌ (via ESP-Hosted-MCU on secondary ESP32-C6)
* - Wi-Fi 6
-
-
-
-
-
-
-
-
-
-
- IEEE 802.11 ax; 2.4 GHz; HT20; up to 150 Mbps
-
- ❌
- IEEE 802.11 ax; 2.4/5 GHz; HT20; up to 150 Mbps
- IEEE 802.11 ax; 2.4 GHz; HT20; up to 150 Mbps
- IEEE 802.11 ax; 2.4 GHz; HT20; up to 150 Mbps
-
-
-
- ❌ (via ESP-Hosted-MCU on secondary ESP32-C6)
* - 5 GHz Wi-Fi
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ❌
* - Zigbee / Thread (802.15.4)
- N/A
- N/A
- N/A
- N/A
- N/A
- N/A
- Available
- Available
- N/A
- Available
- N/A
-
-
-
-
-
-
-
-
-
-
-
- ❌ (via ESP-Hosted-MCU on secondary ESP32-C6)
* - Bluetooth
- N/A
-
- BR/EDR + Bluetooth LE v4.2
- N/A
-
- Bluetooth LE v5.0
- Bluetooth LE+BR/EDR v5.4
- Bluetooth LE v5.0
- Bluetooth LE v5.0
- Bluetooth LE v5.0
- Bluetooth LE v5.3
- Bluetooth LE v5.0
- Bluetooth LE v5.0
- N/A
- ❌ (via ESP-Hosted-MCU on secondary ESP32-C6)
* - SRAM (KB)
- 160
- 520
- 320
- 512
- 512
- 272
- 400
- 384
- 512
- 320
- 320
- 768
- 768
* - ROM (KB)
-
- 448
- 128
- 384
- 320
- 576
- 384
- 320
- 320
- 256
- 128
- 128
- 128
* - RTC SRAM (KB)
- 1
- 16
- 16
- 16
- 0
- 32
- 32
- 8
- 16
- 16
- 16
- 4
- 32
- 32
* - ADC
- 1*10-bit ADC, 1 channel
- 2*12-bit ADC, 18 channels
- 2*13-bit ADC, 20 channels
- 2*12-bit ADC, 20 channels
- 2*12-bit ADC, 16 channels
- 1*12-bit ADC, 5 channels
- 2*12-bit ADC, 6 channels
- 1*12-bit ADC, 6 channels
- 1*12-bit ADC, 7 channels
- 1*12-bit ADC, 4 channels
- 1*12-bit ADC, 5 channels
- 2*12-bit ADC, 14 channels
- 2*12-bit ADC, 14 channels
* - DAC
- 0
-
- 2*8-bit DAC
- 2*8-bit DAC
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
- 2*10-bit DAC
-
-
-
-
-
-
- ❌
* - Touch
- 0
-
- 10
- 14
- 14
- 0
- 0
- 0
- 0
- 0
- 0
- 14
- 1
-
-
-
-
-
-
- 14
* - Temp Sensor
-
- 0
-
-
- 1
- 1
- 1
@@ -285,319 +319,347 @@ ESPEasy does support a number of variants of the processors manufactured by Espr
- 1
- 1
- 1
- 1
* - GPIO
- 16
- 26
- 37
- 36
- 60
- 14
- 15
- 22
- 30
- 18
- 19
- 55
- 55
* - Strapping GPIO
- 0, 2, 15
- 0, 2, 5, 12, 15
- 0, 45, 46
- 0, 3, 45, 46
- 48,50,75,76
- 8, 9
- 2, 8, 9
- 8, 9
- 4, 5, 8, 9, 15
- 4, 5, 8, 9, 15
- 8, 9
-
- 35, 36, 37, 38
* - GPIO for flash/PSRAM
- 6, 7, 8, 9, 10, 11
- 6, 7, 8, 9, 10, 11 (PSRAM or embedded flash: 16, 17)
- 27, 28, 29, 30, 31, 32 (OPI: 33, 34, 35, 36, 37)
- 27, 28, 29, 30, 31, 32 (OPI: 33, 34, 35, 36, 37)
- ❌
- 11, 12, 13, 14, 15, 16, 17
- 11, 12, 13, 14, 15, 16, 17
- 11, 12, 13, 14, 15, 16, 17
- 20, 21, 22, 24, 25, 26
- 20, 21, 22, 24, 25, 26
-
- N/A
-
* - UART
- 1.5 (Serial1 out only)
- 3
- 2
- 3
- 5
- 2
- 2
- 3
- 2
- 2
- 2
- 5
- 5
* - SPI
- 2
- 4
- 4
- 4
- 7
- 3
- 3
- 1
- 1
- 1
- 3
- 5
- 5
* - SDIO HOST
-
-
- 1
- 0
-
- 2
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- ❌
- ❌
- ❌
- ❌
- ❌
- ❌
- 1
* - SDIO SLAVE
-
-
- 1
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
- ❌
- 1
- 1
- 0
- 1
-
- 1
* - I2C
- 1(soft)
- 2
- 2
- 2
- 1
- 1
- 2
- 2
- 1
- 2
- 3
* - I3C
-
-
-
-
-
-
-
-
-
-
- 1
- 1
- 2
- 2
- 1
- 2
- 3
* - I3C
- ❌
- ❌
- ❌
- ❌
- ❌
- ❌
- ❌
- ❌
- ❌
- ❌
- ❌
- 1
* - I2S
- 1
- 2
- 1
- 2
- 0
- 2
- ❌
- 1
- 1
- 1
- 1
- 1
- 3
- 3
* - RMT
- 0
-
- 1*8 channels
- 1*4 channels
- 1*4 channels
- 0
-
- ❌
- 1*4 channels
- 1 channel
- 1*4 channels
-
- 1*2 channels
- 1*4 channels
- 1*4 channels
* - LEDC PWM
- 0
-
- 2*8 channels
- 1*8 channels
- 1*8 channels
- 2*8 channels
- 1*6 channels
- 1*6 channels
- 1*6 channels
- 1*6 channels
- 1*6 channels
- 1*6 channels
- 1*8 channels
- 1*8 channels
* - MCPWM
- 0
-
- 2
- 0
-
- 2
- 0
- 0
- 0
- 4
-
-
- ❌
- 1
- 0
-
- 1
- 2
- 2
* - USB OTG
- 0
- 0
-
-
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 2
- 1
-
-
-
-
-
-
- 2
* - USB Serial / JTAG
- N/A
- N/A
- YES
- YES
- N/A
- YES
- N/A
- YES
- YES
- YES
- YES
-
-
-
-
-
-
-
-
-
-
-
- ✔
* - Hall
- 0
-
- 1 (removed in ESP-IDF5)
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
-
-
-
-
-
-
- ❌
* - Ethernet
- 0
-
- 1 (RMII and SPI)
- 1 (SPI)
- 1 (SPI)
- 1 (RMII Gbit and SPI)
- 1 (SPI)
- 1 (SPI)
- 1 (SPI)
- 1 (SPI)
- 1 (SPI)
- 0
- 1 (RMII and SPI)
-
- 1 (RMII and SPI)
* - TWAI (CAN)
- 0
-
- 1
- 1
- 1
- 0
- 1
- ❌
- 1
- 2
- 2
- 2
- 1
- 3
- 3
* - JTAG
-
- YES
- YES
- YES
- YES
- YES
- YES
- YES
- YES
- YES
- YES
-
-
-
-
-
-
-
-
-
-
-
- ✔
* - Camera
- N/A
-
- 1*DVP 8/16-bit
- 1*DVP 8/16-bit
- 1*DVP 8/16-bit
- N/A
- N/A
- N/A
- N/A
- N/A
- N/A
- 1*DVP 8/16-bit
- ❌
- ❌
- ❌
- ❌
- ❌
- ❌
- 1*DVP 8/16-bit
* - TOF
- N/A
- N/A
- YES
- N/A
- N/A
- N/A
- N/A
- N/A
- N/A
- N/A
- N/A
-
-
-
-
-
-
-
-
-
-
-
- ❌
* - BT Certification
-
- BT SIG
-
- BT SIG
-
-
- BT SIG
-
- BQB
-
-
-
-
* - Wi-Fi Certification
- WPA 2
- Wi-Fi Alliance/WPA 3
- Wi-Fi Alliance/WPA 3
-
-
- WFA
-
-
-
-
-
-
-
* - Green Certification
-
- RoHS/REACH
- RoHS/REACH
- RoHS/REACH
-
- RoHS/REACH
- RoHS/REACH
-
- RoHS/REACH
- RoHS/REACH
-
-
-
* - RF Certification
-
- FCC / CE-RED / IC / TELEC / KCC / SRRC / NCC
- FCC / CE-RED / SRRC / IC
- SRRC / CE / FCC / IC / MIC / NCC / KCC
-
- SRRC
- FCC / CE-RED / SRRC / IC
-
-
-
-
-
-
* - Sleep Power Consumption
- 900 µA light sleep, 20 µA deep sleep
- 800 µA light sleep, 10 µA deep sleep
- 750 µA light sleep, 25 µA deep sleep
- 240 µA light sleep, 8 µA deep sleep
-
- 140 µA light sleep, 5 µA deep sleep
- 130 µA light sleep, 5 µA deep sleep
-
- 250 µA / 60 µA light sleep, 12 µA deep sleep
- 180 µA / 35 µA light sleep, 7 µA deep sleep
-
-
-
- 200 µA / 50 µA light sleep, 10 µA deep sleep
- 85 µA / 25 µA light sleep, 7 µA deep sleep
- 3.5 mA / 250 µA light sleep, 25 µA deep sleep
.. note:: Whether a specific MCU supports a feature, does not mean it can easily be used in ESPEasy or added as a new feature. For this we also need support in either Arduino-ESP32 or ESP-IDF. See `Arduino ESP32 "Supported Features and Peripherals" <https://docs.espressif.com/projects/arduino-esp32/en/latest/libraries.html#supported-features-and-peripherals>`_
Sources:
@@ -606,31 +668,43 @@ Sources:
* `Espressif Product Selector <https://products.espressif.com/#/product-comparison>`_
* `Espressif ESP32-xx modules overview <https://www.espressif.com/en/products/modules>`_
* `Espressif Product overview SoCs <https://www.espressif.com/en/products/socs>`_
* `Espressif Arduino Libraries: Supported Features and Peripherals <https://docs.espressif.com/projects/arduino-esp32/en/latest/libraries.html>`_
Datasheets
==========
* `DS:ESP8266 (ESP8285) <https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf>`_
* `DS:ESP32 <https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf>`_ / `DS:ESP32-solo1 <https://www.espressif.com/sites/default/files/documentation/esp32-solo-1_datasheet_en.pdf>`_
* `DS:ESP32-S2 <https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf>`_
* `DS:ESP32-S3 <https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf>`_
* `DS:ESP32-C3 <https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf>`_ / `DS:ESP8685 <https://www.espressif.com/sites/default/files/documentation/esp8685_datasheet_en.pdf>`_
* `DS:ESP32-C2 <https://www.espressif.com/sites/default/files/documentation/esp8684_datasheet_en.pdf>`_ / `DS:ESP8684 <https://www.espressif.com/sites/default/files/documentation/esp8684_datasheet_en.pdf>`_
* `DS:ESP32-C6 <https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf>`_
* `DS:ESP32-H2 <https://cdn-shop.adafruit.com/product-files/5715/esp32-h2_datasheet_en.pdf>`_
* `DS:ESP8266 <https://documentation.espressif.com/0a-esp8266ex_datasheet_en.pdf>`_
* `DS:ESP8285 <https://documentation.espressif.com/0a-esp8285_datasheet_en.pdf>`_
* `DS:ESP32 <https://documentation.espressif.com/esp32_datasheet_en.pdf>`_
* `DS:ESP32-S2 <https://documentation.espressif.com/esp32-s2_datasheet_en.pdf>`_
* `DS:ESP32-S3 <https://documentation.espressif.com/esp32-s3_datasheet_en.pdf>`_
* `DS:ESP32-S31 <https://documentation.espressif.com/esp32-s31_datasheet_en.pdf>`_
* `DS:ESP32-C2 <https://documentation.espressif.com/esp8684_datasheet_en.pdf>`_
* `DS:ESP32-C3 <https://documentation.espressif.com/esp32-c3_datasheet_en.pdf>`_
* `DS:ESP32-C5 <https://documentation.espressif.com/esp32-c5_datasheet_en.pdf>`_
* `DS:ESP32-C6 <https://documentation.espressif.com/esp32-c6_datasheet_en.pdf>`_
* `DS:ESP32-C61 <https://documentation.espressif.com/esp32-c61_datasheet_en.pdf>`_
* `DS:ESP32-H2 <https://documentation.espressif.com/esp32-h2_datasheet_en.pdf>`_
* `DS:ESP32-P4 <https://documentation.espressif.com/esp32-p4_datasheet_en.pdf>`_
* `DS:ESP32-P4 v1.3 <https://documentation.espressif.com/esp32-p4-chip-revision-v1.3_datasheet_en.pdf>`_
Technical Reference Manuals
===========================
* `TR:ESP8266 <https://www.espressif.com/sites/default/files/documentation/esp8266-technical_reference_en.pdf>`_
* `TR:ESP32 <https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf>`_
* `TR:ESP32-S2 <https://www.espressif.com/sites/default/files/documentation/esp32-s2_technical_reference_manual_en.pdf>`_
* `TR:ESP32-S3 <https://www.espressif.com/sites/default/files/documentation/esp32-s3_technical_reference_manual_en.pdf>`_
* `TR:ESP32-C3 <https://www.espressif.com/sites/default/files/documentation/esp32-c3_technical_reference_manual_en.pdf>`_
* `TR:ESP32-C2 <https://www.espressif.com/sites/default/files/documentation/esp8684_technical_reference_manual_en.pdf>`_
* `TR:ESP32-C6 <https://www.espressif.com/sites/default/files/documentation/esp32-c6_technical_reference_manual_en.pdf>`_
* `TR:ESP32-H2 <https://www.espressif.com/sites/default/files/documentation/esp32-h2_technical_reference_manual_en.pdf>`_
* `TR:ESP8266 <https://documentation.espressif.com/esp8266-technical_reference_en.pdf>`_
* `TR:ESP32 <https://documentation.espressif.com/esp32_technical_reference_manual_en.pdf>`_
* `TR:ESP32-S2 <https://documentation.espressif.com/esp32-s2_technical_reference_manual_en.pdf>`_
* `TR:ESP32-S3 <https://documentation.espressif.com/esp32-s3_technical_reference_manual_en.pdf>`_
* `TR:ESP32-C2 <https://documentation.espressif.com/esp8684_technical_reference_manual_en.pdf>`_
* `TR:ESP32-C3 <https://documentation.espressif.com/esp32-c3_technical_reference_manual_en.pdf>`_
* `TR:ESP32-C5 <https://documentation.espressif.com/esp32-c5_technical_reference_manual_en.pdf>`_
* `TR:ESP32-C6 <https://documentation.espressif.com/esp32-c6_technical_reference_manual_en.pdf>`_
* `TR:ESP32-C61 <https://documentation.espressif.com/esp32-c61_technical_reference_manual_en.pdf>`_
* `TR:ESP32-H2 <https://documentation.espressif.com/esp32-h2_technical_reference_manual_en.pdf>`_
* `TR:ESP32-P4 <https://documentation.espressif.com/esp32-p4_technical_reference_manual_en.pdf>`_
* `TR:ESP32-P4 v1.3 <https://documentation.espressif.com/esp32-p4-chip-revision-v1.3_technical_reference_manual_en.pdf>`_
ESP8266/ESP8285
@@ -841,6 +915,13 @@ Build versions:
* The default SPI mode will be quad mode for both flash and PSRAM
* ``max_ESP32s3_16M8M_LittleFS_OPI_PSRAM_CDC`` will have quad mode for flash and octal (OPI) mode for PSRAM. (typical 8MB PSRAM)
ESP32-S31
=========
There is not yet much known about the ESP32-S31.
Announcement `here <https://www.espressif.com/en/news/ESP32_S31_Release>`_
ESP32-C2/ESP8684
================
@@ -875,9 +956,10 @@ Due to the RISC-V core used in the ESP32-C3, this is a very 'snappy' device and
ESP32-C5
========
Added: 2026/01/26
This will be the first Espressif SoC supporting 5 GHz WiFi.
.. note:: Not yet available (as of Dec 2024)
ESP32-C6
========
@@ -892,9 +974,9 @@ It is the more powerful version of the ESP32-H2 and also includes not only the t
ESP32-C61
=========
This is a stripped-down version of the ESP32-C6, but with PSRAM versions available.
Added: 2026/01/26
.. note:: Not yet available (as of Dec 2024)
This is a stripped-down version of the ESP32-C6, but with PSRAM versions available.
@@ -920,4 +1002,11 @@ The CPU is rather powerful and there are versions with quite a large amount of P
It does have a RMII interface for Ethernet, like the ESP32-classic does.
.. note:: Not yet supported (as of Dec 2024)
.. note:: Not yet supported. Beta silicon is available (as of June 2025), which may change in Q3 or Q4 of 2025. So not yet adviced to be used in real products
ESP32-P4 rev3.x
===============
New revision of the ESP32-P4, which is incompatible with the initial P4.
.. note:: Not yet supported (as of March 2026)
-378
View File
@@ -33,153 +33,6 @@ This feature can be useful in a development/laboratory environment, for when the
.. image:: Hardware_Resetpin.png
-------------
I2C Bus
-------------
When using devices that use the I2C bus (Inter-integrated circuit, also known as IIC, and mostly compatible with SM Bus) (`Wikipedia: I2C <https://en.wikipedia.org/wiki/I%C2%B2C>`_) some pins have to be configured, and initialized during boot, for the SDA and SCL connections. This can be any unused pair of pins on the ESP board.
The pins can be configured here, and will have default values initially (ESP8266: SDA: GPIO-4 (D2), SCL: GPIO-5 (D3), ESP32: No defaults). When I2C is not used, these can be set to `- None -`, so the pins are available for other purposes.
When having an I2C Priority task configured, the I2C GPIO pins (for that bus, when multiple buses are available) can no longer be changed, as that could disable the hardware, thus blocking the device. The configured GPIO pins will be display-only.
The default bus clock speed can also be set here. If only devices supporting 100 kHz are connected (Old/Slow devices), then the value can be set to 100 kHz, by default 400 kHz is configured, that is supported by newer devices, though there are many devices supporting higher frequencies. ESP8266 is able to achieve ca. 400 kHz, while ESP32 allows higher speeds.
ESPEasy has a separate setting for Slow I2C devices, and per I2C device this slow clock speed can be selected in the Device configuration page. This value is by default set to 100 kHz, but can be set lower or higher if desired.
*I2C ClockStretchLimit*
- `I2C-bus.org - Clock Stretching <https://www.i2c-bus.org/clock-stretching/>`_
- `ESPeasy wiki - Basics: The I2C Bus <https://www.letscontrolit.com/wiki/index.php/Basics:_The_I%C2%B2C_Bus>`_
This setting is only available for the first I2C Bus, as not many devices (should) need this set, and the devices that do need this should then be connected to I2C Bus 0.
.. image:: Hardware_I2CBus.png
*Device specific Force Slow I2C speed selection:*
.. image:: Device_I2COptionsShort.png
Added: 2023-11-23
A device flag has been added for specific devices to have **Force Slow I2C speed** set by default. After adding the device this option will be checked, but can still be unchecked to use (try) Fast I2C speed (400 kHz).
Added: 2025-02-02
Multiple I2C Buses can be configured on ESP32 builds. This aids in connecting all on-board sensors and devices when multiple GPIO pin-pairs are used for I2C devices. By default, 2 I2C Buses are made available, but via compile-time options, a 3rd I2C Bus can be enabled, if required.
.. image:: Hardware_I2CBus2.png
The available options are the same as for the first I2C Bus.
If a second (or third) I2C Bus are not needed, then leave the GPIO settings on ``- None -``, and the interface won't be initialized, and not shown in the configuration options.
NB: The I2C Buses should of course not be configured for the same GPIO pins as any other I2C Bus.
NB2: Some boards require that in the Serial Console Settings (Tools/Advanced), the ``Fall-back to Serial 0`` option is disabled, to free the GPIO pins for I2C use.
When multiple I2C Buses are configured (so, ``SDA`` and ``SCL`` GPIO-pins configured), each task configured with an I2C device will show a selection for the I2C Bus to use. As expected, the first I2C Bus is selected by default, and another interface can be selected as required.
*Device specific I2C Bus selection:*
.. image:: Device_I2CBusSelection.png
NB: If a multiplexer is configured for 1 of the I2C Buses (but *not* for all interfaces), the I2C Bus selector will save & reload the page to show/hide the multiplexer options, below.
.. image:: Device_I2CBusSelectionReload.png
This screenshot shows the reload icon, to indicate that changing the selection will reload the page.
.. image:: Device_I2CBusSelection3.png
And an example for when 3 I2C Buses are available (compile-time option!) and configured.
---------------
I2C Multiplexer
---------------
Since build 20110, there is the option of using an I2C multiplexer. This option is not available in all builds, because of the size of the code. It is usually available in the normal, testing and custom builds, but ommitted from minimal, IR and hardware-specific builds.
Possible use-cases for an I2C multiplexer are:
* Connect multiple devices that have fixed or limited I2C addresses (For example, some OLED devices have a single fixed address but you need to connect 2 or more, or connect more than 3 TLS2561 devices, that support only 3 different addresses).
* Connect different devices that have the same I2C address (For example connecting a TSL2561 light/lux sensor and an APDS9960 proximity sensor).
* Connect slow and fast devices, where the speed of the fast device prohibits proper working of the slow device.
.. |br| raw:: html
<br>
.. note::
If devices with conflicting I2C addresses are to be used, then *none* of them can be connected to the ESP main I2C bus, but they should each be connected to a separate channel of the multiplexer. |br|
Devices that do not conflict with other devices *can* be connected to the ESP main I2C bus, this might improve the performance/responsiveness of these devices.
.. note::
When using an I2C Multiplexer, make sure there is no address conflict with any of the devices you intend to connect, f.e. when connecting BME280 sensors, don't set the address of the multiplexer to 0x76 or 0x77.
There are a couple of I2C multiplexer chips available, currently there is support for:
* TCA9548a (8 channels, multiple channel-connections, 8 I2C addresses, with reset)
* TCA9546a (4 channels, multiple channel-connections, 8 I2C addresses, with reset, also TCA9545a can be used, but no support for the Interrupt function though)
* TCA9543a (2 channels, multiple channel-connections, 4 I2C addresses, with reset)
* PCA9540 (2 channels, fixed I2C address, no reset, experimental support)
The TCA9548a, TCA9546a and TCA9543a support connecting multiple channels to the main I2C channel. This can be configured on the Device edit page for I2C devices, once the I2C Multiplexer configuration is enabled by selecting a multiplexer type and an I2C address for the multiplexer.
Also, the TCA9548a, TCA9546a and TCA9543a chips have a connection for a reset signal available. This allows the chip to be reset if it gets stuck by some 'less compatible' or 'badly behaving' devices. Once connected and configured, the multiplexer can be reset from the software, if desired or required. This feature is not yet used in any I2C device plugin.
A TCA9543a board has the advantage of being quite a bit smaller than either TCA9546a or TCA9548a, while being digitally compatible. (But with less channels and only 4 I2C addresses).
All these chips/boards can be found at Adafruit, Aliexpress, Banggood, EBay, etc.
.. image:: Hardware_I2CMultiplexerNone.png
*Available multiplexer types:*
.. image:: Hardware_I2CMultiplexer_Type.png
*Select the I2C Address for the multiplexer:*
.. image:: Hardware_I2CMultiplexer_Address.png
Added: 2025-02-02
With the introduction of multiple I2C Buses, it is also plausible to configure an I2C Multiplexer on the second (or third, when included in the build) I2C Bus.
.. image:: Hardware_I2CMultiplexer2.png
This allows the same configuration options as shown above for the first I2C Bus, as all I2C Buses are completely independent from each other.
Device configuration
^^^^^^^^^^^^^^^^^^^^
If an I2C multiplexer is configured for the selected I2C Bus, the Device edit page for I2C devices will show extra options to select the multiplexer channel the device is connected on.
There is the default option of Single channel, or, when a TCA9548a, TCA9546a or TCA9543a is configured, Multiple channels.
*Example: A multiplexer is configured, but the device is connected directly on the ESP board I2C channel:*
.. image:: Device_I2COptionsMultiplexerNone.png
*Configure a (single) multiplexer channel the device is connected on:*
.. image:: Device_I2COptionsMultiplexerSelectSingleChannel.png
NB: Only acceptable channels (0-7/0-3/0-1) will be available in the dropdown list, depending on the Multiplexer type configured.
*Select Single channel or Multiple channels:*
.. image:: Device_I2COptionsMultiplexerSelect.png
*Configure multiple channels for a device, 8 channel multiplexer configured*
.. image:: Device_I2COptionsMultiplexerMultipleSelect.png
Above configuration results in channels 0, 4, 5, 6 and 7 being connected to the ESP board I2C bus when this sensor is active via I2C.
NB: Only acceptable channel checkboxes (0-7/0-3/0-1) will be shown, depending on the Multiplexer type configured.
--------------------
PCF & MCP Direct I/O
@@ -198,41 +51,6 @@ When using multiple PCF and/or MCP GPIO extenders, they must all be connected to
NB: If only 1 I2C Bus is configured, this section isn't shown.
-------------
SPI Interface
-------------
When using devices that are connected via the SPI interface (`Wikipedia: SPI <https://en.wikipedia.org/wiki/Serial_Peripheral_Interface>`_), the interface must be initialized during boot. This can be enabled here. For ESP32 there is the option to select the HSPI (often called Hardware SPI) interface, the VSPI (often called Virtual SPI) interface, or select User-defined GPIO pins for the ``SCLK``, ``MISO`` and ``MOSI`` signals.
The common SPI pins are shown here.
Other SPI pins to be used are device specific, and need to be configured from the corresponding Device edit page.
*For ESP8266:*
.. image:: Hardware_SPIInterfaceESP8266.png
*For ESP32, disabled:*
.. image:: Hardware_SPIInterfaceESP32.png
*For ESP32, select the desired configuration:*
.. image:: Hardware_SPIInterfaceESP32_Select.png
NB: When using the VSPI configuration and also the I2C interface is used, another pin has to be selected for I2C GPIO -> SCL, as its configuration is fixed for the VSPI setting.
When selecting the *User-defined* options, 3 extra input fields are displayed, where the ``SCLK``, ``MISO`` and ``MOSI`` GPIO pins have to be selected. Nearly all pins can be used, but for the output signals ``SCLK`` and ``MOSI`` **no** *input-only* pins should be selected!
.. image:: Hardware_SPIInterfaceESP32_UserDefined.png
.. warning::
When changing the setting for **Init SPI**, or changing any of the User-defined GPIO pins, the ESP32 unit needs a hardware reset. This can be achieved by pressing the reset button (when available, sometimes labelled ``EN`` or ``RST``), or by completely removing the power for ~30 seconds. Also take into account here that units with a backup battery (f.e. some LilyGo and Waveshare ESP32 models) may keep power on the unit, so specific measures may have to be taken!
NB: When selecting the *User-defined* option, **all 3 GPIO pins should be set**, or an error message will be displayed when the page is saved, and the SPI interface will not be enabled at the next boot.
.. image:: Hardware_SPIpinsError.png
-------
SD Card
-------
@@ -241,202 +59,6 @@ When the compile-time option for SD-card support is enabled, the ``CS`` pin for
.. image:: Hardware_SDCard.png
--------
Ethernet
--------
On builds including ``_eth`` in their build name, it is also possible to use ethernet instead of WiFi.
Currently this is only present for ESP32 builds and no plans currently exist to support it for ESP82xx.
N.B. This is still in testing phase, so not all kinds of network communications work right now.
Preferred network medium
^^^^^^^^^^^^^^^^^^^^^^^^
Allows to switch between:
* WiFi (default)
* Ethernet
To activate a new configuration, a reboot is needed.
Ethernet PHY type
^^^^^^^^^^^^^^^^^
ESP boards can be equiped with Ethernet.
This is more stable and reliable compared to WiFi and allows for better responsiveness.
Actual transfer speed (at least when using RMII) is also higher than can be achieved via WiFi, but this is less of a concern for typical use cases where ESPEasy is used.
Ethernet chips/boards for ESP32-variant boards exist with 2 types of interfaces to the ESP.
* RMII interface - Faster actual transfer speeds possible, uses more GPIO pins, only supported on ESP32-classic (and upcoming ESP32-P4).
* SPI interface - (Added: 2024/02) Supported on all ESP32-variants (not all tested) on builds based on ESP-IDF 5.1
SPI Ethernet adapters do obviously require the SPI interface to be configured.
N.B. Only ESP32-variant builds with LittleFS support SPI Ethernet. (starting February 2024)
Supported Ethernet chips:
* RMII Interface:
* LAN8710 (LAN8720 is also supported, but none of the newer features are supported)
* TLK110
* RTL8201 (since ESP32 IDF 4.4)
* JL1101 (since ESP32 IDF 4.4)
* DP83848 (since ESP32 IDF 4.4)
* KSZ8041 (since ESP32 IDF 4.4)
* KSZ8081 (since ESP32 IDF 4.4)
* SPI Interface: (since ESP32 IDF 5.1)
* DM9051
* W5500
* KSZ8851
.. note:: The LAN8710 and LAN8720 are also available with an "A" suffix.
These are the same chips, only produced after the brand SMSC was taken over by Microchip Technology.
Ethernet PHY Address
^^^^^^^^^^^^^^^^^^^^
The PHY address depends on the hardware and the PHY configuration.
On some chips, like the LAN8720, the board designer may set this address by pulling some pins either high or low at power on.
In theory, one could use multiple PHY adapters on the same RMII/SPI bus, but this is (currently) not supported by ESPEasy.
* Espressif's Ethernet board with TLK110 PHY use PHY address 31.
* Common Waveshare LAN8720 PHY breakout board (and clones) use PHY address 1.
* Olimex ESP32 EVB REV B IoT LAN8710 PHY Board with CAN use PHY address 0.
* Other LAN8720 breakouts often use PHY address 0.
* ETH01-EVO (ESP32-C3 based board) uses PHY address 1.
If the PHY address is incorrect then the EMAC will initialise but all attempts to read/write configuration registers on the PHY will fail.
N.B. There is support for an auto detect of this PHY address, by setting it to -1, but at least on the LAN8720 this does not seem to work.
RMII Ethernet
^^^^^^^^^^^^^
As mentioned above, the RMII interface is only present on ESP32-classic (and is mentioned on the announced ESP32-P4).
RMII PHY SMI Wiring
"""""""""""""""""""
Most PHY boards have documented their *RMII PHY SMI Wiring* pins:
* **MDC** Output to PHY, usually pin 23
* **MDIO** Bidirectional, usually pin 18
Clock sync
""""""""""
The PHY and the ESP need to keep a clock in sync.
This can either be done via an external crystal, which is connected to a GPIO pin.
Another option is to let the ESP provide the clock to the PHY.
* External crystal oscillator
* 50MHz APLL Output on GPIO0
* 50MHz APLL Output on GPIO16
* 50MHz APLL Inverted Output on GPIO17
.. note:: When using an external crystal oscillator, this is connected to GPIO-0. Make sure this crystal is not active, or connected to GPIO-0, during boot or else the ESP32 may boot into flash mode.
Power pin
"""""""""
On almost all PHY boards, or ESP boards equiped with an ethernet PHY, it is possible to turn the PHY on or off.
Either to save energy, or to make sure the external clock is not affecting the ESP boot mode when it restarts.
For example the Olimex ESP32-EVB does have the *external crystal oscillator* connected to GPIO-0, which could boot the ESP32 randomly into UART flash mode.
Most boards use a specific GPIO pin to control the power to the PHY.
The Olimex ESP32-EVB does have a specific delay circuit to only allow power to the PHY after boot and therefore does not need to control the PHY power.
For other boards, the default is often GPIO-17, but this may change per board.
(Changed: 2022-01-20)
If the power pin is defined, ESPEasy will toggle the ethernet module off and on at boot.
Some Ethernet modules, like the LAN8720, may sometimes get stuck and need to be reset to get it to work again.
RMII PHY Wiring
"""""""""""""""
Apart from these GPIO pins, there is a number of other pins reserved on the ESP32 for RMII PHY Wiring.
Since these GPIO pin assignments cannot be changed, it is also not needed to configure them.
However, they also cannot be used when *RMII PHY* is used.
.. include:: ../Reference/RMII_Ethernet_PHY_ESP32.rst
RMII Ethernet ESP32 Boards
""""""""""""""""""""""""""
.. include:: ../Reference/RMII_Ethernet_ESP32_boards.rst
SPI Ethernet
^^^^^^^^^^^^
(Added: 2024/02)
As mentioned above, these SPI based Ethernet interfaces require the SPI interface to be configured.
The SPI bus can be shared, but the SPI Ethernet chips are a bit specific about the used frequency.
Currently the default SPI frequency of 20 MHz is used, so not all other SPI devices may work together with SPI Ethernet.
Some boards like the ETH01-EVO (ESP32-C3 based) do not even have the SPI bus pins made accesible.
.. note:: Switching to ECO mode can sometimes result in an unreachable node when using SPI Ethernet. After a reboot the node works just fine again (in ECO mode). This is currently being investigated.
GPIO Configuration
""""""""""""""""""
* CS pin: Just as any SPI device, it needs a CS pin to tell the device it is being addressed.
* IRQ/INT pin: Allows the Ethernet chip to signal the ESP about new data. (Optional for W5500)
* RST pin: ESP will try to reset the Ethernet adapter during boot. Not all boards may have this wired.
SPI Ethernet ESP32 Boards
"""""""""""""""""""""""""
.. include:: ../Reference/SPI_Ethernet_ESP32_boards.rst
Ethernet with PoE
^^^^^^^^^^^^^^^^^
Some ethernet boards support Power over Ethernet (PoE), so only a single (ethernet) cable to the ESP is needed, and the ESP (and any sensors) will be powered via an onboard converter.
For Olimex boards in the ESP32-POE range, the supplier has documented this warning:
.. warning::
**Important notice**: Olimex ESP32-PoE has **no galvanic isolation** from Ethernet's power supply, when you program the board via the micro USB connector the Ethernet cable should be disconnected (if you have power over the Ethernet cable)!
Consider using Olimex USB-ISO to protect your computer and board from accidental short circuit. Also consider instead using Olimex ESP32-PoE-ISO board, which *is* insulated.
Most likely, this warning is applicable to other brands as well.
Ethernet Isolation
^^^^^^^^^^^^^^^^^^
Most Ethernet RJ45 phy (the connector on the PCB) have isolation transformers in them.
This does isolate the TX/RX pins to make sure there is no direct connection between the long cables and the Ethernet controller chip.
The isolation does protect the Ethernet chip from picked up high voltage spikes and ESD surges when inserting the Ethernet cable.
However not all ESP boards with Ethernet have these installed.
Apart from the isolation of the TX/RX pins the metallic enclosure of the phy should also be isolated from the rest of the circuit of the ESP board.
Typically this is done by connecting the metal enclosure of the phy via a capacitor to GND of the rest of the circuit.
A lot of boards with Ethernet have these directly connected to GND, which may impose a problem when connecting the ESP board to your PC.
.. warning::
**Important notice**: For ESP boards with Ethernet which need debugging, never use Ethernet cables with metal shielding on the Ethernet connector.
Using shielded Ethernet cable will connect the metal shield of the RJ45 phy to the ground of the switch and this may be connected to other appliances which may be badly grounded.
This will add a significant voltage offset between the ESP board and your PC while debugging.
Such a high voltage is very likely to destroy electronics.
-------------------
GPIO boot states

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

+209
View File
@@ -0,0 +1,209 @@
.. _Interfaces_page:
Interfaces page
***************
To configure the available (included in the build) device interfaces there are tabs for each type of interface bus. These tabs allow to set up the GPIO pins, clock speeds and other needed parameters for each interface.
* :ref:`i2c-bus`
* :ref:`spi-bus`
* :ref:`modbus`
.. _i2c-bus:
-------
I2C Bus
-------
When using devices that use the I2C bus (Inter-integrated circuit, also known as IIC, and mostly compatible with SM Bus) (`Wikipedia: I2C <https://en.wikipedia.org/wiki/I%C2%B2C>`_) some pins have to be configured, and initialized during boot, for the SDA and SCL connections. This can be any unused pair of pins on the ESP board.
The pins can be configured here, and will have default values initially (ESP8266: SDA: GPIO-4 (D2), SCL: GPIO-5 (D3), ESP32: No defaults). When I2C is not used, these can be set to `- None -`, so the pins are available for other purposes.
When having an I2C Priority task configured, the I2C GPIO pins (for that bus, when multiple buses are available) can no longer be changed, as that could disable the hardware, thus blocking the device. The configured GPIO pins will be display-only.
The default bus clock speed can also be set here. If only devices supporting 100 kHz are connected (Old/Slow devices), then the value can be set to 100 kHz, by default 400 kHz is configured, that is supported by newer devices, though there are many devices supporting higher frequencies. ESP8266 is able to achieve ca. 400 kHz, while ESP32 allows higher speeds.
ESPEasy has a separate setting for Slow I2C devices, and per I2C device this slow clock speed can be selected in the Device configuration page. This value is by default set to 100 kHz, but can be set lower or higher if desired.
*I2C ClockStretchLimit*
- `I2C-bus.org - Clock Stretching <https://www.i2c-bus.org/clock-stretching/>`_
- `ESPeasy wiki - Basics: The I2C Bus <https://www.letscontrolit.com/wiki/index.php/Basics:_The_I%C2%B2C_Bus>`_
This setting is only available for the first I2C Bus, as not many devices (should) need this set, and the devices that do need this should then be connected to I2C Bus 0.
.. image:: Hardware_I2CBus.png
*Device specific Force Slow I2C speed selection:*
.. image:: Device_I2COptionsShort.png
Added: 2023-11-23
A device flag has been added for specific devices to have **Force Slow I2C speed** set by default. After adding the device this option will be checked, but can still be unchecked to use (try) Fast I2C speed (400 kHz).
Added: 2025-02-02
Multiple I2C Buses can be configured on ESP32 builds. This aids in connecting all on-board sensors and devices when multiple GPIO pin-pairs are used for I2C devices. By default, 2 I2C Buses are made available, but via compile-time options, a 3rd I2C Bus can be enabled, if required.
.. image:: Hardware_I2CBus2.png
The available options are the same as for the first I2C Bus.
If a second (or third) I2C Bus are not needed, then leave the GPIO settings on ``- None -``, and the interface won't be initialized, and not shown in the configuration options.
NB: The I2C Buses should of course not be configured for the same GPIO pins as any other I2C Bus.
NB2: Some boards require that in the Serial Console Settings (Tools/Advanced), the ``Fall-back to Serial 0`` option is disabled, to free the GPIO pins for I2C use.
When multiple I2C Buses are configured (so, ``SDA`` and ``SCL`` GPIO-pins configured), each task configured with an I2C device will show a selection for the I2C Bus to use. As expected, the first I2C Bus is selected by default, and another interface can be selected as required.
*Device specific I2C Bus selection:*
.. image:: Device_I2CBusSelection.png
NB: If a multiplexer is configured for 1 of the I2C Buses (but *not* for all interfaces), the I2C Bus selector will save & reload the page to show/hide the multiplexer options, below.
.. image:: Device_I2CBusSelectionReload.png
This screenshot shows the reload icon, to indicate that changing the selection will reload the page.
.. image:: Device_I2CBusSelection3.png
And an example for when 3 I2C Buses are available (compile-time option!) and configured.
---------------
I2C Multiplexer
---------------
Since build 20110, there is the option of using an I2C multiplexer. This option is not available in all builds, because of the size of the code. It is usually available in the normal, testing and custom builds, but ommitted from minimal, IR and hardware-specific builds.
Possible use-cases for an I2C multiplexer are:
* Connect multiple devices that have fixed or limited I2C addresses (For example, some OLED devices have a single fixed address but you need to connect 2 or more, or connect more than 3 TLS2561 devices, that support only 3 different addresses).
* Connect different devices that have the same I2C address (For example connecting a TSL2561 light/lux sensor and an APDS9960 proximity sensor).
* Connect slow and fast devices, where the speed of the fast device prohibits proper working of the slow device.
.. |br| raw:: html
<br>
.. note::
If devices with conflicting I2C addresses are to be used, then *none* of them can be connected to the ESP main I2C bus, but they should each be connected to a separate channel of the multiplexer. |br|
Devices that do not conflict with other devices *can* be connected to the ESP main I2C bus, this might improve the performance/responsiveness of these devices.
.. note::
When using an I2C Multiplexer, make sure there is no address conflict with any of the devices you intend to connect, f.e. when connecting BME280 sensors, don't set the address of the multiplexer to 0x76 or 0x77.
There are a couple of I2C multiplexer chips available, currently there is support for:
* TCA9548a (8 channels, multiple channel-connections, 8 I2C addresses, with reset)
* TCA9546a (4 channels, multiple channel-connections, 8 I2C addresses, with reset, also TCA9545a can be used, but no support for the Interrupt function though)
* TCA9543a (2 channels, multiple channel-connections, 4 I2C addresses, with reset)
* PCA9540 (2 channels, fixed I2C address, no reset, experimental support)
The TCA9548a, TCA9546a and TCA9543a support connecting multiple channels to the main I2C channel. This can be configured on the Device edit page for I2C devices, once the I2C Multiplexer configuration is enabled by selecting a multiplexer type and an I2C address for the multiplexer.
Also, the TCA9548a, TCA9546a and TCA9543a chips have a connection for a reset signal available. This allows the chip to be reset if it gets stuck by some 'less compatible' or 'badly behaving' devices. Once connected and configured, the multiplexer can be reset from the software, if desired or required. This feature is not yet used in any I2C device plugin.
A TCA9543a board has the advantage of being quite a bit smaller than either TCA9546a or TCA9548a, while being digitally compatible. (But with less channels and only 4 I2C addresses).
All these chips/boards can be found at Adafruit, Aliexpress, Banggood, EBay, etc.
.. image:: Hardware_I2CMultiplexerNone.png
*Available multiplexer types:*
.. image:: Hardware_I2CMultiplexer_Type.png
*Select the I2C Address for the multiplexer:*
.. image:: Hardware_I2CMultiplexer_Address.png
Added: 2025-02-02
With the introduction of multiple I2C Buses, it is also plausible to configure an I2C Multiplexer on the second (or third, when included in the build) I2C Bus.
.. image:: Hardware_I2CMultiplexer2.png
This allows the same configuration options as shown above for the first I2C Bus, as all I2C Buses are completely independent from each other.
Device configuration
^^^^^^^^^^^^^^^^^^^^
If an I2C multiplexer is configured for the selected I2C Bus, the Device edit page for I2C devices will show extra options to select the multiplexer channel the device is connected on.
There is the default option of Single channel, or, when a TCA9548a, TCA9546a or TCA9543a is configured, Multiple channels.
*Example: A multiplexer is configured, but the device is connected directly on the ESP board I2C channel:*
.. image:: Device_I2COptionsMultiplexerNone.png
*Configure a (single) multiplexer channel the device is connected on:*
.. image:: Device_I2COptionsMultiplexerSelectSingleChannel.png
NB: Only acceptable channels (0-7/0-3/0-1) will be available in the dropdown list, depending on the Multiplexer type configured.
*Select Single channel or Multiple channels:*
.. image:: Device_I2COptionsMultiplexerSelect.png
*Configure multiple channels for a device, 8 channel multiplexer configured*
.. image:: Device_I2COptionsMultiplexerMultipleSelect.png
Above configuration results in channels 0, 4, 5, 6 and 7 being connected to the ESP board I2C bus when this sensor is active via I2C.
NB: Only acceptable channel checkboxes (0-7/0-3/0-1) will be shown, depending on the Multiplexer type configured.
|
.. _spi-bus:
-------
SPI Bus
-------
When using devices that are connected via the SPI interface (`Wikipedia: SPI <https://en.wikipedia.org/wiki/Serial_Peripheral_Interface>`_), the interface must be initialized during boot. This can be enabled here. For ESP32 there is the option to select the HSPI (often called Hardware SPI) interface, the VSPI (often called Virtual SPI) interface, or select User-defined GPIO pins for the ``SCLK``, ``MISO`` and ``MOSI`` signals.
The common SPI pins are shown here.
Other SPI pins to be used are device specific, and need to be configured from the corresponding Device edit page.
*For ESP8266:*
.. image:: Hardware_SPIInterfaceESP8266.png
*For ESP32, disabled:*
.. image:: Hardware_SPIInterfaceESP32.png
*For ESP32, select the desired configuration:*
.. image:: Hardware_SPIInterfaceESP32_Select.png
NB: When using the VSPI configuration and also the I2C interface is used, another pin has to be selected for I2C GPIO -> SCL, as its configuration is fixed for the VSPI setting.
When selecting the *User-defined* options, 3 extra input fields are displayed, where the ``SCLK``, ``MISO`` and ``MOSI`` GPIO pins have to be selected. Nearly all pins can be used, but for the output signals ``SCLK`` and ``MOSI`` **no** *input-only* pins should be selected!
.. image:: Hardware_SPIInterfaceESP32_UserDefined.png
.. warning::
When changing the setting for **Init SPI**, or changing any of the User-defined GPIO pins, the ESP32 unit needs a hardware reset. This can be achieved by pressing the reset button (when available, sometimes labelled ``EN`` or ``RST``), or by completely removing the power for ~30 seconds. Also take into account here that units with a backup battery (f.e. some LilyGo and Waveshare ESP32 models) may keep power on the unit, so specific measures may have to be taken!
NB: When selecting the *User-defined* option, **all 3 GPIO pins should be set**, or an error message will be displayed when the page is saved, and the SPI interface will not be enabled at the next boot.
.. image:: Hardware_SPIpinsError.png
|
.. _modbus:
------
Modbus
------
TODO Modbus configuration and documentation to be added.
+61
View File
@@ -0,0 +1,61 @@
ESP-Hosted-MCU
--------------
(ESP32-P4 only)
Recently Espressif introduced a new concept along with the ESP32-P4.
These ESP32-P4 chips do not have any RF hardware present, so they don't support WiFi, Bluetooth or 802.15.4 (Zigbee)
This means boards with an ESP32-P4 and WiFi support do have a secondary Esp module present, like an ESP32-C6.
This secondary module does run the "ESP-Hosted-MCU" firmware.
In theory it should be possible to run just about any combination of ESP32-xx with an ESP32-P4, however currently only ESP32-C6 is supported even though there are ESP32-P4 boards with an ESP32-C5 being sold.
The protocol used between the processor running ESPEasy and the secondary ESP can change over time, so it is important to keep both firmware versions in sync.
ESPEasy does show information on both firmware/protocol versions on the WiFi Station config page.
For example:
.. code-block::
ESP-Host Fw Version: 2.12.3
ESP-Hosted-MCU Fw Version: 2.12.3
ESP-Hosted-MCU Chip: ESP32-C6
MAC: E4:B3:23:A9:3F:68
Update ESP-Hosted-MCU Firmware
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It has been made relatively easy to update the secondary ESP using the ``wifiotahostedmcu`` command.
This does not require any extra parameters. It only needs a direct connection to the internet.
Either via the WiFi module itself, or via Ethernet.
This will then try to download the matching firmware version from GitHub.
Update ESP-Hosted-MCU fw. version 0.0.6
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The ESP32-C6 is running the ESP-Hosted-MCU firmware from Espressif.
Typically new boards are running version 0.0.6 of that firmware, which doesn't yet support a lot of WiFi commands.
And even worse, when trying to call unsupported commands, the whole ESP32-P4 board may crash.
One of those commands not yet supported in this early version is to query the firmware version.
As soon as ESPEasy is installed on a new ESP32-P4 board and a network connection is active (with access to the internet), it is strongly adviced to run the command wifiotahostedmcu via the console. This will then install the most recent ESP-Hosted-MCU firmware matching the installed build of ESPEasy.
Typically this will be the Ethernet network interface which is present on most ESP32-P4 boards.
Since the state the WiFi firmware of a freshly installed ESP32-P4 is unknown,
the wifi STA adapter is set to 'disabled' by default.
The Ethernet interface will be set active. (as long as there aren't any new boards with a different Ethernet chip)
To set the WiFi STA interface to enabled, enter the following command via the serial console:
.. code-block:: none
networkenable,1
Don't forget to save the settings using the ``save`` command, or else the network interface will be disabled again after a reboot.
This is also why WiFi STA is always index 1 and WiFi AP is index 2.
N.B. There is of course also the ``networkdisable`` command.
+57
View File
@@ -0,0 +1,57 @@
Ethernet
--------
On nearly all ESP32 builds (exception: ESP32-C2), it is also possible to use ethernet instead of WiFi.
Currently this is only present for ESP32 builds and no plans currently exist to support it for ESP82xx.
Ethernet PHY type
^^^^^^^^^^^^^^^^^
ESP boards can be equiped with Ethernet.
This is more stable and reliable compared to WiFi and allows for better responsiveness.
Actual transfer speed (at least when using RMII) is also higher than can be achieved via WiFi, but this is less of a concern for typical use cases where ESPEasy is used.
Ethernet chips/boards for ESP32-variant boards exist with 2 types of interfaces to the ESP.
* RMII interface - Faster actual transfer speeds possible, uses more GPIO pins, only supported on ESP32-classic and ESP32-P4.
* SPI interface - (Added: 2024/02) Supported on all ESP32-variants (not all tested) on builds based on ESP-IDF 5.1 and later.
SPI Ethernet adapters do obviously require the SPI interface to be configured.
Supported Ethernet chips:
* RMII Interface:
* LAN8710 (LAN8720 is also supported, but none of the newer features are supported)
* LAN867X (since ESP32 IDF 5.5)
* TLK110
* RTL8201 (since ESP32 IDF 4.4)
* JL1101 (since ESP32 IDF 4.4)
* DP83848 (since ESP32 IDF 4.4)
* KSZ8041 (since ESP32 IDF 4.4)
* KSZ8081 (since ESP32 IDF 4.4)
* SPI Interface: (since ESP32 IDF 5.1)
* DM9051
* W5500
* KSZ8851
.. note:: The LAN8710 and LAN8720 are also available with an "A" suffix.
These are the same chips, only produced after the brand SMSC was taken over by Microchip Technology.
Ethernet PHY Address
^^^^^^^^^^^^^^^^^^^^
The PHY address depends on the hardware and the PHY configuration.
On some chips, like the LAN8720, the board designer may set this address by pulling some pins either high or low at power on.
In theory, one could use multiple PHY adapters on the same RMII/SPI bus, but this is (currently) not supported by ESPEasy.
* Espressif's Ethernet board with TLK110 PHY use PHY address 31.
* Common Waveshare LAN8720 PHY breakout board (and clones) use PHY address 1.
* Olimex ESP32 EVB REV B IoT LAN8710 PHY Board with CAN use PHY address 0.
* Other LAN8720 breakouts often use PHY address 0.
* ETH01-EVO (ESP32-C3 based board) uses PHY address 1.
If the PHY address is incorrect then the EMAC will initialise but all attempts to read/write configuration registers on the PHY will fail.
N.B. There is support for an auto detect of this PHY address, by setting it to -1, but at least on the LAN8720 this does not seem to work.
+35
View File
@@ -0,0 +1,35 @@
Ethernet with PoE
-----------------
Some ethernet boards support Power over Ethernet (PoE), so only a single (ethernet) cable to the ESP is needed, and the ESP (and any sensors) will be powered via an onboard converter.
For Olimex boards in the ESP32-POE range, the supplier has documented this warning:
.. warning::
**Important notice**: Olimex ESP32-PoE has **no galvanic isolation** from Ethernet's power supply, when you program the board via the micro USB connector the Ethernet cable should be disconnected (if you have power over the Ethernet cable)!
Consider using Olimex USB-ISO to protect your computer and board from accidental short circuit. Also consider instead using Olimex ESP32-PoE-ISO board, which *is* insulated.
Most likely, this warning is applicable to other brands as well.
Ethernet Isolation
------------------
Most Ethernet RJ45 phy (the connector on the PCB) have isolation transformers in them.
This does isolate the TX/RX pins to make sure there is no direct connection between the long cables and the Ethernet controller chip.
The isolation does protect the Ethernet chip from picked up high voltage spikes and ESD surges when inserting the Ethernet cable.
However not all ESP boards with Ethernet have these installed.
Apart from the isolation of the TX/RX pins the metallic enclosure of the phy should also be isolated from the rest of the circuit of the ESP board.
Typically this is done by connecting the metal enclosure of the phy via a capacitor to GND of the rest of the circuit.
A lot of boards with Ethernet have these directly connected to GND, which may impose a problem when connecting the ESP board to your PC.
.. warning::
**Important notice**: For ESP boards with Ethernet which need debugging, never use Ethernet cables with metal shielding on the Ethernet connector.
Using shielded Ethernet cable will connect the metal shield of the RJ45 phy to the ground of the switch and this may be connected to other appliances which may be badly grounded.
This will add a significant voltage offset between the ESP board and your PC while debugging.
Such a high voltage is very likely to destroy electronics.
+60
View File
@@ -0,0 +1,60 @@
RMII Ethernet
-------------
As mentioned above, the RMII interface is only present on ESP32-classic and ESP32-P4.
RMII PHY SMI Wiring
^^^^^^^^^^^^^^^^^^^
Most PHY boards have documented their *RMII PHY SMI Wiring* pins:
* **MDC** Output to PHY, usually pin 23
* **MDIO** Bidirectional, usually pin 18
Clock sync
^^^^^^^^^^
The PHY and the ESP need to keep a clock in sync.
This can either be done via an external crystal, which is connected to a GPIO pin.
Another option is to let the ESP provide the clock to the PHY.
* External crystal oscillator
* 50MHz APLL Output on GPIO0
* 50MHz APLL Output on GPIO16
* 50MHz APLL Inverted Output on GPIO17
.. note:: When using an external crystal oscillator, this is connected to GPIO-0. Make sure this crystal is not active, or connected to GPIO-0, during boot or else the ESP32 may boot into flash mode.
Power pin
^^^^^^^^^
On almost all PHY boards, or ESP boards equiped with an ethernet PHY, it is possible to turn the PHY on or off.
Either to save energy, or to make sure the external clock is not affecting the ESP boot mode when it restarts.
For example the Olimex ESP32-EVB does have the *external crystal oscillator* connected to GPIO-0, which could boot the ESP32 randomly into UART flash mode.
Most boards use a specific GPIO pin to control the power to the PHY.
The Olimex ESP32-EVB does have a specific delay circuit to only allow power to the PHY after boot and therefore does not need to control the PHY power.
For other boards, the default is often GPIO-17, but this may change per board.
(Changed: 2022-01-20)
If the power pin is defined, ESPEasy will toggle the ethernet module off and on at boot.
Some Ethernet modules, like the LAN8720, may sometimes get stuck and need to be reset to get it to work again.
RMII PHY Wiring
^^^^^^^^^^^^^^^
Apart from these GPIO pins, there is a number of other pins reserved on the ESP32 for RMII PHY Wiring.
Since these GPIO pin assignments cannot be changed, it is also not needed to configure them.
However, they also cannot be used when *RMII PHY* is used.
.. include:: ../Reference/RMII_Ethernet_PHY_ESP32.rst
RMII Ethernet ESP32 Boards
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. include:: ../Reference/RMII_Ethernet_ESP32_boards.rst
+29
View File
@@ -0,0 +1,29 @@
SPI Ethernet
------------
(Added: 2024/02)
As mentioned above, these SPI based Ethernet interfaces require the SPI interface to be configured.
The SPI bus can be shared, but the SPI Ethernet chips are a bit specific about the used frequency.
Currently the default SPI frequency of 20 MHz is used, so not all other SPI devices may work together with SPI Ethernet.
Some boards like the ETH01-EVO (ESP32-C3 based) do not even have the SPI bus pins made accesible.
.. note:: Switching to ECO mode can sometimes result in an unreachable node when using SPI Ethernet. After a reboot the node works just fine again (in ECO mode). This is currently being investigated.
GPIO Configuration
^^^^^^^^^^^^^^^^^^
* CS pin: Just as any SPI device, it needs a CS pin to tell the device it is being addressed.
* IRQ/INT pin: Allows the Ethernet chip to signal the ESP about new data. (Optional for W5500)
* RST pin: ESP will try to reset the Ethernet adapter during boot. Not all boards may have this wired.
SPI Ethernet ESP32 Boards
^^^^^^^^^^^^^^^^^^^^^^^^^
.. include:: ../Reference/SPI_Ethernet_ESP32_boards.rst
+365
View File
@@ -0,0 +1,365 @@
.. include:: _network_substitutions.repl
.. _NW001_page:
|NW001_typename|
==================================================
|NW001_shortinfo|
Network details
---------------
Type: |NW001_type|
Name: |NW001_name|
Status ESP32: |NW001_status|
Status ESP8266: |NW001_status_lb|
GitHub: |NW001_github|_
Maintainer: |NW001_maintainer|
.. include:: Network_standard_parameters.repl
.. include:: ESP_Hosted_MCU.repl
Wifi Credentials
----------------
Main WiFi credentials, stored in ``security.dat`` file.
* SSID:
* WPA Key:
* Fallback SSID:
* Fallback WPA Key:
Wifi Credentials Extra
----------------------
(ESP32-only)
The extra credentials stored in here are stored not in the ``security.dat`` file, but in ``devsecurity.dat``
.. note:: Credentials entered via the setup page are stored here (ESP32 only).
Wifi Settings
-------------
Include Hidden SSID
^^^^^^^^^^^^^^^^^^^
When checked, ESPEasy is allowed to connect to hidden SSID networks.
.. note:: Do not use channels 12 .. 14 for Hidden SSID networks as those are often not found using "Active Scan", which is needed to find hidden SSID networks.
Hidden SSID Slow Connect
^^^^^^^^^^^^^^^^^^^^^^^^
Added: 2023-11-20
Some access points with hidden SSID do not react to a broadcast connect attempt with a given SSID.
For example Mikrotik routers and access points only allow connecting to a hidden SSID when specifically addressed.
This may cause a significant slow down connecting to a hidden AP when there are lots of hidden access points with a relative strong signal.
This is enabled by default.
Passive WiFi Scan
^^^^^^^^^^^^^^^^^
There are 2 methods of scanning for access points:
* Active Scan: Scan by sending a probe request.
* Passive Scan: No probe request is sent out. Just switch to the specific channel and wait for a beacon.
The default scan is an active scan.
When WiFi channels 12 - 14 have to be used, but cannot be found, try to switch to use "Passive Scan".
.. note:: When using hidden SSID networks, Active scan is likely the only option that will work.
WiFi IP Settings
----------------
Options to setup static IP for the ESP's WiFi STA network interface.
Leave these empty to use DHCP.
* ESP WiFi IP
* ESP WiFi Gateway
* ESP WiFi Subnetmask
* ESP WiFi DNS
WiFi Mode
---------
Force WiFi B/G
^^^^^^^^^^^^^^
Force the WiFi to use only 802.11-B or -G protocol (not -N)
Since the 802.11 G mode of the ESP is more tolerant to noise, it may improve link
stability on some nodes.
WiFi Band Mode
^^^^^^^^^^^^^^
(ESP32-C5 Only)
The ESP32-C5 does support both 2.4 GHz and 5 GHz Wi-Fi.
The options are:
* 2.4 GHz only
* 5 GHz only
* 2.4 GHz + 5 GHz
This setting limits which bands will be allowed to connect to a configured access point.
.. note:: Scanning both 2.4 GHz and 5 GHz bands takes longer to connect as it typically takes upto 6 seconds to scan all channels.
WiFi Power
----------
Force WiFi no sleep
^^^^^^^^^^^^^^^^^^^
This option will set the WiFi sleep mode to no sleep.
This may cause the node to consume maximum power and should only be used for testing purposes.
It may even lead to more instability on nodes where the power supply is not
sufficient or the extra heat cannot be dissipated.
Since changing the mode back to the default setting may lead to crashes in some core versions, this option is only enabled when starting the node.
To activate a change of this setting, a reboot is required.
Max WiFi TX Power
^^^^^^^^^^^^^^^^^
(Added: 2021-01-26)
The default TX power of an ESP unit is:
* 802.11 b: +20 dBm
* 802.11 g: +17 dBm
* 802.11 n: +14 dBm
For some units it can help to reduce the TX power of the WiFi.
As of now the exact reason why this may improve stability is a bit unclear.
For example, the power supply may be slightly underdimensioned, or the antenna impedance isn't perfect. (can be affected by a lot of factors)
The effect of a reduction in TX power is of course lower energy consumption, but also a reduction in WiFi range as the received signal strength on the access point will be lower.
The unit for WiFi TX power is expressed in dBm, which makes it very easy to calculate the effect.
.. note:: dBm represents an absolute power level (in mWatt) while dB is a relative index.
RSSI is a bit confusing in its unit of measure as both dBm and dB are used.
As a rule of thumb, if the RSSI is expressed as a negative value, it is usually referring to dBm.
For positive values (i.e. 0 .. 100) it is in dB.
To further confuse the understanding, our ESPs use an RSSI of +31 as an error code.
The relation between TX power in dBm and Watt:
* 20 dBm = 0.1 Watt (= 30 mA @3.3V)
* 10 dBm = 0.01 Watt
* 0 dBm = 0.001 Watt
* -10 dBm = 0.0001 Watt
Every 10 dBm lower is a factor 10 less energy sent from the antenna.
N.B. Since most ESP boards use a linear voltage regulator from 5V to 3.3V, the power reduction can be as high as 0.15 Watt.
See also "WiFi Sensitivity Margin"
For example the AP does receive the signal from your ESP node with an RSSI of -60 dBm.
If we lower the TX power from 20 dBm to 10 dBm, the access point will receive our signal with an RSSI of -70 dBm.
Lowering the TX power can also be useful to make it more likely a node will connect to an access point close to the node in a setup with a number of access points using the same SSID.
Most access points will disconnect a node if its signal drops below a certain RSSI value. (some brands of access points allow to set this threshold)
WiFi Sensitivity Margin
^^^^^^^^^^^^^^^^^^^^^^^
(Added: 2021-01-26)
See also WiFi TX Power.
The ESP boards have a RX sensitivity depending on the used WiFi connection protocol:
* 802.11 b: 91 dbm (11 Mbps)
* 802.11 g: 75 dbm (54 Mbps)
* 802.11 n: 72 dbm (MCS7)
These are the numbers for an ESP8266.
N.B. The ESP32 is more sensitive for lower bit rates, but we use these more conservative ones.
The WiFi Sensitivity Margin is added to these RX sensitivity numbers above.
Our dynamic WiFi TX power strategy is based on the following assumptions:
* Without any changes in TX power on both the ESP as well as the access point (AP), we can assume the signal strength attenuates the same from the AP to the ESP as the return path from the ESP to the AP.
Meaning if we see the signal from an AP has an RSSI value of -60 dBm, we can assume the AP receiving our signal has a similar signal strength with an RSSI of -60 dBm.
* An access point usually has a better RX sensitivity than an ESP board.
With these assumptions in mind, we can lower our WiFi TX power.
Let's assume the ESP is connected to an access point using 802.11N and we see an RSSI of -60 dBm.
Without lowering TX power on the ESP, the access point will receive the ESP with an RSSI of -60 dBm.
When the TX power on this ESP is lowered from 14 dBm to 4 dBm, the access point will receive the ESP with an RSSI of -70 dBm.
This is still within the stated -72 dBm RX sensitivity.
However for improved stability, it is wise to add some margin. For example a margin of 5 dBm.
When applying this margin of +5 dBm, the ESP must try to match its output power to make sure the access point will receive the ESP with an RSSI of at least - 67 dBm.
The set TX output power will then be (-60 dBm - -67 dBm =) +7 dBm, which is still a significant improvement in power consumption.
This margin can also be used to compensate for an access point which is set to a non default TX power.
For example, it is good practice to lower the TX power of an access point to improve separation and take over in a network with multiple APs set to use the same SSID to provide roaming.
Since these offsets are also expressed in dBm, they can be used without conversion for correcting this margin.
* Negative margin: Used for access point with better RX sensitivity (high SNR) and/or lowered TX power
* Positive margin: Used for access point with lower RX sensitivity (low SNR) and/or increased TX power
.. note:: It is almost always a bad idea to increase TX power of an access point. The signal from the access point may cover a longer range, but the RX sensitivity is not improved thus the client can not reply. It also affects other WiFi networks in the neighborhood, causing more interference.
.. note:: Changing the antenna of an access point for a "High Gain Antenna" does improve TX range as well as RX sensitivity and thus cancel each other out regarding this margin setting. A high gain antenna is more directional than traditional antennas.
To get a feeling of RSSI values (in dBm) in relation to the experienced link quality:
* -30 dBm: Amazing
* -67 dBm: Very Good
* -70 dBm: Okay
* -80 dBm: Not Good
* -90 dBm: Likely Unstable
Link quality depends on more then just the RSSI.
For example a connection with lower band width (e.g. 802.11g compared to 802.11n) is usually more forgiving.
The actual link quality depends on the ratio between received signal strength (RSSI) and the noise floor.
The noise floor is simply erroneous background transmissions that are emitted from either other devices that are too far away for the signal to be intelligible, or by devices that are inadvertently creating interference on the same frequency.
Some brands of access points can show the current noise floor and/or the SNR.
For example, if a signal is received at -80 dBm and the noise floor is -100 dBm, the effective signal-to-noise ratio (SNR) is 20 dB, which is still very usable for ESP nodes as we don't send lots of data.
For a stable link the SNR should be > 15 dB.
The SNR does have big of impact on how responsive an ESPEasy node will 'feel' when operating it.
Sending with a very strong signal may also affect the link stability of other nodes as it will increase the noise floor for all access points in the neighborhood.
For best link stability of all nodes, it is best to target somewhere between -67 and -70 dBm.
Therefore the default value of +3dB margin will attempt to let the access point receive with a signal strength of roughly that sweet spot.
Of course nodes with an already high signal attenuation cannot send with more than the max allowed TX power of roughly 20.5 dBm.
Trying to reach this sweet spot in signal strength is just a best effort and not a guarantee.
Send With Max TX Power
^^^^^^^^^^^^^^^^^^^^^^
With this option checked, the TX-power will not be continuously adjusted, but just set at the max. set value.
WiFi Tweaks
-----------
Connect Retry Attempts
^^^^^^^^^^^^^^^^^^^^^^
Number of retry attempts to connect to a specific access point, before counting as 'failed'.
Restart WiFi Lost Conn
^^^^^^^^^^^^^^^^^^^^^^
Force a complete WiFi radio shutdown & restart when connection with access point is lost.
.. note:: This is also useful to use when there are access points in the neighborhood configured with different country code set. The actual configured country code can be seen on the WiFi scan page. (ESP32-only)
Use Last Connected AP from RTC
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Added: 2021-06-20
The last used (stable) connection is stored in RTC memory.
This will survive a reboot (and deep sleep) as long as the unit remains powered.
On WiFi reconnect, the stored last active connection is tried first.
This can reduce the time needed to reconnect on a reboot, or when waking from deep sleep.
Side effect is that if a node cannot see the stronger configured AP when connecting, it may never try to connect to the stronger AP as on reconnect the last used is tried first.
Especially on mesh networks this appears to cause a lot of instability, therefore this is now made an optional feature.
This is no new functionality, as it was present before and also enabled by default.
New default value since 2021-06-20: unchecked
Enable SDK WiFi Auto Reconnect
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Added: 2023-04-05
Some dual band access points (2.4 GHz and 5 GHz) try to balance connected nodes over these bands, based on their signal strength.
This is called "Band Steering".
WiFi clients supporting 802.11k and/or 802.11v can be redirected to another band and/or other meshed access point.
Older WiFi clients, not supporting these protocols, will briefly be disconnected to force them to reconnect. Hopefully to another access point or frequency band.
The problem is that such disconnects cause issues with Espressif modules, messing up the internal state of the WiFi.
ESPEasy does act on WiFi events. But these events are not always dealt with in due time, messing up the connected state even more.
In such cases, where "Band Steering" cannot be disabled, one can enable the Espressif SDK WiFi Auto Reconnect option.
This will act much faster on these disconnect events. However it also seems to suppress some WiFi events.
Whenever ESPEasy calls for a disconnect, or the disconnect takes longer than such a very brief disconnect initiated by the Band Steering algorithm of the access point, ESPEasy will turn off the WiFi and turn it on again as if "Restart WiFi Lost Conn" was enabled.
Periodical send Gratuitous ARP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The ESP node may sometimes miss ARP broadcast packets and thus not answer them if needed.
This may lead to the situation where a packet sent to the node cannot be delivered,
since the switch does not know how to route the packet.
To overcome this, the ESP node may send a *Gratuitous ARP* packet, which is
essentially an answer to a request which hasn't been made.
These gratuitous ARP packets however may help the switch to remember which
MAC address is connected via what port.
By default the ESP will send out such a gratuitous ARP packet every time it
receives an IP address and also when it was unable to make a connection to a host.
It could be the other host was replying, but the packet was not routable to the ESP node.
This *Periodical send Gratuitous ARP* option will send these kind of ARP packets
continuously with some interval.
This interval is defined in the source code in ``TIMER_GRATUITOUS_ARP_MAX`` (e.g. 5000 msec)
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
+114
View File
@@ -0,0 +1,114 @@
.. include:: _network_substitutions.repl
.. _NW002_page:
|NW002_typename|
==================================================
|NW002_shortinfo|
Network details
---------------
Type: |NW002_type|
Name: |NW002_name|
Status ESP32: |NW002_status|
Status ESP8266: |NW002_status_lb|
GitHub: |NW002_github|_
Maintainer: |NW002_maintainer|
.. include:: Network_standard_parameters.repl
Wifi AP Settings
----------------
WPA AP Mode Key
^^^^^^^^^^^^^^^
The WPA key to use for the WiFi AP mode.
Default key is ``configesp``
.. note:: WPA Key must be at least 8 characters long
Wifi AP channel
^^^^^^^^^^^^^^^
Suggested channel to use for AP mode.
.. note:: This will only be used when running in AP-only mode. When running in AP+STA mode, the AP will use the same channel as STA to make sure the ESP will not continously switch between channels for AP and STA.
Enable NAPT
^^^^^^^^^^^
(ESP32-only)
NAPT is like NAT which is known from any consumer internet router.
When checked, the ESP may act as a gateway to another network, when also connected via another network interface.
For example when the ESP is connected via WiFi STA, Ethernet or PPP, any WiFi client device connected via the ESP's AP can also reach the network via the other connected interface.
Like a single ESP board with a PPP modem and AP active. With NAPT checked, the connected WiFi clients can access the internet via the PPP modem.
.. note:: This will only work when `force /setup` is not enabled.
Wifi AP Fallback
----------------
Force /setup in AP-Mode
^^^^^^^^^^^^^^^^^^^^^^^
This is also known as "Captive Portal" mode, like what can be seen on some "free WiFi" networks where you get redirected to some welcome screen where you may need to agree to terms and conditions first before you can continue.
It does reply to any DNS request with the IP of the ESP's WiFi AP network interface and redirect the client to the ``/setup`` page for WiFi setup.
.. note:: Since this feature does actively reply to any DNS request with the ESP's own IP, this cannot be used along with the "NAPT" feature.
Start AP on No Credentials
^^^^^^^^^^^^^^^^^^^^^^^^^^
When checked, the AP interface will be started when there are no WiFi credentials set.
Start AP on Connect Fail
^^^^^^^^^^^^^^^^^^^^^^^^
When checked, the AP interface will be started when there the ESP may fail to connect to any configured WiFi access point.
Max. Uptime to Start AP
^^^^^^^^^^^^^^^^^^^^^^^
Limit the window in which the AP is allowed to start.
The set value refers to the number of minutes since the ESP booted.
When set to 0, the AP is allowed to start regardless the uptime of the ESP board.
AP Minimal 'on' Time
^^^^^^^^^^^^^^^^^^^^
Minimal time in seconds, the AP should remain turned 'on', waiting for a user to connect.
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
+47
View File
@@ -0,0 +1,47 @@
.. include:: _network_substitutions.repl
.. _NW003_page:
|NW003_typename|
==================================================
|NW003_shortinfo|
Network details
---------------
Type: |NW003_type|
Name: |NW003_name|
Status ESP32: |NW003_status|
Status ESP8266: |NW003_status_lb|
GitHub: |NW003_github|_
Maintainer: |NW003_maintainer|
.. include:: Network_standard_parameters.repl
.. include:: Ethernet_generic.repl
.. include:: Ethernet_rmii.repl
.. include:: Ethernet_poe_iso.repl
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
+47
View File
@@ -0,0 +1,47 @@
.. include:: _network_substitutions.repl
.. _NW004_page:
|NW004_typename|
==================================================
|NW004_shortinfo|
Network details
---------------
Type: |NW004_type|
Name: |NW004_name|
Status ESP32: |NW004_status|
Status ESP8266: |NW004_status_lb|
GitHub: |NW004_github|_
Maintainer: |NW004_maintainer|
.. include:: Network_standard_parameters.repl
.. include:: Ethernet_generic.repl
.. include:: Ethernet_spi.repl
.. include:: Ethernet_poe_iso.repl
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
+163
View File
@@ -0,0 +1,163 @@
.. include:: _network_substitutions.repl
.. _NW005_page:
|NW005_typename|
==================================================
|NW005_shortinfo|
Network details
---------------
Type: |NW005_type|
Name: |NW005_name|
Status ESP32: |NW005_status|
Status ESP8266: |NW005_status_lb|
GitHub: |NW005_github|_
Maintainer: |NW005_maintainer|
Description
-----------
The PPP network interface allows to use one of many available GSM/GPRS/WCDMA/HSDPA/HSUPA/PSPA/LTE/4g modem modules to allow an ESPEasy node to be used literally "in the field".
When connected, a module offers a direct connection to the internet. Keep in mind this connection is like any other device behind a NAT router, thus no connection possible from the internet to the device itself.
N.B. There are exceptions to this, for example when using a custom service with your own SIM cards. These kinds of configurations are not tested, but also not actively disabled in ESPEasy.
All supported modules need to have an UART interface over which the ESP communicates using AT-commands.
Currently supported PPP modules (others may also work):
* SIMCOM A76xx
* SIMCOM A7070/A7000
* BG96
* SIM800 (obsolete)
* Generic
The "Generic" option likely does work on most modules, however some specifics may not work.
Configuration
-------------
PPP modems need to communicate via a serial port.
It is strongly adviced to use flow control where possible and use hardware serial (not software serial).
Most SIMCOM modules use 115200 as default baudrate, unless it is configured otherwise.
Make sure to have at least the reset pin of the PPP modem connected, or at the very least have the option to power cycle the modem. But this should be used only as last resort as the modem may take minutes to find a network after a power cycle.
LTE modules can draw a significant high current while connecting to the provider network.
This can be upto 2 Ampere. So make sure either the module has ample capacitors (e.g. 330 uF ... 470 uF) and preferrably also a soft-start circuit when enable power to the PPP modem.
.. note:: Never run these PPP modem modules without an antenna connected!
.. include:: Network_standard_parameters.repl
Device Settings
---------------
.. image:: NW005_DeviceSettings.png
DTR pin
^^^^^^^
For SIMCOM A76xx modems, there is an emergency fallback option possible to regain access to the modem while the modem is in 'data' mode and not in 'console' mode.
ESPEasy does send the required AT-command ``AT&D1`` right before starting the network connection to enable this fallback in the modem settings.
These PPP modems do have a console/command mode and a data mode.
When entering AT commands, the modem must be pulled out of the data mode. However when the connection between the ESP and the modem got interrupted while the modem is still in data mode, it is impossible to regain access to the modem unless it is reset or power cycled.
This may occur when the ESP crashes or reboots without properly terminating the PPP network connection, or when the serial link between the ESP and the modem is not using flow control (which is strongly suggested to use!).
Not all modem boards do have the DTR pin exposed. So make sure to either have the reset pin available, or as a last resort, have the option to power cycle the modem board.
Power cycling should be considered as last resort to regain access to the modem, as it may take several minutes for a modem to get connected again after a power cycle.
Connection Settings
-------------------
These settings are optional.
.. note:: These specific settings are stored in the file ``devsecurity.dat`` as these are specific to this device.
Access Point Name (APN)
^^^^^^^^^^^^^^^^^^^^^^^
The APN is like a default gateway for your device to connect to another network.
Typically the default APN as stored in the SIM card, or sent by the provider when setting up the connection, is just fine.
For some use cases, it may be required to set a specific APN, to override the pre-configured one stored in the SIM card.
A provider may offer several APNs, for example to connect to a specific customer network or to handle the traffic differently.
Whether or not this is even useful to change depends on the use case and the specific provider.
SIM Card Pin
^^^^^^^^^^^^
A SIM card often has some 4-digit pin, which must be entered when powering up the device.
If needed, the Pin number can be entered here.
Modem State
-----------
.. image:: NW005_ModemState.png
UE System Information
^^^^^^^^^^^^^^^^^^^^^
.. image:: NW005_UE_SystemInformation.png
Useful AT commands
------------------
The command ``ppp,write,<AT-command>`` can be used to interact directly with the modem.
.. note:: The displayed output on the web interface often also includes the ``OK`` at the end. This is not part of the reply, but was originally printed on a separate line. However the way how these outputs are shown on the "Command Output" window, the extra newlines have been stripped from the response. The log on the serial port will output these on separate lines.
* ``ppp,write,ATI`` Example output: ``+GCAP: +CGSM,+FCLASS,+DS``
* ``ppp,write,AT+IPR=?`` Listing supported baud rates: ``+IPR: (300,600,1200,2400,4800,9600,19200,38400,57600,115200,230400,460800,921600,1842000,3686400)``
* ``ppp,write,AT+CSPN?`` Show the SIM card carrier string: ``+CSPN: "Lebara",0``
* ``ppp,write,AT+CCLK?`` Show local time as known by the modem: ``+CCLK: "70/01/01,00:53:53+00"``
Example Devices
---------------
* `A7670E <https://nl.aliexpress.com/item/1005005220505235.html>`_ (DTR pin exposed, no RST pin)
* `A7670G <https://nl.aliexpress.com/item/1005008748473438.html>`_ (DTR pin exposed, no RST pin)
* `LilyGO T-PCIE V1.2 - AXP2101 - ESP32-WROVER - 16MB <https://www.tinytronics.nl/nl/development-boards/microcontroller-boards/met-wi-fi/lilygo-t-pcie-v1.2-axp2101-esp32-wrover-16mb>`_ with modem: `LilyGO TTGO T-PCIE A7670G <https://www.tinytronics.nl/nl/communicatie-en-signalen/draadloos/telecom/modules/lilygo-ttgo-t-pcie-a7670g-uitbreidingsmodule>`_
To use the last LilyGo T-PCIe v1.2 along with their A7670G modem combination as network interface #3, this config import can be used to get started:
.. code-block::
networkimportconfig,3,`{"nwpluginID":5,"enabled":"true","route_prio":200,"fallback":"false","sn_block":"true","start_delay":1000,"en_ipv6":"false","serPort":4,"RX":26,"TX":27,"RTS":-1,"CTS":-1,"rst":4,"rst_act_low":"false","rst_delay":500,"baudrate":115200,"flowctrl":0,"phytype":2,"DTR":-1}`
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

@@ -0,0 +1,122 @@
Network Settings
----------------
Route Priority
^^^^^^^^^^^^^^
(ESP32 only)
When using multiple network interfaces, like WiFi, Ethernet or PPP LTE Modem, it must be made clear which interface should be used for new connections initiated from ESPEasy to some other host.
The connected network interface with the highest Route Priority is considered to be the default route.
Default Route Priority values are:
* WiFi STA = 100
* Ethernet = 50
* PPP (LTE modem) = 20
* WiFi AP = 10
Fallback Interface
^^^^^^^^^^^^^^^^^^
(ESP32 only)
.. note::
The concept of a Fallback Interface is available on ESP8266, but only for WiFi AP.
This is a special case, which is discussed here: :ref:`NW002_page` .
A network interface can be marked as "Fallback Interface".
A fallback interface will only be scheduled to start when:
* A non-fallback interface failed to connect.
* Route Priority changed to a value which is less than the set priority for the fallback interface.
The scheduled delay to start the fallback interface is set as "Delay Startup" (see below).
A fallback interface will be stopped when there is a default route with a route priority higher than the set Route Priority of the fallback interface.
It is possible to set multiple interfaces as Fallback Interface.
The fallback order can be tweaked using the Delay Startup and Route Priority.
N.B. Network interfaces which should be started at boot, should not be marked as Fallback Interface.
Example use cases
"""""""""""""""""
* Disable fallback on the WiFi AP and have it active continuously, allowing other nodes/devices to use the ESP node to act as a router/gateway using "NAPT".
* Have WiFi STA set as fallback for Ethernet (or PPP for a LTE modem). When there is no connection via Ethernet (or PPP) you can try using WiFi STA as backup.
* Have PPP (for connection via LTE) as fallback, so it will only be used if any of the other interfaces failed to get a connection.
* Have Ethernet set to lowest startup delay, WiFi STA as fallback with longer startup delay and PPP as fallback with the longest startup delay. This way the preferred interface is Ethernet, WiFi the second and as last resort the LTE modem.
Delay Startup
^^^^^^^^^^^^^
For various reasons, it can be useful to not immediately start a network interface at boot.
For example to reduce the power consumption as most network interfaces may draw significant more power for a short time when starting.
Another use case can be to check some sensor value before deciding to either start the network interface or enter deep sleep again.
The set value (in msec) is the delay from boot before starting the network interface.
Delay Startup for Fallback Interface
""""""""""""""""""""""""""""""""""""
A Fallback Interface is not started at boot.
The set Delay Startup is then used as delay to schedule starting the network interface.
See "Fallback Interface" for more information.
Append Name to Hostname
^^^^^^^^^^^^^^^^^^^^^^^
(ESP32 only)
When multiple network interfaces may connect to the same network (e.g. WiFi STA and Ethernet), it can be useful to set different hostnames per network interface.
With this option checked, the network interface name as listed on the "Network" tab overview page will be appended to the hostname as used for that network interface.
For example on an ESPEasy node called "ESPEasy", the WiFi STA interface will then use "ESPEasy-WiFi" as hostname.
This will be used in for example DHCP requests and when using mDNS.
Default setting is to have it disabled for WiFi STA and enabled for all other network interfaces.
Block Web Access
^^^^^^^^^^^^^^^^
When checked, the ESPEasy web interface cannot be accessed via the IP-range of the network interface.
.. note::
The PPP Network Interface (ESP32-only) will have this checked by default, since you typically can't access devices from the network of the mobile provider.
If this is possible for some odd reason, you very likely would never want to allow this.
Enable IPv6
^^^^^^^^^^^
(ESP32 only)
Checking this checkbox, will allow the network device to use IPv6.
Collect Network Stats
^^^^^^^^^^^^^^^^^^^^^
(ESP32 only, not included in all builds)
Checking this checkbox, will allow to collect network statistics like:
* Connected Station Count (AP only)
* RSSI (WiFi, PPP)
* TX Power (WiFi STA)
* BER (Bit Error Rate, only on PPP)
* TX Bytes
* RX Bytes
+285
View File
@@ -0,0 +1,285 @@
.. include:: _network_substitutions.repl
Network
*******
A Network plugin is comparable with a 'driver' for a network adapter.
.. note::
The network code of ESPEasy has been rewritten in 2025/2026.
Older builds of ESPEasy do have a different organisation of network related parameters.
Most of these were accessible via the ``Tools->Advanced`` page.
.. _Network Plugins:
Network Plugins
===============
.. note::
ESP32 builds do have a lot more networking capabilities compared to ESP8266.
For ESP8266 we only have support for WiFi and no other network interfaces will be added for ESP8266.
.. csv-table::
:header: "Plugin name", "ESP32 Plugin status", "ESP8266 Plugin status", "Plugin number"
:widths: 9, 6, 6, 3
":ref:`NW001_page`","|NW001_status|","|NW001_status_lb|","NW001"
":ref:`NW002_page`","|NW002_status|","|NW002_status_lb|","NW002"
":ref:`NW003_page`","|NW003_status|","|NW003_status_lb|","NW003"
":ref:`NW004_page`","|NW004_status|","|NW004_status_lb|","NW004"
":ref:`NW005_page`","|NW005_status|","|NW005_status_lb|","NW005"
Network Overview Tab
====================
.. image:: NetworkOverviewTab.png
Overview of the Network tab on an ESP32-P4.
The first 2 entries will be the same for every ESPEasy setup and these cannot be removed.
* Nr. 1 is always WiFi STA (station) To connect the ESP board to an access point.
* Nr. 2 is always WiFi AP (Access Point) To let the ESP board act as an access point.
There are 2 types of Ethernet plugins:
* RMII, only available on ESP32-classic and ESP32-P4 (and ESP32-S31 when supported in the future)
* SPI, Possible on all supported ESP32 variants except ESP32-C2.
The last option is a PPP modem, to connect via 4g/LTE to the internet.
Active
^^^^^^
Indicates whether a network adapter has been 'started'.
This is related to "Fallback" and "Delay Startup".
This "Active" concept is needed to allow for another concept called the "Fallback Interface".
For example, on a standard ESP board with only WiFi, the WiFi AP interface can be considered a fallback interface.
Meaning the AP is "Enabled" but no need to set it "Active" as long as you can connect to your normal WiFi network.
The conditions on when to start the WiFi AP interface can be configured as well.
Only when one or more set conditions are met, then the AP will be activated.
Name
^^^^
A single word describing the network interface.
This can be appended to the hostname and is also referred to in network events to be used in rules.
Route Prio
^^^^^^^^^^
(ESP32 only)
The active and connected interface with the highest 'route prio' value is the default interface for new outgoing connections.
The current default interface is marked with an asterisk.
This means the ESP is still reachable via other interfaces when needed, but new connections will be made only via the default route.
N.B. it is possible to block web access per interface via the checkbox for Block Web Access
.. note:: Do not set two interfaces active to same route prio as this may lead to undefined behavior.
Connected
^^^^^^^^^
Show basic information about the connection, or a red cross if not connected.
The shown duration is the duration since the last connected/disconnected status change.
Hostname/SSID
^^^^^^^^^^^^^
Shows the hostname as used for that specific network interface.
This hostname is used in the DHCP request and when mDNS is being used.
For the WiFi AP interface, the SSID is shown.
HW Address
^^^^^^^^^^
Lists the MAC address and some basic description of the network interface when applicable.
Description examples:
* WiFi interface on an ESP32-P4 lists the ESP32-variant used as external wifi adapter and the ESP-Hosted-MCU firmware version running.
* Ethernet will list the network adapter chip model.
For the PPP interface, the IMEI number is listed instead of the MAC address.
IP
^^
Shows the IPv4-address as it is currently in use on the network interface.
More detailed info on IPv6-addresses is listed on the page where the network interface can be configured and on the sysinfo page.
Port
^^^^
When applicable, the GPIO pins will be listed here.
* External WiFi module on ESP32-P4: SDIO bus
* Ethernet: GPIO pins
* PPP: Serial port + GPIO pins
Export/Import Network Parameters
================================
.. note::
This is working only on ESP32 as extra network interfaces are only supported on ESP32 builds of ESPEasy.
In order to simplify initial setup of a newly flashed module, it is possible to have a JSON string to enter via the ESPEasy console.
* ``networkexportconfig,N`` with N being the network adapter index.
* ``networkexportconfig,N,'{....}'`` with N being the network adapter index and the second parameter the literal JSON string as output from the ``networkexportconfig`` command.
.. note::
N.B. the 2nd parameter must be wrapped in quotes which are not used in the JSON string, like single quote or back-ticks. Also the braces must be included.
Examples
--------
Export of network config on a `Waveshare ESP32-P4-NANO <https://www.waveshare.com/esp32-p4-nano.htm>`_ RMII Ethernet adapter set as network index 3:
.. code-block:: none
networkexportconfig,3
{"nwpluginID":3,"enabled":"true","route_prio":150,"fallback":"false","sn_block":"false","start_delay":1000,"en_ipv6":"false","Index":0,"phytype":1,"phyaddr":1,"MDC":31,"MDIO":52,"pwr":51,"clock":1}
To import this exact example:
.. code-block:: none
networkimportconfig,3,`{"nwpluginID":3,"enabled":"true","route_prio":150,"fallback":"false","sn_block":"false","start_delay":1000,"en_ipv6":"false","Index":0,"phytype":1,"phyaddr":1,"MDC":31,"MDIO":52,"pwr":51,"clock":1}`
.. note::
When a parameter is not present in the JSON when importing, the default will be used.
Also when a parameter is not present in the stored config (applies to default values), the key/value pair will not appear in the exported JSON.
Allowed Parameters
------------------
.. csv-table:: Allowed import/export keywords per network plugin.
:header: "Key","Value Type","Description","WiFi STA","WiFi AP","RMII Ethernet","SPI Ethernet","PPP "
:widths: 15, 10, 20, 10, 10, 10, 10, 10
"nwpluginID","int","ESPEasy NWPlugin ID","1","2","3","4","5 "
"enabled","bool","","✔","✔","✔","✔","✔"
"route_prio","int","See “Route Priority”","✔ (100 default)","✔ (10 default)","✔ (50 default)","✔ (50 default)","✔ (20 default)"
"fallback","bool","See “Fallback Interface”","✔","✔","✔","✔","✔"
"sn_block","bool","See “Block Web Access”","✔","✔","✔","✔","✔"
"start_delay","int","See “Delay Startup”","✔","✔","✔","✔","✔"
"append_hostname","bool","See “Append Name to Hostname”","✔","✔","✔","✔","✔"
"en_ipv6","bool","See “Enable IPv6”","✔","✔","✔","✔","✔"
"Index","int","Network Nr on Network tab","1","2","✔","✔","✔"
"phytype","int","Selected chip, see below","","","✔","✔","✔"
"phyaddr","int","Ethernet PHY Address","","","✔","✔",""
"MDC","int","GPIO pin MDC","","","✔","",""
"MDIO","int","GPIO pin MDIO","","","✔","",""
"pwr","int","GPIO pin Power","","","✔","",""
"clock","int","Clock Mode","","","✔","",""
"CS","int","GPIO pin CS","","","","✔",""
"IRQ","int","GPIO pin IRQ","","","","✔",""
"RST","int","GPIO pin Reset","","","","✔","✔"
"ethspibus","int","SPI bus (0 or 1)","","","","✔",""
"serPort","int","ESPEasySerial port enum","","","","","✔"
"RX","int","GPIO pin RX","","","","","✔"
"TX","int","GPIO pin TX","","","","","✔"
"RTS","int","GPIO pin RTS","","","","","✔"
"CTS","int","GPIO pin CTS","","","","","✔"
"DTR","int","GPIO pin DTR","","","","","✔"
"rst_act_low","bool","Reset Active Low","","","","","✔"
"rst_delay","int","Delay after reset in ms","","","","","✔"
"baudrate","int","Baudrate","","","","","✔ (115200 default)"
"apn","string","Access Point Name (APN)","","","","","✔"
"pin","string","PIN of SIM card","","","","","✔"
"IP","string","IP address","","","✔","✔","✔"
"gw","string","Gateway IP address","","","✔","✔","✔"
"sn","string","Subnet mask","","","✔","✔","✔"
"DNS","string","DNS server IP address","","","✔","✔","✔"
Phy Types
---------
RMII Ethernet:
* LAN8720 = 0
* TLK110 = 1
* RTL8201 = 2
* JL1101 = 3
* DP83848 = 4
* KSZ8041 = 5
* KSZ8081 = 6
* LAN867X = 7
SPI Ethernet:
* DM9051 = 10
* W5500 = 11
* KSZ8851 = 12
PPP:
* generic = 1
* SIM7600 = 2
* SIM7070 = 3
* SIM7000 = 4
* BG96 = 5
* SIM800 = 6
Clock Mode
----------
For ESP32-classic, the clock mode for RMII Ethernet has these options:
* Ext_crystal_osc = 0
* Int_50MHz_GPIO_0 = 1
* Int_50MHz_GPIO_16 = 2
* Int_50MHz_GPIO_17_inv = 3
For ESP32-P4, the clock mode is a bit simpler as the clock pin can only be GPIO 32 / 44 / 50 (default)
and there are only 2 modes, either external crystal or clock generated by the ESP.
* Default = 0
* Ext_crystal (GPIO-50) = 1
* Int_50MHz (GPIO-50) = 2
And the not yet supported other clock GPIO pins:
* Ext_crystal (GPIO-32) = 129 ``(1 | (32 << 2))``
* Int_50MHz (GPIO-32) = 130 ``(2 | (32 << 2))``
* Ext_crystal (GPIO-44) = 177 ``(1 | (44 << 2))``
* Int_50MHz (GPIO-44) = 178 ``(2 | (44 << 2))``
.. note:: Currently only GPIO-50 is supported, but later the other GPIO pins could be used and then these fixed values should be used.
M5Stack ESP32-S3 Atom with W5500 AtomPoE SPI Ethernet
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Make sure SPI is configured with CLK: GPIO-5, MISO: GPIO-7, MOSI: GPIO-8
.. code-block:: none
networkimportconfig,3,'{"nwpluginID":4,"enabled":"true","route_prio":150,"sn_block":"false","start_delay":1000,"en_ipv6":"true","phytype":11,"phyaddr":0,"CS":6,"IRQ":-1,"RST":-1}'
@@ -0,0 +1,63 @@
.. |NW001_name| replace:: :cyan:`WiFi Station`
.. |NW001_type| replace:: :cyan:`Network`
.. |NW001_typename| replace:: :cyan:`Network - WiFi Station`
.. |NW001_status| replace:: :green:`NORMAL`
.. |NW001_status_lb| replace:: :green:`NORMAL`
.. |NW001_github| replace:: _NW001_WiFi_STA.cpp
.. _NW001_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/ESPEasy/net/_NW001_WiFi_STA.cpp
.. |NW001_usedby| replace:: `.`
.. |NW001_shortinfo| replace:: `.`
.. |NW001_maintainer| replace:: `TD-er`
.. |NW001_compileinfo| replace:: `.`
.. |NW002_name| replace:: :cyan:`WiFi AP`
.. |NW002_type| replace:: :cyan:`Network`
.. |NW002_typename| replace:: :cyan:`Network - WiFi AP`
.. |NW002_status| replace:: :green:`NORMAL`
.. |NW002_status_lb| replace:: :green:`NORMAL`
.. |NW002_github| replace:: _NW002_WiFi_AP.cpp
.. _NW002_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/ESPEasy/net/_NW002_WiFi_AP.cpp
.. |NW002_usedby| replace:: `.`
.. |NW002_shortinfo| replace:: `.`
.. |NW002_maintainer| replace:: `TD-er`
.. |NW002_compileinfo| replace:: `.`
.. |NW003_name| replace:: :cyan:`Ethernet (RMII)`
.. |NW003_type| replace:: :cyan:`Network`
.. |NW003_typename| replace:: :cyan:`Network - Ethernet (RMII)`
.. |NW003_status| replace:: :green:`NORMAL`
.. |NW003_status_lb| replace:: `.`
.. |NW003_github| replace:: _NW003_ETH_RMII.cpp
.. _NW003_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/ESPEasy/net/_NW003_ETH_RMII.cpp
.. |NW003_usedby| replace:: `.`
.. |NW003_shortinfo| replace:: `.`
.. |NW003_maintainer| replace:: `TD-er`
.. |NW003_compileinfo| replace:: `.`
.. |NW004_name| replace:: :cyan:`Ethernet (SPI)`
.. |NW004_type| replace:: :cyan:`Network`
.. |NW004_typename| replace:: :cyan:`Network - Ethernet (SPI)`
.. |NW004_status| replace:: :green:`NORMAL`
.. |NW004_status_lb| replace:: `.`
.. |NW004_github| replace:: _NW004_ETH_SPI.cpp
.. _NW004_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/ESPEasy/net/_NW004_ETH_SPI.cpp
.. |NW004_usedby| replace:: `.`
.. |NW004_shortinfo| replace:: `.`
.. |NW004_maintainer| replace:: `TD-er`
.. |NW004_compileinfo| replace:: `.`
.. |NW005_name| replace:: :cyan:`PPP Modem`
.. |NW005_type| replace:: :cyan:`Network`
.. |NW005_typename| replace:: :cyan:`Network - PPP Modem`
.. |NW005_status| replace:: :green:`NORMAL`
.. |NW005_status_lb| replace:: `.`
.. |NW005_github| replace:: _NW005_PPP_modem.cpp
.. _NW005_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/ESPEasy/net/_NW005_PPP_modem.cpp
.. |NW005_usedby| replace:: `.`
.. |NW005_shortinfo| replace:: `.`
.. |NW005_maintainer| replace:: `TD-er`
.. |NW005_compileinfo| replace:: `.`
+3 -1
View File
@@ -11,7 +11,9 @@ Type: |N001_type|
Name: |N001_name|
Status: |N001_status|
Status ESP32: |N001_status|
Status ESP8266: |N001_status_lb|
GitHub: |N001_github|_
+3 -1
View File
@@ -12,7 +12,9 @@ Type: |N002_type|
Name: |N002_name|
Status: |N002_status|
Status ESP32: |N002_status|
Status ESP8266: |N002_status_lb|
GitHub: |N002_github|_
+4 -4
View File
@@ -16,8 +16,8 @@ Notifications Plugins
======================
.. csv-table::
:header: "Name", "Status", "Notify Number"
:widths: 10, 8, 5
:header: "Plugin name", "ESP32 Plugin status", "ESP8266 Plugin status", "Plugin Number"
:widths: 9, 6, 6, 3
":ref:`N001_page`","|N001_status|","N001"
":ref:`N002_page`","|N002_status|","N002"
":ref:`N001_page`","|N001_status|","|N001_status_lb|","N001"
":ref:`N002_page`","|N002_status|","|N002_status_lb|","N002"
@@ -3,6 +3,7 @@
.. |N001_typename| replace:: :cyan:`Notifications - Email (SMTP)`
.. |N001_porttype| replace:: `.`
.. |N001_status| replace:: :green:`NORMAL` :yellow:`CLIMATE` :yellow:`COLLECTION` :yellow:`SONOFF` :yellow:`SHELLY`
.. |N001_status_lb| replace:: :green:`NORMAL` :yellow:`CLIMATE` :yellow:`COLLECTION` :yellow:`SONOFF` :yellow:`SHELLY`
.. |N001_github| replace:: N001_Email.cpp
.. _N001_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_N001_Email.cpp
.. |N001_maintainer| replace:: `.`
@@ -15,6 +16,7 @@
.. |N002_typename| replace:: :cyan:`Notifications - Buzzer`
.. |N002_porttype| replace:: `.`
.. |N002_status| replace:: :green:`NORMAL` :yellow:`CLIMATE` :yellow:`COLLECTION` :yellow:`SONOFF` :yellow:`SHELLY`
.. |N002_status_lb| replace:: :green:`NORMAL` :yellow:`CLIMATE` :yellow:`COLLECTION` :yellow:`SONOFF` :yellow:`SHELLY`
.. |N002_github| replace:: N002_Buzzer.cpp
.. _N002_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_N002_Buzzer.cpp
.. |N002_maintainer| replace:: `.`
+163 -42
View File
@@ -3,14 +3,14 @@
PlatformIO
**********
ESP easy can be built using the Arduino IDE or PlatformIO (PIO).
Arduino IDE is not being used during development, so it may take some more effort to get it setup for building ESPeasy.
ESP easy can be built using the PlatformIO/pioarduino IDE (PIO).
Arduino IDE is no longer supported for development though it's technically possible to be used. It may take considerable effort to get it setup for building ESPeasy.
We *strongly* advise to use PlatformIO as build environment.
We *strongly* advise to use PIO as build environment.
PlatformIO is just the build, test and upload environment for many micro controllers like the ESP8266 and ESP32 we use.
PIO is just the build, test and upload environment for many micro controllers like the ESP8266 and ESP32 we use.
On top of that you need to use an editor, or so called IDE in which PlatformIO will be used.
On top of that you need to use an editor, or so called IDE in which PIO will be used.
The current choice is:
@@ -21,10 +21,10 @@ VSCode is free to use and available for Windows, MacOS and Linux.
Apart from VSCode, there are more available, like Eclipse, MS Visual Studio (IDE) and probably more.
PlatformIO Prerequisites
========================
PlatformIO/pioarduino Prerequisites
===================================
PlatformIO does need at least the following:
PIO does need at least the following:
* Python
* Git command line tools (`download <https://git-scm.com/downloads>`_)
@@ -58,32 +58,43 @@ install Pyton in Windows for PlatformIO.
These steps have been explained in this Youtube video: https://youtu.be/ArqwMcYSMsU though you might want to use the latest version of both the Git tools and Python.
PlatformIO with VSCode
======================
PlatformIO/pioarduino with VSCode
=================================
Install
-------
For development of ESPEasy, a number of extensions has to be installed in VS-Code:
* PlatformIO IDE (by PlatformIO)
* C/C++ IntelliSense (by Microsoft)
* pioarduino IDE (by pioarduino)
* Select a C++ code completion plugin, either Microsoft C/C++ Intellisense or LLVM ``clangd``
* Microsoft
* C/C++ (by Microsoft)
* LLVM
* clangd (by LLVM)
* C/C++ Extension Pack (by Microsoft)
* C/C++ Themes (by Microsoft)
* Uncrustify (by Zachary Flower, originally by Laurent Tréguier)
Optional, but highly recommended:
* C/C++ DevTools (by Microsoft)
* Bookmarks (by Alessandro Fragnani)
* GitLens - Git supercharged (by Gitkraken)
* Todo Tree (by Gruntfuggly)
* TODO Highlight v2 (by Jonathan Clark)
* All Autocomplete (by Atishay Jain)
* Excel Viewer (by GrapeCity)
* Esbonio - An extension for editing sphinx projects (by Swyddfa)
* reStructuredText (by LeXtudio)
* reStructuredText Syntax highlighting (by Trond Snekvik)
* Extension pack for reStructuredText (by LeXtudio Inc.)
* Markdown All in One (by Yu Zhang)
* ESP Crash Decoder (by Jason2866)
* WSL (by Microsoft) (when using WSL2 as documented below)
In VSCode 1.113 the default code color scheme has changed from ``Light Modern`` or ``Dark Modern`` to ``VS Code Light`` or ``VS Code Dark``. For many users this change was quite unexpected as the used colors are quite different from the previous color scheme, so to revert to the previous default setting press ``Ctrl-K,Ctrl-T`` (``Cmd-K,Cmd-T`` on MacOs) and choose the previous default light or dark theme, or choose a different setting from the available options.
Uncrustify
----------
@@ -109,17 +120,19 @@ After setting it as the default formatter, the hotkey Alt-Shift-F (Cmd-Shift-F o
There used to be a reference to the Atom editor, but both Atom, and the PlatformIO plugin for Atom, are no longer maintained by their owners, so it was removed from this documentation.
Load a project using PlatformIO
-------------------------------
Load a project using PlatformIO/pioarduino
------------------------------------------
.. note:: PlatformIO has been superceded by the Community-supported **pioarduino** initiative. For simplicity, in most places the abbreviation PIO is throughout this section of the documentation.
If you have PIO installed and the source tree cloned to your hard drive, then you can open the main dir of the repository.
The main directory of the repository is the level with the file platformio.ini in it.
Then in a few moments after opening the directory, on the left there will appear an alien logo, the logo of PlatformIO.
Then in a few moments after opening the directory, on the left there will appear an chip-package logo, the logo of pioarduino.
If you click that one, you will get a tree with lots and lots of project tasks and environments.
It is important to note that PlatformIO does everything based on environments, which are defined in the platformio.ini file.
In the PlatformIO menu (on the left) everything is grouped per environment.
It is important to note that PIO does everything based on environments, which are defined in the platformio.ini file.
In the PIO menu (on the left) everything is grouped per environment.
An environment entry has several tasks, like:
@@ -130,8 +143,9 @@ An environment entry has several tasks, like:
* Clean
* ... many more.
Some of these options only are available when you have registered with PlatformIO and some are only for paid subscriptions.
At least the basic ones used for almost any user are available with the free account.
.. .. Some of these options only are available when you have registered with PlatformIO and some are only for paid subscriptions.
.. .. At least the basic ones used for almost any user are available with the free account.
The environment definitions all have at least the used micro controller in the name and the amount of flash memory used.
@@ -139,28 +153,135 @@ For example:
* ..._ESP8266_4Mnn -> ESP8266 has external flash, which can vary in size from 512 kB to 16 MB, with nn configured as filesystem.
* ..._ESP8266_1M -> ESP8285 has the flash internal, which is almost always 1 MB. ESP8266 does have an external flash chip, which allows for exchanging it for a larger flash chip (recommended).
* ..._ESP32_4M316k -> ESP32 with 4 MB flash and a 1.8 MB partition for the sketch. (316k SPIFFS)
* ..._ESP32s2_4M316k -> ESP32s2 with 4 MB flash and a 1.8 MB partition for the sketch. (316k SPIFFS)
* ..._ESP32_16M8M_LittleFS -> ESP32 with 16 MB flash and a 4 MB partition for the sketch. (8MB LittleFS)
* ..._ESP32_16M1M_ETH -> ESP32 with 16 MB flash and a 4 MB partition for the sketch. (1MB SPIFFS, Wired ethernet support)
* ..._ESP32_4M316k -> ESP32 with 4 MB flash and a 1.8 MB partition for the sketch. (316k LittleFS)
* ..._ESP32s2_4M316k -> ESP32s2 with 4 MB flash and a 1.8 MB partition for the sketch. (316k LittleFS)
* ..._ESP32_16M8M -> ESP32 with 16 MB flash and a 4 MB partition for the sketch. (8MB LittleFS)
Make a custom build using PlatformIO
------------------------------------
Make a Custom build using PIO
-----------------------------
To create a build from the sources, first thing is to get the sources onto your computer. This can be done in several ways:
1. Clone the repository using git tools to your computer
2. Fork the repository to your own Github account, and clone this to your computer (advantage: You can make changes and create a pull-request to have that included in the ESPEasy code base)
3. Download a .zip file with the code from the Gihub page of ESPEasy https://github.com/letscontrolit/ESPEasy and unpack that
(NB: Using ``/`` as the path separator here, in Linux style, on Windows use ``\`` in the ``cd`` commands instead)
**Option 1**.
*Advantage*: Quick to get started, easy update to the latest source.
*Disadvantage*: You can't create a pull-request from this environment to add improvements to ESPEasy.
Initial setup:
Open a command prompt or terminal, and change the current directory to a folder where you have enough space to hold the code, libraries and tooling (ca. 2 GB)
.. highlight::sh
.. code-block::
cd /develop
git clone https://github.com/letscontrolit/ESPEasy.git
This will create a folder /develop/ESPEasy.
If you did the initial setup some time ago and want to update to latest source:
.. highlight::sh
.. code-block::
cd /develop/ESPEasy
git pull
Continue at **General steps**, below.
**Option 2**.
*Advantage*: Quick to get started, can update to the latest source, can contribute to ESPEasy.
*Disadvantage*: A *little* bit more complex to setup and update.
Initial setup:
Go to https://github.com/letscontrolit/ESPEasy, be sure to log into your Github account, and create a fork of the ESPEasy repository to your account (a more elaborate description can be found below)
Open a command prompt or terminal, and change the current directory to a folder where you have enough space to hold the code, libraries and tooling (ca. 2 GB)
.. highlight::sh
.. code-block::
cd /develop
git clone https://github.com/[your_github_handle]/ESPEasy.git
cd ESPEasy
git remote add upstream https://github.com/letscontrolit/ESPEasy
This will create a folder /develop/ESPEasy, and tell git where to synchronize to, 'upstream'.
If you did the initial setup some time ago and want to update to latest source:
.. highlight::sh
.. code-block::
cd /develop/ESPEasy
git pull upstream mega
Continue at **General steps**, below.
**Option 3**.
*Advantage*: ? You don't need to install the git tools.
*Disadvantage*: Source can not be easily updated with the latest code changes.
Initial setup:
Go to https://github.com/letscontrolit/ESPEasy and from the green :green:`Code` button, select the ``Download ZIP`` option.
Create a folder ``/develop/ESPEasy``
Expand the content of the downloaded .zip file into this folder, preserving the folder structure.
Update to latest source code:
Save your ``Custom.h`` and/or ``pre_custom*.py`` file(s), if you created or changed any of them for a Custom build.
Delete the content of the ``/develop/ESPEasy`` folder.
Re-do the Initial setup.
Copy back your ``Custom.h`` and/or ``pre_custom*.py`` file(s), if you saved them before.
Continue with the **General steps**.
**General steps**:
Then open this folder from VSCode. You can save this setup as a Workspace file, so you can switch between multiple Workspaces, or quickly return to the state of work since you last closed VSCode.
On the left side of the VSCode UI, there are a set of large buttons, and one of them is pioarduino (or PlatformIO if you installed that, though that's no longer recommended), that when clicked shows the available Project Tasks (environments) that can be expanded.
The easiest is to go for the environment ``custom_ESP8266_4M1M`` and unfold that one.
Then select ``Build`` to see if it will start building.
If that's working, you can open the file ``pre_custom_esp8266.py`` and add or remove the plugins and controllers you need.
That Python file is used in the ``env:custom_ESP8266_4M1M`` (or any ``custom`` build environment) to define what should be embedded and what not.
If that's working, you can open the file ``pre_custom_esp82xx.py`` and add or remove the plugins and controllers you need.
That Python file is used in the ``env:custom_ESP8266_4M1M`` (or any ``custom`` ESP8266 build environments) to define what should be included and what not.
For example to have only the controller ``C014``, you can remove ``CONTROLLER_SET_ALL``, and just add ``USES_C014``,
The same for the plugins you need.
The file is built in the ``.pio/build/....`` directory right under the main repository directory (the one with the platformio.ini in it)
Instead of modifying ``pre_custom_esp8266.py`` (or ``pre_custom_esp32.py`` for that matter), one can also copy ``src/Custom-sample.h`` to ``src/Custom.h`` and make the desired changed in this file. This file is excluded from Github, so can be adjusted to your own requirements. When the Custom.h file is there (mind the uppercase C!), it will be used by the build scripts instead of the defaults set by ``pre_custom_esp8266.py`` (or ``pre_custom_esp32.py``).
Instead of modifying ``pre_custom_esp82xx.py`` (or any of the ``pre_custom_esp32*.py`` files for that matter), one can also copy ``src/Custom-sample.h`` to ``src/Custom.h`` and make the desired changed in this file. This file is excluded from git, so can be adjusted to your own requirements. When the ``Custom.h`` file is available (mind the uppercase C!), it will be used by the ``custom`` build scripts instead of the defaults set by ``pre_custom_esp82xx.py`` (or ``pre_custom_esp32*.py``).
.. note:: Custom IR builds have their own ``pre_custom_esp8266_IR.py`` or ``pre_custom_esp32_IR.py`` file.
In the freshly copied ``Custom.h`` you will find all available plugins and features available in ESPEasy, and also you can enable or disable some settings to be used on a clean (empty flash) install.
Enabling a plugin or feature can be done by removing the comment marker (``//``) at the start of the line.
.. note:: Custom IR builds have their own ``pre_custom_esp82xx_IR.py`` or ``pre_custom_esp32_IR.py`` file.
All builds will be made in a directory with the same name as the environment used.
@@ -213,7 +334,7 @@ Now that Linux is installed, it's strongly advised to get it up to date with the
NB: The ``sudo`` command will ask for your current account password once, (and maybe later again after some time has passed). When asked for confirmation, confirm the installation of any needed updates, or add the ``-y`` parameter to the ``upgrade`` command to continue without questions.
Additionally some tools need to be installed so PlatformIO can be properly installed later, and we can use the Uncrustify plugin in VS-Code to format the code nicely:
Additionally some tools need to be installed so PIO can be properly installed later, and we can use the Uncrustify plugin in VS-Code to format the code nicely:
.. highlight::sh
@@ -307,7 +428,7 @@ Upload to ESP
Linux
-----
For Linux, you may need to install 99-platformio-udev.rules to make PlatformIO upload tools work in vscode.
For Linux, you may need to install 99-platformio-udev.rules to make PIO upload tools work in vscode.
.. highlight::sh
@@ -317,12 +438,12 @@ Starter guide for (local) development on ESPEasy
For those with less development experience, or less experience in using Github, this chapter is intended as a **How To** guide to get started with development on ESPEasy.
It tries to help setting up Visual Studio Code (VSCode) with the PlatformIO development environment and additional VSCode plugins that aid in easier working on code and documentation.
It tries to help setting up Visual Studio Code (VSCode) with the PIO development environment and additional VSCode plugins that aid in easier working on code and documentation.
The global steps described here are:
- Creating a private copy on Github
- Getting VSCode and PlatformIO set up
- Getting VSCode and PIO set up
- Getting the source code from Github onto your system
- Compiling the source code
- Creating a branch to make your changes
@@ -366,12 +487,12 @@ After this completes, you can view the fork in your Github dashboard at https://
(You have to replace [your_github_handle] with the name you selected during the Github sign-up procedure)
Install VSCode and PlatformIO
Install VSCode and PIO
------------------------------
Earlier on this page, a complete description has been given on how to install **PlatformIO with VSCode** with the required and advised optional extensions and the git command-line tools.
Earlier on this page, a complete description has been given on how to install **PlatformIO/pioarduino with VSCode** with the required and advised optional extensions and the git command-line tools.
NB: PlatformIO is often shortened to PIO.
NB: PlatformIO/pioarduino is shortened to PIO.
Clone your forked repository to your computer
---------------------------------------------
@@ -422,7 +543,7 @@ Depending on your usual workflow, the current VSCode environment can be saved as
Compile an ESPEasy PIO environment
----------------------------------
ESPEasy supports several different configurations of ESP units, ESP8266, ESP8285 and ESP32, and also some predefined hardware configurations and sets of plugins & controllers. This has been turned into several different PlatformIO environments, to make managing the different builds as easy as possible.
ESPEasy supports several different configurations of ESP units, ESP8266, ESP8285 and ESP32, and also some predefined hardware configurations and sets of plugins & controllers. This has been turned into several different PIO environments, to make managing the different builds as easy as possible.
To compile such 'environment' (PIO terminology), select the PIO button (it looks like an alien) in VSCode:
@@ -492,10 +613,10 @@ Especially for new plugins, it is highly recommended to write documentation, as
Using external libraries
~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^
.. note::
Since November 2022, the PlatformIO configuration for ESPEasy was changed to *require* all libraries to be locally available, to a) prevent unexpected 'surprises' when an external library is updated, and b) greatly improve build output stability and quality.
Since November 2022, the PIO configuration for ESPEasy was changed to *require* all libraries to be locally available, to a) prevent unexpected 'surprises' when an external library is updated, and b) greatly improve build output stability and quality.
While developing a plugin or some other feature, often you use an existing library to re-use that (assumably) proven and tested functionality. To include such library, there is a prerequisite, and some generic steps to take:
@@ -516,7 +637,7 @@ Writing documentation
Updating, or adding if it does not yet exist, the documentation is a useful activity that should be part of changing or adding to the ESPEasy code. Some of the optional VSCode extensions are specifically aimed at that task.
The documentation is created in the reStructuredText format, using mostly a ``.rst`` extension, and can be built locally by installing the sphinx tool. This can be installed manually by opening a PlatformIO Terminal window in VSCode (an already open PIO Terminal can also be used, when using WSL2 a PlatformIO Terminal is *required* to execute in the correct Python Virtual Environment (venv)) and issuing these commands:
The documentation is created in the reStructuredText format, using mostly a ``.rst`` extension, and can be built locally by installing the sphinx tool. This can be installed manually by opening a PIO Terminal window in VSCode (an already open PIO Terminal can also be used, when using WSL2 a PIO Terminal is *required* to execute in the correct Python Virtual Environment (venv)) and issuing these commands:
.. code-block::
@@ -676,7 +797,7 @@ For those that want to test the code from a pull request, created by someone els
git pull upstream pull/<prnumber>/head
5. Build the desired PIO environment, or add the (new?) plugin to your Custom.h file to create your local Custom build. Like described above, you can also add a plugin to the ``pre_custom_esp8266.py`` or ``pre_custom_esp32.py`` Python scripts (when *not* having a Custom.h file, as that will be used for any Custom build first).
5. Build the desired PIO environment, or add the (new?) plugin to your Custom.h file to create your local Custom build. Like described above, you can also add a plugin to the ``pre_custom_esp82xx.py`` or ``pre_custom_esp32*.py`` Python scripts (when *not* having a Custom.h file, as that will be used for any Custom build first).
6. To update your local code after the PR has been updated on github, repeat step **3.** and **4.** within the branch created in step **2.** active (``git checkout pulls/<prnumber>``).
+28 -24
View File
@@ -10,9 +10,14 @@ ESPEasy Project Directories
Below a list of the most important directories and files used in this project.
* ``.pio/`` Working dir for PlatformIO (Ignored by Git)
* ``build_output/`` The output directory where all built files are collected.
* ``dist/`` Files also includd in the nightly builds (e.g. blank flash files and ESPEasy flasher)
* ``.github/`` Buildscripts used by the Github Actions build and release CI jobs.
* ``.pio/`` Working dir for pioarduino (Ignored by Git)
* ``.platformio/`` Working dir for pioarduino (Ignored by Git)
* ``.platformio/penv/`` Directory to store the used Python Virtual Environment.
* ``boards/`` Used board definitions.
* ``boards/partitions/`` Used partition layout in ESP32 builds.
* ``build_output/`` The output directory where all built files are collected. (Ignored by Git)
* ``dist/`` Files also includd in the nightly builds (e.g. blank flash files and Espressif flash download tool)
* ``docs/`` Documentation tree using Sphinx to build the documents.
* ``hooks/`` Used for the continous integration process, used by Travis CI.
* ``include/`` PlatformIO's suggested folder for .h files (not yet used)
@@ -20,16 +25,14 @@ Below a list of the most important directories and files used in this project.
* ``misc/`` Additional files needed for some use cases, like specialized a firmware for some boards or decoder files for the TTN project.
* ``patches/`` Patches we apply during build for core libraries.
* ``src/`` The source code of ESPeasy
* ``src/ESPEasy/`` Parts of ESPeasy use C++ namespaces, and are placed in this directory, matching the namespace structure.
* ``static/`` Static files we use in ESPEasy, like CSS/JS/ICO files.
* ``test/`` Test scripts to be used in the continous integration process.
* ``tools/`` Tools to help build ESPeasy.
* ``tools/pio/pre_custom_esp32.py`` Python helper script for building custom ESP32 binary.
* ``tools/pio/pre_custom_esp8266.py`` Python helper script for building custom ESP8266 binary.
* ``venv/`` Directory to store the used Python Virtual Environment. (Ignored by Git)
* ``platformio.ini`` Configuration file for PlatformIO to define various build setups.
* ``uncrustify.cfg`` Configuration file for Uncrustify, to format source code using some uniform formatting rules.
* ``tools/pio/pre_custom_esp*.py`` Python helper scripts for building custom ESP binaries.
* ``platformio.ini`` Configuration file for pioarduino to define various build setups.
* ``requirements.txt`` List of used Python libraries and their version (result of ``pip freeze`` with Virtual env active)
* ``boards/partitions/esp32_partition_app1810k_spiffs316k.csv`` Used partition layout in ESP32 4M builds.
* ``uncrustify.cfg`` Configuration file for Uncrustify, to format source code using some uniform formatting rules.
ESPEasy src dir
@@ -107,14 +110,17 @@ There is also a number of special builds:
ESP Chip Type
-------------
* ``ESP8266`` Most likely option.
* ``ESP8266`` Deprecated for new projects, as support from Espressif has been stopped, even though new chips are still being produced.
* ``ESP8285`` Supported in ``ESP8266`` builds. Used in some Sonoff modules. This chip has embedded flash, so no extra flash chip.
* ``ESP32`` Allows for more memory and more GPIO pins.
* ``ESP32-S2`` Newer version of ESP32. Has even more GPIO pins, but some specific features of ESP32 were removed.
* ``ESP32-S3`` Newer version of ESP32 and ESP32-S2. Has even more GPIO pins, some specific features of ESP32 were removed, and some design choices of ESP32-S2 are reverted and implemented differently.
* ``ESP32-C2`` Preliminary supported. Cheaper variant of ESP32-C3, and also an ESP8266 replacement. Available as pin-compatible module for ESP8266. Single core, and max 120 MHz clock speed.
* ``ESP32-C2`` Cheaper variant of ESP32-C3, and also an ESP8266 replacement. Available as pin-compatible module for ESP8266. Single core, and max 120 MHz clock speed.
* ``ESP32-C3`` Intended as a replacement for ESP8266, using ESP32 technology, though single-core and with limited clock speed (160 MHz, some models 120 MHz).
* ``ESP32-C6`` Preliminary supported. Will allow connectivity with IEEE 802.15.4 (Thread/Zigbee) wireless protocol.
* ``ESP32-C6`` Will allow connectivity with IEEE 802.15.4 (Thread/Zigbee) wireless protocol.
* ``ESP32-C61`` Preliminary supported. Will allow connectivity with IEEE 802.15.4 (Thread/Zigbee) wireless protocol.
* ``ESP32-C5`` Will allow connectivity with WiFi 2.4GHz and 5GHz support.
* ``ESP32-P4`` High-end dual-core MCU, with many GPIO pins and support for camera, display, RMII Ethernet and many other protocols. No on-chip WiFi support. Often has an additional ESP32-C6 with ESP-HostedMCU to provide wireless support via an SDIO connection.
Memory Size and Partitioning
----------------------------
@@ -123,12 +129,12 @@ Memory Size and Partitioning
* ``2M`` 2 MB flash modules (e.g. Shelly1/WROOM02)
* ``4M`` 4 MB flash modules (e.g. NodeMCU/ESP32)
* ``16M`` 16 MB flash modules (e.g. Wemos D1 mini pro) (has 14 MB LittleFS filesystem, as SPIFFS is unstable > 2 MB)
* ``4M1M`` 4 MB flash modules with 1 MB filesystem (usually SPIFFS)
* ``4M2M`` 4 MB flash modules with 2 MB filesystem (usually SPIFFS)
* ``4M316k`` 4 MB flash modules using 1.8 MB sketch size, with 316 kB filesystem (usually SPIFFS) (for ESP32)
* ``8M1M`` 8 MB flash modules using 3.5MB sketch size, with 1 MB filesystem (LittleFS) (ESP32 only a.t.m.)
* ``16M1M`` 16 MB flash modules using 4MB sketch size, with 1 MB filesystem (usually SPIFFS) (ESP32 only a.t.m.)
* ``16M8M`` 16 MB flash modules using 4MB sketch size, with 8 MB filesystem (LittleFS) (ESP32 only a.t.m.)
* ``4M1M`` 4 MB flash modules with 1 MB filesystem (SPIFFS)
* ``4M2M`` 4 MB flash modules with 2 MB filesystem (SPIFFS)
* ``4M316k`` 4 MB flash modules using 1.8 MB sketch size, with 316 kB filesystem (LittleFS) (for ESP32)
* ``8M1M`` 8 MB flash modules using 3.5MB sketch size, with 1 MB filesystem (LittleFS) (ESP32 only)
* ``16M8M`` 16 MB flash modules using 4MB sketch size, with 8 MB filesystem (LittleFS) (ESP32 only)
* ``32M20M`` 32 MB flash modules using 6MB sketch size, with 20 MB filesystem (LittleFS) (ESP32 only)
Optional build options
----------------------
@@ -143,7 +149,7 @@ Optional build options
* ``OPI`` Flash via OPI protocol support (ESP32 only)
* ``QIO`` Flash via QIO protocol support (ESP32 only)
* ``CDC`` CDC Serial (built-in USB) support (ESP32 only)
* ``ETH`` Ethernet interface enabled (ESP32 only)
* ``ETH`` Ethernet interface enabled (ESP32 only, no longer used, as all ESP32, except for ESP32-C2, have support for Ethernet included)
Please note that the performance of 14MB SPIFFS (16M flash ESP8266 modules) is really slow.
@@ -183,17 +189,15 @@ This also means we still need to update the 2-step updater to support .bin.gz fi
ESP32 builds
------------
There are several builds for ESP32:
There are several builds for ESP32, this is just a selection:
* ``normal_ESP32_4M316k`` Build using the "stable" set of plugins for ESP32
* ``normal_ESP32_4M316k_ETH`` Build using the "stable" set of plugins for ESP32, with support for an on-board Ethernet controller
* ``normal_ESP32_4M316k`` Build using the "stable" set of plugins for ESP32, with support for an on-board Ethernet controller
* ``custom_ESP32_4M316k`` Build template using either the plugin set defined in ``Custom.h`` or ``tools/pio/pre_custom_esp32.py``
* ``collection_A_ESP32_4M316k`` Build using the "Collection" set "A" of plugins for ESP32
* ``collection_B_ESP32_4M316k`` Build using the "Collection" set "B" of plugins for ESP32
* ``collection_C_ESP32_4M316k`` Build using the "Collection" set "C" of plugins for ESP32
* ``collection_D_ESP32_4M316k`` Build using the "Collection" set "D" of plugins for ESP32
* ``collection_A_ESP32-wrover-kit_4M316k`` A build for ESP32 including build flags for the official WRover test kit.
* ``max_ESP32_16M8M_LittleFS`` Build using all available plugins and controllers for ESP32 with 16 MB flash (some lolin_d32_pro boards)
* ``max_ESP32_16M8M`` Build using all available plugins and controllers for ESP32 with 16 MB flash (like lolin_d32_pro boards)
Since ESP32 does have its flash partitioned in several blocks, we have 2 bin files of each ESP32 build, f.e.:
+3 -1
View File
@@ -13,7 +13,9 @@ Type: |P000_type|
Name: |P000_name|
Status: |P000_status|
Status ESP32: |P000_status|
Status ESP8266: |P000_status_lb|
GitHub: |P000_github|_
+28 -15
View File
@@ -402,6 +402,7 @@
LoopTimerSetAndRun
LoopTimerSetAndRun_ms","
:green:`Rules`","
Set a Loop-Timer using ``LoopTimerSet`` or ``LoopTimerSet_ms`` and immediately run the first iteration.
If a ``<nr of loops>`` value > 0 is included in the command, that count is decremented by 1 for the first iteration, as expected.
@@ -549,37 +550,49 @@
:green:`Rules`","
Like ``PostToHTTP`` but using a TLS connection, by default on port 443
NB: No certificate validation is done!
NB: No certificate validation is done!"
"
ProvisionConfig","
Provision,Config","
:red:`Internal`","
Fetch ``config.dat`` as configured in the Provisioning configuration (see Settings Archive)
``ProvisionConfig``"
``Provision,Config``"
"
ProvisionSecurity","
Provision,Security","
:red:`Internal`","
Fetch ``security.dat`` as configured in the Provisioning configuration (see Settings Archive)
``ProvisionSecurity``"
``Provision,Security``"
"
ProvisionNotification","
Provision,DevSecurity","
:red:`Internal`","
Fetch ``devsecurity.dat`` as configured in the Provisioning configuration (see Settings Archive)
``Provision,DevSecurity``"
"
Provision,Notification","
:red:`Internal`","
Fetch ``notification.dat`` as configured in the Provisioning configuration (see Settings Archive)
``ProvisionNotification``"
``Provision,Notification``"
"
ProvisionProvision","
Provision,Provision","
:red:`Internal`","
Fetch ``provisioning.dat`` as configured in the Provisioning configuration (see Settings Archive)
``ProvisionProvision``"
``Provision,Provision``"
"
ProvisionRules","
Provision,Rules","
:red:`Internal`","
Fetch ``rulesN.txt`` as configured in the Provisioning configuration (see Settings Archive)
``ProvisionRules,1`` to fetch ``rules1.txt`` "
``Provision,Rules,1`` to fetch ``rules1.txt`` "
"
Provision,Firmware","
:red:`Internal`","
Fetch a new firmware binary, and flash it on the unit, as configured in the Provisioning configuration (see Settings Archive)
``Provision,Firmware,<url-to-firmware-file>`` to fetch and install the specified .bin file from the specified url."
"
Publish","
:green:`Rules`","
@@ -656,7 +669,7 @@
:green:`Rules`","
Like ``PutToHTTP`` but using a TLS connection, by default on port 443
NB: No certificate validation is done!
NB: No certificate validation is done!"
"
Reboot","
:red:`Internal`","
@@ -736,7 +749,7 @@
:green:`Rules`","
Like ``SendToHTTP`` but using a TLS connection, by default on port 443
NB: No certificate validation is done!
NB: No certificate validation is done!"
"
SendToUDP","
:green:`Rules`","
@@ -1023,9 +1036,9 @@
"
WifiAPMode","
:red:`Internal`","
Force the unit into AP mode.
Force the unit into AP mode or turn AP mode off.
``WifiAPMode``"
``WifiAPMode,<on|off|1|0>``"
"
WifiConnect","
:red:`Internal`","

Some files were not shown because too many files have changed in this diff Show More