Skip to content

Commit

Permalink
Merge tag 'mega-20230930' into mega_vurk_dmr
Browse files Browse the repository at this point in the history
Release mega-20230930

Changes in mega-20230930 (since mega-20230822):

Adam Groszer (1):
      added InfluxDB v2 HTTP API docs and some other minors

Fabio Ancona (3):
      Update README.md adding "Climate"
      [DOC] Update P014 to avoid to use this Plugin with SHT2x devices
      Update P014.rst

Michael Schröder (1):
      Ignore more variants of own Custom.h

TD-er (84):
      Update issue templates
      [ADS1x15] Support ADS1015 & add sample rate selector
      [ADS1x15] Add ADS1015/ADS1115 sensor type detection to task config page
      [Cleanup] Add macro NR_ELEMENTS for array counting
      [ADS1x15] Add option to select multiple task value outputs
      [ADS1x15] Simplify storage of settings
      [ADS1x15] Update documentation
      [ADS1x15] Update documentation
      [ADS1x15] Replace "ADS1115" with "ADS1x15" in docs and I2C scan result
      [ADS1x15] Fix PBC -> PCB typo in documentation
      [BMP3xx] Add support for Bosch BMP384/388/390 temp/pressure modules
      [BMP3xx] Fix saving I2C address
      [BMP3xx] Perform a few reads after init to initialize the IIR filter
      [BMP3xx] Add detected chip + altitude compensation
      [BMP3xx] Document P154 BMP388/BMP390
      [BME280] Show detected sensor model like is done for ADS1x15 and BMP3xx
      [Scheduler] Cleanup of Scheduler code
      [Scheduler] Allow to schedule task calls to specific functions
      [Scheduler] Split Various Scheduler timer types into separate .cpp files
      [Cleanup] Fix build issue in WOL plugin
      [Scheduler] Remove unneeded scheduler call type
      [Scheduler] Cleanup includes and fix decode()
      [Documentation] Document ESPEasy Functional Blocks
      [Documentation] Add ESPEasy Functional block diagram
      [Docs] Mark arrow between controller and MQTT broker as bidirectional
      [Docs] Clarify some arrows in ESPEasy block diagram
      [Task] Revert 'soft disable' task (for now...)
      [Cleanup] Make deviceIndex_t a strict class
      [Cleanup] Only allow PLUGIN_ADD to change Device[] vector
      [Cleanup] Make pluginID_t a strict class
      [Cleanup] Fix build error on ETH builds with pluginID_t
      [Cleanup] Partial conversion npluginID_T to class
      [Cleanup] Complete convert npluginID_t to strict class
      [Cleanup] Reduce build size on ESP8266 making DeviceVector less strict
      [Cleanup] Fix crashing compiler on ESP8266 builds
      [Cleanup] Reduce build size to 'undo' extra added bytes in this cleanup
      [Cleanup] Further reduction of build size
      [Cleanup] Fix build on ESP8266 Collection A
      [Cleanup] Fix build error on ESP8266 Display
      [Cleanup] Reduce build size by moving small functions to .h files
      [Cleanup] Use constexpr for static pluginID compares
      [Cleanup] Use more constexpr for static pluginID compares
      [Controller] Simplify ESPEasy core administration of CPlugins
      [Cleanup] Misc code cleanup + add comments from PVS Studio
      [Plugin] Simplify ESPEasy plugin registration + reduce build size
      [Cleanup] Simplify code for return values internal ESPEasy commands
      [Cleanup] Simplify get/set functions of VariousBits1 in SettingsStruct
      [Cleanup] Remove no longer needed globals/Protocol.h/.cpp
      [Neopixel] Fix build error signed/unsigned compare
      [Cleanup] Apply GPIO log optimizations to reduce build size (@ton)
      [Cleanup] Fix storing new task (taskenable still doesn't work...)
      [Cleanup] Fix silly bug setting tasks disabled.
      [Cleanup] Reduce size of embedded lookup table to only included plugins
      [Cleanup] Do not use 'Number' in DeviceStruct class
      [Cleanup] Simplify DeviceIndex_sorted
      [Cleanup] Fix merge issue
      [Cleanup] Minor code tweaks to reduce build size
      [Debug] Add "minimal" special build for analysis
      [PVS Studio] Fix issues found by PVS Studio
      [Cleanup] Reduce build size by moving isInitialized() to .h files
      [Servo] Fix servo for ESP32-S2/C3
      [Cleanup] Reduce build size for bitlevel access in Controller Settings
      [Cleanup] Remove code redundancy from DevicesPage and UploadPage
      [PluginStats] Fix showing stats when using 256 samples buffer
      [Cleanup] Fix crash when adding new controller
      [Cleanup] Disable drawing partition layout for limit build size builds
      [Cleanup] Fix isNaN check in thermocouple plugin
      [Debug] Add special debug build env for Display builds
      [Cleanup] Reduce build size making Improv smaller
      [Debug] Set special debug 'display' build to BUILD_NO_DEBUG
      [Cleanup] Shorten (very) elaborate notes in P039 ThermoCouple
      [Cleanup] clarify single event note + reduce GPIO command logs
      [I2C scanner] Fix missing ++x; causing reboot during I2C scan
      [ADC] Fix handling negative ADC values from Hall Effect sensor
      [Notifications] Fix deleting notifier
      [GPIO] Fix check for valid GPIO
      [RTTTL] Fix parsing correct command argument
      [RTTTL] Fix argument index for melody + prevent crash when changing song
      [RTTTL] Fix stupid mix-up of old/new command argument parsing
      [RTTTL] Only check for old/new syntax in the 1st argument
      [RTTTL] I need some coffee....
      [Internal temp] Fix crashes on ESP32-S2/S3/C3 + filter
      [ESP32 temp] Fix specific includes for ESP32-S2
      automatically updated release notes for mega-20230930

Ton Huisman (77):
      [P036] Show current display content on Devices page
      [P036] Wrap on-display output in `pre` tag to keep spaces and similar formatting
      [P036] Remove unreachable code, other optimizations
      [addHtmlDiv] Add optional `attribute` argument
      [P036] Reduce Show Display font-size to 75%, code optimizations
      [P023] Add Show Values for on-Display content, code improvements and optimizations
      [P036] Make Interval optional
      [P036] Update documentation
      [P023] Add documentation
      [P023] Updated screenshot
      [P036] Add center/right align in preview, make preview compile-optional, code optimizations
      [P036] Only disable alignment feature for 1M builds
      [P036] Add new compile-time directives to Custom-sample.h
      [Build] Make `Climate` build fit
      [P036] Code optimizations
      [P023] Minor code optimizations
      [P036] Add optional user-defined display headers
      [P036] Change compile-time defines to bool, change enums to uint8_t type, update changelog
      [P036] Fix copy/paste error for `userDef2`
      [P028] Add detection-mode setting
      [P028] Ignore humidity if Sensor model BMP280 is selected
      [Devices] Add event PLUGIN_WEBFORM_LOAD_ALWAYS that is also called for remote data-feed devices
      [P028] Fix VType matching for remote data-feed, implement new WEBFORM_LOAD_ALWAYS event
      [P028] Update documentation
      [Controllers] Show correct data (or nothing) for controllers without Host or Port settings
      [Controllers] Code improvement
      [P036] Enable Userdefined headers by default for LIMIT_BUILD_SIZE builds
      [P104] Add Dot subcommand to draw individual dots in a zone
      [P104] Update documentation
      [P104] Code improvements and a bugfix
      [P028] Fix merge conflict
      [P036] Code improvements using `constexpr`
      [Rules] Improving removal of comments
      [Rules] Separate comment removal from reading a line
      [Release] `release.yml` script improvements
      [P036] Fix merge conflicts, small source formatting improvements
      [SD-card] Bugfix: Opening a file from SD-card doesn't always work
      [SD-browser] Code improvements
      [P153] Fix incorrect Sensor_VType setting
      [SD-Card] Show SD-card CS GPIO pin in pin-selection
      [P036] Bugfix in documentation-syntax
      [P051] Fix device being automatically disabled and I2C scan issue
      [I2C Scan] Make I2C scan more robust by adding extra wakeup
      [Docs] Add I2C Scan documentation
      [Docs] Additional I2C Scan documentation (mux)
      [Docs] Rules example for PostToHTTP/PutToHTTP
      [UI] Bugfix: Don't show - None - [SD-CARD] in GPIO selector when SD-Card is not configured (improves letscontrolit#4780)
      [Build] Restore RTTTL feature in ESP8266 Climate build
      [RTTTL] Add Async play and other improvements
      [RTTTL] update documentation
      [GPIO] Decrease buildsize by optimizing logging
      [RTTTL] Add FEATURE_ flags to Custom-sample.h
      [GPIO] Adopt optimized logging improvements (@gijs)
      [Build] Add Collection G builds
      [Build] Move [P154] BMP3xx to Collection G
      [Build] Add checks for some external defined compiletime settings
      [P036] Code formatting and optimizations
      [P037] Build: Include all features in ESP32 builds
      [P073] Reduce logging for BUILD_NO_DEBUG builds to reduce size
      [P036] Updates for documentation
      [P026][Sysvars] Add Internal temperature sensor value for ESP32
      [P026][Sysvars] Feedback and fixes
      [P026][Sysvars] Fix typo in comment
      [P026] Add Get Config feature for all values
      [P026] Add documentation
      [Scripts] Handle 8M builds in WebFlasher
      [P026][Sysvars] Avoid temperature reading errors on ESP32 classic (2 tries only)
      [P026][Sysvars] Read temperature every second on ESP32 classic for better results
      [Build] Try to use real branch name on GH Actions builds
      [Build] Ignore Docs commits to trigger an Actions run
      [P026][Sysvars] Explicitly disable FEATURE_INTERNAL_TEMPERATURE for ESP8266
      [P026][Sysvars] Add delay() call
      [Build][P026] Update documentation (without Actions run...)
      [P037] Update documentation
      [RTTTL] Add events for RTTTL play (async only), fix intermitted/skipped async playing
      [RTTTL] Restore Cancelled event, update documentation
      [P000 Docs] Update some internal links

chromoxdor (2):
      Fixed error in section TaskValueSet
      Update GPIO.cpp

dependabot[bot] (1):
      Bump actions/checkout from 3 to 4

uwekaditz (9):
      [P036] Add ticker as scroll option
      Compiler error if P036_SendEvent was not set
      Calculation for ticker IdxStart and IdxEnd was wrong for 64x48 display, Start page updates after network has connected in PLUGIN_ONCE_A_SECOND
      Some bug fixes (only 1 line displayed)
      Removed unnecessary clear() functions
      Merged with mega from 2023-08-25
      Wrong #ifdef P036_SEND_EVENTS
      CHG: Disable scrolling or ticker if new line content received (PLUGIN_WRITE)
      CHG: Code reduced if P036_ENABLE_TICKER is not used
  • Loading branch information
Ernest (ErNis) committed Oct 10, 2023
2 parents 6a10f95 + 2a07cca commit e1501c5
Show file tree
Hide file tree
Showing 415 changed files with 21,209 additions and 4,891 deletions.
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: Bug report
about: Create a report to help us improve
title: "[BUG]"
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Used platform (please complete the following information):**
- ESP type: [e.g. ESP8266, ESP32, ESP32-S2, ESP32-S3, ESP32-C3]
- Build version: [e.g. self built, mega-YYYYMMDD]
- Build set [e.g. normal, energy, display, climate, collection-X, max]

**Platform Specifics (when applicable, please complete the following information):**
- Flash size: [e.g. 4M]
- Brand/Model: [e.g. Sonoff Basic r2, NodeMCU, Wemos D1]
- Browser + OS [e.g. Windows 11/Chrome, IOS/safari]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: "[FR]"
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
9 changes: 5 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
tags-ignore: '**'
paths-ignore:
- 'dist/Release_notes.txt'
- 'docs/**'
pull_request:
branches: [mega]

Expand All @@ -22,7 +23,7 @@ jobs:
documentation:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.x'
Expand All @@ -47,7 +48,7 @@ jobs:
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.x'
Expand All @@ -62,7 +63,7 @@ jobs:
strategy:
matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.x'
Expand Down Expand Up @@ -106,7 +107,7 @@ jobs:
needs: build
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.x'
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.x'
Expand All @@ -36,7 +36,7 @@ jobs:
strategy:
matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.x'
Expand Down Expand Up @@ -77,7 +77,7 @@ jobs:
needs: build
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.x'
Expand Down Expand Up @@ -162,8 +162,9 @@ jobs:
cd ../..
mv artifacts/Distribution/ESPEasy_dist* .
cp ESPEasy_dist.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP82xx_binaries.zip
zip -d ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP82xx_binaries.zip "bin/blank_8MB.bin"
mv ESPEasy_dist.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip
zip -d ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip "ESP.Easy.Flasher.exe" "bin/blank_1MB.bin" "bin/blank_2MB.bin" "bin/ESPEasy_2step_UploaderMega_1024.bin"
zip -d ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip "bin/blank_1MB.bin" "bin/blank_2MB.bin" "bin/ESPEasy_2step_UploaderMega_1024.bin"
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP82xx_binaries.zip ESPEasy_ESP82xx.zip
# TODO if/when available: ESP32c2 ESP32c6 ESP32h2
zipmerge ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32s2_binaries.zip ESPEasy_mega_${{ steps.date.outputs.builddate }}_ESP32_binaries.zip ESPEasy_ESP32s2.zip
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ build_output/
**/__tmpfile.cpp

src/_Custom.h
src/_*Custom.h
src/*_*Custom.h

dist/Espressif_flash_download_tool_v3.8.5/logs/

Expand Down
27 changes: 16 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ ESPEasy_mega\_*[releasedate]*\_*[build-type]*\_*[opt-arduino-library]*\_*[hardwa
*[build-type]* can be any of:
Build type | Description | included plugins |
-------------|-------------------------------------------|----------------------------------|
climate | All plugins related to climate measurement| Stable + Climate |
custom | Custom predefined set/Defined in Custom.h | Specific |
normal | Standard plugins | Stable |
collection_A | Normal + plugin collection A | Stable + Collection base + set A |
Expand All @@ -48,6 +49,7 @@ collection_C | Normal + plugin collection C | Stable + Collection b
collection_D | Normal + plugin collection D | Stable + Collection base + set D |
collection_E | Normal + plugin collection E | Stable + Collection base + set E |
collection_F | Normal + plugin collection F | Stable + Collection base + set F |
collection_G | Normal + plugin collection G | Stable + Collection base + set G |
max | All available plugins | All available |
energy | All plugins related to energy measurement | Stable + Energy measurement |
display | All plugins related to displays | Stable + Displays |
Expand Down Expand Up @@ -75,6 +77,7 @@ Hardware type | Description |
ESP8266 | Espressif ESP8266/ESP8285 generic boards |
WROOM02 | Espressif ESP8266 WRoom02 boards |
ESP32 | Espressif ESP32 generic boards |
ESP32solo1 | Espressif ESP32-Solo1 generic boards |
ESP32s2 | Espressif ESP32-S2 generic boards |
ESP32c3 | Espressif ESP32-C3 generic boards |
ESP32s3 | Espressif ESP32-S3 generic boards |
Expand Down Expand Up @@ -113,20 +116,22 @@ OTA | Arduino OTA (Over The Air) update feature enabled
Domoticz | Only Domoticz controllers (HTTP+MQTT) and plugins included |
FHEM_HA | Only FHEM/OpenHAB/Home Assistant (MQTT) controllers and plugins included |
ETH | Ethernet interface enabled (ESP32 only) |
PSRAM | Specific configuration to enable PSRAM detection, ESP32-S3 only |
OPI_PSRAM | Specific configuration to enable PSRAM detection, ESP32-S3 only |
CDC | Support USBCDC/HWCDC-serial console on ESP32-C3, ESP32-S2 and ESP32-S3 |

Some example firmware names:
Firmware name | Hardware | Included plugins |
----------------------------------------------------|--------------------------------|----------------------------------|
ESPEasy_mega-20230623_normal_ESP8266_1M.bin | ESP8266/ESP8285 with 1MB flash | Stable |
ESPEasy_mega-20230623_normal_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable |
ESPEasy_mega-20230623_collection_A_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable + Collection base + set A |
ESPEasy_mega-20230623_normal_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable |
ESPEasy_mega-20230623_collection_A_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable + Collection base + set A |
ESPEasy_mega-20230623_collection_B_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable + Collection base + set B |
ESPEasy_mega-20230623_max_ESP32_16M1M.bin | ESP32 with 16MB flash | All available plugins |
ESPEasy_mega-20230623_max_ESP32_16M8M_LittleFS.bin | ESP32 with 16MB flash | All available plugins |
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.bin | ESP32 with 4MB flash | Stable |
ESPEasy_mega-20230822_collection_A_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable + Collection base + set A |
ESPEasy_mega-20230822_collection_B_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable + Collection base + set B |
ESPEasy_mega-20230822_max_ESP32s3_8M1M_LittleFS_CDC.bin | ESP32-S3 with 8MB flash, CDC-serial | All available plugins |
ESPEasy_mega-20230822_max_ESP32s3_8M1M_LittleFS_OPI_PSRAM_CDC.bin | ESP32-S3 8MB flash, PSRAM, CDC-serial | All available plugins |
ESPEasy_mega-20230822_max_ESP32_16M1M.bin | ESP32 with 16MB flash | All available plugins |
ESPEasy_mega-20230822_max_ESP32_16M8M_LittleFS.bin | ESP32 with 16MB flash | All available plugins |

NB: Since 2023-05-10 the binary files for the different ESP32 variants (S2, C3, S3, 'Classic') are available in separate archives.

Expand Down
Loading

0 comments on commit e1501c5

Please sign in to comment.