diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index 14237370c..c5e37b063 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -156,6 +156,25 @@ jobs: name: firmware path: ./build_output + tasmota-zigbee: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -U platformio + platformio upgrade --dev + platformio update + - name: Run PlatformIO + run: platformio run -e tasmota-zigbee + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output + tasmota-AF: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/Tasmota_build.yml b/.github/workflows/Tasmota_build.yml index 7ab4aa9a4..85a887fad 100644 --- a/.github/workflows/Tasmota_build.yml +++ b/.github/workflows/Tasmota_build.yml @@ -204,6 +204,26 @@ jobs: path: ./build_output + tasmota-zigbee: + needs: tasmota_pull + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + pip install -U platformio + - name: Run PlatformIO + run: | + platformio run -e tasmota-zigbee + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output + + tasmota-AF: needs: tasmota_pull runs-on: ubuntu-latest @@ -1413,6 +1433,7 @@ jobs: [ ! -f ./mv_firmware/firmware/tasmota-display.* ] || mv ./mv_firmware/firmware/tasmota-display.* ./firmware/tasmota/ [ ! -f ./mv_firmware/firmware/tasmota-knx.* ] || mv ./mv_firmware/firmware/tasmota-knx.* ./firmware/tasmota/ [ ! -f ./mv_firmware/firmware/tasmota-zbbridge.* ] || mv ./mv_firmware/firmware/tasmota-zbbridge.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-zigbee.* ] || mv ./mv_firmware/firmware/tasmota-zigbee.* ./firmware/tasmota/ [ ! -f ./mv_firmware/firmware/tasmota32.* ] || mv ./mv_firmware/firmware/tasmota32.* ./firmware/tasmota32/ [ ! -f ./mv_firmware/firmware/tasmota32solo1*.* ] || mv ./mv_firmware/firmware/tasmota32solo1*.* ./firmware/tasmota32/ [ ! -f ./mv_firmware/firmware/tasmota32-ir*.* ] || mv ./mv_firmware/firmware/tasmota32-ir*.* ./firmware/tasmota32/ diff --git a/.github/workflows/Tasmota_build_master.yml b/.github/workflows/Tasmota_build_master.yml index 36536799f..dd9ed3681 100644 --- a/.github/workflows/Tasmota_build_master.yml +++ b/.github/workflows/Tasmota_build_master.yml @@ -204,6 +204,26 @@ jobs: path: ./build_output + tasmota-zigbee: + needs: tasmota_pull + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + pip install -U platformio + - name: Run PlatformIO + run: | + platformio run -e tasmota-zigbee + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output + + tasmota-AF: needs: tasmota_pull runs-on: ubuntu-latest @@ -1421,6 +1441,7 @@ jobs: [ ! -f ./mv_firmware/firmware/tasmota-display.* ] || mv ./mv_firmware/firmware/tasmota-display.* ./firmware/tasmota/ [ ! -f ./mv_firmware/firmware/tasmota-knx.* ] || mv ./mv_firmware/firmware/tasmota-knx.* ./firmware/tasmota/ [ ! -f ./mv_firmware/firmware/tasmota-zbbridge.* ] || mv ./mv_firmware/firmware/tasmota-zbbridge.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-zigbee.* ] || mv ./mv_firmware/firmware/tasmota-zigbee.* ./firmware/tasmota/ [ ! -f ./mv_firmware/firmware/tasmota32.* ] || mv ./mv_firmware/firmware/tasmota32.* ./firmware/tasmota32/ [ ! -f ./mv_firmware/firmware/tasmota32solo1*.* ] || mv ./mv_firmware/firmware/tasmota32solo1*.* ./firmware/tasmota32/ [ ! -f ./mv_firmware/firmware/tasmota32-ir*.* ] || mv ./mv_firmware/firmware/tasmota32-ir*.* ./firmware/tasmota32/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 810ba4166..7518f1177 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,16 +19,35 @@ All notable changes to this project will be documented in this file. - I2C extended MPU6886 to also support MPU9250 (found in Legacy M5Stack Fire) - ESP32 increase log buffer from 4k to 6k to support longer messages - Move Settings from DRAM to heap +- WifiManager save wificonfig from settings, do it only once (#12242) +- Improving SI7021 reading reliability by adjusting timers (#12256) +- Refactor ESP32 partition selection, now via boards (#12257) +- Refactor platformio configurations by Jason2866 +- Use correct template for Home Assistant light (#12317) ## [9.4.0.4] ### Added - Version bump to signal new features to Hass -- Support for BM8563 RTC chip (I2C) found in M5Stack Core2 and M5StickC - Command ``Status0`` providing all status information on a single line +- LVGL support for PNG images (#12148) +- Update Sugar Valley Neopool driver (#12171) +- Acer projector support (#12190) +- I2S and Interrupt GPIO types (#12192) +- Update OpenTherm driver (#12195) +- Support for BM8563 RTC chip (I2C) found in M5Stack Core2 and M5StickC (#12199) +- Command ``TuyaSend5`` for hex string (#12211) +- Extend command ``Wifi`` with Wi-Fi Mode Control (#12292) ### Changed - IRremoteESP8266 library from v2.7.16 to v2.7.18 +### Fixed +- PING race condition breaks JSON in rule (#12106) +- Support Tuya powermeter >6500W (#12115) +- Zigbee max end-device (#12159) +- Prevent keep state MCP230xx output fast toggle on reboot (#12264) +- Tuya data type 2 read as 32 bit integer (instead of 16 bit) (#12282) + ## [9.4.0.3] 20210515 ### Added - Make Telegram command ``TmState`` persistent (#11965) @@ -36,13 +55,39 @@ All notable changes to this project will be documented in this file. - Zigbee firmware 6.7.9 for Sonoff ZBBridge - Defines ``USER_RULE1``, ``USER_RULE2`` and ``USER_RULE3`` to store rules at compile time - Define ``USER_BACKLOG`` to store commands at compile time to be executed at firmware load or when executing command ``reset`` -- LVGL support for TrueType fonts via FreeType library +- LVGL support for 3 buttons as rotary encoder (#12035) +- LVGL support for touchscreen (#12039) +- Allow home assistant discovery of MCP2300xx output as relay (#12037) +- LVGL support for TrueType fonts via FreeType library (#12087) +- LVGL support for PSRAM (#12062) +- Support for voltage and current monitoring when using Shelly dimmer 2 hardware (#11988) +- Support for Azure Device Provisioning Service for IoT Hub (#12056) +- Commands ``Color2`` and ``Dimmer4`` to allow retaining brightness ratio between white and color channels when setting dimmer for linked lights (#12072) +- Show new IP after the Wi-Fi Initial Config (#12091) + +### Fixed +- Avoid erasing of Zigbee data if zigbee is not started (#11961) +- Zigbee XModem retries (#11967) +- Teleinfo standard mode and blacklist feature crash (#11991) +- ESP32 Hue light (#12005) +- Map received CCT channels back in DevGroups (#12044) +- Increase TLS minimum stack thunk to 3800 bytes (#12063) +- Delay discovery of PZEM sensors (#12076) + +### Changed +- Shelly Dimmer 1 and 2 stm32 firmware from v51.5 to v51.6 ## [9.4.0.2] 20210430 ### Added - Initial support for optional ``Template`` JSON fieldpair ``"CMND":"||..."`` (#11788) - ESP32 pulldown buttons ``Button_d`` and ``Button_id`` and switches ``Switch_d`` (#10814) - Support for MQTT using Azure IoT Hub by Kevin Saye (#11906) +- Zigbee binary supporting cc25xx hardware on 4M flash hardware (#11872) + +### Fixed +- Wrong flash size detection when saving Zigbee device information on ESP8266 (#11870) +- Prometheus metrics parse error on DS18x20 (#11931) +- DS18x20 name search id (#11958) ## [9.4.0] 20210423 - Release Leslie diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 3dddd7175..ae0a420e9 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -32,7 +32,7 @@ Support of Core versions before 2.7.1 has been removed. ## Support of TLS -In addition to TLS using fingerprints now also user supplied CA certs and AWS IoT is supported. Read [full documentation](https://tasmota.github.io/docs/AWS-IoT) +In addition to TLS using fingerprints now also user supplied CA certs, AWS IoT and Azure IoT is supported. Read [full documentation](https://tasmota.github.io/docs/AWS-IoT) ## Initial configuration tools @@ -56,7 +56,14 @@ The following binary downloads have been compiled with ESP8266/Arduino library c Above binaries are also available as gzipped version allowing faster uploads. -The binaries can be downloaded from either https://github.com/arendst/Tasmota/tree/release-firmware or http://ota.tasmota.com/tasmota/release. The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmota.com/tasmota/release/tasmota.bin.gz`` +Latest released binaries can be downloaded from +- https://github.com/arendst/Tasmota/tree/release-firmware +- http://ota.tasmota.com/tasmota/release + +Historical binaries can be downloaded from +- http://ota.tasmota.com/tasmota/release-9.5.0 + +The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmota.com/tasmota/release/tasmota.bin.gz`` ### ESP32 based The following binary downloads have been compiled with ESP32/Arduino library core version **1.0.6**. @@ -73,7 +80,16 @@ The following binary downloads have been compiled with ESP32/Arduino library cor - **tasmota32-odroidgo.bin** = The Odroid-Go version is specifically tailored to Odroid_go hardware for 8M+ flash. - **tasmota32-core2.bin** = The Core2 version is specifically tailored to M5Stack Core2 hardware for 8M+ flash. -The binaries can be downloaded from either https://github.com/arendst/Tasmota/tree/release-firmware or http://ota.tasmota.com/tasmota32/release. The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmota.com/tasmota32/release/tasmota32.bin`` +Latest released binaries can be downloaded from +- https://github.com/arendst/Tasmota/tree/release-firmware +- http://ota.tasmota.com/tasmota32/release + +Historical binaries can be downloaded from +- http://ota.tasmota.com/tasmota32/release-9.5.0 + +The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmota.com/tasmota32/release/tasmota32.bin`` + +## Additional information [List](MODULES.md) of embedded modules. @@ -82,17 +98,34 @@ The binaries can be downloaded from either https://github.com/arendst/Tasmota/tr ## Changelog v9.5.0 Michael ### Added - Command ``Status0`` providing all status information on a single line -- Initial support for optional ``Template`` JSON fieldpair ``"CMND":"||..."`` [#11788](https://github.com/arendst/Tasmota/issues/11788) +- Command ``TuyaSend5`` for hex string [#12211](https://github.com/arendst/Tasmota/issues/12211) +- Commands ``Color2`` and ``Dimmer4`` to allow retaining brightness ratio between white and color channels when setting dimmer for linked lights [#12072](https://github.com/arendst/Tasmota/issues/12072) +- Extend command ``Wifi`` with Wi-Fi Mode Control [#12292](https://github.com/arendst/Tasmota/issues/12292) +- Defines ``USER_RULE1``, ``USER_RULE2`` and ``USER_RULE3`` to store rules at compile time +- Define ``USER_BACKLOG`` to store commands at compile time to be executed at firmware load or when executing command ``reset`` +- Support for optional ``Template`` JSON fieldpair ``"CMND":"||..."`` [#11788](https://github.com/arendst/Tasmota/issues/11788) - ESP32 pulldown buttons ``Button_d`` and ``Button_id`` and switches ``Switch_d`` [#10814](https://github.com/arendst/Tasmota/issues/10814) - Support for MQTT using Azure IoT Hub by Kevin Saye [#11906](https://github.com/arendst/Tasmota/issues/11906) - Make Telegram command ``TmState`` persistent [#11965](https://github.com/arendst/Tasmota/issues/11965) +- Zigbee binary supporting cc25xx hardware on ESP8266 4M flash hardware [#11872](https://github.com/arendst/Tasmota/issues/11872) - Zigbee firmware for Tube's Zigbee coordinator based on EFR32 and ESP32 - Zigbee firmware 6.7.9 for Sonoff ZBBridge -- Defines ``USER_RULE1``, ``USER_RULE2`` and ``USER_RULE3`` to store rules at compile time -- Define ``USER_BACKLOG`` to store commands at compile time to be executed at firmware load or when executing command ``reset`` -- LVGL support for TrueType fonts via FreeType library +- LVGL support for 3 buttons as rotary encoder [#12035](https://github.com/arendst/Tasmota/issues/12035) +- LVGL support for touchscreen [#12039](https://github.com/arendst/Tasmota/issues/12039) +- LVGL support for PSRAM [#12062](https://github.com/arendst/Tasmota/issues/12062) +- LVGL support for TrueType fonts via FreeType library [#12087](https://github.com/arendst/Tasmota/issues/12087) +- LVGL support for PNG images [#12148](https://github.com/arendst/Tasmota/issues/12148) +- Allow Home Assistant discovery of MCP2300xx output as relay [#12037](https://github.com/arendst/Tasmota/issues/12037) - Support for BM8563 RTC chip (I2C) found in M5Stack Core2 and M5StickC - Preliminary support for Esp32C3 - RiscV based +- Support for voltage and current monitoring when using Shelly dimmer 2 hardware [#11988](https://github.com/arendst/Tasmota/issues/11988) +- Support for Azure Device Provisioning Service for IoT Hub [#12056](https://github.com/arendst/Tasmota/issues/12056) +- Show new IP after the Wi-Fi Initial Config [#12091](https://github.com/arendst/Tasmota/issues/12091) +- Update Sugar Valley Neopool driver [#12171](https://github.com/arendst/Tasmota/issues/12171) +- Acer projector support [#12190](https://github.com/arendst/Tasmota/issues/12190) +- I2S and Interrupt GPIO types [#12192](https://github.com/arendst/Tasmota/issues/12192) +- Update OpenTherm driver [#12195](https://github.com/arendst/Tasmota/issues/12195) +- Support for BM8563 RTC chip (I2C) found in M5Stack Core2 and M5StickC [#12199](https://github.com/arendst/Tasmota/issues/12199) ### Breaking Changed - ESP32 partition layout changed to accomodate more file space on most and more code space on core2 and odroid-go [#11746](https://github.com/arendst/Tasmota/issues/11746) @@ -100,14 +133,35 @@ The binaries can be downloaded from either https://github.com/arendst/Tasmota/tr ### Changed - IRremoteESP8266 library from v2.7.16 to v2.7.18 - NeoPixelBus library from v2.6.1.4 to v2.6.3 stage +- Shelly Dimmer 1 and 2 stm32 firmware from v51.5 to v51.6 - Allow longer MQTT response messages by removing fixed memory buffer with size 1040 to heap allocated buffer - Command ``Timers`` layout of JSON message changed to single line - Command ``Gpio`` layout of JSON message changed to single line - Command ``Modules`` layout of JSON message changed to single line - ESP32 increase log buffer from 4k to 6k to support longer messages - Move Settings from DRAM to heap +- Refactor platformio configurations by Jason2866 +- WifiManager save wificonfig from settings, do it only once [#12242](https://github.com/arendst/Tasmota/issues/12242) +- Improving SI7021 reading reliability by adjusting timers [#12256](https://github.com/arendst/Tasmota/issues/12256) +- Refactor ESP32 partition selection, now via boards [#12257](https://github.com/arendst/Tasmota/issues/12257) +- Use correct template for Home Assistant light [#12317](https://github.com/arendst/Tasmota/issues/12317) ### Fixed +- Wrong flash size detection when saving Zigbee device information on ESP8266 [#11870](https://github.com/arendst/Tasmota/issues/11870) +- Prometheus metrics parse error on DS18x20 [#11931](https://github.com/arendst/Tasmota/issues/11931) +- DS18x20 name search id [#11958](https://github.com/arendst/Tasmota/issues/11958) +- Avoid erasing of Zigbee data if zigbee is not started [#11961](https://github.com/arendst/Tasmota/issues/11961) +- Zigbee XModem retries [#11967](https://github.com/arendst/Tasmota/issues/11967) +- Teleinfo standard mode and blacklist feature crash [#11991](https://github.com/arendst/Tasmota/issues/11991) +- ESP32 Hue light [#12005](https://github.com/arendst/Tasmota/issues/12005) +- Map received CCT channels back in DevGroups [#12044](https://github.com/arendst/Tasmota/issues/12044) +- Increase TLS minimum stack thunk to 3800 bytes [#12063](https://github.com/arendst/Tasmota/issues/12063) +- Delay discovery of PZEM sensors [#12076](https://github.com/arendst/Tasmota/issues/12076) +- PING race condition breaks JSON in rule [#12106](https://github.com/arendst/Tasmota/issues/12106) +- Support Tuya powermeter >6500W [#12115](https://github.com/arendst/Tasmota/issues/12115) +- Zigbee max end-device [#12159](https://github.com/arendst/Tasmota/issues/12159) +- Prevent keep state MCP230xx output fast toggle on reboot [#12264](https://github.com/arendst/Tasmota/issues/12264) +- Tuya data type 2 read as 32 bit integer (instead of 16 bit) [#12282](https://github.com/arendst/Tasmota/issues/12282) ### Noted - ESP32 single core **tasmota32solo1.bin** binary can only be uploaded using the GUI as OTA upload will trigger the watchdog timer diff --git a/platformio_tasmota_env.ini b/platformio_tasmota_env.ini index d575f16a4..fd479cf4c 100644 --- a/platformio_tasmota_env.ini +++ b/platformio_tasmota_env.ini @@ -70,6 +70,7 @@ lib_extra_dirs = lib/lib_ssl [env:tasmota-zigbee] build_flags = ${common.build_flags} -DUSE_ZIGBEE -DUSE_CCLOADER -DUSE_UFILESYS board = esp8266_4M2M +board_build.f_cpu = 160000000L [env:tasmota-AF] build_flags = ${common.build_flags} -DMY_LANGUAGE=af_AF