* Added support for Wooliis LCD Coulometer/Battery Monitor
* Adjusted code structures and data types for Wooliis sensor
---------
Co-authored-by: Luca Melette <luca@positive.security>
* Add support for pipsolar inverter
* Fix CI-Warnings
* Remove unneeded define
* Pipsolar: Fix dat result
* Add support for the rules engine
---------
Co-authored-by: Peter Rustler <peter@rustlerit.de>
* 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>
* 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>
* 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>