Fork of the espurna firmware for `mhsw` switches
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1017 lines
28 KiB

[platformio]
default_envs = nodemcu-lolin
src_dir = espurna
data_dir = espurna/data
extra_configs =
platformio_ota.ini
platformio_override.ini
# ------------------------------------------------------------------------------
# Add to or modify ANY section (env:..., common, etc.) via platformio_override.ini
#
# For example, to set f_cpu value for every environment:
# $ cat platformio_override.ini
# [env]
# board_build.f_cpu = 160000000
#
# ------------------------------------------------------------------------------
[common]
# ------------------------------------------------------------------------------
# PLATFORM:
# !! DO NOT confuse platformio's ESP8266 development platform with Arduino core for ESP8266
# We use Arduino Core 2.3.0 (platformIO 1.5.0) as default
#
# arduino core 2.3.0 = platformIO 1.5.0
# arduino core 2.4.0 = platformIO 1.6.0 (not supported)
# arduino core 2.4.1 = platformIO 1.7.3 (not supported)
# arduino core 2.4.2 = platformIO 1.8.0 (not supported)
# arduino core 2.5.0 = platformIO 2.0.4 (not supported)
# arduino core 2.5.1 = platformIO 2.1.1 (not supported)
# arduino core 2.5.2 = platformIO 2.2.3 (not supported)
# arduino core 2.6.1 = platformIO 2.3.0 (not supported)
# arduino core 2.6.2 = platformIO 2.3.1 (not supported)
# arduino core 2.6.3 = platformIO 2.4.0
# arduino core 2.7.1 = platformIO 2.5.1
# ------------------------------------------------------------------------------
platform_2_3_0 = espressif8266@1.5.0
platform_latest = espressif8266@2.5.1
# ------------------------------------------------------------------------------
# FLASH SIZE:
# board and ldscript must specify real flash size of the device.
# NOTES:
# fs space is not used right now.
# SPIFFS_SUPPORT=1, FS_SUPPORT=1 will have no effect.
# to avoid issues with OTA process, ensure that board & ldscript match (or less than) real flash size of the device.
# ------------------------------------------------------------------------------
# 487 KB sketch, 4 KB eeprom, 16 KB reserved, no space for ota
board_512k = esp01
ldscript_512k = eagle.flash.512k0m1s.ld
# 999 KB sketch, 4 KB eeprom, 16 KB reserved
board_1m = esp01_1m
ldscript_1m = eagle.flash.1m0m1s.ld
# 1019 KB sketch, 16 KB eeprom, 992 KB fs, 16 KB reserved
board_2m = esp_wroom_02
ldscript_2m = eagle.flash.2m1m4s.ld
# 1019 KB sketch, 16 KB eeprom, 992 KB fs, 16 KB reserved, 2048 KB empty/ota
board_4m = esp12e
ldscript_4m = eagle.flash.4m1m4s.ld
# OPTIONAL:
# 1019 KB sketch, 16 KB eeprom, 3040 KB fs, 16 KB reserved
# ldscript_4m = eagle.flash.4m3m4s.ld
# ------------------------------------------------------------------------------
# GLOBAL BUILD FLAGS:
#
# Available lwIP variants (macros):
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH = v2 Higher Bandwidth (default)
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY = v2 Lower Memory (TCP MSS set to 536, MSS * 2 send buffer)
# -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH = v1.4 Higher Bandwidth (deprecated, **not recommended**)
#
# BearSSL:
# When building with -DSECURE_CLIENT=SECURE_CLIENT_BEARSSL, you can add the build flag -DBEARSSL_SSL_BASIC in order to build BearSSL with a limited set of ciphers:
# TLS_RSA_WITH_AES_128_CBC_SHA256 / AES128-SHA256
# TLS_RSA_WITH_AES_256_CBC_SHA256 / AES256-SHA256
# TLS_RSA_WITH_AES_128_CBC_SHA / AES128-SHA
# TLS_RSA_WITH_AES_256_CBC_SHA / AES256-SHA
# This reduces total .bin size by about ~45KB, so it's especially useful on low memory boards (512k/1m).
#
# It is **recommended** to add `board_build.f_cpu = 160000000` to the environment configuration
# (either in `[env]` to set globally or `[env:...]` to use with the specific environment).
#
# ------------------------------------------------------------------------------
build_flags = -g -w -DNO_GLOBAL_EEPROM -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
# ------------------------------------------------------------------------------
# DEBUG BUILD FLAGS
# build flags for the Core, must be set as global build_flag
# (src_build_flags would not work)
#
# [env:nodemcu-lolin-debug]
# extends = env:nodemcu-lolin
# build_flags = ${common.build_flags} ${common.debug_flags}
#
# ------------------------------------------------------------------------------
debug_flags =
-DDEBUG_ESP_CORE
-DDEBUG_ESP_WIFI
-DDEBUG_ESP_HTTP_CLIENT
-DDEBUG_ESP_HTTP_SERVER
-DDEBUG_ESP_HTTP_UPDATE
-DDEBUG_ESP_UPDATER
-DDEBUG_ESP_OTA
-DDEBUG_ESP_SSL
-DDEBUG_ESP_UPDATER
-DDEBUG_TLS_MEM
-DDEBUG_ESP_MDNS
# For memleaks etc, add:
# -DDEBUG_ESP_OOM
# -DDEBUG_ESP_TLS_MEM
shared_libdeps_dir = libraries/
# ------------------------------------------------------------------------------
# COMMON ENVIRONMENT SETTINGS:
# ------------------------------------------------------------------------------
[env]
platform = ${common.platform_2_3_0}
framework = arduino
board_build.flash_mode = dout
build_flags = ${common.build_flags}
monitor_speed = 115200
upload_speed = 115200
extra_scripts = pre:scripts/pio_pre.py, scripts/pio_main.py
lib_extra_dirs =
${common.shared_libdeps_dir}
# ------------------------------------------------------------------------------
# LIBRARIES: required dependencies
# Please note that we don't always use the latest version of a library.
# ------------------------------------------------------------------------------
lib_deps =
ArduinoJson@5.13.4
https://github.com/marvinroger/async-mqtt-client#v0.8.1
Brzo I2C
https://github.com/xoseperez/eeprom_rotate#0.9.2
Embedis
https://github.com/plerup/espsoftwareserial#3.4.1
https://github.com/me-no-dev/ESPAsyncTCP#7e9ed22
https://github.com/me-no-dev/ESPAsyncWebServer#b0c6144
https://bitbucket.org/xoseperez/fauxmoesp.git#3.1.0
https://github.com/xoseperez/hlw8012.git#1.1.0
IRremoteESP8266@2.7.4
https://github.com/xoseperez/justwifi.git#2.0.2
https://github.com/madpilot/mDNSResolver#4cfcda1
https://github.com/xoseperez/my92xx#3.0.1
https://github.com/256dpi/arduino-mqtt#196556b6
https://bitbucket.org/xoseperez/nofuss.git#0.3.0
https://github.com/xoseperez/NtpClient.git#0942ebc
OneWire
PZEM004T
PubSubClient
rc-switch
https://github.com/LowPowerLab/RFM69#7008d57a
https://github.com/xoseperez/rpnlib.git#0.3.0
https://github.com/xoseperez/Time
NewPing
https://github.com/sparkfun/SparkFun_VEML6075_Arduino_Library#V_1.0.3
https://github.com/pololu/vl53l1x-arduino#1.0.1
https://github.com/mcleng/MAX6675-Library#2.0.1
https://github.com/ThingPulse/esp8266-oled-ssd1306#3398c97
Adafruit SI1145 Library@~1.1.1
lib_ignore =
AsyncTCP
# ------------------------------------------------------------------------------
# Base enrivonments, -DMANUFACTURER=..., -DDEVICE=... must be set:
# - by using specific hardware.h entry, like -DITEAD_SONOFF_BASIC
# - by setting PLATFORMIO_SRC_BUILD_FLAGS=... environment variable
# - by setting ESPURNA_FLAGS=... environment variable
# ------------------------------------------------------------------------------
[env:esp8266-512k-base]
board = ${common.board_512k}
board_build.ldscript = ${common.ldscript_512k}
[env:esp8266-1m-base]
board = ${common.board_1m}
board_build.ldscript = ${common.ldscript_1m}
[env:esp8266-2m-base]
board = ${common.board_2m}
board_build.ldscript = ${common.ldscript_2m}
[env:esp8266-4m-base]
board = ${common.board_4m}
board_build.ldscript = ${common.ldscript_4m}
[env:esp8266-1m-latest-base]
platform = ${common.platform_latest}
board = ${common.board_1m}
board_build.ldscript = ${common.ldscript_1m}
[env:esp8266-2m-latest-base]
platform = ${common.platform_latest}
board = ${common.board_2m}
board_build.ldscript = ${common.ldscript_2m}
[env:esp8266-4m-latest-base]
platform = ${common.platform_latest}
board = ${common.board_4m}
board_build.ldscript = ${common.ldscript_4m}
[env:esp8266-1m-git-base]
platform = ${common.platform_latest}
board = ${common.board_1m}
platform_packages =
framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
board_build.ldscript = ${common.ldscript_1m}
[env:esp8266-2m-git-base]
platform = ${common.platform_latest}
board = ${common.board_2m}
platform_packages =
framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
board_build.ldscript = ${common.ldscript_2m}
[env:esp8266-4m-git-base]
platform = ${common.platform_latest}
board = ${common.board_4m}
platform_packages =
framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
board_build.ldscript = ${common.ldscript_4m}
# ------------------------------------------------------------------------------
# ESPURNA CORE BUILDS (2-step OTA)
# ------------------------------------------------------------------------------
[env:espurna-core-1MB]
extends = env:esp8266-1m-base
src_build_flags = -DESPURNA_CORE
[env:espurna-core-2MB]
extends = env:esp8266-2m-base
src_build_flags = -DESPURNA_CORE
[env:espurna-core-4MB]
extends = env:esp8266-4m-base
src_build_flags = -DESPURNA_CORE
[env:espurna-core-smartconfig-1MB]
extends = env:esp8266-1m-base
src_build_flags = -DESPURNA_CORE
build_flags = ${common.build_flags} -DJUSTWIFI_ENABLE_SMARTCONFIG=1
[env:espurna-core-smartconfig-2MB]
extends = env:esp8266-2m-base
src_build_flags = -DESPURNA_CORE
build_flags = ${common.build_flags} -DJUSTWIFI_ENABLE_SMARTCONFIG=1
[env:espurna-core-smartconfig-4MB]
extends = env:esp8266-4m-base
src_build_flags = -DESPURNA_CORE
build_flags = ${common.build_flags} -DJUSTWIFI_ENABLE_SMARTCONFIG=1
[env:espurna-core-wps-1MB]
extends = env:esp8266-1m-base
src_build_flags = -DESPURNA_CORE
build_flags = ${common.build_flags} -DJUSTWIFI_ENABLE_WPS=1
[env:espurna-core-wps-2MB]
extends = env:esp8266-2m-base
src_build_flags = -DESPURNA_CORE
build_flags = ${common.build_flags} -DJUSTWIFI_ENABLE_WPS=1
[env:espurna-core-wps-4MB]
extends = env:esp8266-4m-base
src_build_flags = -DESPURNA_CORE
build_flags = ${common.build_flags} -DJUSTWIFI_ENABLE_WPS=1
# ------------------------------------------------------------------------------
# ESPURNA CORE with WebUI
# ------------------------------------------------------------------------------
[env:espurna-core-webui-1MB]
extends = env:esp8266-1m-base
src_build_flags = -DESPURNA_CORE_WEBUI
[env:espurna-core-webui-2MB]
extends = env:esp8266-2m-base
src_build_flags = -DESPURNA_CORE_WEBUI
[env:espurna-core-webui-4MB]
extends = env:esp8266-4m-base
src_build_flags = -DESPURNA_CORE_WEBUI
# ------------------------------------------------------------------------------
# DEVELOPMENT BOARDS
# ------------------------------------------------------------------------------
[env:wemos-d1mini]
extends = env:esp8266-4m-base
board = d1_mini
src_build_flags = -DWEMOS_D1_MINI -DNOWSAUTH
[env:wemos-d1mini-relayshield]
extends = env:esp8266-4m-base
board = d1_mini
src_build_flags = -DWEMOS_D1_MINI_RELAYSHIELD -DNOWSAUTH
[env:nodemcu-lolin]
extends = env:esp8266-4m-base
src_build_flags = -DNODEMCU_LOLIN -DNOWSAUTH
[env:nodemcu-lolin-latest]
extends = env:esp8266-4m-latest-base
src_build_flags = -DNODEMCU_LOLIN -DNOWSAUTH
[env:nodemcu-lolin-secure-client-asynctcp]
extends = env:esp8266-4m-latest-base
build_flags = ${common.build_flags} -DASYNC_TCP_SSL_ENABLED=1
src_build_flags = -DNODEMCU_LOLIN -DNOWSAUTH
[env:nodemcu-lolin-secure-client]
extends = env:esp8266-4m-latest-base
board_build.f_cpu = 160000000
src_build_flags =
-DNODEMCU_LOLIN -DNOWSAUTH
-DSECURE_CLIENT=SECURE_CLIENT_BEARSSL
-DMQTT_LIBRARY=MQTT_LIBRARY_ARDUINOMQTT
-DOTA_CLIENT=OTA_CLIENT_HTTPUPDATE
# ------------------------------------------------------------------------------
# SPECIFIC BOARDS
# ------------------------------------------------------------------------------
[env:tinkerman-espurna-h06]
extends = env:esp8266-4m-latest-base
src_build_flags = -DTINKERMAN_ESPURNA_H06
[env:tinkerman-espurna-h08]
extends = env:esp8266-4m-latest-base
src_build_flags = -DTINKERMAN_ESPURNA_H08
[env:tinkerman-espurna-switch]
extends = env:esp8266-4m-latest-base
src_build_flags = -DTINKERMAN_ESPURNA_SWITCH
[env:wemos-d1-tarpunashield]
extends = env:esp8266-4m-latest-base
src_build_flags = -DWEMOS_D1_TARPUNA_SHIELD
[env:tinkerman-rfm69gw]
extends = env:esp8266-4m-latest-base
board = esp12e
src_build_flags = -DTINKERMAN_RFM69GW -DNOWSAUTH
[env:foxel-lightfox-dual]
extends = env:esp8266-1m-base
src_build_flags =
-DFOXEL_LIGHTFOX_DUAL
-DDISABLE_POSTMORTEM_STACKDUMP
# ------------------------------------------------------------------------------
# GENERIC / DEVELOPMENT BOARDS
# ------------------------------------------------------------------------------
[env:generic-esp01-512kb]
extends = env:esp8266-512k-base
src_build_flags = -DGENERIC_ESP01_512KB
[env:generic-esp01s-relay-40]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_ESP01S_RELAY_V40
[env:generic-esp01s-relay-40-inv]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_ESP01S_RELAY_V40 -DRELAY1_TYPE=1
[env:generic-esp01s-rgbled-10]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_ESP01S_RGBLED_V10
[env:generic-esp01s-dht11-10]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_ESP01S_DHT11_V10
[env:generic-esp01s-ds18b20-10]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_ESP01S_DS18B20_V10
[env:generic-esp01s-pzem004t]
extends = env:esp8266-1m-latest-base
src_build_flags = -DGENERIC_PZEM004T -DDISABLE_POSTMORTEM_STACKDUMP
[env:generic-esp12e-pzem004t]
extends = env:esp8266-4m-latest-base
src_build_flags = -DGENERIC_PZEM004T -DDISABLE_POSTMORTEM_STACKDUMP
# ------------------------------------------------------------------------------
# ITEAD SONOFF
# ------------------------------------------------------------------------------
[env:itead-sonoff-basic]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_BASIC
[env:itead-sonoff-basic-dht]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_BASIC -DDHT_SUPPORT=1
[env:itead-sonoff-basic-r2-dht]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_BASIC -DDHT_SUPPORT=1 -DDHT_PIN=2
[env:itead-sonoff-basic-dallas]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_BASIC -DDALLAS_SUPPORT=1
[env:itead-sonoff-basic-r2-dallas]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_BASIC -DDALLAS_SUPPORT=1 -DDALLAS_PIN=2
[env:itead-sonoff-rf]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_RF
[env:itead-sonoff-mini]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_MINI
[env:itead-sonoff-th]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_TH
[env:itead-sonoff-pow]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_POW
[env:itead-sonoff-pow-r2]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_POW_R2 -DDISABLE_POSTMORTEM_STACKDUMP
[env:itead-sonoff-dual]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_DUAL -DDISABLE_POSTMORTEM_STACKDUMP
[env:itead-sonoff-dual-r2]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_DUAL_R2
[env:itead-sonoff-4ch]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_4CH
[env:itead-sonoff-4ch-pro]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_4CH_PRO
[env:itead-sonoff-touch]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_TOUCH
[env:itead-sonoff-b1]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_B1
[env:itead-sonoff-t1-1ch]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_T1_1CH
[env:itead-sonoff-t1-2ch]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_T1_2CH
[env:itead-sonoff-t1-3ch]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_T1_3CH
[env:itead-sonoff-led]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_LED
[env:itead-sonoff-rfbridge]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_RFBRIDGE -DDISABLE_POSTMORTEM_STACKDUMP
[env:itead-sonoff-rfbridge-direct]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_RFBRIDGE -DRFB_DIRECT
[env:itead-slampher]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SLAMPHER
[env:itead-s20]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_S20
[env:itead-1ch-inching]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_1CH_INCHING
[env:itead-motor]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_MOTOR
[env:itead-sonoff-sv]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_SV
[env:itead-sonoff-s31]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_S31 -DDISABLE_POSTMORTEM_STACKDUMP
[env:itead-sonoff-s31-lite]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_S31_LITE
[env:itead-sonoff-ifan02]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_IFAN02
# ------------------------------------------------------------------------------
[env:electrodragon-wifi-iot]
extends = env:esp8266-4m-base
src_build_flags = -DELECTRODRAGON_WIFI_IOT -DDHT_SUPPORT=1
[env:workchoice-ecoplug]
extends = env:esp8266-1m-base
src_build_flags = -DWORKCHOICE_ECOPLUG
[env:jangoe-wifi-relay-nc]
extends = env:esp8266-4m-base
src_build_flags = -DJANGOE_WIFI_RELAY_NC
[env:jangoe-wifi-relay-no]
extends = env:esp8266-4m-base
src_build_flags = -DJANGOE_WIFI_RELAY_NO
[env:openenergymonitor-mqtt-relay]
extends = env:esp8266-4m-base
src_build_flags = -DOPENENERGYMONITOR_MQTT_RELAY -DDALLAS_SUPPORT=1
[env:jorgegarcia-wifi-relays]
extends = env:esp8266-1m-base
src_build_flags = -DJORGEGARCIA_WIFI_RELAYS
[env:aithinker-ai-light]
extends = env:esp8266-1m-base
src_build_flags = -DAITHINKER_AI_LIGHT
[env:lyasi-rgb-light]
extends = env:esp8266-1m-base
src_build_flags = -DLYASI_LIGHT
[env:magichome-led-controller]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_LED_CONTROLLER
[env:magichome-led-controller-20]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_LED_CONTROLLER_20
[env:magichome-zj-wfmn-a-11]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_ZJ_WFMN_A_11
[env:magichome-zj-wfmn-b-11]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_ZJ_WFMN_B_11
[env:magichome-zj-espm-5ch-b-13]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_ZJ_ESPM_5CH_B_13
[env:magichome-zj-lb-rgbww-l]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_ZJ_LB_RGBWW_L
[env:magichome-zj-wfmn-c-11]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_ZJ_WFMN_C_11
[env:huacanxing-h801]
extends = env:esp8266-1m-base
src_build_flags = -DHUACANXING_H801
[env:huacanxing-h802]
extends = env:esp8266-1m-base
src_build_flags = -DHUACANXING_H802
[env:arilux-al-lc01]
extends = env:esp8266-1m-base
src_build_flags = -DARILUX_AL_LC01
[env:arilux-al-lc02]
extends = env:esp8266-1m-base
src_build_flags = -DARILUX_AL_LC02
[env:arilux-al-lc02-v14]
extends = env:esp8266-1m-base
src_build_flags = -DARILUX_AL_LC02_V14
[env:arilux-al-lc06]
extends = env:esp8266-1m-base
src_build_flags = -DARILUX_AL_LC06
[env:arilux-al-lc11]
extends = env:esp8266-1m-base
src_build_flags = -DARILUX_AL_LC11
[env:arilux-e27]
extends = env:esp8266-1m-base
src_build_flags = -DARILUX_E27
[env:itead-bnsz01]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_BNSZ01
[env:wion-50055]
extends = env:esp8266-1m-base
src_build_flags = -DWION_50055
[env:exs-wifi-relay-v31]
extends = env:esp8266-4m-base
src_build_flags = -DEXS_WIFI_RELAY_V31
[env:exs-wifi-relay-v50]
extends = env:esp8266-4m-base
src_build_flags = -DEXS_WIFI_RELAY_V50
[env:wemos-v9261f]
extends = env:esp8266-4m-base
src_build_flags = -DGENERIC_V9261F
[env:esp01-v9261f]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_V9261F
[env:wemos-ech1560]
extends = env:esp8266-4m-base
src_build_flags = -DGENERIC_ECH1560
[env:esp01-ech1560]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_ECH1560
[env:mancavemade-esplive]
extends = env:esp8266-4m-base
src_build_flags = -DMANCAVEMADE_ESPLIVE
[env:tuya-generic-dimmer]
extends = env:esp8266-1m-base
src_build_flags = -DTUYA_GENERIC_DIMMER -DDEBUG_SERIAL_SUPPORT=0 -DDISABLE_POSTMORTEM_STACKDUMP
[env:intermittech-quinled]
extends = env:esp8266-1m-base
src_build_flags = -DINTERMITTECH_QUINLED
[env:xenon-sm-pw702u]
extends = env:esp8266-1m-base
src_build_flags = -DXENON_SM_PW702U
[env:iselector-sm-pw702]
extends = env:esp8266-1m-base
src_build_flags = -DISELECTOR_SM_PW702
[env:authometion-lyt8266]
extends = env:esp8266-1m-base
src_build_flags = -DAUTHOMETION_LYT8266
[env:kmc-70011]
extends = env:esp8266-1m-base
src_build_flags = -DKMC_70011
[env:yjzk-switch-1ch]
extends = env:esp8266-1m-base
src_build_flags = -DYJZK_SWITCH_1CH
[env:yjzk-switch-2ch]
extends = env:esp8266-1m-base
src_build_flags = -DYJZK_SWITCH_2CH
[env:yjzk-switch-3ch]
extends = env:esp8266-1m-base
src_build_flags = -DYJZK_SWITCH_3CH
[env:generic-8ch]
extends = env:esp8266-4m-base
src_build_flags = -DGENERIC_8CH
[env:gizwits-witty-cloud]
extends = env:esp8266-4m-base
src_build_flags = -DGIZWITS_WITTY_CLOUD
[env:euromate-wifi-stecker-shuko]
extends = env:esp8266-1m-base
src_build_flags = -DEUROMATE_WIFI_STECKER_SCHUKO
[env:euromate-wifi-stecker-shuko-v2]
extends = env:esp8266-2m-base
src_build_flags = -DEUROMATE_WIFI_STECKER_SCHUKO_V2
[env:tonbux-powerstrip02]
extends = env:esp8266-1m-base
src_build_flags = -DTONBUX_POWERSTRIP02
[env:lingan-swa1]
extends = env:esp8266-1m-base
src_build_flags = -DLINGAN_SWA1
[env:stm-relay]
extends = env:esp8266-1m-base
src_build_flags = -DSTM_RELAY -DDISABLE_POSTMORTEM_STACKDUMP
[env:heygo-hy02]
extends = env:esp8266-1m-base
src_build_flags = -DHEYGO_HY02
[env:maxcio-wus002s]
extends = env:esp8266-1m-base
src_build_flags = -DMAXCIO_WUS002S
[env:maxcio-wde004]
extends = env:esp8266-1m-base
src_build_flags = -DMAXCIO_WDE004
[env:maxcio-wuk007s]
extends = env:esp8266-1m-base
src_build_flags = -DMAXCIO_WUK007S
[env:yidian-xsssa05]
extends = env:esp8266-1m-base
src_build_flags = -DYIDIAN_XSSSA05
[env:oukitel-p1]
extends = env:esp8266-1m-base
src_build_flags = -DOUKITEL_P1
[env:tonbux-xsssa01]
extends = env:esp8266-1m-base
src_build_flags = -DTONBUX_XSSSA01
[env:tonbux-xsssa06]
extends = env:esp8266-1m-base
src_build_flags = -DTONBUX_XSSSA06
[env:green-esp8266relay]
extends = env:esp8266-4m-base
src_build_flags = -DGREEN_ESP8266RELAY
[env:ike-espike]
extends = env:esp8266-4m-base
src_build_flags = -DIKE_ESPIKE
[env:arniex-swifitch]
extends = env:esp8266-4m-base
src_build_flags = -DARNIEX_SWIFITCH
[env:zhilde-eu44-w]
extends = env:esp8266-1m-base
src_build_flags = -DZHILDE_EU44_W
[env:luani-hvio]
extends = env:esp8266-1m-base
src_build_flags = -DLUANI_HVIO
[env:avatto-power-plug-wifi]
extends = env:esp8266-1m-base
src_build_flags = -DAVATTO_NAS_WR01W
[env:neo-coolcam-power-plug-wifi]
extends = env:esp8266-1m-base
src_build_flags = -DNEO_COOLCAM_NAS_WR01W
[env:deltaco-sh-p01]
extends = env:esp8266-1m-base
src_build_flags = -DDELTACO_SH_P01
[env:deltaco-sh-p03usb]
extends = env:esp8266-1m-base
src_build_flags = -DDELTACO_SH_P03USB
[env:deltaco-sh-lexxw]
extends = env:esp8266-1m-base
src_build_flags = -DDELTACO_SH_LEXXW
[env:deltaco-sh-lexxrgb]
extends = env:esp8266-1m-base
src_build_flags = -DDELTACO_SH_LEXXRGB
[env:estink-wifi-power-strip]
extends = env:esp8266-1m-base
src_build_flags = -DFORNORM_ZLD_34EU
[env:iwoole-led-table-lamp]
extends = env:esp8266-1m-base
src_build_flags = -DIWOOLE_LED_TABLE_LAMP
[env:lombex-lux-nova2-tunable-white]
extends = env:esp8266-1m-base
src_build_flags = -DLOMBEX_LUX_NOVA2_TUNABLE_WHITE
[env:lombex-lux-nova2-white-color]
extends = env:esp8266-1m-base
src_build_flags = -DLOMBEX_LUX_NOVA2_WHITE_COLOR
[env:heltec-touch-relay]
extends = env:esp8266-1m-base
src_build_flags = -DHELTEC_TOUCHRELAY
[env:allnet-4duino-iot-wlan-relais]
extends = env:esp8266-4m-base
src_build_flags = -DALLNET_4DUINO_IOT_WLAN_RELAIS
[env:tonbux-mosquito-killer]
extends = env:esp8266-1m-base
src_build_flags = -DTONBUX_MOSQUITO_KILLER
[env:pilotak-esp-din-v1]
extends = env:esp8266-1m-base
src_build_flags = -DPILOTAK_ESP_DIN_V1
[env:nodemcu-geiger]
extends = env:esp8266-4m-base
src_build_flags = -DNODEMCU_BASIC -DGEIGER_SUPPORT=1 -DEVENTS_SUPPORT=0 -DINFLUXDB_SUPPORT=1 -DALEXA_SUPPORT=0 -DALEXA_ENABLED=0
[env:blitzwolf-bwshpx]
extends = env:esp8266-1m-base
src_build_flags = -DBLITZWOLF_BWSHPX
[env:blitzwolf-bwshpx-v23]
extends = env:esp8266-1m-base
src_build_flags = -DBLITZWOLF_BWSHPX_V23
[env:blitzwolf-bwshp5]
extends = env:esp8266-1m-base
src_build_flags = -DBLITZWOLF_BWSHP5
[env:teckin-sp21]
extends = env:esp8266-1m-base
src_build_flags = -DTECKIN_SP21
[env:teckin-sp22-v14]
extends = env:esp8266-1m-base
src_build_flags = -DTECKIN_SP22_V14
[env:teckin-sp23-v13]
extends = env:esp8266-1m-base
src_build_flags = -DTECKIN_SP23_V13
[env:gosund-wp3]
extends = env:esp8266-1m-base
src_build_flags = -DGOSUND_WP3
[env:gosund-ws1]
extends = env:esp8266-1m-base
src_build_flags = -DGOSUND_WS1
[env:digoo-nx-sp202]
extends = env:esp8266-1m-base
src_build_flags = -DDIGOO_NX_SP202
[env:tflag-nx-smx00]
extends = env:esp8266-1m-base
src_build_flags = -DTFLAG_NX_SMX00
[env:homecube-16a]
extends = env:esp8266-1m-base
src_build_flags = -DHOMECUBE_16A
[env:bh-onofre]
extends = env:esp8266-4m-base
src_build_flags = -DBH_ONOFRE
[env:generic-ag-l4]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_AG_L4
[env:lohas-e27-9w]
extends = env:esp8266-1m-base
src_build_flags = -DLOHAS_E27_9W
[env:lohas-e26-a19]
extends = env:esp8266-1m-base
src_build_flags = -DLOHAS_E26_A19
[env:teckin-sb53]
extends = env:esp8266-1m-base
src_build_flags = -DTECKIN_SB53
[env:allterco-shelly1]
extends = env:esp8266-2m-base
src_build_flags = -DALLTERCO_SHELLY1
[env:allterco-shelly2]
extends = env:esp8266-2m-base
src_build_flags = -DALLTERCO_SHELLY2
[env:allterco-shelly1pm]
extends = env:esp8266-2m-base
src_build_flags = -DALLTERCO_SHELLY1PM
[env:allterco-shelly25]
extends = env:esp8266-2m-base
src_build_flags = -DALLTERCO_SHELLY25
[env:xiaomi-smart-desk-lamp]
extends = env:esp8266-1m-base
src_build_flags = -DXIAOMI_SMART_DESK_LAMP
[env:phyx-esp12-rgb]
extends = env:esp8266-1m-base
src_build_flags = -DPHYX_ESP12_RGB
[env:bestek-mrj1011]
extends = env:esp8266-1m-base
src_build_flags = -DBESTEK_MRJ1011
[env:gblife-rgbw-socket]
extends = env:esp8266-1m-base
src_build_flags = -DGBLIFE_RGBW_SOCKET
[env:smartlife-mini-smart-socket]
extends = env:esp8266-1m-base
src_build_flags = -DSMARTLIFE_MINI_SMART_SOCKET
[env:hama-wifi-steckdose-00176533]
extends = env:esp8266-1m-base
src_build_flags = -DHAMA_WIFI_STECKDOSE_00176533
[env:teckin-sp20]
extends = env:esp8266-1m-base
src_build_flags = -DTECKIN_SP20
[env:litesun-la-wf3]
extends = env:esp8266-1m-base
src_build_flags = -DLITESUN_LA_WF3
[env:generic-gu10]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_GU10
[env:generic-e14]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_E14
[env:nexete-a19]
extends = env:esp8266-1m-base
src_build_flags = -DNEXETE_A19
[env:psh-wifi-plug]
extends = env:esp8266-1m-base
src_build_flags = -DPSH_WIFI_PLUG
[env:psh-rgbw-controller]
extends = env:esp8266-4m-base
src_build_flags = -DPSH_RGBW_CONTROLLER
[env:psh-wifi-sensor]
extends = env:esp8266-4m-base
src_build_flags = -DPSH_WIFI_SENSOR
[env:jinvoo-valve-sm-aw713]
extends = env:esp8266-1m-base
src_build_flags = -DJINVOO_VALVE_SM_AW713
[env:etekcity-esw01-usa]
extends = env:esp8266-1m-base
src_build_flags = -DETEKCITY_ESW01_USA
[env:fs-uap1]
extends = env:esp8266-4m-base
src_build_flags = -DFS_UAP1
[env:muvit-io-miobulb001]
extends = env:esp8266-1m-base
src_build_flags = -DMUVIT_IO_MIOBULB001
[env:hykker-smart-home-power-plug]
extends = env:esp8266-1m-base
src_build_flags = -DHYKKER_SMART_HOME_POWER_PLUG
[env:kogan-smarter-home-plug-w-pow]
extends = env:esp8266-1m-base
src_build_flags = -DKOGAN_SMARTER_HOME_PLUG_W_POW
[env:lsc-smart-led-light-strip]
extends = env:esp8266-1m-base
src_build_flags = -DLSC_SMART_LED_LIGHT_STRIP
[env:linksprite-linknode-r4]
extends = env:esp8266-4m-base
src_build_flags = -DLINKSPRITE_LINKNODE_R4
[env:ehomediy-wt02]
extends = env:esp8266-1m-base
src_build_flags = -DEHOMEDIY_WT02
[env:ehomediy-wt03]
extends = env:esp8266-1m-base
src_build_flags = -DEHOMEDIY_WT03
[env:kingart-curtain-switch]
extends = env:esp8266-1m-base
src_build_flags = -DKINGART_CURTAIN_SWITCH
[env:aoycocr-x5p]
extends = env:esp8266-1m-base
src_build_flags = -DAOYCOCR_X5P
[env:hugoai-awp02l-n]
extends = env:esp8266-1m-base
src_build_flags = -DHUGOAI_AWP02L_N
[env:nedis-wifip310fwt]
extends = env:esp8266-1m-base
src_build_flags = -DNEDIS_WIFIP310FWT