Unable to communicate with Mega after uploading with platformIO, stuck at 0.8.1

Hello, i’ve been trying to update several times in the last year, and either my arduino ide errors because of json on any of the newer versions(tried every version of lib available), or if i try to switch to platformIO i am stuck with the following situation. (tried with 0.99, 0.98, 0.94, 0.92) i’m using the default environment

[env:atmega-all-test]
platform = ${com.atmelavr_platform}
board = megaatmega2560

i am using only as ir and rf

i can build and upload, but when i try to send commands, when i try to open port to follow serial etc, there is nothing. Also the device never shows when searching for ip on network.

Is this a known issue?

> Executing task: C:\Users\setchfie\.platformio\penv\Scripts\platformio.e

Processing atmega-all-test (platform: atmelavr@3.2.0; board: megaatmega25
-------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/megaatmeg
PLATFORM: Atmel AVR (3.2.0) > Arduino Mega or Mega 2560 ATmega2560 (Mega 
HARDWARE: ATMEGA2560 16MHz, 8KB RAM, 248KB Flash
DEBUG: Current (avr-stub) On-board (avr-stub, simavr)
PACKAGES:
 - framework-arduino-avr 5.1.0
 - tool-avrdude 1.60300.200527 (6.3.0)
 - toolchain-atmelavr 1.70300.191015 (7.3.0)
Converting main.ino
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Library Manager: Installing BMP180#efac46bd8d
Warning! Could not find the package with 'BMP180#efac46bd8d' requirements
Found 33 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <PubSubClient> 2.8.0
|   |-- <ArduinoSTL> 1.1.0+sha.7411816
|-- <ArduinoJson> 5.13.4
|   |-- <ArduinoSTL> 1.1.0+sha.7411816
|-- <ArduinoLog> 1.0.3+sha.d13cd80
|-- <Ethernet> 2.0.0
|   |-- <SPI> 1.0
|-- <IRremote> 2.4.0+sha.1c08a37
|-- <RFM69> 1.4.0+sha.2e915ea
|   |-- <SPIFlash> 101.1.3
|   |   |-- <SPI> 1.0
|   |-- <SPI> 1.0
|   |-- <Low-Power> 1.6.0
|-- <SPIFlash> 0.0.0+sha.9c0c2b9
|   |-- <SPI> 1.0
|-- <Low-Power> 1.6.0
|-- <rc-switch> 2.6.2+sha.36dfb45
|-- <NewRemoteSwitch> 0.0.0+20220205080023.sha.8eb980e
|   |-- <ArduinoSTL> 1.1.0+sha.7411816
|-- <SparkFun BME280> 2.0.4
|   |-- <SPI> 1.0
|   |-- <Wire> 1.0
|-- <SparkFun HTU21D Humidity and Temperature Sensor Breakout> 1.1.3
|   |-- <Wire> 1.0
|-- <Adafruit AHTX0> 2.0.1
|   |-- <Adafruit BusIO> 1.11.0
|   |   |-- <Wire> 1.0
|   |   |-- <SPI> 1.0
|   |-- <Wire> 1.0
|   |-- <SPI> 1.0
|   |-- <Adafruit Unified Sensor> 1.0.2
|-- <Adafruit Unified Sensor> 1.0.2
|-- <DHT sensor library> 1.3.0
|   |-- <Adafruit Unified Sensor> 1.0.2
|-- <Adafruit TSL2561> 1.0.3
|   |-- <Adafruit Unified Sensor> 1.0.2
|   |-- <Wire> 1.0
|-- <A6lib> 0.0.0+sha.fe873c9
|   |-- <SoftwareSerial> 1.0
|-- <Arduino-INA226> 0.0.0+20220205080104.sha.968a684
|   |-- <Wire> 1.0
|-- <FastLED> 3.3.2
|   |-- <SPI> 1.0
|   |-- <SoftwareSerial> 1.0
|-- <OneWire> 2.3.6
|-- <DallasTemperature> 3.9.1
|   |-- <OneWire> 2.3.6
|-- <WeatherStationDataRx> 0.3.1
|-- <ArduinoSTL> 1.1.0+sha.7411816
|-- <Wire> 1.0
|-- <EEPROM> 2.0
|-- <SoftwareSerial> 1.0
|-- <SPI> 1.0
Building in release mode
Compiling .pio\build\atmega-all-test\lib3d1\FastLED\FastLED.cpp.o
Compiling .pio\build\atmega-all-test\lib3d1\FastLED\bitswap.cpp.o
Compiling .pio\build\atmega-all-test\lib3d1\FastLED\colorpalettes.cpp.o
Compiling .pio\build\atmega-all-test\lib3d1\FastLED\colorutils.cpp.o
Compiling .pio\build\atmega-all-test\lib3d1\FastLED\hsv2rgb.cpp.o
Compiling .pio\build\atmega-all-test\lib3d1\FastLED\lib8tion.cpp.o
Compiling .pio\build\atmega-all-test\lib3d1\FastLED\noise.cpp.o
Compiling .pio\build\atmega-all-test\lib3d1\FastLED\platforms.cpp.o
Compiling .pio\build\atmega-all-test\lib3d1\FastLED\power_mgt.cpp.o
Compiling .pio\build\atmega-all-test\lib3d1\FastLED\wiring.cpp.o
Compiling .pio\build\atmega-all-test\src\main.ino.cpp.o
Compiling .pio\build\atmega-all-test\src\zzHTTPUpdate.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\ArduinoSTL.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\abi\abi.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\algorithm.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\associative_base.c
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\bitset.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\char_traits.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\complex.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\del_op.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\del_opnt.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\del_ops.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\del_opv.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\del_opvnt.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\del_opvs.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\deque.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\eh_alloc.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\eh_globals.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\exception.cpp.o
In file included from C:/Users/setchfie/Dropbox/Arduino Sketches/OpenMQTT
.pio\libdeps\atmega-all-test\FastLED/FastLED.h:14:21: note: #pragma messa
 #    pragma message "FastLED version 3.003.002"
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\func_exception.cpp
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\iomanip.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\ios.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\iostream.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\istream.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\iterator.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\limits.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\list.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\locale.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\map.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\new_handler.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\new_op.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\new_opnt.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\new_opv.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\new_opvnt.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\numeric.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\ostream.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\ostream_helpers.cp
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\queue.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\set.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\sstream.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\stack.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\stdexcept.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\streambuf.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\string.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\support.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\typeinfo.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\utility.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\valarray.cpp.o
Compiling .pio\build\atmega-all-test\lib957\ArduinoSTL\vector.cpp.o
Compiling .pio\build\atmega-all-test\libd5c\PubSubClient\PubSubClient.cpp
Compiling .pio\build\atmega-all-test\lib9af\ArduinoLog\ArduinoLog.cpp.o
Compiling .pio\build\atmega-all-test\libfd7\SPI\SPI.cpp.o
Compiling .pio\build\atmega-all-test\lib0a7\Ethernet\Dhcp.cpp.o
Compiling .pio\build\atmega-all-test\lib0a7\Ethernet\Dns.cpp.o
Compiling .pio\build\atmega-all-test\lib0a7\Ethernet\Ethernet.cpp.o
Compiling .pio\build\atmega-all-test\lib0a7\Ethernet\EthernetClient.cpp.o
Archiving .pio\build\atmega-all-test\lib957\libArduinoSTL.a
Archiving .pio\build\atmega-all-test\libd5c\libPubSubClient.a
Archiving .pio\build\atmega-all-test\libfd7\libSPI.a
Archiving .pio\build\atmega-all-test\lib9af\libArduinoLog.a
Compiling .pio\build\atmega-all-test\lib0a7\Ethernet\EthernetServer.cpp.o
Compiling .pio\build\atmega-all-test\lib0a7\Ethernet\EthernetUdp.cpp.o
Compiling .pio\build\atmega-all-test\lib0a7\Ethernet\socket.cpp.o
Compiling .pio\build\atmega-all-test\lib0a7\Ethernet\utility\w5100.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\IRremote.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\esp32.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\irPronto.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\irRecv.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\irSend.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Aiwa.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_BoseWave.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Denon.cpp.o
Archiving .pio\build\atmega-all-test\lib0a7\libEthernet.a
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Dish.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_JVC.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_LG.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Lego_PF.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Mitsubishi.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_NEC.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Panasonic.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_RC5_RC6.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Samsung.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Sanyo.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Sharp.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Sharp_alt.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Sony.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Template.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\ir_Whynter.cpp.o
Compiling .pio\build\atmega-all-test\lib3ef\IRremote\sam.cpp.o
Compiling .pio\build\atmega-all-test\libfba\SPIFlash\SPIFlash.cpp.o
Compiling .pio\build\atmega-all-test\libee2\Low-Power\LowPower.cpp.o
Compiling .pio\build\atmega-all-test\lib004\RFM69\RFM69.cpp.o
Compiling .pio\build\atmega-all-test\lib004\RFM69\RFM69_ATC.cpp.o
Compiling .pio\build\atmega-all-test\lib004\RFM69\RFM69_OTA.cpp.o
Compiling .pio\build\atmega-all-test\libc18\SPIFlash@src-90a2304f97cc3748
Compiling .pio\build\atmega-all-test\lib2c3\rc-switch\RCSwitch.cpp.o
Archiving .pio\build\atmega-all-test\lib3ef\libIRremote.a
Archiving .pio\build\atmega-all-test\libfba\libSPIFlash.a
Archiving .pio\build\atmega-all-test\libee2\libLow-Power.a
Compiling .pio\build\atmega-all-test\lib2f6\NewRemoteSwitch\NewRemoteRece
Compiling .pio\build\atmega-all-test\lib2f6\NewRemoteSwitch\NewRemoteTran
Archiving .pio\build\atmega-all-test\lib004\libRFM69.a
Compiling .pio\build\atmega-all-test\lib2cf\Wire\Wire.cpp.o
Compiling .pio\build\atmega-all-test\lib2cf\Wire\utility\twi.c.o
Compiling .pio\build\atmega-all-test\liba5e\SparkFun BME280\SparkFunBME28
Archiving .pio\build\atmega-all-test\libc18\libSPIFlash@src-90a2304f97cc3
Archiving .pio\build\atmega-all-test\lib2c3\librc-switch.a
Compiling .pio\build\atmega-all-test\lib4db\SparkFun HTU21D Humidity and 
Compiling .pio\build\atmega-all-test\liba33\Adafruit BusIO\Adafruit_BusIO
Archiving .pio\build\atmega-all-test\lib2f6\libNewRemoteSwitch.a
Compiling .pio\build\atmega-all-test\liba33\Adafruit BusIO\Adafruit_I2CDe
Compiling .pio\build\atmega-all-test\liba33\Adafruit BusIO\Adafruit_SPIDe
Archiving .pio\build\atmega-all-test\liba5e\libSparkFun BME280.a
Compiling .pio\build\atmega-all-test\libce5\Adafruit AHTX0\Adafruit_AHTX0
Archiving .pio\build\atmega-all-test\lib2cf\libWire.a
Archiving .pio\build\atmega-all-test\lib4db\libSparkFun HTU21D Humidity a
Compiling .pio\build\atmega-all-test\lib5ff\DHT sensor library\DHT.cpp.o
Compiling .pio\build\atmega-all-test\lib5ff\DHT sensor library\DHT_U.cpp.
Compiling .pio\build\atmega-all-test\libd6c\Adafruit TSL2561\Adafruit_TSL
Compiling .pio\build\atmega-all-test\lib426\SoftwareSerial\SoftwareSerial
Archiving .pio\build\atmega-all-test\liba33\libAdafruit BusIO.a
Compiling .pio\build\atmega-all-test\lib6d7\A6lib\A6lib.cpp.o
Compiling .pio\build\atmega-all-test\lib6d7\A6lib\sscanf.cpp.o
Archiving .pio\build\atmega-all-test\libce5\libAdafruit AHTX0.a
Archiving .pio\build\atmega-all-test\lib5ff\libDHT sensor library.a
Compiling .pio\build\atmega-all-test\lib73c\Arduino-INA226\INA226.cpp.o
Compiling .pio\build\atmega-all-test\lib76d\OneWire\OneWire.cpp.o
Archiving .pio\build\atmega-all-test\lib426\libSoftwareSerial.a
Archiving .pio\build\atmega-all-test\libd6c\libAdafruit TSL2561.a
Compiling .pio\build\atmega-all-test\libaf7\DallasTemperature\DallasTempe
Compiling .pio\build\atmega-all-test\liba7b\WeatherStationDataRx\WeatherS
Archiving .pio\build\atmega-all-test\lib6d7\libA6lib.a
Archiving .pio\build\atmega-all-test\libFrameworkArduinoVariant.a
Archiving .pio\build\atmega-all-test\lib73c\libArduino-INA226.a
Compiling .pio\build\atmega-all-test\FrameworkArduino\CDC.cpp.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\HardwareSerial.cpp.
Archiving .pio\build\atmega-all-test\lib76d\libOneWire.a
Compiling .pio\build\atmega-all-test\FrameworkArduino\HardwareSerial0.cpp
Archiving .pio\build\atmega-all-test\liba7b\libWeatherStationDataRx.a
Compiling .pio\build\atmega-all-test\FrameworkArduino\HardwareSerial1.cpp
Archiving .pio\build\atmega-all-test\libaf7\libDallasTemperature.a
Compiling .pio\build\atmega-all-test\FrameworkArduino\HardwareSerial2.cpp
Compiling .pio\build\atmega-all-test\FrameworkArduino\HardwareSerial3.cpp
Compiling .pio\build\atmega-all-test\FrameworkArduino\IPAddress.cpp.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\PluggableUSB.cpp.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\Print.cpp.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\Stream.cpp.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\Tone.cpp.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\USBCore.cpp.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\WInterrupts.c.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\WMath.cpp.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\WString.cpp.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\abi.cpp.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\hooks.c.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\main.cpp.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\new.cpp.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\wiring.c.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\wiring_analog.c.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\wiring_digital.c.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\wiring_pulse.S.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\wiring_pulse.c.o
Compiling .pio\build\atmega-all-test\FrameworkArduino\wiring_shift.c.o
Archiving .pio\build\atmega-all-test\libFrameworkArduino.a
Linking .pio\build\atmega-all-test\firmware.elf
Building .pio\build\atmega-all-test\firmware.hex
Checking size .pio\build\atmega-all-test\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect
RAM:   [==========]  125.8% (used 10308 bytes from 8192 bytes)
Flash: [======    ]  57.6% (used 146198 bytes from 253952 bytes)
Configuring upload protocol...
AVAILABLE: wiring
CURRENT: upload_protocol = wiring
Looking for upload port...
Auto-detected: COM5
Uploading .pio\build\atmega-all-test\firmware.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: reading input file ".pio\build\atmega-all-test\firmware.hex"
avrdude: writing flash (146198 bytes):

Writing | ################################################## | 100% 21.81

avrdude: 146198 bytes of flash written
avrdude: verifying flash memory against .pio\build\atmega-all-test\firmwa
avrdude: load data flash data from input file .pio\build\atmega-all-test\
avrdude: input file .pio\build\atmega-all-test\firmware.hex contains 1461
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 16.94

avrdude: verifying ...
avrdude: 146198 bytes of flash verified

avrdude: safemode: Fuses OK (E:FD, H:D8, L:FF)

avrdude done.  Thank you.

========================================================== [SUCCESS] Took

Environment      Status    Duration
---------------  --------  ------------
atmega-all-test  SUCCESS   00:02:51.260
=========================================================== 1 succeeded i

Terminal will be reused by tasks, press any key to close it.

Can you share your full environment definition? I’m suspecting that there are more libraries and gateways than IR and RF

Hello, i’m not used to platformio at all, if this is not what you need, just let me know…

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[platformio]
src_dir = main
include_dir = main

extra_configs =
  tests/*_env.ini
  *_env.ini

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;                                 ENVIRONMENT CHOICE                                   ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Uncomment the env line corresponding to your board and modules required,              ;
;you can also adapt the modules by removing the corresponding lines in the env detail  ;
; if you go to the build flag section of your env you will see that some User_config.h ;
; parameters can be overwritten here, for example the gateway name.                    ;
; If you want to avoid the lost of your environments at each update you can put them   ;
; into a separate file called prod_env.ini, it will be automatically read by pio       ;
; an example (prod_env.ini.example) is available into the same folder as this file.    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;default_envs = sonoff-basic-rfr3
;default_envs = sonoff-basic
;default_envs = rfbridge
;default_envs = esp32dev-all-test
;default_envs = esp32dev-rf
;default_envs = esp32dev-pilight
;default_envs = esp32dev-pilight-cc1101
;default_envs = esp32dev-somfy-cc1101
;default_envs = esp32dev-pilight-somfy-cc1101
;default_envs = esp32dev-weatherstation
;default_envs = esp32dev-gf-sun-inverter
;default_envs = esp32dev-ir
;default_envs = esp32dev-ble
;default_envs = esp32dev-ble-cont
;default_envs = esp32feather-ble
;default_envs = esp32-lolin32lite-ble
;default_envs = esp32-olimex-gtw-ble-eth
;default_envs = esp32-olimex-gtw-ble-wifi
;default_envs = esp32-m5stick-ble
;default_envs = esp32-m5stack-ble
;default_envs = esp32-m5stick-c-ble
;default_envs = esp32-m5stick-cp-ble
;default_envs = esp32-m5atom
;default_envs = ttgo-lora32-v1
;default_envs = ttgo-t-beam
;default_envs = heltec_wifi_lora_32
;default_envs = nodemcuv2-rf
;default_envs = nodemcuv2-rf-cc1101
;default_envs = nodemcuv2-somfy-cc1101
;default_envs = rf-wifi-gateway
;default_envs = nodemcuv2-rf2
;default_envs = nodemcuv2-rf2-cc1101
;default_envs = nodemcuv2-pilight
;default_envs = nodemcuv2-weatherstation
;default_envs = nodemcuv2-ir
;default_envs = avatto-bakeey-ir
;default_envs = nodemcuv2-ble
;default_envs = nodemcuv2-2g
;default_envs = nodemcuv2-all-test
;default_envs = uno-rf
;default_envs = uno-fastled
default_envs = atmega-all-test
;default_envs = manual-wifi-test
;default_envs = esp32dev-mqtt-fw-test
;default_envs = nodemcuv2-mqtt-fw-test
;default_envs = nodemcuv2-rs232
;default_envs = sonoff-rfbridge-direct

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;                              ENVIRONMENTS PARAMETERS                                 ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Libraries and parameters shared accross environements                                 ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[libraries]
arduinojson = ArduinoJson@5.13.4
arduinolog = https://github.com/1technophile/Arduino-Log.git#d13cd80
pubsubclient = PubSubClient@2.8
rc-switch = https://github.com/1technophile/rc-switch.git#36dfb45
newremoteswitch = https://github.com/1technophile/NewRemoteSwitch.git#8eb980e
ble = https://github.com/h2zero/NimBLE-Arduino.git#1.2.0
irremoteesp = IRremoteESP8266@2.7.15
irremote = https://github.com/z3t0/Arduino-IRremote.git#1c08a37
lora = https://github.com/sandeepmistry/arduino-LoRa.git#f4a1d27
esppilight = ESPiLight@0.17.0
rfWeatherStation = WeatherStationDataRx@0.3.1
rfm69 = https://github.com/LowPowerLab/RFM69.git#2e915ea
rfm69spi = https://github.com/lowpowerlab/spiflash.git#9c0c2b9
rfm69_low-power = Low-Power@1.6
dht = DHT sensor library@1.3.0
unifiedsensor = Adafruit Unified Sensor@1.0.2
tsl2561 = Adafruit TSL2561@1.0.3
bme280 = SparkFun BME280@2.0.4
bmp180 = BMP180#efac46bd8d
htu21 = SparkFun HTU21D Humidity and Temperature Sensor Breakout@1.1.3
ahtx0 = Adafruit AHTX0
ina226 = https://github.com/jarzebski/Arduino-INA226.git#968a684
a6lib = https://github.com/h2zero/A6lib
wifimanager = https://github.com/tzapu/WiFiManager.git#c3ff582
ethernet = Ethernet
esp8266_mdns = esp8266_mdns
wire = Wire
fastled = FastLED@3.3.2
onewire = OneWire
dallastemperature = DallasTemperature
m5stickc = M5StickC@0.2.0
m5stickcp = https://github.com/m5stack/M5StickC-Plus.git#0.0.2
m5stack = M5Stack@0.3.1
smartrc-cc1101-driver-lib = SmartRC-CC1101-Driver-Lib@2.5.5
stl = https://github.com/mike-matera/ArduinoSTL.git#7411816
shtc3 = https://github.com/sparkfun/SparkFun_SHTC3_Arduino_Library
somfy_remote=Somfy_Remote_Lib@0.3.0
rtl_433_ESP = https://github.com/NorthernMan54/rtl_433_ESP#e03f689
emodbus =  miq19/eModbus@1.0.0
gfSunInverter = https://github.com/BlackSmith/GFSunInverter.git#v1.0.1

[env]
framework = arduino
lib_deps =
  ${libraries.pubsubclient}
  ${libraries.arduinojson}
  ${libraries.arduinolog}
build_flags =
  -w ; supress all warnings
  '-DjsonPublishing=true'
  '-DjsonReceiving=true'
;  '-DLOG_LEVEL=LOG_LEVEL_TRACE'  ; Enable trace level logging
monitor_speed = 115200

[com]
esp8266_platform = espressif8266@2.6.3
esp32_platform = espressif32@3.1.1
atmelavr_platform = atmelavr@3.2.0

[com-esp]
lib_deps =
  ${env.lib_deps}
  ${libraries.wifimanager}
build_flags =
  ${env.build_flags}
  '-DsimpleReceiving=true'
  '-DZmqttDiscovery="HADiscovery"'
  '-DTRACE=1'
  '-DCONFIG_BT_NIMBLE_ROLE_PERIPHERAL_DISABLED'
  '-DCONFIG_BT_NIMBLE_ROLE_BROADCASTER_DISABLED'
  '-DMQTTsetMQTT'
  '-DMQTT_HTTPS_FW_UPDATE'
  ;'-DCORE_DEBUG_LEVEL=4'

[com-arduino]
lib_deps =
  ${env.lib_deps}
  ${libraries.ethernet}
build_flags =
  ${env.build_flags}
  '-DsimpleReceiving=true'
  '-DZmqttDiscovery="HADiscovery"'
  '-DTRACE=1'

[com-arduino-low-memory]
lib_deps =
  ${env.lib_deps}
  ${libraries.ethernet}
build_flags =
  ${env.build_flags}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;                                 ENVIRONMENTS LIST                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;List of environments that can be build                                                ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[env:rfbridge]
platform = ${com.esp8266_platform}
board = esp8285
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewaySRFB="SRFB"'
  '-DLED_INFO=13'
  '-DLED_INFO_ON=0'
  '-DGateway_Name="OpenMQTTGateway_SRFB"'
  '-UMQTTsetMQTT' ;We remove this function to have sufficient FLASH available for OTA, you should also use ESPWifiManualSetup to save flash memory and have OTA working
board_build.flash_mode = dout

[env:esp32dev-all-test]
platform = ${com.esp32_platform}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.ble}
  ${libraries.irremoteesp}
  ${libraries.lora}
  ${libraries.rfm69}
  ${libraries.rfm69spi}
  ${libraries.rc-switch}
  ${libraries.newremoteswitch}
  ${libraries.bme280}
  ${libraries.bmp180}
  ${libraries.htu21}
  ${libraries.ahtx0}
  ${libraries.unifiedsensor}
  ${libraries.dht}
  ${libraries.tsl2561}
  ${libraries.ina226}
  ${libraries.fastled}
  ${libraries.onewire}
  ${libraries.dallastemperature}
  ${libraries.rfWeatherStation}
  ${libraries.shtc3}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayRF="RF"'
  '-DZgatewayLORA="LORA"'
  '-DZgatewayRF2="RF2"'
  '-DZgatewayIR="IR"'
  '-DZgatewayBT="BT"'
  '-DZactuatorONOFF="ONOFF"'
  '-DZactuatorFASTLED="FASTLED"'
  '-DZactuatorPWM="PWM"'
  '-DZsensorINA226="INA226"'
  '-DZsensorHCSR501="HCSR501"'
  '-DZsensorADC="ADC"'
  '-DZsensorBH1750="BH1750"'
  '-DZsensorBME280="BME280"'
  '-DZsensorHTU21="HTU21"'
  '-DZsensorAHTx0="AHTx0"'
  '-DZsensorTSL2561="TSL2561"'
  '-DZsensorDHT="DHT"'
  '-DZsensorDS1820="DS1820"'
  '-DZgatewayRFM69="RFM69"'
  '-DZsensorGPIOInput="GPIOInput"'
  '-DZsensorGPIOKeyCode="GPIOKeyCode"'
  '-DZgatewayWeatherStation="WeatherStation"'
  '-DsimplePublishing=true'
  '-DGateway_Name="OpenMQTTGateway_ESP32_ALL"'

[env:esp32dev-rf]
platform = ${com.esp32_platform}
board = esp32dev
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.rc-switch}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayRF="RF"'
  '-DGateway_Name="OpenMQTTGateway_ESP32_RF"'

[env:esp32dev-pilight]
platform = ${com.esp32_platform}
board = esp32dev
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.esppilight}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayPilight="Pilight"'
  '-DGateway_Name="OpenMQTTGateway_ESP32_Pilight"'

[env:esp32dev-pilight-cc1101]
platform = ${com.esp32_platform}
board = esp32dev
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.esppilight}
  ${libraries.smartrc-cc1101-driver-lib}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayPilight="Pilight"'
  '-DZradioCC1101="CC1101"'
  '-DGateway_Name="OpenMQTTGateway_ESP32_Pilight-CC1101"'

[env:esp32dev-somfy-cc1101]
platform = ${com.esp32_platform}
board = esp32dev
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.somfy_remote}
  ${libraries.smartrc-cc1101-driver-lib}
build_flags =
  ${com-esp.build_flags}
  '-DZactuatorSomfy="Somfy"'
  '-DZradioCC1101="CC1101"'
  '-DGateway_Name="OpenMQTTGateway_ESP32_Somfy-CC1101"'

[env:esp32dev-pilight-somfy-cc1101]
platform = ${com.esp32_platform}
board = esp32dev
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.esppilight}
  ${libraries.somfy_remote}
  ${libraries.smartrc-cc1101-driver-lib}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayPilight="Pilight"'
  '-DZactuatorSomfy="Somfy"'
  '-DZradioCC1101="CC1101"'
  '-DGateway_Name="OpenMQTTGateway_ESP32_Pilight-Somfy-CC1101"'

[env:esp32dev-weatherstation]
platform = ${com.esp32_platform}
board = esp32dev
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.rfWeatherStation}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayWeatherStation="WeatherStation"'
  '-DGateway_Name="OpenMQTTGateway_ESP32_WeatherStation"'

[env:esp32dev-gf-sun-inverter]
platform = ${com.esp32_platform}
board = esp32dev
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.emodbus}
  ${libraries.gfSunInverter}  
build_flags =
  ${com-esp.build_flags}  
  '-DZgatewayGFSunInverter="GFSunInverter"'
  '-DGateway_Name="OpenMQTTGateway_ESP32_GFSunInverter"'

[env:esp32dev-ir]
platform = ${com.esp32_platform}
board = esp32dev
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.irremoteesp}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayIR="IR"'
  '-DGateway_Name="OpenMQTTGateway_ESP32_IR"'

[env:esp32dev-ble]
platform = ${com.esp32_platform}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.ble}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayBT="BT"'
  '-DLED_SEND_RECEIVE=2'
  '-DLED_SEND_RECEIVE_ON=0'
  '-DGateway_Name="OpenMQTTGateway_ESP32_BLE"'

[env:esp32dev-ble-cont]
platform = ${com.esp32_platform}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.ble}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayBT="BT"'
  '-DLED_SEND_RECEIVE=2'
  '-DLED_SEND_RECEIVE_ON=0'
  '-DGateway_Name="OpenMQTTGateway_ESP32_BLE_C"'
  '-DTimeBtwRead=0'
  '-DScan_duration=1000'
  '-DAttemptBLECOnnect=false'

[env:esp32feather-ble]
platform = ${com.esp32_platform}
board = featheresp32
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.ble}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayBT="BT"'
  '-DLED_SEND_RECEIVE=13'
  '-DLED_SEND_RECEIVE_ON=0'
  '-DGateway_Name="OpenMQTTGateway_ESP32_FTH_BLE"'

[env:esp32-lolin32lite-ble]
platform = ${com.esp32_platform}
board = lolin32
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.ble}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayBT="BT"'
  '-DLED_SEND_RECEIVE=22'
  '-DLED_SEND_RECEIVE_ON=0'
  '-DGateway_Name="OpenMQTTGateway_LOLIN32LITE_BLE"'
;; Low power parameters, uncomment and fill credentials
;  '-DDEFAULT_LOW_POWER_MODE=0'
;  '-DTimeBtwRead=550000'
;  '-DAttemptBLECOnnect=false'
;  '-DActiveBLEScan=false'
;  '-DESPWifiManualSetup=true'
;  '-DMQTT_USER="lolin-esp32"'
;  '-DMQTT_PASS="your_password"'
;  '-DMQTT_SERVER="192.168.1.17"'
;  '-Dwifi_ssid="WIFI_SSID"'
;  '-Dwifi_password="WIFI_PASSWORD"'

[env:esp32-olimex-gtw-ble-eth]
platform = ${com.esp32_platform}
board = esp32-gateway
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.ble}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayBT="BT"'
  '-DLED_INFO=33'
  '-DLED_INFO_ON=1'
  '-DESP32_ETHERNET=true'
  '-DGateway_Name="OpenMQTTGateway_ESP32_OLM_GTWE"'

[env:esp32-olimex-gtw-ble-wifi]
platform = ${com.esp32_platform}
board = esp32-gateway
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.ble}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayBT="BT"'
  '-DLED_INFO=33'
  '-DLED_INFO_ON=1'
  '-DTRIGGER_GPIO=34'
  '-DGateway_Name="OpenMQTTGateway_ESP32_OLM_GTWW"'

[env:esp32-m5stick-ble]
platform = ${com.esp32_platform}
board = m5stack-core-esp32
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.ble}
  ${libraries.irremoteesp}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayBT="BT"'
  '-DZgatewayIR="IR"'
  '-DLED_SEND_RECEIVE=19'
  '-DLED_SEND_RECEIVE_ON=1'
  '-DTRIGGER_GPIO=35'
  '-DIR_EMITTER_GPIO=17'
  '-DGateway_Name="OpenMQTTGateway_ESP32_M5STICK_BLE_IR"'
board_upload.speed = 921600

[env:esp32-m5stack-ble]
platform = ${com.esp32_platform}
board = m5stack-core-esp32
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.m5stack}
  ${libraries.ble}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayBT="BT"'
  '-DZsensorGPIOInput="GPIOInput"'
  '-DZboardM5STACK="M5Stack"'
  '-DLED_SEND_RECEIVE=15'
  '-DTRIGGER_GPIO=37'
  '-DSLEEP_BUTTON=38'
  '-DINPUT_GPIO=39'
  '-DGateway_Name="OpenMQTTGateway_ESP32_M5STACK_BLE"'
board_upload.speed = 921600

[env:esp32-m5stick-c-ble]
platform = ${com.esp32_platform}
board = m5stick-c
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.ble}
  ${libraries.m5stickc}
  ${libraries.irremoteesp}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayBT="BT"'
  '-DZgatewayIR="IR"'
  '-DZsensorGPIOInput="GPIOInput"'
  '-DZboardM5STICKC="M5StickC"'
  '-DACTUATOR_ONOFF_GPIO=10'
  '-DINPUT_GPIO=37'
  '-DLED_SEND_RECEIVE=10'
  '-DLED_SEND_RECEIVE_ON=0'
  '-DSLEEP_BUTTON=39'
  '-DTRIGGER_GPIO=39'
  '-DIR_EMITTER_INVERTED=true'
  '-DIR_EMITTER_GPIO=9'
  '-DGateway_Name="OpenMQTTGateway_ESP32_M5STICK_C_BLE_IR"'
board_upload.speed = 1500000

[env:esp32-m5stick-cp-ble]
platform = ${com.esp32_platform}
board = pico32
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.ble}
  ${libraries.m5stickcp}
  ${libraries.irremoteesp}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayBT="BT"'
  '-DZgatewayIR="IR"'
  '-DZsensorGPIOInput="GPIOInput"'
  '-DZboardM5STICKCP="M5StickCP"'
  '-DACTUATOR_ONOFF_GPIO=10'
  '-DINPUT_GPIO=37'
  '-DLED_SEND_RECEIVE=10'
  '-DLED_SEND_RECEIVE_ON=0'
  '-DSLEEP_BUTTON=39'
  '-DTRIGGER_GPIO=39'
  '-DIR_EMITTER_INVERTED=true'
  '-DIR_EMITTER_GPIO=9'
  '-DGateway_Name="OpenMQTTGateway_ESP32_M5STICK_CP_BLE_IR"'
board_upload.speed = 1500000

[env:esp32-m5atom]
platform = ${com.esp32_platform}
board = pico32
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.ble}
  ${libraries.irremoteesp}
build_flags = 
  ${com-esp.build_flags}
  '-DZgatewayBT="BT"'
  '-DZgatewayIR="IR"'
  '-DTRIGGER_GPIO=39'
  '-DSLEEP_BUTTON=39'
  '-DIR_EMITTER_GPIO=12'
  '-DGateway_Name="OpenMQTTGateway_ESP32_ATOM_BLE_IR"'
board_upload.speed = 1500000

[env:esp32dev-rtl_433]
platform = ${com.esp32_platform}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.rtl_433_ESP}
build_flags =
  ${com-esp.build_flags}
  '-DZradioCC1101="CC1101"'
  '-DZgatewayRTL_433="rtl_433"'
  '-DGateway_Name="OpenMQTTGateway_rtl_433_ESP"'
  '-DvalueAsASubject=true'    ; mqtt topic includes model and device
;  '-DPUBLISH_UNPARSED=true'  ; Publish details of undecoded signals 
;  '-DRTL_DEBUG=4'            ; enable rtl_433 verbose device decode

[env:esp32dev-multi_receiver]
platform = ${com.esp32_platform}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.rc-switch}
  ${libraries.smartrc-cc1101-driver-lib}
  ${libraries.rtl_433_ESP}
  ${libraries.esppilight}
  ${libraries.newremoteswitch}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayRF="RF"'
  '-DZgatewayRF2="RF2"'
  '-DZgatewayRTL_433="RTL_433"'
  '-DZgatewayPilight="Pilight"'
  '-DZradioCC1101="CC1101"'
  '-DGateway_Name="OpenMQTTGateway_multi_receiver"'
  '-DvalueAsASubject=true'  ; mqtt topic includes model and device (rtl_433) or protocol and id ( RF and PiLight )
;  '-DDEFAULT_RECEIVER=1'  ; Default receiver to enable on startup

[env:ttgo-lora32-v1]
platform = ${com.esp32_platform}
board = ttgo-lora32-v1
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.lora}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayLORA="LORA"'
  '-DGateway_Name="OpenMQTTGateway_ESP32_LORA"'

[env:ttgo-t-beam]
# See version pinout differences here
# https://www.thethingsnetwork.org/forum/t/big-esp32-sx127x-topic-part-3/18436
platform = ${com.esp32_platform}
board = ttgo-t-beam
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.ble}
  ${libraries.lora}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayLORA="LORA"'
  '-DZgatewayBT="BT"'
  '-DGateway_Name="OpenMQTTGateway_ESP32_BLE_LORA"'
  
  '-DLED_SEND_RECEIVE=21' # T-BEAM board V0.5
#  '-DLED_SEND_RECEIVE=14' # T-BEAM board  V0.7
#  '-DLED_SEND_RECEIVE=4' # T-BEAM board  V1.0+
  '-DTimeLedON=0.05'
  '-DLED_SEND_RECEIVE_ON=1' # Set 0 for board V1.0+

  # for V0.5 and V0.7 ONLY (V1.0+ as onboard AXP202 dedicated chip, need driver)
  # it's a 100K/100K divider (so 2 divider) and connected to GPIO35
  '-DZsensorADC="ADC"'
  '-DADC_GPIO=35'
  '-DADC_DIVIDER=2'
  # Reading battery level every minutes should be more than enought
  '-DTimeBetweenReadingADC=60000' 

[env:heltec_wifi_lora_32]
platform = ${com.esp32_platform}
board = heltec_wifi_lora_32

lib_deps =
  ${com-esp.lib_deps}
  ${libraries.lora}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayLORA="LORA"'
  '-DGateway_Name="OpenMQTTGateway_ESP32_LORA"'
  '-DLED_SEND_RECEIVE=25'
  '-DTimeLedON=0.1'
  '-DLED_SEND_RECEIVE_ON=1' 
  
[env:nodemcuv2-all-test]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.esppilight}
  ${libraries.irremoteesp}
  ${libraries.rfm69}
  ${libraries.rfm69spi}
;  ${libraries.rc-switch}
;  ${libraries.newremoteswitch}
  ${libraries.bme280}
  ${libraries.bmp180}
  ${libraries.htu21}
  ${libraries.ahtx0}
  ${libraries.unifiedsensor}
  ${libraries.dht}
  ${libraries.tsl2561}
  ${libraries.ina226}
  ${libraries.esp8266_mdns}
  ${libraries.wire}
  ${libraries.fastled}
  ${libraries.onewire}
  ${libraries.dallastemperature}
  ${libraries.rfWeatherStation}
build_flags =
  ${com-esp.build_flags}
;  '-DZgatewayRF="RF"'
;  '-DZgatewayRF2="RF2"'
  '-DZgatewayIR="IR"'
  '-DZgatewayBT="BT"'
;  '-DZgatewayPilight="Pilight"'
  '-DZactuatorONOFF="ONOFF"'
  '-DZactuatorFASTLED="FASTLED"'
  ;'-DZactuatorPWM="PWM"'
  '-DZsensorINA226="INA226"'
  '-DZsensorHCSR501="HCSR501"'
  '-DZsensorHCSR04="HCSR04"'
  '-DZsensorADC="ADC"'
  '-DZsensorBH1750="BH1750"'
  '-DZsensorBME280="BME280"'
  '-DZsensorHTU21="HTU21"'
  '-DZsensorAHTx0="AHTx0"'
  '-DZsensorTSL2561="TSL2561"'
  '-DZsensorDHT="DHT"'
  '-DZsensorDS1820="DS1820"'
  '-DZgatewayRFM69="RFM69"'
  '-DZsensorGPIOInput="GPIOInput"'
  '-DZsensorGPIOKeyCode="GPIOKeyCode"'
  '-DZgatewayWeatherStation="WeatherStation"'
  '-DsimplePublishing=true'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_ALL"'
board_build.flash_mode = dout


[env:nodemcuv2-2g]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.a6lib}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayBT="2G"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_2G"'
board_build.flash_mode = dout

[env:nodemcuv2-ble]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.wire}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayBT="BT"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_BLE"'
board_build.flash_mode = dout

[env:nodemcuv2-ir]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.irremoteesp}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayIR="IR"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_IR"'
board_build.flash_mode = dout

[env:nodemcuv2-rs232]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayRS232="RS232"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_RS232"'
board_build.flash_mode = dout

[env:avatto-bakeey-ir]
platform = ${com.esp8266_platform}
board = esp01_1m
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.irremoteesp}
  ${libraries.esp8266_mdns}
build_flags = 
  ${com-esp.build_flags}
  '-DZgatewayIR="IR"'
  '-DTRIGGER_GPIO=13'
  '-DLED_SEND_RECEIVE=4'
  '-DIR_EMITTER_GPIO=14'
  '-DIR_RECEIVER_GPIO=5'
  '-DGateway_Name="OpenMQTTGateway_AVATTO_IR"'
board_build.flash_mode = dout

[env:nodemcuv2-rf]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.rc-switch}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayRF="RF"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_RF"'
board_build.flash_mode = dout

[env:nodemcuv2-rf-cc1101]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.rc-switch}
  ${libraries.smartrc-cc1101-driver-lib}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayRF="RF"'
  '-DZradioCC1101="CC1101"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_RF-CC1101"'
board_build.flash_mode = dout

[env:nodemcuv2-somfy-cc1101]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.somfy_remote}
  ${libraries.smartrc-cc1101-driver-lib}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZactuatorSomfy="Somfy"'
  '-DZradioCC1101="CC1101"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_Somfy-CC1101"'
board_build.flash_mode = dout

[env:manual-wifi-test]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.rc-switch}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayRF="RF"'
  '-DESPWifiManualSetup=true'
  '-DGateway_Name="OpenMQTTGateway_TEST_MANUAL_WIFI"'
board_build.flash_mode = dout

[env:esp32dev-mqtt-fw-test]
platform = ${com.esp32_platform}
board = esp32dev
lib_deps =
  ${com-esp.lib_deps}
build_flags =
  ${com-esp.build_flags}
  '-DMQTT_HTTPS_FW_UPDATE'
  '-DGateway_Name="OpenMQTTGateway_TEST_MQTT_FW"'
board_build.flash_mode = dout


[env:nodemcuv2-mqtt-fw-test]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
build_flags =
  ${com-esp.build_flags}
  '-DMQTT_HTTPS_FW_UPDATE'
  '-DGateway_Name="OpenMQTTGateway_TEST_MQTT_FW"'
board_build.flash_mode = dout

[env:rf-wifi-gateway]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.rc-switch}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayRF="RF"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_RF_WIFI_GW"'
  '-DRF_RECEIVER_GPIO=5'
board_build.flash_mode = dout

[env:nodemcuv2-rf2]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.newremoteswitch}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayRF2="RF2"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_RF2"'
board_build.flash_mode = dout

[env:nodemcuv2-rf2-cc1101]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.newremoteswitch}
  ${libraries.smartrc-cc1101-driver-lib}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayRF2="RF2"'
  '-DZradioCC1101="CC1101"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_RF2-CC1101"'
board_build.flash_mode = dout

[env:nodemcuv2-pilight]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.esppilight}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayPilight="Pilight"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_Pilight"'
board_build.flash_mode = dout

[env:nodemcuv2-weatherstation]
platform = ${com.esp8266_platform}
board = nodemcuv2
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.rfWeatherStation}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayWeatherStation="WeatherStationDataRx"'
  '-DGateway_Name="OpenMQTTGateway_ESP8266_RF3"'
board_build.flash_mode = dout

[env:sonoff-basic]
platform = ${com.esp8266_platform}
board = esp8285
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZactuatorONOFF="ONOFF"'
  '-DZsensorGPIOInput="GPIOInput"'
  '-DACTUATOR_ONOFF_GPIO=12'
  '-DINPUT_GPIO=0'
  '-DACTUATOR_ON=0'
  '-DACTUATOR_ONOFF_DEFAULT=ACTUATOR_ON'
  '-DACTUATOR_BUTTON_TRIGGER_LEVEL=0'
  '-DGateway_Name="OpenMQTTGateway_SONOFF_RELAY"'
board_build.flash_mode = dout

[env:sonoff-basic-rfr3]
platform = ${com.esp8266_platform}
board = esp8285
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.rc-switch}
  ${libraries.esp8266_mdns}
build_flags =
  ${com-esp.build_flags}
  '-DZactuatorONOFF="ONOFF"'
  '-DZsensorGPIOInput="GPIOInput"'
  '-DACTUATOR_ONOFF_GPIO=12'
  '-DINPUT_GPIO=0'
  '-DACTUATOR_ON=0'
  '-DACTUATOR_ONOFF_DEFAULT=ACTUATOR_ON'
  '-DACTUATOR_BUTTON_TRIGGER_LEVEL=0'
  '-DRF_RECEIVER_GPIO=4'
  '-DZgatewayRF="RF"'
  '-DGateway_Name="OpenMQTTGateway_SONOFF_BASIC_RFR3"'
board_build.flash_mode = dout

[env:atmega-all-test]
platform = ${com.atmelavr_platform}
board = megaatmega2560
lib_deps =
  ${com-arduino.lib_deps}
  ${libraries.irremote}
  ${libraries.rfm69}
  ${libraries.rfm69spi}
  ${libraries.rfm69_low-power}
  ${libraries.rc-switch}
  ${libraries.newremoteswitch}
  ${libraries.bme280}
  ${libraries.bmp180}
  ${libraries.htu21}
  ${libraries.ahtx0}
  ${libraries.unifiedsensor}
  ${libraries.dht}
  ${libraries.tsl2561}
  ${libraries.a6lib}
  ${libraries.ina226}
  ${libraries.fastled}
  ${libraries.onewire}
  ${libraries.dallastemperature}
  ${libraries.rfWeatherStation}
  ${libraries.stl}
build_flags =
  ${com-arduino.build_flags}
  '-DZgatewayRF="RF"'
  '-DZgatewayRF="RF315"'
  '-DZgatewayRF2="RF2"'
  '-DZgatewayIR="IR"'
  '-DZgatewayBT="BT"'
  '-DZactuatorONOFF="ONOFF"'
  '-DZactuatorFASTLED="FASTLED"'
  '-DZactuatorPWM="PWM"'
  '-DZsensorINA226="INA226"'
  '-DZsensorHCSR501="HCSR501"'
  '-DZsensorADC="ADC"'
  '-DZsensorBH1750="BH1750"'
  '-DZsensorBME280="BME280"'
  '-DZsensorHTU21="HTU21"'
  '-DZsensorAHTx0="AHTx0"'
  '-DZsensorTSL2561="TSL2561"'
  '-DZsensorDHT="DHT"'
  '-DZsensorDS1820="DS1820"'
  '-DZgatewayRFM69="RFM69"'
  '-DZgatewayWeatherStation="WeatherStation"'
  '-DZsensorGPIOInput="GPIOInput"'
  ;'-DZsensorGPIOKeyCode="GPIOKeyCode"'
  '-DZmqttDiscovery="HADiscovery"'
  '-DsimplePublishing=true'
  '-DGateway_Name="OpenMQTTGateway_ATMEGA_ALL"'

[env:uno-rf]
platform = ${com.atmelavr_platform}
board = uno
lib_deps =
  ${com-arduino.lib_deps}
  ${libraries.rc-switch}
build_flags =
  ${com-arduino-low-memory.build_flags}
  '-DZgatewayRF="RF"'
  '-DGateway_Name="OMG_1_RF"'

[env:uno-fastled]
platform = ${com.atmelavr_platform}
board = uno
lib_deps =
  ${com-arduino.lib_deps}
  ${libraries.fastled}
build_flags =
  ${com-arduino-low-memory.build_flags}
  '-DGateway_Name="OMG_1_FL"'
  '-DZactuatorFASTLED="FASTLED"'

[env:sonoff-rfbridge-direct]
platform = ${com.esp8266_platform}
board = esp8285
lib_deps = 
	${com-esp.lib_deps}
	${libraries.esppilight}
build_flags = 
	${com-esp.build_flags}
	'-DZgatewayPilight="Pilight"'
	'-DRF_RECEIVER_GPIO=4'
	'-DRF_EMITTER_GPIO=5'
	'-DLED_INFO=13'
	'-DLED_INFO_ON=0'
	'-DZsensorGPIOInput="GPIOInput"'
	'-DINPUT_GPIO=0'
	'-DGateway_Name="OpenMQTTGateway_SRFB_Direct"'
board_build.flash_mode = dout

Can you try this:

[env:atmega-all-test]
platform = ${com.atmelavr_platform}
board = megaatmega2560
lib_deps =
  ${com-arduino.lib_deps}
  ${libraries.irremote}
  ${libraries.rc-switch}
  ${libraries.stl}
build_flags =
  ${com-arduino.build_flags}
  '-DZgatewayRF="RF"'
  '-DZgatewayIR="IR"'
  '-DZmqttDiscovery="HADiscovery"'
  '-DsimplePublishing=true'
  '-DGateway_Name="OpenMQTTGateway_ATMEGA_RF_IR"'

i tried replacing everything with just that section, and i got the following

Error: Invalid 'C:\Users\setchfie\Dropbox\Arduino Sketches\OpenMQTTGateway-0.9.8\platformio.ini' (project configuration file): 'No section: 'com''

just replace this section:
[env:atmega-all-test]

Perfect, all connected and working, i was stuck with simple publishing and receiving, but i couldn’t move to newer versions because of some other issues with arduino libraries, hopefully now i can simplify everything and get my whole system up to date with latest versions.

I might have some more questions and potential bugs, but i will create a new post for each.

Merci pour votre aide!

1 Like

For your convenience you can keep the platformio.ini file as it is, and create a prod_env.ini with the following content:

[platformio]
default_envs = 
  atmega-rf-ir

[env:atmega-rf-ir]
platform = ${com.atmelavr_platform}
board = megaatmega2560
lib_deps =
  ${com-arduino.lib_deps}
  ${libraries.irremote}
  ${libraries.rc-switch}
  ${libraries.stl}
build_flags =
  ${com-arduino.build_flags}
  '-DZgatewayRF="RF"'
  '-DZgatewayIR="IR"'
  '-DZmqttDiscovery="HADiscovery"'
  '-DsimplePublishing=true'
  '-DGateway_Name="OpenMQTTGateway_ATMEGA_RF_IR"'

This way you just have to fetch the latest update of the code and keep this file into it.

That’s excellent, thanks, i will do it this way going forward. Really happy to have this working, i’ve been banging my head for a few days.

1 Like

I have another question about platformIO, i’m really appreciating the suggestions you made so far, i just have a general question about library versions, i can see that you can specify library versions with +sha, and also with @1.2.3 etc, what is the difference between the 2 formats, and where can you find the +sha version if i need to specify a specific library… which is best?

Some libraries don’t have actual releases, or specific releases don’t want to be used, which do allow

decoder = https://github.com/theengs/decoder.git#v0.1.9

so for these the SHA of the latest ‘release’ status commit is being used, as in

https://github.com/1technophile/NewRemoteSwitch.git#8eb980e

which can be viewed in the overview of the master/development branch, in the above example

A third option would also be to define a separate branch, as in

https://github.com/1technophile/Arduino-Log#patch-1

Hope this helps.

Thanks @DigiH , i will look at this and try to understand, thanks for the pointer!