Coder Social home page Coder Social logo

benzino77 / tasmocompiler Goto Github PK

View Code? Open in Web Editor NEW
487.0 28.0 143.0 3.05 MB

Web GUI for custom Tasmota compilation

License: MIT License

Dockerfile 0.26% HTML 0.68% JavaScript 46.62% CSS 0.14% C 52.30%
tasmota firmware esp8266 sonoff compiler esp32 tasmota-compiler

tasmocompiler's Introduction

Docker Pulls donate donate Twitter URL

What it is?

TasmoCompiler is a simple web GUI which allows you to compile fantastic Tasmota firmware with your own settings:

  • You can select which board you are building firmware for
  • You can select which features/sensors of Tasmota firmware you want to use (description of available features can be found in FEATURES DESCRIPTION file)
  • Credentials for your IOT WiFi network, so even after unexpected problems with the device (complete lost of configuration), credentials for your network will still be there, but mainly you don't have to connect to AP, served by Tasmota to configure your Home WiFi
  • You can select Tasmota version you want to compile. You can select development bleading edge version, or latest stable release if this is the one you like
  • Language of Tasmota GUI interface
  • You can also provide custom #defines if you want to build even more suitable firmaware for your needs

Why?

Well, there are two reasons. First is that I want to build my first application written in NodeJS/React. The second one is based on the observation that everytime I prepare a new device I have to start atom with platformio installed, configure all #defines (well, I have template which I copy) and prepare platformio.ini, create a branch from version I like to use, etc..

That's why I decided to prepare a solution which is easier to use (just a few clicks) and does not require knowledge how to install dev environment to build custom firmware.

How it works?

The easiest way is to look at the screenshots (the whole process is five steps only). After compilation you will be able to download four (or three for ESP32 boards) files:

  1. Your new firmware.bin file, which can be uploaded to your device via Tasmota WebGUI, espotool, ESPEasy flasher or any other tool you used to use to flash your device
  2. Compressed file firmware.bin.gz (not available for ESP32 boards)
  3. platformio_override.ini file, to check what options for platformio were used to compile the custom firmware file
  4. user_config_override.h file to check what features are included/excluded from resulting firmware

The links to download these files will show up under Compiling progress field (look at the bottom of the last screenshot). These links will show up only when compilation is successful.

You have to upload only firmware.bin or firmawre.bin.gz file to your device. How to do that is perfeclty described on Tasmota docs.

Step01 Step02 Step03 Step04 Step05 Compile01

How to start using TasmoCompiler?

Super easy way (Thanks to @meingraham and @Jason2866)

Click this link to Gipod. You have to have Github account and authorize Gitpod to access it. If you don't have it, it is just few clicks to create account on Github. After a while new browser tab should open with TasmoCompiler. If you have pop-up blocked in your browser you will have to accept the new tab open (1 and 2). If the new tab does not open or you cannot see the pop-up notification, click on the Ports view link (3) and then on Open browser (4):

Open Browser

Note

You have to remember that all compilation is performed on Gitpod servers, so you have to decide if you want to put sensitive data like Wifi/MQTT credentials to Gitpod hands ๐Ÿ™ˆ ๐Ÿ™‰ ๐Ÿ™Š

Easy way

Start TasmoCompiler in docker:

docker pull benzino77/tasmocompiler

docker run --rm --name tasmocompiler -p 3000:3000 benzino77/tasmocompiler

Then point your browser to http://localhost:3000

If you want to see debug messages on docker console you can run a container with env variable:

docker run --rm --name tasmocompiler -p 3000:3000 -e DEBUG=server,git,compile benzino77/tasmocompiler

  • server to see http server messages
  • git to see git operation messages
  • compile to see messages during compilation

You can also specify different port on which TasmoCompiler will be available on the host:

docker run --rm --name tasmocompiler -p 8080:3000 benzino77/tasmocompiler

Then point your browser to http://localhost:8080

Less easy way
  1. Install NodeJS and Python 3.6.x or later
  2. Install yarn
  3. Install platformio
  4. Clone/download the repository from github and change directory to the cloned repo
  5. run yarn install
  6. run yarn build
  7. run node server/app.js
  8. point your browser to http://localhost:3000

How to use "Custom parameters"?

The configuration options are limited on purpose. I don't want to overload the GUI with too many options. But there is Custom prameters step which allows you to define other Tasmota parameters. Let's say you want to define your MQTT broker and credentials for it. You have to put these lines in Custom parameters field:

#ifdef MQTT_HOST
  #undef MQTT_HOST
#endif
#define MQTT_HOST               "mqtt.yourhost.iot"

#ifdef MQTT_PORT
  #undef MQTT_PORT
#endif
#define MQTT_PORT               1883

#ifdef MQTT_USER
  #undef MQTT_USER
#endif
#define MQTT_USER            "mqttuser"

#ifdef MQTT_PASS
  #undef MQTT_PASS
#endif
#define MQTT_PASS            "mqttpassword"

To define Friendly name for your device you have to put these lines in Custom parametrs field:

#ifdef FRIENDLY_NAME
  #undef FRIENDLY_NAME
#endif
#define FRIENDLY_NAME          "Watering controller"

Let's assume that you want to compile in information about your ntp server, your time zone and location (this is used by timers for events like sunrise/sunset). You can do this by putting these lines in Custom parameters field:

#ifdef NTP_SERVER1
  #undef NTP_SERVER1
#endif
#define NTP_SERVER1             "ntp.yourserver.iot"

#ifdef LATITUDE
  #undef LATITUDE
#endif
#define LATITUDE               34.4348

#ifdef LONGITUDE
  #undef LONGITUDE
#endif
#define LONGITUDE              10.0508

#ifdef APP_TIMEZONE
  #undef APP_TIMEZONE
#endif
#define APP_TIMEZONE           99

You can find additional information what can be set by Custom parameters field in my_user_config.h in Tasmota source code.

Troubleshooting and advanced usage

If you have problems with the compiler or you are interested in more advance usage, please refer to the ADVANCED tips for more information.

Development version

There is a TasmoCompiler branch which tries to follow as much as possible changes made to development branch of Tasmota. It is bleeding edge version so you can expect unexpected. To use development version of TasmoCompiler go to gitpod using this link or pull and run appriopriate docker image:

docker run --rm --name tasmocompiler -p 3000:3000 benzino77/tasmocompiler:development

Disclaimer

Everything you do, you do on your own responsibility. I do not take any responsibility for damages or problems, that may arise as a result of using this solution or its products.

Credits

Thanks to Theo Arends and the entire Tasmota Dev Team for fantastic work!

License

TasmoCompiler is licensed under the MIT license.

tasmocompiler's People

Contributors

akalagov avatar ascillato avatar bam80 avatar benzino77 avatar bovirus avatar claymore666 avatar drhideg avatar flobul avatar jason2866 avatar kennystier avatar mrspoocy avatar noschvie avatar rapejim avatar superpuffin avatar tubedude avatar tyeth avatar wimaha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tasmocompiler's Issues

Warning messages regarding invalid field

@benzino77

gitpod /workspace/tasmocompiler $ HISTFILE=/workspace/.gitpod/cmd-0 history -r; {

yarn install
} && {
yarn build && pip3 install platformio && node server/server.js
}
yarn install v1.22.4
[1/4] Resolving packages...
[2/4] Fetching packages...
warning [email protected]: Invalid bin field for "file-loader".
warning [email protected]: Invalid bin field for "mini-css-extract-plugin".
warning [email protected]: Invalid bin field for "url-loader".

info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 47.66s.
yarn run v1.22.4
$ react-scripts build
Creating an optimized production build...
**_Browserslist: caniuse-lite is outdated. Please run next command yarn upgrade caniuse-lite_** browserslist

Please check the log of a session in Google Chrome in a Windows 10 Profesisonal 64bit

Is it normal the warning reported in bold italic? Atre not important?

is it normal the message caniuse-lite is outdated?

I believe that the message regarding linux is why are running on Windows platform.

Thanks.

FAQ - Add info about how to use personal repository with a single line command

@benzino77

As I requested here

#39

how to sed a personal repository for source code you mentioned thr info about Avantage Usage

https://github.com/benzino77/tasmocompiler/blob/master/ADVANCED.md

Could you please fix/update the info changing the reference about

/tmp/Sonoff-Tasmota

to

/tmp/Tasmota

and could you use instead series of commands

type: cd /tmp
type: rm -rf Tasmota
type: git clone https://github.com/stefanbode/Sonoff-Tasmota.git
type: cd Tasmota
type: git checkout -b development
type: cd /workspace/tasmocompiler
type: node server/server.js

a unique command joining the commands with &&

type: cd /tmp && rm -rf Tasmota && git clone https://github.com/stefanbode/Sonoff-Tasmota.git && cd Tasmota && git checkout -b development && cd /workspace/tasmocompiler && node server/server.js

in this way could be easy to copy/paste the long command to do all operations in one step.

Multilanguage interface for tasmocompiler

Could be possible to have a multi-language interface for the online compiler?

If you move all strings used in an external file I can help to translate in other language (ex. Italian)

Thanks. KR.

Compile doesnt work with feature zigbee

Just doesnt complete when selecting option 'zigbee'
last output:

Linking .pioenvs/custom/firmware.elf
Welcome stranger!

Then it stays there... Deselecting zigbee will compile it without problems,

[Request] Device Template Option

Hi,
I have been using TasmoCompiler in the past.
I recently got some new devices that need to use a Device Template to function.

On a fresh load / factory reset these switches turn on/off ever second (relay is on the Sonof-Basic Led1 GPIO pin.

Is it possible to add an option to add a template from the Template Wiki and set it as the default for the resulting .bin?

FAQ - Create tasmocompiler fork with custom settings

@benzino77

Could you help me?

Instead to stop every time and modify the gitpod of your repository I think to make a fork of your repository and make some changes to do these tasks

Use a personal repository
Use a default different language (Italian)

I did these tasks

https://gitpod.io/#https://github.com/bovirus/tasmocompiler

Seelct Refresh source/No Wii settings/Alexa and Google module/Compile but I got an error.

Switching to branch development failed (on webUi compiler inetrace)

and

fatal: Cannot update paths and switch to branch 'development' at the same time.
Did you intend to checkout 'development' which can not be resolved as commit?

in gitpod command interface.

What's wrong?

Display Support

The Checkbox in the GUI for Display Support takes no effect in the compiled Files

At this Time it is possible to define via custom Parameters - Maybe you can fix this easy

USE_TIMERS little bug

Hi, I think there is a little bug in user_config:

#ifdef USE_TIMESRS
  #undef USE_TIMESRS
#endif

should be:

#ifdef USE_TIMERS
  #undef USE_TIMERS
#endif

BIG thanks in advance :)

Enabling TLS support requires changing my_user_config.h but that file gets overwritten

Per this Github issue for Tasmota: arendst/Tasmota#6084 in order to enable TLS support you need to set #define USE_MQTT_TLS in my_user_config.h directly (you cannot put it in the overrides file).

I'm using Tamocompiler in docker and even if open a shell and directly edit my_user_config.h, when I click "compile" all my changes to my_user_config.h get overridden.

So right now I can't use Tasmocompiler to build firmware with TLS support.

Can you either:

  1. Give us a way to edit my_user_config.h that persists; or
  2. Add "TLS" as a feature that can be added from the web UI?; or
  3. Let me know if there is some other workaround for this issue?

Thanks!

Upload buffer miscompare

I'm trying to use this tool, but every time I'm trying to upload the new firmware it keeps throwing an error "Upload buffer miscompare".

No GERMAN language?

Hi, REALLY GREAT tool! Thanks so much :)

I don't know if it's an issue, but I can't find the German Language in selection box?

Also 2Mbit selection would be great (e.g. for Shelly)

Thanks again.

Where's the Binary

Piotr,

I didn't find the /tmp folder (i.e., /tmp/Sonoff-Tasmota/.pioenvs/custom). It doesn't show up in the VSC file explorer. and in the VSC terminal panel if tried to find firmware.bin as well as change directory to tmp.

For now, I am fine with using the links that come up in the TasmoCompiler dialog. However, if there is an error in the compile, those links aren't rendered. In one case, I had made an error with adding custom parameters... but since I could not find the user_config_override that had been created, it was difficult to understand where I'd made my mistake.

Thanks.

Mike

P.S. There is a typo in your dialog for the custom parameters:

Below you can enter custom parameters, which will be included at the end of user_config_overwrite.h file. If you don't know what it is, just click Next.

P.P.S. On your readme where you credit me & Jason for deploying on Gitpod - your missing the 'a' in @Jason2866

Option to create a minimal firmware with Wifi settings

@benzino77

Could be possible with tasmocompiler to create a tasmota minimal firmware (max 500KB) just with web interface and pre-configured settings (Wifi SSID and password?

Could be useful to create minimal tasmota firmware to flash a new Sonoff device.

How can do that?

Thanks.

WiFi settings - How it works

@benzino77

I have a doubt about WiFi settings.
I looked for the doc but seems that I didn't find an answer.

If during compilation I select the option and setup Wifi SSID/password this info is included in firmware.bin and is operative after flash the firmware.bin file?

If I dodn't setup WiFi SSID/password after flash the firmware I can connect to device as usal (switch on, search for tasmota-xxxxx netwrok)?

Thanks.

Support for Tasmota v7.0.0.1 and up

I think there is an issue because of the change to all code references from Sonoff to Tasmota
in compile development

error message:
Cannot write to /tmp/Sonoff-Tasmota/sonoff/user_config_override.h: Error: ENOENT: no such file or directory, open '/tmp/Sonoff-Tasmota/sonoff/user_config_override.h'

THX

Create at the end an archive with firmware.bin / platform.io / user_config_override.h

Hello.

I think taht useful efature is to craete at teh end not separate file with standard name but an archive like

tasmocompiler_YYYYMMDD_hhmm.zip

that contains

firmware.bin
platform.io
user_config_override.h

In this way it's easier to collect a library of firmware with different build.

Also you can include in the name of zip file the info about dev/stable and version and language

Example

tasmocompiler_dev_2.6.1_YYYYMMDD_hhmm_English.zip
tasmocompiler_stable_8.2.01_YYYYMMDD_hhmm_English.zip

Thanks.

Improvements - Setup Wifi - Password visible

@benzino77

Currently, If I want pre-set Wifi network SSID and password the password is not visible.

I believe that it's important to pre-set the right password and if teh password is not visible I'm not sure to digit it right.

Could be possible to show the password for Wifi in this step?

Thanks.

language/xx-XX.h: No such file or directory

tasmota/i18n.h:628:37: fatal error: language/cs-CZ.h: No such file or directory
   #include INCLUDE_FILE(MY_LANGUAGE)
                                     ^
compilation terminated.
*** [.pioenvs/custom/src/tasmota.ino.cpp.o] Error 1
========================= [FAILED] Took 34.81 seconds =========================
Finished. Exit code: 1.

Hi, the same with EN language. Only Tasmota 8.3.

Info about pre-set WiFi SSID and password

Hello.

Is there a file in your source where can I pre-set WiFi SSID name and password used during tasmota compilation?

Typically I make a fork of your tasmocompiler repository.
I do it because I modify the link for tasmota repository to my personal fork of tasmota source that contains changes about language UI (that are in test).

Anytime that I compile a new firmware I have to set manually WiFi SSID name paassword.

If there is a file in your source that contains this info I can setup up to get it without asking me.

Thanks.

Request - Use of CR/LF in UI language strings

@benzino77
@rapejim

In long language (multi-period) string in UI is it possible to add a CR/LF?
How can do it?

Ex,. in this string

"stepCustomParamsDesc": "Qui sotto puoi inserire i parametri personalizzati che verranno inclusi alla fine del file. Se non li conosci o non devi inserirli seleziona 'Avanti'.",

Thanks.

Modules/ features to enable in alphabetical order

Hello.

i propose you to show the list of modules/features in alphabetical order.

I think that in this way it's easier tio identify the modules.

Is there a list of possible features that I can enable (and its meaning) for typical product like Sonofff R1/R2/R3 R1RF/R2RF/R3RF etc.

I can define its as a compatibility list feature/product.

Can't build 1MB: Could not find 'eagle.flash.1m0.ld1m.ld'

No matter what options I select if trying to compile for "Sonoffs (1MB)" in tasmotacompiler, compilation always fails with:

Error: Could not find 'eagle.flash.1m0.ld1m.ld' LD script in LDPATH '/tmp/Sonoff-Tasmota/.pioenvs/custom /tmp/Sonoff-Tasmota/.pioenvs/custom/ld /home/gitpod/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lib /home/gitpod/.platformio/packages/framework-arduinoespressif8266/tools/sdk/ld /home/gitpod/.platformio/packages/framework-arduinoespressif8266/tools/sdk/libc/xtensa-lx106-elf/lib /home/gitpod/.platformio/packages/framework-arduinoespressif8266/tools/sdk/lib/NONOSDK22x'

Compiling for WeMos (4MB) seems to work

Allow Tasmota forks to compile

There are some interesting forks of Tasmota around, like Stefan Bodes rollershutter fork.
is it possible to implement an option to refer to the source code of another fork_

does not come to end on Gitpod

Hi, wanted to (re)compile shutterversion what worked ok in march, now after this message

Compiling .pioenvs/custom/FrameworkArduino/umm_malloc/umm_poison.c.o
Archiving .pioenvs/custom/libFrameworkArduino.a
Indexing .pioenvs/custom/libFrameworkArduino.a
Linking .pioenvs/custom/firmware.elf
Welcome stranger!

runs for ever ...

TasmoCompiler: Unable to get TAGS

Greetings,
I'm attempting to use a TasmoCompiler but without success.
At the final step I'm receiving a message "Unable to get TAGS"
I've used the "less easy way" to install TasmoCompiler on Win7 (without docker).

Where is the glitch?

best regards
Marcin

Change default edgebranch from development to master

Until will be possible to compile source of development branch I propasoe to change in

server/config/config.js

the string

const edgeBranch = 'development';

to

const edgeBranch = 'master';

to avoid error using default development branch.

What do you think about it?

error: 'SdFile' has not been declared

Hi,

It's probably me, not you but in case it's useful - I was trying to compile the development branch with scrips, webgui

itpod /tmp/Sonoff-Tasmota $ cat sonoff/user_config_override.h 
#ifndef _USER_CONFIG_OVERRIDE_H_
#define _USER_CONFIG_OVERRIDE_H_

#warning **** user_config_override.h: Using Settings from this File ****

#ifdef STA_SSID1
  #undef STA_SSID1
#endif
#define STA_SSID1       "test"

#ifdef STA_PASS1
  #undef STA_PASS1
#endif
#define STA_PASS1       "testtest"

#ifdef WIFI_IP_ADDRESS
  #undef WIFI_IP_ADDRESS
#endif
#define WIFI_IP_ADDRESS ""

#ifdef WIFI_SUBNETMASK
  #undef WIFI_SUBNETMASK
#endif
#define WIFI_SUBNETMASK ""

#ifdef WIFI_GATEWAY
  #undef WIFI_GATEWAY
#endif
#define WIFI_GATEWAY    ""

#ifdef WIFI_DNS
  #undef WIFI_DNS
#endif
#define WIFI_DNS        ""

#ifdef USE_DOMOTICZ
  #undef USE_DOMOTICZ
#endif

#ifdef USE_HOME_ASSISTANT
  #undef USE_HOME_ASSISTANT
#endif

#ifdef USE_KNX
  #undef USE_KNX
#endif

#ifdef USE_DISCOVERY
  #undef USE_DISCOVERY
#endif
#define USE_DISCOVERY

#ifdef USE_TIMERS
  #undef USE_TIMERS
#endif

#ifdef USE_RULES
  #undef USE_RULES
#endif

#ifdef USE_SCRIPT
  #undef USE_SCRIPT
#endif
#define USE_SCRIPT

#ifdef USE_ADC_VCC
  #undef USE_ADC_VCC
#endif

#ifdef USE_I2C
  #undef USE_I2C
#endif

#ifdef USE_SPI
  #undef USE_SPI
#endif

#ifdef USE_MHZ19
  #undef USE_MHZ19
#endif

#ifdef USE_SENSEAIR
  #undef USE_SENSEAIR
#endif

#ifdef USE_PMS5003
  #undef USE_PMS5003
#endif

#ifdef USE_NOVA_SDS
  #undef USE_NOVA_SDS
#endif

#ifdef USE_PZEM004T
  #undef USE_PZEM004T
#endif

#ifdef USE_PZEM_AC
  #undef USE_PZEM_AC
#endif

#ifdef USE_PZEM_DC
  #undef USE_PZEM_DC
#endif

#ifdef USE_MCP39F501
  #undef USE_MCP39F501
#endif

#ifdef USE_IR_REMOTE
  #undef USE_IR_REMOTE
#endif

#ifdef USE_IR_REMOTE_FULL
  #undef USE_IR_REMOTE_FULL
#endif

#ifdef USE_WS2812
  #undef USE_WS2812
#endif

#ifdef USE_SR04
  #undef USE_SR04
#endif

#ifdef USE_RC_SWITCH
  #undef USE_RC_SWITCH
#endif

#ifdef USE_WEBSERVER
  #undef USE_WEBSERVER
#endif
#define USE_WEBSERVER

#ifdef USE_MQTT_TLS
  #undef USE_MQTT_TLS
#endif
#define USE_MQTT_TLS

#ifdef MY_LANGUAGE
  #undef MY_LANGUAGE
#endif
#define MY_LANGUAGE     en-GB

#endifgitpod /tmp/Sonoff-Tasmota $ 

****************************************************************************************************
If you like PlatformIO, please:
- follow us on Twitter to stay up-to-date on the latest project news > https://twitter.com/PlatformIO_Org
- star it on GitHub > https://github.com/platformio/platformio
- try PlatformIO IDE for IoT development > https://platformio.org/platformio-ide
- support us with PlatformIO Plus > https://pioplus.com
****************************************************************************************************

Processing custom (platform: https://github.com/Jason2866/platform-espressif8266.git; framework: arduino; board: esp01_1m)
----------------------------------------------------------------------------------------------------
PlatformManager: Installing platform-espressif8266
git version 2.20.1
Cloning into '/home/gitpod/.platformio/platforms/_tmp_installing-mZW8IR-package'...
espressif8266 @ 4db7ada has been successfully installed!
The platform 'https://github.com/Jason2866/platform-espressif8266.git' has been successfully installed!
The rest of packages will be installed automatically depending on your build environment.
PackageManager: Installing toolchain-xtensa @ <3
toolchain-xtensa @ 2.40802.190218 has been successfully installed!
PackageManager: Installing tool-esptool @ <2
tool-esptool @ 1.413.0 has been successfully installed!
PackageManager: Installing tool-esptoolpy @ ~1.20600.0
tool-esptoolpy @ 1.20600.0 has been successfully installed!
PackageManager: Installing framework-arduinoespressif8266
git version 2.20.1
Cloning into '/home/gitpod/.platformio/packages/_tmp_installing-TwGRVH-package'...
Submodule 'libraries/ESP8266SdFat' (https://github.com/earlephilhower/ESP8266SdFat.git) registered for path 'libraries/ESP8266SdFat'
Submodule 'libraries/LittleFS/lib/littlefs' (https://github.com/ARMmbed/littlefs.git) registered for path 'libraries/LittleFS/lib/littlefs'
Submodule 'libraries/SoftwareSerial' (https://github.com/plerup/espsoftwareserial.git) registered for path 'libraries/SoftwareSerial'
Submodule 'tools/esptool' (https://github.com/espressif/esptool.git) registered for path 'tools/esptool'
Submodule 'tools/pyserial' (https://github.com/pyserial/pyserial.git) registered for path 'tools/pyserial'
Submodule 'lwip2' (https://github.com/d-a-v/esp82xx-nonos-linklayer.git) registered for path 'tools/sdk/lwip2/builder'
Submodule 'tools/sdk/ssl/bearssl' (https://github.com/earlephilhower/bearssl-esp8266.git) registered for path 'tools/sdk/ssl/bearssl'
Cloning into '/home/gitpod/.platformio/packages/_tmp_installing-TwGRVH-package/libraries/ESP8266SdFat'...
Cloning into '/home/gitpod/.platformio/packages/_tmp_installing-TwGRVH-package/libraries/SoftwareSerial'...
Cloning into '/home/gitpod/.platformio/packages/_tmp_installing-TwGRVH-package/tools/sdk/lwip2/builder'...
Cloning into '/home/gitpod/.platformio/packages/_tmp_installing-TwGRVH-package/tools/sdk/ssl/bearssl'...
Cloning into '/home/gitpod/.platformio/packages/_tmp_installing-TwGRVH-package/libraries/LittleFS/lib/littlefs'...
Cloning into '/home/gitpod/.platformio/packages/_tmp_installing-TwGRVH-package/tools/pyserial'...
Cloning into '/home/gitpod/.platformio/packages/_tmp_installing-TwGRVH-package/tools/esptool'...
Submodule path 'libraries/ESP8266SdFat': checked out 'af4ed0c5ec3084cb3883df51ec2052791ca2bff2'
Submodule path 'libraries/LittleFS/lib/littlefs': checked out 'abd90cb84c818a663b584575b019258d01d0065e'
Submodule path 'libraries/SoftwareSerial': checked out '776d49b2f570b93fe88ad7a082519b4fb56be817'
Submodule path 'tools/esptool': checked out '9ad444a6e06e58833d5e6044c1d5f3eb3dd56023'
Submodule path 'tools/pyserial': checked out 'c54c81d933b847458d465cd77e96cd702ff2e7be'
Submodule path 'tools/sdk/lwip2/builder': checked out 'ffa962483cc1c5d874b11bec13080359619c4cb2'
Submodule 'lwip2-src' (https://git.savannah.nongnu.org/git/lwip.git) registered for path 'tools/sdk/lwip2/builder/lwip2-src'
Cloning into '/home/gitpod/.platformio/packages/_tmp_installing-TwGRVH-package/tools/sdk/lwip2/builder/lwip2-src'...
Submodule path 'tools/sdk/lwip2/builder/lwip2-src': checked out '159e31b689577dbf69cf0683bbaffbd71fa5ee10'
Submodule path 'tools/sdk/ssl/bearssl': checked out '89454af34e3e61ddfc9837f3da5a0bc8ed44c3aa'
framework-arduinoespressif8266 @ 645464c has been successfully installed!
CorePackageManager: Installing tool-scons @ ~2.20501.7
tool-scons @ 2.20501.190826 has been successfully installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp01_1m.html
PLATFORM: Espressif 8266 (Stage) 2.3.0-alpha.1 #4db7ada > Espressif Generic ESP8266 ESP-01 1M
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
PACKAGES: toolchain-xtensa 2.40802.190218 (4.8.2), tool-esptool 1.413.0 (4.13), tool-esptoolpy 1.20600.0 (2.6.0), framework-arduinoespressif8266 645464c
Converting sonoff.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 58 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <ESP KNX IP Library> 0.5.1
|   |-- <ESP8266WiFi> 1.0
|   |-- <EEPROM> 1.0
|   |-- <ESP8266WebServer> 1.0
|   |   |-- <ESP8266WiFi> 1.0
|-- <Ticker> 1.0
|-- <Adafruit SGP30 Sensor> 1.0.3
|   |-- <Wire> 1.0
|-- <rc-switch> 2.6.2
|-- <OneWire> 2.3.2
|-- <Adafruit GFX Library> 1.2.9
|   |-- <SPI> 1.0
|-- <Mutichannel_Gas_Sensor> 0.0.1
|   |-- <Wire> 1.0
|-- <PubSubClient> 2.7
|-- <I2Cdevlib-Core>
|   |-- <Wire> 1.0
|-- <DNSServer> 1.1.1
|   |-- <ESP8266WiFi> 1.0
|-- <TasmotaSerial> 2.3.0
|-- <Joba_Tsl2561> 2.0.10
|   |-- <Wire> 1.0
|-- <Adafruit SSD1306> 1.1.2
|   |-- <Adafruit GFX Library> 1.2.9
|   |   |-- <SPI> 1.0
|   |-- <Wire> 1.0
|   |-- <SPI> 1.0
|-- <Adafruit CCS811 Library> 1.0.0
|   |-- <Wire> 1.0
|-- <SD(esp8266)> 2.0.0
|   |-- <SDFS> 0.1.0
|   |   |-- <SPI> 1.0
|   |   |-- <ESP8266SdFat> 1.1.0
|   |   |   |-- <SPI> 1.0
|-- <Adafruit ILI9341> 1.2.0
|   |-- <Adafruit GFX Library> 1.2.9
|   |   |-- <SPI> 1.0
|   |-- <SPI> 1.0
|-- <SPI> 1.0
|-- <C2Programmer> 1.0.0
|-- <Wire> 1.0
|-- <LiquidCrystal_I2C>
|   |-- <Wire> 1.0
|-- <NeoPixelBus> 2.2.9
|   |-- <SPI> 1.0
|-- <ESP8266mDNS> 1.2
|   |-- <ESP8266WiFi> 1.0
|-- <FrogmoreScd30>
|   |-- <Wire> 1.0
|-- <VL53L0X> 1.0.2
|   |-- <Wire> 1.0
|-- <ArduinoJson> 5.13.4
|-- <I2Cdevlib-MPU6050>
|   |-- <I2Cdevlib-Core>
|   |   |-- <Wire> 1.0
|-- <BearSSL> 0.6
|-- <Waveshare esp 2.9 inch e-paper display driver> 1.0
|   |-- <SPI> 1.0
|-- <TasmotaModbus> 1.1.0
|   |-- <TasmotaSerial> 2.3.0
|-- <Adafruit LED Backpack Library> 1.1.6
|   |-- <Adafruit GFX Library> 1.2.9
|   |   |-- <SPI> 1.0
|   |-- <Wire> 1.0
|-- <NewPing> 1.9.1
|-- <LinkedList>
|-- <ESP8266WebServer> 1.0
|   |-- <ESP8266WiFi> 1.0
|-- <ESP8266httpUpdate> 1.3
|   |-- <ESP8266HTTPClient> 1.2
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266WiFi> 1.0
|-- <I2Cdevlib-ADS1115>
|   |-- <I2Cdevlib-Core>
|   |   |-- <Wire> 1.0
|-- <ArduinoOTA> 1.0
|   |-- <ESP8266mDNS> 1.2
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266WiFi> 1.0
|-- <ESP8266HTTPClient> 1.2
|   |-- <ESP8266WiFi> 1.0
|-- <IRremoteESP8266> 2.6.0
|-- <BME680_driver-bme680_v3.5.9>
|-- <ESP8266WiFi> 1.0
Generating .pioenvs/custom/core/core_version.h
Compiling .pioenvs/custom/src/StackThunk_light.cpp.o
Compiling .pioenvs/custom/src/sonoff_aws_iot.cpp.o
Generating LD script .pioenvs/custom/ld/local.eagle.app.v6.common.ld
Compiling .pioenvs/custom/lib9db/ESP8266WebServer/detail/mimetable.cpp.o
Compiling .pioenvs/custom/lib7df/Ticker/Ticker.cpp.o
Compiling .pioenvs/custom/lib90c/Adafruit-GFX-Library-1.2.9/glcdfont.c.o
Compiling .pioenvs/custom/lib388/ESP8266SdFat/FatLib/FmtNumber.cpp.o
fatal: No names found, cannot describe anything.
Archiving .pioenvs/custom/lib8e7/libArduinoJson-5.13.4.a
Compiling .pioenvs/custom/libb4d/bearssl-esp8266/aead/ccm.c.o
Compiling .pioenvs/custom/libb4d/bearssl-esp8266/aead/eax.c.o
Compiling .pioenvs/custom/libb4d/bearssl-esp8266/aead/gcm.c.o
Compiling .pioenvs/custom/libb4d/bearssl-esp8266/codec/ccopy.c.o
Compiling .pioenvs/custom/libb4d/bearssl-esp8266/codec/dec16be.c.o
Compiling .pioenvs/custom/libb4d/bearssl-esp8266/codec/dec16le.c.o
Compiling .pioenvs/custom/libb4d/bearssl-esp8266/codec/dec32be.c.o
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o
Compiling .pioenvs/custom/lib876/Mutichannel_Gas_Sensor/MutichannelGasSensor.cpp.o
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/CertStoreBearSSL.cpp.o
Compiling .pioenvs/custom/libeab/PubSubClient-EspEasy-2.7.12/PubSubClient.cpp.o
Archiving .pioenvs/custom/lib9db/libESP8266WebServer.a
Compiling .pioenvs/custom/lib9a8/esp-knx-ip-0.5.1/esp-knx-ip-conversion.cpp.o
Archiving .pioenvs/custom/lib7df/libTicker.a
Compiling .pioenvs/custom/lib3c0/ESP8266mDNS/LEAmDNS_Structs.cpp.o
Compiling .pioenvs/custom/lib4bd/DNSServer/DNSServer.cpp.o
Indexing .pioenvs/custom/lib8e7/libArduinoJson-5.13.4.a
Compiling .pioenvs/custom/lib6ba/NeoPixelBus-2.2.9/internal/NeoPixelAnimator.cpp.o
Compiling .pioenvs/custom/lib388/ESP8266SdFat/SpiDriver/SdSpiSTM32.cpp.o
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/WiFiClient.cpp.o
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o
Compiling .pioenvs/custom/lib6ba/NeoPixelBus-2.2.9/internal/NeoPixelAvr.c.o
Indexing .pioenvs/custom/lib9db/libESP8266WebServer.a
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/WiFiServerSecureAxTLS.cpp.o
Indexing .pioenvs/custom/lib7df/libTicker.a
Compiling .pioenvs/custom/lib388/ESP8266SdFat/FatLib/FatFile.cpp.o
Archiving .pioenvs/custom/lib876/libMutichannel_Gas_Sensor.a
Archiving .pioenvs/custom/libeab/libPubSubClient-EspEasy-2.7.12.a
Compiling .pioenvs/custom/lib303/OneWire-2.3.3.06/OneWire.cpp.o
Compiling .pioenvs/custom/lib6ba/NeoPixelBus-2.2.9/internal/HtmlColorNames.cpp.o
Compiling .pioenvs/custom/lib3c0/ESP8266mDNS/LEAmDNS_Control.cpp.o
Compiling .pioenvs/custom/lib049/rc-switch-2.6.2.13/RCSwitch.cpp.o
Compiling .pioenvs/custom/src/WiFiClientSecureLightBearSSL.cpp.o
Compiling .pioenvs/custom/lib3c0/ESP8266mDNS/ESP8266mDNS_Legacy.cpp.o
Compiling .pioenvs/custom/lib359/EEPROM/EEPROM.cpp.o
Compiling .pioenvs/custom/lib16d/LiquidCrystal_I2C-1.1.3/LiquidCrystal_I2C.cpp.o
Indexing .pioenvs/custom/lib876/libMutichannel_Gas_Sensor.a
Archiving .pioenvs/custom/lib4bd/libDNSServer.a
Indexing .pioenvs/custom/libeab/libPubSubClient-EspEasy-2.7.12.a
Compiling .pioenvs/custom/lib6ba/NeoPixelBus-2.2.9/internal/HtmlColor.cpp.o
Compiling .pioenvs/custom/lib21d/SD/SD.cpp.o
Compiling .pioenvs/custom/lib90c/Adafruit-GFX-Library-1.2.9/Adafruit_SPITFT.cpp.o
Compiling .pioenvs/custom/lib388/ESP8266SdFat/SdCard/SdioTeensy.cpp.o
Archiving .pioenvs/custom/lib303/libOneWire-2.3.3.06.a
Compiling .pioenvs/custom/lib7a7/Adafruit_SSD1306-1.1.2/Adafruit_SSD1306.cpp.o
Compiling .pioenvs/custom/lib661/Joba_Tsl2561-2.0.10/Tsl2561.cpp.o
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/ESP8266WiFiSTA.cpp.o
Indexing .pioenvs/custom/lib4bd/libDNSServer.a
Compiling .pioenvs/custom/lib56a/FrogmoreScd30/FrogmoreScd30.cpp.o
Archiving .pioenvs/custom/lib359/libEEPROM.a
Compiling .pioenvs/custom/src/core_esp8266_timer.c.o
Compiling .pioenvs/custom/src/Parsing.cpp.o
Archiving .pioenvs/custom/lib049/librc-switch-2.6.2.13.a
Archiving .pioenvs/custom/lib16d/libLiquidCrystal_I2C-1.1.3.a
Indexing .pioenvs/custom/lib303/libOneWire-2.3.3.06.a
Compiling .pioenvs/custom/lib388/ESP8266SdFat/FatLib/FatFileSFN.cpp.o
Compiling .pioenvs/custom/lib9a8/esp-knx-ip-0.5.1/esp-knx-ip.cpp.o
Archiving .pioenvs/custom/lib21d/libSD.a
Compiling .pioenvs/custom/lib2cb/Adafruit_CCS811-1.0.0.14/Adafruit_CCS811.cpp.o
Compiling .pioenvs/custom/lib388/ESP8266SdFat/MinimumSerial.cpp.o
Compiling .pioenvs/custom/lib4f5/Adafruit_SGP30-1.0.3/Adafruit_SGP30.cpp.o
Compiling .pioenvs/custom/lib6ba/NeoPixelBus-2.2.9/internal/HtmlColorNameStrings.cpp.o
Indexing .pioenvs/custom/lib359/libEEPROM.a
Indexing .pioenvs/custom/lib049/librc-switch-2.6.2.13.a
Archiving .pioenvs/custom/lib7a7/libAdafruit_SSD1306-1.1.2.a
Compiling .pioenvs/custom/lib388/ESP8266SdFat/FatLib/istream.cpp.o
Indexing .pioenvs/custom/lib16d/libLiquidCrystal_I2C-1.1.3.a
Compiling .pioenvs/custom/lib388/ESP8266SdFat/SdCard/SdioCardEX.cpp.o
Compiling .pioenvs/custom/lib6ba/NeoPixelBus-2.2.9/internal/HslColor.cpp.o
Compiling .pioenvs/custom/lib9a8/esp-knx-ip-0.5.1/esp-knx-ip-webserver.cpp.o
Archiving .pioenvs/custom/lib56a/libFrogmoreScd30.a
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/ESP8266WiFiMulti.cpp.o
Indexing .pioenvs/custom/lib7a7/libAdafruit_SSD1306-1.1.2.a
Indexing .pioenvs/custom/lib21d/libSD.a
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/ESP8266WiFi.cpp.o
Compiling .pioenvs/custom/lib3c0/ESP8266mDNS/LEAmDNS_Transfer.cpp.o
Compiling .pioenvs/custom/lib388/ESP8266SdFat/FatLib/FatFileLFN.cpp.o
Archiving .pioenvs/custom/lib4f5/libAdafruit_SGP30-1.0.3.a
Compiling .pioenvs/custom/lib3c0/ESP8266mDNS/LEAmDNS.cpp.o
Archiving .pioenvs/custom/lib2cb/libAdafruit_CCS811-1.0.0.14.a
Compiling .pioenvs/custom/lib6ba/NeoPixelBus-2.2.9/internal/HsbColor.cpp.o
Indexing .pioenvs/custom/lib56a/libFrogmoreScd30.a
Compiling .pioenvs/custom/lib6fe/Wire/Wire.cpp.o
Compiling .pioenvs/custom/lib388/ESP8266SdFat/SpiDriver/SdSpiSAM3X.cpp.o
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/WiFiClientSecureAxTLS.cpp.o
Compiling .pioenvs/custom/lib6ba/NeoPixelBus-2.2.9/internal/NeoEsp8266UartMethod.cpp.o
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o
Indexing .pioenvs/custom/lib4f5/libAdafruit_SGP30-1.0.3.a
Indexing .pioenvs/custom/lib2cb/libAdafruit_CCS811-1.0.0.14.a
Compiling .pioenvs/custom/lib388/ESP8266SdFat/FatLib/ostream.cpp.o
Compiling .pioenvs/custom/lib388/ESP8266SdFat/FatLib/StdioStream.cpp.o
Compiling .pioenvs/custom/lib6ba/NeoPixelBus-2.2.9/internal/RgbColor.cpp.o
Compiling .pioenvs/custom/lib3c0/ESP8266mDNS/ESP8266mDNS.cpp.o
Compiling .pioenvs/custom/src/sonoff.ino.cpp.o
Compiling .pioenvs/custom/lib5f2/I2Cdevlib-Core/I2Cdev.cpp.o
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/ESP8266WiFiAP.cpp.o
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/BearSSLHelpers.cpp.o
Archiving .pioenvs/custom/lib6fe/libWire.a
Compiling .pioenvs/custom/lib5b8/Adafruit_ILI9341-1.2.0-Tasmota-1.0/Adafruit_ILI9341.cpp.o
Compiling .pioenvs/custom/lib3c0/ESP8266mDNS/LEAmDNS_Helpers.cpp.o
Compiling .pioenvs/custom/lib661/Joba_Tsl2561-2.0.10/Tsl2561Util.cpp.o
Compiling .pioenvs/custom/lib6ba/NeoPixelBus-2.2.9/internal/NeoGamma.cpp.o
Compiling .pioenvs/custom/src/core_esp8266_wiring_digital.c.o
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/ESP8266WiFiScan.cpp.o
Compiling .pioenvs/custom/lib6ba/NeoPixelBus-2.2.9/internal/NeoPixelEsp.c.o
In file included from /tmp/Sonoff-Tasmota/sonoff/sonoff.ino:34:0:
sonoff/user_config_override.h:4:2: warning: #warning **** user_config_override.h: Using Settings from this File **** [-Wcpp]
 #warning **** user_config_override.h: Using Settings from this File ****
  ^
Compiling .pioenvs/custom/lib5ba/I2Cdevlib-MPU6050/MPU6050.cpp.o
Indexing .pioenvs/custom/lib6fe/libWire.a
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/WiFiServer.cpp.o
Archiving .pioenvs/custom/lib5f2/libI2Cdevlib-Core.a
Compiling .pioenvs/custom/lib388/ESP8266SdFat/FatLib/FatVolume.cpp.o
Compiling .pioenvs/custom/lib388/ESP8266SdFat/SpiDriver/SdSpiTeensy3.cpp.o
Compiling .pioenvs/custom/lib90c/Adafruit-GFX-Library-1.2.9/Adafruit_GFX.cpp.o
In file included from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/tools/sdk/libc/xtensa-lx106-elf/include/sys/stdio.h:6:0,
                 from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/tools/sdk/libc/xtensa-lx106-elf/include/stdio.h:63,
                 from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:32,
                 from /tmp/tmp1Yoguu:1:
/home/gitpod/.platformio/packages/framework-arduinoespressif8266/tools/sdk/libc/xtensa-lx106-elf/include/sys/pgmspace.h:25:130: error: 'const char HTTP_HEAD []' redeclared as different kind of symbol
   #define PROGMEM __attribute__((section( "\".irom.text." __FILE__ "." __STRINGIZE(__LINE__) "."  __STRINGIZE(__COUNTER__) "\"")))
                                                                                                                                  ^
/tmp/Sonoff-Tasmota/sonoff/xdrv_01_webserver.ino:49:24: note: in expansion of macro 'PROGMEM'
 const char HTTP_HEAD[] PROGMEM =
                        ^
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/WiFiUdp.cpp.o
In file included from lib/esp-knx-ip-0.5.1/esp-knx-ip.h:49:0,
                 from sonoff/sonoff_post.h:41,
                 from /tmp/Sonoff-Tasmota/sonoff/sonoff.ino:39:
/home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266WebServer/src/ESP8266WebServer.h:33:39: error: previous declaration of 'HTTPMethod HTTP_HEAD'
 enum HTTPMethod { HTTP_ANY, HTTP_GET, HTTP_HEAD, HTTP_POST, HTTP_PUT, HTTP_PATCH, HTTP_DELETE, HTTP_OPTIONS };
                                       ^
/tmp/Sonoff-Tasmota/sonoff/xdrv_01_webserver.ino: In function 'void WSContentStart_P(const char*, bool)':
/tmp/Sonoff-Tasmota/sonoff/xdrv_01_webserver.ino:749:64: error: cannot convert 'HTTPMethod' to 'const char*' for argument '1' to 'void WSContentSend_P(const char*, ...)'
     WSContentSend_P(HTTP_HEAD, Settings.friendlyname[0], ctitle);
                                                                ^
Archiving .pioenvs/custom/lib5b8/libAdafruit_ILI9341-1.2.0-Tasmota-1.0.a
Archiving .pioenvs/custom/lib661/libJoba_Tsl2561-2.0.10.a
/tmp/Sonoff-Tasmota/sonoff/xdrv_10_scripter.ino: In function 'void dateTime(uint16_t*, uint16_t*)':
/tmp/Sonoff-Tasmota/sonoff/xdrv_10_scripter.ino:2944:68: error: 'FAT_DATE' was not declared in this scope
   *date = FAT_DATE(RtcTime.year,RtcTime.month, RtcTime.day_of_month);
                                                                    ^
/tmp/Sonoff-Tasmota/sonoff/xdrv_10_scripter.ino:2944:68: note: suggested alternative:
In file included from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src/FatLib/FatFile.h:37:0,
                 from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src/FatLib/ArduinoFiles.h:33,
                 from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src/FatLib/FatLib.h:27,
                 from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src/SdFat.h:33,
                 from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/SDFS/src/SDFS.h:36,
                 from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/SD/src/SD.h:25,
                 from /tmp/Sonoff-Tasmota/sonoff/xdrv_10_scripter.ino:65:
/home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src/FatLib/FatStructs.h:765:24: note:   'sdfat::FAT_DATE'
 static inline uint16_t FAT_DATE(uint16_t year, uint8_t month, uint8_t day) {
                        ^
/tmp/Sonoff-Tasmota/sonoff/xdrv_10_scripter.ino:2946:62: error: 'FAT_TIME' was not declared in this scope
   *time = FAT_TIME(RtcTime.hour,RtcTime.minute,RtcTime.second);
                                                              ^
/tmp/Sonoff-Tasmota/sonoff/xdrv_10_scripter.ino:2946:62: note: suggested alternative:
In file included from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src/FatLib/FatFile.h:37:0,
                 from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src/FatLib/ArduinoFiles.h:33,
                 from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src/FatLib/FatLib.h:27,
                 from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src/SdFat.h:33,
                 from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/SDFS/src/SDFS.h:36,
                 from /home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/SD/src/SD.h:25,
                 from /tmp/Sonoff-Tasmota/sonoff/xdrv_10_scripter.ino:65:
/home/gitpod/.platformio/packages/framework-arduinoespressif8266/libraries/ESP8266SdFat/src/FatLib/FatStructs.h:799:24: note:   'sdfat::FAT_TIME'
 static inline uint16_t FAT_TIME(uint8_t hour, uint8_t minute, uint8_t second) {
                        ^
/tmp/Sonoff-Tasmota/sonoff/xdrv_10_scripter.ino: In function 'bool Xdrv10(uint8_t)':
/tmp/Sonoff-Tasmota/sonoff/xdrv_10_scripter.ino:3009:9: error: 'SdFile' has not been declared
         SdFile::dateTimeCallback(dateTime);
         ^
Compiling .pioenvs/custom/lib9a8/esp-knx-ip-0.5.1/esp-knx-ip-config.cpp.o
Compiling .pioenvs/custom/lib388/ESP8266SdFat/SpiDriver/SdSpiParticle.cpp.o
Archiving .pioenvs/custom/lib3c0/libESP8266mDNS.a
Compiling .pioenvs/custom/lib71f/SPI/SPI.cpp.o
Compiling .pioenvs/custom/lib6ba/NeoPixelBus-2.2.9/internal/RgbwColor.cpp.o
Indexing .pioenvs/custom/lib5f2/libI2Cdevlib-Core.a
*** [.pioenvs/custom/src/sonoff.ino.cpp.o] Error 1
Indexing .pioenvs/custom/lib5b8/libAdafruit_ILI9341-1.2.0-Tasmota-1.0.a
Indexing .pioenvs/custom/lib661/libJoba_Tsl2561-2.0.10.a
Indexing .pioenvs/custom/lib3c0/libESP8266mDNS.a
=================================== [FAILED] Took 65.70 seconds ===================================
Finished. Exit code: 1.

Feature Request replace core 2.5.0 with 2.5.1

Bugfix release 2.5.1 is out.
To use it you can use my Repo for Platformio since The Platformio crew didnt do an update yet

platform = https://github.com/Jason2866/platform-espressif8266.git#Tasmota

Multilanguage GUI - italian language didn't work

@benzino77

If your open gitpod using your repository I got this error

./src/locales/it.json
Module parse failed: Unexpected token
in JSON at position 4180 while parsing '{
"appBarLangFlag": "IT",
"appBarLan'
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token
in JSON at position 4180 while parsing '{
"appBarLangFlag": "IT",
"appBarLan'
at JSON.parse ()

Add 2MB file Option

Hi,
this amazing work that help me alot...
i used with ESP that have a 2MB Flash , can you add that option ?
thanks...

Improvement - Select in GUI a hardware model from a template list to select features

@benzino77
@rapejim

I propose you some ideas about a step up could be improve the program.
We can create a list of template, ex

Sonoff basic (r1/R2/r3)
Sonoff basic RF (R1/R2/R3)
Sonoff Mini
etc

where can define for each template which tasmota firmare feature is possible to enable.

when the user run compilation before to select features could decide if select a product template from a list or select manually which features enable in the firmware.

If the user select a model template (ex. Sonoff basic without RF), the program select automatically all possible featuers (based on template file) available for Sonoff Basic (ex not include RF, Air sensor etc).

In this way for many user can be easier to compile a firmware with all specific features for teh specifc hardware and nothing else.

What do you think about it?

Info about Wifi SSID/password and static ip settings

@benzino77

I'd like to have some info about preset Wifi SSID/password ans static IP. Example:

Today i created a new firmware (.bin file) with setting about Wifi SSID and password and static IP.

I flashed this firmware in the Sonoff and I'm using.

In the futuire If i want to build a new firmware versione have I to set every time these setiings (WiFi SSID user/password static IP) or can I leave these fields blank and new firmware didn't overwrite current settings (WiFi SSID user/password and staic IP).

Thanks.

language/cz-CZ.h: No such file or directory

When I changed language to Czech I got error message:

tasmota/i18n.h:557:37: fatal error: language/cz-CZ.h: No such file or directory
#include INCLUDE_FILE(MY_LANGUAGE)

compilation terminated.
*** [.pioenvs/custom/src/tasmota.ino.cpp.o] Error 1
========================= [FAILED] Took 34.41 seconds =========================
Finished. Exit code: 1.

Support for Tasmota Arduino core pre 2.6

Hello again,

could you support the pre core 2.6.? It is much better than 2.5.2 because many issues are fixed.
It is the standard core for the development branch of Tasmota since a few weeks.
Take a look in the platformio.ini
Is this possible without to much effort?
Thx! Greets Jason2866

Flashsize wrong, should be MByte not Mbit

1st thanks for this very great tool!
I think the flashsize selector text is wrong, it should be MByte not Mbit.
It would also be great to have a setting for 512-kByte devices, f.e. older ESP-01 or the H801

[.pioenvs/custom/src/tasmota.ino.cpp.o] Error 1

Hi
got following Error:
In file included from /tmp/Tasmota/tasmota/tasmota.ino:43:0:
tasmota/i18n.h:626:37: fatal error: language/de-DE.h: No such file or directory
#include INCLUDE_FILE(MY_LANGUAGE)
^
compilation terminated.
Compiling .pioenvs/custom/src/WiFiClientSecureLightBearSSL.cpp.o
Compiling .pioenvs/custom/src/Parsing.cpp.o
In file included from tasmota/my_user_config.h:731:0,
from tasmota/WiFiClientSecureLightBearSSL.cpp:23:
tasmota/user_config_override.h:4:2: warning: #warning **** user_config_override.h: Using Settings from this File **** [-Wcpp]
#warning **** user_config_override.h: Using Settings from this File ****
^
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/ESP8266WiFiSTA.cpp.o
*** [.pioenvs/custom/src/tasmota.ino.cpp.o] Error 1
Compiling .pioenvs/custom/lib5c2/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o
========================= [FAILED] Took 47.46 seconds =========================
Finished. Exit code: 1.

Multi arch with rpi support

Hi,

Can you make the docker repo multi arch with raspberry pi support? I've tester it working with using the following base image:

FROM arm32v7/node:10.15.3-stretch-slim

Create a downloadable log text file with all options selecetd

@benzino77

Do you think that it's possible to create at the end of compilation a text file that the user can download, with all options/info selected during compilation in all steps?

In this way it's possible archive the text file with firmware.bin and I know all setups about this file firmware.bin.

I think about less technical file that you already provdied.

Is just a copy of options selected in the stesps.

Thanks.

UI _Add info about repository link used

@benzino77
@rapejim

To test development in tasmota fimware

  • I make a fork of original tasmota repository
  • I make a fork of tsmocompiler repository
  • I change in my fork of tasmocompiler in server/config/config.js the value

const githubRepo = 'https://github.com/arendst/Tasmota.git';

in

const githubRepo = 'https://github.com/bovirus/Tasmota.git';

Could be possible to add in in multi-language gui before to select "download sorce"/"refresh source" a line like

Github site = xxxxxx

where xxx is the value gitHubrepo?

In this way I can check that I can really using my personal repo.

Thanks.

512 KB & Ukraine Language Error

Great software. Although there are nuances. I compile for 512 kb, but there is no such choice.
When choosing the Ukrainian language, it gives a compilation error.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.