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.
 
 
 
 
 
 

1629 lines
53 KiB

[platformio]
default_envs = wemos-d1mini-relayshield
src_dir = espurna
data_dir = espurna/data
[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
# arduino core 2.4.1 = platformIO 1.7.3
# arduino core 2.4.2 = platformIO 1.8.0
# arduino core 2.5.0 = platformIO 2.0.4
# arduino core 2.5.1 = platformIO 2.1.1
# arduino core 2.5.2 = platformIO 2.2.2
# ------------------------------------------------------------------------------
arduino_core_2_3_0 = espressif8266@1.5.0
arduino_core_2_4_0 = espressif8266@1.6.0
arduino_core_2_4_1 = espressif8266@1.7.3
arduino_core_2_4_2 = espressif8266@1.8.0
arduino_core_2_5_0 = espressif8266@2.0.4
arduino_core_2_5_1 = espressif8266@2.1.1
arduino_core_2_5_2 = espressif8266@2.2.2
# Development platforms
arduino_core_develop = https://github.com/platformio/platform-espressif8266#develop
arduino_core_git = https://github.com/platformio/platform-espressif8266#feature/stage
platform = ${common.arduino_core_2_3_0}
platform_latest = ${common.arduino_core_2_5_2}
# ------------------------------------------------------------------------------
# FLAGS: DEBUG
#
# ------------------------------------------------------------------------------
debug_flags = -DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM
#if needed (for memleaks etc) also add; -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h"
# ------------------------------------------------------------------------------
# FLAGS: build flags
# build flags for 512k/1m ESP's are different because we use Linker Scripts to adjust flash split
# build_flags_512k ( 512 KB) = 487 KB sketch, 4 KB eeprom, 16 KB reserved
# build_flags_1m0m (1024 KB) = 999 KB sketch, 4 KB eeprom, 16 KB reserved
# build_flags_2m1m (2048 KB) = 1019 KB sketch, 16 KB eeprom, 992 KB spiffs, 16 KB reserved
# build_flags_4m1m (4096 KB) = 1019 KB sketch, 16 KB eeprom, 992 KB spiffs, 16 KB reserved, 2048 KB empty/ota?
# build_flags_4m3m (4096 KB) = 1019 KB sketch, 16 KB eeprom, 3040 KB spiffs, 16 KB reserved
#
# Available lwIP variants (macros):
# -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH = v1.4 Higher Bandwidth (default)
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY = v2 Lower Memory
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH = v2 Higher Bandwidth
#
# BearSSL ciphers:
# When building on core >= 2.5, 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 the OTA size with ~45KB, so it's especially useful on low memory boards (512k/1m).
# ------------------------------------------------------------------------------
board_1m = esp01_1m
board_2m = esp_wroom_02
board_4m = esp12e
build_flags = -g -w -DMQTT_MAX_PACKET_SIZE=1024 -DNO_GLOBAL_EEPROM ${sysenv.ESPURNA_FLAGS} -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
build_flags_512k = ${common.build_flags} -Wl,-Teagle.flash.512k0m1s.ld
build_flags_1m0m = ${common.build_flags} -Wl,-Teagle.flash.1m0m1s.ld
build_flags_2m1m = ${common.build_flags} -Wl,-Teagle.flash.2m1m4s.ld
build_flags_4m1m = ${common.build_flags} -Wl,-Teagle.flash.4m1m4s.ld
build_flags_4m3m = ${common.build_flags} -Wl,-Teagle.flash.4m3m4s.ld
shared_libdeps_dir = libraries/
# ------------------------------------------------------------------------------
# OTA:
# ------------------------------------------------------------------------------
ota_upload_port = "${sysenv.ESPURNA_IP}"
ota_upload_flags = --auth="${sysenv.ESPURNA_AUTH}"
ota_upload_protocol = espota
# ------------------------------------------------------------------------------
# COMMON SETTINGS:
# ------------------------------------------------------------------------------
[env]
platform = ${common.platform}
framework = arduino
board_build.flash_mode = dout
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/debounceevent.git#2.0.5
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
https://github.com/markszabo/IRremoteESP8266#v2.2.0
https://github.com/xoseperez/justwifi.git#2.0.2
https://github.com/madpilot/mDNSResolver#4cfcda1
https://github.com/xoseperez/my92xx#3.0.1
MQTT
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#1.1.3
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/ElderJoy/esp8266-oled-ssd1306#4.0.1
lib_ignore =
# ------------------------------------------------------------------------------
# ESPURNA CORE BUILDS
# ------------------------------------------------------------------------------
[env:espurna-core-1MB]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DESPURNA_CORE
[env:espurna-core-2MB]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DESPURNA_CORE
[env:espurna-core-4MB]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DESPURNA_CORE
[env:espurna-core-smartconfig-1MB]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DESPURNA_CORE -DJUSTWIFI_ENABLE_SMARTCONFIG=1
[env:espurna-core-smartconfig-2MB]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DESPURNA_CORE -DJUSTWIFI_ENABLE_SMARTCONFIG=1
[env:espurna-core-smartconfig-4MB]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DESPURNA_CORE -DJUSTWIFI_ENABLE_SMARTCONFIG=1
[env:espurna-core-wps-1MB]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DESPURNA_CORE -DJUSTWIFI_ENABLE_WPS=1
[env:espurna-core-wps-2MB]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DESPURNA_CORE -DJUSTWIFI_ENABLE_WPS=1
[env:espurna-core-wps-4MB]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DESPURNA_CORE -DJUSTWIFI_ENABLE_WPS=1
# ------------------------------------------------------------------------------
# ESPURNA BASE BUILDS
# ------------------------------------------------------------------------------
[env:espurna-base-1MB]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DESPURNA_BASE
# ------------------------------------------------------------------------------
# GENERIC OTA ENVIRONMENTS
# ------------------------------------------------------------------------------
[env:esp8266-1m-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -D${sysenv.ESPURNA_BOARD}
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:esp8266-2m-ota]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -D${sysenv.ESPURNA_BOARD}
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:esp8266-4m-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -D${sysenv.ESPURNA_BOARD}
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
# ------------------------------------------------------------------------------
# SPECIAL BUILDS - DO. NOT. USE. ever ---
# ------------------------------------------------------------------------------
[env:travis-2_3_0]
platform = ${common.arduino_core_2_3_0}
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m}
[env:travis-latest]
platform = ${common.platform_latest}
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m}
[env:travis-git]
platform = ${common.arduino_core_git}
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m}
# ------------------------------------------------------------------------------
# DEVELOPMENT BOARDS
# ------------------------------------------------------------------------------
[env:wemos-d1mini]
board = d1_mini
build_flags = ${common.build_flags_4m1m} -DWEMOS_D1_MINI -DDEBUG_FAUXMO=Serial -DNOWSAUTH
[env:wemos-d1mini-relayshield]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DWEMOS_D1_MINI_RELAYSHIELD -DDEBUG_FAUXMO=Serial -DNOWSAUTH
[env:wemos-d1mini-relayshield-ssl]
platform = ${common.platform_latest}
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DWEMOS_D1_MINI_RELAYSHIELD -DDEBUG_FAUXMO=Serial -DNOWSAUTH -DASYNC_TCP_SSL_ENABLED=1
[env:wemos-d1mini-relayshield-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DWEMOS_D1_MINI_RELAYSHIELD -DDEBUG_FAUXMO=Serial -DNOWSAUTH
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:nodemcu-lolin]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DNODEMCU_LOLIN -DDEBUG_FAUXMO=Serial -DNOWSAUTH
[env:nodemcu-lolin-252]
platform = ${common.arduino_core_2_5_2}
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DNODEMCU_LOLIN -DDEBUG_FAUXMO=Serial -DNOWSAUTH
[env:nodemcu-lolin-ssl]
platform = ${common.platform_latest}
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DNODEMCU_LOLIN -DDEBUG_FAUXMO=Serial -DNOWSAUTH -DASYNC_TCP_SSL_ENABLED=1
[env:nodemcu-lolin-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DNODEMCU_LOLIN -DDEBUG_FAUXMO=Serial -DNOWSAUTH
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
# ------------------------------------------------------------------------------
# SPECIFIC BOARDS
# ------------------------------------------------------------------------------
[env:tinkerman-espurna-h06]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DTINKERMAN_ESPURNA_H06
[env:tinkerman-espurna-h06-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DTINKERMAN_ESPURNA_H06
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:tinkerman-espurna-h08]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DTINKERMAN_ESPURNA_H08
[env:tinkerman-espurna-h08-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DTINKERMAN_ESPURNA_H08
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:tinkerman-espurna-switch]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DTINKERMAN_ESPURNA_SWITCH
[env:wemos-d1-tarpunashield]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DWEMOS_D1_TARPUNA_SHIELD
[env:tinkerman-rfm69gw]
board = esp12e
build_flags = ${common.build_flags_4m1m} -DTINKERMAN_RFM69GW -DNOWSAUTH
[env:nodemcu-pzem004t]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DNODEMCU_BASIC -DDEBUG_SERIAL_SUPPORT=0 -DPZEM004T_SUPPORT=1 -DDISABLE_POSTMORTEM_STACKDUMP
# ------------------------------------------------------------------------------
[env:foxel-lightfox-dual]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DFOXEL_LIGHTFOX_DUAL -DDISABLE_POSTMORTEM_STACKDUMP
[env:foxel-lightfox-dual-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DFOXEL_LIGHTFOX_DUAL -DDISABLE_POSTMORTEM_STACKDUMP
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-basic]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_BASIC
[env:itead-sonoff-basic-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_BASIC
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-basic-dht]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_BASIC -DDHT_SUPPORT=1
[env:itead-sonoff-basic-r2-dht]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_BASIC -DDHT_SUPPORT=1 -DDHT_PIN=2
[env:itead-sonoff-basic-dht-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_BASIC -DDHT_SUPPORT=1
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-basic-dallas]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_BASIC -DDALLAS_SUPPORT=1
[env:itead-sonoff-basic-r2-dallas]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_BASIC -DDALLAS_SUPPORT=1 -DDALLAS_PIN=2
[env:itead-sonoff-rf]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RF
[env:itead-sonoff-rf-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RF
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-mini]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_MINI
[env:itead-sonoff-mini-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_MINI
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-th]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_TH
[env:itead-sonoff-th-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_TH
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-pow]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_POW
[env:itead-sonoff-pow-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_POW
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-pow-r2]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_POW_R2 -DDISABLE_POSTMORTEM_STACKDUMP
[env:itead-sonoff-pow-r2-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_POW_R2 -DDISABLE_POSTMORTEM_STACKDUMP
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-dual]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_DUAL -DDISABLE_POSTMORTEM_STACKDUMP
[env:itead-sonoff-dual-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_DUAL -DDISABLE_POSTMORTEM_STACKDUMP
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-dual-r2]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_DUAL_R2
[env:itead-sonoff-dual-r2-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_DUAL_R2
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-4ch]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_4CH
[env:itead-sonoff-4ch-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_4CH
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-4ch-pro]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_4CH_PRO
[env:itead-sonoff-4ch-pro-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_4CH_PRO
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-touch]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_TOUCH
[env:itead-sonoff-touch-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_TOUCH
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-b1]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_B1
[env:itead-sonoff-b1-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_B1
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-t1-1ch]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_T1_1CH
[env:itead-sonoff-t1-1ch-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_T1_1CH
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-t1-2ch]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_T1_2CH
[env:itead-sonoff-t1-2ch-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_T1_2CH
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-t1-3ch]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_T1_3CH
[env:itead-sonoff-t1-3ch-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_T1_3CH
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-led]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_LED
[env:itead-sonoff-led-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_LED
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-rfbridge]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RFBRIDGE -DDISABLE_POSTMORTEM_STACKDUMP
[env:itead-sonoff-rfbridge-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RFBRIDGE -DDISABLE_POSTMORTEM_STACKDUMP
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-rfbridge-direct]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RFBRIDGE -DRFB_DIRECT
[env:itead-sonoff-rfbridge-direct-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_RFBRIDGE -DRFB_DIRECT
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
# ------------------------------------------------------------------------------
[env:itead-slampher]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SLAMPHER
[env:itead-slampher-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SLAMPHER
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-s20]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_S20
[env:itead-s20-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_S20
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-1ch-inching]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_1CH_INCHING
[env:itead-1ch-inching-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_1CH_INCHING
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-motor]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_MOTOR
[env:itead-motor-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_MOTOR
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-sv]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_SV
[env:itead-sonoff-sv-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_SV
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-s31]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_S31 -DDISABLE_POSTMORTEM_STACKDUMP
[env:itead-sonoff-s31-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_S31 -DDISABLE_POSTMORTEM_STACKDUMP
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-s31-lite]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_S31_LITE
[env:itead-sonoff-s31-lite-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_S31_LITE
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-sonoff-ifan02]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_IFAN02
[env:itead-sonoff-ifan02-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_SONOFF_IFAN02
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
# ------------------------------------------------------------------------------
[env:electrodragon-wifi-iot]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DELECTRODRAGON_WIFI_IOT -DDHT_SUPPORT=1
[env:electrodragon-wifi-iot-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DELECTRODRAGON_WIFI_IOT -DDHT_SUPPORT=1
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:workchoice-ecoplug]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DWORKCHOICE_ECOPLUG
[env:workchoice-ecoplug-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DWORKCHOICE_ECOPLUG
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:jangoe-wifi-relay-nc]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DJANGOE_WIFI_RELAY_NC
[env:jangoe-wifi-relay-nc-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DJANGOE_WIFI_RELAY_NC
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:jangoe-wifi-relay-no]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DJANGOE_WIFI_RELAY_NO
[env:jangoe-wifi-relay-no-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DJANGOE_WIFI_RELAY_NO
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:openenergymonitor-mqtt-relay]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DOPENENERGYMONITOR_MQTT_RELAY -DDALLAS_SUPPORT=1
[env:openenergymonitor-mqtt-relay-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DOPENENERGYMONITOR_MQTT_RELAY -DDALLAS_SUPPORT=1
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:jorgegarcia-wifi-relays]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DJORGEGARCIA_WIFI_RELAYS
[env:jorgegarcia-wifi-relays-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DJORGEGARCIA_WIFI_RELAYS
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:aithinker-ai-light]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DAITHINKER_AI_LIGHT
[env:aithinker-ai-light-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DAITHINKER_AI_LIGHT
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:lyasi-rgb-light]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLYASI_LIGHT
[env:lyasi-rgb-light-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLYASI_LIGHT
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:magichome-led-controller]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAGICHOME_LED_CONTROLLER
[env:magichome-led-controller-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAGICHOME_LED_CONTROLLER
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:magichome-led-controller-20]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAGICHOME_LED_CONTROLLER_20
[env:magichome-led-controller-20-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAGICHOME_LED_CONTROLLER_20
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:magichome-zj-wfmn-a-11]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAGICHOME_ZJ_WFMN_A_11
[env:magichome-zj-wfmn-a-11-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAGICHOME_ZJ_WFMN_A_11
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:magichome-zj-wfmn-b-11]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAGICHOME_ZJ_WFMN_B_11
[env:magichome-zj-wfmn-b-11-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAGICHOME_ZJ_WFMN_B_11
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:magichome-zj-espm-5ch-b-13]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAGICHOME_ZJ_ESPM_5CH_B_13
[env:magichome-zj-espm-5ch-b-13-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAGICHOME_ZJ_ESPM_5CH_B_13
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:huacanxing-h801]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DHUACANXING_H801
[env:huacanxing-h801-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DHUACANXING_H801
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:huacanxing-h802]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DHUACANXING_H802
[env:huacanxing-h802-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DHUACANXING_H802
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:arilux-al-lc01]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DARILUX_AL_LC01
[env:arilux-al-lc01-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DARILUX_AL_LC01
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:arilux-al-lc02]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DARILUX_AL_LC02
[env:arilux-al-lc02-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DARILUX_AL_LC02
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:arilux-al-lc02-v14]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DARILUX_AL_LC02_V14
[env:arilux-al-lc02-v14-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DARILUX_AL_LC02_V14
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:arilux-al-lc06]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DARILUX_AL_LC06
[env:arilux-al-lc06-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DARILUX_AL_LC06
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:arilux-al-lc11]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DARILUX_AL_LC11
[env:arilux-al-lc11-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DARILUX_AL_LC11
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:arilux-e27]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DARILUX_E27
[env:arilux-e27-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DARILUX_E27
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:itead-bnsz01]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_BNSZ01
[env:itead-bnsz01-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DITEAD_BNSZ01
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:wion-50055]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DWION_50055
[env:wion-50055-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DWION_50055
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:exs-wifi-relay-v31]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DEXS_WIFI_RELAY_V31
[env:exs-wifi-relay-v31-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DEXS_WIFI_RELAY_V31
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:exs-wifi-relay-v50]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DEXS_WIFI_RELAY_V50
[env:exs-wifi-relay-v50-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DEXS_WIFI_RELAY_V50
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:wemos-v9261f]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DGENERIC_V9261F
[env:wemos-v9261f-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DGENERIC_V9261F
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:esp01-v9261f]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_V9261F
[env:esp01-v9261f-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_V9261F
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:wemos-ech1560]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DGENERIC_ECH1560
[env:wemos-ech1560-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DGENERIC_ECH1560
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:esp01-ech1560]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_ECH1560
[env:esp01-ech1560-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_ECH1560
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:mancavemade-esplive]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DMANCAVEMADE_ESPLIVE
[env:mancavemade-esplive-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DMANCAVEMADE_ESPLIVE
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:intermittech-quinled]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DINTERMITTECH_QUINLED
[env:intermittech-quinled-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DINTERMITTECH_QUINLED
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:xenon-sm-pw702u]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DXENON_SM_PW702U
[env:xenon-sm-pw702u-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DXENON_SM_PW702U
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:iselector-sm-pw702]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DISELECTOR_SM_PW702
[env:iselector-sm-pw702-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DISELECTOR_SM_PW702
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:authometion-lyt8266]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DAUTHOMETION_LYT8266
[env:authometion-lyt8266-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DAUTHOMETION_LYT8266
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:kmc-70011]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DKMC_70011
[env:kmc-70011-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DKMC_70011
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:yjzk-switch-1ch]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DYJZK_SWITCH_1CH
[env:yjzk-switch-1ch-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DYJZK_SWITCH_1CH
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:yjzk-switch-2ch]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DYJZK_SWITCH_2CH
[env:yjzk-switch-2ch-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DYJZK_SWITCH_2CH
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:yjzk-switch-3ch]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DYJZK_SWITCH_3CH
[env:yjzk-switch-3ch-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DYJZK_SWITCH_3CH
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:generic-8ch]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DGENERIC_8CH
[env:gizwits-witty-cloud]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DGIZWITS_WITTY_CLOUD
[env:gizwits-witty-cloud-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DGIZWITS_WITTY_CLOUD
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:euromate-wifi-stecker-shuko]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DEUROMATE_WIFI_STECKER_SCHUKO
[env:euromate-wifi-stecker-shuko-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DEUROMATE_WIFI_STECKER_SCHUKO
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:euromate-wifi-stecker-shuko-v2]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DEUROMATE_WIFI_STECKER_SCHUKO_V2
[env:euromate-wifi-stecker-shuko-v2-ota]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DEUROMATE_WIFI_STECKER_SCHUKO_V2
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:tonbux-powerstrip02]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTONBUX_POWERSTRIP02
[env:tonbux-powerstrip02-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTONBUX_POWERSTRIP02
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:lingan-swa1]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLINGAN_SWA1
[env:lingan-swa1-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLINGAN_SWA1
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:stm-relay]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DSTM_RELAY -DDISABLE_POSTMORTEM_STACKDUMP
[env:stm-relay-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DSTM_RELAY -DDISABLE_POSTMORTEM_STACKDUMP
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:heygo-hy02]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DHEYGO_HY02
[env:heygo-hy02-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DHEYGO_HY02
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:maxcio-wus002s]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAXCIO_WUS002S
[env:maxcio-wus002s-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAXCIO_WUS002S
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:maxcio-wde004]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAXCIO_WDE004
[env:maxcio-wde004-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DMAXCIO_WDE004
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:yidian-xsssa05]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DYIDIAN_XSSSA05
[env:yidian-xsssa05-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DYIDIAN_XSSSA05
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:oukitel-p1]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DOUKITEL_P1
[env:oukitel-p1-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DOUKITEL_P1
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:tonbux-xsssa01]
board = ${common.board_1m}
build_flags = ${common.build_flags_4m1m} -DTONBUX_XSSSA01
[env:tonbux-xsssa01-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_4m1m} -DTONBUX_XSSSA01
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:tonbux-xsssa06]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTONBUX_XSSSA06
[env:tonbux-xsssa06-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTONBUX_XSSSA06
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:green-esp8266relay]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DGREEN_ESP8266RELAY
[env:green-esp8266relay-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DGREEN_ESP8266RELAY
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:ike-espike]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DIKE_ESPIKE
[env:ike-espike-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DIKE_ESPIKE
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:arniex-swifitch]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DARNIEX_SWIFITCH
[env:arniex-swifitch-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DARNIEX_SWIFITCH
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:zhilde-eu44-w]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DZHILDE_EU44_W
[env:zhilde-eu44-w-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DZHILDE_EU44_W
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:luani-hvio]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLUANI_HVIO
[env:luani-hvio-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLUANI_HVIO
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:neo-coolcam-power-plug-wifi]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DNEO_COOLCAM_NAS_WR01W
[env:neo-coolcam-power-plug-wifi-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DNEO_COOLCAM_NAS_WR01W
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:estink-wifi-power-strip]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DFORNORM_ZLD_34EU
[env:estink-wifi-power-strip-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DFORNORM_ZLD_34EU
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:iwoole-led-table-lamp]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DIWOOLE_LED_TABLE_LAMP
[env:iwoole-led-table-lamp-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DIWOOLE_LED_TABLE_LAMP
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:lombex-lux-nova2-tunable-white]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLOMBEX_LUX_NOVA2_TUNABLE_WHITE
[env:lombex-lux-nova2-tunable-white-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLOMBEX_LUX_NOVA2_TUNABLE_WHITE
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:lombex-lux-nova2-white-color]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLOMBEX_LUX_NOVA2_WHITE_COLOR
[env:lombex-lux-nova2-white-color-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLOMBEX_LUX_NOVA2_WHITE_COLOR
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
# ------------------------------------------------------------------------------
# GENERIC OTA ENVIRONMENTS
# ------------------------------------------------------------------------------
[env:generic-esp01s-relay-40]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_RELAY_V40
[env:generic-esp01s-relay-40-inv]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_RELAY_V40 -DRELAY1_TYPE=1
[env:generic-esp01s-relay-40-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_RELAY_V40
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:generic-esp01s-relay-40-inv-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_RELAY_V40 -DRELAY1_TYPE=1
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:generic-esp01s-rgbled-10]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_RGBLED_V10
[env:generic-esp01s-rgbled-10-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_RGBLED_V10
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:generic-esp01s-dht11-10]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_DHT11_V10
[env:generic-esp01s-dht11-10-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_DHT11_V10
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:generic-esp01s-ds18b20-10]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_DS18B20_V10
[env:generic-esp01s-ds18b20-10-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_ESP01S_DS18B20_V10
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:heltec-touch-relay]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DHELTEC_TOUCHRELAY
[env:heltec-touch-relay-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DHELTEC_TOUCHRELAY
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:allnet-4duino-iot-wlan-relais]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DALLNET_4DUINO_IOT_WLAN_RELAIS
[env:allnet-4duino-iot-wlan-relais-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DALLNET_4DUINO_IOT_WLAN_RELAIS
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:tonbux-mosquito-killer]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTONBUX_MOSQUITO_KILLER
[env:tonbux-mosquito-killer-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTONBUX_MOSQUITO_KILLER
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:pilotak-esp-din-v1]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DPILOTAK_ESP_DIN_V1
[env:pilotak-esp-din-v1-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DPILOTAK_ESP_DIN_V1
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:nodemcu-geiger]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DNODEMCU_BASIC -DGEIGER_SUPPORT=1 -DEVENTS_SUPPORT=0 -DINFLUXDB_SUPPORT=1 -DALEXA_SUPPORT=0 -DALEXA_ENABLED=0
[env:nodemcu-geiger-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DNODEMCU_BASIC -DGEIGER_SUPPORT=1 -DEVENTS_SUPPORT=0 -DINFLUXDB_SUPPORT=1 -DALEXA_SUPPORT=0 -DALEXA_ENABLED=0
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:blitzwolf-bwshpx]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DBLITZWOLF_BWSHPX
[env:blitzwolf-bwshpx-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DBLITZWOLF_BWSHPX
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:blitzwolf-bwshpx-v23]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DBLITZWOLF_BWSHPX_V23
[env:blitzwolf-bwshpx-v23-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DBLITZWOLF_BWSHPX_V23
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:teckin-sp21]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTECKIN_SP21
[env:teckin-sp21-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTECKIN_SP21
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:teckin-sp22-v14]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTECKIN_SP22_V14
[env:teckin-sp22-v14-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTECKIN_SP22_V14
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:gosund-ws1]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGOSUND_WS1
[env:gosund-ws1-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGOSUND_WS1
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:digoo-nx-sp202]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DDIGOO_NX_SP202
[env:digoo-nx-sp202-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DDIGOO_NX_SP202
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:tflag-nx-smx00]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTFLAG_NX_SMX00
[env:tflag-nx-smx00-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTFLAG_NX_SMX00
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:homecube-16a]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DHOMECUBE_16A
[env:homecube-16a-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DHOMECUBE_16A
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:bh-onofre]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DBH_ONOFRE
[env:bh-onofre-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DBH_ONOFRE
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:generic-ag-l4]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_AG_L4
[env:generic-ag-l4-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_AG_L4
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:lohas-e27-9w]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLOHAS_9W
[env:lohas-e27-9w-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLOHAS_9W
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:allterco-shelly1]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DALLTERCO_SHELLY1
[env:allterco-shelly1-ota]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DALLTERCO_SHELLY1
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:allterco-shelly2]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DALLTERCO_SHELLY2
[env:allterco-shelly2-ota]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DALLTERCO_SHELLY2
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:allterco-shelly1pm]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DALLTERCO_SHELLY1PM
[env:allterco-shelly1pm-ota]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DALLTERCO_SHELLY1PM
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:allterco-shelly25]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DALLTERCO_SHELLY25
[env:allterco-shelly25-ota]
board = ${common.board_2m}
build_flags = ${common.build_flags_2m1m} -DALLTERCO_SHELLY25
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:xiaomi-smart-desk-lamp]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DXIAOMI_SMART_DESK_LAMP
[env:xiaomi-smart-desk-lamp-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DXIAOMI_SMART_DESK_LAMP
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:phyx-esp12-rgb]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DPHYX_ESP12_RGB
[env:phyx-esp12-rgb-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DPHYX_ESP12_RGB
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:bestek-mrj1011]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DBESTEK_MRJ1011
[env:bestek-mrj1011-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DBESTEK_MRJ1011
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:gblife-rgbw-socket]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGBLIFE_RGBW_SOCKET
[env:gblife-rgbw-socket-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGBLIFE_RGBW_SOCKET
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:smartlife-mini-smart-socket]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DSMARTLIFE_MINI_SMART_SOCKET
[env:smartlife-mini-smart-socket-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DSMARTLIFE_MINI_SMART_SOCKET
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:hama-wifi-steckdose-00176533]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DHAMA_WIFI_STECKDOSE_00176533
[env:hama-wifi-steckdose-00176533-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DHAMA_WIFI_STECKDOSE_00176533
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:teckin-sp20]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTECKIN_SP20
[env:teckin-sp20-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DTECKIN_SP20
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:litesun-la-wf3]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLITESUN_LA_WF3
[env:litesun-la-wf3-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DLITESUN_LA_WF3
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:generic-gu10]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_GU10
[env:generic-gu10-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DGENERIC_GU10
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:nexete-a19]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DNEXETE_A19
[env:generic-nexete-a19-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DNEXETE_A19
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:psh-wifi-plug]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DPSH_WIFI_PLUG
[env:psh-wifi-plug-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DPSH_WIFI_PLUG
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:psh-rgbw-controller]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DPSH_RGBW_CONTROLLER
[env:psh-rgbw-controller-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DPSH_RGBW_CONTROLLER
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:psh-wifi-sensor]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DPSH_WIFI_SENSOR
[env:psh-wifi-sensor-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DPSH_WIFI_SENSOR
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:jinvoo-valve-sm-aw713]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DJINVOO_VALVE_SM_AW713
[env:jinvoo-valve-sm-aw713-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DJINVOO_VALVE_SM_AW713
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:etekcity-esw01-usa]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DETEKCITY_ESW01_USA
[env:etekcity-esw01-usa-ota]
board = ${common.board_1m}
build_flags = ${common.build_flags_1m0m} -DETEKCITY_ESW01_USA
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}
[env:fs-uap1]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DFS_UAP1
[env:fs-uap1-ota]
board = ${common.board_4m}
build_flags = ${common.build_flags_4m1m} -DFS_UAP1
upload_port = ${common.ota_upload_port}
upload_flags = ${common.ota_upload_flags}