2017-10-18 17:22:34 +01:00
/*
2019-10-27 11:04:08 +00:00
tasmota_post . h - Post header file for Tasmota
2017-10-18 17:22:34 +01:00
2019-12-31 13:23:34 +00:00
Copyright ( C ) 2020 Theo Arends
2017-10-18 17:22:34 +01: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/>.
*/
2019-10-27 11:04:08 +00:00
# ifndef _TASMOTA_POST_H_
# define _TASMOTA_POST_H_
2017-10-18 17:22:34 +01:00
2018-04-23 10:37:46 +01:00
/*********************************************************************************************\
2019-12-21 16:09:24 +00:00
* Function prototypes
2018-04-23 10:37:46 +01:00
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2019-10-23 10:33:35 +01:00
// Needed for core 2.3.0 compilation (#6721)
2017-10-18 17:22:34 +01:00
# ifdef __cplusplus
extern " C " {
# endif
# include "user_interface.h"
# ifdef __cplusplus
}
# endif
2018-04-18 16:28:45 +01:00
//#ifdef USE_KNX // Enabling this will fail compilation. It has no impact if not used. (20180417)
2018-04-17 14:34:18 +01:00
# include <esp-knx-ip.h>
void KNX_CB_Action ( message_t const & msg , void * arg ) ;
2018-04-18 16:28:45 +01:00
//#endif // USE_KNX
2018-04-17 14:34:18 +01:00
2019-08-13 18:53:12 +01:00
char * ToHex_P ( const unsigned char * in , size_t insz , char * out , size_t outsz , char inbetween = ' \0 ' ) ;
2019-12-21 16:09:24 +00:00
extern " C " void custom_crash_callback ( struct rst_info * rst_info , uint32_t stack , uint32_t stack_end ) ;
2019-08-10 16:34:59 +01:00
2018-04-23 10:37:46 +01:00
/*********************************************************************************************\
* Default global defines
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2019-07-08 13:16:33 +01:00
# ifndef ENERGY_OVERTEMP
2019-10-17 15:51:20 +01:00
# define ENERGY_OVERTEMP 90 // Overtemp in Celsius
2019-07-08 13:16:33 +01:00
# endif
2019-06-10 11:06:03 +01:00
# ifdef USE_EMULATION_HUE
# define USE_EMULATION
2019-06-06 14:20:20 +01:00
# endif
2019-06-10 11:06:03 +01:00
# ifdef USE_EMULATION_WEMO
# define USE_EMULATION
# endif
2020-02-21 15:09:21 +00:00
# ifdef USE_DEVICE_GROUPS
# define USE_EMULATION
# endif
2019-06-06 14:20:20 +01:00
2019-06-16 15:43:23 +01:00
# ifdef USE_MQTT_TLS
2019-10-17 15:51:20 +01:00
const uint16_t WEB_LOG_SIZE = 2000 ; // Max number of characters in weblog
2019-06-06 11:14:04 +01:00
# else
2019-10-17 15:51:20 +01:00
const uint16_t WEB_LOG_SIZE = 4000 ; // Max number of characters in weblog
2019-06-06 11:14:04 +01:00
# endif
2019-06-10 11:06:03 +01:00
# if defined(USE_MQTT_TLS) && defined(ARDUINO_ESP8266_RELEASE_2_3_0)
# error "TLS is no more supported on Core 2.3.0, use 2.4.2 or higher."
2019-05-20 14:09:42 +01:00
# endif
2018-05-01 11:42:17 +01:00
# ifndef MODULE
2019-10-17 15:51:20 +01:00
# define MODULE SONOFF_BASIC // [Module] Select default model
2018-05-01 11:42:17 +01:00
# endif
2018-04-23 10:37:46 +01:00
/*********************************************************************************************\
2019-10-27 11:44:37 +00:00
* [ tasmota - sensors . bin ]
2018-08-28 16:34:51 +01:00
* Provide an image with useful supported sensors enabled
2018-04-23 10:37:46 +01:00
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2019-02-08 13:55:45 +00:00
# ifdef FIRMWARE_SENSORS
2018-07-06 17:00:50 +01:00
2018-11-07 14:03:41 +00:00
# undef CODE_IMAGE
2019-10-22 15:34:25 +01:00
# define CODE_IMAGE 2
2020-01-22 21:49:28 +00:00
# undef CODE_IMAGE_STR
# define CODE_IMAGE_STR "sensors"
2018-11-07 14:03:41 +00:00
2019-10-17 15:51:20 +01:00
# undef USE_DISCOVERY // Disable mDNS (+8k code or +23.5k code with core 2_5_x, +0.3k mem)
2019-09-18 22:52:51 +01:00
2019-10-17 15:51:20 +01:00
// -- Optional modules ----------------------------
//#define ROTARY_V1 // Add support for MI Desk Lamp
# define USE_SONOFF_RF // Add support for Sonoff Rf Bridge (+3k2 code)
# define USE_RF_FLASH // Add support for flashing the EFM8BB1 chip on the Sonoff RF Bridge. C2CK must be connected to GPIO4, C2D to GPIO5 on the PCB (+2k7 code)
# define USE_SONOFF_SC // Add support for Sonoff Sc (+1k1 code)
# define USE_TUYA_MCU // Add support for Tuya Serial MCU
2019-07-14 21:08:19 +01:00
# ifndef TUYA_DIMMER_ID
2019-10-17 15:51:20 +01:00
# define TUYA_DIMMER_ID 0 // Default dimmer Id
# endif
//#define USE_ARMTRONIX_DIMMERS // Add support for Armtronix Dimmers (+1k4 code)
# define USE_PS_16_DZ // Add support for PS-16-DZ Dimmer (+2k code)
# define USE_SONOFF_IFAN // Add support for Sonoff iFan02 and iFan03 (+2k code)
# define USE_BUZZER // Add support for a buzzer (+0k6 code)
# define USE_ARILUX_RF // Add support for Arilux RF remote controller (+0k8 code, 252 iram (non 2.3.0))
//#define USE_SHUTTER // Add Shutter support for up to 4 shutter with different motortypes (+6k code)
2019-11-18 11:35:52 +00:00
# define USE_DEEPSLEEP // Add support for deepsleep (+1k code)
2019-12-30 13:23:37 +00:00
# define USE_EXS_DIMMER // Add support for EX-Store WiFi Dimmer
# define USE_HOTPLUG // Add support for sensor HotPlug
2019-10-17 15:51:20 +01:00
// -- Optional light modules ----------------------
# define USE_LIGHT // Add Dimmer/Light support
# define USE_WS2812 // WS2812 Led string using library NeoPixelBus (+5k code, +1k mem, 232 iram) - Disable by //
// #define USE_WS2812_DMA // DMA supports only GPIO03 (= Serial RXD) (+1k mem). When USE_WS2812_DMA is enabled expect Exceptions on Pow
# ifndef USE_WS2812_HARDWARE
# define USE_WS2812_HARDWARE NEO_HW_WS2812 // Hardware type (NEO_HW_WS2812, NEO_HW_WS2812X, NEO_HW_WS2813, NEO_HW_SK6812, NEO_HW_LC8812, NEO_HW_APA106)
# endif
# ifndef USE_WS2812_CTYPE
# define USE_WS2812_CTYPE NEO_GRB // Color type (NEO_RGB, NEO_GRB, NEO_BRG, NEO_RBG, NEO_RGBW, NEO_GRBW)
# endif
# define USE_MY92X1 // Add support for MY92X1 RGBCW led controller as used in Sonoff B1, Ailight and Lohas
# define USE_SM16716 // Add support for SM16716 RGB LED controller (+0k7 code)
# define USE_SM2135 // Add support for SM2135 RGBCW led control as used in Action LSC (+0k6 code)
# define USE_SONOFF_L1 // Add support for Sonoff L1 led control
# define USE_COUNTER // Enable counters
# undef USE_ADC_VCC // Add Analog input on selected devices
# define USE_DS18x20 // Add support for DS18x20 sensors with id sort, single scan and read retry (+1k3 code)
# define USE_I2C // I2C using library wire (+10k code, 0k2 mem, 124 iram)
# define USE_SHT // Add I2C emulating code for SHT1X sensor (+1k4 code)
# define USE_HTU // Add I2C code for HTU21/SI7013/SI7020/SI7021 sensor (+1k5 code)
# define USE_BMP // Add I2C code for BMP085/BMP180/BMP280/BME280 sensor (+4k code)
# define USE_BME680 // Add additional support for BME680 sensor using Bosch BME680 library (+4k code)
# define USE_BH1750 // Add I2C code for BH1750 sensor (+0k5 code)
# define USE_VEML6070 // Add I2C code for VEML6070 sensor (+0k5 code)
# define USE_ADS1115 // Add I2C code for ADS1115 16 bit A/D converter based on Adafruit ADS1x15 library (no library needed) (+0k7 code)
# define USE_INA219 // Add I2C code for INA219 Low voltage and current sensor (+1k code)
//#define USE_INA226 // Enable INA226 (I2C address 0x40, 0x41 0x44 or 0x45) Low voltage and current sensor (+2k3 code)
# define USE_SHT3X // Add I2C code for SHT3x sensor (+0k6 code)
# define USE_TSL2561 // Add I2C code for TSL2561 sensor using library Adafruit TSL2561 Arduino (+1k2 code)
2019-11-11 10:29:15 +00:00
//#define USE_TSL2591 // Add I2C code for TSL2591 sensor library Adafruit_TSL2591 (+1k6 code)
2019-10-17 15:51:20 +01:00
# define USE_MGS // Add I2C code for Xadow and Grove Mutichannel Gas sensor using library Multichannel_Gas_Sensor (+10k code)
# define USE_SGP30 // Add I2C code for SGP30 sensor (+1k1 code)
//#define USE_SI1145 // Add I2C code for SI1145/46/47 sensor (+1k code)
# define USE_LM75AD // Add I2C code for LM75AD sensor (+0k5 code)
2019-12-17 21:31:08 +00:00
# define USE_DHT12 // Add I2C code for DHT12 temperature and humidity sensor (+0k7 code)
2019-12-20 19:29:54 +00:00
# define USE_DS1624 // Add I2C code for DS1624, DS1621 sensor
2019-10-17 15:51:20 +01:00
//#define USE_APDS9960 // Add I2C code for APDS9960 Proximity Sensor. Disables SHT and VEML6070 (+4k7 code)
//#define USE_MCP230xx // Enable MCP23008/MCP23017 - Must define I2C Address in #define USE_MCP230xx_ADDR below - range 0x20 - 0x27 (+4k7 code)
// #define USE_MCP230xx_ADDR 0x20 // Enable MCP23008/MCP23017 I2C Address to use (Must be within range 0x20 through 0x27 - set according to your wired setup)
// #define USE_MCP230xx_OUTPUT // Enable MCP23008/MCP23017 OUTPUT support through sensor29 commands (+1k5 code)
// #define USE_MCP230xx_DISPLAYOUTPUT // Enable MCP23008/MCP23017 to display state of OUTPUT pins on Web UI (+0k2 code)
//#define USE_PCA9685 // Enable PCA9685 I2C HW PWM Driver - Must define I2C Address in #define USE_PCA9685_ADDR below - range 0x40 - 0x47 (+1k4 code)
// #define USE_PCA9685_ADDR 0x40 // Enable PCA9685 I2C Address to use (Must be within range 0x40 through 0x47 - set according to your wired setup)
// #define USE_PCA9685_FREQ 50 // Define default PWM frequency in Hz to be used (must be within 24 to 1526) - If other value is used, it will rever to 50Hz
//#define USE_MPR121 // Enable MPR121 controller (I2C addresses 0x5A, 0x5B, 0x5C and 0x5D) in input mode for touch buttons (+1k3 code)
//#define USE_CCS811 // Add I2C code for CCS811 sensor (+2k2 code)
//#define USE_MPU6050 // Enable MPU6050 sensor (I2C address 0x68 AD0 low or 0x69 AD0 high) (+2k6 code)
//#define USE_DS3231 // Enable DS3231 external RTC in case no Wifi is avaliable. See docs in the source file (+1k2 code)
//#define USE_MGC3130 // Enable MGC3130 Electric Field Effect Sensor (I2C address 0x42) (+2k7 code, 0k3 mem)
//#define USE_MAX44009 // Enable MAX44009 Ambient Light sensor (I2C addresses 0x4A and 0x4B) (+0k8 code)
# define USE_SCD30 // Enable Sensiron SCd30 CO2 sensor (I2C address 0x61) (+3k3 code)
//#define USE_SPS30 // Enable Sensiron SPS30 particle sensor (I2C address 0x69) (+1.7 code)
# define USE_ADE7953 // Enable ADE7953 Energy monitor as used on Shelly 2.5 (I2C address 0x38) (+1k5)
//#define USE_VL53L0X // Enable VL53L0x time of flight sensor (I2C address 0x29) (+4k code)
//#define USE_MLX90614 // Enable MLX90614 ir temp sensor (I2C address 0x5a) (+0.6k code)
//#define USE_CHIRP // Enable CHIRP soil moisture sensor (variable I2C address, default 0x20)
//#define USE_PAJ7620 // Enable PAJ7620 gesture sensor (I2C address 0x73) (+2.5k code)
2019-11-08 16:48:19 +00:00
//#define USE_PCF8574 // Enable PCF8574 I/O Expander (I2C addresses 0x20 - 0x26 and 0x39 - 0x3F) (+1k9 code)
# define USE_HIH6 // Enable Honywell HIH Humidity and Temperature sensor (I2C address 0x27) (+0k6)
2020-02-20 12:38:03 +00:00
//#define USE_AHT1x // Enable AHT10/15 humidity and temperature sensor (I2C address 0x38) (+0k8 code)
2020-02-22 11:18:20 +00:00
# define USE_WEMOS_MOTOR_V1 // Enable Wemos motor driver V1 (I2C addresses 0x2D - 0x30) (+0k7 code)
# define WEMOS_MOTOR_V1_ADDR 0x30 // Default I2C address 0x30
# define WEMOS_MOTOR_V1_FREQ 1000 // Default frequency
2019-10-17 15:51:20 +01:00
# define USE_MHZ19 // Add support for MH-Z19 CO2 sensor (+2k code)
# define USE_SENSEAIR // Add support for SenseAir K30, K70 and S8 CO2 sensor (+2k3 code)
2018-02-10 14:13:27 +00:00
# ifndef CO2_LOW
2019-10-17 15:51:20 +01:00
# define CO2_LOW 800 // Below this CO2 value show green light (needs PWM or WS2812 RG(B) led and enable with SetOption18 1)
2018-02-10 14:13:27 +00:00
# endif
# ifndef CO2_HIGH
2019-10-17 15:51:20 +01:00
# define CO2_HIGH 1200 // Above this CO2 value show red light (needs PWM or WS2812 RG(B) led and enable with SetOption18 1)
2018-02-10 14:13:27 +00:00
# endif
2019-10-17 15:51:20 +01:00
# define USE_PMS5003 // Add support for PMS5003 and PMS7003 particle concentration sensor (+1k3 code)
2019-10-16 11:10:48 +01:00
//#define PMS_MODEL_PMS3003 // Enable support of PMS3003 instead of PMS5003/PMS7003 (needs the USE_PMS5003 above)
2019-10-17 15:51:20 +01:00
# define USE_NOVA_SDS // Add support for SDS011 and SDS021 particle concentration sensor (+0k7 code)
2019-11-05 18:39:45 +00:00
# define USE_HPMA // Add support for Honeywell HPMA115S0 particle concentration sensor
2019-10-17 15:51:20 +01:00
# define USE_SERIAL_BRIDGE // Add support for software Serial Bridge (+0k8 code)
# define USE_MP3_PLAYER // Use of the DFPlayer Mini MP3 Player RB-DFR-562 commands: play, volume and stop
# define MP3_VOLUME 10 // Set the startup volume on init, the range can be 0..30(max)
//#define USE_AZ7798 // Add support for AZ-Instrument 7798 CO2 datalogger
# define USE_PN532_HSU // Add support for PN532 using HSU (Serial) interface (+1k8 code, 140 bytes mem)
# define USE_RDM6300 // Add support for RDM6300 125kHz RFID Reader (+0k8)
# define USE_IBEACON // Add support for bluetooth LE passive scan of ibeacon devices (uses HM17 module)
2019-12-23 14:53:43 +00:00
//#define USE_GPS // Add support for GPS and NTP Server for becoming Stratus 1 Time Source (+ 3.1kb flash, +132 bytes RAM)
2020-02-07 09:50:06 +00:00
# define USE_HM10 // Add support for HM-10 as a BLE-bridge for the LYWSD03 (+5k1 code)
2019-10-17 15:51:20 +01:00
# define USE_ENERGY_SENSOR // Add energy sensors (-14k code)
# define USE_PZEM004T // Add support for PZEM004T Energy monitor (+2k code)
# define USE_PZEM_AC // Add support for PZEM014,016 Energy monitor (+1k1 code)
# define USE_PZEM_DC // Add support for PZEM003,017 Energy monitor (+1k1 code)
# define USE_MCP39F501 // Add support for MCP39F501 Energy monitor as used in Shelly 2 (+3k1 code)
2019-10-18 11:28:29 +01:00
# define USE_SDM120 // Add support for Eastron SDM120-Modbus energy monitor (+1k1 code)
# define USE_SDM630 // Add support for Eastron SDM630-Modbus energy monitor (+0k6 code)
2019-10-17 15:51:20 +01:00
# define USE_DDS2382 // Add support for Hiking DDS2382 Modbus energy monitor (+0k6 code)
# define USE_DDSU666 // Add support for Chint DDSU666 Modbus energy monitor (+0k6 code)
2019-10-17 18:30:55 +01:00
//#define USE_SOLAX_X1 // Add support for Solax X1 series Modbus log info (+3k1 code)
2020-01-23 16:18:44 +00:00
//#define USE_LE01MR // Add support for F&F LE-01MR modbus energy meter (+2k code)
2019-10-17 15:51:20 +01:00
# define USE_DHT // Add support for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321) and SI7021 Temperature and Humidity sensor
# define USE_MAX31855 // Add support for MAX31855 K-Type thermocouple sensor using softSPI
2019-10-18 11:28:29 +01:00
//#define USE_MAX31865 // Add support for MAX31865 RTD sensors using softSPI
2019-10-17 15:51:20 +01:00
# define USE_IR_REMOTE // Send IR remote commands using library IRremoteESP8266 and ArduinoJson (+4k code, 0k3 mem, 48 iram)
# define USE_IR_RECEIVE // Support for IR receiver (+5k5 code, 264 iram)
//#define USE_ZIGBEE // Enable serial communication with Zigbee CC2530 flashed with ZNP
# define USE_SR04 // Add support for HC-SR04 ultrasonic devices (+1k code)
# define USE_TM1638 // Add support for TM1638 switches copying Switch1 .. Switch8 (+1k code)
# define USE_HX711 // Add support for HX711 load cell (+1k5 code)
//#define USE_HX711_GUI // Add optional web GUI to HX711 as scale (+1k8 code)
2020-02-20 17:50:43 +00:00
//#define USE_TX20_WIND_SENSOR // Add support for La Crosse TX20 anemometer (+1k3 code)
//#define USE_TX23_WIND_SENSOR // Add support for La Crosse TX23 anemometer (+1k4 code)
2019-10-17 15:51:20 +01:00
# define USE_RC_SWITCH // Add support for RF transceiver using library RcSwitch (+2k7 code, 460 iram)
# define USE_RF_SENSOR // Add support for RF sensor receiver (434MHz or 868MHz) (+0k8 code)
// #define USE_THEO_V2 // Add support for decoding Theo V2 sensors as documented on https://sidweb.nl using 434MHz RF sensor receiver (+1k4 code)
# define USE_ALECTO_V2 // Add support for decoding Alecto V2 sensors like ACH2010, WS3000 and DKW2012 using 868MHz RF sensor receiver (+1k7 code)
# define USE_HRE // Add support for Badger HR-E Water Meter (+1k4 code)
//#define USE_A4988_STEPPER // Add support for A4988/DRV8825 stepper-motor-driver-circuit (+10k5 code)
2019-10-21 13:02:17 +01:00
//#define USE_ARDUINO_SLAVE // Add support for Arduino Uno/Pro Mini via serial interface including flashing (+2k3 code, 44 mem)
2019-10-17 15:51:20 +01:00
# undef DEBUG_THEO // Disable debug code
# undef USE_DEBUG_DRIVER // Disable debug code
2019-02-08 13:55:45 +00:00
# endif // FIRMWARE_SENSORS
2018-04-23 10:37:46 +01:00
/*********************************************************************************************\
2019-10-27 11:44:37 +00:00
* [ tasmota - knx . bin ]
2018-04-23 10:37:46 +01:00
* Provide a dedicated KNX image allowing enough code and memory space
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2019-02-08 13:55:45 +00:00
# ifdef FIRMWARE_KNX_NO_EMULATION
2018-07-06 17:00:50 +01:00
2018-11-07 14:03:41 +00:00
# undef CODE_IMAGE
2019-10-22 15:34:25 +01:00
# define CODE_IMAGE 3
2020-01-22 21:49:28 +00:00
# undef CODE_IMAGE_STR
# define CODE_IMAGE_STR "knx"
2018-11-07 14:03:41 +00:00
2018-04-23 10:37:46 +01:00
# ifndef USE_KNX
2019-10-17 15:51:20 +01:00
# define USE_KNX // Enable KNX IP Protocol Support (+23k code, +3k3 mem)
2018-04-23 10:37:46 +01:00
# endif
2019-10-17 15:51:20 +01:00
# undef USE_EMULATION // Disable Belkin WeMo and Hue Bridge emulation for Alexa (-16k code, -2k mem)
# undef USE_EMULATION_HUE // Disable Hue Bridge emulation for Alexa (+14k code, +2k mem common)
# undef USE_EMULATION_WEMO // Disable Belkin WeMo emulation for Alexa (+6k code, +2k mem common)
2020-02-24 22:34:45 +00:00
# undef USE_DEVICE_GROUPS // Disable support for device groups (+3k5 code)
2019-10-17 15:51:20 +01:00
# undef DEBUG_THEO // Disable debug code
# undef USE_DEBUG_DRIVER // Disable debug code
2019-02-08 13:55:45 +00:00
# endif // FIRMWARE_KNX_NO_EMULATION
2018-04-23 10:37:46 +01:00
2018-09-25 14:35:49 +01:00
/*********************************************************************************************\
2019-10-27 11:44:37 +00:00
* [ tasmota - display . bin ]
2018-09-25 14:35:49 +01:00
* Provide an image with display drivers enabled
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2019-02-08 13:55:45 +00:00
# ifdef FIRMWARE_DISPLAYS
2018-09-25 14:35:49 +01:00
2018-11-07 14:03:41 +00:00
# undef CODE_IMAGE
2019-10-22 15:34:25 +01:00
# define CODE_IMAGE 5
2020-01-22 21:49:28 +00:00
# undef CODE_IMAGE_STR
# define CODE_IMAGE_STR "display"
2018-11-07 14:03:41 +00:00
2019-10-17 15:51:20 +01:00
# undef USE_EMULATION // Disable Belkin WeMo and Hue Bridge emulation for Alexa (-16k code, -2k mem)
# undef USE_EMULATION_HUE // Disable Hue Bridge emulation for Alexa (+14k code, +2k mem common)
# undef USE_EMULATION_WEMO // Disable Belkin WeMo emulation for Alexa (+6k code, +2k mem common)
# undef USE_DOMOTICZ // Disable Domoticz
# undef USE_HOME_ASSISTANT // Disable Home Assistant
// -- Optional modules ----------------------------
# undef ROTARY_V1 // Disable support for MI Desk Lamp
# undef USE_SONOFF_RF // Disable support for Sonoff Rf Bridge (+3k2 code)
# undef USE_RF_FLASH // Disable support for flashing the EFM8BB1 chip on the Sonoff RF Bridge. C2CK must be connected to GPIO4, C2D to GPIO5 on the PCB
# undef USE_SONOFF_SC // Disable support for Sonoff Sc (+1k1 code)
//#undef USE_TUYA_MCU // Disable support for Tuya Serial MCU
# undef USE_ARMTRONIX_DIMMERS // Disable support for Armtronix Dimmers (+1k4 code)
# undef USE_PS_16_DZ // Disable support for PS-16-DZ Dimmer and Sonoff L1 (+2k code)
# undef USE_SONOFF_IFAN // Disable support for Sonoff iFan02 and iFan03 (+2k code)
# undef USE_BUZZER // Disable support for a buzzer (+0k6 code)
# undef USE_ARILUX_RF // Disable support for Arilux RF remote controller
# undef USE_SHUTTER // Disable Shutter support for up to 4 shutter with different motortypes (+6k code)
# undef USE_DEEPSLEEP // Disable support for deepsleep (+1k code)
2019-10-18 16:29:19 +01:00
# undef USE_EXS_DIMMER // Disable support for EX-Store WiFi Dimmer
2019-12-28 20:12:46 +00:00
# undef USE_HOTPLUG // Disable support for HotPlug
2020-02-24 22:34:45 +00:00
# undef USE_DEVICE_GROUPS // Disable support for device groups (+3k5 code)
2019-10-17 15:51:20 +01:00
# undef USE_ENERGY_SENSOR // Disable energy sensors (-14k code)
# undef USE_PZEM004T // Disable PZEM004T energy sensor
# undef USE_PZEM_AC // Disable PZEM014,016 Energy monitor
# undef USE_PZEM_DC // Disable PZEM003,017 Energy monitor
# undef USE_MCP39F501 // Disable MCP39F501 Energy monitor as used in Shelly 2
2019-10-18 11:28:29 +01:00
# undef USE_SDM120 // Disable support for Eastron SDM120-Modbus energy meter
# undef USE_SDM630 // Disable support for Eastron SDM630-Modbus energy monitor (+0k6 code)
2019-10-17 15:51:20 +01:00
# undef USE_DDS2382 // Disable support for Hiking DDS2382 Modbus energy monitor (+0k6 code)
# undef USE_DDSU666 // Disable support for Chint DDSU666 Modbus energy monitor (+0k6 code)
2019-10-17 18:30:55 +01:00
# undef USE_SOLAX_X1 // Disable support for Solax X1 series Modbus log info (+3k1 code)
2020-01-23 16:18:44 +00:00
# undef USE_LE01MR // Disable support for F&F LE-01MR Modbus energy meter (+2k code)
2019-10-17 15:51:20 +01:00
# define USE_I2C // I2C using library wire (+10k code, 0k2 mem, 124 iram)
# define USE_DISPLAY // Add I2C Display Support (+2k code)
# define USE_DISPLAY_MODES1TO5 // Enable display mode 1 to 5 in addition to mode 0
# define USE_DISPLAY_LCD // [DisplayModel 1] Enable Lcd display (I2C addresses 0x27 and 0x3F) (+6k code)
# define USE_DISPLAY_SSD1306 // [DisplayModel 2] Enable SSD1306 Oled 128x64 display (I2C addresses 0x3C and 0x3D) (+16k code)
# define USE_DISPLAY_MATRIX // [DisplayModel 3] Enable 8x8 Matrix display (I2C adresseses see below) (+11k code)
# define USE_DISPLAY_SH1106 // [DisplayModel 7] Enable SH1106 Oled 128x64 display (I2C addresses 0x3C and 0x3D)
# define USE_SPI // Hardware SPI using GPIO12(MISO), GPIO13(MOSI) and GPIO14(CLK) in addition to two user selectable GPIOs(CS and DC)
# define USE_DISPLAY_ILI9341 // [DisplayModel 4] Enable ILI9341 Tft 480x320 display (+19k code)
# ifndef ARDUINO_ESP8266_RELEASE_2_3_0 // There is not enough spare RAM with core 2.3.0 to support the following
# define USE_DISPLAY_EPAPER_29 // [DisplayModel 5] Enable e-paper 2.9 inch display (+19k code)
# define USE_DISPLAY_EPAPER_42 // [DisplayModel 6] Enable e-paper 4.2 inch display
// #define USE_DISPLAY_ILI9488 // [DisplayModel 8]
// #define USE_DISPLAY_SSD1351 // [DisplayModel 9]
// #define USE_DISPLAY_RA8876 // [DisplayModel 10]
# endif
# undef DEBUG_THEO // Disable debug code
# undef USE_DEBUG_DRIVER // Disable debug code
2019-02-08 13:55:45 +00:00
# endif // FIRMWARE_DISPLAYS
2018-09-25 14:35:49 +01:00
2019-08-30 19:41:01 +01:00
/*********************************************************************************************\
2019-10-27 11:44:37 +00:00
* [ tasmota - ir . bin ]
2019-08-30 19:41:01 +01:00
* Provide a dedicated image with IR full protocol support , with limited additional features
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# ifdef FIRMWARE_IR
# undef CODE_IMAGE
2019-10-22 15:34:25 +01:00
# define CODE_IMAGE 6
2020-01-22 21:49:28 +00:00
# undef CODE_IMAGE_STR
# define CODE_IMAGE_STR "ir"
2019-08-30 19:41:01 +01:00
2019-08-31 10:49:22 +01:00
# undef USE_EMULATION
2019-10-17 15:51:20 +01:00
# undef USE_EMULATION_HUE // Disable Hue emulation - only for lights and relays
# undef USE_EMULATION_WEMO // Disable Wemo emulation - only for relays
//#undef USE_DOMOTICZ // Disable Domoticz
//#undef USE_HOME_ASSISTANT // Disable Home Assistant
//#undef USE_KNX // Disable KNX IP Protocol Support
//#undef USE_CUSTOM // Disable Custom features
//#undef USE_TIMERS // Disable support for up to 16 timers
//#undef USE_TIMERS_WEB // Disable support for timer webpage
//#undef USE_SUNRISE // Disable support for Sunrise and sunset tools
//#undef USE_RULES // Disable support for rules
# undef USE_DISCOVERY // Disable mDNS for the following services (+8k code or +23.5k code with core 2_5_x, +0.3k mem)
// -- Optional modules ----------------------------
# undef ROTARY_V1 // Disable support for MI Desk Lamp
# undef USE_SONOFF_RF // Disable support for Sonoff Rf Bridge (+3k2 code)
# undef USE_RF_FLASH // Disable support for flashing the EFM8BB1 chip on the Sonoff RF Bridge. C2CK must be connected to GPIO4, C2D to GPIO5 on the PCB
# undef USE_SONOFF_SC // Disable support for Sonoff Sc (+1k1 code)
# undef USE_TUYA_MCU // Disable support for Tuya Serial MCU
# undef USE_ARMTRONIX_DIMMERS // Disable support for Armtronix Dimmers (+1k4 code)
# undef USE_PS_16_DZ // Disable support for PS-16-DZ Dimmer and Sonoff L1 (+2k code)
# undef USE_SONOFF_IFAN // Disable support for Sonoff iFan02 and iFan03 (+2k code)
# undef USE_BUZZER // Disable support for a buzzer (+0k6 code)
# undef USE_ARILUX_RF // Disable support for Arilux RF remote controller
# undef USE_SHUTTER // Disable Shutter support for up to 4 shutter with different motortypes (+6k code)
# undef USE_DEEPSLEEP // Disable support for deepsleep (+1k code)
2019-10-18 16:29:19 +01:00
# undef USE_EXS_DIMMER // Disable support for EX-Store WiFi Dimmer
2019-12-28 20:12:46 +00:00
# undef USE_HOTPLUG // Disable support for HotPlug
2020-02-24 22:34:45 +00:00
# undef USE_DEVICE_GROUPS // Disable support for device groups (+3k5 code)
2019-10-17 15:51:20 +01:00
// -- Optional light modules ----------------------
//#undef USE_LIGHT // Also disable all Dimmer/Light support
# undef USE_WS2812 // Disable WS2812 Led string using library NeoPixelBus (+5k code, +1k mem, 232 iram) - Disable by //
# undef USE_MY92X1 // Disable support for MY92X1 RGBCW led controller as used in Sonoff B1, Ailight and Lohas
# undef USE_SM16716 // Disable support for SM16716 RGB LED controller (+0k7 code)
# undef USE_SM2135 // Disable support for SM2135 RGBCW led control as used in Action LSC (+0k6 code)
# undef USE_SONOFF_L1 // Disable support for Sonoff L1 led control
# undef USE_ENERGY_SENSOR // Disable energy sensors (-14k code)
# undef USE_PZEM004T // Disable PZEM004T energy sensor
# undef USE_PZEM_AC // Disable PZEM014,016 Energy monitor
# undef USE_PZEM_DC // Disable PZEM003,017 Energy monitor
# undef USE_MCP39F501 // Disable MCP39F501 Energy monitor as used in Shelly 2
2019-10-18 11:28:29 +01:00
# undef USE_SDM120 // Disable support for Eastron SDM120-Modbus energy meter
# undef USE_SDM630 // Disable support for Eastron SDM630-Modbus energy monitor (+0k6 code)
2019-10-17 15:51:20 +01:00
# undef USE_DDS2382 // Disable support for Hiking DDS2382 Modbus energy monitor (+0k6 code)
# undef USE_DDSU666 // Disable support for Chint DDSU666 Modbus energy monitor (+0k6 code)
2019-10-17 18:30:55 +01:00
# undef USE_SOLAX_X1 // Disable support for Solax X1 series Modbus log info (+3k1 code)
2020-01-23 16:18:44 +00:00
# undef USE_LE01MR // Disable support for F&F LE-01MR Modbus energy meter (+2k code)
2019-10-17 15:51:20 +01:00
2019-11-03 09:52:44 +00:00
//#undef USE_DS18x20 // Disable support for DS18x20 sensors with id sort, single scan and read retry (+1k3 code)
2019-10-17 15:51:20 +01:00
# undef USE_I2C // Disable all I2C sensors
# undef USE_SPI // Disable all SPI devices
2020-02-09 16:22:14 +00:00
# undef USE_DISPLAY // Disable support for displays
2019-10-17 15:51:20 +01:00
# undef USE_MHZ19 // Disable support for MH-Z19 CO2 sensor
# undef USE_SENSEAIR // Disable support for SenseAir K30, K70 and S8 CO2 sensor
# undef USE_PMS5003 // Disable support for PMS5003 and PMS7003 particle concentration sensor
# undef USE_NOVA_SDS // Disable support for SDS011 and SDS021 particle concentration sensor
2019-11-05 18:39:45 +00:00
# undef USE_HPMA // Disable support for Honeywell HPMA115S0 particle concentration sensor
2019-10-17 15:51:20 +01:00
# undef USE_SERIAL_BRIDGE // Disable support for software Serial Bridge
# undef USE_MP3_PLAYER // Disable DFPlayer Mini MP3 Player RB-DFR-562 commands: play, volume and stop
# undef USE_AZ7798 // Disable support for AZ-Instrument 7798 CO2 datalogger
# undef USE_PN532_HSU // Disable support for PN532 using HSU (Serial) interface (+1k8 code, 140 bytes mem)
# undef USE_RDM6300 // Disable support for RDM6300 125kHz RFID Reader (+0k8)
# undef USE_IBEACON // Disable support for bluetooth LE passive scan of ibeacon devices (uses HM17 module)
2019-12-23 14:53:43 +00:00
# undef USE_GPS // Disable support for GPS and NTP Server for becoming Stratus 1 Time Source (+ 3.1kb flash, +132 bytes RAM)
2020-02-07 09:50:06 +00:00
# undef USE_HM10 // Disable support for HM-10 as a BLE-bridge for the LYWSD03 (+5k1 code)
2019-10-17 15:51:20 +01:00
//#define USE_DHT // Add support for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321) and SI7021 Temperature and Humidity sensor
# undef USE_MAX31855 // Disable MAX31855 K-Type thermocouple sensor using softSPI
2019-10-18 11:28:29 +01:00
# undef USE_MAX31865 // Disable support for MAX31865 RTD sensors using softSPI
2019-10-17 15:51:20 +01:00
# undef USE_SR04 // Disable support for for HC-SR04 ultrasonic devices
# undef USE_TM1638 // Disable support for TM1638 switches copying Switch1 .. Switch8
# undef USE_HX711 // Disable support for HX711 load cell
# undef USE_TX20_WIND_SENSOR // Disable support for La Crosse TX20 anemometer
2020-02-20 17:50:43 +00:00
# undef USE_TX23_WIND_SENSOR // Disable support for La Crosse TX23 anemometer
2019-10-17 15:51:20 +01:00
# undef USE_RC_SWITCH // Disable support for RF transceiver using library RcSwitch
# undef USE_RF_SENSOR // Disable support for RF sensor receiver (434MHz or 868MHz) (+0k8 code)
# undef USE_HRE // Disable support for Badger HR-E Water Meter (+1k4 code)
# undef USE_A4988_STEPPER // Disable support for A4988_Stepper
2019-10-21 13:02:17 +01:00
# undef USE_ARDUINO_SLAVE // Disable support for Arduino Uno/Pro Mini via serial interface including flashing (+2k3 code, 44 mem)
2019-10-17 15:51:20 +01:00
# undef DEBUG_THEO // Disable debug code
# undef USE_DEBUG_DRIVER // Disable debug code
2019-08-30 19:41:01 +01:00
# endif // FIRMWARE_IR
2018-10-27 16:15:52 +01:00
/*********************************************************************************************\
2019-12-17 14:13:47 +00:00
* [ tasmota - lite . bin ]
2018-10-27 16:15:52 +01:00
* Provide an image without sensors
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2019-12-17 14:13:47 +00:00
# ifdef FIRMWARE_LITE
2018-10-27 16:15:52 +01:00
2018-11-07 14:03:41 +00:00
# undef CODE_IMAGE
2019-10-22 15:34:25 +01:00
# define CODE_IMAGE 4
2020-01-22 21:49:28 +00:00
# undef CODE_IMAGE_STR
# define CODE_IMAGE_STR "lite"
2018-11-07 14:03:41 +00:00
2018-10-30 17:26:24 +00:00
# undef APP_SLEEP
2019-12-17 14:13:47 +00:00
# define APP_SLEEP 1 // Default to sleep = 1 for FIRMWARE_LITE
2019-10-17 15:51:20 +01:00
# undef USE_ARDUINO_OTA // Disable support for Arduino OTA
# undef USE_DOMOTICZ // Disable Domoticz
# undef USE_HOME_ASSISTANT // Disable Home Assistant
# undef USE_MQTT_TLS // Disable TLS support won't work as the MQTTHost is not set
# undef USE_KNX // Disable KNX IP Protocol Support
//#undef USE_WEBSERVER // Disable Webserver
# undef USE_WEBSEND_RESPONSE // Disable command WebSend response message (+1k code)
//#undef USE_EMULATION // Disable Wemo or Hue emulation
//#undef USE_EMULATION_HUE // Disable Hue Bridge emulation for Alexa (+14k code, +2k mem common)
//#undef USE_EMULATION_WEMO // Disable Belkin WeMo emulation for Alexa (+6k code, +2k mem common)
# undef USE_CUSTOM // Disable Custom features
# undef USE_DISCOVERY // Disable Discovery services for both MQTT and web server
//#undef USE_TIMERS // Disable support for up to 16 timers
//#undef USE_TIMERS_WEB // Disable support for timer webpage
//#undef USE_SUNRISE // Disable support for Sunrise and sunset tools
//#undef USE_RULES // Disable support for rules
# undef USE_SCRIPT // Add support for script (+17k code)
2019-07-14 21:08:19 +01:00
// -- Optional modules -------------------------
2019-10-17 15:51:20 +01:00
# undef ROTARY_V1 // Disable support for MI Desk Lamp
# undef USE_SONOFF_RF // Disable support for Sonoff Rf Bridge (+3k2 code)
# undef USE_RF_FLASH // Disable support for flashing the EFM8BB1 chip on the Sonoff RF Bridge. C2CK must be connected to GPIO4, C2D to GPIO5 on the PCB
# undef USE_SONOFF_SC // Disable support for Sonoff Sc (+1k1 code)
//#undef USE_TUYA_MCU // Disable support for Tuya Serial MCU
# undef USE_ARMTRONIX_DIMMERS // Disable support for Armtronix Dimmers (+1k4 code)
# undef USE_PS_16_DZ // Disable support for PS-16-DZ Dimmer and Sonoff L1 (+2k code)
# undef USE_SONOFF_IFAN // Disable support for Sonoff iFan02 and iFan03 (+2k code)
# undef USE_BUZZER // Disable support for a buzzer (+0k6 code)
# undef USE_ARILUX_RF // Disable support for Arilux RF remote controller
# undef USE_SHUTTER // Disable Shutter support for up to 4 shutter with different motortypes (+6k code)
# undef USE_DEEPSLEEP // Disable support for deepsleep (+1k code)
2019-10-18 16:29:19 +01:00
# undef USE_EXS_DIMMER // Disable support for EX-Store WiFi Dimmer
2019-12-28 20:12:46 +00:00
# undef USE_HOTPLUG // Disable support for HotPlug
2019-10-17 15:51:20 +01:00
// -- Optional light modules ----------------------
//#undef USE_LIGHT // Also disable all Dimmer/Light support
# undef USE_WS2812 // Disable WS2812 Led string using library NeoPixelBus (+5k code, +1k mem, 232 iram) - Disable by //
# undef USE_MY92X1 // Disable support for MY92X1 RGBCW led controller as used in Sonoff B1, Ailight and Lohas
# undef USE_SM16716 // Disable support for SM16716 RGB LED controller (+0k7 code)
# undef USE_SM2135 // Disable support for SM2135 RGBCW led control as used in Action LSC (+0k6 code)
# undef USE_SONOFF_L1 // Disable support for Sonoff L1 led control
# undef USE_COUNTER // Disable counters
# define USE_ADC_VCC // Display Vcc in Power status. Disable for use as Analog input on selected devices
# undef USE_DS18x20 // Disable DS18x20 sensor
# undef USE_I2C // Disable all I2C sensors and devices
# undef USE_SPI // Disable all SPI devices
# undef USE_DISPLAY // Disable Display support
# undef USE_MHZ19 // Disable support for MH-Z19 CO2 sensor
# undef USE_SENSEAIR // Disable support for SenseAir K30, K70 and S8 CO2 sensor
# undef USE_PMS5003 // Disable support for PMS5003 and PMS7003 particle concentration sensor
# undef USE_NOVA_SDS // Disable support for SDS011 and SDS021 particle concentration sensor
2019-11-05 18:39:45 +00:00
# undef USE_HPMA // Disable support for Honeywell HPMA115S0 particle concentration sensor
2019-10-17 15:51:20 +01:00
# undef USE_SERIAL_BRIDGE // Disable support for software Serial Bridge
# undef USE_MP3_PLAYER // Disable DFPlayer Mini MP3 Player RB-DFR-562 commands: play, volume and stop
# undef USE_AZ7798 // Disable support for AZ-Instrument 7798 CO2 datalogger
# undef USE_PN532_HSU // Disable support for PN532 using HSU (Serial) interface (+1k8 code, 140 bytes mem)
# undef USE_RDM6300 // Disable support for RDM6300 125kHz RFID Reader (+0k8)
# undef USE_IBEACON // Disable support for bluetooth LE passive scan of ibeacon devices (uses HM17 module)
2019-12-23 14:53:43 +00:00
# undef USE_GPS // Disable support for GPS and NTP Server for becoming Stratus 1 Time Source (+ 3.1kb flash, +132 bytes RAM)
2020-02-07 09:50:06 +00:00
# undef USE_HM10 // Disable support for HM-10 as a BLE-bridge for the LYWSD03 (+5k1 code)
2019-10-17 15:51:20 +01:00
//#undef USE_ENERGY_SENSOR // Disable energy sensors
# undef USE_PZEM004T // Disable PZEM004T energy sensor
# undef USE_PZEM_AC // Disable PZEM014,016 Energy monitor
# undef USE_PZEM_DC // Disable PZEM003,017 Energy monitor
//#undef USE_MCP39F501 // Disable MCP39F501 Energy monitor as used in Shelly 2
2019-10-18 11:28:29 +01:00
# undef USE_SDM120 // Disable support for Eastron SDM120-Modbus energy meter
# undef USE_SDM630 // Disable support for Eastron SDM630-Modbus energy monitor (+0k6 code)
2019-10-17 15:51:20 +01:00
# undef USE_DDS2382 // Disable support for Hiking DDS2382 Modbus energy monitor (+0k6 code)
# undef USE_DDSU666 // Disable support for Chint DDSU666 Modbus energy monitor (+0k6 code)
2019-10-17 18:30:55 +01:00
# undef USE_SOLAX_X1 // Disable support for Solax X1 series Modbus log info (+3k1 code)
2020-01-23 16:18:44 +00:00
# undef USE_LE01MR // Disable support for F&F LE-01MR Modbus energy meter (+2k code)
2019-10-17 15:51:20 +01:00
# undef USE_DHT // Disable support for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321) and SI7021 Temperature and Humidity sensor
# undef USE_MAX31855 // Disable MAX31855 K-Type thermocouple sensor using softSPI
2019-10-18 11:28:29 +01:00
# undef USE_MAX31865 // Disable support for MAX31865 RTD sensors using softSPI
2019-10-17 15:51:20 +01:00
# undef USE_IR_REMOTE // Disable IR driver
# undef USE_ZIGBEE // Disable serial communication with Zigbee CC2530 flashed with ZNP
# undef USE_SR04 // Disable support for for HC-SR04 ultrasonic devices
# undef USE_TM1638 // Disable support for TM1638 switches copying Switch1 .. Switch8
# undef USE_HX711 // Disable support for HX711 load cell
# undef USE_TX20_WIND_SENSOR // Disable support for La Crosse TX20 anemometer
2020-02-20 17:50:43 +00:00
# undef USE_TX23_WIND_SENSOR // Disable support for La Crosse TX23 anemometer
2019-10-17 15:51:20 +01:00
# undef USE_RC_SWITCH // Disable support for RF transceiver using library RcSwitch
# undef USE_RF_SENSOR // Disable support for RF sensor receiver (434MHz or 868MHz) (+0k8 code)
# undef USE_HRE // Disable support for Badger HR-E Water Meter (+1k4 code)
# undef USE_A4988_STEPPER // Disable support for A4988_Stepper
2019-10-21 13:02:17 +01:00
# undef USE_ARDUINO_SLAVE // Disable support for Arduino Uno/Pro Mini via serial interface including flashing (+2k3 code, 44 mem)
2019-10-17 15:51:20 +01:00
# undef DEBUG_THEO // Disable debug code
# undef USE_DEBUG_DRIVER // Disable debug code
2019-02-08 13:55:45 +00:00
# endif // FIRMWARE_BASIC
2018-10-27 16:15:52 +01:00
2018-04-23 10:37:46 +01:00
/*********************************************************************************************\
2019-10-27 11:44:37 +00:00
* [ tasmota - minimal . bin ]
2018-04-23 10:37:46 +01:00
* Provide the smallest image possible while still enabling a webserver for intermediate image load
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2019-02-08 13:55:45 +00:00
# ifdef FIRMWARE_MINIMAL
2018-07-06 17:00:50 +01:00
2018-11-07 14:03:41 +00:00
# undef CODE_IMAGE
# define CODE_IMAGE 1
2020-01-22 21:49:28 +00:00
# undef CODE_IMAGE_STR
# define CODE_IMAGE_STR "minimal"
2018-11-07 14:03:41 +00:00
2019-12-17 14:13:47 +00:00
# undef FIRMWARE_LITE // Disable tasmota-lite with no sensors
2019-11-07 14:41:36 +00:00
# undef FIRMWARE_SENSORS // Disable tasmota-sensors with useful sensors enabled
# undef FIRMWARE_KNX_NO_EMULATION // Disable tasmota-knx with KNX but without Emulation
# undef FIRMWARE_DISPLAYS // Disable tasmota-display with display drivers enabled
# undef FIRMWARE_IR // Disable tasmota-ir with IR full protocols activated
# undef FIRMWARE_IR_CUSTOM // Disable tasmota customizable with special marker to add all IR protocols
2019-10-17 15:51:20 +01:00
# undef USE_ARDUINO_OTA // Disable support for Arduino OTA
# undef USE_DOMOTICZ // Disable Domoticz
# undef USE_HOME_ASSISTANT // Disable Home Assistant
2019-12-05 18:54:30 +00:00
//#undef USE_MQTT_TLS // Disable TLS support won't work as the MQTTHost is not set
2019-10-17 15:51:20 +01:00
# undef USE_KNX // Disable KNX IP Protocol Support
//#undef USE_WEBSERVER // Disable Webserver
# undef USE_WEBSEND_RESPONSE // Disable command WebSend response message (+1k code)
# undef USE_EMULATION // Disable Wemo or Hue emulation
# undef USE_EMULATION_HUE // Disable Hue Bridge emulation for Alexa (+14k code, +2k mem common)
# undef USE_EMULATION_WEMO // Disable Belkin WeMo emulation for Alexa (+6k code, +2k mem common)
# undef USE_CUSTOM // Disable Custom features
# undef USE_DISCOVERY // Disable Discovery services for both MQTT and web server
# undef USE_TIMERS // Disable support for up to 16 timers
# undef USE_TIMERS_WEB // Disable support for timer webpage
# undef USE_SUNRISE // Disable support for Sunrise and sunset tools
# undef USE_RULES // Disable support for rules
# undef USE_SCRIPT // Disable support for script
// -- Optional modules ----------------------------
# undef ROTARY_V1 // Disable support for MI Desk Lamp
# undef USE_SONOFF_RF // Disable support for Sonoff Rf Bridge (+3k2 code)
# undef USE_RF_FLASH // Disable support for flashing the EFM8BB1 chip on the Sonoff RF Bridge. C2CK must be connected to GPIO4, C2D to GPIO5 on the PCB
# undef USE_SONOFF_SC // Disable support for Sonoff Sc (+1k1 code)
# undef USE_TUYA_MCU // Disable support for Tuya Serial MCU
# undef USE_ARMTRONIX_DIMMERS // Disable support for Armtronix Dimmers (+1k4 code)
# undef USE_PS_16_DZ // Disable support for PS-16-DZ Dimmer and Sonoff L1 (+2k code)
# undef USE_SONOFF_IFAN // Disable support for Sonoff iFan02 and iFan03 (+2k code)
# undef USE_BUZZER // Disable support for a buzzer (+0k6 code)
# undef USE_ARILUX_RF // Disable support for Arilux RF remote controller
# undef USE_SHUTTER // Disable Shutter support for up to 4 shutter with different motortypes (+6k code)
# undef USE_DEEPSLEEP // Disable support for deepsleep (+1k code)
2019-10-18 16:29:19 +01:00
# undef USE_EXS_DIMMER // Disable support for EX-Store WiFi Dimmer
2019-12-28 20:12:46 +00:00
# undef USE_HOTPLUG // Disable support for HotPlug
2020-02-24 22:34:45 +00:00
# undef USE_DEVICE_GROUPS // Disable support for device groups (+3k5 code)
2019-10-17 15:51:20 +01:00
// -- Optional light modules ----------------------
# undef USE_LIGHT // Disable support for lights
# undef USE_WS2812 // Disable WS2812 Led string using library NeoPixelBus (+5k code, +1k mem, 232 iram) - Disable by //
# undef USE_MY92X1 // Disable support for MY92X1 RGBCW led controller as used in Sonoff B1, Ailight and Lohas
# undef USE_SM16716 // Disable support for SM16716 RGB LED controller (+0k7 code)
# undef USE_SM2135 // Disable support for SM2135 RGBCW led control as used in Action LSC (+0k6 code)
# undef USE_SONOFF_L1 // Disable support for Sonoff L1 led control
# undef USE_COUNTER // Disable counters
# define USE_ADC_VCC // Display Vcc in Power status. Disable for use as Analog input on selected devices
# undef USE_DS18x20 // Disable DS18x20 sensor
# undef USE_I2C // Disable all I2C sensors and devices
# undef USE_SPI // Disable all SPI devices
# undef USE_DISPLAY // Disable Display support
# undef USE_MHZ19 // Disable support for MH-Z19 CO2 sensor
# undef USE_SENSEAIR // Disable support for SenseAir K30, K70 and S8 CO2 sensor
# undef USE_PMS5003 // Disable support for PMS5003 and PMS7003 particle concentration sensor
# undef USE_NOVA_SDS // Disable support for SDS011 and SDS021 particle concentration sensor
2019-11-05 18:39:45 +00:00
# undef USE_HPMA // Disable support for Honeywell HPMA115S0 particle concentration sensor
2019-10-17 15:51:20 +01:00
# undef USE_SERIAL_BRIDGE // Disable support for software Serial Bridge
# undef USE_MP3_PLAYER // Disable DFPlayer Mini MP3 Player RB-DFR-562 commands: play, volume and stop
# undef USE_AZ7798 // Disable support for AZ-Instrument 7798 CO2 datalogger
# undef USE_PN532_HSU // Disable support for PN532 using HSU (Serial) interface (+1k8 code, 140 bytes mem)
# undef USE_RDM6300 // Disable support for RDM6300 125kHz RFID Reader (+0k8)
# undef USE_IBEACON // Disable support for bluetooth LE passive scan of ibeacon devices (uses HM17 module)
2019-12-23 14:53:43 +00:00
# undef USE_GPS // Disable support for GPS and NTP Server for becoming Stratus 1 Time Source (+ 3.1kb flash, +132 bytes RAM)
2020-02-07 09:50:06 +00:00
# undef USE_HM10 // Disable support for HM-10 as a BLE-bridge for the LYWSD03 (+5k1 code)
2019-10-17 15:51:20 +01:00
# undef USE_ENERGY_SENSOR // Disable energy sensors
# undef USE_PZEM004T // Disable PZEM004T energy sensor
# undef USE_PZEM_AC // Disable PZEM014,016 Energy monitor
# undef USE_PZEM_DC // Disable PZEM003,017 Energy monitor
# undef USE_MCP39F501 // Disable MCP39F501 Energy monitor as used in Shelly 2
2019-10-18 11:28:29 +01:00
# undef USE_SDM120 // Disable support for Eastron SDM120-Modbus energy meter
# undef USE_SDM630 // Disable support for Eastron SDM630-Modbus energy monitor (+0k6 code)
2019-10-17 15:51:20 +01:00
# undef USE_DDS2382 // Disable support for Hiking DDS2382 Modbus energy monitor (+0k6 code)
# undef USE_DDSU666 // Disable support for Chint DDSU666 Modbus energy monitor (+0k6 code)
2019-10-17 18:30:55 +01:00
# undef USE_SOLAX_X1 // Disable support for Solax X1 series Modbus log info (+3k1 code)
2020-01-23 16:18:44 +00:00
# undef USE_LE01MR // Disable support for F&F LE-01MR Modbus energy meter (+2k code)
2019-10-17 15:51:20 +01:00
# undef USE_DHT // Disable support for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321) and SI7021 Temperature and Humidity sensor
# undef USE_MAX31855 // Disable MAX31855 K-Type thermocouple sensor using softSPI
2019-10-18 11:28:29 +01:00
# undef USE_MAX31865 // Disable support for MAX31865 RTD sensors using softSPI
2019-10-17 15:51:20 +01:00
# undef USE_IR_REMOTE // Disable IR driver
# undef USE_SR04 // Disable support for for HC-SR04 ultrasonic devices
# undef USE_TM1638 // Disable support for TM1638 switches copying Switch1 .. Switch8
# undef USE_HX711 // Disable support for HX711 load cell
# undef USE_TX20_WIND_SENSOR // Disable support for La Crosse TX20 anemometer
2020-02-20 17:50:43 +00:00
# undef USE_TX23_WIND_SENSOR // Disable support for La Crosse TX23 anemometer
2019-10-17 15:51:20 +01:00
# undef USE_RC_SWITCH // Disable support for RF transceiver using library RcSwitch
# undef USE_RF_SENSOR // Disable support for RF sensor receiver (434MHz or 868MHz) (+0k8 code)
# undef USE_HRE // Disable support for Badger HR-E Water Meter (+1k4 code)
# undef USE_A4988_STEPPER // Disable support for A4988_Stepper
2019-10-21 13:02:17 +01:00
# undef USE_ARDUINO_SLAVE // Disable support for Arduino Uno/Pro Mini via serial interface including flashing (+2k3 code, 44 mem)
2019-10-17 15:51:20 +01:00
# undef DEBUG_THEO // Disable debug code
# undef USE_DEBUG_DRIVER // Disable debug code
2019-02-08 13:55:45 +00:00
# endif // FIRMWARE_MINIMAL
2018-04-23 10:37:46 +01:00
/*********************************************************************************************\
* Mandatory defines satisfying possible disabled defines
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2017-10-18 17:22:34 +01:00
2019-10-22 15:34:25 +01:00
// See https://github.com/esp8266/Arduino/pull/4889
2019-10-17 15:51:20 +01:00
# undef NO_EXTRA_4K_HEAP // Allocate 4k heap for WPS in ESP8166/Arduino core v2.4.2 (was always allocated in previous versions)
2018-07-14 14:35:56 +01:00
2019-10-15 14:37:22 +01:00
# ifndef USE_SONOFF_RF
2019-10-17 15:51:20 +01:00
# undef USE_RF_FLASH // Disable RF firmware flash when SOnoff Rf is disabled
2019-10-15 14:37:22 +01:00
# endif
2017-10-18 17:22:34 +01:00
# ifndef SWITCH_MODE
2019-10-17 15:51:20 +01:00
# define SWITCH_MODE TOGGLE // TOGGLE, FOLLOW or FOLLOW_INV (the wall switch state)
2017-10-18 17:22:34 +01:00
# endif
2019-10-21 03:02:51 +01:00
# ifndef STARTING_OFFSET // NOVA SDS parameter used in settings
2019-10-22 15:34:25 +01:00
# define STARTING_OFFSET 30
2019-10-21 03:02:51 +01:00
# endif
2018-03-09 17:08:17 +00:00
# ifndef MQTT_FINGERPRINT1
2019-06-05 10:44:52 +01:00
// Set an all-zeros default fingerprint to activate auto-learning on first connection (AWS IoT)
# define MQTT_FINGERPRINT1 "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
2018-03-09 17:08:17 +00:00
# endif
# ifndef MQTT_FINGERPRINT2
# define MQTT_FINGERPRINT2 "A5 02 FF 13 99 9F 8B 39 8E F1 83 4F 11 23 65 0B 32 36 FC 07"
2017-10-18 17:22:34 +01:00
# endif
# ifndef WS2812_LEDS
2019-10-17 15:51:20 +01:00
# define WS2812_LEDS 30 // [Pixels] Number of LEDs
2017-10-18 17:22:34 +01:00
# endif
2018-02-27 13:59:46 +00:00
# ifndef MQTT_MAX_PACKET_SIZE
2020-02-12 17:00:53 +00:00
# define MQTT_MAX_PACKET_SIZE 1200 // Bytes
2018-02-27 13:59:46 +00:00
# endif
# ifndef MQTT_KEEPALIVE
2019-10-17 15:51:20 +01:00
# define MQTT_KEEPALIVE 30 // Seconds
2018-10-03 09:00:46 +01:00
# endif
# ifndef MQTT_TIMEOUT
2019-10-17 15:51:20 +01:00
# define MQTT_TIMEOUT 10000 // milli seconds
2018-02-27 13:59:46 +00:00
# endif
2019-06-07 17:03:34 +01:00
# ifndef MQTT_CLEAN_SESSION
2019-10-17 15:51:20 +01:00
# define MQTT_CLEAN_SESSION 1 // 0 = No clean session, 1 = Clean session (default)
2019-06-07 17:03:34 +01:00
# endif
2018-02-27 13:59:46 +00:00
2017-10-18 17:22:34 +01:00
# ifndef MESSZ
2020-02-12 17:00:53 +00:00
//#define MESSZ 1040 // Max number of characters in JSON message string (Hass discovery and nice MQTT_MAX_PACKET_SIZE = 1200)
2019-10-16 10:51:38 +01:00
# define MESSZ (MQTT_MAX_PACKET_SIZE -TOPSZ -7) // Max number of characters in JSON message string
2017-10-18 17:22:34 +01:00
# endif
2019-10-17 15:51:20 +01:00
//#include <core_version.h> // Arduino_Esp8266 version information (ARDUINO_ESP8266_RELEASE and ARDUINO_ESP8266_RELEASE_2_3_0)
2018-01-06 16:34:42 +00:00
# ifndef ARDUINO_ESP8266_RELEASE
2018-02-24 15:37:33 +00:00
# define ARDUINO_ESP8266_RELEASE "STAGE"
2018-01-06 16:34:42 +00:00
# endif
2017-10-18 17:22:34 +01:00
2019-10-17 15:51:20 +01:00
# ifdef ARDUINO_ESP8266_RELEASE_2_3_0 // Disable not supported features in core 2.3.0
2018-12-22 17:09:27 +00:00
# undef USE_MQTT_TLS_CA_CERT
# endif
2020-02-21 15:09:21 +00:00
# ifdef USE_DEVICE_GROUPS
# define SendDeviceGroupMessage(DEVICE_INDEX, REQUEST_TYPE, ...) _SendDeviceGroupMessage(DEVICE_INDEX, REQUEST_TYPE, __VA_ARGS__, 0)
# define SendLocalDeviceGroupMessage(REQUEST_TYPE, ...) _SendDeviceGroupMessage(0, REQUEST_TYPE, __VA_ARGS__, 0)
# define DEVICE_GROUP_MESSAGE "M-TASMOTA_DGR / "
const char kDeviceGroupMessage [ ] PROGMEM = DEVICE_GROUP_MESSAGE ;
uint8_t device_group_count = 1 ;
# endif // USE_DEVICE_GROUPS
2019-08-08 15:24:11 +01:00
# ifdef DEBUG_TASMOTA_CORE
# define DEBUG_CORE_LOG(...) AddLog_Debug(__VA_ARGS__)
# else
# define DEBUG_CORE_LOG(...)
# endif
2019-08-08 14:17:39 +01:00
# ifdef DEBUG_TASMOTA_DRIVER
# define DEBUG_DRIVER_LOG(...) AddLog_Debug(__VA_ARGS__)
# else
# define DEBUG_DRIVER_LOG(...)
# endif
# ifdef DEBUG_TASMOTA_SENSOR
# define DEBUG_SENSOR_LOG(...) AddLog_Debug(__VA_ARGS__)
# else
# define DEBUG_SENSOR_LOG(...)
# endif
2019-11-06 16:48:38 +00:00
# ifdef DEBUG_TASMOTA_TRACE
# define DEBUG_TRACE_LOG(...) AddLog_Debug(__VA_ARGS__)
# else
# define DEBUG_TRACE_LOG(...)
# endif
2019-10-27 11:04:08 +00:00
# endif // _TASMOTA_POST_H_