Giter VIP home page Giter VIP logo

espeasy's Introduction

Latest Nightly Build Status Downloads Docs Patreon Ko-Fi PayPal
GitHub version Build status Downloads Documentation Status donate donate donate

For ways to support us, see this announcement on the forum, or have a look at the Patreon, Ko-Fi or PayPal links above.

ESPEasy (development branch)

Introduction https://espeasy.readthedocs.io/en/latest/ (and, mostly outdated, wiki: https://www.letscontrolit.com/wiki/index.php/ESPEasy#Introduction)

MEGA This is the development branch of ESPEasy. All new features go into this branch, and it has become the current stable branch. If you want to do a bugfix, do it on this branch.

Check here to learn how to use this branch and help us improving ESPEasy: Starter guide for (local) development on ESPEasy

Web based flasher (experimental)

To make it easier to get started, one may flash a build directly to the ESP from your browser. Currently only Chrome and Edge are supported.

See this flash page to try the new web flash feature.

The web flasher is using ESP Web Tools made by the people behind ESPHome and Home Assistant.

Binary releases

On demand, controlled by the repo owner, our build-bot will build a new binary release: https://github.com/letscontrolit/ESPEasy/releases

The releases are named something like 'mega-20220626' (last number is the build date)

Depending on your needs, we release different types of files:

The name is built up from a few key parts:

ESPEasy_mega_[releasedate]_[build-type]_[opt-arduino-library]_[hardware-type]_[flash-size][filesystem-size]_[opt-build-features].bin

[build-type] can be any of:

Build type Description included plugins
climate All plugins related to climate measurement Stable + Climate
custom Custom predefined set/Defined in Custom.h Specific
normal Standard plugins Stable
collection_A Normal + plugin collection A Stable + Collection base + set A
collection_B Normal + plugin collection B Stable + Collection base + set B
collection_C Normal + plugin collection C Stable + Collection base + set C
collection_D Normal + plugin collection D Stable + Collection base + set D
collection_E Normal + plugin collection E Stable + Collection base + set E
collection_F Normal + plugin collection F Stable + Collection base + set F
collection_G Normal + plugin collection G Stable + Collection base + set G
max All available plugins All available
energy All plugins related to energy measurement Stable + Energy measurement
display All plugins related to displays Stable + Displays
neopixel All plugins related to neopixel Stable + Neopixel
hard hardware specific builds Minimal
minimal minimal plugins for specific use-cases Switch and Controller
spec_* specialized technical builds Not intended for regular use
IRext Infra-red hardware specific Sending and receiving IR cmd
safeboot (Experimental) safeboot build to enable
most/all plugins on 4MB Flash boards
None

[opt-arduino-library] (optional) can be any of:

Arduino library Description
alt_wifi Alternative WiFi configuration
beta Arduino Beta release
sdk3 Arduino SDK v.3
core_274 Arduino Core 2.7.4 release
core_302 Arduino Core 3.0.2 release
core_274_sdk3 Arduino Core 2.7.4 SDK v.3 release

[hardware-type] can be any of:

Hardware type Description
ESP8266 Espressif ESP8266/ESP8285 generic boards
WROOM02 Espressif ESP8266 WRoom02 boards
ESP32 Espressif ESP32 generic boards
ESP32solo1 Espressif ESP32-Solo1 generic boards
ESP32s2 Espressif ESP32-S2 generic boards
ESP32c3 Espressif ESP32-C3 generic boards
ESP32s3 Espressif ESP32-S3 generic boards
ESP32c2 Espressif ESP32-C2 generic boards
ESP32c6 Espressif ESP32-C6 generic boards
ESP32-wrover-kit Espressif ESP32 wrover-kit boards
SONOFF Sonoff hardware specific
other_POW Switch with power measurement
Shelly_1 Shelly 1 switch
Shelly_PLUG_S Shelly plug S switch with power measurement
Ventus Ventus W266 weather station
LCtech_relay LC-tech serial switch

N.B. Starting 2022/07/23, 1M ESP8266 builds can also be used on ESP8285 units and thus there is no longer a specific ESP8285 build anymore.

[flash-size] can be any of:

Flash size Description
1M 1 MB with 128 kB filesystem
2M 2 MB with 128 kB filesystem
2M256 2 MB with 256 kB filesystem
2M320k 2 MB with 320 kB filesystem
4M1M 4 MB with 1 MB filesystem
4M2M 4 MB with 2 MB filesystem
16M 16 MB with 14 MB filesystem
4M316k 4 MB with 316 kB filesystem
8M1M 8 MB with 1 MB filesystem
16M1M 16 MB with 1 MB filesystem
16M8M 16 MB with 8 MB filesystem

N.B. Starting with release 2023/12/25, All ESP32 LittleFS builds use IDF 5.1, to support newer ESP32 chips like ESP32-C2 and ESP32-C6. Other SPIFFS based ESP32 builds will be migrated to LittleFS as SPIFFS is no longer available in IDF 5 and later. A migration plan will be made available in 2024.

[opt-build-features] can be any of:

Build features Description
LittleFS Use LittleFS instead of SPIFFS filesystem (SPIFFS is unstable > 2 MB, and no longer supported in IDF > 5)
VCC Analog input configured to measure VCC voltage (ESP8266 only)
OTA Arduino OTA (Over The Air) update feature enabled
Domoticz Only Domoticz controllers (HTTP) and plugins included
Domoticz_MQTT Only Domoticz controllers (MQTT) and plugins included
FHEM_HA Only FHEM/OpenHAB/Home Assistant (MQTT) controllers and plugins included
ETH Ethernet interface enabled (ESP32-classic only)
OPI_PSRAM Specific configuration to enable PSRAM detection, ESP32-S3 only
CDC Support USBCDC/HWCDC-serial console on ESP32-C3, ESP32-S2, ESP32-S3 and ESP32-C6
noOTA/NO_OTA Does not support OTA (Over The Air-updating of the firmware) Use the flash page or ESPTool via USB Serial

Some example firmware names:

Firmware name Hardware Included plugins
ESPEasy_mega-20230822_normal_ESP8266_1M.bin ESP8266/ESP8285 with 1MB flash Stable
ESPEasy_mega-20230822_normal_ESP8266_4M1M.bin ESP8266 with 4MB flash Stable
ESPEasy_mega-20230822_collection_A_ESP8266_4M1M.bin ESP8266 with 4MB flash Stable + Collection base + set A
ESPEasy_mega-20230822_normal_ESP32_4M316k.bin ESP32 with 4MB flash Stable
ESPEasy_mega-20230822_collection_A_ESP32_4M316k.bin ESP32 with 4MB flash Stable + Collection base + set A
ESPEasy_mega-20230822_collection_B_ESP32_4M316k.bin ESP32 with 4MB flash Stable + Collection base + set B
ESPEasy_mega-20230822_max_ESP32s3_8M1M_LittleFS_CDC.bin ESP32-S3 with 8MB flash, CDC-serial All available plugins
ESPEasy_mega-20230822_max_ESP32s3_8M1M_LittleFS_OPI_PSRAM_CDC.bin ESP32-S3 8MB flash, PSRAM, CDC-serial All available plugins
ESPEasy_mega-20230822_max_ESP32_16M1M.bin ESP32 with 16MB flash All available plugins
ESPEasy_mega-20230822_max_ESP32_16M8M_LittleFS.bin ESP32 with 16MB flash All available plugins

The binary files for the different ESP32 variants (S2, C3, S3, C2, C6, 'Classic') are available in separate archives.

To see what plugins are included in which collection set, you can find that on the ESPEasy Plugin overview page

Documentation & more info

Our new, in-depth documentation can be found at ESPEasy.readthedocs.io. Automatically built, so always up-to-date according to the contributed contents. The old Wiki documentation can be found at letscontrolit.com/wiki.

Additional details and discussion are on the "Experimental" section of the forum: https://www.letscontrolit.com/forum/viewforum.php?f=18

Gitpod Ready-to-Code

Icons used

Icons on courtesy of ICONS8.

espeasy's People

Contributors

chri-kai-in avatar chris-656 avatar christian-me avatar chromoxdor avatar clumsy-stefan avatar crnjan avatar flashmark avatar fmuntean avatar giig1967g avatar grovkillen avatar jimmys01 avatar jk-de avatar kretzp avatar krikk avatar martament avatar martinusgh avatar mcspr avatar ppisljar avatar psy0rz avatar s0170071 avatar sakinit avatar soif avatar stefannetzer avatar svollebregt avatar td-er avatar thomastech avatar tonhuisman avatar uwekaditz avatar uzi18 avatar workgroupengineering 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  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

espeasy's Issues

firmware.elf section `.text' will not fit in region `iram1_0_seg'

Hello
when i build normal are OK but not test and dev it's normal ?
Environment normal_1024 [SUCCESS]
Environment normal_4096 [SUCCESS]
Environment test_1024 [ERROR] firmware.elf section .text' will not fit in region iram1_0_seg'
Environment test_4096 [ERROR] firmware.elf section .text' will not fit in region iram1_0_seg'
Environment dev_1024 [ERROR] firmware.elf section .text' will not fit in region iram1_0_seg'
Environment dev_4096 [ERROR] firmware.elf section .text' will not fit in region iram1_0_seg'

other question why include :
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
it's need only by plugin LiquidCrystal_I2C.h ex P012

I have dev a plugin for quirky nimbus but i need brzo_I2C (more speed and i need 400khz i2c) librarie and i need to disable some lib and plugin (ex LiquidCrystal_I2C ) without this my build generate also firmware.elf section .text' will not fit in region iram1_0_seg' in normal environment.

why not use brzo_I2C in espeasy ? it s more speed and seem less consumes ESP8266 ressource
ex :
http://www.electronics-lab.com/esp8266-ssd1306-oled-library-release/
ex :
with and without brzo i2c implementation from a other project :
version with brzo implementation uses flash: 258 961 and ram: 34 248
version with wire.h implementation uses flash: 259 065 and ram: 34 392

Thanck you by advance
( sorry perhaps you prefer 3 issues ? )

A few of issues...

1. Missing files from the zipped builds (empty folders), why?:
- Adafruit_NeoPixel
- ArduinoJson
- IRremoteESP8266
Explained by @krikk, but it's not so handy, maybe make only one combined distribution archive file.

2. Build version shown as 20000, why?
- instead maybe use 207 (regarding v2.0.0-dev07), no?

3. Node list not compatible with previous versions of builds, e.g. r146, why?
- r146 node list shows the Mega builds, but the Mega builds can't see or show the r146 node list
Explained by @bicnet, It's working, but, the Node list updates after a few hours in ESP Easy Mega build?!

4. There is a bug in the web interface under Devices, when you add some devices, the IDX/Variable value is not centered in the cell (it stays in the left up corner of the cell).

Replace "HTTP Generic" with "HTTP Generic Advanced" Controller

As far as i see it the "HTTP Generic" Controller can be replaced with the "HTTP Generic Advanced" cause the advanced one does nearly everything the "basic" one does...

only feature of basic which is missing from the advanced is http basic authentication, but i will try to merge this to the advanced controller... ...will try to get a pull request ready on the weekend :)

Module _P019_PCF8574.ino: error in mixing input pins and output pins

PCF8574 documentation states "The I/Os should be HIGH before being used as inputs." (https://www.nxp.com/documents/data_sheet/PCF8574.pdf section 7.3).
In function Plugin_019_Write to write an output pin first it reads all pins, then set the pin and write all pins.
If coincide an input pin reads LOW, then writes that pin as LOW and that pin leaves to be input pin. That pin always reads LOW until PCF8574 restart (or until explici writes HIGH to that pin; now I make that on rules after write an output pin).
I think the solution is to keep a mask in the module and set to HIGH all pins defined as inputs. Then in function Plugin_019_Write apply the mask when read all pins, so all input pins are set to HIGH.

HTML entities are not properly escaped in rule-page.

Steps to reproduce

This example is use to trigger a switch within Domoticz
SendToHTTP 192.168.0.243,8080,/json.htm?type=command&paramm=switchlight&idx=10&switchcmd=On

Actual behavior

When the submit button is pressed in the web gui the line changes to this instead.
SendToHTTP 192.168.0.243,8080,/json.htm?type=command¶mm=switchlight&idx=10&switchcmd=On

System configuration

Release v2.0.0-dev7

problem compile withe arduino ide 1.8.2

Arduino: 1.8.2 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)"

Command:478: error: variable or field 'printDirectory' declared void

void printDirectory(File dir, int numTabs) {

                 ^

Command:478: error: 'File' was not declared in this scope

Command:478: error: expected primary-expression before 'int'

void printDirectory(File dir, int numTabs) {

                           ^

Networking:394: error: variable or field 'SSDP_schema' declared void

void SSDP_schema(WiFiClient client) {

              ^

Networking:394: error: 'WiFiClient' was not declared in this scope

_N001_Email:110: error: 'WiFiClient' was not declared in this scope

boolean NPlugin_001_MTA(WiFiClient client, String aStr, String aWaitForPattern)

                     ^

_N001_Email:110: error: expected primary-expression before 'aStr'

boolean NPlugin_001_MTA(WiFiClient client, String aStr, String aWaitForPattern)

                                               ^

_N001_Email:110: error: expected primary-expression before 'aWaitForPattern'

boolean NPlugin_001_MTA(WiFiClient client, String aStr, String aWaitForPattern)

                                                            ^

_N001_Email:110: error: expression list treated as compound expression in initializer [-fpermissive]

boolean NPlugin_001_MTA(WiFiClient client, String aStr, String aWaitForPattern)

                                                                           ^

C:\Users\Acer\Desktop\Neuer Ordner\ESPEasy\espeasy\Command.ino: In function 'void ExecuteCommand(byte, const char*)':

Command:49: error: 'RTC' was not declared in this scope

 RTC.factoryResetCounter = 0;

 ^

Command:66: error: 'Settings' was not declared in this scope

   if (Settings.NotificationEnabled[Par1 - 1] && Settings.Notification[Par1 - 1] != 0)

       ^

Command:69: error: aggregate 'EventStruct TempEvent' has incomplete type and cannot be defined

     struct EventStruct TempEvent;

                        ^

Command:71: error: 'NPlugin_id' was not declared in this scope

     if (NPlugin_id[NotificationProtocolIndex] != 0)

         ^

Command:72: error: 'NPlugin_ptr' was not declared in this scope

       NPlugin_ptr[NotificationProtocolIndex](NPLUGIN_NOTIFY, &TempEvent, message);

       ^

Command:72: error: 'NPLUGIN_NOTIFY' was not declared in this scope

       NPlugin_ptr[NotificationProtocolIndex](NPLUGIN_NOTIFY, &TempEvent, message);

                                              ^

Command:80: error: 'RTC' was not declared in this scope

 RTC.flashDayCounter = 0;

 ^

Command:97: error: 'File' was not declared in this scope

 File root = SD.open("/");

 ^

Command:97: error: expected ';' before 'root'

 File root = SD.open("/");

      ^

Command:98: error: 'root' was not declared in this scope

 root.rewindDirectory();

 ^

Command:99: error: 'printDirectory' was not declared in this scope

 printDirectory(root, 0);

                       ^

Command:110: error: 'SD' was not declared in this scope

 SD.remove((char*)fname.c_str());

 ^

Command:115: error: 'lowestRAM' was not declared in this scope

 Serial.print(lowestRAM);

              ^

Command:117: error: 'lowestRAMid' was not declared in this scope

 Serial.println(lowestRAMid);

                ^

Command:130: error: 'loopCounterLast' was not declared in this scope

 Serial.print(100 - (100 * loopCounterLast / loopCounterMax));

                           ^

Command:130: error: 'loopCounterMax' was not declared in this scope

 Serial.print(100 - (100 * loopCounterLast / loopCounterMax));

                                             ^

Command:148: error: 'SecuritySettings' was not declared in this scope

 Serial.println(sizeof(SecuritySettings));

                       ^

Command:150: error: 'Settings' was not declared in this scope

 Serial.println(sizeof(Settings));

                       ^

Command:152: error: 'ExtraTaskSettings' was not declared in this scope

 Serial.println(sizeof(ExtraTaskSettings));

                       ^

Command:154: error: 'Device' was not declared in this scope

 Serial.println(sizeof(Device));

                       ^

Command:166: error: 'Wire' was not declared in this scope

 Wire.beginTransmission(Par1);  // address

 ^

Command:175: error: 'Wire' was not declared in this scope

 Wire.beginTransmission(Par1);  // address

 ^

Command:191: error: 'Settings' was not declared in this scope

 Settings.Build = Par1;

 ^

Command:198: error: 'Settings' was not declared in this scope

 Settings.deepSleep = 0;

 ^

Command:208: error: 'Wire' was not declared in this scope

   Wire.beginTransmission(address);

   ^

Command:241: error: 'UserVar' was not declared in this scope

   UserVar[(VARS_PER_TASK * (Par1 - 1)) + Par2 - 1] = result;

   ^

Command:241: error: 'VARS_PER_TASK' was not declared in this scope

   UserVar[(VARS_PER_TASK * (Par1 - 1)) + Par2 - 1] = result;

            ^

Command:253: error: 'RULES_TIMER_MAX' was not declared in this scope

 if (Par1>=0 && Par1<RULES_TIMER_MAX)

                     ^

Command:258: error: 'RulesTimer' was not declared in this scope

     RulesTimer[Par1 - 1] = millis() + (1000 * Par2);

     ^

Command:261: error: 'RulesTimer' was not declared in this scope

     RulesTimer[Par1 - 1] = 0L;

     ^

Command:275: error: 'Settings' was not declared in this scope

   Settings.UseRules = true;

   ^

Command:277: error: 'Settings' was not declared in this scope

   Settings.UseRules = false;

   ^

Command:286: error: 'Settings' was not declared in this scope

 if (Settings.UseRules)

     ^

Command:313: error: 'MQTTclient' was not declared in this scope

   MQTTclient.publish(topic.c_str(), value.c_str(), Settings.MQTTRetainFlag);

   ^

Command:313: error: 'Settings' was not declared in this scope

   MQTTclient.publish(topic.c_str(), value.c_str(), Settings.MQTTRetainFlag);

                                                    ^

Command:327: error: 'IPAddress' was not declared in this scope

 IPAddress UDP_IP(ipaddress[0], ipaddress[1], ipaddress[2], ipaddress[3]);

 ^

Command:327: error: expected ';' before 'UDP_IP'

 IPAddress UDP_IP(ipaddress[0], ipaddress[1], ipaddress[2], ipaddress[3]);

           ^

Command:328: error: 'portUDP' was not declared in this scope

 portUDP.beginPacket(UDP_IP, port.toInt());

 ^

Command:328: error: 'UDP_IP' was not declared in this scope

 portUDP.beginPacket(UDP_IP, port.toInt());

                     ^

Command:341: error: 'WiFiClient' was not declared in this scope

 WiFiClient client;

 ^

Command:341: error: expected ';' before 'client'

 WiFiClient client;

            ^

Command:342: error: 'client' was not declared in this scope

 if (client.connect(host.c_str(), port.toInt()))

     ^

Command:355: error: 'LOG_LEVEL_DEBUG' was not declared in this scope

       addLog(LOG_LEVEL_DEBUG, line);

              ^

Command:370: error: 'SecuritySettings' was not declared in this scope

 strcpy(SecuritySettings.WifiSSID, Line + 9);

        ^

Command:376: error: 'SecuritySettings' was not declared in this scope

 strcpy(SecuritySettings.WifiKey, Line + 8);

        ^

Command:414: error: 'WiFi' was not declared in this scope

 WiFi.persistent(true); // use SDK storage of SSID/WPA parameters

 ^

Command:440: error: 'Settings' was not declared in this scope

 Settings.SerialLogLevel = Par1;

 ^

Command:447: error: 'Settings' was not declared in this scope

   if (!str2ip(TmpStr1, Settings.IP))

                        ^

Command:458: error: 'IPAddress' was not declared in this scope

 IPAddress ip = WiFi.localIP();

 ^

Command:458: error: expected ';' before 'ip'

 IPAddress ip = WiFi.localIP();

           ^

Command:459: error: 'ip' was not declared in this scope

 sprintf_P(str, PSTR("%u.%u.%u.%u"), ip[0], ip[1], ip[2], ip[3]);

                                     ^

Command:461: error: 'BUILD' was not declared in this scope

 Serial.print(F("  Build         : ")); Serial.println((int)BUILD);

                                                            ^

Command:462: error: 'Settings' was not declared in this scope

 Serial.print(F("  Unit          : ")); Serial.println((int)Settings.Unit);

                                                            ^

Command:463: error: 'SecuritySettings' was not declared in this scope

 Serial.print(F("  WifiSSID      : ")); Serial.println(SecuritySettings.WifiSSID);

                                                       ^

C:\Users\Acer\Desktop\Neuer Ordner\ESPEasy\espeasy\Command.ino: At global scope:

Command:478: error: variable or field 'printDirectory' declared void

void printDirectory(File dir, int numTabs) {

                 ^

Command:478: error: 'File' was not declared in this scope

Command:478: error: expected primary-expression before 'int'

void printDirectory(File dir, int numTabs) {

                           ^

In file included from c:\users\acer\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\typeinfo:34:0,

             from c:\users\acer\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\functional:53,

             from C:\Users\Acer\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiGeneric.h:27,

             from C:\Users\Acer\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:28,

             from C:\Users\Acer\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,

             from C:\Users\Acer\Desktop\Neuer Ordner\ESPEasy\espeasy\ESPEasy.ino:268:

c:\users\acer\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\exception:35:37: error: expected declaration before end of line

#pragma GCC visibility push(default)

                                 ^

Mehrere Bibliotheken wurden für "SD.h" gefunden
Benutzt: C:\Users\Acer\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\SD
Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\SD
Mehrere Bibliotheken wurden für "Servo.h" gefunden
Benutzt: C:\Users\Acer\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\Servo
Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\Servo
exit status 1
variable or field 'printDirectory' declared void

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

ESPEasy Mega MQTT support when not controller number 0

Hi all,

I saw that the current Controller.ino has some hardcoded limits that although ESPEasy Mega supports up to 3 controllers, MQTT capable controllers are only supported if the are the first controller.

Now, there is a easy fix but should we bother? It just requires additional computational cycles and adds flash space to implement and we are still limited to only one MQTT capable controller. A better way would be to just mention the MQTT limitation in the wiki.

Why are our thoughts about this? Attached the needed modifications in controller.ino.
Controller.ino.zip

Are those plugins from ESPEasyPluginPlayground still fully compatible with recent ESPEasy v2 builds?

"IP address" as "System Info"

Enhancement!

Expected behavior

Tell us what should happen?
Be able to select the IP address to be sent to the MQTT server, this would help to identify the module over the IP address.

Actual behavior

Tell us what happens instead?

System configuration

Hardware: ESP8266 module

Software or git version: 2.0.0.0 rev7

fix random stability issues by better bounds checking

There are some long standing hard to reproduce stability issues. I've reviewed all the core-framework code and found a few instances where out-of-bounds was missing. (most places just assume correct input data)

MFRC-522 RFID Module?

Hi there,

And what about MFRC-522 RFID Module (Blue) implementation?

Cheaper than any other already implemented RFID Module by two times!

Kind regards,
Viktor

Size of build too large to fit into 1MB

Hi,

I've now tried to build the 8285 version. Both this and the 1024 version do not fit into 1MB. What could I strip down to get a version that I can use for this memory size?

Cheers, Joachim

NDIR sensor in relation to Domoticz controller

Steps to reproduce

Using ESP Easy with the NDIR MH-Z19 plugin

Expected behavior

Domoticz should be updated, but it only updates the sensor with a zero-value.

Actual behavior

The Domoticz API requires the following syntax for a Air Quality sensor "/json.htm?type=command&param=udevice&idx=IDX&nvalue=PPM".

Instead of a nvalue, a svalue is used by ESP Easy. That's why the data isn't processed in Domoticz.

Url truncation issue with ESPCore Arduino 2.4.0 (ESP SDK 2.0.0)

Hello,

Since I've issues with WiFi drops, I'm using the latest arduino core from http://arduino.esp8266.com/nightly/package_esp8266com_index.json

I can compile - I do not experience Wifi drops anymore, but I've an issue with Config/Advanced/Publish Template when trying to enter device=%sysname%&taskid=%id%&cmd=%valname%&value=%value%

only the part before the & is kept.
It sounds that some string parsing does not work with the latest ESP core and espressif SDK

I also tried to place this string in my .ino file and applied a reset command as described, but the same issue occurs

Any clue on how to fix this?

diving91

Daily flash rate exceeded.. urgent.

Steps to reproduce

I have multiple Devices, and complex rules, just too many config changes for 2.0.0.Dev7 to handle in the daily flash rate limit. I waited a day, tried to config the last outstanding device, 'daily flash rate exceeded' still active. See discussion -->
https://www.letscontrolit.com/forum/viewtopic.php?f=6&t=2961

Expected behavior

Save to flash, for more than the usual Device configs.

Actual behavior

Not saving Device config of the Value Names, and the Device, to flash.

System configuration

5 relay using Switch Inputs, 2 pulse counters, one DHT22, 2 System Info devices,

Hardware:
ESP12F

Software or git version:
GIT version: v2.0.0-dev7

Mega ??

Seems be a Mega code under ESPEasy....

What are i doing wrong?

Regards

Forum Bug: GUI "submit" sets WifiKey to admin password instead (R147)

this is a copy of my forum post ( https://www.letscontrolit.com/forum/viewtopic.php?p=14015#p14015 )

There's a bug in the off-the-shelf binary of R147. Chances are, it's still present in the code - although I haven't checked the current version:

Changing the admin password on the GUI and saving it on the "Config" tab (pressing "submit"), inadvertedly sets the WiFiKey (the WiFi password) to the admin password...
This results in locking out the module from the WiFi on the next reboot.
(tested with ESPEasy_R147_4096.bin)

It can easily be verified through the serial console with the command "Setting" right before and after the GUI change.

Web cosmetic feature

I think it's a procedure issue putting 3x <BR> after the IDX/Variable value and it's beyond my programming knowledge, but I can lead you to it to be able to fix it.

The Value need to be left-centered in the cell, no?!

In the file WebServer.ino from line 1206 to 1212, if I'm not wrong.

for (byte controllerNr = 0; controllerNr < CONTROLLER_MAX; controllerNr++) {
 if (Settings.TaskDeviceID[controllerNr][x] != 0)
  reply += Settings.TaskDeviceID[controllerNr][x];
 if (x < CONTROLLER_MAX)
  reply += F("<BR>");
}

Thank you!

About fit into 1MB...

Hi there,

I don't know guys, but ESPEasy was not been developed for years for led array controlling, thus I think the whole NeoPixel and the Motor Control is not suitable for it (maybe better to remove it, maybe only 1-2% of ESPEasy users use it or maybe even less), but, there are more simple and usefully, cheap sensors out there (what I already have and I can't use them) like (LM75A, SHT30, HTU21D, DHT21, AM2320, TEMT6000, SI1145 - to be officially included), what do you think of it?!

Just my humble opinion! ;)

SSL/HTTPS support

Is it possible to use the webinterface via SSL/https or is it a planned feature?

Thingspeak issue with Build07

Hi, I'm having troubles with Build07 as Thingspeak does not receive any values anymore...in Build06 all was fine.

Fix the CSS Style customization (extend)

Please add CSS Style Class for:

1. Node list IP addresses, like class="ipaddr" (image 1)
2. Enabled sate in the Controllers, Devices and Notifications Tab, like class="enbl"
(btw...the Green and Red color for Yes and No it's not mandatory (make it to be default color), those are hardcoded in the INO file), (image 2, 3, 4).

Because of these two missing class, I can't fully customize my current ESPEasyMega style!

And also please FIX the orientation for the IDX/Variable in the Devices Tab to be CENTER (image 3) and for the Enabled state values to be centered too (image 2, 3, 4).

Thank you! ;)

Some in-dev screenshots....

screen1

screen2

screen3

screen4

screen5

Feature/change request: move hardwareInit above WifiConnect

Especially with the sometimes unstable sonoffs it can take a long time until the configured boot states for GPIOs get applied.
Found the reason in ESPEasy.ino (line 564ff): hardwareInit() is run after the wifi stuff is done.

I use several sonoffs buried in lamps, they are powered through the original (wall)switches. This way the lamps can be used in the normal way. Just the delay between flipping the switch and the lamp coming on is irritating (especially if the wifi connection fails three times until AP mode is firered) and I think it would greatly improve the WifeAcceptanceFactor ;) to do the hardware init first.

Is there technically anything speaking against moving hardwareInit() a few lines up?

BME280: Current configuration leads to a too high temperature

Hello,

the current configuration of the BME280 sensor is not meant to be used for a weather / climate measurement and therefore the chip is running to warm and shows a tempertature which is 1-1.5 degree to high. As described in the Bosch specification and also shown in the Adafruit advanced example https://github.com/adafruit/Adafruit_BME280_Library/blob/master/examples/advancedsettings/advancedsettings.ino the are at least three typical scenarios:

Weather / Climate Monitor:

bme.setSampling(Adafruit_BME280::MODE_FORCED, 
                    Adafruit_BME280::SAMPLING_X1, // temperature 
                    Adafruit_BME280::SAMPLING_X1, // pressure 
                    Adafruit_BME280::SAMPLING_X1, // humidity 
                    Adafruit_BME280::FILTER_OFF   ); 
                        
     // suggested rate is 1/60Hz (1m) 
     delayTime = 60000; // in milliseconds 

Indoor Navigation:

 bme.setSampling(Adafruit_BME280::MODE_NORMAL, 
                     Adafruit_BME280::SAMPLING_X2,  // temperature                                                              
                     Adafruit_BME280::SAMPLING_X16, // pressure 
                     Adafruit_BME280::SAMPLING_X1,  // humidity 
                     Adafruit_BME280::FILTER_X16, 
                     Adafruit_BME280::STANDBY_MS_0_5 );

Gaming:

bme.setSampling(Adafruit_BME280::MODE_NORMAL, 
                    Adafruit_BME280::SAMPLING_X1,   // temperature 
                   Adafruit_BME280::SAMPLING_X4,   // pressure 
                   Adafruit_BME280::SAMPLING_NONE, // humidity 
                  Adafruit_BME280::FILTER_X16, 
               Adafruit_BME280::STANDBY_MS_0_5 ); 

Since the typical weather / climate Scenario works in the "forced mode" a special call is necessary - here the example from Adafruit:

      // set to forced mode, i.e. "take next measurement" 
         write8(BME280_REGISTER_CONTROL, _measReg.get()); 
        // wait until measurement has been completed, otherwise we would read 
      // the values from the last measurement 
        while (read8(BME280_REGISTER_STATUS) & 0x08) 
    delay(1); 

I tested the different modes in a test environment and indeed with the weater / climate scenario the temperature was 1 degree lower compared to the other scenarios and thereofore closer to a SI7021 sensor.

So from my point of view it would be great to change the default to the weather / climate sensor scenario. Maybe it would be feasible to give the user the chance to select the appropriate scenario.

Kind regards.

Definition of the assumed build environment

The "before_deploy" script assumes a Unix-style environment, but as far as I can see (I'm a newbie with platform.io) the rest of the environment is system-agnostic.

By moving all scripts to Python the scripts could run independent of the underlying system. This would add Python to the prequisites for building (but Python is available for nearly every platform...) and can be installed without problems.

section `.text' will not fit in region `iram1_0_seg'

Trying to build this with platformio (as opposed to arduino ide) before i send a PR with some code updates:

/home/infernix/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: .pioenvs/test_4096/firmware.elf section `.text' will not fit in region `iram1_0_seg'

Is this a bug or do I need to exclude some things from the build somehow?

Make INA219 to show all 3 values

It would be very nice to be able to show all three values for the INA219 sensor in Web UI like for the BME280 sensor.

image

Thank you!

How to move plugin from playground to espeasy?

Hello!

I want to know best practice how you move a plugin from playground to main ESPEasy branch.
In my case it is _P111_SenseAir.ino that I feel its ready to move to ESPEasy branch, it is tested for a long time and got a big update last week.

Best Regards
Daniel

Battery drain during sleep mode

I am using a couple of EspEasy sensors to measure temperature in my flat.
I noticed that when the ESP module is unable to connect to the router, means no connection in the connect loop is possible, then the module continues to connect until the battery is empty, means within a couple of hours.
It would be great to add a function that tells ESP to go into normal sleep mode (normal delay) after a certain number of attempts which are already included inside the code. In case we measure temperature every 10 minutes, the ESP module would retry to connect x times every 10 minutes and not constantly. This would also mean the battery life would be the same if it connects or not.

Update IRremoteESP8266 library to canonical site.

Hi,
as one of the collaborators on the IRremoteESP8266 library, we've had a number of odd reports of our library not working coming from some ESPEasy users. I think I've trace the root of the problem to your project referencing an unmaintained fork instead of the canonical version.

I'll create a pull request to fix what I can immediately see might be the issue, however, can you please check there is no other references your project has to the unmaintained version?

Thanks in advance.

Build 147rc8 hangs when MQTT server not available?

Steps to reproduce

Run two (might happen with one) EspEasy instances on v147rc8 connected to a MQTT server using OpenHab MQTT configuration. Shutdown/unplug MQTT server. The EspEasy instances running v147rc8 will eventually become unresponsive.

Expected behavior

Should continue to operate without MQTT server

Actual behavior

EspEasy v147rc8 becomes unresponsive when MQTT server is unavailable while ESPEasy v120 continues to run.

System configuration

v1.4.11 Mosquitto MQTT server
EspEasy v147rc8 on WeMos D1 mini - using two GPIO switches & a DS18b20 temperature sensor
EspEasy v120 on WeMos D1 mini - using a DHT22 tyemp/hum sensor and a SSD1306 OLED display
EspEasy v147rc8 on Chinese "white board" SDK hardware - using a DHT22 temp sensor, an ADC, and 6 GPIO outputs

Hardware:
Mosquitto MQTT server on Raspberry Pi 3
WeMos D1 Mini
Chinese ESP8266 SDK hardware (the "white board")

Software or git version:
147rc8

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.