From b2b839fa83b622c3d28324ac4d6db7ab133741c6 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sat, 28 Sep 2024 17:57:31 +0200 Subject: [PATCH] Add support for Sonoff SPM v1.3.0 (#13447) --- CHANGELOG.md | 2 ++ RELEASENOTES.md | 7 ++----- .../xdrv_86_esp32_sonoff_spm.ino | 14 +++++++++++++- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ece01d31c..935f697d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file. ## [14.2.0.6] ### Added +- Support for Sonoff SPM v1.3.0 (#13447) ### Breaking Changed @@ -12,6 +13,7 @@ All notable changes to this project will be documented in this file. - ESP32 platform update from 2024.09.10 to 2024.09.30 and Framework (Arduino Core) from v3.0.5 to v3.1.0.240926 (#22203) ### Fixed +- ESP32 Range Extender compile error with core 3.0.0 (#22205) ### Removed diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 17372583e..671f3cee9 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -40,11 +40,6 @@ This release will be supported from ESP32/Arduino library Core version **v3.1.0. Support of ESP8266 Core versions before 2.7.8 and ESP32 Core versions before v3.1.0.240926 have been removed. -### Known issues with v14.1.0 - -Due to the change from ESP32 Arduino Core2/IDF4 to Arduino Core3/IDF5 not all functionality has been restored. The following features are known not to work on ESP32: -- Wifi Range Extender [#21200](https://github.com/arendst/Tasmota/issues/21200) - ## Support of TLS 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) @@ -128,6 +123,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Support for I2C M5Unit (Mini)Scales using HX711 driver - Support for RX8010 RTC as used in IOTTIMER [#21376](https://github.com/arendst/Tasmota/issues/21376) - Support for BL0906 up to 6 channel energy monitor as used in Athom EM2/EM6 [#22167](https://github.com/arendst/Tasmota/issues/22167) +- Support for Sonoff SPM v1.3.0 [#13447](https://github.com/arendst/Tasmota/issues/13447) - Energy command ``PowerSet 60,230`` to calibrate both Current and Power with known resistive load of 60W at 230V using calibrated Voltage - Energy command ``CurrentSet 60,230`` to calibrate both Power and Current with known resistive load of 60W at 230V using calibrated Voltage - MQTT warning if trying to connect without TLS on a port that normally uses TLS [#22175](https://github.com/arendst/Tasmota/issues/22175) @@ -173,6 +169,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Zigbee extend timeout for MCU reboot from 5s to 10s [#22009](https://github.com/arendst/Tasmota/issues/22009) - Zigbee avoid disabling console serial on ESP32 and improved log messages [#22082](https://github.com/arendst/Tasmota/issues/22082) - Zigbee flashing CC2562P with latest firmware [#22117](https://github.com/arendst/Tasmota/issues/22117) +- ESP32 Range Extender compile error with core 3.0.0 [#22205](https://github.com/arendst/Tasmota/issues/22205) - Berry avoid `readbytes()` from crashing when file is too large [#22057](https://github.com/arendst/Tasmota/issues/22057) - Berry energy missing attributes [#22116](https://github.com/arendst/Tasmota/issues/22116) - Berry I2C to prepare M5Stack I2C STM32 based devices [#22143](https://github.com/arendst/Tasmota/issues/22143) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_86_esp32_sonoff_spm.ino b/tasmota/tasmota_xdrv_driver/xdrv_86_esp32_sonoff_spm.ino index 303e57c4b..657c53660 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_86_esp32_sonoff_spm.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_86_esp32_sonoff_spm.ino @@ -1671,6 +1671,8 @@ void SSPMHandleReceivedData(void) { |130| 1.0.0|20.0A|0.10A| 240.00V| 0.10V|4400.00W| 0.10W| AA 55 01 00 00 00 00 00 00 00 00 00 00 00 00 00 13 00 24 8B 34 32 37 39 37 34 13 4B 35 36 37 04 00 00 00 82 01 02 00 14 00 00 0A 01 08 00 00 5A 00 12 C0 00 00 00 0A 02 6B 93 - v1.2.0 |130| 1.2.0|20.0A|0.10A| 264.00V| 90V|4800.00W| 0.10W| + AA 55 01 00 00 00 00 00 00 00 00 00 00 00 00 00 13 00 24 B2 43 47 4C 38 31 30 0E 35 36 37 34 04 00 00 00 82 01 03 00 14 00 00 0A 01 08 00 00 5A 00 12 C0 00 00 00 0A 02 C5 87 + |130| 1.3.0|20.0A|0.10A| 264.00V| 90V|4800.00W| 0.10W| Ty = Type of sub-device. 130: Four-channel sub-device */ if (0x24 == expected_bytes) { @@ -1748,12 +1750,22 @@ void SSPMHandleReceivedData(void) { break; case SSPM_FUNC_UPLOAD_DONE_ACK: /* 0x1E - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 aa 55 01 00 00 00 00 00 00 00 00 00 00 00 00 00 1e 00 01 00 01 fe 05 Marker | | |Cm|Size | |Ix|Chksm| */ SSPMSendFindAck(); break; + case SSPM_FUNC_38: + /* 0x26 v1.3.0 + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 + AA 55 01 00 00 00 00 00 00 00 00 00 00 00 00 00 26 00 0D 24 19 47 4C 38 31 31 0C 45 37 34 39 00 04 45 CD + aa 55 01 00 00 00 00 00 00 00 00 00 00 00 00 00 26 00 0d b2 43 47 4c 38 31 30 0e 35 36 37 34 00 02 f0 46 + Marker | | |Cm|Size |Module id | |Ix|Chksm| + + */ + SSPMSendAck(command_sequence); + break; } } }