; PlatformIO Project Configuration File ; ; Build options: build flags, source filter, extra scripting ; Upload options: custom port, speed and extra flags ; Library options: dependencies, extra library storages ; ; Please visit documentation for the other options and examples ; http://docs.platformio.org/en/stable/projectconf.html [platformio] src_dir = tasmota build_dir = .pioenvs build_cache_dir = .cache ; *** Build/upload environment default_envs = ; *** Uncomment by deleting ";" in the line(s) below to select version(s) ; tasmota ; tasmota-ircustom ; alternative to 'tasmota' with full IR protocols activated, you will need to disable some features to keep code not too big ; tasmota-minimal ; tasmota-basic ; tasmota-knx ; tasmota-sensors ; tasmota-display ; tasmota-ir ; tasmota-BG ; tasmota-BR ; tasmota-CN ; tasmota-CZ ; tasmota-DE ; tasmota-ES ; tasmota-FR ; tasmota-GR ; tasmota-HE ; tasmota-HU ; tasmota-IT ; tasmota-KO ; tasmota-NL ; tasmota-PL ; tasmota-PT ; tasmota-RU ; tasmota-SE ; tasmota-SK ; tasmota-TR ; tasmota-TW ; tasmota-UK [common] framework = arduino board = esp01_1m board_build.flash_mode = dout platform = ${core_active.platform} build_flags = ${core_active.build_flags} ; ********************************************************************* ; *** Uncomment, by deleting ";" in line below, to use custom settings from file user_config_override.h ; -DUSE_CONFIG_OVERRIDE ; ********************************************************************* ; *** Optional Debug messages ; -DDEBUG_TASMOTA_CORE ; -DDEBUG_TASMOTA_DRIVER ; -DDEBUG_TASMOTA_SENSOR ; *** Optional Firmware configurations ; -DFIRMWARE_MINIMAL ; -DFIRMWARE_SENSORS ; -DFIRMWARE_BASIC ; -DFIRMWARE_KNX_NO_EMULATION ; -DFIRMWARE_DISPLAYS ; -DFIRMWARE_IR ; -DFIRMWARE_IR_CUSTOM ; *** Fix espressif8266@1.7.0 induced undesired all warnings build_unflags = -Wall ; set CPU frequency to 80MHz (default) or 160MHz board_build.f_cpu = 80000000L ;board_build.f_cpu = 160000000L monitor_speed = 115200 upload_speed = 115200 upload_resetmethod = nodemcu ; *** Upload Serial reset method for Wemos and NodeMCU upload_port = COM5 extra_scripts = pio/strip-floats.py pio/name-firmware.py ; pio/obj-dump.py ; *** Upload file to OTA server using SCP ;upload_port = user@host:/path ;extra_scripts = pio/strip-floats.py, pio/sftp-uploader.py ; *** Upload file to OTA server in folder api/arduino using HTTP ;upload_port = domus1:80/api/upload-arduino.php ;extra_scripts = pio/strip-floats.py, pio/http-uploader.py [core_active] ; Select one core set for platform and build_flags platform = ${core_2_6_1.platform} build_flags = ${core_2_6_1.build_flags} ;platform = ${core_stage.platform} ;build_flags = ${core_stage.build_flags} ; ********************************************************************* [esp82xx_defaults] build_flags = -D NDEBUG -mtarget-align -Wl,-Map,firmware.map [core_2_6_1] ; *** Esp8266 core for Arduino version 2.6.1 platform = espressif8266@~2.3.0 build_flags = ${esp82xx_defaults.build_flags} -Wl,-Teagle.flash.1m.ld -DBEARSSL_SSL_BASIC ; NONOSDK221 ; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221 ; NONOSDK22x_190313 ; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190313 ; NONOSDK22x_190703 = 2.2.2-dev(38a443e) (Tasmota default) -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703 ; NONOSDK22x_191024 = 2.2.2-dev(5ab15d1) ; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191024 ; NONOSDK22x_191105 = 2.2.2-dev(bb83b9b) ; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105 ; NONOSDK3V0 (known issues) ; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3 ; lwIP 1.4 ; -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH ; lwIP 2 - Low Memory ; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY ; lwIP 2 - Higher Bandwidth ; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH ; lwIP 2 - Higher Bandwidth Low Memory no Features ; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH ; lwIP 2 - Higher Bandwidth no Features (Tasmota default) -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH ; lwIP 2 - Higher Bandwidth IPv6 (use ONLY if you need IPv6, experimental!) ; -DPIO_FRAMEWORK_ARDUINO_LWIP2_IPV6_HIGHER_BANDWIDTH ; VTABLES in Flash (Tasmota default) -DVTABLES_IN_FLASH ; VTABLES in Heap ; -DVTABLES_IN_DRAM ; VTABLES in IRAM ; -DVTABLES_IN_IRAM ; enable one option set -> No exception recommended ; No exception code in firmware -fno-exceptions -lstdc++ ; Exception code in firmware /needs much space! 90k ; -fexceptions ; -lstdc++-exc [core_stage] ; *** Esp8266 core for Arduino version latest beta platform = https://github.com/platformio/platform-espressif8266.git#feature/stage build_flags = ${esp82xx_defaults.build_flags} -Wl,-Teagle.flash.1m.ld -DBEARSSL_SSL_BASIC ; NONOSDK221 ; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221 ; NONOSDK22x_190313 ; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190313 ; NONOSDK22x_190703 (Tasmota default) -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703 ; NONOSDK22x_191024 ; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191024 ; NONOSDK22x_191105 ; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105 ; NONOSDK3V0 (known issues) ; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3 ; lwIP 1.4 ; -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH ; lwIP 2 - Low Memory ; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY ; lwIP 2 - Higher Bandwidth ; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH ; lwIP 2 - Higher Bandwidth Low Memory no Features ; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH ; lwIP 2 - Higher Bandwidth no Features (Tasmota default) -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH ; VTABLES in Flash (Tasmota default) -DVTABLES_IN_FLASH ; VTABLES in Heap ; -DVTABLES_IN_DRAM ; VTABLES in IRAM ; -DVTABLES_IN_IRAM ; enable one option set -> No exception recommended ; No exception code in firmware -fno-exceptions -lstdc++ ; Exception code in firmware /needs much space! 90k ; -fexceptions ; -lstdc++-exc [env:tasmota] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} ; *** Debug version used for PlatformIO Home Project Inspection [env:tasmota-debug] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_type = debug build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-minimal] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DFIRMWARE_MINIMAL monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-basic] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DFIRMWARE_BASIC monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-knx] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DFIRMWARE_KNX_NO_EMULATION monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-sensors] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DFIRMWARE_SENSORS monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-display] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DFIRMWARE_DISPLAYS monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-ir] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DUSE_IR_REMOTE_FULL -DFIRMWARE_IR monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-ircustom] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DUSE_IR_REMOTE_FULL monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-BG] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=bg-BG monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-BR] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=pt-BR monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-CN] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=zh-CN monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-CZ] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=cs-CZ monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-DE] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=de-DE monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-ES] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=es-ES monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-FR] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=fr-FR monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-GR] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=el-GR monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-HE] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=he-HE monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-HU] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=hu-HU monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-IT] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=it-IT monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-KO] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=ko-KO monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-NL] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=nl-NL monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-PL] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=pl-PL monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-PT] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=pt-PT monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-RU] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=ru-RU monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-SE] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=sv-SE monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-SK] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=sk-SK monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-TR] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=tr-TR monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-TW] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=zh-TW monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts} [env:tasmota-UK] platform = ${common.platform} framework = ${common.framework} board = ${common.board} board_build.flash_mode = ${common.board_build.flash_mode} board_build.f_cpu = ${common.board_build.f_cpu} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DMY_LANGUAGE=uk-UK monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} extra_scripts = ${common.extra_scripts}