Tasmota/tasmota/tasmota_support/support_features.ino

908 lines
29 KiB
Arduino
Raw Normal View History

2018-11-20 14:00:24 +00:00
/*
support_features.ino - feature support for Tasmota
2018-11-20 14:00:24 +00:00
2021-01-01 12:44:04 +00:00
Copyright (C) 2021 Theo Arends
2018-11-20 14:00:24 +00:00
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*********************************************************************************************\
* Fill feature list
\*********************************************************************************************/
2020-10-28 10:37:59 +00:00
void ResponseAppendFeatures(void)
2018-11-20 14:00:24 +00:00
{
2020-10-28 10:37:59 +00:00
static uint32_t feature1 = 0x00000000;
if (!feature1) { // Only fill this once
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_ENERGY_MARGIN_DETECTION)
2020-10-28 10:37:59 +00:00
feature1 |= 0x00000001; // xdrv_03_energy.ino
#endif
#ifdef USE_LIGHT
2020-10-28 10:37:59 +00:00
feature1 |= 0x00000002; // tasmota.ino, xdrv_04_light.ino
#endif
2018-11-20 14:00:24 +00:00
#ifdef USE_I2C
2020-10-28 10:37:59 +00:00
feature1 |= 0x00000004; // tasmota.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_SPI
2020-10-28 10:37:59 +00:00
feature1 |= 0x00000008; // tasmota.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_DISCOVERY
2020-10-28 10:37:59 +00:00
feature1 |= 0x00000010; // tasmota.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_ARDUINO_OTA
2020-10-28 10:37:59 +00:00
feature1 |= 0x00000020; // tasmota.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_MQTT_TLS
2020-10-28 10:37:59 +00:00
feature1 |= 0x00000040; // xdrv_02_mqtt.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_WEBSERVER
2020-10-28 10:37:59 +00:00
feature1 |= 0x00000080; // xdrv_01_webserver.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_WEBSERVER) && defined(WEBSERVER_ADVERTISE)
2020-10-28 10:37:59 +00:00
feature1 |= 0x00000100; // xdrv_01_webserver.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_WEBSERVER) && defined(USE_EMULATION_HUE)
2020-10-28 10:37:59 +00:00
feature1 |= 0x00000200; // xdrv_20_hue.ino
2018-11-20 14:00:24 +00:00
#endif
//#if (MQTT_LIBRARY_TYPE == MQTT_PUBSUBCLIENT)
2020-10-28 10:37:59 +00:00
feature1 |= 0x00000400; // xdrv_02_mqtt.ino
//#endif
//#if (MQTT_LIBRARY_TYPE == MQTT_TASMOTAMQTT)
2020-10-28 10:37:59 +00:00
// feature1 |= 0x00000800; // xdrv_02_mqtt.ino
//#endif
#ifdef USE_MODBUS_BRIDGE
feature1 |= 0x00001000; // xdrv_63_modbus_bridge.ino
#endif
2020-07-05 11:15:26 +01:00
#if defined(USE_DISCOVERY) && defined(MQTT_HOST_DISCOVERY)
2020-10-28 10:37:59 +00:00
feature1 |= 0x00002000; // xdrv_02_mqtt.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_LIGHT) && defined(USE_ARILUX_RF)
2020-10-28 10:37:59 +00:00
feature1 |= 0x00004000; // xdrv_04_light.ino
2018-11-20 14:00:24 +00:00
#endif
#if defined(USE_LIGHT) && defined(USE_WS2812)
2020-10-28 10:37:59 +00:00
feature1 |= 0x00008000; // xdrv_04_light.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_LIGHT) && defined(USE_WS2812) && defined(USE_WS2812_DMA)
2020-10-28 10:37:59 +00:00
feature1 |= 0x00010000; // xdrv_04_light.ino
2018-11-20 14:00:24 +00:00
#endif
#if defined(USE_IR_REMOTE) || defined(USE_IR_REMOTE_FULL)
2020-10-28 10:37:59 +00:00
feature1 |= 0x00020000; // xdrv_05_irremote.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_IR_HVAC
2020-10-28 10:37:59 +00:00
feature1 |= 0x00040000; // xdrv_05_irremote.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_IR_REMOTE) && defined(USE_IR_RECEIVE)
2020-10-28 10:37:59 +00:00
feature1 |= 0x00080000; // xdrv_05_irremote.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_DOMOTICZ
2020-10-28 10:37:59 +00:00
feature1 |= 0x00100000; // xdrv_07_domoticz.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_DISPLAY
2020-10-28 10:37:59 +00:00
feature1 |= 0x00200000; // xdrv_13_display.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_HOME_ASSISTANT
2020-10-28 10:37:59 +00:00
feature1 |= 0x00400000; // xdrv_12_home_assistant.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_SERIAL_BRIDGE
2020-10-28 10:37:59 +00:00
feature1 |= 0x00800000; // xdrv_08_serial_bridge.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_TIMERS
2020-10-28 10:37:59 +00:00
feature1 |= 0x01000000; // xdrv_09_timers.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_TIMERS) && defined(USE_SUNRISE)
2020-10-28 10:37:59 +00:00
feature1 |= 0x02000000; // xdrv_09_timers.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_TIMERS) && defined(USE_TIMERS_WEB)
2020-10-28 10:37:59 +00:00
feature1 |= 0x04000000; // xdrv_09_timers.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_RULES
2020-10-28 10:37:59 +00:00
feature1 |= 0x08000000; // xdrv_10_rules.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_KNX
2020-10-28 10:37:59 +00:00
feature1 |= 0x10000000; // xdrv_11_knx.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_WPS
2020-10-28 10:37:59 +00:00
feature1 |= 0x20000000; // support.ino - removed with version 6.6.0.21
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_SMARTCONFIG
2020-10-28 10:37:59 +00:00
feature1 |= 0x40000000; // support.ino - removed with version 6.6.0.21
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_ENERGY_POWER_LIMIT)
2020-10-28 10:37:59 +00:00
feature1 |= 0x80000000; // xdrv_03_energy.ino
2018-11-20 14:00:24 +00:00
#endif
2020-10-28 10:37:59 +00:00
}
2018-11-20 14:00:24 +00:00
2020-10-28 10:37:59 +00:00
static uint32_t feature2 = 0x00000000;
if (!feature2) { // Only fill this once
2018-11-20 14:00:24 +00:00
#ifdef USE_CONFIG_OVERRIDE
2020-10-28 10:37:59 +00:00
feature2 |= 0x00000001; // user_config(_override).h
2018-11-20 14:00:24 +00:00
#endif
#ifdef FIRMWARE_MINIMAL
2020-10-28 10:37:59 +00:00
feature2 |= 0x00000002; // user_config(_override).h
2018-11-20 14:00:24 +00:00
#endif
#ifdef FIRMWARE_SENSORS
2020-10-28 10:37:59 +00:00
feature2 |= 0x00000004; // user_config(_override).h
2018-11-20 14:00:24 +00:00
#endif
#ifdef FIRMWARE_CLASSIC
2020-10-28 10:37:59 +00:00
feature2 |= 0x00000008; // user_config(_override).h
2018-11-20 14:00:24 +00:00
#endif
#ifdef FIRMWARE_KNX_NO_EMULATION
2020-10-28 10:37:59 +00:00
feature2 |= 0x00000010; // user_config(_override).h
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_DISPLAY) && defined(USE_DISPLAY_MODES1TO5)
2020-10-28 10:37:59 +00:00
feature2 |= 0x00000020; // xdrv_13_display.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_DISPLAY) && defined(USE_DISPLAY_GRAPH)
2020-10-28 10:37:59 +00:00
feature2 |= 0x00000040; // xdrv_13_display.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-05 11:15:26 +01:00
#if defined(USE_I2C) && defined(USE_DISPLAY) && defined(USE_DISPLAY_LCD)
2020-10-28 10:37:59 +00:00
feature2 |= 0x00000080; // xdsp_01_lcd.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-05 11:15:26 +01:00
#if defined(USE_I2C) && defined(USE_DISPLAY) && defined(USE_DISPLAY_SSD1306)
2020-10-28 10:37:59 +00:00
feature2 |= 0x00000100; // xdsp_02_ssd1306.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-05 11:15:26 +01:00
#if defined(USE_I2C) && defined(USE_DISPLAY) && defined(USE_DISPLAY_MATRIX)
2020-10-28 10:37:59 +00:00
feature2 |= 0x00000200; // xdsp_03_matrix.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-05 11:15:26 +01:00
#if defined(USE_SPI) && defined(USE_DISPLAY) && defined(USE_DISPLAY_ILI9341)
2020-10-28 10:37:59 +00:00
feature2 |= 0x00000400; // xdsp_04_ili9341.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-05 11:15:26 +01:00
#if defined(USE_SPI) && defined(USE_DISPLAY) && defined(USE_DISPLAY_EPAPER_29)
2020-10-28 10:37:59 +00:00
feature2 |= 0x00000800; // xdsp_05_epaper.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-05 11:15:26 +01:00
#if defined(USE_I2C) && defined(USE_DISPLAY) && defined(USE_DISPLAY_SH1106)
feature2 |= 0x00001000; // xdsp_07_sh1106.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_MP3_PLAYER
2020-10-28 10:37:59 +00:00
feature2 |= 0x00002000; // xdrv_14_mp3.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-05 11:15:26 +01:00
#if defined(USE_I2C) && defined(USE_PCA9685)
2020-10-28 10:37:59 +00:00
feature2 |= 0x00004000; // xdrv_15_pca9685.ino
2018-11-20 14:00:24 +00:00
#endif
#if defined(USE_LIGHT) && defined(USE_TUYA_MCU)
2020-10-28 10:37:59 +00:00
feature2 |= 0x00008000; // xdrv_16_tuyadimmer.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_RC_SWITCH
2020-10-28 10:37:59 +00:00
feature2 |= 0x00010000; // xdrv_17_rcswitch.ino
2018-11-20 14:00:24 +00:00
#endif
#if defined(USE_LIGHT) && defined(USE_ARMTRONIX_DIMMERS)
2020-10-28 10:37:59 +00:00
feature2 |= 0x00020000; // xdrv_18_armtronixdimmer.ino
2018-11-20 14:00:24 +00:00
#endif
#if defined(USE_LIGHT) && defined(USE_SM16716)
2020-10-28 10:37:59 +00:00
feature2 |= 0x00040000; // xdrv_04_light.ino
2019-02-04 06:08:29 +00:00
#endif
#ifdef USE_SCRIPT
2020-10-28 10:37:59 +00:00
feature2 |= 0x00080000; // xdrv_10_scripter.ino
#endif
2020-07-05 11:15:26 +01:00
#if defined(USE_WEBSERVER) && defined(USE_EMULATION_WEMO)
2020-10-28 10:37:59 +00:00
feature2 |= 0x00100000; // xdrv_21_wemo.ino
#endif
#ifdef USE_SONOFF_IFAN
2020-10-28 10:37:59 +00:00
feature2 |= 0x00200000; // xdrv_22_sonoff_ifan.ino
#endif
#ifdef USE_ZIGBEE
2020-10-28 10:37:59 +00:00
feature2 |= 0x00400000; // xdrv_23_zigbee.ino
#endif
2018-11-20 14:00:24 +00:00
#ifdef NO_EXTRA_4K_HEAP
2020-10-28 10:37:59 +00:00
feature2 |= 0x00800000; // sonoff_post.h
2018-11-20 14:00:24 +00:00
#endif
#ifdef VTABLES_IN_IRAM
2020-10-28 10:37:59 +00:00
feature2 |= 0x01000000; // platformio.ini
2018-11-20 14:00:24 +00:00
#endif
#ifdef VTABLES_IN_DRAM
2020-10-28 10:37:59 +00:00
feature2 |= 0x02000000; // platformio.ini
2018-11-20 14:00:24 +00:00
#endif
#ifdef VTABLES_IN_FLASH
2020-10-28 10:37:59 +00:00
feature2 |= 0x04000000; // platformio.ini
2018-11-20 14:00:24 +00:00
#endif
#ifdef PIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
2020-10-28 10:37:59 +00:00
feature2 |= 0x08000000; // platformio.ini
2018-11-20 14:00:24 +00:00
#endif
#ifdef PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
2020-10-28 10:37:59 +00:00
feature2 |= 0x10000000; // platformio.ini
2018-11-20 14:00:24 +00:00
#endif
#ifdef PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
2020-10-28 10:37:59 +00:00
feature2 |= 0x20000000; // platformio.ini
2018-11-20 14:00:24 +00:00
#endif
#ifdef DEBUG_THEO
2020-10-28 10:37:59 +00:00
feature2 |= 0x40000000; // xdrv_99_debug.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_DEBUG_DRIVER
2020-10-28 10:37:59 +00:00
feature2 |= 0x80000000; // xdrv_99_debug.ino
2018-11-20 14:00:24 +00:00
#endif
2020-10-28 10:37:59 +00:00
}
2018-11-20 14:00:24 +00:00
2020-10-28 10:37:59 +00:00
static uint32_t feature3 = 0x00000000;
if (!feature3) { // Only fill this once
#ifdef USE_COUNTER
2020-10-28 10:37:59 +00:00
feature3 |= 0x00000001; // xsns_01_counter.ino
#endif
2020-08-03 17:21:34 +01:00
#if defined(USE_ADC_VCC) || defined(USE_ADC)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00000002; // xsns_02_analog.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_ENERGY_SENSOR
2020-10-28 10:37:59 +00:00
feature3 |= 0x00000004; // xdrv_03_energy.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_PZEM004T)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00000008; // xnrg_03_pzem004t.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_DS18B20
2020-10-28 10:37:59 +00:00
feature3 |= 0x00000010; // xsns_05_ds18b20.ino - no more support since 6.6.0.18
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_DS18x20_LEGACY
2020-10-28 10:37:59 +00:00
feature3 |= 0x00000020; // xsns_05_ds18x20_legacy.ino - no more support since 6.6.0.14
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_DS18x20
2020-10-28 10:37:59 +00:00
feature3 |= 0x00000040; // xsns_05_ds18x20.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_DHT
2020-10-28 10:37:59 +00:00
feature3 |= 0x00000080; // xsns_06_dht.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_SHT)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00000100; // xsns_07_sht1x.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_HTU)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00000200; // xsns_08_htu21.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_BMP)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00000400; // xsns_09_bmp.ino
2018-11-20 14:00:24 +00:00
#endif
#if defined(USE_I2C) && defined(USE_BMP) && defined(USE_BME68X)
feature3 |= 0x00000800; // xsns_09_bmp.ino - BME68x
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_BH1750)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00001000; // xsns_10_bh1750.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_VEML6070)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00002000; // xsns_11_veml6070.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_ADS1115_I2CDEV)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00004000; // xsns_12_ads1115_i2cdev.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_ADS1115)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00008000; // xsns_12_ads1115.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_INA219)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00010000; // xsns_13_ina219.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_SHT3X)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00020000; // xsns_14_sht3x.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_MHZ19
2020-10-28 10:37:59 +00:00
feature3 |= 0x00040000; // xsns_15_mhz19.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_TSL2561)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00080000; // xsns_16_tsl2561.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_SENSEAIR
2020-10-28 10:37:59 +00:00
feature3 |= 0x00100000; // xsns_17_senseair.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_PMS5003
2020-10-28 10:37:59 +00:00
feature3 |= 0x00200000; // xsns_18_pms5003.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_MGS)
2020-10-28 10:37:59 +00:00
feature3 |= 0x00400000; // xsns_19_mgs.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_NOVA_SDS
2020-10-28 10:37:59 +00:00
feature3 |= 0x00800000; // xsns_20_novasds.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_SGP30)
2020-10-28 10:37:59 +00:00
feature3 |= 0x01000000; // xsns_21_sgp30.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_SR04
2020-10-28 10:37:59 +00:00
feature3 |= 0x02000000; // xsns_22_sr04.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_SDM120)
2020-10-28 10:37:59 +00:00
feature3 |= 0x04000000; // xnrg_08_sdm120.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_SI1145)
2020-10-28 10:37:59 +00:00
feature3 |= 0x08000000; // xsns_24_si1145.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_SDM630)
2020-10-28 10:37:59 +00:00
feature3 |= 0x10000000; // xnrg_10_sdm630.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_LM75AD)
2020-10-28 10:37:59 +00:00
feature3 |= 0x20000000; // xsns_26_lm75ad.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_APDS9960)
2020-10-28 10:37:59 +00:00
feature3 |= 0x40000000; // xsns_27_apds9960.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_TM1638
feature3 |= 0x80000000; // xdrv_66_tm1638.ino
2018-11-20 14:00:24 +00:00
#endif
2020-10-28 10:37:59 +00:00
}
2018-11-20 14:00:24 +00:00
2020-10-28 10:37:59 +00:00
static uint32_t feature4 = 0x00000000;
if (!feature4) { // Only fill this once
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_MCP230xx)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00000001; // xsns_29_mcp230xx.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_MPR121)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00000002; // xsns_30_mpr121.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_CCS811)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00000004; // xsns_31_ccs811.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_MPU6050)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00000008; // xsns_32_mpu6050.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_MCP230xx) && defined(USE_MCP230xx_OUTPUT)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00000010; // xsns_29_mcp230xx.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_MCP230xx) && defined(USE_MCP230xx_DISPLAYOUTPUT)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00000020; // xsns_29_mcp230xx.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_HLW8012)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00000040; // xnrg_01_hlw8012.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_CSE7766)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00000080; // xnrg_02_cse7766.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_MCP39F501)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00000100; // xnrg_04_mcp39f501.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_PZEM_AC)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00000200; // xnrg_05_pzem_ac.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_DS3231)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00000400; // xsns_33_ds3231.ino
2018-11-20 14:00:24 +00:00
#endif
#ifdef USE_HX711
2020-10-28 10:37:59 +00:00
feature4 |= 0x00000800; // xsns_34_hx711.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_PZEM_DC)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00001000; // xnrg_06_pzem_dc.ino
2018-11-20 14:00:24 +00:00
#endif
2021-07-11 15:44:56 +01:00
#if defined(USE_TX20_WIND_SENSOR) || defined(USE_TX23_WIND_SENSOR) || defined(USE_WS2300_WIND_SENSOR)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00002000; // xsns_35_tx20.ino
2018-11-20 14:00:24 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_MGC3130)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00004000; // xsns_36_mgc3130.ino
#endif
#ifdef USE_RF_SENSOR
2020-10-28 10:37:59 +00:00
feature4 |= 0x00008000; // xsns_37_rfsensor.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_RF_SENSOR) && defined(USE_THEO_V2)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00010000; // xsns_37_rfsensor.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_RF_SENSOR) && defined(USE_ALECTO_V2)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00020000; // xsns_37_rfsensor.ino
#endif
#ifdef USE_AZ7798
2020-10-28 10:37:59 +00:00
feature4 |= 0x00040000; // xsns_38_az7798.ino
#endif
#ifdef USE_MAX31855
2020-10-28 10:37:59 +00:00
feature4 |= 0x00080000; // xsns_39_max31855.ino
#endif
2019-02-08 13:25:46 +00:00
#ifdef USE_PN532_HSU
2020-10-28 10:37:59 +00:00
feature4 |= 0x00100000; // xsns_40_pn532.ino
2019-01-03 09:09:49 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_MAX44009)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00200000; // xsns_41_max44009.ino
2019-03-13 17:06:20 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_SCD30)
2020-10-28 10:37:59 +00:00
feature4 |= 0x00400000; // xsns_42_scd30.ino
2019-03-28 10:25:38 +00:00
#endif
#ifdef USE_HRE
2020-10-28 10:37:59 +00:00
feature4 |= 0x00800000; // xsns_43_hre.ino
2019-03-13 17:06:20 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_ADE7953)
2020-10-28 10:37:59 +00:00
feature4 |= 0x01000000; // xnrg_07_ade7953.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_SPS30)
2020-10-28 10:37:59 +00:00
feature4 |= 0x02000000; // xsns_44_sps30.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_VL53L0X)
2020-10-28 10:37:59 +00:00
feature4 |= 0x04000000; // xsns_45_vl53l0x.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_MLX90614)
2020-10-28 10:37:59 +00:00
feature4 |= 0x08000000; // xsns_46_MLX90614.ino
#endif
#ifdef USE_MAX31865
2020-10-28 10:37:59 +00:00
feature4 |= 0x10000000; // xsns_47-max31865.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_CHIRP)
2020-10-28 10:37:59 +00:00
feature4 |= 0x20000000; // xsns_48_chirp.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_SOLAX_X1)
2020-10-28 10:37:59 +00:00
feature4 |= 0x40000000; // xnrg_12_solaxX1.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_PAJ7620)
2020-10-28 10:37:59 +00:00
feature4 |= 0x80000000; // xsns_50_paj7620.ino
#endif
2020-10-28 10:37:59 +00:00
}
2018-11-20 14:00:24 +00:00
2020-10-28 10:37:59 +00:00
static uint32_t feature5 = 0x00000000;
if (!feature5) { // Only fill this once
2019-08-12 16:28:09 +01:00
#ifdef USE_BUZZER
2020-10-28 10:37:59 +00:00
feature5 |= 0x00000001; // xdrv_24_buzzer.ino
2019-08-12 16:28:09 +01:00
#endif
#ifdef USE_RDM6300
2020-10-28 10:37:59 +00:00
feature5 |= 0x00000002; // xsns_51_rdm6300.ino
#endif
2019-08-25 11:29:48 +01:00
#ifdef USE_IBEACON
2020-10-28 10:37:59 +00:00
feature5 |= 0x00000004; // xsns_52_ibeacon.ino
2019-08-25 11:29:48 +01:00
#endif
#ifdef USE_SML_M
2020-10-28 10:37:59 +00:00
feature5 |= 0x00000008; // xsns_53_sml.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_INA226)
2020-10-28 10:37:59 +00:00
feature5 |= 0x00000010; // xsns_54_ina226.ino
#endif
2019-10-15 19:30:04 +01:00
#ifdef USE_A4988_STEPPER
2020-10-28 10:37:59 +00:00
feature5 |= 0x00000020; // xdrv_25_A4988.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_DDS2382)
2020-10-28 10:37:59 +00:00
feature5 |= 0x00000040; // xnrg_09_dds2382.ino
#endif
2020-07-05 11:15:26 +01:00
#if defined(USE_LIGHT) && defined(USE_SM2135)
2020-10-28 10:37:59 +00:00
feature5 |= 0x00000080; // xdrv_026_sm2135.ino
#endif
#ifdef USE_SHUTTER
2020-10-28 10:37:59 +00:00
feature5 |= 0x00000100; // xdrv_027_shutter.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_PCF8574)
2020-10-28 10:37:59 +00:00
feature5 |= 0x00000200; // xdrv_028_pcf8574.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_DDSU666)
2020-10-28 10:37:59 +00:00
feature5 |= 0x00000400; // xnrg_11_ddsu666.ino
2019-10-03 09:06:51 +01:00
#endif
2019-10-14 16:01:24 +01:00
#ifdef USE_DEEPSLEEP
2020-10-28 10:37:59 +00:00
feature5 |= 0x00000800; // xdrv_029_deepsleep.ino
2019-10-14 16:01:24 +01:00
#endif
#ifdef USE_SONOFF_SC
2020-10-28 10:37:59 +00:00
feature5 |= 0x00001000; // xsns_04_snfsc.ino
#endif
#ifdef USE_SONOFF_RF
2020-10-28 10:37:59 +00:00
feature5 |= 0x00002000; // xdrv_06_snfbridge.ino
2019-10-15 10:40:21 +01:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_LIGHT) && defined(USE_SONOFF_L1)
2020-10-28 10:37:59 +00:00
feature5 |= 0x00004000; // xlgt_05_sonoff_l1.ino
#endif
2020-07-05 11:15:26 +01:00
#if defined(USE_LIGHT) && defined(USE_EXS_DIMMER)
2020-10-28 10:37:59 +00:00
feature5 |= 0x00008000; // xdrv_30_exs_dimmer.ino
2019-10-17 11:20:26 +01:00
#endif
#ifdef USE_TASMOTA_CLIENT
2020-10-28 10:37:59 +00:00
feature5 |= 0x00010000; // xdrv_31_tasmota_client.ino
2019-10-21 11:36:08 +01:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_HIH6)
2020-10-28 10:37:59 +00:00
feature5 |= 0x00020000; // xsns_55_hih_series.ino
#endif
#ifdef USE_HPMA
2020-10-28 10:37:59 +00:00
feature5 |= 0x00040000; // xsns_56_hpma.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_TSL2591)
2020-10-28 10:37:59 +00:00
feature5 |= 0x00080000; // xsns_57_tsl2591.ino
2019-11-13 09:17:52 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_DHT12)
2020-10-28 10:37:59 +00:00
feature5 |= 0x00100000; // xsns_58_dht12.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_DS1624)
2020-10-28 10:37:59 +00:00
feature5 |= 0x00200000; // xsns_59_ds1624.ino
2019-12-28 09:42:00 +00:00
#endif
#ifdef USE_GPS
2020-10-28 10:37:59 +00:00
feature5 |= 0x00400000; // xsns_60_GPS.ino
#endif
2020-07-05 11:15:26 +01:00
#if defined(USE_I2C) && defined(USE_HOTPLUG)
2020-10-28 10:37:59 +00:00
feature5 |= 0x00800000; // xdrv_32_hotplug.ino
#endif
#ifdef USE_NRF24
2020-10-28 10:37:59 +00:00
feature5 |= 0x01000000; // xsns_33_nrf24l01.ino
#endif
#ifdef USE_MIBLE
2020-10-28 10:37:59 +00:00
feature5 |= 0x02000000; // xsns_61_MI_BLE.ino
#endif
#ifdef USE_HM10
2020-10-28 10:37:59 +00:00
feature5 |= 0x04000000; // xsns_62_MI_HM10.ino
2019-12-28 20:12:46 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_LE01MR)
2020-10-28 10:37:59 +00:00
feature5 |= 0x08000000; // xnrg_13_fif_le01mr.ino
2020-01-05 00:06:30 +00:00
#endif
2021-09-20 14:30:12 +01:00
#if defined(USE_I2C) && (defined(USE_AHT1x) || defined(USE_AHT2x))
2020-10-28 10:37:59 +00:00
feature5 |= 0x10000000; // xsns_63_aht1x.ino
2020-02-18 08:11:31 +00:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_WEMOS_MOTOR_V1)
2020-10-28 10:37:59 +00:00
feature5 |= 0x20000000; // xdrv_34_wemos_motor_v1.ino
#endif
#ifdef USE_DEVICE_GROUPS
2020-10-28 10:37:59 +00:00
feature5 |= 0x40000000; // support_device_groups.ino
#endif
#ifdef USE_PWM_DIMMER
2020-10-28 10:37:59 +00:00
feature5 |= 0x80000000; // xdrv_35_pwm_dimmer
#endif
2020-10-28 10:37:59 +00:00
}
2020-10-28 10:37:59 +00:00
static uint32_t feature6 = 0x00000000;
if (!feature6) { // Only fill this once
2020-02-28 15:35:19 +00:00
#ifdef USE_KEELOQ
2020-10-28 10:37:59 +00:00
feature6 |= 0x00000001; // xdrv_36_keeloq.ino
#endif
#ifdef USE_HRXL
2020-10-28 10:37:59 +00:00
feature6 |= 0x00000002; // xsns_64_hrxl.ino
2020-02-28 15:35:19 +00:00
#endif
#ifdef USE_SONOFF_D1
2020-10-28 10:37:59 +00:00
feature6 |= 0x00000004; // xdrv_37_sonoff_d1.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_HDC1080)
2020-10-28 10:37:59 +00:00
feature6 |= 0x00000008; // xsns_65_hdc1080.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_IAQ)
2020-10-28 10:37:59 +00:00
feature6 |= 0x00000010; // xsns_66_iAQ.ino
2020-04-09 13:22:44 +01:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_DISPLAY) && defined(USE_DISPLAY_SEVENSEG)
2020-10-28 10:37:59 +00:00
feature6 |= 0x00000020; // xdsp_11_sevenseg.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_AS3935)
2020-10-28 10:37:59 +00:00
feature6 |= 0x00000040; // xsns_67_as3935.ino
2020-04-11 00:48:37 +01:00
#endif
#ifdef USE_PING
2020-10-28 10:37:59 +00:00
feature6 |= 0x00000080; // xdrv_38_ping.ino
#endif
2020-04-28 17:09:10 +01:00
#ifdef USE_WINDMETER
2020-10-28 10:37:59 +00:00
feature6 |= 0x00000100; // xsns_68_windmeter.ino
2020-05-07 15:03:27 +01:00
#endif
#ifdef USE_OPENTHERM
2020-10-28 10:37:59 +00:00
feature6 |= 0x00000200; // xsns_69_opentherm.ino
2020-04-28 17:09:10 +01:00
#endif
#ifdef USE_THERMOSTAT
2020-10-28 10:37:59 +00:00
feature6 |= 0x00000400; // xdrv_39_heating.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_VEML6075)
2020-10-28 10:37:59 +00:00
feature6 |= 0x00000800; // xsns_70_veml6075.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_VEML7700)
2020-10-28 10:37:59 +00:00
feature6 |= 0x00001000; // xsns_71_veml7700.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_MCP9808)
2020-10-28 10:37:59 +00:00
feature6 |= 0x00002000; // xsns_72_mcp9808.ino
#endif
#if defined(USE_ENERGY_SENSOR) && (defined(USE_BL0940) || defined(USE_BL09XX))
2021-09-21 17:54:43 +01:00
feature6 |= 0x00004000; // xnrg_14_bl09xx.ino
#endif
#ifdef USE_TELEGRAM
2020-10-28 10:37:59 +00:00
feature6 |= 0x00008000; // xdrv_40_telegram.ino
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_I2C) && defined(USE_HP303B)
2020-10-28 10:37:59 +00:00
feature6 |= 0x00010000; // xsns_73_hp303b.ino
#endif
#ifdef USE_TCP_BRIDGE
2020-10-28 10:37:59 +00:00
feature6 |= 0x00020000; // xdrv_41_tcp_bridge.ino
2020-06-06 21:35:41 +01:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_TELEINFO)
2020-10-28 10:37:59 +00:00
feature6 |= 0x00040000; // xnrg_15_teleinfo.ino
#endif
#ifdef USE_LMT01
2020-10-28 10:37:59 +00:00
feature6 |= 0x00080000; // xsns_74_lmt01.ino
#endif
2020-06-27 10:52:44 +01:00
#ifdef USE_PROMETHEUS
2020-10-28 10:37:59 +00:00
feature6 |= 0x00100000; // xsns_75_prometheus.ino
2020-06-27 10:52:44 +01:00
#endif
#if defined(USE_ENERGY_SENSOR) && defined(USE_IEM3000)
2020-10-28 10:37:59 +00:00
feature6 |= 0x00200000; // xnrg_16_iem3000.ino
#endif
#ifdef USE_DYP
2020-10-28 10:37:59 +00:00
feature6 |= 0x00400000; // xsns_76_dyp.ino
#endif
2020-09-06 17:41:39 +01:00
#ifdef USE_I2S_AUDIO
2020-10-28 10:37:59 +00:00
feature6 |= 0x00800000; // xdrv_42_i2s_audio.ino
2020-09-06 17:41:39 +01:00
#endif
#ifdef USE_MLX90640
2020-10-28 10:37:59 +00:00
feature6 |= 0x01000000; // xdrv_43_mlx90640.ino
#endif
Squashed commit of the following: commit 0917b430c3b76e26fad584ddacb1fc389e1b4c36 Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Tue Sep 1 17:13:53 2020 +0200 Domoticz commit e878ae5ac4e2b72443598d699f76f1efbe90b5c2 Merge: 77957d70 46789ef4 Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Tue Sep 1 13:24:37 2020 +0200 Merge pull request #118 from device111/vl53l1x VL53L1X correction commit 46789ef40b6b8a3fbf730ed69712e0790b876075 Author: device111 <48546979+device111@users.noreply.github.com> Date: Sun Aug 30 11:41:32 2020 +0200 Update support_features.ino commit 8f8720d37e5d81d6c483620a83936b2f5ffd9f43 Author: device111 <48546979+device111@users.noreply.github.com> Date: Sun Aug 30 11:36:24 2020 +0200 VL53L1X correction sorry, but i have killed all of my repos..:-( commit 77957d70435e99bb42b64b39acb7b7a176ecac79 Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Fri Aug 28 13:54:25 2020 +0200 use registry commit d85954db359fb789c685fbf1ceb6d80fadc5132c Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Thu Aug 27 14:43:20 2020 +0200 No DOMOTICZ commit e6d763f10b0d34420f908382442af21581358a84 Merge: 788e4681 6c5fdb4d Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Thu Aug 27 14:42:29 2020 +0200 Merge remote-tracking branch 'Tasmota/development' into vl53l1x commit 788e468145520f3832255d92bf50d0ee70c18e0c Merge: 51491df1 33f3f9ef Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Wed Aug 26 14:50:28 2020 +0200 Merge remote-tracking branch 'Tasmota/development' into vl53l1x commit 51491df1419fa50d1327565b61a40ca5f81a99d6 Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Wed Aug 26 14:49:56 2020 +0200 Real 0x52 is 0x29 in Arduino 7 bit commit 00dad36b086b03a93dd02ffa28e5d097ba479f10 Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Mon Aug 24 11:41:11 2020 +0200 1.01 commit 50e88038c3de477f6b657b3d3caa5e53992ca838 Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sun Aug 23 20:04:47 2020 +0200 correct support_feature commit e5baabc41c1c016066a0ba9d3a8d8006cadd32ec Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sun Aug 23 19:53:15 2020 +0200 VL53L1X
2020-09-01 16:24:36 +01:00
#if defined(USE_I2C) && defined(USE_VL53L1X)
2020-10-28 10:37:59 +00:00
feature6 |= 0x02000000; // xsns_77_vl53l1x.ino
Squashed commit of the following: commit 0917b430c3b76e26fad584ddacb1fc389e1b4c36 Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Tue Sep 1 17:13:53 2020 +0200 Domoticz commit e878ae5ac4e2b72443598d699f76f1efbe90b5c2 Merge: 77957d70 46789ef4 Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Tue Sep 1 13:24:37 2020 +0200 Merge pull request #118 from device111/vl53l1x VL53L1X correction commit 46789ef40b6b8a3fbf730ed69712e0790b876075 Author: device111 <48546979+device111@users.noreply.github.com> Date: Sun Aug 30 11:41:32 2020 +0200 Update support_features.ino commit 8f8720d37e5d81d6c483620a83936b2f5ffd9f43 Author: device111 <48546979+device111@users.noreply.github.com> Date: Sun Aug 30 11:36:24 2020 +0200 VL53L1X correction sorry, but i have killed all of my repos..:-( commit 77957d70435e99bb42b64b39acb7b7a176ecac79 Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Fri Aug 28 13:54:25 2020 +0200 use registry commit d85954db359fb789c685fbf1ceb6d80fadc5132c Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Thu Aug 27 14:43:20 2020 +0200 No DOMOTICZ commit e6d763f10b0d34420f908382442af21581358a84 Merge: 788e4681 6c5fdb4d Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Thu Aug 27 14:42:29 2020 +0200 Merge remote-tracking branch 'Tasmota/development' into vl53l1x commit 788e468145520f3832255d92bf50d0ee70c18e0c Merge: 51491df1 33f3f9ef Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Wed Aug 26 14:50:28 2020 +0200 Merge remote-tracking branch 'Tasmota/development' into vl53l1x commit 51491df1419fa50d1327565b61a40ca5f81a99d6 Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Wed Aug 26 14:49:56 2020 +0200 Real 0x52 is 0x29 in Arduino 7 bit commit 00dad36b086b03a93dd02ffa28e5d097ba479f10 Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Mon Aug 24 11:41:11 2020 +0200 1.01 commit 50e88038c3de477f6b657b3d3caa5e53992ca838 Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sun Aug 23 20:04:47 2020 +0200 correct support_feature commit e5baabc41c1c016066a0ba9d3a8d8006cadd32ec Author: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Sun Aug 23 19:53:15 2020 +0200 VL53L1X
2020-09-01 16:24:36 +01:00
#endif
#ifdef USE_MIEL_HVAC
2020-10-28 10:37:59 +00:00
feature6 |= 0x04000000; // xdrv_44_miel_hvac.ino
#endif
#if defined(USE_ENERGY_SENSOR) && defined(USE_WE517)
2020-10-28 10:37:59 +00:00
feature6 |= 0x08000000; // xnrg_17_ornowe517.ino
#endif
#if defined(USE_I2C) && defined(USE_EZOPH)
2020-10-28 10:37:59 +00:00
feature6 |= 0x10000000; // xsns_78_ezoph.ino
#endif
2020-09-06 17:41:39 +01:00
#if defined(ESP32) && defined(USE_TTGO_WATCH)
2020-10-28 10:37:59 +00:00
feature6 |= 0x20000000; // xdrv_83_esp32watch.ino
2020-09-06 17:41:39 +01:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(ESP32) && defined(USE_ETHERNET)
2020-10-28 10:37:59 +00:00
feature6 |= 0x40000000; // xdrv_82_ethernet.ino
2020-06-15 17:36:26 +01:00
#endif
2020-07-04 17:34:23 +01:00
#if defined(ESP32) && defined(USE_WEBCAM)
2020-10-28 10:37:59 +00:00
feature6 |= 0x80000000; // xdrv_81_webcam.ino
#endif
2020-10-28 10:37:59 +00:00
}
2020-10-28 10:37:59 +00:00
static uint32_t feature7 = 0x00000000;
if (!feature7) { // Only fill this once
#if defined(USE_I2C) && defined(USE_EZOORP)
2020-10-28 10:37:59 +00:00
feature7 |= 0x00000001; // xsns_78_ezoorp.ino
#endif
#if defined(USE_I2C) && defined(USE_EZORTD)
2020-10-28 10:37:59 +00:00
feature7 |= 0x00000002; // xsns_78_ezortd.ino
2020-10-23 15:56:03 +01:00
#endif
#if defined(USE_I2C) && defined(USE_EZOHUM)
2020-10-28 10:37:59 +00:00
feature7 |= 0x00000004; // xsns_78_ezohum.ino
#endif
#if defined(USE_I2C) && defined(USE_EZOEC)
2020-10-28 10:37:59 +00:00
feature7 |= 0x00000008; // xsns_78_ezoec.ino
#endif
#if defined(USE_I2C) && defined(USE_EZOCO2)
feature7 |= 0x00000010; // xsns_78_ezoco2.ino
#endif
2020-10-28 10:37:59 +00:00
#if defined(USE_I2C) && defined(USE_EZOO2)
feature7 |= 0x00000020; // xsns_78_ezoo2.ino
#endif
#if defined(USE_I2C) && defined(USE_EZOPRS)
feature7 |= 0x00000040; // xsns_78_ezoprs.ino
2020-10-28 10:37:59 +00:00
#endif
#if defined(USE_I2C) && defined(USE_EZOFLO)
feature7 |= 0x00000080; // xsns_78_ezoflo.ino
#endif
2020-11-02 10:58:23 +00:00
#if defined(USE_I2C) && defined(USE_EZODO)
feature7 |= 0x00000100; // xsns_78_ezodo.ino
2020-11-02 10:58:23 +00:00
#endif
#if defined(USE_I2C) && defined(USE_EZORGB)
feature7 |= 0x00000200; // xsns_78_ezorgb.ino
#endif
#if defined(USE_I2C) && defined(USE_EZOPMP)
feature7 |= 0x00000400; // xsns_78_ezopmp.ino
#endif
#ifdef USE_AS608
feature7 |= 0x00000800; // xsns_79_as608.ino
#endif
#if defined(USE_SHELLY_DIMMER)
feature7 |= 0x00001000; // xdrv_45_shelly_dimmer.ino
#endif
2020-11-30 16:54:40 +00:00
#ifdef USE_RC522
feature7 |= 0x00002000; // xsns_80_mfrc522.ino
#endif
#ifdef USE_FTC532
feature7 |= 0x00004000; // xdrv_47_ftc532.ino
#endif
#if defined(USE_SPI) && defined(USE_DISPLAY) && defined(USE_DISPLAY_EPAPER_42)
feature7 |= 0x00008000; // xdsp_06_epaper_42.ino
#endif
// #if defined(USE_SPI) && defined(USE_DISPLAY) && defined(USE_DISPLAY_ILI9488)
// feature7 |= 0x00010000; // xdsp_08_ILI9488.ino
// #endif
#if defined(USE_SPI) && defined(USE_DISPLAY) && defined(USE_DISPLAY_SSD1351)
feature7 |= 0x00020000; // xdsp_09_SSD1351.ino
#endif
#if defined(USE_SPI) && defined(USE_DISPLAY) && defined(USE_DISPLAY_RA8876)
feature7 |= 0x00040000; // xdsp_10_RA8876.ino
#endif
#if defined(USE_SPI) && defined(USE_DISPLAY) && defined(USE_DISPLAY_ST7789)
feature7 |= 0x00080000; // xdsp_12_ST7789.ino
#endif
2021-01-01 15:05:06 +00:00
#if defined(USE_SPI) && defined(USE_DISPLAY) && defined(USE_DISPLAY_SSD1331)
feature7 |= 0x00100000; // xdsp_14_SSD1331.ino
#endif
2021-01-06 13:41:23 +00:00
#ifdef USE_UFILESYS
feature7 |= 0x00200000; // xdrv_50_filesystem.ino
#endif
#ifdef USE_TIMEPROP
feature7 |= 0x00400000; // xdrv_48_timeprop.ino
#endif
#ifdef USE_PID
feature7 |= 0x00800000; // xdrv_49_pid.ino
2021-01-06 13:41:23 +00:00
#endif
2021-01-07 15:39:41 +00:00
#ifdef USE_BS814A2
feature7 |= 0x01000000; // xdrv_51_bs814a2.ino
#endif
#if defined(USE_I2C) && defined(USE_SEESAW_SOIL)
2021-01-11 13:13:20 +00:00
feature7 |= 0x02000000; // xsns_81_seesaw_soil.ino
#endif
#ifdef USE_WIEGAND
feature7 |= 0x04000000; // xsns_82_wiegand.ino
#endif
2021-01-20 14:06:27 +00:00
#ifdef USE_NEOPOOL
feature7 |= 0x08000000; // xsns_83_neopool.ino
#endif
#if defined(USE_I2C) && defined(USE_TOF10120)
feature7 |= 0x10000000; // xsns_84_tof10120
#endif
2021-02-09 15:13:40 +00:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_SDM72)
feature7 |= 0x20000000; // xnrg_18_sdm72.ino
#endif
#if defined(USE_DISPLAY) && defined(USE_DISPLAY_TM1637)
feature7 |= 0x40000000;
#endif
#ifdef USE_PROJECTOR_CTRL
feature7 |= 0x80000000; // xdrv_53_projector_ctrl.ino
#endif
2020-10-28 10:37:59 +00:00
}
2021-01-22 16:15:58 +00:00
static uint32_t feature8 = 0x00000000;
if (!feature8) { // Only fill this once
#if defined(USE_I2C) && defined(USE_MPU_ACCEL)
2021-03-23 11:57:56 +00:00
feature8 |= 0x00000001; // xsns_85_mpu6886.ino
#endif
#ifdef USE_TFMINIPLUS
feature8 |= 0x00000002; // xsns_86_tfminiplus.ino
#endif
#if defined(USE_ENERGY_SENSOR) && defined(USE_CSE7761)
feature8 |= 0x00000004; // xnrg_19_cse7761.ino
#endif
#ifdef USE_BERRY
feature8 |= 0x00000008; // xdrv_52_9_berry.ino
#endif
#if defined(USE_I2C) && defined(USE_BM8563)
feature8 |= 0x00000010; // xdrv_56_BM8563_RTC.ino
#endif
2021-04-06 11:08:07 +01:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_ENERGY_DUMMY)
feature8 |= 0x00000020; // xnrg_30_dummy.ino
2021-04-06 11:08:07 +01:00
#endif
#if defined(USE_I2C) && defined(USE_AM2320)
feature8 |= 0x00000040; // xsns_88_am2320.ino
#endif
2021-07-13 10:40:13 +01:00
#if defined(USE_I2C) && defined(USE_T67XX)
feature8 |= 0x00000080; // xsns_89_t67xx.ino
2021-07-13 10:40:13 +01:00
#endif
#if defined(USE_SPI) && defined(USE_MCP2515)
feature8 |= 0x00000100; // xsns_87_mcp2515.ino
#endif
#ifdef USE_TASMESH
feature8 |= 0x00000200; // xdrv_57_9_tasmesh.ino
#endif
#ifdef USE_WIFI_RANGE_EXTENDER
feature8 |= 0x00000400; // xdrv_58_range_extender.ino
#endif
2021-08-12 21:43:53 +01:00
#ifdef USE_INFLUXDB
feature8 |= 0x00000800; // xdrv_59_influxdb.ino
2021-08-12 21:43:53 +01:00
#endif
#ifdef USE_HRG15
feature8 |= 0x00001000; // xsns_90_hrg15.ino
#endif
#ifdef USE_VINDRIKTNING
feature8 |= 0x00002000; // xsns_91_vindriktning.ino
#endif
#if defined(USE_I2C) && defined(USE_SCD40)
feature8 |= 0x00004000; // xsns_92_scd40.ino
#endif
#if defined(USE_I2C) && defined(USE_HM330X)
feature8 |= 0x00008000; // xsns_93_hm330x.ino
#endif
#if defined(USE_I2C) && defined(USE_HDC2010)
feature8 |= 0x00010000; // xsns_94_hdc2010.ino
#endif
#if defined(USE_LIGHT) && defined(USE_LSC_MCSL)
feature8 |= 0x00020000; // xlgt_07_lsc_mcsl.ino
#endif
2021-12-01 10:21:56 +00:00
#ifdef USE_SONOFF_SPM
feature8 |= 0x00040000; // xdrv_86_esp32_sonoff_spm.ino
2021-12-01 10:21:56 +00:00
#endif
2021-12-05 13:49:49 +00:00
#ifdef USE_SHIFT595
feature8 |= 0x00080000; // xdrv_60_shift595.ino
#endif
#ifdef USE_SDM230
feature8 |= 0x00100000; // xnrg_21_sdm230.ino
#endif
2022-01-26 12:03:21 +00:00
#ifdef USE_CM110x
2022-02-16 14:41:37 +00:00
feature8 |= 0x00200000; // xsns_95_cm110x.ino
#endif
#if defined(USE_ENERGY_SENSOR) && defined(USE_BL6523)
feature8 |= 0x00400000; // xnrg_22_bl6523.ino
#endif
2022-03-11 15:54:57 +00:00
#if defined(USE_ENERGY_SENSOR) && defined(USE_I2C) && defined(USE_ADE7880)
feature8 |= 0x00800000; // xnrg_23_ade7880.ino
#endif
#if defined(USE_I2C) && defined(USE_PCF85363)
2022-05-30 10:34:29 +01:00
feature8 |= 0x01000000; // xdrv_56_rtc_chips.ino
2022-03-11 15:54:57 +00:00
#endif
#if defined(USE_I2C) && defined(USE_DS3502)
feature8 |= 0x02000000; // xdrv_61_ds3502.ino
#endif
#ifdef USE_IMPROV
feature8 |= 0x04000000; // xdrv_62_improv.ino
#endif
2022-04-27 15:49:16 +01:00
#ifdef USE_FLOWRATEMETER
feature8 |= 0x08000000; // xsns_96_flowratemeter.ino
2022-04-27 07:20:30 +01:00
#endif
2022-05-30 10:34:29 +01:00
#if defined(USE_LIGHT) && defined(USE_BP5758D)
feature8 |= 0x10000000; // xlgt_08_bp5758d.ino
#endif
2022-05-31 13:56:09 +01:00
#if defined(USE_I2C) && defined(USE_HYT)
feature8 |= 0x20000000; // xsns_97_hyt.ino
#endif
#if defined(USE_LIGHT) && defined(USE_SM2335)
feature8 |= 0x40000000; // xlgt_09_sm2335.ino
#endif
#ifdef USE_DISPLAY_TM1621_SONOFF
feature8 |= 0x80000000; // xdrv_87_esp32_sonoff_tm1621.ino
#endif
2021-01-22 16:15:58 +00:00
}
static uint32_t feature9 = 0x00000000;
if (!feature9) { // Only fill this once
2022-08-25 20:51:51 +01:00
#if defined(USE_I2C) && defined(USE_SGP40)
feature9 |= 0x00000001; // xsns_98_sgp40.ino
#endif
#if defined(USE_I2C) && defined(USE_LUXV30B)
feature9 |= 0x00000002; // xsns_99_luxv30b.ino
#endif
#if defined(USE_SPI) && defined(USE_CANSNIFFER)
feature9 |= 0x00000004; // xsns_87_can_sniffer.ino
#endif
#if defined(USE_I2C) && defined(USE_QMC5883L)
feature9 |= 0x00000008; // xsns_33_qmc5882l.ino
#endif
#if defined(USE_ENERGY_SENSOR) && defined(USE_MODBUS_ENERGY)
feature9 |= 0x00000010; // xnrg_29_modbus.ino
#endif
2022-11-07 10:06:17 +00:00
#if defined(USE_SPI) && defined(USE_SHELLY_PRO)
feature9 |= 0x00000020; // xdrv_88_esp32_shelly_pro.ino
#endif
#ifdef USE_DALI
feature9 |= 0x00000040; // xdrv_89_esp32_dali.ino
#endif
#if defined(USE_LIGHT) && defined(USE_BP1658CJ)
feature9 |= 0x00000080; // xlgt_10_bp1658cj.ino
#endif
2022-11-10 12:54:05 +00:00
#ifdef USE_DINGTIAN_RELAY
feature9 |= 0x00000100; // xdrv_90_dingtian_relay.ino
#endif
#if defined(USE_I2C) && defined(USE_HMC5883L)
feature9 |= 0x00000200; // xsns_101_hmc5883l.ino
#endif
#ifdef USE_LD2410
feature9 |= 0x00000400; // xsns_102_ld2410.ino
#endif
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 10:52:26 +00:00
#ifdef USE_ME007
feature9 |= 0x00000800; // xsns_23_me007.ino
#endif
#if defined(USE_I2C) && defined(USE_DISPLAY) && defined(USE_DISPLAY_TM1650)
feature9 |= 0x00001000; // xdsp_20_tm1650.ino
#endif
#if defined(USE_I2C) && defined(USE_PCA9632)
2023-02-13 15:07:38 +00:00
feature9 |= 0x00002000; // xdrv_64_pca9632.ino
#endif
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 16:35:45 +00:00
#ifdef USE_TUYAMCUBR
feature9 |= 0x00004000; // xdrv_65_tuyamcubr.ino
#endif
2023-01-29 07:06:25 +00:00
#if defined(USE_I2C) && defined(USE_SEN5X)
feature9 |= 0x00008000; // xsns_103_sen5x.ino
#endif
#if defined(USE_ENERGY_SENSOR) && defined(USE_BIOPDU)
feature9 |= 0x00010000; // xnrg_24_biopdu.ino
#endif
#if (defined(USE_I2C) || defined(USE_SPI)) && defined(USE_MCP23XXX_DRV)
feature9 |= 0x00020000; // xdrv_67_mcp23xxx.ino
#endif
#if defined(USE_I2C) && defined(USE_PMSA003I)
feature9 |= 0x00040000; // xsns_104_pmsa003i.ino
#endif
// feature9 |= 0x00080000;
// feature9 |= 0x00100000;
// feature9 |= 0x00200000;
// feature9 |= 0x00400000;
// feature9 |= 0x00800000;
// feature9 |= 0x01000000;
// feature9 |= 0x02000000;
// feature9 |= 0x04000000;
// feature9 |= 0x08000000;
// feature9 |= 0x10000000;
// feature9 |= 0x20000000;
// feature9 |= 0x40000000;
// feature9 |= 0x80000000;
}
2020-10-28 10:37:59 +00:00
/*********************************************************************************************/
ResponseAppend_P(PSTR(",\"" D_JSON_FEATURES "\":[\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\"]"),
LANGUAGE_LCID, feature1, feature2, feature3, feature4, feature5, feature6, feature7, feature8, feature9);
2020-10-28 10:37:59 +00:00
}