Commit Graph

233 Commits

Author SHA1 Message Date
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