Commit Graph

486 Commits

Author SHA1 Message Date
Theo Arends 28c8f8cf47 Fix PowerOnState on ESP32 (#20144) 2023-12-02 17:49:02 +01:00
Theo Arends b7819bcfac ESP32 show LHBT background if ``WebColor2`` bit0 is not set. Bit0 is default set using #252525 2023-12-02 16:59:04 +01:00
Theo Arends ad831418e5 Fix SO51 2023-11-24 11:36:20 +01:00
s-hadinger 1c60527099
Berry `scale_int`, equivalent of `scale_uint` for signed integers (#20090) 2023-11-23 11:31:26 +01:00
s-hadinger 1cd13d7f66
Fixed `changeUIntScale` for linearity when expanding range (#20089) 2023-11-23 10:57:47 +01:00
Theo Arends 74aa056650 Final fix ESP32C3 relay toggle
Final fix ESP32C3 relay toggle on restart (#20030)
2023-11-17 16:17:29 +01:00
Theo Arends 5297bab041 Revert "Final fix ESP32C3 relay toggle"
This reverts commit 4489dba8dd.
2023-11-17 16:06:45 +01:00
Theo Arends 4489dba8dd Final fix ESP32C3 relay toggle
Final fix ESP32C3 relay toggle on restart (#20030)
2023-11-17 15:43:42 +01:00
Theo Arends b02a66a1b6 Fix ESP32C3 relay toggle on restart
Fix ESP32C3 relay toggle on restart (#20030)
2023-11-17 13:02:19 +01:00
Theo Arends f0162377e2 Fix ESP32-C3 gpio hold
Fix ESP32-C3 gpio hold on non-relay gpios (#20030)
2023-11-16 10:26:21 +01:00
Theo Arends c1fa07dd51 Fix ESP32C3 ledlink 2023-11-13 10:54:25 +01:00
Theo Arends 098e29d7e0 Update support_esp32.ino 2023-11-10 12:42:13 +01:00
Theo Arends ede5e398a6 Refactor hardware specific code 2023-11-10 12:24:20 +01:00
Theo Arends 7febc11b8c Fix C2/C6 exception 2023-11-10 11:20:41 +01:00
Theo Arends 211da12342 Update feature list 2023-11-09 15:32:43 +01:00
Theo Arends c6ca0ff10f Squeeze some bytes out of it 2023-11-09 14:59:31 +01:00
Theo Arends 9b5945a117 Add feature10 bitmap 2023-11-09 14:25:24 +01:00
Jason2866 361c15d63b
Delete homekit.c (#19923) 2023-11-04 13:05:48 +01:00
s-hadinger 46df036b51
Cosmetic changes (#19920) 2023-11-04 11:46:25 +01:00
Theo Arends 63297ec5c9 Start using constexpr in featurelist
Saves 128 bytes.
2023-11-02 17:44:29 +01:00
Theo Arends 6410e72b6c Add max size 2023-10-30 21:52:58 +01:00
Theo Arends 09f473b734 A future proof solution ;-) 2023-10-30 21:47:49 +01:00
Theo Arends 444f4fcd62 Fix ESP32 32MB program flash size 2023-10-30 15:29:01 +01:00
Theo Arends 0ae793a8d4 Save some bytes 2023-10-21 17:37:31 +02:00
Theo Arends 57860b692d Fix GpioRead (#19810) 2023-10-21 17:20:55 +02:00
s-hadinger 356de1a16a
Add command ``GpioRead`` (#19814)
* Add command ``GpioRead``

* change output
2023-10-21 15:56:40 +02:00
Theo Arends b6811b2f4e Prep ESP32 I2C bus2 support 2023-10-19 16:59:53 +02:00
Theo Arends 0984c01828 Update changelogs 2023-10-13 14:50:51 +02:00
Theo Arends d96ed15e95 Bump version v3.1.0.4 2023-10-04 13:52:08 +02:00
Theo Arends 99df8edc2d Fix ESP32 chip version number 2023-10-04 12:47:58 +02:00
Barbudor 335e18e8cb
Allow webbutton up to 32 (#19580)
* Allow webbutton up to 32

* use named const
2023-09-29 09:56:52 +02:00
Christoph Friese 5d97a73ddf
Add ENS16x (air quality) and ENS210 (temp & RH) sensors (#19479)
* Add files via upload

Added ENS16x library enabling read-out of ENS160 and ENS161 sensor component (follow-up of CCS811 and iAQcore)
Added ENS210 library to read out ENS210 temperature & humidity sensor

* Add files via upload

Add air quality sensor readout for ENS160 and ENS161 checking two possible I2C addresses (follow up sensor for CCS811 and iAQcore)
Add temperature and humidity sensor readout checking two possible I2C addresses

* Update BUILDS.md

Add USE_ENS16x and USE_ENS210

* Update decode-status.py

Add USE_ENS16x and ENS210

* Update I2CDEVICES.md

Add USE_ENS16x and USE_ENS210

* Update my_user_config.h

Add USE_ENS16x and USE_ENS210

* Update support_features.ino

Add USE_ENS16x and USE_ENS210

* Update tasmota_configurations.h

Add USE_ENS16x and ENS210

* Update tasmota_configurations_ESP32.h

Add USE_ENS16x and USE_ENS210

* Update xsns_111_ens16x.ino

Corrected I2X number

* Update xsns_112_ens210.ino

Corrected I2C number

* Disable USE_ENS16x and USE_ENS210 by default

* Added code size information

* cut down in libs

* optimize tasmota side

* fix ens16x web display

* final fix on alternate addresses

* update code & RAM usage

---------

Co-authored-by: Barbudor <barbudor@barbudor.net>
2023-09-24 18:30:15 +02:00
Theo Arends ffd09da89a Fix DS18B20 for ESP32 with over 33 gpios 2023-09-19 15:20:10 +02:00
Theo Arends 81fc4e336b Fix Arduino3 compilation 2023-09-14 14:17:51 +02:00
Theo Arends 2682d82628 Fix ESP32C3 relay click on restart 2023-09-13 23:16:38 +02:00
Theo Arends 16aab339e7 Clean up support command code 2023-09-11 11:45:27 +02:00
Theo Arends 597c3655b0 Fix MAX17043 invalid JSON (#19495) 2023-09-11 11:35:26 +02:00
s-hadinger f4bc7c34c6
Support for IPv6 link-local zones for esp-idf 5.1 (#19469) 2023-09-06 14:48:12 +02:00
s-hadinger a781ba3fc2
Fix compilation on Arduino 3 (#19447)
* Fix compilation on Arduino 3

* Fix compilation
2023-09-03 19:02:44 +02:00
s-hadinger f7c4c16a9c
Support for HDMI CEC protocol (#19434) 2023-09-01 21:46:18 +02:00
stefanbode 2bae1f4368
sorry... (#19429) 2023-08-31 10:50:29 +02:00
stefanbode 3301875983
Added compiler option for doubleclick window (#19428) 2023-08-31 08:09:25 +02:00
Theo Arends ff17a377cc Allow display of revision v0.0 2023-08-30 16:03:03 +02:00
Theo Arends 62c36a49b3 Add ESP32-C6 GPIO26/28 in template
Add ESP32-C6 GPIO26/28 in template as Red pins used by flash (QIO) but optionally free if DIO/DOUT
2023-08-30 15:14:46 +02:00
Theo Arends 7f24d2027f Fix rotary edge cases (#19164) 2023-08-25 17:06:27 +02:00
Theo Arends 03c72501a5 Finally add ESP32-P4 ;-) 2023-08-25 13:11:00 +02:00
Theo Arends d5b12c8718 Consolidate esp32 hardware info 2023-08-25 12:48:35 +02:00
Theo Arends b1fba92e87 Fix idf chip revision 2023-08-25 10:55:20 +02:00
Theo Arends d340c91cd7 Revert "Fix idf chip revision"
This reverts commit e5cb367581.
2023-08-24 20:52:36 +02:00
Theo Arends e5cb367581 Fix idf chip revision 2023-08-24 17:48:41 +02:00
Theo Arends 701d33f645 Phase 2 support C2/C6 2023-08-23 13:02:13 +02:00
Theo Arends 0c3b559630 Phase 1 support C2/C6 2023-08-21 16:00:20 +02:00
Theo Arends 2eaa0fcb67 Update switch comments 2023-08-17 23:28:27 +02:00
Christian Baars b5cc48dd64
ESP32: pass flashmode at build time to macro definition (#19299)
* pass flashmode at build time to macro definition

* fix 8266 builds
2023-08-12 11:31:06 +02:00
Christian Baars 7544d2f23c
fix IRAM_ATTR specified both in function declaration and definition (#19286) 2023-08-10 12:19:18 +02:00
s-hadinger 0b3d6fd146
Prepare for Arduino v3 / esp-idf v5 2nd batch (#19265) 2023-08-05 20:34:24 +02:00
s-hadinger 5c8c7cdfca
Prepare for Arduino v3 / esp-idf v5 (#19264) 2023-08-05 15:11:10 +02:00
Christian Baars 732e4106b8
add wifitest3 (#19259) 2023-08-04 20:17:36 +02:00
Theo Arends 978a21240c Update changelogs 2023-07-24 15:30:48 +02:00
Theo Arends 421c95a51b Update change logs 2023-07-22 14:55:20 +02:00
Theo Arends b149443691 Fix default battery level
- Fix default battery level (#19160)
- Bump version to v13.0.0.3
2023-07-21 14:35:22 +02:00
stefanbode d1a4296867
New DEEPSLEEP topic for HA + Battery Level % support (#19134)
* New LWT on deepsleep

To allow better integration into HA LWT topic will report details of sleep status:
16:54:04.388 MQT: hm/tele/ESP_3284D1/LWT =
{"Sleep":{"Time":"2023-07-17T16:55:03","Sleep":1689612844,"Wakeup":1689612903}}

* Revert LWT back to non JSON

Send DeelSleep on LWT
Send Deepsleep parameters on topic DeepSleep

* Setting default for batteryLevel

* Enable BatteryPercentSet

Changing the battery level e.g. by rule

* Added Battery % to status message

* added battery_level_percent

* Added battery % support in STATE message

* Enable setting battery level

101 is reserved for power-plug. No battery Level reported

* Setting default for battery Level

101 is reserved for power plug
0..100 normal battery values

* Revert back LWT to Offline

Removed "DeepSleep" LWT status until further decision is made. Current implementation is technical sufficient for HA to detect a battery powered device

* Added discovery message after deepsleep change

* Added discovery for battery and deepsleep
2023-07-20 09:51:08 +02:00
s-hadinger 2a3690b866
Berry `tasmota.loglevel()` and `tasmota.rtc_utc()` for faster performance (#19152) 2023-07-19 20:58:50 +02:00
sfromis 6382c2806c
More user-friendly defaults for DisplayMode and DisplayDimmer (#19138)
Changing default for DisplayMode from 1 to 0. Users are getting confused by the display doing something they did not ask for (and not being aware of DisplayMode). This got worse with LVGL/HASPmota displays becoming common, with users having much less reason to dive into the old DisplayXxxxx commands. And it may even be hard to see that it is even a display of time/date causing the display to flicker.

Changing default for DisplayDimmer from 10% to 50%. The low brightness of 10% is not always easy to see, especially in daylight. 50% is generally better, while not going "full blast" with 100%.
2023-07-18 08:26:51 +02:00
Theo Arends 9638beacec Fix possible buffer overflow 2023-07-12 12:45:02 +02:00
Theo Arends 5b6a25a7a0 Fix driver config backup and restore
Fix driver config backup and restore (#18295)
2023-07-12 10:52:58 +02:00
Theo Arends 889e6ea54d Fix driver config restore 2023-07-11 16:12:04 +02:00
Theo Arends 43bc81010f Configuration file save and restore .xdrvsetXXX
Configuration file save and restore now backup and restore ``.xdrvsetXXX`` files too (#18295)
2023-07-10 16:03:32 +02:00
Theo Arends 522e6cf234 Implement deepsleep(0)
Implement deepsleep(0) as command ``restart 9`` (#19024)
2023-07-03 21:07:45 +02:00
Theo Arends 3edb5bb096 Move SD card init up
Move SD card init up (#18934)
2023-07-01 12:48:33 +02:00
Andrew Klaus eb655a4a8f
Add support for SGP41 TVOC/NOx Sensor (#18880)
* Initial support for SGP41

* Removing delay() use from SGP4x driver

* Using i18n for TVOC/NOx raw values as well
2023-06-29 09:04:08 +02:00
Theo Arends 504b51a9b4 Add command ``Delay -1``
Add command ``Delay -1`` to wait until next second (#18984)
2023-06-28 11:53:23 +02:00
s-hadinger 69b2b93d61
Matter UI and logs polishing (#18866) 2023-06-12 19:45:18 +02:00
Theo Arends 07b7a7ee9a Fix initial ESP32 Energy kWh total time 2023-05-29 16:19:55 +02:00
Theo Arends e05d75248e Add undocumented feature 2023-05-25 17:13:31 +02:00
Theo Arends d0e88c9dae Fix BusyDelay WS2812 2023-05-24 17:24:48 +02:00
Theo Arends fc67cca8b4 Add generic SystemWaitIfBusy() to fix WS2812 led flicker
Add generic SystemWaitIfBusy() to fix WS2812 led flicker
2023-05-24 16:21:59 +02:00
Theo Arends ae518424bc Add IPv4 DNS lookup to influxdb
- Add IPv4 DNS lookup to influxdb (#18015)
- Add response to influxdb send
2023-05-21 15:34:36 +02:00
Theo Arends f5d6578fb5 Fix correct JSON display of WifiPower float 2023-05-19 17:41:18 +02:00
Theo Arends 77103baa0a Add internal support for max log level 2023-05-19 15:20:21 +02:00
s-hadinger 043ea2986b
Berry `tasmota.wifi()` would wrongly report wifi as up (#18687)
* Berry `tasmota.wifi()` would wrongly report wifi as up

* Fix ESP8266 compile

* Fix display of IP in wifiman

* Improve wifiman IP handling for IPv6
2023-05-18 11:23:09 +02:00
Theo Arends 4a7e4f9a17 Refactor dynamic wifi tx power 2023-05-17 11:44:14 +02:00
Theo Arends 57f85ae478 Optimize dynamic WiFi power 2023-05-17 10:45:00 +02:00
Theo Arends 0385204ca7 Add command ``WifiPower 0``
Add command ``WifiPower 0`` to enable dynamic wifi power based on RSSI by @TD-er (#15443)
2023-05-16 18:55:55 +02:00
Theo Arends 9b8f3b6b4c Add command I2CScan0
Add command I2CScan0 to scan both busses if available
2023-05-14 15:21:19 +02:00
Theo Arends f1a9a0b45b Add support for PCA9557
Add support for PCA9557 8-bit I/O expander (#18632)
2023-05-14 15:08:09 +02:00
Theo Arends 7cad4f95b6 Enable I2c on webcam 2023-05-14 14:42:11 +02:00
Jason2866 3c951d7751
fix GT911 crash in LVGL firmware (#18633)
* fix GT911 crash

* remove wrong frag when using GT911
2023-05-10 14:02:51 +02:00
Theo Arends e9d1e8c725 Change command FileUpload binary index 2023-05-06 18:09:11 +02:00
Theo Arends cda2bf157d Add support for TC74
Add support for TC74 temperature sensor by Michael Loftis (#18042)
2023-05-01 16:26:07 +02:00
Theo Arends 53bd49ddcd Remove USE_ARDUINO_OTA from ESP32 2023-04-27 16:35:47 +02:00
Jason2866 c33472d9b6
ArduinoOTA support only ESP8266 (#18528)
* ArduinoOTA support only ESP8266

* add comment ArduinoOTA
2023-04-27 14:19:27 +02:00
Theo Arends 9f77cfd890 Fix single pin latching relay power on state
Fix single pin latching relay power on state (#18386)
2023-04-19 16:17:04 +02:00
Theo Arends 6f6c43a724 Add command ``SetOption152 0/1``
Add command ``SetOption152 0/1`` to select two (default) or one pin bistable relay control (#18386)
2023-04-18 17:16:29 +02:00
Theo Arends c2a6dd81e8 Fix ESP32 energy monitoring set StartTotalTime
Fix ESP32 energy monitoring set StartTotalTime regression from v12.3.1.5 (#18385)
2023-04-14 17:42:31 +02:00
Szewcson 4fdd1ad94d
Ftlab gdk101 Gamma Radiation Sensor Module support (#18390)
* Support for GDK101.

* GDK101 driver rework

---------

Co-authored-by: PetrNovacek <39201428+r21m@users.noreply.github.com>
2023-04-14 15:29:00 +02:00
Theo Arends 545c6a3511 Refactor saving some bytes 2023-04-07 13:03:20 +02:00
Theo Arends 4f983105f3 Allow compound commands in json command
Allow compound commands in json command (#18358)
2023-04-07 12:36:02 +02:00
Anton ACE d8bdcebc78
xsns_105_lox_o2: LOX-02 Oxygen sensor support (#18333)
* xsns_105_lox_o2: LOX-02 Oxygen sensor support

* strtof removed, ConvertTemp added
2023-04-06 09:52:15 +02:00
Theo Arends 542eca3154 Global fix http(s) connect issues 2023-04-03 16:12:29 +02:00
Theo Arends d9353cf1e3 Fix upload connection error 2023-04-03 14:17:08 +02:00
stefanbode 5c14a3169b
Shutter esp32 support up to 16 shutters (#18295)
* Updates to support ESP32 shutter compiler option

* New ESP32 shutter driver

* Update xdrv_27_ESP32_shutter.ino

* Update xdrv_27_shutter.ino

* Update support_command.ino

* Update xdrv_27_shutter.ino

Fix compile error

* Update xdrv_27_ESP32_shutter.ino

Fix compile error

* Update xdrv_27_shutter.ino

Fix compile error

---------

Co-authored-by: Theo Arends <11044339+arendst@users.noreply.github.com>
2023-03-29 15:43:19 +02:00
Theo Arends 61b8e95543 Fix ESP32 change baudrate (#17869) 2023-03-26 16:37:29 +02:00
Theo Arends 9ae7b86efc Save some bytes 2023-03-25 11:59:42 +01:00
Theo Arends b32a093c0c Fix multidigit SwitchModes display
Fix multidigit SwitchModes display
2023-03-25 11:36:10 +01:00
Theo Arends 5bb624ad09 Add command ``SwitchMode0``
Add command ``SwitchMode0`` to show or set all SwitchModes
2023-03-25 11:29:49 +01:00
Theo Arends 00c60450c6 Consolidate messages
- Consolidate messages
- Fix sen5x
2023-03-22 13:25:55 +01:00
Jean-Pierre Deschamps 5661a6798f
Support for pmsa003i (#18214)
* Initial support for PMSA003I air quality sensor.

* Updated pmsa003i support to the latest dev branch

* Fixed typo in esp32 configuration

Removed all global variable and use the PM25_AQI_Data struct from Adafruit library
Fix typo Xsns100 to Xsns104
Fix Typo XI2C_71 to XI2C_78

* Move everything in custom Struct for PMSA003I driver

---------

Co-authored-by: Jean-Pierre Deschamps <info@jpdeschamps.com>
2023-03-20 09:52:22 +01:00
Theo Arends bda32739a8 Support for reset settings on filesystem 2023-03-13 15:41:21 +01:00
Theo Arends 2b89b7a134 Fix init order of device drivers (#18124) 2023-03-11 15:52:02 +01:00
Theo Arends 63408f3a7d Add NTP time request from gateway (#17984) 2023-03-01 10:58:02 +01:00
Theo Arends 9f30836854 Add support for multiple MCP23017 as switch/button/relay 2023-03-01 10:12:47 +01:00
Barbudor 635afa36de
i2cdriverstate in status only when use_i2c (#18067) 2023-02-27 15:39:52 +01:00
Theo Arends a97f0349d8 Add I2CDriver output to status 4 2023-02-27 09:28:28 +01:00
Theo Arends e927e3307e Add DevicesPresent limit check
- Increase supported relays and buttons to 32
2023-02-25 16:44:04 +01:00
Theo Arends 29ae903f67 Fixed EnergyTotal divided twice
Fixed EnergyTotal divided twice during minimal upgrade step regression from v12.3.1.3 (#18024)
2023-02-24 16:15:02 +01:00
Theo Arends a994c71de4 Refactor device_present calculation 2023-02-19 15:28:20 +01:00
Theo Arends 89ccfe910e Fix undocumented support
Fix undocumented support for non-sequential buttons and switches (#17967)
2023-02-18 14:30:40 +01:00
Theo Arends 31f5b79bf8 Fix adding virtual switches 2023-02-15 11:06:53 +01:00
Theo Arends 87686c0d52 update changelogs 2023-02-13 16:07:38 +01:00
Theo Arends b72cf69d2c Refactor buttons and switches Pt.3
- Quick return from interrupts
2023-02-12 17:40:24 +01:00
Theo Arends dab80f9d29 Refactor buttons and switches Pt.2 2023-02-12 17:23:22 +01:00
Theo Arends e0584b2157 Refactor switches and buttons
- Fix Tuya switches
2023-02-12 16:09:28 +01:00
Theo Arends 134c839244 Fix virtual relays multi press 2023-02-09 15:34:05 +01:00
Theo Arends 8cbb62d8c9 Simplify virtual buttons/switches 2023-02-09 14:46:54 +01:00
Theo Arends 055331d2ab Breaking change TM1638 button and led support
Breaking change TM1638 button and led support are handled as virtual switches and relays (#11031)
2023-02-06 15:57:27 +01:00
Theo Arends ce29bc38d7 Extent ESP8266 virtual button support 2023-02-06 12:03:32 +01:00
Theo Arends 9673cca8b0 Extent ESP8266 virtual switch support 2023-02-06 11:45:28 +01:00
Theo Arends 0ebcf1dc03 Fix exception on empty topic (#17879) 2023-02-05 15:13:44 +01:00
Theo Arends 8bc03bbc06 Bump version v12.3.1.6
- Add ESP32 preliminary support for Matter protocol, milestone 1 (commissioning) by Stephan Hadinger
- Add basic support for Shelly Pro 4PM
2023-02-05 14:29:42 +01:00
s-hadinger 96b66225d2
Reserve `SetOption151` for Matter protocol (#17860) 2023-02-02 20:22:59 +01:00
Barbudor 3d39efaf4a
isTuya optionnal arg to validpin (#17835) 2023-01-30 22:35:38 +01:00
Theo Arends d9cbbaeb2a Fix energy usage and return migrated too small
Fix energy usage and return migrated too small (/10000) regression from v12.3.1.3
2023-01-30 15:36:46 +01:00
Theo Arends 664b60332a Fix broken I2C priority
Fix broken I2C priority regression from v12.3.1.3 (#17810)
2023-01-29 13:59:09 +01:00
Tyeth Gundry 2ed602057c
Add SEN5X to I2C devices (#17736) 2023-01-29 08:06:25 +01:00
Theo Arends d70dbe979e Prep ESP32 energy for four+ phases 2023-01-26 15:26:10 +01:00
Theo Arends 4297fa3f3e Add Shelly Pro 4 input interrupt support 2023-01-23 12:51:02 +01:00
Theo Arends 88dd5f7f50 Fix Shelly Pro 4PM auto reset 2023-01-22 16:41:25 +01:00
Theo Arends c85003c67d Prep Shelly Pro 4PM 2023-01-21 14:30:35 +01:00
Theo Arends aa78ffb733 Prep Shelly Pro 4PM 2023-01-20 14:28:58 +01:00
Barbudor d904e0aa7f
Tuya - WIFI_STRENGTH + Save check on MCU_CONF (#17724)
* adding response to command 36 Get Wifi Strength

* more logs

* poperly check and warn if Mode 2 provide bad GPIOs

* final test on gpio
2023-01-17 04:46:00 +01:00
Theo Arends e2c9a71c3b Prep virtual button handler 2023-01-16 18:29:51 +01:00
Theo Arends 7a97fa4a19 Fix BMP support on two busses
Fix BMP support on two busses (#17643)
2023-01-15 17:14:54 +01:00
Theo Arends 094f45fe7e Fix compilation without USE_IPV6 2023-01-13 11:47:58 +01:00
Theo Arends 1a9e86a6b3 Fix ESP32 safeboot propagating upload 2023-01-13 11:30:30 +01:00
Theo Arends 24105a74b2 Save some RAM on ESP8266 2023-01-08 17:51:17 +01:00
David Gwynne 17d68750d9
WIP Tuya MCU Bridge driver alternative to the TuyaMCU driver (#17626)
* WIP Tuya MCU Bridge driver alternative to the TuyaMCU driver

The main difference is this driver does not try and wire MCU data points
(Dps) into the tasmota power/light/etc controls. Instead each Dp ends up
being relayed directly to MQTT and the rules subsystem. If you want to
change the state of something wired up to the MCU, you send tuyamcu
specific commands to manipulate the Dp.

Each Dp gets a type and id specific topic that is sent to MQTT. eg, Dp
id 1 type bool looks like tele/%topic%/TUYAMCUBOOL1. To change state you
send a TuyaMCUBool1 command (ie, the command index value is used as the
DpId, which is nice and symmetrical) with the new value.

Currently Rules operate on TuyaMCU#TypeDpid things, eg, "rule1 on
TuyaMCU#Bool1 do power %value% endon" toggle the power on the tasmota
device when the state of the thing on the MCU changes too.

The most obviously missing stuff at the moment is:

- better relaying of the wifi/mqtt status to the MCU
- handling wifi reset requests from the MCU
- low power stuff?
- support for sending status updates and device info queries.
- restarting the tuya mcu state machine?
- restarting the rx state machine when no bytes are rxed for a period of
  time
- time sync

* shorten the log prefix to TYB (3 chars).

requested by arendst

* use the local definition for the SET_DP command.

reaching back to the existing tuyamcu code isnt reliable.

pointed out by arendst

* put the todo list in the code so it can be tracked

* check the wifi/mqtt state every second and update the mcu if it changes.

* fix rule processing when Dp state is changed from a cmnd.

rule processing was done as part of publishing the state, but publishing
the state when it was updated by a command only happened if So59 was
set. split rule processing out of publish and call them separately as
needed.

publish is now called from teleperiod, status updates from the MCU,
and from cmnds if so59 is set. rules are called from status updates from
the MCU and from cmnds.

Co-authored-by: David Gwynne <dlg@defeat.lan.animata.net>
2023-01-08 17:35:45 +01:00
Theo Arends 9073fe01c1 Add ESP32 support for BMPxxx sensors on two I2C busses
Add ESP32 support for BMPxxx sensors on two I2C busses (#17643)
2023-01-08 17:19:08 +01:00
Theo Arends 0781192c87 Extract I2C support
- Fix BMP compilation on ESP8266
2023-01-08 16:04:58 +01:00
Ralph Maschotta d80b763f97
Enable more than two and up to four BMP/BME sensors on two I2C buses for ESP32 (only two addresses (76, 77) per I2C bus are possible). (enhancement of #10827,#1049, #2707) (#17643) 2023-01-08 15:57:34 +01:00
Theo Arends 95690ab1b9 Add recursive rule MQTT subscribe support (#16943) 2023-01-07 17:31:10 +01:00
Theo Arends 2e7496a052 Keep webserver enabled on command ``upload`` 2023-01-07 15:37:52 +01:00
s-hadinger 5e89578403
Extend fix #17619 to non-IPv6 (#17621) 2023-01-06 19:03:07 +01:00
s-hadinger 33d6dbed3d
No IP address shown when in AP moode (#17599) (#17619) 2023-01-06 14:03:16 +01:00
s-hadinger dfc01cd3a4
Fix crash when getting IP address (#17576) 2023-01-03 09:33:31 +01:00
Theo Arends 14ee8decf7 Update changelogs
Add support for PCA9632 4-channel 8-bit PWM driver as light driver by Pascal Heinrich (#17557)
2023-01-01 14:29:41 +01:00
Theo Arends 32a51da43d Fix PUSH_IGNORE_INV once more 2023-01-01 14:01:18 +01:00
Theo Arends c63919d783 Change Energy totals max supported value
- Change Energy totals max supported value from +/-21474.83647 to +/-2147483.647 kWh
- Bump version to v12.3.1.3
2023-01-01 11:32:30 +01:00
Stefan Oskamp e5fd35ba85
Added: Driver xdsp_20_tm1650 for I2C-based seven-segment LED controller TM1650. (#17549)
Co-authored-by: Stefan Oskamp <stefan@scinax.lan>
2022-12-31 09:19:53 +01:00
Theo Arends d9be488885 Update comments 2022-12-29 16:10:41 +01:00
Theo Arends 4ee6aee35e Fix ESP8266 relay power on spikes
Fix ESP8266 set GPIO's to input on power on fixing relay spikes (#17531)
2022-12-29 14:46:34 +01:00
Theo Arends ff3d90c36d Fix teleperiod PUSH_IGNORE_INV
Fix teleperiod PUSH_IGNORE_INV (#17028)
2022-12-29 14:02:48 +01:00
s-hadinger ef4138bdaa
Support for IPv6 only networks on Ethernet (not yet Wifi) (#17527) 2022-12-27 21:59:34 +01:00
Theo Arends 3555d88bee Bump version v12.3.1.2
- Fix shutter default motorstop set to 0 (#17403)
2022-12-21 15:20:33 +01:00
gemu 1cdd5c3f08
Udisplay support for rgb displays (#17414)
* add gt911

* add rgb display mode

* add gt911

* add gt911

* add gt911

* add sunton descriptor

* fix divide by zero crash with sunton
2022-12-18 14:06:04 +01:00
s-hadinger 5048777e06
Fix IPV6 compilation on ESP8266 (#17429) 2022-12-17 22:41:21 +01:00
s-hadinger 9abe7b1af9
Support for IPv6 DNS records (AAAA) and IPv6 ``Ping`` for ESP32 and ESP8266 (#17417) 2022-12-17 10:08:35 +01:00
Mathias fc8039d960
Adding support for ME007-ULS narrow FoV ultrasonic distance sensor (#17376)
* Squashed commit of the following:

commit 1441459a47cff0a43aa61ce47510585ee03649f3
Merge: a9fcbd342 7e27945e5
Author: Mathias Buder <mathias_buder@bose.com>
Date:   Tue Dec 13 09:00:06 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit a9fcbd3428445eb914816f608e064568d16b41e9
Merge: 7bb1049f5 d83119897
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 12 10:33:06 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit 7bb1049f51da8d064462b9499ed479a7675b368e
Merge: 83a5afa7a eee86f01a
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Fri Dec 9 09:30:29 2022 +0100

    Merge remote-tracking branch 'github/development' into me007-narrow-fov-ultrasonic-sensor

commit 83a5afa7ad27fcde1e67008e41a9bfd9c680cccd
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 8 14:47:13 2022 +0100

    [ME007] Added driver version number to MQTT message, small delay between consecutive measurement

commit 9b8667843154f02a23020e655d806ed76ae2e530
Merge: 39180f345 de408921e
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 8 10:12:45 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit 39180f3451fce5f06504195faea0124d73dac1ee
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Wed Dec 7 16:41:26 2022 +0100

    [ME007] Added median filter

commit 01b68e0e6ca147ac03b63b8c71d035563e3bf13b
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 5 23:08:57 2022 +0100

    [ME007] Simplified state maschine within me007_measure()

commit 1c74c6ed3e4097f09792a48420b2016c92e10353
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 5 22:21:16 2022 +0100

    [ME007] Fixed issues from previous pull-request

commit 25b667120fd8d70fcfed36de44f1b7a17d0686be
Merge: 01e0b1809 e7d40b8d1
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 5 10:46:25 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

    # Conflicts:
    #	tasmota/include/tasmota_template.h

commit 01e0b18096bfffc67673e25152114694caaf110a
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Sun Dec 4 20:53:39 2022 +0100

    [ME007] Minor changes

commit ec00c9b85d223b78586c464bb92d1c7894357a40
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Fri Dec 2 13:08:06 2022 +0100

    [ME007] Added some measurement error statistics

commit c5cf65f82c42195752a88fd1553c74ab68c39cb2
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 22:38:07 2022 +0100

    [ME007] Fixed MQTT message

commit ae07d8dd77db47e20578f655ec057a63b30e65ce
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 21:56:20 2022 +0100

    [ME007] Minor code refactoring

commit d2b43ca70c716e1b637b9efd3b536506233e5365
Merge: 292f5f6c8 816fd78fb
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 16:48:38 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit 292f5f6c81f1659eb225271cdd025eb77da02c6f
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 16:47:03 2022 +0100

    [ME007] Added logic to detect sensor at boot and during runtime

commit f17af404fee76bf63b30ed3c9d2175c4e01c03ca
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 12:32:19 2022 +0100

    [ME007] Added missing define into language files

commit 7a271abeca36139a43ef96bd461d46ba0c662901
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 12:19:23 2022 +0100

    [ME007] Improved snesor measuremnt function

commit fe42ebd1124e2246e4d7afd63c905c251e084b27
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 00:43:13 2022 +0100

    [ME007] Updated state maschine to trigger and receive sensor measurements

commit d137e6dec5104b4716428849d99c68bbf407ab42
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Wed Nov 30 20:35:31 2022 +0100

    [ME007] Added initial state maschine to trigger and receive sensor measurements

commit fc3da7b36849df162d9d5496a763ab2beb096aff
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Tue Nov 29 21:28:28 2022 +0100

    [ME007] Updated pin name

commit e9fa9fb771cf15dcd9ed8b63b9194154543ef10e
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 22:02:34 2022 +0100

    [ME007] Fixed issue that sensor GPIOs not shown in drop-down list

commit a13e42660183eb4ab91007ca0ea6bf1544687556
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 15:06:34 2022 +0100

    [ME007] Added sensor into supported feature list

commit dec17b59ce2905124386f8c90d81656bf104c844
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 15:01:58 2022 +0100

    [ME007] Removed log message in Xsns23()

commit 11f479d2ec9d3f4e7552c2f78cdc83914c5b8b94
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 10:47:55 2022 +0100

    [ME007] Added GPIOs to tasmota_template_legacy.h and berry

commit 23aec8e5ff4e9fb8ef7d3b01a707641accc1e01e
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Sun Nov 27 20:10:53 2022 +0100

    [ME007] Initial ME007 driver API setup

* [ME007] Reverted change in .gitignore and platform.ini

* [ME007] Removed dependency to stdlib.h

* [ME007] Adjusted unit to cm

* [ME007] Reverted change in tasmota_template_legacy.h

* [ME007] Changed sensor message tag to three characters

* [ME007] Disabled sensor in my_user_config.h

* [ME007] Added driver code size into commente

Co-authored-by: Mathias Buder <mathias_buder@bose.com>
2022-12-14 11:52:26 +01:00
s-hadinger f429d41a32
Fix IPv6 compilation for ESP8266 (#17374) 2022-12-13 09:31:43 +01:00
Stephan Hadinger bde58105d0 More universal way to force IPv4 2022-12-11 16:31:14 +01:00
Stephan Hadinger 1bdb542e50 Fix IPv4 DNS resolution when IPv6 is enabled 2022-12-11 16:24:14 +01:00
Theo Arends 4f70f4d33e
Merge pull request #17342 from stefanbode/shutterdev
Code optimizatons
2022-12-11 10:49:04 +01:00
stefanbode c20d789fde
Update support.ino 2022-12-10 23:54:09 +01:00
Stephan Hadinger 4a32623a51 IPv6 improvements 2022-12-10 13:44:16 +01:00
Stephan Hadinger 2f1b2ec5fd IPv6 support for Ethernet (ESP32) 2022-12-08 19:06:51 +01:00
s-hadinger 2a1b900775
IPv6 improvements (#17268)
* IPv6 improvements

* Fix esp8266 compilation

* grrr

* Fix compilation issue

* Fix declaration

* Fix esp32c3
2022-12-04 16:57:34 +01:00
Theo Arends e1221b924d Changed removed leading spaces on commands ``(S)SerialSend1 to 6``
Removed leading spaces on commands ``(S)SerialSend1 to 6`` but keep on duplicate commands ``(S)SerialSend11 to 16`` (#16723)
2022-12-04 15:09:39 +01:00
Stephan Hadinger d3be3dfe8f IPv6 preview for ESP32, also working for ESP8266 2022-11-30 19:40:58 +01:00
Theo Arends 53563d44d8 Add support for HLK-LD2410 24GHz smart wave motion sensor
Add support for HLK-LD2410 24GHz smart wave motion sensor
2022-11-26 17:49:25 +01:00
Stephan Hadinger 87de264146 Improve mdns logging 2022-11-23 21:41:35 +01:00
Theo Arends 06b6e31cad
Merge pull request #17147 from joba-1/rgx-fix-wifimanager-handling
don't touch AP_STA mode only if Rgx is up
2022-11-21 10:33:19 +01:00
joba-1 4b52be6a5e don't touch AP_STA mode only if Rgx is up 2022-11-20 16:28:59 +01:00
Theo Arends 4f31e7a1b2 Add command ``SetOption35 0..255``
Add command ``SetOption35 0..255`` to skip number of received messages in Serial Bridge (default 0) (#17140)
2022-11-20 12:52:24 +01:00
Theo Arends 69f903618d Fix intermittent wifi AP starts 2022-11-18 14:31:49 +01:00
Theo Arends 16b796ccd5 Fix emulation regression from ArtNet implementation 2022-11-17 17:30:44 +01:00
Theo Arends 34ededb9d8 Add comment for future use 2022-11-17 12:01:09 +01:00
Theo Arends 91953e2658
Merge pull request #17103 from joba-1/rgx-preserve-ap-connections-on-sta-reconnect
preserve AP connections if STA side reconnects
2022-11-17 11:50:26 +01:00
Theo Arends a924e41ff3 Bump version v12.2.0.5
- Fixed ModbusBridge baudrates over 76500 baud (#17106)
- Bump version v12.2.0.5
2022-11-17 11:44:51 +01:00
joba-1 552c44425b
Merge branch 'arendst:development' into rgx-preserve-ap-connections-on-sta-reconnect 2022-11-16 19:41:59 +01:00
joba-1 4eb0bf80dc preserve AP connections if STA side reconnects 2022-11-16 17:28:03 +01:00
Theo Arends 5f3d504c30 Add support for HMC5883L
Add support for HMC5883L 3-Axis Digital Compass sensor by Andreas Achtzehn (#17069)
2022-11-15 11:11:32 +01:00
Theo Arends e88d1682e9 Add command ``SwitchMode 16``
Add command ``SwitchMode 16`` sending only MQTT message on inverted switch change (#17028)
2022-11-15 10:10:29 +01:00
Theo Arends 13c27194ec TuyaMcu rewrite by btsimonh (#17051) 2022-11-13 12:55:18 +01:00
Theo Arends 4e5193fdad Remove SkipSleep() in favour of FUNC_SLEEP_LOOP 2022-11-12 15:57:46 +01:00
Theo Arends 9b64c4eb4c Refactor some logging 2022-11-11 14:34:58 +01:00
Theo Arends 9ef0f2aa09 Consolidate AddLogBuffer 2022-11-11 11:47:11 +01:00
Stephan Hadinger 0628d2f1a5 Use `XdrvXsnsCall` 2022-11-11 11:34:32 +01:00
Stephan Hadinger 3731894486 Added ``FUNC_NETWORK_UP`` and ``FUNC_NETWORK_DOWN`` events 2022-11-11 11:15:05 +01:00
Theo Arends 6f00b455e7 Add serial receive poll during sleep
Add serial receive poll during sleep for tuya and serial bridge
2022-11-11 09:57:00 +01:00
Theo Arends b7f6a7b00a Clean up logging functions 2022-11-11 09:30:31 +01:00