[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
#
#   arduino core 2.3.0 = espressif8266@1.5.0 (not supported)
#   arduino core 2.4.0 = espressif8266@1.6.0 (not supported)
#   arduino core 2.4.1 = espressif8266@1.7.3 (not supported)
#   arduino core 2.4.2 = espressif8266@1.8.0 (not supported)
#   arduino core 2.5.0 = espressif8266@2.0.4 (not supported)
#   arduino core 2.5.1 = espressif8266@2.1.1 (not supported)
#   arduino core 2.5.2 = espressif8266@2.2.3 (not supported)
#   arduino core 2.6.1 = espressif8266@2.3.0 (not supported)
#   arduino core 2.6.2 = espressif8266@2.3.1 (not supported)
#   arduino core 2.6.3 = espressif8266@2.4.0 (not supported)
#   arduino core 2.7.1 = espressif8266@2.5.3
#   arduino core 2.7.2 = espressif8266@2.6.0
#   arduino core 2.7.3 = espressif8266@2.6.1
#   arduino core 2.7.4 = espressif8266@2.6.3 (platform)
#
# ------------------------------------------------------------------------------

platform = espressif8266@2.6.3
platform_latest = espressif8266@2.6.3

# ------------------------------------------------------------------------------
# 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/

git_platform_packages =
    platformio/framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
    mcspr/toolchain-xtensa @ 5.100200.201223

lib_deps =
    https://github.com/me-no-dev/ESPAsyncTCP.git#7e9ed22
    ArduinoJson@5.13.4
    https://github.com/marvinroger/async-mqtt-client#v0.8.1
    https://github.com/xoseperez/eeprom_rotate#0.9.2
    https://github.com/plerup/espsoftwareserial#3.4.1
    https://github.com/me-no-dev/ESPAsyncWebServer#b0c6144
    https://github.com/vintlabs/fauxmoESP#3.1.2
    https://github.com/xoseperez/hlw8012.git#1.1.0
    IRremoteESP8266@2.7.4
    https://github.com/xoseperez/my92xx#3.0.1
    https://github.com/256dpi/arduino-mqtt#196556b6
    https://bitbucket.org/xoseperez/nofuss.git#0.3.0
    OneWire
    PZEM004T
    PubSubClient
    https://github.com/1technophile/rc-switch#11402652
    https://github.com/LowPowerLab/RFM69#adc94d2d
    https://github.com/mcspr/rpnlib.git#0.24.1
    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
    https://github.com/BoschSensortec/BSEC-Arduino-library.git#v1.6.1480
    adafruit/Adafruit NeoPixel@^1.7.0

# ------------------------------------------------------------------------------
# COMMON ENVIRONMENT SETTINGS:
# ------------------------------------------------------------------------------
[env]
platform = ${common.platform}
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 =
    ${common.lib_deps}

lib_ignore =
    AsyncTCP
    Brzo I2C

# ------------------------------------------------------------------------------
# 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 =
    ${common.git_platform_packages}
board_build.ldscript = ${common.ldscript_1m}

[env:esp8266-2m-git-base]
platform = ${common.platform_latest}
board = ${common.board_2m}
platform_packages =
    ${common.git_platform_packages}
board_build.ldscript = ${common.ldscript_2m}

[env:esp8266-4m-git-base]
platform = ${common.platform_latest}
board = ${common.board_4m}
platform_packages =
    ${common.git_platform_packages}
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

# ------------------------------------------------------------------------------
# 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-secure-client-asynctcp]
extends = env:esp8266-4m-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-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-base
src_build_flags = -DTINKERMAN_ESPURNA_H06

[env:tinkerman-espurna-h08]
extends = env:esp8266-4m-base
src_build_flags = -DTINKERMAN_ESPURNA_H08

[env:tinkerman-espurna-switch]
extends = env:esp8266-4m-base
src_build_flags = -DTINKERMAN_ESPURNA_SWITCH

[env:wemos-d1-tarpunashield]
extends = env:esp8266-4m-base
src_build_flags = -DWEMOS_D1_TARPUNA_SHIELD

[env:tinkerman-rfm69gw]
extends = env:esp8266-4m-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=RELAY_TYPE_INVERSE

[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-base
src_build_flags = -DGENERIC_PZEM004T -DDISABLE_POSTMORTEM_STACKDUMP

[env:generic-esp12e-pzem004t]
extends = env:esp8266-4m-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_PROVIDER=RFB_PROVIDER_RCSWITCH

[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-44eu-w]
extends = env:esp8266-1m-base
src_build_flags = -DZHILDE_44EU_W

[env:zhilde-64eu-w]
extends = env:esp8266-1m-base
src_build_flags = -DZHILDE_64EU_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:gosund-sp111]
extends = env:esp8266-1m-base
src_build_flags = -DGOSUND_SP111

[env:gosund-p1]
extends = env:esp8266-1m-base
src_build_flags = -DGOSUND_P1

[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:generic-ag-l4-v3]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_AG_L4_V3

[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

[env:nedis-wifip310fwt-sensor]
extends = env:esp8266-1m-base
src_build_flags = -DNEDIS_WIFIP310FWT -DANALOG_SUPPORT=1

[env:arlec-pc190ha]
extends = env:esp8266-1m-base
src_build_flags = -DARLEC_PC190HA

[env:arlec-pb89ha]
extends = env:esp8266-1m-base
src_build_flags = -DARLEC_PB89HA

[env:prodino-wifi]
extends = env:esp8266-2m-base
src_build_flags = -DPRODINO_WIFI -DNOWSAUTH

[env:fcmila-e27-7w-rgbw]
extends = env:esp8266-1m-base
src_build_flags = -DFCMILA_E27_7W_RGBW

[env:benexmart-gu53-rgbww]
extends = env:esp8266-1m-base
src_build_flags = -DBENEXMART_GU53_RGBWW

[env:lsc-e27-10w-white]
extends = env:esp8266-1m-base
src_build_flags = -DLSC_E27_10W_WHITE

[env:garland-wemos]
extends = env:esp8266-4m-base
board = d1_mini
src_build_flags = -DWEMOS_D1_MINI -DGARLAND_SUPPORT=1
