Compare commits

...
Author SHA1 Message Date
TD-er 26caa8fb09 automatically updated release notes for mega-20201022 2020-10-22 16:46:23 +02:00
TD-erandGitHub 09ba39cd50 Merge pull request #3329 from TD-er/bugfix/3317_PluginWrite
Don't call PLUGIN_WRITE on inactive tasks (#3317)
2020-10-21 22:16:59 +02:00
TD-er 2e7dccea5a [Crashinfo] Decode intended reboot reason 2020-10-21 16:22:25 +02:00
TD-er 88517aa0a0 [Crashinfo] Decode last task before reboot
As it was rather unreadable to see what was the last action before reboot, this decoded string may (hopefully) be a bit more readable.
2020-10-21 13:51:28 +02:00
TD-er 3e4b930a1d Don't call PLUGIN_WRITE on inactive tasks (#3317)
See: #3317
2020-10-21 11:52:03 +02:00
TD-erandGitHub 794b2dd02a Merge pull request #2778 from giig1967g/new/gpiotimers
Moved GPIO commands in the core
2020-10-20 15:49:54 +02:00
TD-erandGitHub 88ec49b819 Merge pull request #3302 from TD-er/bugfix/MH_Z19_setABC
[MH-Z19] Fix ABC not (re)set when filtering not used (#3237)
2020-10-20 01:49:18 +02:00
TD-erandGitHub d35b6d7e82 Merge branch 'mega' into new/gpiotimers 2020-10-20 01:45:47 +02:00
TD-erandGitHub 33f4f305a9 Merge pull request #3326 from TD-er/bugfix/Celcius_Celsius
[Typo] Replace Celcius with Celsius
2020-10-20 01:44:31 +02:00
TD-er b9dc940167 [Nextion] Fix uninitialized variable warning 2020-10-20 00:47:52 +02:00
TD-er 94ac2e6837 [Typo] Replace Celcius with Celsius 2020-10-19 21:15:21 +02:00
TD-er 1a7f662e66 automatically updated release notes for mega-20201016 2020-10-16 23:26:50 +02:00
TD-erandGitHub 7bf6aa06c7 Merge pull request #3319 from TD-er/bugfix/LoRa_set_SF
LoRaWAN dynamic send interval + syslog fix
2020-10-15 14:20:28 +02:00
TD-er 6aca592049 [LoRa TTN] Fix decoder issue in GPS data
Now with support for Total Distance and distance from reference point.
2020-10-15 03:32:22 +02:00
TD-er 1e02509a80 [GPS] Add distance counter + distance from ref point
Also updated float form fields to allow upto 6 decimals as those were only used for GPS coordinates.
2020-10-15 03:14:20 +02:00
TD-er d0cdf7de42 [Docs] Document LoRaWAN TTN dynamic send interval setting 2020-10-14 22:32:08 +02:00
TD-er c15379887a [Syslog] Fix syslog name does not include unit number (#3288)
Fixes: #3288
2020-10-14 17:28:05 +02:00
TD-erandGitHub aab0343ad4 Merge branch 'mega' into bugfix/MH_Z19_setABC 2020-10-14 14:48:10 +02:00
TD-er 159eed4b73 [Domoticz] Document typical use case linking button + relay + Domoticz 2020-10-14 14:32:00 +02:00
TD-er ce0b604738 [Domoticz MQTT] Fix Domoticz helper able to send internal commands
Since the GPIO command now is moved to be an internal command, the Domoticz helper commands were no longer processed as those were only tested as a plugin command, not an internal command.
2020-10-14 12:38:55 +02:00
TD-erandGitHub 3eb1973e55 Merge branch 'mega' into new/gpiotimers 2020-10-14 10:16:05 +02:00
TD-erandGitHub 354e8af0c1 Merge pull request #3293 from uwekaditz/UweKaditz
[P092_DLBus] Exception solved
2020-10-13 19:46:39 +02:00
uwekaditzandGitHub aa226174b9 Merge branch 'mega' into UweKaditz 2020-10-13 19:35:22 +02:00
TD-erandGitHub cd26623b2a Merge pull request #3313 from TD-er/bugfix/WiFi_connect_issues
[WiFi] Fix WiFi (re)connect issues caused by new WiFi timers
2020-10-13 17:28:07 +02:00
TD-er 0100d26080 [Timing Stats] Add duty cycle column + LoRa TTN on air timings 2020-10-13 02:08:23 +02:00
TD-er 29abb5dbba [WiFi] Fix WiFi (re)connect issues caused by new WiFi timers
In a quite recent commit, a fix was made for devices connected over 2^31 msec (close to 25 days)
But this also introduced some new issues which could manifest itself if the initial WiFi connect wasn't immediate.

Symptoms:
- Connect to fallback WiFi may take several minutes (sometimes > 10 minutes)
- Connect to hidden AP during setup may not work or take minutes to complete
- Reconnect to AP may fail if the AP wasn't found on initial scan at boot of ESP.
- MQTT may not always reconnect or web page may only react after several minutes if there has been a WiFi reconnect (or just 2nd attempt)
2020-10-12 21:44:06 +02:00
Plebs 2c010d79aa final clean-up 2020-10-12 16:38:44 +02:00
TD-erandGitHub 0e5b73be42 Merge pull request #3303 from TD-er/feature/LoRa_RAWdata_plugins
[LoRaTTN] Add encoder/decoder for unit of measure for AcuDC243
2020-10-12 15:32:09 +02:00
Plebs b20f3650bd fixing merge issues
fixing merge issues
2020-10-12 14:38:16 +02:00
uwekaditz 2571783139 Merge remote-tracking branch 'upstream/mega' into UweKaditz 2020-10-11 21:21:46 +02:00
uwekaditz a664199224 Merge branch 'mega' into UweKaditz 2020-10-11 21:18:33 +02:00
uwekaditz 2b0b11033a Merge branch 'UweKaditz' into mega 2020-10-11 21:17:28 +02:00
TD-erandGitHub 69178038d6 Merge pull request #3310 from tonhuisman/bugfix/check_4th_varname
[Checks] Check all 4 variable names
2020-10-10 21:47:20 +02:00
Ton Huisman b44553c34b [Checks] Check all 4 variable names 2020-10-10 21:41:24 +02:00
TD-er 092798a27e automatically updated release notes for mega-20201009 2020-10-09 21:08:39 +02:00
TD-er e07f93fce6 [LoRaTTN] Add encoder/decoder for unit of measure for AcuDC243
Since the outputs can be selected, it is important to also know the unit of measure per value.
2020-10-09 12:37:49 +02:00
TD-erandGitHub 7dcee615f7 Merge pull request #3300 from TD-er/bugfix/missing_plugins_TTN_javascript
[LoRaWAN TTN] Add new plugins to packet converter JavaScript
2020-10-09 11:31:31 +02:00
TD-er 9add225973 [MH-Z19] Fix ABC not (re)set when filtering not used (#3237)
Fixes: #3237
2020-10-09 11:25:51 +02:00
TD-er 236ada90a0 Uncrustify MH-Z19 code 2020-10-09 11:08:38 +02:00
TD-er 92f162a599 [LoRaWAN TTN] Add new plugins to packet converter JavaScript 2020-10-09 10:27:42 +02:00
TD-erandGitHub 037a4183f3 Merge pull request #3296 from TD-er/feature/convert_to_hex
Add standard conversion for converting int to HEX
2020-10-07 16:14:03 +02:00
TD-erandGitHub 0c160dda44 Merge pull request #3295 from TD-er/build/disable_I2C_UART_support
[build] Add define DISABLE_SC16IS752_Serial
2020-10-07 14:53:55 +02:00
TD-er 96dc16c825 Add standard conversion for converting int to HEX
For example `%c_2hex%(100000)` is converted to `186A0`
2020-10-07 14:35:11 +02:00
TD-er 0cec79bfe0 [build] Add define DISABLE_SC16IS752_Serial
To reduce size on Minimal OTA builds
2020-10-07 13:07:12 +02:00
uwekaditz d6ce926b95 [P092] Exception solved
CHG: Interrupt will be only enabled after network is connected
CHG: usecPassedSince() not longer used in ISR_PinChanged(), caused the exception ???
CHG: in case no DLbus is connected, the next reading attempt happens only after the next PLUGIN_092_READ was called (reduces load and log messages)
2020-10-05 19:44:44 +02:00
uwekaditz 5d27748232 Merge remote-tracking branch 'upstream/mega' into UweKaditz 2020-10-05 15:32:03 +02:00
TD-erandGitHub 4c332174c2 Merge pull request #3287 from jimmys01/json
Update ArduJSON
2020-10-04 10:46:49 +02:00
TD-erandGitHub 5c5e0ee963 Merge pull request #3292 from TD-er/bugfix/sendtohttp_failed_reply
[SendToHTTP] Return command failed if no connection could be made
2020-10-04 10:44:09 +02:00
TD-er 71b53a71c2 [SendToHTTP] Return command failed if no connection could be made
The user did not get a lot of feedback on the sendToHTTP command when it failed.

[One example on the forum](https://www.letscontrolit.com/forum/viewtopic.php?f=4&t=7995)
2020-10-04 10:43:34 +02:00
TD-erandGitHub c9ae894dc5 Merge pull request #3289 from TD-er/bugfix/serial_gpio_esp32
[ESPEasySerial] Make GPIO pins selectabel on ESP32
2020-10-04 10:02:35 +02:00
TD-er 1a3f929a65 [ESPEasySerial] Fix missed ESPEasy Serial instance build issues. 2020-10-02 21:58:32 +02:00
TD-er 7f9c8e3561 [ESPEasySerial] Make GPIO pins selectabel on ESP32 2020-10-02 16:58:03 +02:00
jimmys01 12fb9fc75c Update ArduJSON
From 6.15.2 to 6.16.1
2020-10-02 14:44:26 +03:00
TD-erandGitHub db3f64b4e5 Merge pull request #3284 from TD-er/bugfix/high_cpu_load
[Load] Fix high CPU load introduced by fixing sensorType consistency
2020-10-02 08:56:53 +02:00
TD-erandGitHub 34d6adf3b8 Merge pull request #3283 from TD-er/feature/ESP32_sysinfo
[Sysinfo page] Add more ESP32 info and cleanup page
2020-10-02 08:56:36 +02:00
TD-er b03370536c [Cleanup] Simplify functions to sync sensorType consistency 2020-10-02 00:01:40 +02:00
TD-er 7914924561 [Load] Fix high CPU load introduced by fixing sensorType consistency
See https://github.com/letscontrolit/ESPEasy/commit/33640451a520cdea3a883c853b42a2ea5768013a
2020-10-01 23:23:29 +02:00
TD-er e738c2b26c [Sysinfo page] Hide flash chip ID for ESP32 (not possible to read) 2020-10-01 21:17:36 +02:00
TD-er e6be23a07e Document Custom.h alternative for Arduino IDE 2020-10-01 21:10:23 +02:00
TD-er 960af2e532 [Sysinfo page] Split memory info from basic system info + add for ESP32 2020-10-01 21:09:59 +02:00
TD-erandGitHub 01b2f5b50c Merge pull request #3282 from thomastech/mega
Updated Docs: P075 Nextion and P079 Motorshield
2020-10-01 21:05:34 +02:00
ThomasandGitHub 132d1439b7 Updated Docs: P075 Nextion and P079 Motorshield
Minor edit to P075 Nextion Docs (readthedocs).
Misc Minor edits to P079 Wemos/Loling Motorshield Docs (readthedocs).
Documentation edits only, No operational changes to the plugins.
2020-10-01 09:58:57 -07:00
ThomasandGitHub a434b3621e Merge pull request #3 from letscontrolit/mega
Sync Master to Local Branch
2020-10-01 09:10:29 -07:00
TD-er 18939f1148 [ESP32] Add detailed chip info on ESP32 2020-10-01 17:00:02 +02:00
TD-erandGitHub ce5342d65d Merge pull request #3279 from TD-er/bugfix/custom_h_defaults
[Custom build] Custom.h was not always used for factory default settings
2020-09-30 16:13:45 +02:00
TD-er 0d5e5a6503 [Custom build] Custom.h was not always used for factory default settings 2020-09-30 16:12:35 +02:00
TD-er ae460e3c40 Fix merge issues. 2020-09-30 12:21:03 +02:00
Gijs Noorlander 0a8e0897f0 [GPIO] Fix merge issues with recent scheduler changes. 2020-09-30 11:40:46 +02:00
Gijs Noorlander 9011758704 Fix merge issues 2020-09-30 11:23:24 +02:00
PlebsandTD-er a27daf6603 fixed "OK" in JSON in a more elegant way 2020-09-30 11:18:43 +02:00
PlebsandTD-er d2cbc2aae0 Fixed merge issues
Fixed merge issues and commented 2nd SendStatus inside ExecuteCommand (InternalCommands.cpp)
2020-09-30 11:18:43 +02:00
Gijs Noorlander be02b02d14 Fix merge issue WiFi process disconnect event should not disable webserver 2020-09-30 11:18:43 +02:00
Gijs Noorlander c3f00a6f72 [Commands] Add event value source check for commands 2020-09-30 11:18:43 +02:00
Gijs Noorlander e505a40433 Fix merge issue due to change to EventValueSource::Enum 2020-09-30 11:16:36 +02:00
Gijs Noorlander 5f9c957406 Fix merge issue due to renamed Command.ino 2020-09-30 11:16:12 +02:00
Gijs Noorlander 80d0abb9f3 Fix possible uninitialized current state in GPIO monitoring 2020-09-30 11:16:12 +02:00
Gijs Noorlander 3d1af71715 Fix incorrect merge. 2020-09-30 11:16:12 +02:00
PlebsandTD-er 21fe3fe18f fixed SONOFF setup and #2892 bug 2020-09-30 11:16:12 +02:00
PlebsandTD-er f2878b85eb fixed JSON/OK return message in HTTP source
Restored previous behaviour:

Following commands will return OK:
event, asyncevent,taskrun,taskvalueset, taskvaluetoggle, let,logportstatus,jsonportstatus and rules

Al other commands will return JSON or whatever is defined in its command logic.
2020-09-30 11:15:22 +02:00
PlebsandTD-er 6d8d44f212 fixed function 2020-09-30 11:15:22 +02:00
PlebsandTD-er 3fa64c9a67 updated chackValidPortRange function 2020-09-30 11:15:22 +02:00
PlebsandTD-er 7c14216c4c applied changes requested by TD-er 2020-09-30 11:15:22 +02:00
PlebsandTD-er 3478b407a3 added asyncevent in ExecuteCommand_all 2020-09-30 11:15:08 +02:00
PlebsandTD-er 72e04e3323 gpio core commands: bug fixing 2020-09-30 11:15:08 +02:00
PlebsandTD-er 362efe3066 gpio core commands: fixed couple of bugs 2020-09-30 11:15:08 +02:00
PlebsandTD-er 9ff9c404a9 Fixed lowercase bug #2841 2020-09-30 11:15:08 +02:00
PlebsandTD-er fa56fd738c added C006, C014 and HTTP support 2020-09-30 11:15:08 +02:00
PlebsandTD-er 38991be7a3 added support for C002 (Domoticz MQTT) 2020-09-30 11:15:08 +02:00
PlebsandTD-er 080687980d added selective command execution according to source
Please review the code, as I developed only for C005 so far.

If idea is fine, I will develop for other controllers and http source.
2020-09-30 11:15:08 +02:00
PlebsandTD-er 0807356606 Merge branch 'new/gpiotimers' of https://github.com/giig1967g/ESPEasy into new/gpiotimers 2020-09-30 11:14:47 +02:00
Gijs Noorlander 9e4f18bb93 [GPIO core] Fix bool/boolean function declaration. 2020-09-30 11:14:47 +02:00
Gijs Noorlander a1d07a234c Fix merge issue merging GPIO core handling 2020-09-30 11:14:47 +02:00
PlebsandTD-er eb96ff4072 deprecating inpuswitchstate 2020-09-30 11:14:47 +02:00
PlebsandTD-er 5964e51b87 fixed suggestions made by TD-er 2020-09-30 11:14:47 +02:00
PlebsandTD-er 63e88fc679 Moved GPIO commands in the core
Hi all,
moved the GPIO commands for Internal pins, PCF and MCP in the core code from PLUGIN_WRITE.

Created several support functions to avoid repetition of the code.

The old code is still commented in order to simplify the debug and the comparison between the old code and the new changes.

Fixed some bugs along the way.

As the changes are really substantial, I really would like the community to test before releasing.
2020-09-30 11:14:47 +02:00
PlebsandTD-er 8ac01abf17 deprecating inpuswitchstate 2020-09-30 11:14:47 +02:00
PlebsandTD-er 2693862b1c fixed suggestions made by TD-er 2020-09-30 11:14:47 +02:00
PlebsandTD-er 42860a54da Moved GPIO commands in the core
Hi all,
moved the GPIO commands for Internal pins, PCF and MCP in the core code from PLUGIN_WRITE.

Created several support functions to avoid repetition of the code.

The old code is still commented in order to simplify the debug and the comparison between the old code and the new changes.

Fixed some bugs along the way.

As the changes are really substantial, I really would like the community to test before releasing.
2020-09-30 11:14:47 +02:00
PlebsandTD-er 4bdeaaccef deprecating inpuswitchstate 2020-09-30 11:14:47 +02:00
PlebsandTD-er f8b9941a1a fixed suggestions made by TD-er 2020-09-30 11:14:47 +02:00
PlebsandTD-er 6d9e0c6202 Moved GPIO commands in the core
Hi all,
moved the GPIO commands for Internal pins, PCF and MCP in the core code from PLUGIN_WRITE.

Created several support functions to avoid repetition of the code.

The old code is still commented in order to simplify the debug and the comparison between the old code and the new changes.

Fixed some bugs along the way.

As the changes are really substantial, I really would like the community to test before releasing.
2020-09-30 11:14:47 +02:00
TD-erandGitHub 005f829622 Merge pull request #3277 from TD-er/bugfix/sensorType_perTask
Fix used sensor type on plugins allowing to select output type
2020-09-29 22:56:29 +02:00
TD-er 33640451a5 Fix used sensor type on plugins allowing to select output type
There was still an issue with the set sensorType in the events.
Not all occasions where the sensor type was needed, was the task queried , but rather the plugin.
2020-09-29 16:38:06 +02:00
TD-er 8a7a06aaa8 automatically updated release notes for mega-20200929 2020-09-29 09:34:42 +02:00
TD-erandGitHub 3b243f20c0 Merge pull request #3275 from TD-er/bugfix/wifi_disconnect_loop
[WiFi] Fix reconnect loop when getting IP or connecting takes a while.
2020-09-29 00:47:20 +02:00
TD-er 6b78b11190 [WiFi] Fix reconnect loop when getting IP or connecting takes a while. 2020-09-28 22:14:02 +02:00
TD-er 74459212b7 [Cleanup] Rename some to clarify msec or usec interval 2020-09-28 22:11:19 +02:00
uwekaditz f141c9dbf1 Merge remote-tracking branch 'upstream/mega' into UweKaditz 2020-09-28 17:05:41 +02:00
TD-erandGitHub 8023653cf8 Merge pull request #3273 from TD-er/bugfix/BuildingCustomArduinoIDE
[Arduino IDE] Document how to build using Custom.h in Arduino IDE
2020-09-28 10:59:01 +02:00
TD-er 6c459dd639 [Arduino IDE] Document how to build using Custom.h in Arduino IDE
See: [forum](https://www.letscontrolit.com/forum/viewtopic.php?f=4&t=7980)
2020-09-28 10:58:26 +02:00
TD-erandGitHub aa6c5146ea Merge pull request #3205 from tonhuisman/feature/improve_spi_support
[SPI] Extend SPI interface support in configuration
2020-09-27 22:23:08 +02:00
TD-er 6d03426eb4 [P039 Thermocouple] Add FIXME to remove unneeded strings. 2020-09-27 16:55:49 +02:00
TD-er 237cdbf879 [Web Interface] Improve task config consistency + code readability
Split those extremely large functions into separate sub functions to improve readability.
Made GPIO formatting more consistent.
2020-09-27 16:55:12 +02:00
Ton HuismanandGitHub df8b8849f9 Merge branch 'mega' into feature/improve_spi_support 2020-09-27 13:30:06 +02:00
TD-erandGitHub ac863aa296 Merge pull request #3271 from TD-er/build/Add_C021_C025_stubs
Add stubs for new controllers up-to C025
2020-09-27 13:10:39 +02:00
TD-er 05fef853e4 Add stubs for new controllers up-to C025 2020-09-27 13:09:58 +02:00
TD-erandGitHub d9b8ea00a0 Merge pull request #3270 from clumsy-stefan/ArduinoIDE
[ArduinoIDE] Fix includes
2020-09-26 23:02:33 +02:00
stefan 6d69204882 [ArduinoIDE] Fix includes
Fix include paths to make it compile again under ArduinoIDE.
2020-09-26 19:56:40 +02:00
Ton Huisman 9148bc2f77 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/improve_spi_support 2020-09-26 15:38:20 +02:00
TD-erandGitHub 43d47c98d5 Merge pull request #3269 from TD-er/bugfix/Compiler_enum_checks
[Cleanup] Change to enum class to let compiler check usage
2020-09-25 23:52:12 +02:00
TD-er 175bdfa074 [Cleanup] Split even more functions from Mist.cpp/.h 2020-09-25 22:58:49 +02:00
TD-er bc5abc5c3f [Cleanup] Split functions from Misc.cpp/.h
- Rules calculation functions
- PortStatus functions
- String Parser functions
2020-09-25 20:38:43 +02:00
TD-er 2e8cb67cbb [Cleanup] Remove fwdelc declarations of functions moved to .h/.cpp
This means lots of #includes were missing in files.
2020-09-25 14:34:56 +02:00
TD-er 4a7b4dbcc7 [Cleanup] Uncrustify Misc.h / Misc.cpp 2020-09-25 13:14:46 +02:00
TD-er 65ad01f175 [Cleanup] Convert Misc.ino to .h/.cpp 2020-09-25 13:10:34 +02:00
TD-er ebdd6968f3 Change CPlugin and NPlugin functions to enum class 2020-09-25 11:34:11 +02:00
TD-er 0b107c0fa2 [Storage] Make enums used for storage enum class
To let the compiler help check if enums are used where intended and to check if we're missing cases when adding new ones.
2020-09-25 11:07:42 +02:00
TD-erandGitHub 34313f5739 Merge pull request #3265 from TD-er/bugfix/variable_valueCount
Use task specific valueCount and VType instead of shared in plugin
2020-09-24 23:09:50 +02:00
TD-erandGitHub 04928121a3 Merge pull request #3268 from thomastech/mega
Updated P075 Nextion Plugin's readthedocs files.
2020-09-24 23:06:29 +02:00
ThomasandGitHub dc6fd771be Updated P075 Nextion Plugin's Doc Files
Major rewrite to P075 Nextion Plugin's readthedocs rst file. Added several PNG images.
2020-09-24 10:37:14 -07:00
ThomasandGitHub 660e847821 Merge pull request #2 from letscontrolit/mega
Sync Local Fork to letscontrolit Master
2020-09-24 09:18:35 -07:00
TD-erandGitHub c144779d7e Merge branch 'mega' into bugfix/variable_valueCount 2020-09-24 13:12:56 +02:00
TD-erandGitHub 334cba754e Merge pull request #3266 from thomastech/mega
Update P079 Motor Shield (Lolin V2 Support)
2020-09-24 13:12:16 +02:00
TD-er 627904b7f8 [Cleanup] Add EventStruct constructor with TaskIndex as parameter
This to make sure the TaskIndex and BaseVarIndex are always in sync.

BaseVarIndex was not always set, which may lead to strange results as it is mainly used to address UserVar entries.
2020-09-24 12:34:01 +02:00
TD-er 639d4a8d77 Document the DeviceStruct variables and update _Pxxx_PluginTemplate.ino 2020-09-24 10:20:00 +02:00
TD-erandGitHub cc87d7dad6 Merge branch 'mega' into bugfix/variable_valueCount 2020-09-23 23:48:37 +02:00
Ton Huisman fde3199ae9 Merge branch 'feature/improve_spi_support' of https://github.com/tonhuisman/ESPEasy-1 into feature/improve_spi_support 2020-09-23 20:30:04 +02:00
Ton HuismanandGitHub 047e562d50 Merge branch 'mega' into feature/improve_spi_support 2020-09-23 16:01:05 +02:00
TD-er 3e461b97f2 [ESPEasy p2p] Split p2p data structs into C++ objects (#3264)
As preparation of issue #3264
2020-09-23 14:55:48 +02:00
TD-er 59763dc602 Use more logical parameters to query task sensor VType 2020-09-23 14:04:29 +02:00
TD-er f248d73501 [Serial] Handle serial config from webpage devices handler
A lot of code duplication can be handled on a single place in the code.
2020-09-23 13:21:15 +02:00
TD-er b9193de54b Move output tyle selection load/save to device page handler 2020-09-23 12:24:17 +02:00
TD-erandGitHub 686dd77493 Fix P015 TSL2561 PLUGIN_READ return success = true
As reported by @clumsy-stefan
2020-09-23 11:37:53 +02:00
ThomasandGitHub 8de2b49cdd Updated P079 Motor Shield Plugin
Change Log
Added:  Support for Lolin V2.0 Motor Shield. Plugin's Web GUI uses form selector to choose board type.
Added:  Command syntax checking. Basic Error msg is reported in browser. Expanded msg in info log.
Added:  LolinMotorShieldCMD command keyword is alias to WemosMotorShieldCMD.
Added:  Standby command (put board into low power idle).
Added:  Brake command (short brake).
Added:  I2C Communication test for Lolin V2; Use command "LolinMotorShieldCMD" without parameters.
Added:  Use default device name if user forgets to populate the name field on device creation.
Added:  New device now defaults I2C address field to "0x30" rather than "0x".
Fixed:  Eliminated "Invalid character in names" error message that appears in new plugin.
Change: Renamed plugin's title to "Motor - Wemos/Lolin Motorshield" (was "Motor - Wemos Motorshield").
2020-09-22 11:39:49 -07:00
ThomasandGitHub 5510886c26 Update P079_Wemos_Motorshield
Change Log
Added:  Support for Lolin V2.0 Motor Shield. Plugin's Web GUI uses form selector to choose board type.
Added:  Command syntax checking. Basic Error msg is reported in browser. Expanded msg in info log.
Added:  LolinMotorShieldCMD command keyword is alias to WemosMotorShieldCMD.
Added:  Standby command (put board into low power idle).
Added:  Brake command (short brake).
Added:  I2C Communication test for Lolin V2; Use command "LolinMotorShieldCMD" without parameters.
Added:  Use default device name if user forgets to populate the name field on device creation.
Added:  New device now defaults I2C address field to "0x30" rather than "0x".
Fixed:  Eliminated "Invalid character in names" error message that appears in new plugin.
Change: Renamed plugin's title to "Motor - Wemos/Lolin Motorshield" (was "Motor - Wemos Motorshield").
2020-09-22 11:38:23 -07:00
ThomasandGitHub 341be972dd Update Wemos Motor Shield's ReadtheDocs
Major re-write, several new images.
2020-09-22 11:33:31 -07:00
TD-er 07cfaed366 Fix compiler issue C016 (incorrect find/replace) 2020-09-22 16:50:35 +02:00
TD-er 6933d1d3f3 [ExtraTaskSettings] Make sure the ExtraTaskSettings are active when used 2020-09-22 16:45:29 +02:00
TD-er 8e66154e2f Add function to ask task for VType instead of plugins
To allow a task to have a non-default VType, instead of shared among all instances of the same plugin.
2020-09-22 14:56:50 +02:00
TD-er 4a87dfaea6 Add function to ask task for valueCount instead of plugin
To fix issues with Sysinfo and dummy sharing the same number of output values.
2020-09-22 12:17:37 +02:00
ThomasandGitHub e52649ecd8 Merge pull request #1 from letscontrolit/mega
Sync fork with master
2020-09-20 10:58:01 -07:00
uwekaditz a5f4f04f25 Merge remote-tracking branch 'upstream/mega' into UweKaditz 2020-09-20 17:39:52 +02:00
Ton Huisman 1ddec65850 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/improve_spi_support 2020-09-20 15:15:27 +02:00
TD-erandGitHub 3527f89ae8 Merge pull request #3261 from TD-er/build/ReduceBuildSize
[build] Disable P092 and P093 on builds exceeding build size
2020-09-20 13:14:21 +02:00
TD-er 73d03d9419 [build] Disable P092 and P093 on builds exceeding build size 2020-09-20 13:13:55 +02:00
TD-erandGitHub 023f38a514 Merge pull request #3258 from TD-er/bugfix/WiFi_long_timers
[WiFi] Fix issue where unit no longer considers connected > 25 days
2020-09-20 12:01:21 +02:00
TD-erandGitHub d819975ca9 Merge branch 'mega' into bugfix/WiFi_long_timers 2020-09-20 00:40:09 +02:00
TD-erandGitHub aa767df8cd Merge pull request #3254 from TD-er/feature/ESP32_bootstates
Add ESP32 PinBootState options + ESP8266 gpio16
2020-09-20 00:39:44 +02:00
TD-erandGitHub 826cc515f6 Merge branch 'mega' into feature/ESP32_bootstates 2020-09-20 00:39:36 +02:00
TD-erandGitHub 9f4bc10c66 Merge branch 'mega' into bugfix/WiFi_long_timers 2020-09-20 00:39:13 +02:00
TD-erandGitHub f232ee63bc Merge pull request #3260 from TD-er/bugfix/MQTT_retain
[MQTT] Fix disregard retain flag using publish from rules (#3256)
2020-09-19 17:36:28 +02:00
TD-erandGitHub c17db84145 Merge branch 'mega' into feature/ESP32_bootstates 2020-09-19 17:08:21 +02:00
TD-erandGitHub 8279f6f7b3 Merge pull request #3252 from Wookbert/patch-1
Update README.md
2020-09-19 17:00:20 +02:00
TD-er 80f64b8247 [MQTT] Fix disregard retain flag using publish from rules (#3256)
The wrong controller settings were loaded.  (Commands/MQTT.cpp)
2020-09-19 16:35:46 +02:00
Ton HuismanandGitHub adcf556c9d Merge branch 'mega' into feature/improve_spi_support 2020-09-18 13:34:19 +02:00
TD-erandGitHub 492b1535ec Merge pull request #3257 from TD-er/feature/ds2423
[DS2423] Add 1-wire counter
2020-09-18 12:50:07 +02:00
TD-erandGitHub 2b247c402a Merge pull request #3255 from TD-er/feature/P012_LCD_Polish_characters
[P012 LCD] Add characters used in Polish language
2020-09-18 12:49:45 +02:00
TD-er dc56c03048 [WiFi] Fix some issues where timeouts were incorrectly evaluated
Left-over from changes adding LongTermTimer class
2020-09-18 12:12:55 +02:00
TD-er e88609d295 [WiFi] Fix issue where unit no longer considers connected > 25 days 2020-09-17 13:15:10 +02:00
TD-er c9ff3f0e2a [Docs] Add documentation entry for P100 DS2423 1-Wire counter 2020-09-16 13:59:22 +02:00
TD-er 4b10be91b1 [DS2423] Add 1-wire counter
As made by @ToniA
See [the forum](https://www.letscontrolit.com/forum/viewtopic.php?p=46736#p46736)
2020-09-16 13:58:25 +02:00
Ton Huisman 61f204e701 [P095] [P096] Avoid using unicode in source 2020-09-14 21:25:19 +02:00
Ton HuismanandGitHub d340ce8d09 Merge branch 'mega' into feature/improve_spi_support 2020-09-14 20:13:01 +02:00
TD-er 85b4877dab [P012 LCD] Add characters used in Polish language 2020-09-14 18:40:26 +02:00
TD-erandGitHub 506db9d4d1 [P013 HCSR04] Clarify filter setting in web config 2020-09-14 17:00:54 +02:00
TD-er 895c4222bf [Build] Fix compile time check for settings size ESP32 2020-09-14 16:48:41 +02:00
TD-er 91ca5a4351 Add ESP32 PinBootState options + ESP8266 gpio16 2020-09-14 16:40:58 +02:00
Ton Huisman b53d49117f [P099] Remove link from plugin overview docs 2020-09-13 22:49:12 +02:00
Ton Huisman d901bb1adb [P099] Remove wrongly committed files 2020-09-13 22:33:28 +02:00
Ton HuismanandGitHub 2c763681d3 Merge branch 'mega' into feature/improve_spi_support 2020-09-13 22:14:42 +02:00
Ton Huisman 90f444c32a [P099] Add documentation for Touchscreen
- Device Configuration
- Setting up Calibration
- Configuring Touch objects
2020-09-13 22:11:27 +02:00
TD-erandGitHub afb3d56be0 Merge pull request #3253 from TD-er/docs/P048_motorshield
[Docs] Document P048 motorshield commands
2020-09-13 12:42:56 +02:00
TD-er e669379ec2 [Docs] Document P048 motorshield commands 2020-09-13 12:42:16 +02:00
TD-erandGitHub 97c2dbb9b8 Merge pull request #3226 from TD-er/feature/I2C_multi_instance
[I2C] Multiple Instances (#3224)
2020-09-13 01:04:39 +02:00
TD-erandGitHub 9efa014a5c Merge branch 'mega' into feature/I2C_multi_instance 2020-09-13 01:04:29 +02:00
TD-er fe6e911f6f automatically updated release notes for mega-20200913 2020-09-13 00:11:35 +02:00
Ton HuismanandGitHub 5f959f4e0d Merge branch 'mega' into feature/improve_spi_support 2020-09-12 20:40:08 +02:00
TD-erandGitHub 681048d39f Merge pull request #2959 from TD-er/feature/gitpod-setup
Add gitpod config
2020-09-12 19:21:00 +02:00
TD-erandGitHub 5aa76d5d8a Merge branch 'mega' into feature/gitpod-setup 2020-09-12 19:09:12 +02:00
TD-erandGitHub ecb4bf90c2 Merge pull request #3250 from TD-er/bugfix/controller_http_advanced
[HTTP Advanced] Do not percent-encode body (#1306)
2020-09-12 18:04:00 +02:00
TD-er 3fea6bfe92 [Gitpod] Apparently Gitpod still uses Python 2.7
pip install -U platformio to make it Python version independent.
2020-09-12 18:03:09 +02:00
TD-er e49e221c19 [Gitpod] Change init: into before: 2020-09-12 16:18:40 +02:00
TD-er 50f0b28a96 [Gitpod] Use pip3 as we need Python3 2020-09-12 16:08:52 +02:00
TD-er 713bb44733 Restore Requirements.txt after merge 2020-09-12 15:51:33 +02:00
TD-erandGitHub b8339b4795 Merge branch 'mega' into feature/gitpod-setup 2020-09-12 15:47:14 +02:00
TD-er a341cd2f25 [PIO] Set minimum PlatformIO library to 5.0.1
Does save extra update step, as ESP32 already demands PIO 5 as minimum version.
2020-09-12 15:14:21 +02:00
TD-erandGitHub b8495a5e26 Merge branch 'mega' into bugfix/controller_http_advanced 2020-09-12 14:08:30 +02:00
TD-er 5f3d5fda30 [ESP32] Core 2.0.0 released 2020-09-11 22:50:47 +02:00
Gijs Noorlander 45395a6bca [VCC Build] Strip Servo, Blynk and Zabbix from test build to make it fit. 2020-09-11 13:28:00 +02:00
Gijs Noorlander 52ecb96977 [Cleanup] Reduce memory usage when using ControllerSettings struct 2020-09-11 12:15:47 +02:00
Gijs Noorlander 9b4c796062 [C011] Split multiline headers + also parse url
Allowing to use variables in the URL
2020-09-11 12:14:36 +02:00
Ton HuismanandGitHub d02dd44201 Merge branch 'mega' into feature/improve_spi_support 2020-09-10 22:03:57 +02:00
André KleinandGitHub 522cbbbbb9 Merge branch 'mega' into patch-1 2020-09-10 04:06:21 +02:00
Gijs Noorlander fcc6063264 [C011] Improve logging + connection tracking. 2020-09-10 00:09:15 +02:00
Gijs Noorlander 6a616e3197 [Travis] Disable core 2.4.2 builds as Travis can't install it anymore
For some strange reason....

Build log:
```
$ PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e $ENV
Processing minimal_core_242_ESP8266_1M_OTA (platform: https://github.com/TD-er/platform-espressif8266.git#patch/v1.8.0_Puya; board: esp01_1m; framework: arduino)
--------------------------------------------------------------------------------
Platform Manager: Installing git+https://github.com/TD-er/platform-espressif8266.git#patch/v1.8.0_Puya
git version 2.27.0
Cloning into '/home/travis/.platformio/.cache/tmp/pkg-installing-aktun99x'...
Platform Manager: espressif8266 @ 1.8.0+sha.9ffc857 has been installed!
The platform 'https://github.com/TD-er/platform-espressif8266.git#patch/v1.8.0_Puya' has been successfully installed!
The rest of the packages will be installed later depending on your build environment.
Tool Manager: Installing toolchain-xtensa @ ~1.40802.0
Downloading...
Unpacking...
Tool Manager: toolchain-xtensa @ 1.40802.0 has been installed!
Tool Manager: Installing framework-arduinoespressif8266 @ 2.20402.4-puya
Tool Manager: Warning! More than one package has been found by framework-arduinoespressif8266 @ 2.20402.4-puya requirements:
 - platformio/framework-arduinoespressif8266 @ 3.20704.0
 - jason2866/framework-arduinoespressif8266 @ 2.7.4.1
Tool Manager: Please specify detailed REQUIREMENTS using package owner and version (showed above) to avoid name conflicts
Error: Could not find the package with 'framework-arduinoespressif8266 @ 2.20402.4-puya' requirements for your system 'linux_x86_64'
The command "PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e $ENV" exited with 1.
```

Maybe @jason2866 does have an idea?
2020-09-09 16:55:43 +02:00
TD-erandGitHub 26aec8999a Document hardware bug on Wemos DHT shield (#2569) 2020-09-09 16:42:20 +02:00
Gijs Noorlander c33e98f8d8 [C011] Fix build issue for older ESP8266 core versions 2020-09-09 16:01:07 +02:00
Gijs Noorlander 63c4dfddc0 [C011] Use ESP8266HTTPClient library 2020-09-09 15:16:51 +02:00
André KleinandGitHub 686e1beae7 Update README.md
I was stuck with the old Wiki documentation and did not find the full-fledged, new documentation at first, but only came across it, through a mentioning in an [issue discussion](https://github.com/letscontrolit/ESPEasy/issues/3233#issuecomment-681140819), and a Google Search thereafter.

I edited the related section in your README.md accordingly and most importantly, began the headline with the keyword **Documentation** (which is what it is all about).
2020-09-09 13:18:13 +02:00
Gijs Noorlander 95bef799c1 [RN2483] Call LoRaWAN module reset when LoRaWAN stack hangs (#3225 )
See #3225
2020-09-09 00:01:39 +02:00
Gijs Noorlander 79856d8da1 [Cleanup] Reduce memory usage on load/save C018 LoRaWAN RN2483 controller 2020-09-08 23:59:56 +02:00
Gijs Noorlander cf4ef0b172 Merge remote-tracking branch 'origin/bugfix/controller_http_advanced' into bugfix/controller_http_advanced 2020-09-08 17:44:11 +02:00
Gijs Noorlander 09cc6b4fb1 [HTTP Advanced] Optimize load/save settings + add send binary option. 2020-09-08 17:43:52 +02:00
TD-erandGitHub 1a0fece45a Merge pull request #3242 from ToniA/HeatpumpIR
HeatpumpIR support for ESP32
2020-09-08 13:55:28 +02:00
TD-erandGitHub 96c7f11473 Merge branch 'mega' into HeatpumpIR 2020-09-08 13:55:20 +02:00
TD-erandGitHub 89e848c576 Merge branch 'mega' into bugfix/controller_http_advanced 2020-09-08 13:23:44 +02:00
TD-erandGitHub 0e42226a46 Merge pull request #3249 from TD-er/bugfix/plugin_timer_in
[Scheduler] Fix PLUGIN_TIMER_IN not being called (#3247)
2020-09-08 13:23:30 +02:00
Gijs Noorlander 1ba290edc9 [HTTP Advanced] Do not percent-encode body (#1306)
The replaced values are percent-encoded, which causes issues like described here: https://github.com/letscontrolit/ESPEasy/issues/1306#
2020-09-08 13:21:27 +02:00
Gijs Noorlander da36ad7f2a [Docs] Add some documentation on C011 Generic HTTP Advanced 2020-09-08 09:40:53 +02:00
Gijs Noorlander 7cbe105eaf [Scheduler] Fix PLUGIN_TIMER_IN not being called (#3247)
Fixes: #3247

The wrong timer ID was scheduled, so it was never dealt with.
2020-09-07 15:52:32 +02:00
Gijs Noorlander 834b218cb9 Add check for AllocatedControllerSettings in storage 2020-09-07 12:58:44 +02:00
Gijs Noorlander decfe26283 [Cleanup] Rename member + initialize members for P090 2020-09-07 12:57:45 +02:00
Gijs Noorlander 1dc9822428 [Cleanup] Rename member vars of P045 and initialize all members 2020-09-07 12:56:58 +02:00
Gijs Noorlander 74305405e2 [Cleanup] Use enum class for P036_FramedOLED 2020-09-07 12:55:58 +02:00
Gijs Noorlander b3a0e5d468 [Cleanup] Uncrustify P092_DLbus 2020-09-07 12:49:40 +02:00
Gijs Noorlander 5805936ae9 [Cleanup] Proper initialize all member variables of plugins
As reported by PVS-studio
2020-09-07 12:32:14 +02:00
Gijs Noorlander 9affa1d115 [Cleanup] Use enum class in P023 OLED 2020-09-07 12:30:03 +02:00
Ton HuismanandGitHub 2b8ef1fab2 Merge branch 'mega' into feature/improve_spi_support 2020-09-07 10:55:31 +02:00
TD-erandGitHub 0c0e4e1a47 Merge branch 'mega' into feature/I2C_multi_instance 2020-09-07 09:37:40 +02:00
TD-erandGitHub 3b8b34586e Merge pull request #3243 from TD-er/feature/1M_serswitch_build
[build] Add build definition for 1M with Serial Switch.
2020-09-07 09:36:35 +02:00
TD-erandGitHub bf05fa4794 Merge branch 'mega' into feature/1M_serswitch_build 2020-09-07 09:36:23 +02:00
Gijs Noorlander 32beede7bf Include debug logs and other removed features to reduce size LC_TECH_1M 2020-09-06 22:33:47 +02:00
Ton HuismanandGitHub 237252eb1a Merge branch 'mega' into feature/improve_spi_support 2020-09-06 19:23:59 +02:00
TD-erandGitHub 1bb3af165f [Arduino IDE] Fix relative path for includes
In NetworkState.h
As reported [on the forum](https://www.letscontrolit.com/forum/viewtopic.php?p=46531#p46531)
2020-09-06 17:07:55 +02:00
Gijs Noorlander 69d013b510 [build] Add Stable controller set to hard_LCtech_relay_x2_1M build 2020-09-05 14:30:24 +02:00
Gijs Noorlander 5ea6cb276e [build] Add build definition for 1M with Serial Switch.
As discussed [on the forum](https://www.letscontrolit.com/forum/viewtopic.php?p=46459#p46459)
2020-09-03 09:14:23 +02:00
Toni db69ca4267 Build definition for image test_ESP32_IRExt_4M316k:
platformio run -e test_ESP32_IRExt_4M316k
2020-09-02 15:22:02 +03:00
Toni cfc614c573 HeatpumpIR 1.0.16 update 2020-09-02 15:20:31 +03:00
Gijs Noorlander 6a4307f29a [Cleanup] Reduce stack usage for P064 in web load function 2020-09-01 16:19:49 +02:00
Gijs Noorlander 449c2f5041 [I2C] Multiple Instances P090 - CCS811 Air Quality TVOC/eCO2 2020-09-01 16:19:02 +02:00
Gijs Noorlander e7b4cecc9e [I2C] Multiple instances P083 - SGP30 - Gas 2020-09-01 13:43:21 +02:00
Gijs Noorlander ea9e908ea0 [I2C] Multiple instances P072 - Temp/Hum HDC1080 (no changes) 2020-09-01 13:26:03 +02:00
Gijs Noorlander 47628b33a5 [I2C] Multiple Instances P069 - LM75A Temperature Sensor (I2C)
Plus some duplicate includes in other files.
2020-09-01 13:22:47 +02:00
Gijs Noorlander 7cabae2e09 [I2C] Multiple Instances P064 - APDS9960 Gesture 2020-09-01 12:54:51 +02:00
Gijs Noorlander bfc518edf4 [I2C] Multiple Instances P062 - Keypad - MPR121 Touch 2020-09-01 02:00:44 +02:00
Gijs Noorlander bd1e959ba3 [Cleanup] Shorten member variable names 2020-09-01 01:38:06 +02:00
Gijs Noorlander f4be4df9fb [I2C] Multiple Instances P060 - Analog input - MCP3221 2020-09-01 01:35:22 +02:00
Gijs Noorlander c732b14afa [I2C] Multiple instances P058 - Keypad - HT16K33 2020-09-01 01:10:45 +02:00
Gijs Noorlander 0818cb2d7c [I2C] Multiple Instances P057 - Display - HT16K33 LED 2020-09-01 00:29:27 +02:00
Gijs Noorlander 0db8008896 [I2C] Multiple Instances P048 Motorshield V2 2020-08-31 23:59:58 +02:00
Gijs Noorlander 011094887e [I2C] Multiple Instances P045 MPU6050 2020-08-31 23:44:43 +02:00
Gijs Noorlander ac20f3ad4c [I2C] Multiple instances P034 DHT12 2020-08-31 20:29:12 +02:00
Gijs Noorlander 2c50e84724 [Build] Fix build issues with LOLIN_EPD lib on minimal OTA builds 2020-08-31 19:50:13 +02:00
Gijs Noorlander 4f7f1f5adc [I2C] Multiple Instances P032 MS5611 2020-08-31 18:13:13 +02:00
Gijs Noorlander ce75aa8909 [I2C] Move I2C.ino to helpers .h/.cpp 2020-08-31 18:10:31 +02:00
Gijs Noorlander 2bb0363862 [I2C] Multiple Instances P027 INA219 2020-08-31 17:40:00 +02:00
Gijs Noorlander a3c869dd9c [I2C] Multiple Instances P025 ADS1115 2020-08-31 16:49:06 +02:00
Gijs Noorlander f719885835 [I2C] Multiple Instances P024 MLX90614 2020-08-31 16:15:34 +02:00
Gijs Noorlander a69dc28493 [Cleanup] No need to call clearPluginTaskData from PLUGIN_EXIT
It is already the default action on PLUGIN_EXIT
2020-08-31 16:11:37 +02:00
Gijs Noorlander e771ed8ab3 [I2C] Multiple Instances P023 OLED 2020-08-31 15:24:32 +02:00
Gijs Noorlander e57caf753e [P022] Forgot #ifdef USES_P022 2020-08-31 15:19:19 +02:00
Gijs Noorlander b0b0978c52 [I2C] Multiple Instances P022 - PCA9685 2020-08-31 14:14:43 +02:00
Gijs Noorlander ffe27f2ff4 Fix compiler warnings for LOLIN_EPD library
Also mentioned in this (unmerged) PR: https://github.com/wemos/LOLIN_EPD_Library/pull/7/files
2020-08-30 21:46:12 +02:00
Gijs Noorlander 316549ed23 Use new (std::nothrow) 2020-08-30 21:45:21 +02:00
Ton HuismanandGitHub 89d238ccd2 Merge branch 'mega' into feature/improve_spi_support 2020-08-30 21:39:09 +02:00
TD-erandGitHub ece9d54b7e Merge branch 'mega' into feature/I2C_multi_instance 2020-08-30 21:19:21 +02:00
TD-erandGitHub f8cabe4d1e Merge pull request #3239 from mcspr/patch-1
Don't use `x == INFINITY` or `x == NAN`
2020-08-30 21:18:57 +02:00
TD-erandGitHub 8d2c2bc151 Merge pull request #3240 from tonhuisman/feature/disallow_minus_in_name
[Checks] Disallow operators in tasknames
2020-08-30 21:18:37 +02:00
TD-erandGitHub 20ac09fb29 Merge pull request #3241 from TD-er/bugfix/new_nothrow
[new new] Prepare for upcoming changes of 'new' in esp8266/Arduino
2020-08-30 21:18:10 +02:00
Gijs Noorlander 6f1dcae5e1 [new new] Prepare for upcoming changes of 'new' in esp8266/Arduino
See https://github.com/esp8266/Arduino/pull/7536
2020-08-30 20:19:42 +02:00
uwekaditz befa29b1b0 Merge remote-tracking branch 'upstream/mega' into UweKaditz 2020-08-30 16:59:26 +02:00
uwekaditz bd9018b01e Merge tag 'mega-20200829' into UweKaditz 2020-08-30 16:59:01 +02:00
Gijs Noorlander bf9dfe9095 [I2C multiplexer] Further cleanup of code 2020-08-30 16:50:02 +02:00
Ton Huisman d85e901e77 [Checks] Update docs 2020-08-30 16:33:57 +02:00
Gijs Noorlander 47bff80f9c [I2C multiplexer] Cleanup multiplexer code in _Plugin.ino
A lot of code duplication now moved to pre- and post- functions.
2020-08-30 16:14:56 +02:00
Ton Huisman 1514ab8d43 [Checks] Disallow round braces too 2020-08-30 15:06:08 +02:00
Ton Huisman 6dc20c0ce9 [Checks] Update docs, disallow curly braces 2020-08-30 15:02:39 +02:00
Ton Huisman 32869e1c78 [Checks] Disallow all operators in tasknames 2020-08-30 14:42:00 +02:00
Gijs Noorlander aac992ad13 Fix compiler issue with incorrect 1000f in P092 DLbus 2020-08-30 14:24:19 +02:00
Ton HuismanandGitHub a57b3ef644 Merge branch 'mega' into feature/disallow_minus_in_name 2020-08-30 13:57:46 +02:00
Ton Huisman 016667c4f8 [Checks] Disallow - (dash) in tasknames
This may *feel* like a breaking change, but using names with dash(es) doesn't properly work
2020-08-30 13:56:20 +02:00
Max ProkhorovandGitHub 7d2689b80c typo 2020-08-30 14:24:38 +03:00
Max ProkhorovandGitHub d329e432da Update _P005_DHT.ino 2020-08-30 13:59:18 +03:00
Max ProkhorovandGitHub 0396f1b893 == INFINITY / NAN are bogus
https://godbolt.org/z/qff7fh

isinf & isnan are sufficient
2020-08-30 13:53:06 +03:00
Gijs Noorlander f8cf5e2cf6 Add missing float marking 2020-08-30 10:55:17 +02:00
Gijs Noorlander fd157c6a6f [Cleanup] Mark floating point numbers with f to reduce resource usage
See: https://github.com/esp8266/Arduino/commit/953dfd945f03816db1943fa1345a9550fe61b422
2020-08-30 00:21:31 +02:00
TD-erandGitHub 18ce1be1dd Merge branch 'mega' into feature/I2C_multi_instance 2020-08-29 17:00:57 +02:00
Ton HuismanandGitHub c8fd818798 Merge branch 'mega' into feature/improve_spi_support 2020-08-29 16:58:29 +02:00
TD-erandGitHub 6622ac8b29 Merge pull request #3216 from TD-er/build/core_2_7_4
[Build] Change to esp8266/Arduino core 2.7.4
2020-08-29 16:58:27 +02:00
TD-erandGitHub 321aef329c Merge branch 'mega' into build/core_2_7_4 2020-08-29 16:58:20 +02:00
TD-er c625d91b38 automatically updated release notes for mega-20200829 2020-08-29 15:58:42 +02:00
Ton Huisman 01324401e2 [P095] (Re)move touchscreen stuff
There will be a new plugin for XPT2046 touchscreen
Setting wasn't used here anyway
2020-08-29 14:20:57 +02:00
Ton Huisman 3aa35383ef Merge branch 'feature/improve_spi_support' of https://github.com/tonhuisman/ESPEasy-1 into feature/improve_spi_support 2020-08-29 12:26:38 +02:00
Ton HuismanandGitHub d8d9634fd4 Merge branch 'mega' into feature/improve_spi_support 2020-08-29 12:25:28 +02:00
TD-erandGitHub 6911664bb8 Merge pull request #3232 from mobrembski/fix_no_compiletime_defines_in_esp32
Fixed compile-time defines not working in ESP32 platform
2020-08-29 11:30:47 +02:00
Ton Huisman c87ce5ea5f Merge branch 'feature/improve_spi_support' of https://github.com/tonhuisman/ESPEasy-1 into feature/improve_spi_support 2020-08-27 14:07:48 +02:00
Ton HuismanandGitHub f30854b99a Merge branch 'mega' into feature/improve_spi_support 2020-08-27 13:59:42 +02:00
Ton Huisman 5ad42cc1bd Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/improve_spi_support 2020-08-27 13:59:17 +02:00
TD-erandGitHub 654b7fa8f9 Merge branch 'mega' into fix_no_compiletime_defines_in_esp32 2020-08-27 11:48:55 +02:00
TD-erandGitHub 175089d82a Merge pull request #3231 from TD-er/bugfix/esp32_p2p
[Ethernet] Cleanup settings + fix UDP p2p when using Ethernet
2020-08-27 11:48:17 +02:00
Gijs Noorlander d003740c1a [Ethernet] Switch to WiFi when Ethernet adapter is not found
It may be not present or not configured correctly.
2020-08-27 02:30:57 +02:00
Gijs Noorlander e0b4cad403 Only show matching factory default settings 2020-08-27 02:29:31 +02:00
Gijs Noorlander 5597b0a6db Fix default settings for I2C and ethernet 2020-08-27 02:29:08 +02:00
Gijs Noorlander 9b2b49dd74 [Factory Defaults] Add Olimex ESP32 GATEWAY definitions 2020-08-27 01:16:42 +02:00
Gijs Noorlander dc20398c18 [Cleanup] Try not using default: to let compiler find missing used enums 2020-08-27 00:03:14 +02:00
Ton Huisman e5db04339c [SPI] Correct typo in devices list 2020-08-26 20:14:28 +02:00
Ton Huisman 166af2f59c Merge branch 'feature/improve_spi_support' of https://github.com/tonhuisman/ESPEasy-1 into feature/improve_spi_support 2020-08-26 11:20:27 +02:00
Ton HuismanandGitHub 366d8c1816 Merge branch 'mega' into feature/improve_spi_support 2020-08-26 11:19:40 +02:00
Michał ObrembskiandMichał Obrembski c204600c05 Fixed compile-time defines not working in ESP32 platform
Added short SHA id in SET_BUILD_GIT_HEAD, since just branch name is not very useful to inspect history
2020-08-25 21:53:32 +02:00
Gijs Noorlander 0cb028bdd5 [Ethernet] Fix UDP p2p when using ethernet. 2020-08-25 01:42:36 +02:00
Gijs Noorlander 08bc2e858b [Ethernet] Create enum class for EthPhyType 2020-08-25 01:13:44 +02:00
Gijs Noorlander 3c6db30afb [Ethernet] Create enum class for EthClockMode 2020-08-25 00:59:55 +02:00
Gijs Noorlander b35648816b [Ethernet] Create enum class for NetworkMedium 2020-08-25 00:48:31 +02:00
uwekaditz 28dc6b3694 Merge remote-tracking branch 'upstream/mega' into UweKaditz 2020-08-24 19:52:37 +02:00
Ton Huisman 5a3c5f7a83 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/improve_spi_support 2020-08-24 11:39:29 +02:00
TD-erandGitHub ad4d6fb86d Fix C002 Domoticz dimmer switch set value (#3230)
Fixes: #3230
2020-08-24 10:40:13 +02:00
Ton Huisman 732080f920 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/improve_spi_support 2020-08-23 16:14:04 +02:00
TD-erandGitHub a16cf58efc Fix build issue for P094 CUL reader 2020-08-23 13:53:28 +02:00
TD-erandGitHub 1e9348487d Merge pull request #3229 from TD-er/docs/ethernet
Document ESP32 ethernet + add Olimex ESP32-EVB factory defaults
2020-08-22 20:39:18 +02:00
TD-erandGitHub b4204d2fae Merge branch 'mega' into docs/ethernet 2020-08-22 19:51:54 +02:00
Ton Huisman ba45014f9e Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/improve_spi_support 2020-08-22 18:37:10 +02:00
Ton Huisman 74e4a8d3b4 Merge branch 'feature/improve_spi_support' of https://github.com/tonhuisman/ESPEasy-1 into feature/improve_spi_support 2020-08-22 18:36:56 +02:00
TD-erandGitHub 27c869db42 Merge pull request #3178 from uwekaditz/UweKaditz
[P092_DLBus] Move plugin data from lib to PluginStructs
2020-08-22 18:08:13 +02:00
Gijs Noorlander c027c7f11e [Docs] Updated DL-bus documentation as it was hard to find
Plus fixed some Sphinx errors.
2020-08-22 18:05:12 +02:00
Gijs Noorlander fc8b54d8db [Sphinx docs] Change deprecated add_stylesheet to add_css_file 2020-08-22 17:40:33 +02:00
Gijs Noorlander 80a1998ca2 [Docs] Fix images with .PNG instead of .png extension 2020-08-22 17:39:44 +02:00
TD-erandGitHub c99008ebeb Merge pull request #3228 from tonhuisman/feature/P1_gateway_flex
[P044] Accept '_' in meter ID (#3227)
2020-08-22 17:26:17 +02:00
Gijs Noorlander 8efff6f0a3 [ESP32 ETH] Fix JSON when Ethernet is enabled. 2020-08-22 17:24:26 +02:00
Gijs Noorlander c70055558f [ESP32 ETH] Add pre-defined Olimex ESP32-EVB config 2020-08-22 17:23:51 +02:00
Gijs Noorlander 06254089a5 [Docs] Add documentation for ESP32 ethernet + missing config page 2020-08-22 16:30:20 +02:00
uwekaditzandGitHub 07412e12e3 Merge branch 'mega' into UweKaditz 2020-08-22 15:48:22 +02:00
Ton Huisman c5e6ae37ff [P044] Accept '_' in meter ID 2020-08-22 11:16:21 +02:00
Gijs Noorlander 85ecab5b18 [Cleanup] Cleanup P015 2020-08-20 23:07:10 +02:00
Gijs Noorlander 23635b6c76 [I2C] Multiple instances P015 - TSL2561 2020-08-20 22:58:08 +02:00
Gijs Noorlander 2ba8858c51 [I2C] Multiple Instances P006 - BMP085/180 2020-08-20 20:31:06 +02:00
Gijs Noorlander c19afad2a5 [I2C] Multiple instances P012 - LCD 2004 2020-08-20 18:23:53 +02:00
Gijs Noorlander 53aeaca565 [I2C] Multiple instances P079 - Wemos Motorshield
See #3224
2020-08-20 16:46:31 +02:00
Gijs Noorlander 191682f69a [I2C] multiple instances P047 - Environment - Soil moisture sensor
See #3224
2020-08-20 15:57:07 +02:00
Ton HuismanandGitHub cf41913499 Merge branch 'mega' into feature/improve_spi_support 2020-08-20 15:43:58 +02:00
Ton Huisman 5aba812360 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/improve_spi_support 2020-08-20 15:42:04 +02:00
TD-erandGitHub 57ad06eac5 Merge branch 'mega' into build/core_2_7_4 2020-08-20 15:19:15 +02:00
TD-erandGitHub 7dada76f87 Merge pull request #3210 from tonhuisman/feature/I2C_multiplexer
[I2C] Implement I2C Multiplexer
2020-08-20 15:18:40 +02:00
Gijs Noorlander 18fcbac93a [Build] Fix build size exceeded for testing builds 2020-08-20 14:42:28 +02:00
Gijs Noorlander 1e5f464bcc [I2C multiplexer] Fix build issue on units not using I2C multiplexer 2020-08-20 13:01:01 +02:00
Gijs Noorlander 3cf3723ad5 Revert changes in P095 as they are already already covered by #3205 2020-08-20 12:36:55 +02:00
Gijs Noorlander 723cad1847 [Cleanup] Uncrustify all I2C plugins
When adding the new webform I2C params function, it struck me how inconsistent the formatting of our code is.
So how looks like a good moment to uncrustify all I2C plugins as their code is touched anyway.
2020-08-20 12:34:11 +02:00
Gijs Noorlander b3f3d8ecab [I2C] Move I2C address selector for all I2C plugins with address field 2020-08-20 12:22:07 +02:00
Ton Huisman 8731ae37e4 [P095/P096] Allow rotation +270 via cmd mode 2020-08-20 11:53:08 +02:00
Gijs Noorlander 75d5e8113a Merge remote-tracking branch 'tonhuisman/feature/I2C_multiplexer' into feature/I2C_multiplexer 2020-08-20 11:52:05 +02:00
Gijs Noorlander f1d05a59af [I2C] Add PLUGIN_WEBFORM_SHOW_I2C_PARAMS to separate I2C address setup
Also made an example for P036 Framed OLED.
2020-08-20 11:51:45 +02:00
Ton Huisman e7462b5c50 Merge branch 'feature/improve_spi_support' of https://github.com/tonhuisman/ESPEasy-1 into feature/improve_spi_support 2020-08-20 11:48:19 +02:00
Ton HuismanandGitHub 0e72b05c9a Merge branch 'mega' into feature/improve_spi_support 2020-08-20 11:46:39 +02:00
Ton HuismanandGitHub 2bec3dd85e Merge branch 'mega' into feature/I2C_multiplexer 2020-08-20 11:43:33 +02:00
Ton Huisman 2aadb26c7b Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/improve_spi_support 2020-08-20 11:22:48 +02:00
TD-erandGitHub 8705cd20c1 Merge pull request #3223 from TD-er/doc/Domoticz_MQTT_helper
[Docs] Add some description for P029 Output Domoticz MQTT helper
2020-08-20 09:33:01 +02:00
Gijs Noorlander 4c9d62a74c [Docs] Add some description for P029 Output Domoticz MQTT helper 2020-08-20 09:32:25 +02:00
Ton Huisman ded06f6c50 [I2C Docs] Add note about multiplexer address 2020-08-19 17:42:17 +02:00
Ton Huisman 1e44f34495 [I2C Docs] Emphasize configuration with multiplexer 2020-08-19 16:07:56 +02:00
Ton Huisman d9d09c1239 [I2C] Add TCA9543a multiplexer, updated docs 2020-08-19 15:19:40 +02:00
Ton Huisman 7fc64d8f0c [I2C] Some fixes and improvements 2020-08-18 21:23:34 +02:00
TD-erandGitHub 4b7d287ff5 Merge branch 'mega' into feature/I2C_multiplexer 2020-08-18 09:45:19 +02:00
TD-erandGitHub 099b9dc6ec Merge pull request #3220 from TD-er/bugfix/bme280_i2c_multiplexer
[BME280] Allow to be used with I2C multiplexer
2020-08-18 09:42:32 +02:00
TD-erandGitHub c6c040fccb Merge pull request #3218 from TD-er/cleanup/queue_delay_handler_pointer
[Controller] Convert controller delay handler to pointer
2020-08-18 09:39:33 +02:00
TD-erandGitHub 56584f9ec5 Merge pull request #3193 from tonhuisman/feature/commands_doc
[Docs] Updated commands reference
2020-08-18 09:36:06 +02:00
Ton HuismanandGitHub ef0d1ddf68 Merge branch 'mega' into feature/commands_doc 2020-08-17 20:42:40 +02:00
Ton HuismanandGitHub f21c9c6bcc Merge branch 'mega' into feature/I2C_multiplexer 2020-08-17 20:26:12 +02:00
tonhuisman 4e2609ff89 [I2C/Doc] Add Hardware page documentation, RTD help button 2020-08-17 20:24:57 +02:00
Gijs Noorlander 135a26ebf3 [BME280] Allow to be used with I2C multiplexer
This plugin was using plugin data per I2C address, which no longer will work when used with I2C multiplexer.
2020-08-17 16:50:31 +02:00
TD-erandGitHub 25d1f7e79b Merge branch 'mega' into build/core_2_7_4 2020-08-17 14:43:39 +02:00
TD-erandGitHub 54292aa342 Merge pull request #3212 from TD-er/build/normal_4m_vcc
[Build] Add normal_ESP8266_4M1M_VCC env.
2020-08-17 14:43:13 +02:00
Gijs Noorlander 525347cd84 Merge remote-tracking branch 'origin/build/core_2_7_4' into build/core_2_7_4 2020-08-17 14:41:23 +02:00
Gijs Noorlander ae00e03b03 [Travis] Also update "core_273" to "core_274" in build names 2020-08-17 14:41:08 +02:00
TD-erandGitHub 72eb3afa22 Merge branch 'mega' into build/core_2_7_4 2020-08-17 14:32:56 +02:00
TD-erandGitHub 213d2a6559 Merge pull request #3217 from TD-er/cleanup/init_p2p_data
[ESPEasy p2p] Init node data to 0
2020-08-17 14:32:18 +02:00
Gijs Noorlander 1147a2b151 [Controller] Convert controller delay handler to pointer
To reduce memory usage when not used.
2020-08-17 14:15:53 +02:00
Ton HuismanandGitHub 5bcef6e036 Merge branch 'mega' into feature/improve_spi_support 2020-08-17 13:46:18 +02:00
Ton HuismanandGitHub fdc6fa8563 Merge branch 'mega' into feature/I2C_multiplexer 2020-08-17 12:11:09 +02:00
Gijs Noorlander eae06e912c [Build size] Do not include I2C device names for minimal OTA builds
These are shown on I2C scan result page.
2020-08-17 11:31:11 +02:00
Gijs Noorlander e93013d6ba [ESPEasy p2p] Init node data to 0
Node struct data was not initialized to 0, so when adding new data to these packets, you could receive uninitialized data from older nodes.
2020-08-17 11:29:39 +02:00
TD-erandGitHub 6fd3a04d42 Merge branch 'mega' into UweKaditz 2020-08-17 11:09:32 +02:00
TD-erandGitHub e71bfbc343 Merge pull request #3213 from tonhuisman/bugfix/P008_settings
[P008] Fix saving/loading new setting
2020-08-17 11:08:51 +02:00
Gijs Noorlander e8ad0cc2e1 [Build] Change to esp8266/Arduino core 2.7.4 2020-08-17 10:47:52 +02:00
tonhuisman 0e68f3c9e1 [I2C] Optimizations and improvements 2020-08-16 17:38:59 +02:00
tonhuisman 67070fccc9 [P096] Avoid crash if no eInk display is connected and a yet unhandled command is sent 2020-08-16 14:54:04 +02:00
tonhuisman 102bc2c405 [I2C] Bugfixes and improvements for multiplexer implementation 2020-08-16 14:40:38 +02:00
Ton HuismanandGitHub f01ab645ee Merge branch 'mega' into feature/improve_spi_support 2020-08-15 21:49:31 +02:00
tonhuisman a0f5a4d0d4 [P008] Fix saving/loading new setting 2020-08-15 20:19:18 +02:00
uwekaditzandGitHub 20181bbae7 Merge branch 'mega' into UweKaditz 2020-08-15 20:18:51 +02:00
tonhuisman 0c5ec877b7 [P008] Fix saving/loading new setting 2020-08-15 20:11:21 +02:00
tonhuisman 1578bf089d [I2C] Fix builderror on SettingsStructSize (again) 2020-08-15 19:59:46 +02:00
Ton HuismanandGitHub 0eb23e86d9 Merge branch 'mega' into feature/I2C_multiplexer 2020-08-15 17:42:15 +02:00
tonhuisman 6f11467b08 [I2C] Improve I2C Multiplexer support 2020-08-15 17:22:25 +02:00
Gijs Noorlander cfd52a2108 [Build] Add normal_ESP8266_4M1M_VCC env. 2020-08-15 14:20:49 +02:00
TD-erandGitHub 64205bc286 Merge pull request #3208 from tonhuisman/bugfix/OLed_dont_change_wirespeed
[OLED] Don't change shared bus speed
2020-08-15 00:26:22 +02:00
TD-erandGitHub 2f64dfc49c Merge pull request #3209 from TD-er/bugfix/si7021_stability
[SI7021] Add timeout + sensor reset when sensor reading stalls
2020-08-14 21:35:20 +02:00
TD-erandGitHub bbef7c8c5e Merge branch 'mega' into bugfix/si7021_stability 2020-08-14 20:40:36 +02:00
tonhuisman 777c397b89 [I2C] Implement I2C Multiplexer 2020-08-13 20:53:45 +02:00
TD-er c934f32a19 automatically updated release notes for mega-20200812 2020-08-12 23:29:35 +02:00
Gijs Noorlander 7d4943ad19 [SI7071] Add timeout for reading sensor (1 sec) 2020-08-12 16:08:14 +02:00
Gijs Noorlander 8cc59938bc [SI7071] Allow multiple instances of the same plugin 2020-08-12 15:35:57 +02:00
Gijs Noorlander ba9c7caf69 [SI7021] Convert state to enum class 2020-08-12 14:57:41 +02:00
tonhuisman 8dfb6c4372 [P096] Widen temp settings var from byte to uint16_t 2020-08-12 13:33:42 +02:00
Ton HuismanandGitHub 0f8fbdb531 Merge branch 'mega' into bugfix/OLed_dont_change_wirespeed 2020-08-12 11:36:09 +02:00
tonhuisman 667d15e90c [OLED] Don't change shared bus speed 2020-08-12 11:33:36 +02:00
tonhuisman 3b8d13fe68 Merge branch 'feature/improve_spi_support' of https://github.com/tonhuisman/ESPEasy-1 into feature/improve_spi_support 2020-08-12 11:04:50 +02:00
tonhuisman 329385214d Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/improve_spi_support 2020-08-12 10:59:25 +02:00
TD-erandGitHub 33405ee92f Merge branch 'mega' into UweKaditz 2020-08-12 01:33:48 +02:00
TD-erandGitHub cfe2f12a58 Merge branch 'mega' into feature/commands_doc 2020-08-12 01:33:25 +02:00
TD-erandGitHub 1656b52056 Merge branch 'mega' into feature/improve_spi_support 2020-08-12 01:30:59 +02:00
TD-erandGitHub 481435f862 Merge pull request #3206 from letscontrolit/bugfix/dallas_esp32
[Dallas] Enable interrupts when no sensor found
2020-08-12 01:26:44 +02:00
TD-erandGitHub 55e73f0559 Merge branch 'mega' into bugfix/dallas_esp32 2020-08-12 01:05:18 +02:00
TD-erandGitHub 1ce536ca8c Merge pull request #3204 from TD-er/feature/msec_timers
[Timers] Add msec rules timer + loop timer
2020-08-12 01:02:56 +02:00
Gijs Noorlander fc3a08f07e [Docs] Update mentioned dates of introduced feature
... to expected build date
2020-08-11 22:50:00 +02:00
Gijs Noorlander d664659df8 [Dallas] Add warning about the need for a pull up 2020-08-11 22:37:33 +02:00
Gijs Noorlander 656559eda4 [Dallas] Make sure function forward declaration is on one line
Arduino code may not recognize a forward declaration when it is split over multiple lines.
2020-08-11 14:47:05 +02:00
Gijs Noorlander 6b344b3cde Uncrustify both Dallas plugins 2020-08-11 14:41:29 +02:00
Gijs Noorlander 5a75cd3904 [Dallas] Fix NoInterrupt calls for ESP32 2020-08-11 14:40:42 +02:00
Gijs Noorlander 534e9965e3 [Dallas iButton] Enable interrupts when no sensor found 2020-08-11 14:23:00 +02:00
TD-erandGitHub 7e46235a59 [Dallas] Enable interrupts when no sensor found 2020-08-11 13:55:39 +02:00
tonhuisman 471f0148ff [SPI] Minor correction, used wrong type 2020-08-11 13:51:39 +02:00
tonhuisman 9b6b94aaff [SPI] Remove unneeded comment 2020-08-11 10:29:08 +02:00
tonhuisman fb61f1e2f9 [SPI] Minor corrections 2020-08-11 10:23:51 +02:00
Gijs Noorlander 526fd429ef [Scheduler] Change plugin pointer type into enum class 2020-08-10 17:07:07 +02:00
Gijs Noorlander 9ab5261171 [Timers] Change interval timer defines into enum class 2020-08-10 16:53:09 +02:00
Gijs Noorlander 01aeb9bc8f [Scheduler] Move global scheduler functions into C++ class
This does make the compilation more predictive and lowers resource usage slightly.  (global functions and objects use slightly more space)
2020-08-10 15:13:24 +02:00
Ton HuismanandGitHub e7effce19e Merge branch 'mega' into feature/improve_spi_support 2020-08-10 10:28:59 +02:00
Ton HuismanandGitHub 7cac600b46 Merge branch 'mega' into feature/commands_doc 2020-08-10 10:27:32 +02:00
TD-erandGitHub 2f10ae094c Merge branch 'mega' into UweKaditz 2020-08-10 00:33:59 +02:00
Gijs Noorlander fbcfb153c1 [Timers] Cleanup of timer code. 2020-08-10 00:25:11 +02:00
Gijs Noorlander 53f161df05 [Docs] Add documentation for msec timers and loop timers 2020-08-10 00:25:11 +02:00
Gijs Noorlander 1184339cfc [Timers] Make loop timers with fixed interval and nr of loops 2020-08-10 00:25:11 +02:00
Gijs Noorlander e2ef91088e [Rules Timer] Use scheduler for rules timer
This does remove the limit of number of timers.
Also it makes scheduled intervals a lot more accurate.
2020-08-10 00:25:11 +02:00
TD-erandGitHub 072efe41b7 Merge pull request #3203 from TD-er/bugfix/GPS_sanity_check
[GPS] Apply sanity check on received data.
2020-08-10 00:24:45 +02:00
tonhuisman a1ea809eb4 [SPI] Fixed typos in comments... 2020-08-09 17:31:01 +02:00
tonhuisman c58a3abd19 [SPI] Update SPI-based plugin configuration 2020-08-09 16:41:03 +02:00
tonhuisman 1eb99a436f [SPI] Extend SPI interface support in configuration 2020-08-09 16:39:36 +02:00
Gijs Noorlander 1616b8df1d [GPS] Apply sanity check on received data. 2020-08-09 09:55:21 +02:00
uwekaditzandGitHub c69abf66aa Merge branch 'mega' into UweKaditz 2020-08-07 20:55:13 +02:00
TD-erandGitHub d1a6deade4 Merge pull request #3201 from tonhuisman/bugfix/P010_correct_i2c
[P010] Correction in I2C handing, and fix for old issue
2020-08-07 19:39:39 +02:00
tonhuisman bafb00d56a [P010] Correction in I2C handing, and fix for old issue 2020-08-07 11:48:51 +02:00
TD-erandGitHub 92c27bc326 Merge pull request #3189 from TD-er/update/Python_packages_update
[Python] Update of python packages in requirements.txt
2020-08-07 00:17:30 +02:00
TD-erandGitHub 4978237055 Merge pull request #3200 from tonhuisman/feature/P010_compile_ESP32
[P010] Changes to enable use on ESP32 (#3175)
2020-08-07 00:16:12 +02:00
tonhuisman 64cb557c97 [P010] Remove some left-overs from testing 2020-08-06 20:28:23 +02:00
tonhuisman 00313b4c38 [P010] Changes to enable use on ESP32 (#3175) 2020-08-06 20:23:33 +02:00
Ton HuismanandGitHub 55b0538111 Merge branch 'mega' into feature/commands_doc 2020-08-05 17:31:36 +02:00
TD-erandGitHub 0ff5878c8f Merge pull request #3199 from tonhuisman/feature/P036_docs
[Docs] Update [P036] documentation that went missing
2020-08-05 15:55:38 +02:00
TD-erandGitHub 7144d8d200 Merge pull request #3197 from TD-er/bugfix/C015_Blynk_compile
[Blynk] Make C015 Blynk controller compile again
2020-08-05 15:54:29 +02:00
tonhuisman 4516641932 [Docs] Update [P036] documentation that went missing 2020-08-05 13:30:22 +02:00
Gijs Noorlander 98a2cac61c Include C015 in the custom build for testing 2020-08-05 00:57:34 +02:00
Gijs Noorlander 5f459c6c86 [Blynk] Make C015 Blynk controller compile again 2020-08-05 00:57:05 +02:00
Ton HuismanandGitHub 410de576d2 Merge branch 'mega' into feature/commands_doc 2020-08-04 15:03:06 +02:00
Gijs Noorlander bede949bef [docs] Replace code-block:: html with code-block:: none
The HTML parser does not parse our own rules which is where it is used.
So until we have a rules highlighter, we use the ``none`` highlighter.
2020-08-04 13:18:36 +02:00
Gijs Noorlander e86736a423 [docs] Fix table for P095 2020-08-04 13:16:55 +02:00
TD-erandGitHub 3bbc959a59 Merge pull request #3191 from TD-er/bugfix/C011_correct_load_settings
[C011] Fix incorrect load/save settings
2020-08-04 12:14:51 +02:00
tonhuisman 0629084b47 [Docs] Fixed some typos and Sphinx syntax errors 2020-08-03 10:54:57 +02:00
tonhuisman 965d9bb4e8 [Docs] Updated commands reference 2020-08-02 22:33:20 +02:00
Gijs Noorlander 4b0f471318 [Uncrustify] Clean up C011 code using Uncrustify. 2020-08-02 12:19:52 +02:00
Gijs Noorlander 66ca99c031 [C011] Fix incorrect load/save settings.
As mentioned here: https://github.com/letscontrolit/ESPEasy/issues/3123#issuecomment-667340970
2020-08-02 11:58:56 +02:00
TD-erandGitHub 8dc61518b2 Merge pull request #3190 from Wiki591/patch-1
Update URLs.rst
2020-08-02 11:17:12 +02:00
Wiki591andGitHub 43831953d5 Update URLs.rst
Fixed dewcription of the different /csv urls
2020-08-02 09:58:22 +02:00
TD-erandGitHub 59077845a9 Merge pull request #3187 from jimmys01/irupdate
[IR] Update Library
2020-08-02 00:10:23 +02:00
Gijs Noorlander c31010a7d5 [Python] Update of python packages in requirements.txt 2020-08-01 22:20:12 +02:00
TD-erandGitHub a22e03cb99 Merge branch 'mega' into irupdate 2020-08-01 22:02:52 +02:00
uwekaditz aa2e872d4d Merge tag 'mega-20200801' into UweKaditz 2020-08-01 18:07:56 +02:00
TD-er 8a9b04ae9f automatically updated release notes for mega-20200801 2020-08-01 16:27:55 +02:00
jimmys01 8377a8991d [IR] Update Library 2020-08-01 11:51:53 +03:00
TD-erandGitHub c40410fda4 Merge pull request #3185 from TD-er/bugfix/build_gcc10.1
[Build] Fix using GCC 10.1 toolchain
2020-08-01 01:23:25 +02:00
Gijs Noorlander 874cddf176 [Travis] Enable some core 3.0.0 alpha (*_beta_*) builds 2020-08-01 00:39:52 +02:00
Gijs Noorlander ed065ebadd Fix build issue on ESP32 finding SPIFFS.h 2020-08-01 00:32:44 +02:00
Gijs Noorlander d202f70fc5 [core_3.0.0 alpha] Fix build issue analog PWMRANGE
See https://github.com/esp8266/Arduino/commit/a67986915512c5304bd7c161cf0d9c65f66e0892
2020-08-01 00:02:38 +02:00
Gijs Noorlander a6947f5eee [Build] Fix using GCC 10.1 toolchain 2020-07-31 17:49:08 +02:00
TD-erandGitHub d7a1e3145d Merge pull request #3177 from Micha-he/LongPress_Min
Change P001_Switch-LongPress min to 500ms
2020-07-31 02:09:12 +02:00
TD-erandGitHub 78b4558a56 Merge branch 'mega' into UweKaditz 2020-07-31 02:08:42 +02:00
TD-erandGitHub 140d17afef Merge pull request #3179 from TD-er/build/alt_wifi_builds
[Alt WiFi] Use different SDK build for nodes with WiFi issues (#2931)
2020-07-31 02:07:45 +02:00
Gijs Noorlander e945dbfd71 [Build] Disable custom_alt_wifi_ESP8266_1M as it is too large 2020-07-31 01:13:11 +02:00
Gijs Noorlander 00def40abe [Build] Revert back to SDK22x_190703 + alt_wifi build 2020-07-30 23:20:09 +02:00
Gijs Noorlander 234bf3a902 [Build] Do not generate .bin.gz for 1M builds as no support 2-step OTA 2020-07-30 16:18:13 +02:00
Gijs Noorlander 6ca544f192 [Travis] Split builds in several jobs
We ran it all in one job before, which may exceed time limit.
2020-07-30 15:27:29 +02:00
Gijs Noorlander 4806e12c09 [SDK] Disable alt_wifi and use SDK22x_191122 for all builds
Use PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191122 for all builds, unless mentioned otherwise.

This does seem to work just fine and reduces the number of bin files.
2020-07-30 13:18:33 +02:00
Gijs Noorlander 1e7076cf6f [Arduino] Update to core 2.7.3 2020-07-30 13:15:06 +02:00
Gijs Noorlander 2294476d5f [Docs] Document /json and /csv URLs 2020-07-28 21:02:41 +02:00
Gijs Noorlander 309415bdf8 [ESP32 build] Fix build issues with lots of lib_ignore set (#3083)
See: https://github.com/letscontrolit/ESPEasy/issues/3083#issuecomment-664071971
2020-07-27 11:54:03 +02:00
uwekaditzandGitHub 2bd02df68f Merge branch 'mega' into UweKaditz 2020-07-26 15:33:51 +02:00
TD-erandGitHub 241daf4422 Merge pull request #3181 from tonhuisman/feature/shelly_power
[Build] Add P029 to PLUGIN_SET_ONLY_SWITCH
2020-07-26 14:27:24 +02:00
tonhuisman 739b12cbaa [Build] Remove superfluous #defines 2020-07-26 13:31:11 +02:00
tonhuisman 721a99a70b [Build] Move USES_DOMOTICZ logic together and in a more useful order 2020-07-26 13:28:16 +02:00
tonhuisman be536d0241 [Build] Enable P029 for hard_shelly builds 2020-07-26 10:39:38 +02:00
Gijs Noorlander c5c2150c0f [ESP32] Fix build issue (spiffs.h vs SPIFFS.h)
Tested only on Windows, which does not have issues with capitalization of file names
2020-07-26 00:06:56 +02:00
Gijs Noorlander ed0fcabeba Fix build errors 2020-07-25 20:14:12 +02:00
tonhuisman 1f8eb4a5db [Build] Add P029 to PLUGIN_SET_ONLY_SWITCH 2020-07-25 14:33:17 +02:00
Gijs Noorlander 72fc4f671c [Build] Remove test VCC MDNS SD build from Travis build 2020-07-25 01:36:01 +02:00
Gijs Noorlander 8a96e715a7 [Cleanup] Move RTC struct code to .h/.cpp
As these structs were initialized by memset to 0, which gives a warning on gcc10.1
2020-07-25 01:35:03 +02:00
Gijs Noorlander 8a36206731 [GCC 10] Fix compile issues with GCC 10.1 2020-07-25 00:44:54 +02:00
Gijs Noorlander ec8a0e204c [Alternate WiFi] Use different SDK build for nodes with WiFi issues (#2931)
Fixes: #2931
2020-07-24 23:15:10 +02:00
uwekaditz 96fc31a03c Update _P092_DLbus.ino
FIX: Correct include
2020-07-24 22:04:48 +02:00
uwekaditzandGitHub d2c1a8f982 Merge branch 'mega' into UweKaditz 2020-07-24 21:58:52 +02:00
uwekaditz 112991cd03 [P092_DLBus] Move plugin data from lib to PluginStructs
Move plugin data from lib\DLBus to src\PluginStructs\P092_data_struct in PluginStructs
(similar to P036_data_struct)
2020-07-24 21:57:00 +02:00
TD-erandGitHub 394d23c0ca Merge branch 'mega' into LongPress_Min 2020-07-24 12:40:10 +02:00
TD-erandGitHub 80fdbff696 Merge pull request #3033 from jano42/mega
Add eInk plugin
2020-07-23 15:33:16 +02:00
TD-erandGitHub 32e31db024 Merge pull request #3050 from uwekaditz/UweKaditz
[P036] Memory optimization (issue #2799) and other improvements
2020-07-23 14:34:57 +02:00
TD-erandGitHub 57067f1c2b Merge branch 'mega' into mega 2020-07-23 14:34:02 +02:00
Gijs Noorlander db375a6f84 [e-ink] Include LOLIN_EPD in the lib_deps to make it compile 2020-07-23 14:32:58 +02:00
TD-erandGitHub 3338430aa7 Merge pull request #3110 from Chris-1965/mega
P095 Plugin: ili9341 font support
2020-07-23 13:33:13 +02:00
Gijs Noorlander 82c2829020 [Framed OLED] Clean up code + use temp. object for load/save lines
Loading and saving of display lines must be done using a temporary object and not via the task data object in memory as that may have been changed via write commands.
2020-07-22 22:01:06 +02:00
Gijs Noorlander 15639b1886 [Framed OLED] Move plugin data to separate .h/.cpp 2020-07-22 17:32:41 +02:00
BesterquesterandGitHub 9202006236 Merge branch 'mega' into mega 2020-07-22 15:48:30 +02:00
Chris-1965 05c7de2f73 Merge branch 'mega' of https://github.com/Chris-1965/ESPEasy into mega 2020-07-22 15:45:52 +02:00
Chris-1965 d535327a04 Changed naming as proposed 2020-07-22 15:44:37 +02:00
Gijs Noorlander f7618941e8 [P036_FramedOLED] Uncrustify source code 2020-07-22 15:39:27 +02:00
Gijs Noorlander 81379d81aa [Web form] Force value in number field within given range
For example the Framed OLED plugin has a default number of lines per page of 0, but the limits of the field only allows 1 .. 4.
This makes it impossible to save the default settings without changing something.

There may be other settings which may have similar issues.
2020-07-22 15:18:45 +02:00
Gijs Noorlander 6b7ac1e4b0 [P036_FramedOLED] Reduce stack and heap memory usage
During load, the (large) task data struct was allocated on the heap, regardless whether it was already present in memory when the task was initialized.

During save, the (large) task data struct was allocated on the stack.

Both load and save now check whether there is already an instance present and use that instance.
If not, it creates a temporary instance for loading and saving of the settings.

Also the scrolling variable was not initialized, so it could happen the display would not start to show the pages as it was marked as "still being scrolling"
2020-07-22 15:07:56 +02:00
Michael SchröderandGitHub 8cabcd1490 Decrease the longpress min interval to 500ms 2020-07-22 11:17:25 +02:00
Michael SchröderandGitHub e727651c22 Merge pull request #5 from letscontrolit/mega
Merge upstream repository
2020-07-22 11:02:33 +02:00
TD-erandGitHub ca369655d8 Merge branch 'mega' into UweKaditz 2020-07-22 09:00:59 +02:00
TD-er 4e7fd26f2d automatically updated release notes for mega-20200721 2020-07-21 11:23:15 +02:00
TD-erandGitHub 112902c6d1 Merge branch 'mega' into UweKaditz 2020-07-20 23:49:59 +02:00
TD-erandGitHub 665239992c Merge pull request #3148 from TD-er/bugfix/wifi_reset
[WiFi] Reduce wifi reset calls and call full wifi init at reset (#3147)
2020-07-20 23:42:52 +02:00
TD-er fa7233c864 automatically updated release notes for mega-20200720 2020-07-20 23:35:58 +02:00
Gijs Noorlander 4128de9d9d [WiFi] Copy DNS servers from DHCP when using fixed last octet (#3111) 2020-07-20 21:29:27 +02:00
Gijs Noorlander 6cf00dcc05 [Docs] Document Tools => Advanced Settings 2020-07-20 20:57:16 +02:00
Gijs Noorlander 3b42935a8a [TimeZone] Move timezone configuration line to location settings (#3141)
Fixes: #3141
2020-07-20 20:56:48 +02:00
Gijs Noorlander aa0e548fa7 [ESP32] Recognize last boot state as Deepsleep (#3155)
Fixes: #3155

For the ESP8266, we keep things like the last boot cause in RTC memory.
Currently that's not supported on ESP32 (in our code) so the last boot cause is never read and stored.
2020-07-20 17:13:17 +02:00
Gijs Noorlander 829f257593 [UDP p2p] Fix crash on ESP32 where UDP is started before connected 2020-07-20 00:32:59 +02:00
Gijs Noorlander 1b26282d74 [Docs] Update docs related to p2p UDP port no longer need reboot 2020-07-19 15:48:03 +02:00
Gijs Noorlander eff8fd4847 [Syslog] Add custom port to the syslog IP (#1258)
Fixes: #1258
2020-07-19 15:04:04 +02:00
Gijs Noorlander 1c76e978b5 [NTP] After timeout or receiving invalid packet, port could be held
This could lead to extra memory usage until the next (valid) NTP packet was processed.
Also the UDP port could be held.
2020-07-19 14:40:36 +02:00
Gijs Noorlander cf3c2b0104 [UDP] Reduce max UDP packet size
The max. UDP packet size could allow for a large memory allocation when a large packet was received.
No matter if this was a valid packet to process anyway.
2020-07-19 14:37:43 +02:00
Gijs Noorlander 40f9454f00 [ESPEasy p2p] Reload UDP port settings when changed
No need to reboot after changing UDP port setting.
2020-07-19 14:35:51 +02:00
TD-erandGitHub b742574732 Merge branch 'mega' into mega 2020-07-19 13:25:12 +02:00
TD-erandGitHub 70ba44da92 Merge branch 'mega' into UweKaditz 2020-07-19 13:24:42 +02:00
TD-erandGitHub 2d0dad235e Merge pull request #3149 from tonhuisman/feature/P008_hex_to_dec
[P008] Add option to convert value to 'hex' (#3068), and updated docs
2020-07-19 13:23:49 +02:00
TD-erandGitHub 9e969a0cdd Merge branch 'mega' into mega 2020-07-19 13:13:53 +02:00
TD-erandGitHub c9cc98e6c8 Merge pull request #3150 from llevet/patch-1
Update _P095_ILI9341.ino
2020-07-19 13:13:13 +02:00
TD-erandGitHub b338129237 Merge pull request #3166 from tonhuisman/feature/improve_P076
[P076] fix: Custom Pin settings in same order as Sensor pins, improved label, improved cast
2020-07-19 13:11:18 +02:00
TD-erandGitHub b20e51bb5f Merge pull request #3173 from letscontrolit/bugfix/3159_ADS1115
Fix ADS1115 mixing input signals (#3159)
2020-07-19 13:09:45 +02:00
TD-erandGitHub 1c7ba000c9 Fix ADS1115 mixing input signals (#3159)
Fixes: #3159 

See: https://github.com/letscontrolit/ESPEasy/issues/3159#issuecomment-660546091
2020-07-19 00:00:37 +02:00
Gijs Noorlander 711eaf60bd [PIO ESP32] Update to latest Platformio espressif32@1.12.4 2020-07-18 15:30:09 +02:00
Gijs Noorlander cc4543603e [PIO] revert custom_beta env to stage core lib 2020-07-18 15:29:03 +02:00
Gijs Noorlander 12a3f91a6f [WiFi] Clear event callback on ESP32 + correct order of log/disconnect 2020-07-18 15:28:01 +02:00
TD-erandGitHub 1e2d49f167 Merge branch 'mega' into bugfix/wifi_reset 2020-07-18 11:16:01 +02:00
Gijs Noorlander 2c92d59101 [ESP32] Fix build error on ESP32 2020-07-16 20:05:08 +02:00
BesterquesterandGitHub cd1a2c866e Merge branch 'mega' into mega 2020-07-16 19:27:30 +02:00
Gijs Noorlander b5c20b066b [WiFi] Small fixes for WiFi related code 2020-07-16 19:27:20 +02:00
Gijs Noorlander 95fefdd921 Reduce minimal OTA build slightly 2020-07-16 19:26:00 +02:00
Gijs Noorlander 2256b8b19b Fix issue where task name / task var name was incorrect 2020-07-16 19:22:16 +02:00
Gijs Noorlander edb8d065a1 [WiFi] Detect and work around missing events
The code is still way too complex, but at least it is working now on all tests I could throw at it.
2020-07-16 19:21:19 +02:00
tonhuisman ffb113c292 [P076] fix: Custom pin settings in same order as Sensor pins, improved label, improved cast 2020-07-12 21:06:18 +02:00
uwekaditzandGitHub b53e0c09ec Merge branch 'mega' into UweKaditz 2020-07-12 17:51:45 +02:00
llevetandGitHub 3139aa31b9 Merge branch 'mega' into patch-1 2020-07-12 15:19:57 +02:00
TD-erandGitHub 866fc88f92 Merge pull request #3165 from jimmys01/jsonlib
arduinoJSON library update
2020-07-11 14:35:02 +02:00
Gijs Noorlander 33d377b723 [WiFi] No longer rely on WiFi.isConnected() 2020-07-11 13:18:01 +02:00
jimmys01 6ee79cfe14 arduJSON library update 2020-07-11 13:11:44 +03:00
Gijs Noorlander 9f0b066b93 [WiFi] Convert bit-wise operations to use bitSet/bitClear/bitRead 2020-07-09 21:37:54 +02:00
Gijs Noorlander 7ab9f9377d [WiFi] Add timeout to get out of incorrect WiFi.connected() state
The WiFi.connected() call sometimes returns `WL_DISCONNECTED` even though it is connected and serving web pages etc.

Added a timeout of 15 seconds to get out of this or else the WiFi state is reset to try again fresh.
2020-07-09 21:37:54 +02:00
Gijs Noorlander db869fcb19 [WiFi] Reduce wifi reset calls and call full wifi init at reset 2020-07-09 21:37:54 +02:00
TD-erandGitHub 30eb0bccb8 Merge pull request #3145 from TD-er/bugfix/3144_submitted
[Frontend] Only show "Submitted" message when pressing submit (#3144)
2020-07-09 21:36:46 +02:00
TD-erandGitHub ffb1f10c44 Merge pull request #3163 from TD-er/bugfix/syslog_crash
[Syslog] Fix crash with syslog enabled on wifi (re)connect (#3147 #3072)
2020-07-09 20:46:36 +02:00
TD-erandGitHub 241f21e777 Merge pull request #3162 from TD-er/bugfix/IR_TX_ArduinoIDE
[Arduino IDE] Fix build issues with P035_IRTX and some controllers
2020-07-09 20:31:08 +02:00
TD-erandGitHub 6d33ea4a9c Merge branch 'mega' into bugfix/3144_submitted 2020-07-09 20:30:29 +02:00
Gijs Noorlander e012de2a2c [Syslog] Fix crash with syslog enabled on wifi (re)connect (#3147 #3072)
It appeared the log handling function was sometimes processing flash strings or progmem strings and thus crashing with an exception.

Crashes like these:
```
 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

0x40275929 in String::operator=(char const*) at ??:?
0x4022cab9 in process_serialWriteBuffer() at ??:?
0x4023532b in addToSerialBuffer(char const*) at ??:?
0x402756a0 in String::copy(char const*, unsigned int) at ??:?
0x40238bd3 in addToLog(unsigned char, char const*) at ??:?
0x40275cac in String::concat(String const&) at ??:?
0x402b3849 in wifi_station_get_rssi at ??:?
0x402754bd in String::invalidate() at ??:?
0x40238c88 in addToLog(unsigned char, String const&) at ??:?
0x4025be2a in WiFiConnected() at ??:?
0x4025a500 in NetworkConnected() at ??:?
0x402cd8b0 in chip_v6_unset_chanfreq at ??:?
0x40238a9e in syslog(unsigned char, char const*) at ??:?
0x4021ebd3 in getMaxFreeBlock() at ??:?
0x4022cab9 in process_serialWriteBuffer() at ??:?
0x402754bd in String::invalidate() at ??:?
0x40238c25 in addToLog(unsigned12484 : Info  : EVENT: Clock#Time=Mon,11:27
```
2020-07-09 19:50:20 +02:00
Gijs Noorlander a7d517afd5 [Arduino IDE] Fix compile issues when selecting specific controllers 2020-07-09 16:22:22 +02:00
Gijs Noorlander 0a7dade612 [Arduino IDE] Fix build issue for P035_IRTX.ino 2020-07-09 15:08:21 +02:00
TD-erandGitHub 3657a1f203 Merge pull request #3151 from llevet/patch-2
P095 Plugin: Fix bug #3047
2020-07-07 22:38:44 +02:00
TD-erandGitHub db74836d5f Merge pull request #3154 from tonhuisman/bugfix/taskdisable
[TaskDisable] Bugfix for plugins without PLUGIN_EXIT implementation
2020-07-07 22:35:41 +02:00
TD-erandGitHub 5655e72064 Merge pull request #3152 from TD-er/bugfix/Build_ArduinoIDE
[Arduino IDE] Fix build issue with Arduino IDE
2020-07-07 22:34:35 +02:00
tonhuisman c49e7a85d4 [TaskDisable] Remove unneeded else & return 2020-07-06 21:06:38 +02:00
Gijs Noorlander b62c0004d1 [Arduino IDE] Make P076 compile again on Arduino IDE 2020-07-06 17:20:17 +02:00
tonhuisman e0fbf0e6be [TaskDisable] Improve readability of code after bugfix 2020-07-05 21:54:49 +02:00
tonhuisman 729c70afd6 [TaskDisable] Bugfix for plugins without PLUGIN_EXIT implementation 2020-07-05 20:48:37 +02:00
BesterquesterandGitHub 17cb8e4f0a Merge branch 'mega' into mega 2020-07-05 17:16:40 +02:00
Gijs Noorlander 703563914c Fix typo in filename for P044 data struct 2020-07-05 01:53:06 +02:00
Gijs Noorlander f97bd77c5d [Arduino IDE] Fix build issue with Arduino IDE 2020-07-05 01:02:29 +02:00
llevetandGitHub e696853928 P095 Plugin: Fix bug #3047
Part of patch from Chris-1965  who resolve the bug #3047 (P095 ILI9341 does interact with sending commands of other plugins)
2020-07-04 22:59:25 +02:00
llevetandGitHub 4f54dd7c95 Update _P095_ILI9341.ino
Corrected variable TS_CS in form
2020-07-04 20:11:52 +02:00
tonhuisman 02c2bdbfc7 [P008] Add option to convert value to 'hex' (#3068), and updated documentation 2020-07-04 18:22:22 +02:00
TD-erandGitHub 44707bd6c3 Merge branch 'mega' into bugfix/3144_submitted 2020-07-04 00:14:49 +02:00
Gijs Noorlander 67e729e4b5 [ESP32 ETH] Fix build issue due to recent changes 2020-07-03 15:19:35 +02:00
TD-erandGitHub 5ae9038982 Merge pull request #3139 from TD-er/bugfix/ModbusRTU_h_cpp
Convert code from .ino to .cpp/.h
2020-07-03 14:02:17 +02:00
Gijs Noorlander a513f97a03 [Frontend] Only show "Submitted" message when pressing submit (#3144)
See: #3144
2020-07-03 13:56:43 +02:00
TD-erandGitHub 18bd6f5692 Merge branch 'mega' into bugfix/ModbusRTU_h_cpp 2020-07-03 13:16:55 +02:00
TD-er 904f72bdc5 automatically updated release notes for mega-20200703 2020-07-03 13:15:58 +02:00
TD-erandGitHub 79a1352baa Merge branch 'mega' into mega 2020-07-03 12:12:14 +02:00
TD-erandGitHub 75b6412464 Merge branch 'mega' into mega 2020-07-03 12:11:42 +02:00
TD-erandGitHub cb0ff5a9c1 Merge pull request #3037 from tonhuisman/feature/apds_9960_parameters
[P064] Gesture - APDS-9960 plugin: Added switching plugin mode and se…
2020-07-03 12:10:55 +02:00
TD-erandGitHub 873ad51e2c Merge branch 'mega' into UweKaditz 2020-07-03 12:10:08 +02:00
TD-erandGitHub d907dcf9b0 Merge pull request #3137 from tonhuisman/feature/transformation_password2
[Transformation] Optimizations for Password transformation
2020-07-03 12:09:18 +02:00
TD-erandGitHub 70d41e5631 Merge pull request #3142 from pm-cz/mega-IP-fix
Fixed IP address range checking
2020-07-03 12:07:52 +02:00
TD-erandGitHub ac42e4fe9d Merge pull request #3143 from Beziu/mega
Update _P047_i2c-soil-moisture-sensor.ino
2020-07-03 12:07:29 +02:00
Grzegorz DziubakandGitHub 78fbe22c23 Merge branch 'mega' into mega 2020-07-03 11:23:07 +02:00
Pavel Moravec 3b147fc08e Fixed IP address range checking 2020-07-03 10:09:19 +02:00
Gijs Noorlander 7fba7f07eb Make delay queue macro a bit more logical 2020-07-01 09:15:02 +02:00
Gijs Noorlander 0e7e54c8f9 [Build] Fix build error for C018, due to removed forward declaration 2020-06-30 12:08:51 +02:00
Gijs Noorlander fac54d6e54 [Build] Fix missing include building ESP32 2020-06-30 10:33:03 +02:00
Gijs Noorlander 07efc9d078 Convert scheduler from .ino to .cpp/.h
Also converted:
- StringConverter.ino
- Scheduler.ino
- ESPEasyStorage.ino
- Hardware.ino
- ESPEasy_checks.ino
- Convert.ino


Plus some clean up of now made obsolete forward declarations in ESPEasy_fwddelcs.h
2020-06-30 00:10:52 +02:00
Gijs Noorlander a4b384fcae [Modbus RTU] Move Modbus code to .h/.cpp file to reduce size 2020-06-29 10:51:03 +02:00
TD-erandGitHub 0205d8d3ae Merge branch 'mega' into mega 2020-06-28 23:25:03 +02:00
TD-erandGitHub 2da0835893 Merge pull request #3132 from TD-er/bugfix/syslog_stackusage
[Syslog] Fix high stack usage for Syslog (#3128)
2020-06-28 23:17:53 +02:00
Gijs Noorlander ac129d128a [Documentation] Add documentation on the log settings. 2020-06-28 23:17:22 +02:00
Gijs Noorlander 1bfffd931b [Syslog] Fix high stack usage for Syslog (#3128)
Fixes: #3128
2020-06-28 20:00:21 +02:00
TD-erandGitHub 2ea6b4c426 Merge pull request #3138 from TD-er/bugfix/3113_rules_login
[Rules] Fix rules handling of set 2...4 when using admin login (#3113)
2020-06-28 19:51:13 +02:00
Gijs Noorlander db94b4c6fd [Rules] Fix rules handling of set 2...4 when using admin login (#3113)
Fixes #3113
2020-06-28 17:33:14 +02:00
tonhuisman 16318a74b1 [Transformation] Optimizations for Password transformation 2020-06-28 13:45:38 +02:00
TD-erandGitHub ce317f7207 Merge pull request #3134 from TD-er/bugfix/c011_advhttp_stack
[C011] Generic HTTP Advanced Reduce stack usage (#3123)
2020-06-27 16:43:08 +02:00
Chris-1965 e3588c71c9 Merge branch 'mega' of https://github.com/Chris-1965/ESPEasy into mega 2020-06-27 15:55:28 +02:00
Chris-1965 d84b8f0d56 platformio changed 2020-06-27 15:53:14 +02:00
Gijs Noorlander 81a870821c [Web interface] Fix bug in I2C address selector 2020-06-27 14:29:20 +02:00
Gijs Noorlander c1f21d1eba [Domoticz HTTP] Make sending slightly more efficient 2020-06-27 12:39:20 +02:00
Gijs Noorlander c978db2aef [Frontend] Use stringProvider on some more strings 2020-06-27 12:38:16 +02:00
Gijs Noorlander a6f029793f [Build] Allow building using SD support for special debug builds 2020-06-27 12:37:31 +02:00
Grzegorz Dziubak 65c138f97a Update _P047_i2c-soil-moisture-sensor.ino
added new version; tested on 0x26
2020-06-27 08:52:28 +02:00
Ton HuismanandGitHub 8e8edce5b0 Merge branch 'mega' into feature/apds_9960_parameters 2020-06-25 20:32:58 +02:00
Gijs Noorlander af86858495 [HTTP controller] Memory optimization, prevent copy queue element 2020-06-25 19:39:31 +02:00
Gijs Noorlander aa5634bf78 [Controller] Check success of controller settings allocation processing queue 2020-06-25 19:39:31 +02:00
Gijs Noorlander 93ad416834 [C011] Generic HTTP Advanced Reduce stack usage (#3123)
Fixes: #3123 

ControllerSettings and (large) struct for the controller config were active at the same time while it is not needed.

Also the host to send data to was connected twice, which may also lead to strange results.
2020-06-25 19:39:31 +02:00
TD-erandGitHub 775a961fe6 Merge pull request #3133 from TD-er/bugfix/stackusage_i2cformselector
addFormSelectorI2C Fix high stack usage (#3130)
2020-06-25 19:38:31 +02:00
Gijs Noorlander 53d6d5cc8a [build] Exclude function from build for minimal OTA 2020-06-25 11:40:25 +02:00
Gijs Noorlander 9362371552 [Build] Add LittleFS to lib_ignore 2020-06-25 11:39:39 +02:00
Gijs Noorlander e1640546a3 Minimize stack allocation in plugins 2020-06-25 11:38:43 +02:00
Gijs Noorlander 50b032881f addFormSelectorI2C Fix high stack usage (#3130)
Fixes: #3130
2020-06-24 13:37:17 +02:00
TD-erandGitHub f1b2f16d1c Merge pull request #3122 from TD-er/bugfix/memory_optimizatons
Reduce RAM usage considerably on controllers
2020-06-23 13:42:42 +02:00
TD-erandGitHub cd9edd6c6f Merge branch 'mega' into bugfix/memory_optimizatons 2020-06-23 12:05:54 +02:00
BesterquesterandGitHub 678d2ba561 Merge branch 'mega' into mega 2020-06-23 11:54:53 +02:00
Gijs Noorlander 586d956ab8 [Python] Update package versions in requirements.txt 2020-06-23 09:11:38 +02:00
TD-erandGitHub ec0db49820 Merge branch 'mega' into UweKaditz 2020-06-23 08:31:16 +02:00
Gijs Noorlander 41666156d6 [Web Frontend] Reduce stack usage on DST configuration 2020-06-23 00:57:43 +02:00
Gijs Noorlander 6408849967 [Blynk] Reduce stack usage on Blynk_get
There is still room for improvement as we still try to create the entire string in a fixed size buffer.
Maybe we can also send out the data in chunks?
Or determine the needed array size at runtime.
2020-06-23 00:56:57 +02:00
Gijs Noorlander 71dc108eda [P001 Switch] Reduce stack usage on PLUGIN_WEBFORM_LOAD 2020-06-23 00:55:05 +02:00
uwekaditz 3829892574 [P036] Fixed: display_indicator() crashed
BUG: MaxFramesToDisplay was not updated if all display lines were empty -> display_indicator() crashed due to memory overflow
CHG: MaxFramesToDisplay will be updated after receiving command with new line content
CHG: Added some checks if P036_data are valid and if P036_data->isInitialized()
2020-06-22 20:04:18 +02:00
Gijs Noorlander 2fe22afd3b Fix merge issue WiFiConnected changed to NetworkConnected 2020-06-22 15:50:00 +02:00
Gijs Noorlander b3574a7706 [MQTT import] Check if MakeControllerSettings failed due to out of RAM 2020-06-22 15:49:43 +02:00
Gijs Noorlander 21f0cb7fe9 [Controller] Check if MakeControllerSettings failed due to low RAM
Add checks to see if allocating the relative large ControllerSettingsStruct failed.
This can be caused by either running out of memory or when memory gets fragmented.
2020-06-22 15:49:43 +02:00
Gijs Noorlander 6fc8642e04 [MQTT] More efficient MQTT copy incoming messages 2020-06-22 15:49:43 +02:00
Gijs Noorlander 15af201bb9 [Controller] Cache needed controller info to reduce memory usage 2020-06-22 15:49:43 +02:00
Gijs Noorlander 33291eac11 [Cleanup] Try to use move constructor when adding to controller queue
Still to do: create a proper move operator for queue_element_single_value_base
2020-06-22 15:49:43 +02:00
Gijs Noorlander 08dc4a81df [Cleanup] Free ControllerSettings as soon as possible to free memory
Quote often the ControllerSettings are only used to get one or two values.
No need to keep this ~800 bytes large object allocated for more than absolutely needed.
2020-06-22 15:49:43 +02:00
Gijs Noorlander c03329228f [MQTT] Add function to check MQTT queue full state 2020-06-22 15:49:43 +02:00
Gijs Noorlander affd20418d [Controller] Check if controller host/IP is set before MQTT connect 2020-06-22 15:49:33 +02:00
Gijs Noorlander af48436770 [Controller] Memory optimization for sending SENSOR_TYPE_STRING
String was copied before sending to the MQTT publish.
Plus copied another time for the log if LOG_LEVEL_DEBUG was active.
2020-06-22 15:48:56 +02:00
Gijs Noorlander 124a9976b6 [PIO] Use espressif8266@2.5.2 with fixed esp8266_stack_decoder 2020-06-22 15:47:51 +02:00
Gijs Noorlander 094d1171b8 [Framed OLED] Add checks for display initialized 2020-06-22 15:09:06 +02:00
TD-erandGitHub d74821fc95 Merge branch 'mega' into feature/apds_9960_parameters 2020-06-22 14:06:09 +02:00
TD-erandGitHub 257826de8b Merge branch 'mega' into mega 2020-06-22 13:44:09 +02:00
TD-erandGitHub 03e76a7254 Merge branch 'mega' into UweKaditz 2020-06-22 13:40:13 +02:00
TD-erandGitHub 0384f8dbbe Merge branch 'mega' into mega 2020-06-22 13:38:55 +02:00
Gijs Noorlander 70ffd6bb4a [Build] Disable test_beta_ESP8266_4M1M for now as it is too big 2020-06-22 13:25:13 +02:00
TD-erandGitHub dbd5481980 Merge pull request #3040 from kretzp/feature/ethernet_or_wifi_support
Feature/ethernet or wifi support
2020-06-22 13:07:28 +02:00
TD-erandGitHub f8fe078343 Merge pull request #3120 from tonhuisman/feature/transformation_password
[Transformation] Add P/p (Password display)
2020-06-22 13:05:55 +02:00
TD-erandGitHub 701eac3f87 Merge branch 'mega' into feature/apds_9960_parameters 2020-06-22 13:03:19 +02:00
TD-erandGitHub 2dff2a48ad Merge pull request #3089 from fmuntean/ESP32_ARDUINO_OTA
ESP32: Disable Arduino OTA by default
2020-06-22 13:01:11 +02:00
Gijs Noorlander 6c396a7975 Merge remote-tracking branch 'fmuntean/ESP32_ARDUINO_OTA' into ESP32_ARDUINO_OTA 2020-06-22 12:03:04 +02:00
Gijs Noorlander 1b55ddc84a [ESP32] Only define FEATURE_ARDUINO_OTA in build config, not in .h files 2020-06-22 12:02:37 +02:00
TD-erandGitHub 8a5f89dc0b Merge branch 'mega' into ESP32_ARDUINO_OTA 2020-06-22 11:07:25 +02:00
tonhuisman 9a17df2aeb [Transformation] Add P/p (Password display) 2020-06-21 18:42:06 +02:00
BesterquesterandGitHub d740cb85a6 Merge branch 'mega' into mega 2020-06-21 13:39:45 +02:00
Chris-1965 0077375ce1 resolved a bug : commands other than tft were all sucussfull. Also the output log moved in else otherwise message appears for all commands 2020-06-21 13:37:10 +02:00
Peter KretzandGitHub b2581c1d83 Merge branch 'mega' into feature/ethernet_or_wifi_support 2020-06-18 12:45:44 +02:00
TD-erandGitHub 1ec8a56abd Merge pull request #3119 from tonhuisman/bugfix/taskdisable_3118
[Tasks] Call PLUGIN_INIT/PLUGIN_EXIT using TaskEnable/TaskDisable from rules
2020-06-18 12:17:59 +02:00
Ton HuismanandGitHub 1d70abb46f Merge branch 'mega' into bugfix/taskdisable_3118 2020-06-17 21:34:27 +02:00
tonhuisman 5b93121a20 [Tasks] Call PLUGIN_INIT/PLUGIN_EXIT using TaskEnable/TaskDisable from rules 2020-06-17 20:58:10 +02:00
Ton HuismanandGitHub 4b99a9c4fb Merge branch 'mega' into feature/apds_9960_parameters 2020-06-15 20:08:59 +02:00
uwekaditzandGitHub 27ca9e21e2 Merge branch 'mega' into UweKaditz 2020-06-15 14:37:32 +02:00
TD-erandGitHub 7524b8af89 Merge branch 'mega' into ESP32_ARDUINO_OTA 2020-06-13 10:53:32 +02:00
Peter KretzandGitHub 281a088c24 Merge pull request #1 from bccrew/patch-1
Change FormSubHeader to distinguish settings between IP of LAN or WiFi
2020-06-10 10:36:48 +02:00
bccrewandGitHub 58413c219b Change FormSubHeader to clarify difference between IP settings of LAN or WiFi 2020-06-09 20:41:21 +02:00
Peter Kretz 3d83696ae6 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/ethernet_or_wifi_support 2020-06-09 18:32:59 +02:00
Chris-1965 ec159e8865 changed fonts can disabled by define, font names instead of numbers 2020-06-09 15:25:13 +02:00
Chris-1965 6196f24559 new update 2020-06-09 12:10:28 +02:00
Chris-1965 db297b2af3 also in ino file -> docs adapted 2020-06-09 12:08:00 +02:00
Chris-1965 e8d3b63501 updated doc files 2020-06-09 11:59:17 +02:00
Chris-1965 6b7a461932 added cusrom-sample-h file to repository 2020-06-09 11:12:52 +02:00
Chris-1965 e02caaedc6 comment on pins added 2020-06-09 10:50:42 +02:00
Chris-1965 38060e32e4 chneged requested items from last pull request 2020-06-09 10:33:25 +02:00
Chris-1965 e771d49c48 Merge branch 'mega' of https://github.com/Chris-1965/ESPEasy into mega 2020-06-09 09:45:37 +02:00
Chris-1965 89ec530660 updated suggested requests 2020-06-09 09:45:25 +02:00
BesterquesterandGitHub 78aefa78d5 Merge branch 'mega' into mega 2020-06-09 08:09:30 +02:00
Chris-1965 572cade415 minor 2020-06-09 07:57:13 +02:00
Chris-1965 e1dff07c3c minor formatting 2020-06-09 07:54:32 +02:00
TD-er 7fa3ffa105 automatically updated release notes for mega-20200608 2020-06-08 22:51:44 +02:00
Chris-1965 f491366e7b Merge branch 'mega' of https://github.com/Chris-1965/ESPEasy into mega 2020-06-08 20:59:56 +02:00
Chris-1965 d70ef8135f Fonts usage added
added the use of seven segment font on the display. fonts must be available in the adafruitGFX/Fonts directory.
2020-06-08 20:57:58 +02:00
TD-erandGitHub 344accf61a Merge branch 'mega' into UweKaditz 2020-06-08 20:50:48 +02:00
Gijs Noorlander 92f01e6a26 [Build] Disable diagnostics in test/dev build to reduce build size 2020-06-08 20:49:13 +02:00
TD-erandGitHub 4403478e07 Merge pull request #3108 from TD-er/feature/EventValueSource
[Cleanup] Transform defines in EventValueSource into enum
2020-06-08 15:21:35 +02:00
TD-erandGitHub 8899c236f1 Merge pull request #3103 from TD-er/feature/GPS_traveled
[GPS] Add GPS#travelled=... event  (#3099)
2020-06-08 14:29:02 +02:00
TD-erandGitHub 4ba5b0c214 Merge branch 'mega' into UweKaditz 2020-06-08 14:25:55 +02:00
TD-erandGitHub cdf813287c Merge pull request #3107 from TD-er/update/esp32_core_pio1.12.2
Update/esp32 core pio1.12.2
2020-06-08 14:19:35 +02:00
Gijs Noorlander 94abb74c25 Transform defines in EventValueSource into enum 2020-06-08 14:17:06 +02:00
TD-erandGitHub f47fd87f4c Merge pull request #3091 from sakinit/P1WifiGateway-30cbb4c
P1 wifi gateway 30cbb4c
2020-06-08 13:42:29 +02:00
Gijs Noorlander ff6a918b7c [GPS] Add sanity check for reporting distance travelled event 2020-06-08 13:41:12 +02:00
TD-erandGitHub 71697fc5c1 Merge branch 'mega' into feature/GPS_traveled 2020-06-08 13:10:58 +02:00
Gijs Noorlander deb6128e26 [WiFi] Reduce excessive logs WIFI : Disconnected: WiFi.status()
Only report it when something has to be reported.
2020-06-08 13:05:10 +02:00
Gijs Noorlander 87c0136385 [PIO] Add exception_decoder as serial monitor filter 2020-06-08 13:03:49 +02:00
Gijs Noorlander b59bcee79b [ESP32] Update to platform-espressif32@1.12.2 2020-06-08 13:02:53 +02:00
TD-erandGitHub 3118f5d702 Merge pull request #3052 from TD-er/feature/deprecate_SPIFFS
[LittleFS] Make switching between SPIFFS and LittleFS easy to do
2020-06-08 13:00:24 +02:00
Gijs Noorlander 1d97bb91c8 [ESP32 build] Fix capitalization error in #include <esp_partition.h>
Linux checks for case sensitive file names, Windows doesn't.
2020-06-08 12:10:56 +02:00
Gijs Noorlander 25459bb4e5 [ESP32] Fix Disabling ARDUINO_OTA fails the build (#3083)
Fixes: #3083
2020-06-08 11:49:36 +02:00
Gijs Noorlander 4aeb762634 [Notifiers] switch from NOTIFIER_SET_NONE to USES_NOTIFIER in code
`NOTIFIER_SET_NONE` should only be used for not adding default selection of plugins.
The positive define (USES_NOTIFIER) should be used in the code to determine whether the notifier page should be displayed.  (and included in the code)
2020-06-08 11:19:06 +02:00
Gijs Noorlander fe3b1e73a2 Merge remote-tracking branch 'origin/feature/deprecate_SPIFFS' into feature/deprecate_SPIFFS 2020-06-08 10:46:07 +02:00
Gijs Noorlander e633cf81b2 [Notifications] Show notification tab when notifiers set via Custom.h 2020-06-08 10:45:59 +02:00
TD-erandGitHub f7f592e84b Merge branch 'mega' into feature/GPS_traveled 2020-06-08 10:03:08 +02:00
TD-erandGitHub 997dfccd61 Merge branch 'mega' into feature/deprecate_SPIFFS 2020-06-08 08:51:51 +02:00
Gijs Noorlander 4b756a5b35 [Build] Limit build size (no diagnostics) for test_beta_ESP8266_4M1M 2020-06-07 12:25:53 +02:00
TD-erandGitHub 7a353b1278 Merge pull request #3104 from TD-er/issue/3100_extend_custombuild
[Build] Add ina219 and mpu6050 to custom build (#3100)
2020-06-07 02:41:44 +02:00
Gijs Noorlander 5a5045c299 [Commands] Split commands.ino to .h/.cpp to overcome build/link issues 2020-06-07 02:39:35 +02:00
Gijs Noorlander 73df4a8295 [Build] Disabling timing stats results in build errors for ESP32
Still something that needs to be investigated further.
Probably something related to how .ino files (Webserver code) are compiled
2020-06-07 00:43:45 +02:00
TD-erandGitHub efde7af5ea Merge branch 'mega' into feature/GPS_traveled 2020-06-06 20:20:37 +02:00
TD-erandGitHub d4464b55cf Merge branch 'mega' into P1WifiGateway-30cbb4c 2020-06-06 20:19:30 +02:00
Gijs Noorlander ea7713dd79 [Build] Disable diagnostics code for test_ESP8266_4M1M_VCC to fit size 2020-06-06 20:18:02 +02:00
TD-erandGitHub 15c34eea02 Merge pull request #3007 from denisfrench/connect_msg_lwt_settings
[MQTT] Connect message honors LWT settings (#3006)
2020-06-06 17:12:11 +02:00
TD-erandGitHub 193d4c9217 Merge branch 'mega' into feature/deprecate_SPIFFS 2020-06-06 16:57:23 +02:00
TD-erandGitHub 158d7aa50a Merge branch 'mega' into issue/3100_extend_custombuild 2020-06-06 16:54:17 +02:00
Gijs Noorlander ac3c46c227 [Build] Add ina219 and mpu6050 to custom build (#3100)
Fixes: #3100
2020-06-06 16:53:46 +02:00
TD-erandGitHub e029b9cb76 Merge pull request #3102 from TD-er/bugfix/Vagrant_build
[Vagrant] Fix building issues with Python 3.8 on Vagrant
2020-06-06 16:40:34 +02:00
Gijs Noorlander b0a7825a2e [GPS] Add GPS#travelled=... event (#3099)
Fixes: #3099
2020-06-06 16:17:54 +02:00
TD-erandGitHub 6a7fde52d1 Merge pull request #3008 from uzi18/rfid_events
rfid events update for P008/P017/P040, plus send event after log line, #2982 #3002
2020-06-06 15:58:49 +02:00
TD-erandGitHub 0daff9aba9 Merge branch 'mega' into ESP32_ARDUINO_OTA 2020-06-06 15:58:06 +02:00
TD-erandGitHub 9cf7cc6a73 Merge branch 'mega' into connect_msg_lwt_settings 2020-06-06 15:56:56 +02:00
TD-erandGitHub f918e3fe7c Merge branch 'mega' into feature/deprecate_SPIFFS 2020-06-06 15:55:30 +02:00
TD-erandGitHub df35054c12 Merge pull request #3096 from letscontrolit/bugfix/cplugin_init_all
[Bug] ControllerIndex not set when calling CPLUGIN calls
2020-06-06 15:52:33 +02:00
TD-erandGitHub c95bd7c831 Merge pull request #3090 from tonhuisman/feature/rules_page
[Rules page] Add RTD help button and fix page layout issue ('Old Engi…
2020-06-06 15:50:36 +02:00
TD-erandGitHub bb17cb8487 Merge branch 'mega' into P1WifiGateway-30cbb4c 2020-06-06 15:49:48 +02:00
Gijs Noorlander 39a10b0741 [Build] Fix Python 3.8 build when no .git dir or pygit2 not installed 2020-06-06 15:37:06 +02:00
Gijs Noorlander 6a8156e854 [Travis] Fix deploy multiple ZIP files + split ESP82xx and ESP32 files 2020-06-06 14:37:39 +02:00
Gijs Noorlander fd35ce7bf3 [Notifications] Make sure all custom defines are set at compile time 2020-06-06 13:58:39 +02:00
Gijs Noorlander 7cd26bdf90 [Vagrant] Fix vagrant build installing all required Python packages 2020-06-06 13:41:02 +02:00
Gijs Noorlander d485a5b785 [PIO] Hide deprecated warning for SPIFFS 2020-06-06 12:43:54 +02:00
TD-erandGitHub f96c8ee980 Merge pull request #3097 from workgroupengineering/bugfix/cron_parse_uint
Fix  ccronexpr parse_uint
2020-06-03 20:53:47 +02:00
Saverio Cisternino 5eb94adedc Fix parse_uint ref https://github.com/staticlibs/ccronexpr/pull/30 2020-06-03 17:48:13 +02:00
TD-erandGitHub 268c259f1b Merge pull request #3094 from tonhuisman/feature/value_formattings
[Transformation] Add L/l and c transformations (LEFT/RIGHT, L/R and OPEN/CLOSED)
2020-06-02 21:20:43 +02:00
Peter Kretz c01e8fdfc9 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/ethernet_or_wifi_support 2020-05-31 22:54:43 +02:00
TD-erandGitHub 4c7e1b9926 [Bug] ControllerIndex not set when calling CPLUGIN calls
As reported by @sakinit
2020-05-31 21:40:35 +02:00
Ton HuismanandGitHub dd252ff17d Merge branch 'mega' into feature/value_formattings 2020-05-31 15:21:20 +02:00
TD-erandGitHub d82163a98a Merge pull request #3095 from tonhuisman/feature/3093_elsif_documentation
[Docs] Describe 'elseif' with some examples
2020-05-31 15:08:08 +02:00
Ton HuismanandGitHub 28f1fcec8f Merge branch 'mega' into feature/3093_elsif_documentation 2020-05-31 14:16:24 +02:00
tonhuisman f0597082a5 [Docs] Describe 'elseif' with some examples 2020-05-31 14:14:38 +02:00
tonhuisman 4ba9e2575e [Justifications] Added u/l for upper/lowercasing the value, removed dash-check from C justificaion 2020-05-31 13:07:26 +02:00
tonhuisman a7a09b2917 [Justifications] Add 'C' (Capitalize, OPEN -> Open) option 2020-05-31 11:51:23 +02:00
tonhuisman 209f9da365 Merge branch 'feature/value_formattings' of https://github.com/tonhuisman/ESPEasy-1 into feature/value_formattings 2020-05-31 10:33:10 +02:00
tonhuisman 700e6babd6 [Transformations] Adjusted R/r to L/l and added c 2020-05-31 10:31:31 +02:00
sakinit c4182026e8 Update based on review comments 2020-05-30 16:41:24 +02:00
sakinit e96c3772e8 Discard data received from WiFi client due to review comment 2020-05-30 14:47:18 +02:00
sakinit a65d1a6c51 Add sanity checks based on review comments 2020-05-30 14:20:12 +02:00
TD-erandGitHub 12b7a005f8 Merge branch 'mega' into feature/value_formattings 2020-05-30 10:01:43 +02:00
tonhuisman fdc6ce70d2 [Transformation] Add R/r transformations (LEFT/RIGHT and L/R) 2020-05-29 20:01:32 +02:00
sakinit d7a91aba60 Update due to review comments 2020-05-29 18:57:19 +02:00
sakinit 6fcd00252f Optimize serial in duration 2020-05-29 14:10:50 +02:00
sakinit 6a79dbe0da Fix ESP32 reboot cause at boot/setup 2020-05-29 08:34:24 +02:00
sakinit 5d8f6f4924 Optimize serial reading algorithm and move client from plugin into task 2020-05-29 08:33:52 +02:00
sakinit 86de58403e Restart P1WifiGateway if webserver start failed
Needed for ESP32 as the WiFiServer needs to time-out before it can
reuse the address as its platform implementation does not use REUSEADDR
2020-05-29 08:32:17 +02:00
sakinit 7d877accba Use ESPeasySerial 2020-05-29 08:32:07 +02:00
uwekaditz 794c40ea7c Merge tag 'mega-20200515' into UweKaditz 2020-05-25 11:59:22 +02:00
Peter Kretz da09f9e1bf Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/ethernet_or_wifi_support 2020-05-24 09:33:46 +02:00
TD-erandGitHub 9fe0bccc78 Merge pull request #3053 from uzi18/webserver_port
Webserver port + P2P information exchange
2020-05-23 23:36:33 +02:00
sakinit 87570b676a Remove temporary comments 2020-05-23 22:35:32 +02:00
sakinit f46b260414 Fix P1WifiGateway webserver start
When the plugin task data is initialized, the execution order is:
 - construct new data (and previously: start webserver)
 - destroy existing data
As the webserver is stopped at destruction of the existing data,
start the webserver after the existing data is destroyed ( and no
longer at construction).
2020-05-23 20:46:03 +02:00
sakinit e055f401da Fix the serial reading algorithm
The serial data reading algorithm is 'reverted' to commit 1de1350 to
handle the parsing results within reading loop again.
E.g. the 'start detected' error is logged again.
2020-05-23 19:48:09 +02:00
sakinit 792656938b Fix the datagram check to be able to send valid messages again
Tested for DSMR version 4, CRC on, with Domoticz as client
2020-05-23 19:47:36 +02:00
sakinit f4589662c0 Cherry-pick relevant P1WifiGateway updates since 30cbb4c
Cherry-picked from commits 591988c, 5fe5121, 9c384ee, 1de1350
2020-05-23 19:46:56 +02:00
sakinit e25fd0551c Revert P1WifiGateway to 30cbb4c to bugfix this more generic code 2020-05-23 19:46:28 +02:00
Gijs Noorlander 717ff99524 [PIO] Move to esp8266/Arduino core 2.7.1 2020-05-23 16:47:08 +02:00
Gijs Noorlander c36f4d250d [Build] Fix merge error 2020-05-23 16:45:06 +02:00
Ton HuismanandGitHub b73b077ea9 Merge branch 'mega' into feature/rules_page 2020-05-23 14:57:35 +02:00
tonhuisman 749c335bf1 [Rules page] Add RTD help button and fix page layout issue ('Old Engine') 2020-05-23 14:42:16 +02:00
Florin dbb5522f30 Disable Arduino OTA by default for ESP32 2020-05-23 00:35:07 -04:00
TD-erandGitHub dcfc3b2462 Merge branch 'mega' into webserver_port 2020-05-22 16:36:47 +02:00
TD-erandGitHub 516358be2c Merge branch 'mega' into feature/ethernet_or_wifi_support 2020-05-22 13:32:50 +02:00
TD-erandGitHub 129db32427 Merge pull request #3086 from fmuntean/NOTIFIER_SET_NONE
Clean up code and variables when NOTIFIER_SET_NONE is defined.
2020-05-22 13:15:46 +02:00
TD-erandGitHub e3bc9b2888 Merge pull request #3087 from fmuntean/ESP32_SPI
ESP32: Allow to select one of the two available SPI ports
2020-05-22 10:19:45 +02:00
TD-erandGitHub 65ecd4f164 Merge pull request #3088 from fmuntean/TimeOffset
Fix for allowing negative timeOffset from UTC in constructor
2020-05-22 10:19:27 +02:00
TD-erandGitHub 5aa9307b5d Merge branch 'mega' into NOTIFIER_SET_NONE 2020-05-22 10:18:55 +02:00
TD-erandGitHub 4aeec07180 Merge pull request #3085 from fmuntean/DEFAULT_LAT_LONG
Allow to set the Latitude and longitude
2020-05-22 10:18:35 +02:00
TD-erandGitHub 6aaed3cfb3 Merge pull request #3063 from sakinit/Fix-ESP32-undefined-pin-initialisation
Fix ESP32 undefined pin initialisation
2020-05-22 10:18:14 +02:00
TD-erandGitHub 2765225905 Merge pull request #3062 from sakinit/Fix-ESP32-Webbrowser-Rules-page
Show for ESP32 also the first rule on the webserver rules page
2020-05-22 10:17:49 +02:00
TD-erandGitHub ccce3a9bab Merge pull request #3084 from fmuntean/ESP32_TONE
Adding buzzer capabilities back to ESP32.
2020-05-22 10:17:22 +02:00
Ton HuismanandGitHub 535879f2ec Merge branch 'mega' into feature/apds_9960_parameters 2020-05-22 08:49:56 +02:00
Florin 9e4c518d6f rename the tone to toneESP32 to be more specific 2020-05-21 22:22:56 -04:00
TD-erandGitHub 2fe82840a6 Merge branch 'mega' into Fix-ESP32-undefined-pin-initialisation 2020-05-21 23:27:32 +02:00
TD-erandGitHub 46fb0ae056 Merge branch 'mega' into feature/deprecate_SPIFFS 2020-05-21 23:23:51 +02:00
TD-erandGitHub 962a25a70e Merge pull request #3060 from TD-er/bugfix/ESP32_serialport_selection
[ESPEasySerial] Update to v2.0.3 adding I2C UART to ESP32 + fix ESP32
2020-05-21 23:23:27 +02:00
TD-erandGitHub 992a3e4218 Merge branch 'mega' into Fix-ESP32-Webbrowser-Rules-page 2020-05-21 23:22:23 +02:00
TD-erandGitHub b0452df6cb Merge pull request #3076 from jimmys01/Ir-updates
[IR] Update Library
2020-05-21 23:21:24 +02:00
TD-erandGitHub e16df36571 Merge branch 'mega' into DEFAULT_LAT_LONG 2020-05-21 23:04:54 +02:00
TD-erandGitHub 267db2b94e Merge pull request #2956 from mobrembski/feature/add_raw_value_http
Added /raw endpoint which gives an easy access to raw value of sensor
2020-05-21 22:28:36 +02:00
Florin 90dc0386b9 Fix for allowing negative timeOffset from UTC in constructor 2020-05-21 00:53:29 -04:00
Florin 61eab3ec74 Merge branch 'NOTIFIER_SET_NONE' of github.com:fmuntean/ESPEasy into NOTIFIER_SET_NONE 2020-05-20 23:55:15 -04:00
Florin d8d2296c01 clean up code and variables when NOTIFIER_SET_NONE is defined. 2020-05-20 23:53:38 -04:00
Florin f33736b60f ESP32: Allow to select one of the two available SPI ports 2020-05-20 23:46:44 -04:00
Florin 45504c8f55 clean up code and variables when NOTIFIER_SET_NONE is defined. 2020-05-20 22:23:56 -04:00
Florin f952489f2d Allow to set the Latitude and longitude when resetting the firmware from custom.h or using the build_flags 2020-05-20 22:15:27 -04:00
Florin 6675d0b2d0 Adding buzzer capabilities back to ESP32. 2020-05-20 20:26:38 -04:00
Michał ObrembskiandMichał Obrembski a6616d4c4f Removed usage of String.clear()
It is not available in minimal_core_242_ESP8266_1M_OTA env
2020-05-19 13:39:27 +02:00
Michał ObrembskiandMichał Obrembski 0e03e2fda8 Renamed RAW to CSV, added printing of header 2020-05-19 10:19:16 +02:00
Michał ObrembskiandMichał Obrembski e2161521ae Fixed invalid check of valnr validity in CSV output mode 2020-05-19 10:19:16 +02:00
Michał ObrembskiandMichał Obrembski 60ddda946e Changed format of RAW to CSV, added ability to filter values 2020-05-19 10:19:16 +02:00
Michał ObrembskiandMichał Obrembski a33fef3974 Added /raw endpoint which gives an easy access to raw value of sensor
This will give you ability to get easy-parseable values for small embedded devices results
using only simple busybox tools such as awk or sed.
2020-05-19 10:19:16 +02:00
Ton HuismanandGitHub ff857ae97f Merge branch 'mega' into feature/apds_9960_parameters 2020-05-18 21:12:25 +02:00
jimmys01 6b6d65a38a [IR] Update Library 2020-05-18 20:44:43 +03:00
TD-er 241a3aeda0 automatically updated release notes for mega-20200515 2020-05-15 23:10:38 +02:00
Bartłomiej ZimońandGitHub 6a028c3e42 Merge branch 'mega' into webserver_port 2020-05-12 22:52:02 +02:00
uwekaditz fc33911c9f [P036] clearing window for scrolling lines was 1pix too large in y direction
CHG: clearing window for scrolling lines was 1pix too large in y direction
CHG: font settings for 64x48 updated
2020-05-11 18:50:36 +02:00
sakinit 9faeaf236c Don't repeat the last rule on the next webserver page 2020-05-10 16:31:48 +02:00
sakinit 4c65136cb0 Fix ESP32 undefined pin initialisation 2020-05-10 14:07:47 +02:00
sakinit 58366e5e6d Show for ESP32 also the first rule on the webserver rules page
Also mimic the behaviour of the ESP8266 implementation showing 26 rules
on a page duplicating the last rule as the first one on the next page.
2020-05-09 23:43:12 +02:00
Gijs Noorlander c320adef9c [ESPEasySerial] Update to v2.0.3 adding I2C UART to ESP32 + fix bug ESP32 2020-05-09 00:58:27 +02:00
Bartlomiej Zimon c32d82cc95 P2P: respect also build number in condition 2020-05-06 21:29:20 +00:00
Peter Kretz ca034db1ad - Error in Network Name fpr WiFi fixed
- logging improvements
2020-05-06 21:27:22 +02:00
uwekaditzandGitHub d7d4c32ba0 Merge branch 'mega' into UweKaditz 2020-05-06 21:06:12 +02:00
Peter Kretz 47fea79c24 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/ethernet_or_wifi_support
- Adaption from PullRequest #3055 to Ethernet: needsWiFi --> needsNetwork
2020-05-06 19:35:33 +02:00
TD-erandGitHub f222544a2f Merge branch 'mega' into mega 2020-05-06 16:20:24 +02:00
TD-erandGitHub d42d8daba3 Merge branch 'mega' into feature/deprecate_SPIFFS 2020-05-06 16:19:58 +02:00
TD-erandGitHub 586959fb71 Merge branch 'mega' into connect_msg_lwt_settings 2020-05-06 16:19:36 +02:00
TD-erandGitHub dd4ac70c11 Merge pull request #3055 from TD-er/bugfix/RN2483_send_without_wifi
[RN2483] Controller should also send to TTN when not connected to WiFi
2020-05-06 16:09:10 +02:00
Gijs Noorlander 75261097ba [RN2483] Controller should also send to TTN when not connected to WiFi 2020-05-06 11:52:07 +02:00
Bartlomiej Zimon f7e4867157 MDNS - send service with actual webserver port 2020-05-06 00:54:16 +00:00
Bartlomiej Zimon 6c3a687a22 Webserver port setting - add reboot note 2020-05-06 00:53:31 +00:00
uwekaditz 844183025c [P036] re-schedule Settings.TaskDeviceTimer after JumpToPage
CHG: re-schedule Settings.TaskDeviceTimer after JumpToPage to avoid any scheduled page change while jumping to pages
CHG: correct calculation of the page indicator counts
2020-05-05 22:11:55 +02:00
Ton HuismanandGitHub 8ecc28ff82 Merge branch 'mega' into feature/apds_9960_parameters 2020-05-05 09:23:55 +02:00
Bartlomiej Zimon 6730106bc0 Webserver - increase BUILD number and set default value for port number 2020-05-05 01:14:22 +00:00
Bartlomiej Zimon 8b71f68abc p2p infopacket - use low/highByte 2020-05-05 00:32:30 +00:00
Bartlomiej Zimon 6e4683b712 NodeStruct: init webgui_portnumber value 2020-05-04 23:49:48 +00:00
Bartlomiej Zimon b6069c3ee5 P2P: send and receive webserver port number, add port to link on rootpage #2252 2020-05-04 22:59:40 +00:00
Bartlomiej Zimon e2da5c26dd Webserver - add port number setting into Advanced options, resolves #3031 and #573 2020-05-04 22:48:39 +00:00
Gijs Noorlander 2faf88fd23 [LittleFS] Make switching between SPIFFS and LittleFS easy to do
Just add "_LittleFS" to the PIO env label and it will compile with LittleFS instead of SPIFFS.

First impression:
- Load speed of web page is just WOW! (average 170 msec)
- Saving settings is terribly slow (1...2 seconds)
2020-05-05 00:40:41 +02:00
Peter Kretz fac68514ac Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/ethernet_or_wifi_support
Conflicts resolved
2020-05-04 21:54:25 +02:00
uwekaditz 106be9348e [P036] merged with Tonis PR #3026
CHG merged with Tonis PR #3026
CHG: Jump to any page (Display button or command) is always without page scrolling
CHG: Jump to next page (Display button) is not allowed while page scrolling is running
2020-05-04 21:28:24 +02:00
uwekaditz 794d5f9b8b Merge branch 'UweKaditz' of https://github.com/uwekaditz/ESPEasy into UweKaditz 2020-05-04 19:16:35 +02:00
uwekaditz cf7f78a5b0 Merge remote-tracking branch 'upstream/mega' into UweKaditz 2020-05-04 19:12:23 +02:00
TD-erandGitHub a572fa3fde Merge pull request #3048 from TD-er/feature/PIO_generate_defines
[PIO] Generate filename at build, not in post processing
2020-05-04 18:52:28 +02:00
Gijs Noorlander 41d9db797a [Docs] Describe files in nightly builds 2020-05-04 18:09:00 +02:00
Gijs Noorlander 180af6a674 [PIO] Upgrade to platformio / platform-espressif8266 @2.5.0 2020-05-04 18:08:16 +02:00
uwekaditz cb945a5f89 [P036] temporary pointer to P036_data_struct was not deleted
BUG: temporary pointer to P036_data_struct was not deleted in PLUGIN_WEBFORM_LOAD
CHG: PLUGIN_WEBFORM_SAVE does not use a temporary pointer to P036_data_struct
CHG: Comments
2020-05-04 18:00:16 +02:00
Gijs Noorlander f7c5f0e88a [Shelly PLUG-S] Add template + build definition for Shelly PLUG-S
As mentioned a few times on the forum.
[one topic](https://www.letscontrolit.com/forum/viewtopic.php?f=5&t=7699)
2020-05-04 16:48:23 +02:00
Gijs Noorlander 932ffa9adb [Vagrant] Show Vagrant build as build origin on sysinfo page 2020-05-04 15:27:34 +02:00
Gijs Noorlander 8bf79a60f4 [Vagrant] Fix issue where update fails due to Grub interactive update 2020-05-04 15:18:28 +02:00
Gijs Noorlander 6182dd62ed [PIO] Add missing parts in the included source dir in the build ZIP file 2020-05-04 14:35:38 +02:00
Gijs Noorlander e47511c1a8 [PIO] Zip docs dir recursive 2020-05-04 00:52:00 +02:00
Gijs Noorlander 6253e4b2f4 [PIO] Split zip files in before_deploy
Split into a standard one containing the build, one for docs and one for .elf files and rejected files.
2020-05-04 00:44:32 +02:00
Gijs Noorlander c6a3da1785 [PIO] Adopt deploy scripts to new situation where Python scripts do all 2020-05-04 00:32:53 +02:00
Gijs Noorlander 568cf00f93 [PIO] Compare build sizes when copying the build files. 2020-05-04 00:31:55 +02:00
Gijs Noorlander 1dd23fb9cd [PIO] Update docs/requirements.txt 2020-05-04 00:31:04 +02:00
uwekaditzandGitHub a3d6d2d13d Merge branch 'mega' into UweKaditz 2020-05-03 23:46:55 +02:00
uwekaditz 061fe5a0a2 [P036] Memory optimization (issue #2799)
CHG: Memory optimization (issue #2799)
CHG: Added setting for 'Disable scrolling while WiFi is not connected', scrolling is not smooth as long as the ESP tries to connect Wifi (Load 100%!)
BUG: Wifi-Bars not fully right for 128 pixel wide displays
BUG: clearing window for scrolling lines was too high and to narrow
BUG: content of lines with pixel width > 255 had to be shortened
CHG: scrolling lines improved
CHG: variables renamed for better understanding
2020-05-03 23:30:41 +02:00
Peter Kretz 95609364ef Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/ethernet_or_wifi_support 2020-05-03 21:09:07 +02:00
Gijs Noorlander ea77edd48d [PIO] Include PlatformIO env dump in build output for diagnostics 2020-05-03 20:17:08 +02:00
Gijs Noorlander 0c7d0969ac [PIO] GZip and copy files to build_output directory 2020-05-03 18:34:53 +02:00
Gijs Noorlander ad0d775f65 [PIO] Use Python 3.8 on Vagrant/Ubuntu builds 2020-05-03 14:11:14 +02:00
Gijs Noorlander 35939785e2 [PIO] Relax PlatformIO version in requirements.txt to >= 4.3.3 2020-05-03 13:13:15 +02:00
Gijs Noorlander fa425224d0 [PIO] Updated packages in Python 3.8 requirements.txt list
Updated all packages we use to their latest version.

At least the latest Sphinx does seem to squish the documentation a bit, so we may need to update the template of our documentation.
2020-05-03 13:09:08 +02:00
Gijs Noorlander 3d3c3d5fe4 [PIO] Python 3.8 requirements.txt list
The pip freeze I used on my Windows PC to build
2020-05-03 13:07:40 +02:00
Gijs Noorlander 54a4e29016 [PIO] Move build environment to Python 3.8 as 2.7 is no longer supported 2020-05-03 12:53:08 +02:00
Gijs Noorlander 3be16b2186 [PIO] Add Git branch description to build info 2020-05-03 12:22:47 +02:00
Gijs Noorlander da27bfd13c [PIO] Final fix for proper quote level per OS + store build platform 2020-05-03 11:50:14 +02:00
Ton HuismanandGitHub c11235a494 Merge branch 'mega' into feature/apds_9960_parameters 2020-05-03 11:40:54 +02:00
Gijs Noorlander f05be9569f [PIO] Fix Windows/Linux detection in number of quote levels 2020-05-03 11:07:10 +02:00
Gijs Noorlander 3a62514576 [PIO] Attempt to fix missing quote level in Linux 2020-05-03 02:00:05 +02:00
Gijs Noorlander 2afbd0f3ee [PIO] Fix showing binary file name in sysinfo page 2020-05-03 01:45:15 +02:00
Gijs Noorlander 784404792c [PIO] Generate filename at build, not in post processing
Generate filename, included in the build
Use post Python scripts to move files to the right directory
Use post Python scripts to generate .bin.gz files.
2020-05-03 01:05:20 +02:00
TD-erandGitHub 9538a7198a Merge pull request #3042 from TD-er/bugfix/PVS_studio_issues
[Bugfix] PVS Studio issues
2020-05-02 16:11:05 +02:00
Gijs Noorlander 9016e37fbe [Build] Rename PIO environments referring core_263 to core_270 2020-05-02 15:28:37 +02:00
Gijs Noorlander b42672adb1 [Build] Add custom_beta_1M build
Beta:
- Core stage
- `PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105`

Regular:
- Released core
- `PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703`
2020-05-02 14:50:37 +02:00
Gijs Noorlander 4260efb3bd [Core 2.7.0] Switch to esp8266/Arduino 2.7.0 2020-05-02 14:47:57 +02:00
Gijs Noorlander 2704214f51 [ILI9341] Fix build error when building for 1M units 2020-05-02 14:46:37 +02:00
TD-erandGitHub 73ff639f8c Merge pull request #3043 from sakinit/Fix-ESP32-build-without-P001
Fix ESP32 build if P001 is not included
2020-05-01 22:29:36 +02:00
sakinit 75b7556d90 Fix ESP32 build if P001 is not included 2020-05-01 16:29:51 +02:00
Peter Kretz b0577f3447 _P124_Atlas_EZO_pH.ino and _P222_Atlas_EZO_ORP.ino deleted since ther are not in ESPEasy but in Playground. There is another Issu, to put them in ESPEasy mega 2020-05-01 13:43:47 +02:00
Peter Kretz efebcc8d01 removede personal upload flags 2020-04-30 21:27:12 +02:00
Peter Kretz d6a14cf9a5 Merge branch 'feature/ethernet_or_wifi_support' of https://github.com/kretzp/ESPEasy into feature/ethernet_or_wifi_support 2020-04-30 21:24:42 +02:00
Peter Kretz 7f1b359c31 addFormNote(F("Be aware with ESPEasyP2P Network, since IP Address will change. There could be conflicts.")); not used anymore because P2P UDP works good 2020-04-30 21:24:20 +02:00
Peter Kretz d326264c37 Check changed as requested by TD-er 2020-04-30 11:26:05 +02:00
Gijs Noorlander 64f15fb0c7 [PVS-Studio] Use correct array index in Plugin_Helper_serial.ino
May have been out of bound error on ESP32.
2020-04-30 01:08:41 +02:00
Gijs Noorlander 58c4a0c403 [PVS-Studio] Remove unused variable in SenseAir plugin 2020-04-30 01:07:38 +02:00
Gijs Noorlander d60e8dfcc1 [PVS-Studio] Use implicit cast to float in scheduler idle time stats 2020-04-30 01:07:07 +02:00
Gijs Noorlander 2e1366bf93 [PVS-Studio] Merge duplicate case statements 2020-04-30 01:05:25 +02:00
Gijs Noorlander a0af39cf10 [PVS-studio] Suppress char out of range warning in static data 2020-04-30 01:04:02 +02:00
Gijs Noorlander 875459f26b [PVS-studio] Fix possible out of range array access 2020-04-30 01:03:16 +02:00
Gijs Noorlander 0455d47744 [PVS-Studio] Fix 'dangerous' macro by using braces. 2020-04-30 01:02:08 +02:00
Gijs Noorlander 62679022cb [PVS-Studio] Suppress char out of range warning in static data 2020-04-30 01:01:20 +02:00
Gijs Noorlander 8907d5544e [PVS Studio] Framed OLED: Simplify check for turning on display
An excessive check can be simplified. The '(A && !B) || (!A && B)' expression is equivalent to the 'bool(A) != bool(B)' expression.
2020-04-29 23:46:47 +02:00
Gijs Noorlander 000399ba86 [PVS-Studio] SSDP Specify printf format
[CWE-134](https://cwe.mitre.org/data/definitions/134.html?utm_source=platformio&utm_medium=piohome):It's dangerous to call the 'printf' function in such a manner, as the line being passed could contain format specification. The example of the safe code: printf("%s", str);
2020-04-29 22:53:02 +02:00
Gijs Noorlander 703a344cc9 [PVS-Studio] ESPEasy p2p incorrect check for binary data
[CWE-571](https://cwe.mitre.org/data/definitions/571.html?utm_source=platformio&utm_medium=piohome):Expression 'packetBuffer[0] != 255' is always true. The value range of char type: [-128, 127].
2020-04-29 22:49:14 +02:00
Peter Kretz 0a2896a0f3 This String function is not needed, because there is a
ETH.macAddress()
which returns a String.
I changed it to the byte version of the function and now
uint8_t * NetworkMacAddressAsBytes(uint8_t* mac)
returns either this in Ethernet mode or
WiFi.macAddress(mac)
in Wifi mode.
2020-04-29 22:12:09 +02:00
Gijs Noorlander fffb5facde [PVS-Studio] CWE-1164:The 'note' variable was assigned the same value. 2020-04-29 22:08:27 +02:00
Gijs Noorlander 832e6e37ef [PVS-Studio] Redundant check in rules conditionMatchExtended
[CWE-571](https://cwe.mitre.org/data/definitions/571.html?utm_source=platformio&utm_medium=piohome):A part of conditional expression is always true: (condOr < condAnd).
2020-04-29 21:53:52 +02:00
Gijs Noorlander 99517ba012 [PVS-Studio] File info struct in webserver rules not all initialized 2020-04-29 21:48:44 +02:00
Gijs Noorlander cc092cfad7 [PVS-Studio] Error log in rules not complete 2020-04-29 21:47:50 +02:00
Gijs Noorlander ec136c7263 [PVS-Studio] FrasmedOLED display pointer dereference before check !NULL 2020-04-29 21:44:01 +02:00
Gijs Noorlander 710eb7d3fc [PVS-Studio] Missing break; in switch statement (C018 RN2483 TTN) 2020-04-29 21:42:48 +02:00
Gijs Noorlander 5ba0dc4608 [PVS-Studio] Not all members of a class are initialized 2020-04-29 21:41:55 +02:00
Gijs Noorlander ff4c9a20e9 [PVS-Studio] EventStruct has no operator= 2020-04-29 21:41:07 +02:00
Gijs Noorlander abf6ffd292 [PVS-Studio] sizeof(Device) -> Device.size()
The 'sizeof (Device)' expression returns the size of the container type, not the number of elements. Consider using the 'size()' function.
2020-04-29 21:39:48 +02:00
Peter Kretz 509a662521 Merge branch 'feature/ethernet_or_wifi_support' of https://github.com/kretzp/ESPEasy into feature/ethernet_or_wifi_support 2020-04-29 19:10:04 +02:00
Peter Kretz c0bdea0941 - UDP / ESPEasyP2P now works for ETHERNET
- Hostname Handling refactored for better overview:
  - String NetworkGetHostNameFromSettings() returns Settings.getHostname()
  - String NetworkCreateRFCCompliantHostname() creates a RFCcompliant Hostname from Settings.cpp
  - String NetworkGetHostname() returns the Hostname prevoiusly set in ETH or Wifi dependong on Mode
- MacAddress Handling refactored
  - String NetworkMacAddress() returns the Mac addres of ETH or Wifi depending on Mode
  - String WifiSoftAPmacAddress() returns WiFi.softAPmacAddress(mac) as String
2020-04-29 19:03:31 +02:00
Peter Kretz 250a345e33 Fixed bug reported by mobremski 2020-04-29 12:21:20 +02:00
Peter Kretz cde9052283 Fixed ci compile bug
https://travis-ci.org/github/letscontrolit/ESPEasy/builds/680724129
2020-04-28 23:28:45 +02:00
Peter Kretz b1a3d747c0 Fixed
https://travis-ci.org/github/letscontrolit/ESPEasy/builds/680698472
ci build error
2020-04-28 21:48:59 +02:00
Peter Kretz 691824477f - New events: ETHERNET#Connected and ETHERNET#Disconnected 2020-04-28 21:18:59 +02:00
Peter Kretz db94e1668c removed upload flags 2020-04-28 20:18:20 +02:00
Peter Kretz 8244e0ecf2 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/ethernet_or_wifi_support 2020-04-28 20:14:38 +02:00
Peter Kretz e68e6eca3c Network.h/cpp --> ESPEasyNetwork.h/cpp 2020-04-28 20:13:49 +02:00
Peter Kretz a489b41230 ESPEasyWiFi_credentials.ino --> cpp/h
ESPEasyWiFi_ProcessEvent.ino --> cpp/h
ESPEasyWiFi.ino --> cpp/h
2020-04-28 19:44:26 +02:00
Jean-Michel DECORET 17bdacd51a Fix documentation typo 2020-04-28 13:41:59 +02:00
Jean-Michel DECORET 6080c264e4 Merge branch 'mega' of https://github.com/jano42/ESPEasy into mega 2020-04-28 09:23:40 +02:00
Jean-Michel DECORET 72f7b9776f Fix documentation typo 2020-04-28 09:23:18 +02:00
Peter Kretz 6585a48f39 ESPEasyEth.ino --> ESPEasyEth.cpp/h
Network.ino --> Network.cpp/h
2020-04-27 22:56:26 +02:00
Peter Kretz 24d9dc19a4 - ETHEvents moved to WifiEvents, because they are the same type 2020-04-27 22:18:55 +02:00
TD-erandGitHub fe5d65997f Merge branch 'mega' into mega 2020-04-27 22:02:50 +02:00
Peter Kretz a6f75806f0 - Ethernet Commands
- remove useless comments
- ETH.config moved after ETH.begin
- Added note: Be aware with ESPEasyP2P Network, since IP Address will change. There could be conflicts.
- Ethernet JSON
- Ethernet Variables
2020-04-27 21:59:21 +02:00
Ton HuismanandGitHub 1daae7f90a Merge branch 'mega' into feature/apds_9960_parameters 2020-04-27 21:46:34 +02:00
tonhuisman 8f83091d04 [P064] Made code-readability and other improvements as TD-er suggested, fixed a swapped argument bug 2020-04-27 20:36:09 +02:00
TD-erandGitHub 637e14b5cb Merge pull request #3034 from TD-er/bugfix/ADC-zero
[ADC] Improve oversampling filtering + ESP32 support
2020-04-27 17:52:24 +02:00
Jean-Michel DECORET aa19657fe4 Remove useless comments
Use BUILD_NO_DEBUG define
Add display timings
Fix input text to handle degress and monetary symbols (specific for adafruit gfx lib with eink screen)
2020-04-27 15:20:21 +02:00
Jean-Michel DECORET 73a122657d Optimize code:
- remove unwanted output
- move http answer only in debug mode
- fix functions args to const
- optimize parsing color data
2020-04-27 13:41:21 +02:00
Jean-Michel DECORET 3b52fe1205 Add SPI device type 2020-04-27 13:39:36 +02:00
TD-erandGitHub 5c3d248139 Merge branch 'mega' into bugfix/ADC-zero 2020-04-27 13:37:40 +02:00
uwekaditz 256fe2401c Merge tag 'mega-20200426' into UweKaditz 2020-04-27 13:08:31 +02:00
Ton HuismanandGitHub 043afcecde Merge branch 'mega' into feature/apds_9960_parameters 2020-04-27 12:04:53 +02:00
tonhuisman 845d25621a [P064] Gesture - APDS-9960 plugin: Added switching plugin mode and settings to fine-tune without recompiling source
[APDS-9960 library] Added extensions and applied fixes from original Github project (including not merged yet improvements)
[P064] Added/updated documentation for Gesture - APDS-9960 plugin
[Documentation] Updated footer copyright notice to show 2018..2020
2020-04-27 11:26:48 +02:00
Peter Kretz 09a149e7c4 Removed some comments
Build now working with HAS_ETHERNET not defined
2020-04-26 23:16:33 +02:00
Peter Kretz fdfdd7fe73 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/ethernet_or_wifi_support 2020-04-26 22:32:00 +02:00
Peter Kretz 6632dec482 ESP32 with Ethernet or Wifi, not both at the same time configurable via Hardware Page.
- ESP P2P is working
- Only ETH.beginPacket() with Standard Parameter is working at the moment, configuration will follow.
- Network.in not cpp/h files but this will be changed in future
- Some TODO: PKR: comments will be removed in the future, too
2020-04-26 22:29:56 +02:00
TD-er ecc96473c8 automatically updated release notes for mega-20200426 2020-04-26 01:27:18 +02:00
TD-erandGitHub 80a2907cec Merge branch 'mega' into rfid_events 2020-04-26 01:00:15 +02:00
TD-erandGitHub 23c3e2c180 Merge branch 'mega' into connect_msg_lwt_settings 2020-04-26 00:59:37 +02:00
Gijs Noorlander 254443d0fc [docs] Update docs for P002_ADC 2020-04-26 00:45:30 +02:00
Gijs Noorlander 31aa26a474 [Docs] Add documentation for P097_Touch and P095_ILI9341 2020-04-26 00:11:44 +02:00
Gijs Noorlander 8b552c26c8 [Touch] Split Touch Pad support into new plugin 2020-04-26 00:10:49 +02:00
Gijs Noorlander fb9c6e5972 [Bitset operators] Use Arduino macros instead of our own functions
@Uzi18 suggested it.
2020-04-25 16:01:04 +02:00
Peter Kretz 29cf32d6ad Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/ethernet_support 2020-04-25 11:19:05 +02:00
Peter Kretz 64a4bbcb8a Change requested by TD-er review: clarification of build file
https://github.com/letscontrolit/ESPEasy/pull/2962/files/8ba2bb88eadb98c4691cbb1f40c4d5466cb7b5b8
2020-04-25 11:17:11 +02:00
TD-erandGitHub 9022fae50c Merge branch 'mega' into bugfix/ADC-zero 2020-04-25 02:11:27 +02:00
TD-erandGitHub 5e3b4448bf Merge pull request #3028 from TD-er/bugfix/RN2483_I2C_serial
[RN2483] Improve baudrate detection and I2C->UART link
2020-04-25 02:10:19 +02:00
TD-erandGitHub 923872a468 Merge pull request #3005 from TD-er/bugfix/2987_rules_if
[rules] Allow "if [" and "if[" in rules (#2987)
2020-04-25 02:09:37 +02:00
Gijs Noorlander 6a328e7b0f [ADC] Add Touch/Hall Effect for ESP32 + ADC pin selection
Can be configured to send an event when an ADC pin was touched.
2020-04-25 01:51:37 +02:00
Peter Kretz 32dfba3d86 - Moved ETHEvent from ESPEasy.ino to ESPEasyEthEvent.ino
- Corrected Hostname Setting
- ESPEasy P2P works now with some minor changes for IP-Address Handling in Network.ino
2020-04-25 00:52:33 +02:00
Jean-Michel DECORET 77d5d5bbfa Add eInk plugin
Allow to control eInk screen through HTTP API
2020-04-24 17:19:10 +02:00
Gijs Noorlander c6e021ce7d [ADC] Perform ADC read at boot + improve filtering for P002_ADC 2020-04-24 16:20:30 +02:00
Peter Kretz cba9b60097 Extended the great work from Michał Obrembski mobrembski, so that:
- mqtt works
- WifiConnected works as EthernetConnected
2020-04-24 13:16:54 +02:00
Peter Kretz b1878c7685 Merge branch 'feature/ethernet_support' of https://github.com/mobrembski/ESPEasy into mega 2020-04-24 13:08:31 +02:00
Peter Kretz 1de04294cc - Atlas EZO new webserver added
- Serial --> logging
- No [TESTING]
2020-04-24 12:32:35 +02:00
Peter Kretz d058dd56f1 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into mega 2020-04-24 12:29:21 +02:00
Gijs Noorlander 336c92f1ab [ADC] Format using uncrustify 2020-04-24 02:24:37 +02:00
Gijs Noorlander 693647a2f1 [ADC] Perform VCC read before starting any WiFi activity 2020-04-24 02:20:58 +02:00
Gijs Noorlander a272950d2f [ADC] Allow multiple instances of ADC plugin (ESP32) 2020-04-24 02:20:23 +02:00
TD-erandGitHub 11ce314db1 Merge branch 'mega' into bugfix/2987_rules_if 2020-04-24 01:30:06 +02:00
Gijs Noorlander 80e1129d20 [Rules] Clarify syntax error auto correct log entry 2020-04-24 00:43:58 +02:00
Gijs Noorlander 88df76bba5 [RN2483] Rename sendAutoBaud to sendWakeSequence 2020-04-24 00:29:58 +02:00
uwekaditz 51b1019796 Merge remote-tracking branch 'upstream/mega' into UweKaditz 2020-04-22 17:45:12 +02:00
Gijs Noorlander 1f93820ea5 Merge remote-tracking branch 'origin/bugfix/RN2483_I2C_serial' into bugfix/RN2483_I2C_serial 2020-04-20 01:09:41 +02:00
Gijs Noorlander 11909928ab [RN2483] Fix build error for ESP32 2020-04-20 01:09:25 +02:00
TD-erandGitHub b22bbe3ec6 Merge branch 'mega' into bugfix/RN2483_I2C_serial 2020-04-20 00:10:58 +02:00
Gijs Noorlander 0bff9358ee [RN2483] Improve Autobaud + unit detection at boot 2020-04-19 23:05:35 +02:00
TD-erandGitHub 4111f05d73 Merge pull request #3027 from sakinit/Fix-ESP32-serialwrite
Fix ESP32 serial write
2020-04-19 21:45:00 +02:00
sakinit b0b191cb7f Fix ESP32 serial write
Use availableForWrite for ESP32 as it is available
2020-04-19 20:28:20 +02:00
Gijs Noorlander e50a5956a7 [RN2483] Only alter set keys if either OTAA or ABP is set 2020-04-19 16:55:42 +02:00
Gijs Noorlander 1d3a22949d [RN2483] SWserial override as a define 2020-04-19 16:51:30 +02:00
Gijs Noorlander 3445cbee36 [ESPEasySerial] Update v2.0.1: Only use SWserial override on HW serial 2020-04-19 16:49:42 +02:00
Gijs Noorlander 719b571d75 [Controller] Make use extended credentials optional per controller 2020-04-19 16:46:03 +02:00
TD-erandGitHub e9b11c3a09 [HTTP command] Fix incorrect check for valid port
As reported by @sakinit via email
2020-04-18 13:58:14 +02:00
TD-erandGitHub 636435ffd7 Merge branch 'mega' into bugfix/2987_rules_if 2020-04-18 13:51:47 +02:00
TD-erandGitHub 159faac8f8 Merge branch 'mega' into connect_msg_lwt_settings 2020-04-18 13:51:32 +02:00
TD-erandGitHub eacb473b2f Merge pull request #3018 from Sprinterfreak/mega-feature-default-reset-pin
Make default reset button gpio configurable
2020-04-18 13:51:10 +02:00
TD-erandGitHub 1547ffd23e Merge pull request #3020 from TD-er/bugfix/3019_pulsecounter_set
[Pulse Counter] Call PLUGIN_READ after set counter (#3019)
2020-04-18 13:50:24 +02:00
TD-erandGitHub bc2fb78b45 Merge pull request #3017 from uzi18/esp32_crc_py
ESP32: fill binary filename, count MD5 only for esp8266
2020-04-18 13:49:51 +02:00
Gijs Noorlander bbbd3efe4d [Rules] Check for common mistakes and patch before parsing 2020-04-18 01:12:08 +02:00
uwekaditz 5258cecdce Merge branch 'UweKaditz' of https://github.com/uwekaditz/ESPEasy into UweKaditz 2020-04-16 19:43:42 +02:00
TD-erandGitHub a0374079eb Merge branch 'mega' into bugfix/2987_rules_if 2020-04-16 01:39:14 +02:00
TD-erandGitHub 515ba7b507 Merge pull request #3001 from uzi18/dallas_esp32
P004_dallas: esp32 optimisation - move bit read/write to IRAM
2020-04-15 23:30:13 +02:00
TD-erandGitHub 2161a16ed7 Merge branch 'mega' into dallas_esp32 2020-04-15 23:29:15 +02:00
TD-erandGitHub 89355b0c7e Merge pull request #3003 from uzi18/move_to_hashlib
crc2: move to hashlib
2020-04-15 22:28:25 +02:00
Gijs Noorlander 394ecfc455 [MQTT] Stop trying to send LWT connected when client disconnects 2020-04-15 14:36:13 +02:00
Gijs Noorlander 7238f7c23b [MQTT] Process publish LWT connect message asynchronous
If publish of LWT connect message fails during connect, retry later.
The connect state should not depend on it.
2020-04-15 14:23:54 +02:00
Gijs Noorlander 1cf4bb43dc [Pulse Counter] Use unused 4th UserVar to restore total pulse counter 2020-04-15 11:18:14 +02:00
Bartlomiej Zimon f133c2b759 PN532: update comment 2020-04-14 19:40:28 +00:00
Gijs Noorlander fc8c0b56a1 [Pulse Counter] Call PLUGIN_READ after set counter (#3019)
Fixes: #3019
Only setting the internal counter values is not enough.
The output values must also be set and a call to any optional formula must also be made.
A call to `PLUGIN_READ` will also store the values in RTC.
2020-04-14 21:21:50 +02:00
Bartlomiej Zimon 5c4952c575 PN532: remove hardcoded scl/sda pins reading and use hardware configuration instead 2020-04-14 16:30:15 +00:00
Bartlomiej Zimon f0d81c9150 ESP/ESP32: add id_tag for future proposes and use it to detect firmware.bin 2020-04-14 16:20:05 +00:00
Jan-Jonas Sämann 1944f563a4 Make default reset button gpio configurable
Especially on some custom devices wich need custom builds, the variable
is missing. This provides a new environment variable to customize the
default pin for the reset button.
2020-04-14 02:35:53 +02:00
Bartlomiej Zimon d2f276c135 ESP32: fill binary filename, count MD5 only for esp8266 2020-04-14 00:24:30 +00:00
TD-erandGitHub a0d66be8a5 Merge branch 'mega' into connect_msg_lwt_settings 2020-04-13 22:57:50 +02:00
TD-erandGitHub 3c1f993648 Merge branch 'mega' into bugfix/2987_rules_if 2020-04-13 22:57:08 +02:00
Michał ObrembskiandMichał Obrembski da1039e7f2 Added basic implementation of Ethernet Static IP 2020-04-13 15:13:16 +02:00
Michał ObrembskiandMichał Obrembski 6137da89f0 Moved WifiGetHostname into more generic createRFCCompliantHostname 2020-04-13 15:13:16 +02:00
Michał ObrembskiandMichał Obrembski 7584ce6cc9 Renamed functions in ESPEasyEth, added eth* prefix 2020-04-13 15:13:16 +02:00
Michał ObrembskiandMichał Obrembski 9314523c22 Remove ifdefs for Ethernet in settings 2020-04-13 15:13:14 +02:00
Michał ObrembskiandMichał Obrembski 5f15e98e5a Fix build on devices without Ethernet.
Forget to adjust size of GpioFactorySettingsStruct.
2020-04-13 15:11:54 +02:00
Michał ObrembskiandMichał Obrembski dffd7ebfc1 Increased BUILD number to 20107 2020-04-13 15:11:52 +02:00
Michał ObrembskiandMichał Obrembski c7b9f3f55e Added Olimex ESP32-PoE board to DeviceModel and default settings 2020-04-13 15:07:35 +02:00
Michał ObrembskiandMichał Obrembski b4f01b4b5a Added configuration of Eth Phy via Hardware settings web page 2020-04-13 15:07:35 +02:00
Michał ObrembskiandMichał Obrembski 14d91ccf10 Added displaying Ethernet parameter in sysinfo and root page 2020-04-13 15:07:35 +02:00
Michał ObrembskiandMichał Obrembski 137f4e4e37 Initial Ethernet support 2020-04-13 15:07:35 +02:00
TD-erandGitHub 9df28373f3 Merge pull request #3016 from TD-er/bugfix/3015_controller_pass_cleared
[Controller] Only update password when it is not "*****" (#3015)
2020-04-13 14:25:52 +02:00
TD-erandGitHub 40d79ba608 Merge pull request #3009 from TD-er/bugfix/clearUserVar_delete_task
[RTC task values] Clear last task values when adding new task
2020-04-13 14:12:12 +02:00
TD-erandGitHub b2a7071e0e Merge branch 'mega' into bugfix/clearUserVar_delete_task 2020-04-13 14:12:02 +02:00
TD-erandGitHub 8d1dc7fd97 Merge pull request #3013 from uzi18/webserver_update
ESP32: Add HTTP OTA functionality
2020-04-13 14:06:25 +02:00
TD-er 388de405e0 [Controller] Only update password when it is not "*****" (#3015)
Fixes: #3015
2020-04-13 13:44:58 +02:00
TD-erandGitHub 3592a53e78 Merge pull request #3014 from ToniA/HeatpumpIR
HeatpumpIR 1.0.15 update
2020-04-13 12:34:54 +02:00
Gijs Noorlander 1bfb6cd56f [ESP32 OTA] Exclude ESP32HTTPUpdateServer lib for ESP82xx builds 2020-04-13 10:23:54 +02:00
Toni 68fae61355 HeatpumpIR 1.0.15 update 2020-04-13 10:28:15 +03:00
TD-erandGitHub a92e9d4f37 Merge branch 'mega' into webserver_update 2020-04-13 01:53:09 +02:00
Gijs Noorlander 52924623d8 [ESP32 OTA] Show sketch size in sysinfo page 2020-04-13 01:51:19 +02:00
Bartlomiej Zimon cb8a4cc407 ESP32: add new ESP32HTTPUpdateServer lib 2020-04-12 22:15:42 +00:00
Bartlomiej Zimon c53a6534ec ESP32: add to webserver firmware update feature 2020-04-12 22:15:25 +00:00
Gijs Noorlander 2cba386e76 Fix build issue 2020-04-12 23:41:23 +02:00
Gijs Noorlander f15d583b06 [Cleanup] Code formatting for Pulse Counter 2020-04-12 21:59:57 +02:00
Gijs Noorlander a9f555538c [PulseCounter] Add SetPulseCounterTotal command
As requested on the [forum](https://www.letscontrolit.com/forum/viewtopic.php?p=43922#p43922)
2020-04-12 21:59:22 +02:00
TD-erandGitHub 40d15617da Merge pull request #3011 from TD-er/bugfix/2985_wificonnect
[WiFi] Fix WiFiConnect command should force (re)connect (#2985)
2020-04-12 21:08:48 +02:00
TD-erandGitHub f7c99799fe Merge pull request #2693 from jano42/mega
Add plugin Display TFT - ILI9341
2020-04-12 16:37:57 +02:00
TD-erandGitHub 1127fdaa7d Merge pull request #3000 from uzi18/before_deploy
Before deploy - update release script to also include factory bins for esp32 (with bootloader etc.) fix #2941
2020-04-12 16:36:15 +02:00
TD-er 64ed9f7cbf [WiFi] Fix WiFiConnect command should force (re)connect (#2985)
Fixes: #2985
2020-04-12 16:34:03 +02:00
TD-erandGitHub 0624c6550e Merge pull request #3010 from TD-er/feature/stalebot
[GitHub] Add stale bot to manage inactive issues
2020-04-12 15:53:29 +02:00
TD-er 9f381f7872 [GitHub] Add stale bot to manage inactive issues
It has become next to impossible to keep track of active issues due to the sheer amount of open issues.

So let's enable the stale bot to let the users requesting issues decide whether an issue is still active or not.
2020-04-12 15:52:42 +02:00
TD-erandGitHub ce09c15e4e Merge branch 'mega' into before_deploy 2020-04-12 15:21:14 +02:00
TD-er 938cf0626f [RTC task values] Clear last task values when adding new task
As discussed on the [forum](https://www.letscontrolit.com/forum/viewtopic.php?p=43886#p43886)

Just to make sure there are no strange values left of any previously used task when adding a new task.
2020-04-12 15:17:40 +02:00
TD-erandGitHub 0feb2e0857 Merge branch 'mega' into connect_msg_lwt_settings 2020-04-12 14:44:17 +02:00
Bartlomiej Zimon 03aad0e44e rfid events update for P008/P017/P040, plus send event after log line. 2020-04-12 12:15:58 +00:00
TD-er 3d9c1858b3 [rules] Allow "elseif [" and "elseif[" in rules 2020-04-12 14:08:46 +02:00
denisfrench ed89599823 [MQTT] Connect message honors LWT settings (#3006) 2020-04-12 21:31:27 +10:00
TD-er 7dd8a7e004 [rules] Allow "if [" and "if[" in rules (#2987)
Fixes: #2987
2020-04-12 11:13:38 +02:00
TD-erandGitHub a6550bb2ff Merge pull request #3002 from uzi18/rfid_events
rework for rfid events in plugin p040 - do not repeat event on same card, proper detection of removed card, fix for #2982
2020-04-11 21:33:05 +02:00
TD-erandGitHub 611c9d4ef3 Merge branch 'mega' into mega 2020-04-11 21:27:06 +02:00
Gijs Noorlander 97284c0491 [ILI9341] Move to custom build due to build size 2020-04-11 21:25:42 +02:00
TD-erandGitHub bf9914886c Merge branch 'mega' into rfid_events 2020-04-11 02:42:01 +02:00
TD-erandGitHub b4aae2b7d4 Merge branch 'mega' into before_deploy 2020-04-11 02:41:39 +02:00
TD-erandGitHub c555263d30 Merge pull request #2815 from uwekaditz/UweKaditz
Plugin 092: DL-bus from Technische Alternative (PR2)
2020-04-11 02:39:45 +02:00
Gijs Noorlander 6835730460 [ILI9341] Rename plugin to P095 + rebase to current HEAD of mega branch 2020-04-11 01:56:09 +02:00
Jean-Michel DECORETandGijs Noorlander 95c4d83b0c Make plugin compatible with ESP32
Setup default PINS for both ESP32 and D1
2020-04-10 23:36:14 +02:00
Jean-Michel DECORETandGijs Noorlander d484a9779e Change to plugin 091 2020-04-10 23:36:14 +02:00
Jean-Michel DECORETandGijs Noorlander 3922f59808 Change plugin number (242 -> 090)
Update configuration behavior (for default values)
2020-04-10 23:35:49 +02:00
Jean-Michel DECORETandGijs Noorlander ad41b08974 Add comments 2020-04-10 23:35:34 +02:00
Jean-Michel DECORETandGijs Noorlander b2ea77e954 Conform plugin to guidelines 2020-04-10 23:35:34 +02:00
Jean-Michel DECORETandGijs Noorlander 99e03bd058 Add plugin Display TFT - ILI9341
Manage TFT screen other http api.
2020-04-10 23:35:18 +02:00
Jean-Michel DECORETandGijs Noorlander d7a2082230 Add comments 2020-04-10 23:34:22 +02:00
Jean-Michel DECORETandGijs Noorlander 4d95a10584 Conform plugin to guidelines 2020-04-10 23:34:22 +02:00
Jean-Michel DECORETandGijs Noorlander 729400059e Add plugin Display TFT - ILI9341
Manage TFT screen other http api.
2020-04-10 23:33:55 +02:00
Gijs Noorlander a2c1d3bc19 [P092] Mark plugin as [TESTING] 2020-04-10 21:42:36 +02:00
TD-erandGitHub 382d5c32a0 Merge branch 'mega' into UweKaditz 2020-04-10 21:31:24 +02:00
TD-erandGitHub f7f3f1b0cb Merge branch 'mega' into rfid_events 2020-04-10 21:30:09 +02:00
TD-erandGitHub 0d2a0cfab0 Merge branch 'mega' into before_deploy 2020-04-10 21:25:58 +02:00
TD-erandGitHub 96d4ca22ca Merge pull request #2972 from TD-er/feature/MQTTclientID
[MQTT] Allow client ID + longer user/pass credentials
2020-04-10 21:25:32 +02:00
TD-er 6c60384d3d automatically updated release notes for mega-20200410 2020-04-10 21:23:29 +02:00
TD-erandGitHub f13aa86c43 Merge branch 'mega' into feature/MQTTclientID 2020-04-10 20:40:46 +02:00
TD-erandGitHub d71770077c Merge pull request #2925 from tonhuisman/tonhuisman/p036-issue2980
[P036] Added setting for 'Wake display on receiving text'
2020-04-10 20:40:24 +02:00
TD-erandGitHub 07c8d95f1c Merge branch 'mega' into feature/MQTTclientID 2020-04-10 19:04:44 +02:00
TD-erandGitHub ee30895217 Merge branch 'mega' into tonhuisman/p036-issue2980 2020-04-10 19:02:05 +02:00
TD-erandGitHub 24b2687349 Merge pull request #2966 from Micha-he/Fix_DeepSleep0
Fix deepsleep,0
2020-04-10 19:01:27 +02:00
TD-erandGitHub dee7a38043 Merge branch 'mega' into rfid_events 2020-04-10 19:00:39 +02:00
TD-erandGitHub 6cbcca0292 Merge branch 'mega' into Fix_DeepSleep0 2020-04-10 17:09:49 +02:00
TD-erandGitHub f8b2641967 Merge pull request #2999 from TD-er/bugfix/WiFi_static_ESP32
[WiFi] Fix problem with static IP and reconnect ESP32 (#2997)
2020-04-10 17:08:58 +02:00
Bartlomiej Zimon f705fbc6bf rfid: clean up in logging 2020-04-10 14:17:02 +00:00
TD-erandGitHub eae5405863 Merge branch 'mega' into bugfix/WiFi_static_ESP32 2020-04-10 15:36:28 +02:00
TD-erandGitHub c7d0836b8d Merge pull request #2996 from TD-er/bugfix/restore_pulse_from_RTC
[PulseCounter] Restore from RTC before initializing pin triggers
2020-04-10 15:35:59 +02:00
Bartlomiej Zimon b4236d1d5d crc2: move to hashlib 2020-04-10 13:04:03 +00:00
Bartlomiej Zimon 9e743be100 P040_ID12/RDM6300: fix for triggering new tag and detection of tag unavailable #2982 2020-04-10 12:10:32 +00:00
Bartlomiej Zimon dc401743ea P008_RFID: little reorder 2020-04-10 12:10:17 +00:00
Bartlomiej Zimon 42f874c7fe set BaseVarIndex and sensortype in event before call PLUGIN_TIMER_IN 2020-04-10 12:10:01 +00:00
Bartlomiej Zimon 15028afc19 before_deploy: remove echo 2020-04-10 12:08:55 +00:00
Bartlomiej Zimon 3fa406fba8 add factory bins into release zip - to be found in factory_bin dir 2020-04-10 12:08:37 +00:00
Bartlomiej Zimon 2d51667988 P004_dallas: esp32 optimisation - move bit read/write to IRAM 2020-04-10 12:07:41 +00:00
Gijs Noorlander 03b86b42d8 [WiFi] Switch to default PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
This one does seem to be the more stable one.
Still a bit uncertain what the difference is between
- `PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703`
-`PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191122`
2020-04-10 13:57:22 +02:00
Gijs Noorlander fe195c60e5 [WiFi] Fix problem with static IP and reconnect ESP32 (#2997)
Fixes: #2997
2020-04-10 13:54:55 +02:00
Gijs Noorlander 6dc5b9910f [PulseCounter] Restore from RTC before initializing pin triggers 2020-04-10 09:51:10 +02:00
TD-erandGitHub c18513d30e Merge branch 'mega' into UweKaditz 2020-04-09 23:20:41 +02:00
TD-erandGitHub c4fcb460bf Merge branch 'mega' into tonhuisman/p036-issue2980 2020-04-09 23:20:11 +02:00
TD-erandGitHub 99e3002e7f Merge branch 'mega' into Fix_DeepSleep0 2020-04-09 23:18:02 +02:00
TD-erandGitHub c66cfadc08 Merge branch 'mega' into feature/MQTTclientID 2020-04-09 23:17:19 +02:00
TD-erandGitHub a118c33824 Merge pull request #2995 from TD-er/feature/CUL_reader
Feature/cul reader
2020-04-09 23:10:22 +02:00
Gijs Noorlander 5b2a50170a [build] New attempt to fix build for unused static function 2020-04-09 22:23:31 +02:00
Gijs Noorlander b3ffc80b22 [Build] Fix build issue
If it is really fixed now, we should for sure move away from .ino files as this is really bad the Arduino processor trips over these formatting issues.
2020-04-09 21:15:02 +02:00
Gijs Noorlander 325a13fa3f [Serial Plugins] Share more code among plugins using serial 2020-04-09 16:59:24 +02:00
Gijs Noorlander 3ef39ca6c1 [Webserver] Fix ambiguous function definitions for selectors
The form selectors were quite ambiguous, which could lead to build issues
2020-04-09 15:52:40 +02:00
Gijs Noorlander 233aa62403 [CUL Reader] Add basic docs 2020-04-09 15:51:19 +02:00
Gijs Noorlander deabb75eb7 [Sysvar] Fix show %ip% and %ip4% instead of %ip4% twice 2020-04-09 13:54:44 +02:00
Gijs Noorlander e0eaac6f0a [CUL Reader] Add positional match 2020-04-08 23:26:27 +02:00
Gijs Noorlander b33033e107 [CUL Reader] Fix bug in save/load settings 2020-04-08 23:26:27 +02:00
TD-er 7bfa476ad1 [CUL Reader] 12 items per filter line + extra chars on filter whitelist 2020-04-08 23:26:27 +02:00
Gijs Noorlander 6d4f303e40 [CUL Reader] Add 4th filter parameter 2020-04-08 23:26:27 +02:00
Gijs Noorlander 4b89192269 [CUL Reader] Clean up code 2020-04-08 23:26:27 +02:00
Gijs Noorlander 8c9dafe378 [CUL Reader] P094_CULReader 2020-04-08 23:26:27 +02:00
TD-erandGitHub f75e2b6af9 Merge branch 'mega' into UweKaditz 2020-04-06 16:24:04 +02:00
TD-erandGitHub 56051420c1 Merge branch 'mega' into Fix_DeepSleep0 2020-04-06 16:22:33 +02:00
TD-erandGitHub ec586497c2 Merge branch 'mega' into feature/MQTTclientID 2020-04-06 15:19:10 +02:00
TD-erandGitHub 36023cd1a7 Merge pull request #2967 from uzi18/dallas
ESP32: add subtarget for genuine units firmware-factory.bin
2020-04-06 14:09:00 +02:00
TD-erandGitHub d02abbd2bf Merge branch 'mega' into dallas 2020-04-06 14:08:27 +02:00
TD-erandGitHub 338578dd96 [P020_Ser2Net] Fix missing break; PLUGIN_SERIAL_IN
As reported by S. Akinit via email.
Thanks
2020-04-04 10:12:06 +02:00
Gijs Noorlander ae2b23e508 [LWIP2] Change LWIP2 from low mem to high bandwidth
In an attempt to make the ESP respond faster as we have a lot of reports related to timeouts and lost connections lately.
2020-04-02 00:46:21 +02:00
Gijs Noorlander 2251ebb937 [Build size] Optimize command handling macro to reduce build size
The function `executeInternalCommand` now takes roughly 3 kByte less in the binary.
Expansion of the macro resulted in quite some additional binary size.
Now the logic is moved to a separate function.
2020-04-02 00:44:42 +02:00
Gijs Noorlander 71469fbabb Fix reporting binaryFileName in sysvars page 2020-04-02 00:41:26 +02:00
Gijs Noorlander 24654187ee [Settings] Improve SettingsType handling 2020-04-02 00:40:35 +02:00
Gijs Noorlander e77710a85d [PIO] Change depicated -Wl,-T into board_build.ldscript 2020-03-31 23:31:06 +02:00
Gijs Noorlander 95010a364c [MQTT] Fix build issue with disabled MQTT 2020-03-31 16:11:33 +02:00
Gijs Noorlander c7fa9682f9 [Controller] Allow to use longer controller credentials
When checking the "Use Extended Credentials", the user name + pass field for the controller can be extended up-to 128 bytes.
This limit is only applicable to the text field, so it can later be extended to longer when needed.
All user + pass fields for all controllers must be within the 1 kByte (including 1 extra byte per field)
2020-03-31 16:11:33 +02:00
Gijs Noorlander ec7a1d2715 [MQTT] Move global MQTT parameters to controller settings 2020-03-31 16:11:33 +02:00
Gijs Noorlander 4b4604f1eb [Storage] Move SettingsType code to separate .h/.cpp 2020-03-31 16:11:33 +02:00
Gijs Noorlander d011d20884 [MQTT] Add checkbox for extended Controller Settings 2020-03-31 16:11:33 +02:00
TD-erandGitHub 19843b26ce Merge pull request #2979 from TD-er/bugfix/fix_webserver_crash
[Frontend] Fix crash when loading config + controller page
2020-03-31 16:09:21 +02:00
Gijs Noorlander b127938408 [Frontend] Fix crash when loading config + controller page
It could lead to infinite recursion by having conflicting function signatures.
2020-03-31 16:08:24 +02:00
uwekaditz 0d996b5197 merged Release mega-20200328 2020-03-30 20:42:02 +02:00
TD-erandGitHub 531c3153e8 Merge pull request #2975 from TD-er/bugfix/reload_javascript
[Frontend] Fix reload on change for selectors (#2974 )
2020-03-30 15:23:42 +02:00
Gijs Noorlander 9a6e027f17 [Frontend] Fix reload on change for selectors (#2974 )
Fixes: #2974
2020-03-30 14:19:23 +02:00
uwekaditzandGitHub b663b69f06 Merge branch 'mega' into UweKaditz 2020-03-29 23:19:03 +02:00
TD-er 4d2eddbcde automatically updated release notes for mega-20200328 2020-03-28 02:55:55 +01:00
TD-erandGitHub 9f8ebef52f Merge pull request #2971 from TD-er/build/platformio_2-4-0
Build/platformio 2 4 0
2020-03-28 02:53:37 +01:00
TD-erandGitHub ec88a26622 Merge branch 'mega' into build/platformio_2-4-0 2020-03-28 02:53:18 +01:00
Gijs Noorlander cb99058d05 [PIO] Use platform_packages for all core libs supporting those 2020-03-28 02:07:15 +01:00
Gijs Noorlander 5e99087ec6 [PIO] feature/stage no longer available for building latest core libs 2020-03-28 01:36:34 +01:00
TD-erandGitHub f112027596 Merge pull request #2970 from Micha-he/P091_Fix_DoubleOk
Double-Ok fix for P091_SerSwitch-plugin
2020-03-27 23:25:37 +01:00
TD-erandGitHub 40d8ed9b6d Merge pull request #2969 from TD-er/bugfix/SGP30_output_2_values
[SGP30] Fix output all values to controller
2020-03-27 23:21:30 +01:00
Michael Schröder 8529ebed3b Fix double-Ok at command output 2020-03-27 14:13:48 +01:00
Gijs Noorlander 793878262d [SGP30] Fix output all values to controller
See discussion here: https://github.com/letscontrolit/ESPEasy/issues/2586#issuecomment-604416401
2020-03-26 16:51:11 +01:00
Bartlomiej Zimon 679908a6bb ESP32: add subtarget for genuine units firmware-factory.bin
Resolves #2964 #2941 #2486
2020-03-25 23:56:59 +00:00
Michael Schröder 2c6a424683 Update deepsleep-command docs 2020-03-25 10:05:27 +01:00
Michael Schröder d19e31dc2c Fix DeepSleep0 command 2020-03-24 15:04:51 +01:00
Michael Schröder 5c7232acda Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into mega 2020-03-24 12:02:19 +01:00
TD-erandGitHub e6bdae07dd Merge pull request #2921 from Grovkillen/rules_save_fix
Rules save fix
2020-03-23 22:50:07 +01:00
TD-erandGitHub fbad34535f Merge pull request #2963 from uzi18/dallas
[SysVars] small optimization
2020-03-23 22:48:01 +01:00
Bartlomiej Zimon 5b24b58d2a [SysVars] concat->String() 2020-03-23 00:26:01 +00:00
Bartlomiej Zimon b261a21510 [SysVars] small optimization 2020-03-23 00:01:10 +00:00
TD-erandGitHub c39975a985 Fix ArduinoIDE Build error due to missing include
As reported here: https://github.com/letscontrolit/ESPEasy/commit/c5c22643c62f725c22d80e55d3360885cf017baa#r37971537
2020-03-22 14:30:30 +01:00
Bartlomiej Zimon 336ebb02dc Merge branch 'mega' of github.com:letscontrolit/ESPEasy into dallas 2020-03-22 10:21:07 +00:00
Gijs Noorlander b3c0f6e812 [ESP32] Fix crash in startup connecting to WiFi (#2960 )
Fixes: #2960
2020-03-22 01:41:53 +01:00
Bartlomiej Zimon 4f60c2d66f Merge branch 'mega' of github.com:letscontrolit/ESPEasy into dallas 2020-03-21 21:35:25 +00:00
TD-er 81c699938c Remove PlatformIO Extension from GitPod.yml 2020-03-21 20:29:55 +00:00
TD-er af07b92bcf Change bracket pair colorizer for one that installs in GitPod 2020-03-21 20:06:23 +00:00
TD-er 31112228b7 Add VSCode Extentions 2020-03-21 18:41:08 +00:00
TD-er f2266c1e38 Add Gitpod extensions 2020-03-21 18:12:45 +00:00
TD-er 1093e37af8 Sanitize Requirements.txt and switch to Python 3.8 2020-03-21 17:54:36 +00:00
TD-er 9ca2b43713 Add gitpod config
this commit adds support for Gitpod.io, a free automated
dev environment that makes contributing and generally working on GitHub
projects much easier. It allows anyone to start a ready-to-code dev
environment for any branch, issue and pull request with a single click.
2020-03-21 18:18:55 +01:00
TD-erandGitHub d77198d2c7 Merge pull request #2957 from TD-er/feature/serial_proxy_enhancements
Feature/serial proxy enhancements
2020-03-21 15:59:17 +01:00
TD-erandGitHub a66f580630 Merge pull request #2952 from TD-er/feature/I2C_uart_serial
[I2C] Add I2C frequency setting
2020-03-21 15:52:02 +01:00
Gijs Noorlander 11ec14ed20 Check if plugin uses formula before trying to process formula 2020-03-21 15:06:18 +01:00
Gijs Noorlander 5afd1d3a8a [Serial Proxy] Don't process on empty regexp
Also move the actual matching in the PLUGIN_READ part.
2020-03-21 14:50:16 +01:00
Gijs Noorlander 902149af5e [Serial Log] Keep a bit more free memory when processing serial log 2020-03-21 14:48:29 +01:00
Gijs Noorlander b02684a6e2 [WiFi] Start webserver before starting wifi (long delay to receive 1st byte) 2020-03-21 14:47:55 +01:00
Gijs Noorlander 198f244887 Add generic hexToUL functions 2020-03-21 11:24:36 +01:00
Gijs Noorlander 812323874e [Serial Proxy] Fix check in empty string test 2020-03-21 11:21:21 +01:00
Gijs Noorlander c5c22643c6 [SysVar] Add extra system variables to get build info
Added:
- `%sysbuild_desc%`
- `%sysbuild_filename%`
- `%sysbuild_git%`
2020-03-21 11:21:06 +01:00
Gijs Noorlander a3be53b8b1 [Serial Proxy] Only check on valid filter rules 2020-03-21 11:20:56 +01:00
Gijs Noorlander a1e2d0db9f [Web] Make command field on Tools page much wider 2020-03-21 11:20:46 +01:00
Gijs Noorlander 62c1782e65 [Serial Proxy] Use capture filtering 2020-03-21 11:20:30 +01:00
Gijs Noorlander 698d904552 [Serial Proxy] Move plugin specific struct to .h/.cpp to support captures 2020-03-21 11:20:21 +01:00
Gijs Noorlander cd024b39e4 [Serial Proxy] Add extra filter parameters 2020-03-21 11:20:11 +01:00
Gijs Noorlander ce6e151cb2 [Serial Proxy] Add regexp filtering using captures 2020-03-21 11:20:00 +01:00
Gijs Noorlander ef2de3a894 [Lib] Add RegExp lib 2020-03-21 11:19:54 +01:00
Gijs Noorlander fb34e892bb [SerialProxy] Add regexp filtering 2020-03-21 11:19:48 +01:00
Gijs Noorlander 0f8ef96484 [JSON] Fix JSON output of values for single task
Generated JSON had trailing TTL value which rendered it invalid JSON.
2020-03-21 11:09:44 +01:00
TD-er efa41ecc3b [Blynk] Fix building C015 Blynk controller
As found [on the forum](https://www.letscontrolit.com/forum/viewtopic.php?f=6&t=7538)
2020-03-20 00:34:59 +01:00
TD-er 563b1da419 Fix resetpulsecounter for P003_Pulse (#2710)
Fixes: #2710

I really need to make sense of the argument positions as this is really error prone as shown here.
2020-03-19 23:48:59 +01:00
Gijs Noorlander b11043243f [Build] Disable test_ESP8266_4M1M_VCC_MDNS_SD due to max sketch size
Temporary disabled so we can make a nightly build
2020-03-19 18:21:47 +01:00
uwekaditzandGitHub 96ce0fa377 Merge branch 'mega' into UweKaditz 2020-03-19 18:14:36 +01:00
Gijs Noorlander 7d4dd2355a Pulse Counter must retain its values after reboot (#2268)
Fixes #2268
2020-03-19 18:09:17 +01:00
Gijs Noorlander 023c97d547 ESPEasy Status LED is not working on ESP32 with buildin LED (#2940)
Fixes: #2940

Copy-paste fix from @thomastech https://github.com/letscontrolit/ESPEasy/issues/2940#issuecomment-599627656
2020-03-19 10:38:24 +01:00
Gijs Noorlander 06b4438003 [I2C] Add I2C frequency setting
For I2C UART an I2C clock of 400 kHz is needed to be able to handle continuous streams of data.
But the default was still 100 kHz, unless you selected a plugin that may have set the I2C frequency to 400 kHz like the Framed OLED plugin.
2020-03-18 18:09:23 +01:00
TD-erandGitHub 4e32d98fbc Merge pull request #2950 from TD-er/feature/I2C_uart_serial
[I2C UART] Add support for NXP's SC16IS752 I2C to UART bridge
2020-03-18 13:24:28 +01:00
Gijs Noorlander 7ee5cd2cd8 [ESP32] Make sure to include the version tag in ESPEasySerial libdeb
Fixes: #2951
2020-03-18 13:19:50 +01:00
Gijs Noorlander 0e41d0e71a [I2C UART] Mark ESPEasySerial library as v2.0.0 2020-03-18 11:27:58 +01:00
Bartlomiej Zimon 878adcf312 Merge branch 'mega' of github.com:letscontrolit/ESPEasy into dallas 2020-03-17 18:36:04 +00:00
Michael Schröder faf5354f24 Merge remote-tracking branch 'letscontrolit/mega' into mega 2020-03-17 13:20:46 +01:00
TD-erandGitHub 985e007064 Merge pull request #2948 from TD-er/bugfix/2947_taskenable_timer
[Task] Start scheduled runs again after (re)enableTask command
2020-03-17 12:24:26 +01:00
Michael Schröder da68b6cb2a Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into mega 2020-03-17 10:48:37 +01:00
Gijs Noorlander b1d95fb8f2 [Task] Start scheduled runs again after (re)enableTask command
Fixes: #2947
2020-03-16 22:59:52 +01:00
TD-erandGitHub 3cf7eb289c Merge pull request #2946 from TD-er/build/SDS011_ESP32
[ESP32]  Add SDS011 support for ESP32
2020-03-15 23:17:03 +01:00
Gijs Noorlander 80cdb7b552 [ESP32] Add SDS011 support for ESP32
As reported on [the forum](https://www.letscontrolit.com/forum/viewtopic.php?f=5&t=7520&p=43032#p43032)
2020-03-15 20:30:22 +01:00
TD-erandGitHub 67e46770ee Merge pull request #2913 from TD-er/feature/P165
[P091] Move P165 SerSwitch from playground to main repository
2020-03-14 12:14:10 +01:00
TD-erandGitHub 02ecfc10a2 Merge branch 'mega' into feature/P165 2020-03-14 10:27:05 +01:00
uwekaditzandGitHub 57c74dbb7e Merge branch 'mega' into UweKaditz 2020-03-13 20:15:26 +01:00
uwekaditz e1c8d8972c Merge branch 'UweKaditz' of https://github.com/uwekaditz/ESPEasy into UweKaditz 2020-03-13 19:56:13 +01:00
Gijs Noorlander 611cdd7b82 [code analytics] Use PVS studio 2020-03-11 10:12:41 +01:00
Gijs Noorlander 16b9399456 [I2C UART] Limit calls to serial.available() 2020-03-11 09:12:59 +01:00
TD-erandGitHub a2bf0e1491 Merge pull request #2935 from tonhuisman/tonhuisman/bugfix-issue2877
[P023] Fix for text overflowing onto next line(s)
2020-03-11 08:32:51 +01:00
tonhuisman 3f1d802988 Added condition for 64x48 and rotated combined 2020-03-10 21:09:24 +01:00
TD-erandGitHub db2ada46f9 Merge pull request #2879 from crnjan/feature/mitsubishiHP
[mitsubishi heat pump]
2020-03-10 15:17:08 +01:00
Gijs Noorlander 6558c2522a [I2C UART] Cache FIFO available to speed up reading 2020-03-10 10:55:20 +01:00
TD-er 1bbfb456f7 automatically updated release notes for mega-20200310 2020-03-10 01:58:41 +01:00
Gijs Noorlander f07017f3aa [I2C UART] Speed up reading from I2C Serial 2020-03-10 01:50:50 +01:00
uwekaditz 819801c670 Merge branch 'UweKaditz' of https://github.com/uwekaditz/ESPEasy into UweKaditz 2020-03-09 20:00:15 +01:00
uwekaditz bec007abb7 merged with release mega-20200305
merged with release mega-20200305
2020-03-09 19:59:56 +01:00
Michael SchröderandGitHub db3d545e20 Merge pull request #4 from letscontrolit/mega
Update 20200308
2020-03-09 17:48:54 +01:00
TD-erandGitHub b63ca294e4 Merge pull request #2930 from uzi18/patch-7
add support for space padding in transformations, #2928
2020-03-08 23:36:07 +01:00
TD-erandGitHub 34f4800cb5 Merge pull request #2937 from uzi18/patch-9
docs: add 'd' formating in rules
2020-03-08 23:35:40 +01:00
Bartłomiej ZimońandGitHub 08dc1d9bdf docs: add 'd' formating in rules 2020-03-08 22:07:30 +00:00
borisk 7fda408c08 updated docs 2020-03-08 20:13:49 +01:00
tonhuisman a3ca00be40 [P023] Fix for text overflowing onto next line(s) 2020-03-08 18:56:28 +01:00
Gijs Noorlander 06ec3d3d7e [Docs] Mark all plugins using Serial as port type 2020-03-08 17:56:44 +01:00
Bartlomiej Zimon 410a8435c0 Merge branch 'mega' of github.com:letscontrolit/ESPEasy into dallas 2020-03-08 16:50:36 +00:00
Gijs Noorlander 9b77f5b183 [Docs] Add port type to plugin substitutions 2020-03-08 17:45:22 +01:00
Gijs Noorlander 5dcccc6817 [I2C serial] Disable debugging 2020-03-08 17:44:48 +01:00
Gijs Noorlander bddd5ae4b3 [Serial] Mark plugins using serial as device type serial
Also show in the devices tab a proper port + GPIO description.
2020-03-08 16:49:44 +01:00
TD-erandGitHub d270bad6b9 Merge pull request #2933 from TD-er/bugfix/2932_rules_braces_parse
[Rules] Fix parsing new rules commands when building JSON string (#2932)
2020-03-08 16:43:00 +01:00
Gijs Noorlander f3b5628d06 Fix warnings in ccronexpr test code 2020-03-08 10:18:39 +01:00
Gijs Noorlander fdd054fca1 [Rules] Fix parsing new rules commands when building JSON string (#2932)
Fixes: #2932
2020-03-08 09:48:47 +01:00
Gijs Noorlander f832f5e265 [SC16IS752] Extend Serial Helper to support I2C UART 2020-03-08 09:18:14 +01:00
borisk 762d13eb2f Restructured docs a bit so its easier to follow 2020-03-07 12:39:06 +01:00
borisk d1f660e4e2 Add as part of testing plugins ... 2020-03-07 05:03:46 +01:00
Gijs Noorlander f14929bb1f [SC16IS752] Use I2C-UART bridge in ESPEasySerial (ESP8266) 2020-03-06 23:35:28 +01:00
Bartłomiej ZimońandGitHub 99e3538d84 add support for space padding in transformations
related to #2928
2020-03-06 21:39:36 +01:00
borisk c530b690c4 Updating documentation 2020-03-06 21:20:31 +01:00
borisk 4cf471b8b3 Updating documentation 2020-03-06 21:10:53 +01:00
TD-er c53dacf9a7 Start of implementing SC16IS752 support 2020-03-06 20:29:36 +01:00
tonhuisman 0ccd6adad7 Made note wording more functional 2020-03-06 20:19:58 +01:00
tonhuisman 270385b058 Fixed note wording 2020-03-06 19:56:01 +01:00
borisk b96582ea25 Updating documentation 2020-03-06 18:42:50 +01:00
Boris Krivonog 1afe085df7 adding documentation ... 2020-03-06 15:18:14 +01:00
Boris Krivonog e64b81cb6e adding documentation ... 2020-03-06 15:05:17 +01:00
Gijs Noorlander 228c7616c3 [ESPEasySerial] Update manifest to mark SC16IS752 dependency 2020-03-06 14:06:43 +01:00
Gijs Noorlander ac51287bb4 [SC16IS752 lib] Update manifest to register as PIO library 2020-03-06 14:06:08 +01:00
Boris Krivonog 48a5e61944 Handle only "MHP" commands 2020-03-06 13:52:48 +01:00
Gijs Noorlander 3e594689d7 [SC16IS752] Add Library
Using library https://github.com/nopnop2002/SC16IS752
2020-03-06 13:08:17 +01:00
TD-erandGitHub 05c126a726 Merge branch 'mega' into feature/mitsubishiHP 2020-03-06 12:48:57 +01:00
Gijs Noorlander d691e69f51 [Docs] Add stub for documentation of P093 - Mitsubishi Heat Pump 2020-03-06 12:45:46 +01:00
TD-erandGitHub 1592e8f32c Merge pull request #2910 from tiomny/SetDatetime_1
Datetime command
2020-03-06 12:05:01 +01:00
TD-erandGitHub 68e99677f2 Merge pull request #2926 from TD-er/build/ArduinoIDE_include
Fix build in ArduinoIDE
2020-03-06 11:29:22 +01:00
Gijs Noorlander 483e83a3b6 Fix build in ArduinoIDE
As reported here: https://github.com/letscontrolit/ESPEasy/commit/6bc909f026fae2e859163080c704f1679e40e548#r37670612
2020-03-06 11:25:02 +01:00
TD-erandGitHub 60b73096db Merge branch 'mega' into SetDatetime_1 2020-03-06 11:17:39 +01:00
TD-erandGitHub 89eb6d88b8 Merge pull request #2924 from TD-er/build/split_minimal_OTA
[Build] Split controllers on minimal OTA builds
2020-03-06 01:35:37 +01:00
Gijs Noorlander a8682e23ae [DateTime] Documented command + few fixes
- Argument number was incorrect
- did not set time source.  (so you had to set NTP which defeats the purpose of this command
- Added documentation
- Moved the command call to the correct first letter of the alphabet.
2020-03-06 01:33:14 +01:00
Gijs Noorlander 93dbcf5771 [Travis] Add new build env names to travis.yml 2020-03-05 22:36:44 +01:00
tonhuisman c5a1fc33ab [P036] Added new setting to plugin documentation 2020-03-05 22:23:53 +01:00
tonhuisman abac46d10d [P036] Added setting for 'Wake display on receiving text' 2020-03-05 22:23:15 +01:00
tonhuisman c90b41345b [P036] Added setting for 'Keep display off receiving text' 2020-03-05 21:40:59 +01:00
Michael SchröderandGitHub e39d630895 Merge pull request #3 from letscontrolit/mega
Merge 20200305
2020-03-05 15:59:13 +01:00
Gijs Noorlander 4e7cb1e32d [Build] Split controllers on minimal OTA builds
Split Domoticz and FHEM/HomeAssistant/OpenHAB into separate builds as these are most likely never used together.
2020-03-05 15:12:25 +01:00
Boris Krivonog cd712727bd Make sure to break out of switch-case. 2020-03-05 08:11:15 +01:00
TD-er caf3b46bf7 automatically updated release notes for mega-20200305 2020-03-05 00:16:32 +01:00
TD-erandGitHub 8c7711c768 Merge pull request #2919 from jimmys01/ir-2.7.4
Update IR library to 2.7.4
2020-03-05 00:13:38 +01:00
Artem 2882d8d4d3 Change SetDatetime to Datetime command 2020-03-05 00:50:45 +03:00
Boris Krivonog 4c1a168b97 Fixed build when debug is disabled 2020-03-04 21:29:54 +01:00
Boris Krivonog 7a460195e6 Improved write operations 2020-03-04 21:15:46 +01:00
TD-erandGitHub cde4c93ef5 Merge pull request #2917 from TD-er/cleanup/use_pluginhelper_include
[Cleanup] Include _Plugin_Helper.h in all plugin INO files
2020-03-04 17:01:53 +01:00
Gijs Noorlander b01595e06d Minify the JS code + store in flash
Known issue:
We need to clear any open handles to rules files when we upload a new one.
2020-03-04 16:24:26 +01:00
Grovkillen 68852e1f99 [rules] td-er talked me into it... thanks mate! 2020-03-04 15:20:15 +01:00
Gijs Noorlander 8b8de9d865 [Build] Fix build issue ArduinoOTA ESP32 build 2020-03-04 15:10:19 +01:00
Grovkillen 13d6e3c6ff [rules] size is updated when saved 2020-03-04 15:08:52 +01:00
Grovkillen 3ac67d4027 [rules] removed commented code 2020-03-04 14:54:35 +01:00
Grovkillen 6eed61090e [rules] file upload instead of form upload 2020-03-04 14:50:32 +01:00
TD-erandGitHub 5e7544330f Merge branch 'mega' into feature/P165 2020-03-04 14:20:32 +01:00
Gijs Noorlander 3bee0bab4a [P091 SerSwitch] Update to use latest sources of enesbcs
Used: https://github.com/enesbcs/ESPEasyPluginPlayground/blob/master/_P165_SerSwitch.ino
2020-03-04 14:19:31 +01:00
Gijs Noorlander f251b6ad42 Fix Append unit number to hostname (#2918)
Fixes: #2918

Known issue:
Currently we don't use this in controllers, so we must add that as a setting for controllers.
2020-03-04 13:49:39 +01:00
Grovkillen dcb8968f82 [rules] narrowed scope of form (to not trigger onChange if btn clicked) 2020-03-04 09:24:09 +01:00
Grovkillen 5c729f3cb7 [rules] removed the "onSubmit" event 2020-03-04 09:07:59 +01:00
Grovkillen 7391147488 [rules] forms uncommented (needed for rules set) 2020-03-04 09:02:41 +01:00
Grovkillen 1959b81138 [rules] commented out old upload html 2020-03-04 08:32:04 +01:00
GrovkillenandGitHub 5f25851b1e Merge pull request #5 from letscontrolit/mega
PR from master
2020-03-04 07:51:05 +01:00
Gijs Noorlander 4e91083292 [Build] Set flash mode to DOUT for all ESP8266 builds
There does not seem to be much speed difference, but it may help in getting a few more nodes stable.
2020-03-04 00:11:07 +01:00
Artem 59b2902559 Added missed linefeeds 2020-03-03 23:18:49 +03:00
Artem f5e1ab25e8 Removed extra linefeed 2020-03-03 23:18:07 +03:00
Artem 9773166606 Remade using current code base 2020-03-03 23:16:47 +03:00
Artem de5ba6380b Removed serialPrintln 2020-03-03 22:27:40 +03:00
Artem f830d95aad Removed extra includes 2020-03-03 22:26:01 +03:00
Artem 03437e1544 Rolled back extra changes 2020-03-03 22:25:29 +03:00
Artem 6134f6d0ab SetDatetime command 2020-03-03 22:24:48 +03:00
Gijs Noorlander 1de135001b [Cleanup] Include _Plugin_Helper.h in all plugin INO files
This does include almost all needed for a plugin.
So it will make intellisense highlighting useful as otherwise almost each line in a plugin file will be marked red.
2020-03-03 16:42:07 +01:00
Boris Krivonog eeda662095 Renamed to 093 plugin. 2020-03-03 14:12:14 +01:00
Boris Krivonog 7a5f03a0a8 Renamed to 093 plugin. 2020-03-03 14:11:02 +01:00
TD-erandGitHub 589b955538 Merge pull request #2916 from ToniA/HeatpumpIR
P088_HeatpumpIR, HeatpumpIR 1.0.13 library update (Mitsubishi MSY fixes)
2020-03-03 13:07:54 +01:00
Boris Krivonog 60bc0bf0f4 Write re-enabled 2020-03-03 13:02:23 +01:00
Boris Krivonog 05a5edc925 Rewrote communication part, removed delays from code, optimised handling and storing of data ... 2020-03-03 12:53:36 +01:00
Boris Krivonog eb2bfcae74 Renamed to 092 plugin. 2020-03-03 12:52:04 +01:00
jimmys01 5eaa168ff1 Update IR library to 2.7.4 2020-03-03 12:47:21 +02:00
TD-erandGitHub 092ae09726 Merge pull request #2915 from TD-er/feature/move_time_webserver
[Cleanup] Moved Web_StreamingBuffer & time related functions to .h/.cpp
2020-03-03 11:24:26 +01:00
Gijs Noorlander 771a46757f [Cleanup] Use StringProvider to share more code + ESP32 core lib 1.11.2 2020-03-03 10:40:00 +01:00
Gijs Noorlander d55e466122 [Cleanup] Fix build errors due to forward declarations and includes 2020-03-03 09:57:38 +01:00
Gijs Noorlander 49308e3582 [Cleanup] Fix build issues in some plugins
Time related functions now should be interfaced via the global `node_time`
2020-03-03 08:33:25 +01:00
Toni 8db06629ae HeatpumpIR 1.0.13 update (Mitsubishi MSY fixes) 2020-03-03 09:27:42 +02:00
Gijs Noorlander da4bb18c7b [ESP32] Rename WebServer object to web_server to fix build issues
ESP32's WebServer class has the same name as our global object had.
So you could only define it in ESPEasy.ino.

Now it is renamed to `web_server` and now ESP32 and ESP8266 will happily build with the global object defined in .h/.cpp.
2020-03-03 01:23:27 +01:00
Gijs Noorlander 418e01320b [Cleanup] Fix build errors 2020-03-03 00:22:42 +01:00
Gijs Noorlander b386b73bd2 [Cleanup] Refactor parseSystemVariables + move time functions to .h/.cpp
Trying to make the parseSystemVariables function smaller
Moved time related functions to their respective .h/.cpp classes.
This will make the code a bit more clean and also reduces the build size.
2020-03-03 00:01:45 +01:00
Gijs Noorlander 6bc909f026 [Webserver] Move Web_StreamingBuffer to its own .h/.cpp
To free up build size and other resources.
2020-03-02 23:58:54 +01:00
uwekaditz 300eb35629 Merge conflicts solved 2020-03-02 18:57:24 +01:00
uwekaditz 4649e3ae76 Merge branch 'UweKaditz' of https://github.com/uwekaditz/ESPEasy into UweKaditz 2020-03-02 18:56:48 +01:00
uwekaditzandGitHub 3f4af8f9c0 Merge branch 'mega' into UweKaditz 2020-03-02 18:21:24 +01:00
uwekaditz 13f4f46f51 Memory improvement for _P092 plug in
Moved arrays into the class DLBus (only created while using the plug in)
Moved other arrays into function Plugin_092()
2020-03-02 18:15:24 +01:00
Gijs Noorlander 63929093f0 [P091] Add documentation 2020-03-02 10:29:46 +01:00
Gijs Noorlander 9d1008c0ec [P091] Move P165 SerSwitch from playground to main repository 2020-03-02 09:54:14 +01:00
TD-er 6c04e3d01e automatically updated release notes for mega-20200301 2020-03-01 19:50:36 +01:00
TD-erandGitHub a764b5e9e3 Merge pull request #2911 from tiomny/Extensions
WebServer determines more media types
2020-03-01 00:08:44 +01:00
TD-erandGitHub e196ecaa63 Merge pull request #2909 from TD-er/bugfix/reduce_build_size
[Build Size] Replace all TXBuffer += calls where possible
2020-02-29 23:51:25 +01:00
Artem becfb8c865 Add more MIME types 2020-03-01 00:23:13 +03:00
Gijs Noorlander 9b5defe204 [Build Size] Fix build issue in WebServer_FileList for SD card support 2020-02-28 11:09:14 +01:00
TD-er c47a0df893 automatically updated release notes for mega-20200228 2020-02-28 02:30:24 +01:00
Gijs Noorlander 37538f4124 [Build Size] Replace all TXBuffer += calls where possible
The TXBuffer is a "header only" implementation.
This means it may be compiled "inline" and thus takes quite a bit of compiled code.
This makes the binary larger and slows the ESP down.

Now it is even possible to make core 2.6.3 builds using "minimal OTA".
The "Dev" build is roughly 55k smaller.
2020-02-28 02:28:03 +01:00
TD-erandGitHub 84be380946 Merge pull request #2908 from TD-er/bugfix/P081_cron_memleak
[Cron] Fix memory leak and make it a bit easier to use
2020-02-27 20:03:36 +01:00
Gijs Noorlander bec65282de [Cron] Fix memory leak 2020-02-27 19:19:25 +01:00
Gijs Noorlander 9ef8fc89e4 [Cron] Use task data object to only parse expression when changed
Also included some debug helper logs to track the memory leak.
2020-02-27 12:01:42 +01:00
Gijs Noorlander 87a89c4c1b [Cron] Add warning about the memory leak 2020-02-26 22:56:32 +01:00
Gijs Noorlander 6a5e622d58 [docs] Document RTC memory 2020-02-26 22:54:58 +01:00
Gijs Noorlander e67fc02186 [Cron] Memory leak in calling Cron lib code
There are more leaks, but this at least does help a bit.
2020-02-26 22:54:27 +01:00
TD-erandGitHub 479bd9499a Merge pull request #2905 from TD-er/bugfix/cron_plugin
[Cron] Fix handling bogus last/next times + restructure code
2020-02-26 14:43:14 +01:00
TD-erandGitHub 861b7ca912 Merge pull request #2906 from TD-er/bugfix/ntp_result_2886
{NTP] Validate replies + store time in RTC
2020-02-26 14:42:19 +01:00
Gijs Noorlander 270004b1be [Cron] Only update last/next times if cron elapsed
When also updating the last/next times as the time is updated, a cron interval may be skipped while it was just about to be executed.
2020-02-26 14:27:47 +01:00
Gijs Noorlander 10093009fe [Cron] Call systmTimePresent() function to check if we have any time set
We do need to have some idea of time for this plugin.
2020-02-26 14:25:14 +01:00
Gijs Noorlander b15aeb16fc [Time] Store system time in RTC and restore at warm boot (no deep sleep)
Sometimes a unit may crash and is not able to connect to WiFi.
But time based rules or the cron daemon may not work when there is no concept of time.

This stores the last known system time in RTC memory to keep track of time.
It can also be used for some diagnostics while it is also sent to log what the last known time was before the crash/reboot.

Each normal reboot does cause a "shift" in time of roughly -1 second. Abnormal (warm) reboots may add more as those may have been the result of watchdog reboots.
2020-02-26 13:55:03 +01:00
Gijs Noorlander c345b10b5f [NTP] Validate returned NTP packet before using + rate limit requests
Fixes: #2886
2020-02-26 12:09:36 +01:00
Gijs Noorlander b994344bff [Cron] Fix mistake of generating incorrect event task name. 2020-02-26 02:10:50 +01:00
Gijs Noorlander ff53e7477a [Cron] Fix handling bogus last/next times + restructure code
The plugin was assuming the values stored in UserVar were correct.
After a cold boot, or when the NTP time (or via GPS) was not yet set, these values for last time or next time could be just about any value.
This means it was possible the Cron task would never fire an event if the next time was computed far in the future.

Also restructured the code a bit, to make it more readable.
2020-02-26 01:57:38 +01:00
TD-erandGitHub 18f5ff9492 Merge pull request #2904 from TD-er/feature/enable_disable_command
[Commands] Update docs + add task/controller enable/disable commands
2020-02-25 17:08:06 +01:00
Gijs Noorlander 6ce3e74029 [docs] Document P036 Framed OLED 2020-02-25 17:06:51 +01:00
Gijs Noorlander 1094144f1a [docs] Document P081_Cron 2020-02-25 15:33:36 +01:00
Gijs Noorlander 5f11850bb8 [Commands] Update docs + add task/controller enable/disable commands
Also removed ProtocolIndex from the event struct as it is redundant information which can easily be forgotten to set.

Sorted the described commands in the documentation and added a few missing commands.
2020-02-25 11:56:08 +01:00
TD-erandGitHub 27d52de861 Merge pull request #2902 from TD-er/bugfix/remove_div100ths
Bugfix/remove div100ths
2020-02-25 00:22:14 +01:00
TD-erandGitHub 19d05a5949 Merge pull request #2900 from Grovkillen/benchmakr_rule
[Benchmark] fixed incorrect syntax in rule
2020-02-25 00:15:44 +01:00
TD-er 0397eae003 [Rules] Use curly braces for string conversion commands 2020-02-24 23:40:04 +01:00
TD-er 6022fc5837 [Rules] Remove [div100ths:...] as it is too specific
Will add a more generic variant later.
2020-02-24 22:50:10 +01:00
Grovkillen 9425eb8bea [benchmark] fixed incorrect syntax 2020-02-24 20:52:30 +01:00
GrovkillenandGitHub d1cf9f977d Merge pull request #4 from letscontrolit/mega
update
2020-02-24 19:58:42 +01:00
TD-erandGitHub 5d3813bd3c Merge pull request #2828 from crathje/mega
[Rules] [Feature Request] Adding support for substring and hex parsing
2020-02-24 13:05:26 +01:00
Gijs Noorlander 079e84b3d3 [Rules] Make nested string modification commands possible 2020-02-24 13:02:12 +01:00
Gijs Noorlander 99bb53753e Add note to optimize code 2020-02-24 01:57:44 +01:00
Gijs Noorlander 4a19cc8b77 [docs] Document string handling in rules (PR #2828 )
Closes: #2828
2020-02-24 01:46:35 +01:00
TD-erandGitHub 9146a282ca Merge branch 'mega' into mega 2020-02-24 01:39:35 +01:00
TD-erandGitHub abc1149abc Merge pull request #2898 from TD-er/revert_workaround
Revert "Work-around for breaking change in Arduino core lib"
2020-02-23 23:18:29 +01:00
Gijs Noorlander 62437c0aee Revert "Work-around for breaking change in Arduino core lib"
This reverts commit fc5d674f66.
2020-02-23 23:16:44 +01:00
TD-erandGitHub 7dc4101faa Merge pull request #2630 from TD-er/feature/CC811
[CCS811] Plugin 089 CCS811 TVOC/eCO2
2020-02-23 11:09:37 +01:00
Gijs Noorlander 9e960fe5be [Travis] Remove Unicode characters from source code 2020-02-23 00:59:55 +01:00
Gijs Noorlander 32c7ee2509 Remove a inadvertently added change for schedule_all_task_device_timers
No idea how that change of removing the comments on that line was included in this PR.
2020-02-23 00:53:08 +01:00
Gijs Noorlander a15955979a [CCS811] Act on each reading, but only send to controller on PLUGIN_READ
The same as been done in P083_SGP30.
2020-02-23 00:11:52 +01:00
Gijs Noorlander 4b8c1b8a53 [CCS811] remove nonsense <TD>
As reported by @dimov-cz
2020-02-22 22:53:27 +01:00
Gijs Noorlander 7886b9af11 [CCS811] Rename P089 to P090 2020-02-22 22:53:27 +01:00
Gijs Noorlander 0fb9b3c9db [CC811] Rename file to _P090... 2020-02-22 22:53:27 +01:00
Gijs Noorlander 1735ea5bfb [CCS811] Fix compile error unused variable 2020-02-22 22:53:27 +01:00
Gijs Noorlander 05f1134d9c [CCS811] Plugin 089 CCS811 TVOC/eCO2
Taken from Playground and adapted a bit to use modern coding style
2020-02-22 22:53:27 +01:00
stefanandGijs Noorlander 8cb52d2e62 Auto stash before merge of "mega" and "origin/mega" 2020-02-22 22:51:39 +01:00
TD-erandGitHub 87a4ab4d93 Merge pull request #2895 from TD-er/bugfix/sgp30
Fix SGP30 plugin (#2586)
2020-02-22 22:50:15 +01:00
Gijs Noorlander fc5d674f66 Work-around for breaking change in Arduino core lib
See breaking commit: https://github.com/esp8266/Arduino/commit/4eca62cb530297d98c00f463dba03113811a444e
2020-02-22 21:57:58 +01:00
Gijs Noorlander 045e9ddd19 [Docs] Added doc stubs of recently added plugins 2020-02-22 21:37:53 +01:00
Gijs Noorlander a3706f5530 [SGP30] Quick update + Store baseline info for quick init
The sensor cannot output useful values after the IAQ init.
So we now keep track of the last known baseline values and restore them after the sensor is initialized.
For example after a reboot or a crash.

Also the values of TVOC = 0 and eCO2 = 400 will be ignored as new values right after sensor init.
2020-02-22 20:54:39 +01:00
Gijs Noorlander 228d940cb6 [P083 SGP30] Read SGP30 sensor according to specs
The sensor was performing IAQ init for every read, while it should only be done at init of the sensor.
The IAQ measurement should be performed every second.
2020-02-22 19:34:50 +01:00
Gijs Noorlander 5160703d58 Update Adafruit library for SGP30 sensor 2020-02-22 15:56:26 +01:00
TD-er c3d2d013d3 automatically updated release notes for mega-20200222 2020-02-22 00:06:14 +01:00
TD-erandGitHub 9112787fa5 Merge pull request #2825 from TD-er/bugfix/Thingspeak_MQTT
[MQTT] Make clean session and LWT optional for ThingSpeak MQTT
2020-02-21 19:10:55 +01:00
Gijs Noorlander 34e378e274 [MQTT] Make clean session and LWT optional for ThingSpeak MQTT
As discussed [on the forum](https://www.letscontrolit.com/forum/viewtopic.php?f=6&t=7261)
2020-02-21 18:57:11 +01:00
TD-erandGitHub 01925efc19 Merge pull request #2874 from TD-er/bugfix/rn2483_blocking
[RN2483] Fix LoRa packed encoding
2020-02-21 18:46:23 +01:00
Gijs Noorlander b473759d10 [JSON] Fix pinstates_json for empty list 2020-02-21 17:47:10 +01:00
Gijs Noorlander 664430cfd2 Sync ESPEasySerial library + increase version to 1.0.14 2020-02-21 16:58:01 +01:00
Gijs Noorlander b6d05bf3ac Merge remote-tracking branch 'origin/bugfix/rn2483_blocking' into bugfix/rn2483_blocking 2020-02-21 16:48:38 +01:00
Gijs Noorlander c8c12a0a3a [JSON] endpoint "buildinfo" declares plugins twice #2836
Fixes: #2836
2020-02-21 16:48:24 +01:00
TD-erandGitHub fe4228b2ff Merge branch 'mega' into bugfix/rn2483_blocking 2020-02-21 16:30:03 +01:00
Gijs Noorlander 18405c655a Add some function callbacks to allow parse plugins#2888
As requested by @FanOfHue in #2888
2020-02-21 16:27:07 +01:00
Gijs Noorlander 456acad09f [Generic HTTP] Fix URL encoding for variable replacement (#2878)
Fixes: #2878
2020-02-21 15:37:52 +01:00
GrovkillenandGitHub 4ad06470b7 Merge pull request #3 from letscontrolit/mega
update from master
2020-02-21 15:28:12 +01:00
Gijs Noorlander c83c1d7bc4 [RN2483] Quick work-around to force SW serial for LoRa module
As is needed for a PCB I am working on, where I use the pins of Serial0_switched but also need the Serial0 to be HW serial.
2020-02-21 15:04:41 +01:00
Gijs Noorlander 3631030e00 [JSON] Add lowest TTL to highest level in JSON output
Needed for new UI
2020-02-21 15:01:38 +01:00
GrovkillenandGitHub 619600f99c Merge branch 'mega' into mega 2020-02-21 14:58:54 +01:00
TD-erandGitHub 15c0c2d9df Merge pull request #2887 from ToniA/HeatpumpIR
P088_HeatpumpIR to use HeatpumpIRFactory (#2884)
2020-02-21 13:26:52 +01:00
Gijs Noorlander 20168761a7 [GPIO settings] Allow to save changing GPIO pin to "not used"
Once a GPIO setting of a plugin was changed to use some pin, it was impossible to change it back to "not used"
2020-02-18 18:36:44 +01:00
Gijs Noorlander 3e87d6f1ed [Controllers] Make sure forward declaration of do_process_xx_delay_queue is on single line
If this is somehow changed in a multi line forward declaration, it may cause build issues.
2020-02-18 18:35:15 +01:00
Gijs Noorlander d97febf52e [MQTT controller] Add checks & --connectionFailures on publish success 2020-02-18 15:24:55 +01:00
Gijs Noorlander d78d382664 [Controller] Fix connection failure counts (#2893)
See discussion of #2893
2020-02-18 00:26:13 +01:00
Gijs Noorlander ebd0dcf7c2 [RN2483] Add some example code for new RN2483 library
Since I have rewritten the entire library, I may also add some short example code to illustrate the new async features.
2020-02-17 23:28:24 +01:00
TD-er da5c15258e [WiFi] Increase delay after turning on WiFi
See also #2886
This does make sure the initial network connection can transfer data.
On some nodes it took a lot of attempts to get a connection established right after boot.
2020-02-17 01:14:40 +01:00
TD-er 473d832186 [RN2483] Small fixes in display strings and library examples 2020-02-17 01:11:08 +01:00
TD-er 6d321b256c Fix compile issue in ArduinoUnoNano-downlink.ino example 2020-02-16 19:53:13 +01:00
TD-er 64fea7bcf2 [RN2483] Fix build issues 2020-02-16 18:50:44 +01:00
Gijs Noorlander b3ec99c2c3 [RN2483] Move functions and members to helper class. 2020-02-16 17:13:04 +01:00
Gijs Noorlander 96dc568800 [RN2483] Status bits depend on firmware rev. number
This means some knowledge should be split into separate classes and made available for the Status class.
2020-02-16 15:04:28 +01:00
Gijs Noorlander 366ffe26fb [Controllers] Add the new 10/s and 50/s calls for controllers time stats 2020-02-16 02:03:22 +01:00
Gijs Noorlander 3c5e9389fa [RN2483] Make OTAA join work async
It does take about 7 seconds to perform OTAA, so make sure we don't have to wait for it to finish now we can do all in async mode.
2020-02-16 02:02:34 +01:00
Gijs Noorlander 24b6364d08 [RN2483] Fix OTAA and ABP join issues 2020-02-16 00:38:24 +01:00
Toni f3b788ada1 P088_HeatpumpIR review fixes (#2884) 2020-02-15 16:47:31 +02:00
Toni aba69b7235 P088_HeatpumpIR to use HeatpumpIRFactory (#2884)
* HeatpumpIR library update to 1.0.12
2020-02-15 14:52:52 +02:00
Gijs Noorlander 86c2b3b9fe [Controllers] Make CPlugin functions in to enum class
The functions used to call CPlugins are now part of an enum.

This also means the compiler can help to detect when some functions are not dealt with in a switch statement.
2020-02-14 21:52:04 +01:00
Gijs Noorlander b0fc381b27 [Notifiers] Make NPlugin functions into enum-class
As suggested by @uzi18 should the plugin function defines be an enum instead of defines.
This will allow to do compile time checks and also check whether all cases are handled.
2020-02-14 17:16:55 +01:00
Gijs Noorlander c3ddba012c [Controller] Make more controller parameters optional for a controller 2020-02-14 14:55:48 +01:00
Gijs Noorlander 9c08ec8a67 [Controller] Add CPLUGIN_FIFTY_PER_SECOND function 2020-02-13 19:52:12 +01:00
Gijs Noorlander af5bc7174c [RN2483] Make calls non blocking using state machine
The calls to the existing library were blocking, so they could take a long time to send a message (over 2 seconds)
Now the library is using a state machine and the handling can be dealt with by calling the ...loop functions frequently.
2020-02-13 18:30:22 +01:00
Gijs Noorlander 632169acc3 [RN2483] Fix proper reset and autobaud of RN2483 LoRa module 2020-02-10 21:50:05 +01:00
Gijs Noorlander 18653180af [Custom.h] Add some password defaults for factory default settings
A pre-defined default controller could not have its user/pass credentials set in  factory default.
2020-02-10 12:21:22 +01:00
Gijs Noorlander 999056d241 [RN2483] Fix LoRa packed encoding
A recent optimization in the code broke the LoRa packed encoding.
2020-02-10 12:21:22 +01:00
TD-erandGitHub a6031ce6d6 Merge pull request #2876 from ToniA/HeatpumpIR
HeatpumpIR 1.0.11 update, P088_HeatpumpIR support for Mitsubishi MSC …
2020-02-10 11:25:19 +01:00
ToniandGitHub 34bf3dae92 Update _P088_HeatpumpIR.ino, include files in alphabetical order 2020-02-10 12:07:42 +02:00
TD-erandGitHub 608963e618 Merge pull request #2870 from jimmys01/ir-up
[IR TX RX} IR library update
2020-02-10 09:58:40 +01:00
Boris Krivonog 2b38e7bcaa fixed compile time warnings 2020-02-10 08:53:13 +01:00
uwekaditz b31e6455dd Merge tag 'mega-20200204' into UweKaditz 2020-02-08 16:39:16 +01:00
Boris Krivonog 6c1edfa9e3 reverted changes made in other files 2020-02-07 20:45:19 +01:00
Boris Krivonog 909a3f477d reverted changes made in other files 2020-02-07 20:41:27 +01:00
Boris Krivonog 8b76191fe5 reverted changes made in other files 2020-02-07 20:33:43 +01:00
Toni 5f0b4f0d6f HeatpumpIR 1.0.11 update, P088_HeatpumpIR support for Mitsubishi MSC and Mitsubishi Heavy FDTC 2020-02-05 18:58:50 +02:00
jimmys01 5694e91712 Merge remote-tracking branch 'upstream/mega' into ir-up 2020-02-05 13:22:43 +02:00
TD-erandGitHub 6b84d65d1a [Controller] Fix controller name not found
The check for included controller was incorrect, so the controller name was stating not to be included in the build.
2020-02-05 10:50:19 +01:00
TD-er 7621e473a1 automatically updated release notes for mega-20200204 2020-02-04 23:31:47 +01:00
TD-erandGitHub e74e805ef1 Merge pull request #2873 from TD-er/docs/Rules_example
[docs] added rules example + fixed S11 (P052) links
2020-02-04 22:51:36 +01:00
TD-erandGitHub d254ffbf7e Merge pull request #2864 from TD-er/bugfix/rn2483_controller
[Controllers] Restructure protocolIndex / controllerIndex and cplugin_ID
2020-02-04 22:50:20 +01:00
Gijs Noorlander 058bdd645f [docs] Corrected supported SenseAir sensors in docs 2020-02-04 17:21:30 +01:00
GrovkillenandGijs Noorlander 661026f3a7 [docs] added rules example + fixed S11 (P052) links 2020-02-04 17:14:35 +01:00
Gijs Noorlander 3f62778765 Fix unexpected string padding in parseTemplate (#2866)
The extra padding to a minimal line length does only make sense for use on displays and some special formatting.
So the majority of the uses of parseTemplate now uses 0 as minimum line length.

Fixes: #2866
Closes: #2867 (superseeds PR)
2020-02-04 17:06:15 +01:00
Grovkillen b72c3d9d64 [docs] added rules example + fixed S11 (P052) links 2020-02-04 14:29:45 +01:00
Gijs Noorlander 8b110572d6 [WIFi] Fix crashes with fixed IP 2020-02-03 23:52:43 +01:00
Gijs Noorlander 3919cffba1 [PIO] Update to core 2.6.3 2020-02-03 20:26:38 +01:00
Boris Krivonog 0f8cc9a972 Added info about which specific commit used. 2020-02-03 08:28:48 +01:00
jimmys01 3968f06b1c Ir-Update 2020-02-01 16:27:52 +02:00
TD-er fe5a15a8ab [Controller] Optimization by reducing number of checks.
As discussed [here](https://github.com/letscontrolit/ESPEasy/pull/2864#issuecomment-580894393)
2020-01-31 21:55:09 +01:00
Boris Krivonog 6962f1ad22 don't read during write, don't request info we don't care about ... 2020-01-29 22:06:35 +01:00
Boris Krivonog fddf2dfed2 renamed to settings 2020-01-29 20:26:46 +01:00
Boris Krivonog ce5f40b3fb if update was successful, update settings immediatelly 2020-01-29 15:55:07 +01:00
Boris Krivonog 9839e008f2 logs fixed 2020-01-29 11:50:13 +01:00
Boris Krivonog 9ac6c72249 logging ... 2020-01-28 14:59:36 +01:00
Boris Krivonog 452602ed3a write all parameters 2020-01-28 13:38:17 +01:00
Boris Krivonog b827603c84 set temperature ... 2020-01-28 12:47:34 +01:00
Boris Krivonog e255c695fd added update ... 2020-01-28 10:15:32 +01:00
Boris Krivonog 6212ba30f1 unified code read and update 2020-01-28 09:02:08 +01:00
Gijs Noorlander baa68b92f8 Revert "[WiFi] Improve reconnect management"
This reverts commit 91b7b3b9a2.
2020-01-27 22:32:13 +01:00
Boris Krivonog 07fac1dbd4 push on change 2020-01-27 19:54:04 +01:00
Gijs Noorlander 6e5034c176 [Build] Add compile time checks to make sure offsets in settings are OK
Compute some offsets of members in settings struct and security struct to make sure padding doesn't differ among builds on different platforms.
2020-01-27 13:25:40 +01:00
Boris Krivonog 72ffd5c7ef push on change 2020-01-27 12:54:38 +01:00
Gijs Noorlander d8d86c8b38 [RN2483] Add option to reset LoRa module using reset pin
Still not working well on RN2483 with firmware 1.0.1 and a slow rising voltage at power on.
2020-01-26 22:44:16 +01:00
Gijs Noorlander a74098e593 [Controllers] Restructure protocolIndex / controllerIndex and cplugin_ID
This was rather messy code and no checks.
It is now somewhat similar to the code for plugins defining the relation between:
- Plugin ID
- Task Index
- Device Index.
2020-01-26 22:29:41 +01:00
Boris Krivonog 7aa369830e first contact 2020-01-25 21:06:43 +01:00
TD-erandGitHub 36b1bb1d56 Merge pull request #2862 from TD-er/feature/custom_1M
Feature/custom 1 m
2020-01-25 14:23:58 +01:00
Gijs Noorlander b1255ccd44 [Build] Add 1M custom build to platformio.ini 2020-01-25 14:21:54 +01:00
Gijs Noorlander 2b5a4e917b [Controller] Add CPLUGIN_TEN_PER_SECOND call for controllers 2020-01-25 14:13:34 +01:00
Boris Krivonog 70397f90e6 Added device values. 2020-01-23 15:31:16 +01:00
Boris Krivonog ab2a7e6d71 Initial commit of the Mitsibutshi HP integration. 2020-01-23 15:16:21 +01:00
TD-erandGitHub d8d2121369 Merge pull request #2858 from jimmys01/patch-2
[Zabbix] Update usage info
2020-01-21 13:21:50 +01:00
jimmys01andGitHub 332401c632 [Zabbix] Update usage info 2020-01-20 13:04:59 +02:00
TD-erandGitHub b747fa571e Merge pull request #2826 from TD-er/bugfix/lower_case_argparse
[LCD] Fix incorrect convert to lower case for LCD texts
2019-12-28 01:38:47 +01:00
TD-erandGitHub e15b83558b Merge pull request #2783 from jimmys01/ir2
[IR] Change default state of the lights if missing from JSON AC command
2019-12-25 14:20:34 +01:00
Claas Anders Rathje 75dbf3bc91 Avoiding deepcopy on command pass.
Checking for closing character ].
Switched to if else if.
Copied command string to get a lowercase representation.
2019-12-24 15:30:37 +01:00
Claas Anders Rathje f450a447bb Added [ord: to get integer value of a string/character. 2019-12-23 17:27:26 +01:00
Michael SchröderandGitHub caa48f111b Merge from letscontrolit/mega
Update to actual Mega
2019-12-23 14:11:52 +01:00
Claas Anders Rathje d238593ac0 Added checks for valid integers as suggested by TD-er
Merged the functions as suggested by TD-er
2019-12-22 22:59:35 +01:00
Claas Anders Rathje 031888f024 Fixed wildcard matching which only checked up to one character before the actual wildcard and not up to the wildcard. 2019-12-22 16:35:17 +01:00
uwekaditz 2fc704fc13 [P093] Documentation updated 2019-12-20 22:50:41 +01:00
uwekaditz 6a2fb056a0 [P092] Documentation updated
NEW: More devices
CHG: can be compiled by sphinx without warnings or errors
2019-12-20 21:04:32 +01:00
Claas Anders Rathje 5842171900 Adding support for
* substring
* strtol (useful for converting hex or binary numbers)
* 100ths division
in eventvalue parsing.

Using this modification I am able to handle the messages sent from Opentherm Gateway ( http://otgw.tclcode.com/ ) and to set variables of a dummy device in rules.

Example:
* Message coming from the serial interface: T101813C0
** The B denotes that the message is from the boiler.
** The next 4 bytes (actually 2bytes hex encoded) denote the status and type of the message.
** the last 4 bytes (actually 2bytes hex encoded) denote the payload.
* Message that ends up in rules when using ser2net (P020) and Generic handling: !Serial#BT101813C0

The room temperature in this sample is 19.75°C

Rule used to parse this and set a variable in a dummy device:
// Room temperature
on !Serial#T1018* do
TaskValueSet 2,1,[strtol:16:[substring:13:15:%eventvalue%]].[div100ths:[strtol:16:[substring:15:17:%eventvalue%]]:256]
endon

Now the variable can be used in the rules/controller/log/whatever.
2019-12-20 18:16:15 +01:00
Gijs Noorlander 1b3e6b34fc [LCD] Fix incorrect convert to lower case for LCD texts 2019-12-19 22:14:58 +01:00
uwekaditz 078d60d27d [P092] More documentation added
NEW: docs for ESR21 and UVR31 units
2019-12-19 22:11:01 +01:00
TD-erandGitHub 0863059e11 Merge pull request #2820 from TD-er/bugfix/send_http
[Parse Templates] Allow to refer to variables in controllers (#2818)
2019-12-18 10:08:05 +01:00
uwekaditz aa4724cecf [P092] Documentation added
NEW: documentation
2019-12-16 12:06:13 +01:00
TD-er 52f15eaa57 [SendToHttp] Add setting for waiting for ack 2019-12-16 00:05:52 +01:00
TD-er c0eb4ec28f [Parse Templates] Allow to refer to variables in controllers (#2818)
Fixes: #2818
2019-12-15 21:59:41 +01:00
TD-er 60c33b4137 [HTTP] Add HTTP Accept header 2019-12-15 21:57:30 +01:00
uwekaditz 44d407210f [P092] Changes requested by TDer
CHG: variable to calculate RequiredBitStreamLength
CHG: function usecPassedSince() is long
2019-12-15 15:26:25 +01:00
uwekaditz 61fbfe9f45 [P092] Memory usage optimized
CHG: Moved the array for the received bit changes to stativ uint_8t, the ISR call uses only a volatile pointer to it
CHG: some more defines and name changes for better explanation
2019-12-15 14:38:13 +01:00
uwekaditz f8003c7be3 [P092] Timing optimized
Removed the while (P092_receiving) loop.
Starting of the receiving and processing of the received bit stream iare now done in the PLUGIN_ONCE_A_SECOND call
PLUGIN_READ call just uses the already processed data
2019-12-14 22:49:57 +01:00
uwekaditz db1bb1aa07 Update _P092_DLbus.ino
Removed all commits I merged in the mega branch
2019-12-14 21:00:34 +01:00
uwekaditz 4a533abb0a Merge branch 'UweKaditz' of https://github.com/uwekaditz/ESPEasy into UweKaditz 2019-12-14 20:56:11 +01:00
TD-erandGitHub 345cf2b7ec Merge pull request #2811 from TD-er/bugfix/pubsubclient_connected
[MQTT] Fix change in client.connected() behavior for pubsubclient
2019-12-11 13:25:00 +01:00
TD-erandGitHub 3ae3b457d6 Merge pull request #2809 from Grovkillen/mega
[DOCS] P052 Senseair S11 added
2019-12-11 12:36:22 +01:00
Gijs Noorlander 91b7b3b9a2 [WiFi] Improve reconnect management
Use of  connection failure threshold is now also trying to disconnect/reconnect a number of times before reboot.
2019-12-11 11:18:04 +01:00
Gijs Noorlander 8d5b44ca1c [MQTT] Fix change in client.connected() behavior for pubsubclient
See this issue where the changes in behavior for wificlient.connected() is discussed: https://github.com/esp8266/Arduino/issues/6701

A change dating back to April 2018 ( https://github.com/esp8266/Arduino/pull/4626 ) does have some implications on how to interpret the client.connected() result.
It is very well possible there is still data in the buffers waiting to be read.
So the loop() function of pubsubclient should first try to empty the received data and then decide what to do with the connected state.

So reading is fine, if there is data available, but writing needs an extra check.
2019-12-10 10:11:14 +01:00
Grovkillen 639511cd01 [DOCS] S11 re-phrased a sentance 2019-12-10 09:27:19 +01:00
Grovkillen d37edbfea6 [DOCS] S11 fixed PR after Gijs review 2019-12-10 09:21:56 +01:00
TD-erandGitHub fd86c93ee7 Merge pull request #2810 from uzi18/dallas
LM75A - add multiple sensors support #2808
2019-12-10 09:10:20 +01:00
Bartlomiej Zimon 7f7a61e451 Merge branch 'mega' of github.com:letscontrolit/ESPEasy into dallas 2019-12-09 22:07:36 +00:00
Bartlomiej Zimon 819f9ba4d1 LM75A - add multiple sensors support #2808 2019-12-09 22:05:21 +00:00
Grovkillen baf0dd7210 [DOCS] S11 fixed some incorrect data 2019-12-09 22:03:54 +01:00
Grovkillen 80eb56ac61 [DOCS] P052 Senseair S11 added 2019-12-09 21:59:55 +01:00
GrovkillenandGitHub 4ae0a976d6 [README] updated with link to ICONS8
The new GUI will use icons from ICONS8 and since they are giving us a free premium account we thank them by linking to their web site.
2019-12-09 09:03:04 +01:00
uwekaditz 54b7099aaa Update _P092_DLbus.ino 2019-12-08 22:30:50 +01:00
uwekaditz 8859de6fd0 [P092] New PlugIn to decode the DL-Bus
Added to PLUGIN_SET_STABLE
Basic documentation added
2019-12-08 20:16:02 +01:00
TD-er 7fc1d06193 automatically updated release notes for mega-20191208 2019-12-08 18:35:07 +01:00
Gijs NoorlanderandGitHub 96045b6f01 Merge pull request #2803 from TD-er/bugfix/json_missing_braces
[JSON] Fix issues with generated JSON
2019-12-08 18:13:34 +01:00
Gijs Noorlander 5575d152de [JSON] Extend timing stats JSON end point with controller and misc stats 2019-12-08 17:34:17 +01:00
Gijs Noorlander b28645eba3 [JSON] Fix non valid timing stats json when no plugins defined (#2767)
On nodes without any plugins defined, the timing stats json would be invalid.
2019-12-08 16:49:57 +01:00
uwekaditz 1395d168be [P092] New PlugIn to decode the DL-Bus
The DL-Bus is used in heating control units e.g. sold by Technische Alternative (www.ta.co.at).
The idea for this plug-in is based on Martin Kropf's project UVR31_RF24 (https://github.com/martinkropf/UVR31_RF24)
The plug-in is tested and workis fine for the ESR21 device.
The plug-in should be also able to decode the information from the UVR31, UVR1611 and UVR 61-3 devices but not tested yet.
The selected input needs a voltage divider as follows because the DL-Bus runs on 12 volts.
2019-12-08 16:20:16 +01:00
Gijs Noorlander ab5aae2cdf [JSON] Fix issues with generated JSON
Some JSON was invalid, for example when the closing entry of a list was optional (WiFi scanner)
The generated JSON for the I2C scanner was a bit useless, so made it more useful by only outputting addresses which have some device and included the list of supported devices.
2019-12-08 14:57:38 +01:00
Gijs NoorlanderandGitHub 8b19ee5a16 Merge pull request #2802 from TD-er/bugfix/detect_incomplete_rules
[Rules] Add some checks for rules consistency before saving
2019-12-07 20:33:47 +01:00
Gijs NoorlanderandGitHub 5b47e998be Merge pull request #2798 from TD-er/feature/build_SD
[FEATURE_SD] Add build in Platformio.ini with SD enabled (#2700 )
2019-12-07 20:33:18 +01:00
Gijs NoorlanderandGitHub b1629417f0 Merge pull request #2800 from clumsy-stefan/fix_arduinoIDE_include
Fix Arduino IDE include path
2019-12-07 20:31:17 +01:00
Gijs Noorlander aa149dce73 [Rules] Add check for correct received POST data when saving rules
I  added a very basic JavaScript line to the rules page, where it appends the length of the rules.
Only problem is that the length in JavaScript is with a newline counted as \n and it outputs to the node with a newline as \r\n, so there is an offset of 1 byte per line.
But still gives me a good indication whether data is lost, which happens quite a lot when you cross the 1600 bytes

Known issue:
If you try to save and it fails, then the stored rules will be shown (not the one you just tried to submit)
2019-12-07 17:47:53 +01:00
Gijs Noorlander 389b62b429 [Rules] Add some checks for rules consistency before saving
The web arguments may get corrupted sometimes.
This can be due to another request mangling the already parsed arguments, or lack of memory to split the sent arguments into parsed ones.
2019-12-07 17:47:04 +01:00
jimmys01 7d9195f3df Merge remote-tracking branch 'upstream/mega' into ir2 2019-12-05 11:19:40 +02:00
stefan a2c4dcebf1 Fix Arduino IDE include path 2019-12-05 09:51:30 +01:00
Gijs NoorlanderandGitHub 6ac33ed499 Merge pull request #2797 from TD-er/bugfix/rules_asyncevent
[Events] Run events from rules immediately + add AsyncEvent command
2019-12-04 16:26:23 +01:00
Gijs Noorlander 4e4e6b7fb6 [FEATURE_SD] Add build in Platformio.ini with SD enabled (#2700 )
Fixes: #2700 

This does make sure we build more often with `FEATURE_SD` and `FEATURE_MDNS` enabled.
2019-12-04 15:49:47 +01:00
Gijs Noorlander ddf44e8d49 [Events] Run events from rules immediately + add AsyncEvent command
It appears the events called from rules must be run immediately, but there are some use cases where it can be useful to have async events.
So changed back the behavior for events called from rules, to be executed immediately.
Added the new command AsyncEvent.
2019-12-04 15:45:36 +01:00
GrovkillenandGitHub d81e687d4a Merge pull request #2 from letscontrolit/mega
from master
2019-12-04 12:41:37 +01:00
Gijs NoorlanderandGitHub 0c6e6ca915 Merge pull request #2785 from TD-er/bugfix/uniform_command_call
[Rules] Parse template for all command calls
2019-12-04 12:30:03 +01:00
Gijs Noorlander 099a2071c7 [Commands] Add flag to be a bit more tolerant in last argument parsing
A lot of people were running into issues with some commands no longer working after the changes of strict rules parsing.

This flag in the advanced settings may help out a bit.
Also the logs are made a bit more elaborate to describe the issue.
2019-12-04 11:54:41 +01:00
Gijs Noorlander 701001d3e6 [Commands] Proper error logs when processing commands.
See comment here: https://github.com/letscontrolit/ESPEasy/issues/2791#issuecomment-560169364
2019-12-03 19:20:43 +01:00
Gijs Noorlander 9c384eec80 [Rules] Execute some events asynchronous
We already had a EventBuffer, which was mainly used by received events from a controller.
This was only 1 element long, so events could be missed.
This is now changed into a queue, which will be processed in the 10/sec call.
Events will now be stored in the queue, unless there is a need for them to be executed immediately (for example if the source is waiting for a reply)

Events generated in the rules by the event command will also be executed immediately.
2019-12-03 19:20:43 +01:00
Gijs Noorlander 836ad1397b [Rules] Parse template for all command calls
Until now a lot of ways to handle a command were handling the pre-processing of the command differently.
So the source of the command can make a difference whether system variables can be used for example.

Now all use the same function to pre-process the commands.
2019-12-03 19:20:43 +01:00
Gijs NoorlanderandGitHub 6c443a7dc6 Merge pull request #2789 from TD-er/bugfix/2757_wifi_warm_boot
[WiFi] Call WiFi disconnect in setup() (#2757)
2019-12-03 19:17:57 +01:00
Gijs Noorlander b465149ddf [WiFi] Call WiFi disconnect in setup() (#2757)
The WiFi.disconnect() ensures that the WiFi is working correctly. If this is not done before receiving WiFi connections,
those WiFi connections will take a long time to make or sometimes will not work at all.
2019-12-03 18:23:36 +01:00
Gijs NoorlanderandGitHub 5c00e2aee8 Merge pull request #2792 from TD-er/bugfix/WiFi_reconnect
[WiFi] Use last known BSSID & channel from RTC + MQTT fixes
2019-12-03 18:21:44 +01:00
Gijs Noorlander d4c6c05e3f [PIO] Don't use Python 3 specific since Travis still uses Python 2.7 2019-12-03 17:25:45 +01:00
Gijs Noorlander 9fd27284fc [PIO] Fix build failure due to incorrect flags. 2019-12-03 17:17:13 +01:00
Gijs Noorlander a3a10f23f1 [WiFi] Improve ESP32 WiFi connect + fix mDNS updates 2019-12-03 12:22:23 +01:00
jimmys01andGitHub d5e90de5b3 Add the ' to the example command format 2019-12-02 10:26:59 +02:00
Gijs Noorlander e75702eec8 [PIO] Update to core 2.6.2
And use new platform_packages syntax for the `regular_platform`
2019-12-01 23:52:32 +01:00
Gijs Noorlander 8c52881d54 [WiFi] Use last known BSSID & channel from RTC + MQTT fixes
Store the last used BSSID and channel in the RTC and use it for initial WiFi connect attempt.
This does speed up the WiFI connection to about 1.8 sec after boot.
Old situation was connected at about 3.9 sec after boot.

When booting from cold boot, the strongest known RSSI is chosen first.

MQTT controller queue handling is now more aggressive in trying to get rid of buffered packets.
It also now accepts the MQTT messages before it is connected to WiFi (or when not yet reconnected)
2019-12-01 23:26:20 +01:00
ESPEasy release bot 6c0bf15101 automatically updated release notes for mega-20191130 2019-11-30 00:31:17 +01:00
GrovkillenandGitHub bf093e78f5 Merge pull request #1 from letscontrolit/mega
update from master
2019-11-27 19:35:53 +01:00
jimmys01 86be35f905 [IR RX] Move enableIR_RX function to P016
Simplifies code for both P035 and P088
2019-11-27 11:20:08 +02:00
Gijs NoorlanderandGitHub b02c49c475 Merge pull request #2776 from baubau-lab/patch-1
[DHT]New DHT11 support decimal and negative values.
2019-11-27 10:00:18 +01:00
jimmys01 af572c7267 Merge remote-tracking branch 'upstream/mega' into ir2 2019-11-27 10:42:41 +02:00
jimmys01 b4b8b0b310 [P088] Optimize enabling and disabling of the RX while sending codes 2019-11-27 10:41:13 +02:00
Gijs NoorlanderandGitHub fc2bcabe2c Merge pull request #2604 from jimmys01/RX_pass_string_val
[IR] Sent decoded values back to the controller
2019-11-27 09:20:18 +01:00
ESPEasy release bot 0e7be6cc43 automatically updated release notes for mega-20191127 2019-11-27 09:17:00 +01:00
jimmys01 b6d2f68d29 [IR AC] Make sure that the JSON deserialization has enought space 2019-11-27 09:19:22 +02:00
Gijs NoorlanderandGitHub 2175e0fa46 Disable 16M and some custom builds from Travis
These builds (especially the custom ones) take quite some time to build and Travis was constantly exceeding max. build time.
Also the 16M builds (14 MB SPIFFS) are hardly useful, since they are way too slow to be practical.
2019-11-26 23:11:46 +01:00
ESPEasy release bot c13195647f automatically updated release notes for mega-20191126 2019-11-26 21:38:45 +01:00
jimmys01 fa85b7d208 [IR] Change default state of the lights if missing from JSON AC command
Also include the arduinojson library
2019-11-26 16:00:51 +02:00
Gijs NoorlanderandGitHub 5c2bf292f4 Merge pull request #2763 from uwekaditz/PullRequest
[P036] chars per line changed to 64, fixed overlapping while page scrolling
2019-11-25 19:39:13 +01:00
Gijs NoorlanderandGitHub 425f37f083 Merge pull request #2774 from TD-er/bugfix/Nextion_rules
[Nextion] Fix parsing rules for Nextion plugin (#2772)
2019-11-24 16:01:48 +01:00
Gijs Noorlander ae15fa5983 [Travis] Fix build error String.toDouble() is core 2.5.0 or newer. 2019-11-24 14:02:35 +01:00
Baubau-LabandGitHub 1a6e10a71f [DHT]New DHT11 support decimal and negative values.
New ASAIR brand DHT11 can support decimal and negative values.
Change conversion coding As same as DHT12.
Old type DHT11 also OK.

DHT11 datasheet. 2017-03-31 V1.3
4. 5.2 temperature parameter list to update the tabular form, measuring
range is 0 to 50 to - 20 to 60 .
2019-11-24 21:36:30 +09:00
Gijs Noorlander 4d7f377788 [Commands] Adapt all plugins to use parseString for parsing commands 2019-11-24 04:07:38 +01:00
Gijs Noorlander c63f3a28d5 [Nextion] Fix parsing rules for Nextion plugin (#2772)
Fixes: #2772
2019-11-23 12:53:45 +01:00
ESPEasy release bot 3697e3fa76 automatically updated release notes for mega-20191123 2019-11-23 04:00:16 +01:00
Gijs NoorlanderandGitHub 4bc2401f28 Merge pull request #2764 from TD-er/feature/custom_h_hostname
[Defaults] Add Hostname option for default controller (#2758)
2019-11-22 21:27:36 +01:00
uwekaditz 1d598d3586 Merge branch 'PullRequest' of https://github.com/uwekaditz/ESPEasy into PullRequest 2019-11-22 20:45:47 +01:00
uwekaditz 4a76eb1d54 Update _P036_FrameOLED.ino
CHG: Using P36_parseTemplate in PLUGIN_WRITE
2019-11-22 20:18:40 +01:00
uwekaditz cbd027b798 Update _P036_FrameOLED.ino
Changes requested by TD-er done
2019-11-22 20:04:54 +01:00
uwekaditz 5c331b4d34 [P036] chars per line changed to 64, fixed overlapping while page scrolling
CHG: Using a calculation to reduce line content for scrolling pages instead of a while loop
CHG: Using SetBit and GetBit functions to change the content of PCONFIG_LONG(0)
CHG: Memory usage reduced (only P036_DisplayLinesV1 is now used)
CHG: using uint8_t and uint16_t instead of byte and word
2019-11-22 18:27:34 +01:00
Gijs NoorlanderandGitHub cfeebbc87e Merge pull request #2769 from TD-er/build/changeSDK_20190703
[Build] Change to SDK 20190703 to improve WiFi
2019-11-22 13:33:36 +01:00
Gijs NoorlanderandGitHub 91db86b6e9 Merge pull request #2768 from uzi18/dallas
[switch] add support for pwm frequency change for ESP8266 #2653
2019-11-22 13:30:21 +01:00
Gijs NoorlanderandGitHub edd5cf4f10 Merge pull request #2765 from TD-er/build/add_1M_sdk3
[Build] Add normal_sdk3_ESP8266_1M
2019-11-22 13:29:58 +01:00
Gijs Noorlander cc4d324a17 [Build] Change to SDK 20190703 to improve WiFi
See:
- https://github.com/esp8266/Arduino/pull/6724#issuecomment-556243781
- https://github.com/esp8266/Arduino/issues/5784#issuecomment-557500450
2019-11-22 13:01:27 +01:00
Bartlomiej Zimon 9d0db7387a [switch] add support for pwm frequency change for ESP8266 #2653 2019-11-22 11:26:47 +00:00
Gijs Noorlander 3bb24c26bc [Build] Add normal_sdk3_ESP8266_1M
minimal_core_261_sdk3_ESP8266_1M_OTA is often just too large, so in order to be able to test SDK3 on 1M units, a normal SDK3 build is needed.
2019-11-22 11:06:17 +01:00
Gijs Noorlander 948039dcda [Defaults] Add Hostname option for default controller (#2758)
Fixes: #2758
2019-11-22 10:46:41 +01:00
uwekaditz 60c42faa73 P[036] chars per line changed to 64, fixed overlapping while page scrolling
CHG: Each line can now have 64 characters (version is saved as Bit23-20 in Settings.TaskDevicePluginConfigLong[event->TaskIndex][0]))
FIX: Overlapping while page scrolling (size of line content for scrolling pages is now limited to 128 pixel)
2019-11-22 10:05:30 +01:00
ESPEasy release bot 6cfd6d8325 automatically updated release notes for mega-20191122 2019-11-22 04:00:11 +01:00
Gijs NoorlanderandGitHub 17fbb47442 Merge pull request #2761 from TD-er/vagrant_envlist_sample
[Vagrant] Sample pio_envlist.txt file
2019-11-21 16:07:26 +01:00
Gijs Noorlander 833c13c99a [Vagrant] Sample pio_envlist.txt file 2019-11-21 16:06:53 +01:00
Gijs NoorlanderandGitHub d108815c83 Merge pull request #2743 from flo17/mega
Add options in custom.h to enable first controller at startup
2019-11-21 15:37:40 +01:00
Gijs NoorlanderandGitHub 6cd4e1756e Merge pull request #2756 from fmuntean/cleanWarnings
Clean Warning messages inside external libraries: AS_BH1750 & Adafruit
2019-11-21 15:36:03 +01:00
Gijs NoorlanderandGitHub d32e2683a4 Merge pull request #2744 from TD-er/feature/core261
[PIO] Cleanup platformio.ini and move to core 2.6.1 as default (#2742)
2019-11-21 15:17:40 +01:00
Gijs Noorlander d38d8ef937 [PIO] Update .travis.yml to include core 2.6.1 SDK3 builds 2019-11-21 14:27:55 +01:00
Gijs Noorlander fdf56056a6 [PIO] Use same build_flags def for _debug_ envs 2019-11-21 13:52:21 +01:00
Gijs Noorlander a1ede2f624 [New UI] Add /buildinfo JSON to give list of included plugins/controllers
For the new UI, we need to fetch some JSON representing the included plugins, controllers and notifications.
2019-11-21 13:36:42 +01:00
Gijs Noorlander a8776b6fc5 [PIO] Add core 2.6.1 SDK3 builds and PIO env list for Vagrant
Create a file named "pio_envlist.txt" next to the Custom.h for Vagrant with the selected env names in it, one per line.
Vagrant will then build all named PIO environments.
2019-11-21 10:23:30 +01:00
Gijs Noorlander b3d5eb77d3 [PIO] Split platformio.ini into separate files + cleanup. 2019-11-20 13:49:40 +01:00
Florin 8b0c8a16bd Clean Warning messages inside external libraries: AS_BH1750 & Adafruit 2019-11-19 20:48:55 -05:00
ESPEasy release bot 7fd0139641 automatically updated release notes for mega-20191119 2019-11-19 22:32:52 +01:00
Gijs Noorlander 07187db5bf [PIO] Only build needed environments 2019-11-19 10:37:10 +01:00
Gijs Noorlander b931a47424 [PIO] Fix empty build_flags 2019-11-19 01:55:41 +01:00
Gijs Noorlander f8c06d2ecf [PIO] Fix building hardware specific builds 2019-11-19 00:28:04 +01:00
Gijs Noorlander 7ee8d9fa3a [PIO] Cleanup ESP32 environments by using extends 2019-11-19 00:27:55 +01:00
Gijs Noorlander 58faac8ded [PIO] Fix using wrong name for regular_platform 2019-11-19 00:27:55 +01:00
TD-er 77b774d786 [PIO] Disable build cache dir (Windows/Unix slash in path)
Build cache dir is not really platform independent.
2019-11-19 00:27:55 +01:00
TD-er 588b551017 [PIO] Reduce platformio.ini complexity by using extends 2019-11-19 00:27:55 +01:00
Gijs Noorlander 761dac1f0d [Cleanup] Make timing stats optional to reduce size 2019-11-19 00:27:55 +01:00
Gijs Noorlander ae0143b8cb [PIO] Update .travis.yml with new env names 2019-11-19 00:27:24 +01:00
Gijs Noorlander 0b499cceea [PIO] Cleanup platformio.ini and move to core 2.6.1 as default (#2742)
Fixes: #2742
2019-11-19 00:27:24 +01:00
Gijs NoorlanderandGitHub 97060ca1c5 Merge pull request #2747 from uwekaditz/PullRequest
[P036] CHG: Header content changed only once within display interval
2019-11-19 00:24:08 +01:00
Gijs NoorlanderandGitHub ca4777661c Merge pull request #2739 from fmuntean/addSubscribe
Adding the subscribe command
2019-11-19 00:23:15 +01:00
Gijs NoorlanderandGitHub 8588353406 Merge pull request #2748 from uzi18/dallas
DHT & optimizations
2019-11-19 00:22:00 +01:00
Gijs NoorlanderandGitHub 725a0848ed Merge pull request #2753 from TD-er/bugfix/wifi_ap_mode_comp_time
Fix rules compare time and WiFi AP mode
2019-11-19 00:21:34 +01:00
Gijs Noorlander dfeab9267b [WiFi] Only allow automatic AP mode in first 5 minutes from boot
The timer to disable AP mode should be set as soon as the AP is started, to make sure it will be disabled.
It only will be increased when a client connects to the AP mode.

When disabling the AP mode, it needs a check to see if the AP mode was actually disabled before clearing the AP off timer.
2019-11-18 23:45:18 +01:00
Gijs Noorlander a9013bc2ff [WiFi] Retry setting WiFi mode if it fails to do so (#2721)
See discussion in #2721
2019-11-18 23:45:10 +01:00
Gijs Noorlander bc73586785 [Rules] Fix comparing time (#2732)
Fixes: #2732
2019-11-18 23:44:46 +01:00
uwekaditz 76cca7b7e2 [P036] Commands (PLUGIN_WRITE) reviewed completely
Out of bounds in PLUGIN_WRITE
Warnings resolved
2019-11-17 23:10:08 +01:00
uwekaditz fba22abe04 [P036] Commands (PLUGIN_WRITE) reviewed completely
1. Display commands:
oledframedcmd display [on, off, low, med, high]
turns display on or off or changes contrast (low, med or high)
2. Content commands:
oledframedcmd <line> <text> <mode>
displays <text> in line (1-12), next frame is showing the changed line, mode not implemented yet
2019-11-17 22:44:54 +01:00
Bartlomiej Zimon 54bcf2c900 [DHT] reoreder interrupt handling 2019-11-16 21:50:17 +00:00
Bartlomiej Zimon 88c6887946 [DHT] add extra ms 2019-11-16 21:49:32 +00:00
Bartlomiej Zimon d6c78cc767 [p2p] small optimization 2019-11-16 21:48:02 +00:00
uwekaditz aebdaa1366 [P036] Value 128 change to P36_MaxDisplayWidth 2019-11-16 22:10:50 +01:00
uwekaditz 37be62e3e3 [P036] CHG: Header content only changed once within display interval
CHG: Header content only changed once within display interval. before every second
CHG: more predefined constants to understand the meaning of the values
2019-11-16 20:55:23 +01:00
ESPEasy release bot ad1da3e1df automatically updated release notes for mega-20191116 2019-11-16 04:00:14 +01:00
Florin 28cb9a42b4 add documentation for subscribe command. 2019-11-15 19:01:10 -05:00
Gijs NoorlanderandGitHub 6789e982e7 Merge pull request #2728 from TD-er/bugfix/MQTT_memory
[MQTT] Update last activity timestamp only when data was sent to broker
2019-11-15 15:24:31 +01:00
Florent Kilchoer 68c99c2889 Add options in custom.h to enable first controller at startup 2019-11-15 14:50:19 +01:00
Gijs Noorlander f7c632a544 [C002] Allow heatpump commands for new plugin P088
Plugin was recently moved from playground to main repository, but the commands sent from Domoticz MQTT were not allowed for the new plugin ID.
2019-11-15 14:34:51 +01:00
Gijs NoorlanderandGitHub 788431b381 Merge pull request #2738 from giig1967g/bugfix/longp
fix for #2730 (longpulse command)
2019-11-15 14:32:32 +01:00
Gijs NoorlanderandGitHub 097f24398b Merge pull request #2740 from fmuntean/ignoreEmptyLabels
skip publishing of values with empty labels
2019-11-15 14:31:51 +01:00
Plebs ab7cc2decc fixed longpress with a new timer type
Fixed the longpress event even if the pin is not in the device list.
Added a new timer type
2019-11-14 22:43:20 +01:00
Florin 852a421a23 cleanup and formatting 2019-11-14 09:55:45 -05:00
Florin 17381235db moved declaration to ESPEasy_fwdecl.h 2019-11-14 09:47:39 -05:00
Florin 7511522111 skip publishing of values with empty labels 2019-11-13 22:04:58 -05:00
Florin dff9877248 mqtt subscribe command 2019-11-13 19:34:43 -05:00
Florin 96d818830e Adding the subscribe command to allow for subscribing to other topics in the rules 2019-11-13 19:05:56 -05:00
Plebs fd7a809b2c fix for #2730 (longpulse command)
Fixed longpulse command for plugin001, plugin009, plugin019

IMPORTANT: TO WORK, YOU NEED TO CREATE A DEVICE IN THE DEVICE LIST AS SWITCH INPUT.
2019-11-13 23:48:29 +01:00
Gijs Noorlander 8ed8f584f7 [PIO] Ignore SD/SDFS libraries to reduce build size
See https://github.com/esp8266/Arduino/issues/6760
2019-11-13 22:22:40 +01:00
Gijs Noorlander ff3cac9de4 [SD] Allow to compile with FEATURE_SD defined (#2700)
However it is unusable, see https://github.com/esp8266/Arduino/issues/6767
2019-11-13 22:21:14 +01:00
Gijs Noorlander bb688514d1 [pubSubClient] Fix signed/unsigned compare warning 2019-11-13 13:15:29 +01:00
TD-er eddc6924c6 [pubsubclient] Fix bug in publish
Change I made which was incorrect.
As spotted here: https://github.com/letscontrolit/ESPEasy/pull/2728#issuecomment-552925267
2019-11-13 13:07:00 +01:00
TD-er 3c31a30af9 [MQTT] Improve update MQTT client connected status
Checking the MQTT connected status can alter connected status, so update connected status when it could have changed.
2019-11-13 13:07:00 +01:00
TD-er e25ff7410b [PubSubClient] Only update lastOutActivity when write is successful 2019-11-13 13:07:00 +01:00
TD-er 59c6445eea [PubSubClient] Fix check for domain string 2019-11-13 13:07:00 +01:00
jimmys01 ae14a55c05 [IR RX] Option to Send IR events to MQTT broker
Set a compile time option to send the String representation of the IR signal back to the conrroller.
Defaults to the old behaviour so it does not brake anything.
2019-11-13 13:50:29 +02:00
jimmys01 38cd219658 [IR RX] Add the extra ' needed for the parsing of the JSON command 2019-11-13 12:55:57 +02:00
jimmys01 5b2cf937e4 Merge remote-tracking branch 'upstream/mega' into RX_pass_string_val 2019-11-13 11:31:30 +02:00
ESPEasy release bot 5707fb09a4 automatically updated release notes for mega-20191113 2019-11-13 04:00:15 +01:00
Gijs NoorlanderandGitHub a49742f4e0 Merge pull request #2624 from BrainHunter/mega
Added TX-Enable Pin to ser2net for RS485 support.
2019-11-12 23:34:46 +01:00
Gijs NoorlanderandGitHub e5c26d19cd Merge pull request #2706 from uwekaditz/PullRequest
Enhance P036 - Framed OLED to support more sizes and customized header
2019-11-12 23:25:53 +01:00
Gijs NoorlanderandGitHub 1d04dd696c Merge pull request #2733 from jimmys01/IRlib
[IR] Updated library reduces memory consumption
2019-11-12 22:33:43 +01:00
Gijs NoorlanderandGitHub c7853b83b7 Merge pull request #2685 from YannickR26/mega
[SI7021] Fix bug whit SHT20 device
2019-11-12 19:20:28 +01:00
Gijs NoorlanderandGitHub 73f2cfa650 Merge pull request #2722 from clumsy-stefan/Fix_ESP8266_OTA
[OTA] Fix ESP8266 OTA update
2019-11-12 19:19:52 +01:00
Gijs NoorlanderandGitHub 7dc9014622 Merge pull request #2725 from TD-er/docs/rules_parameter_parsing
Docs/rules parameter parsing
2019-11-12 19:19:05 +01:00
Gijs Noorlander 2c88449dc3 [Rules] Fix parse issue where bogus parameter is found due to extra spaces
In some circumstances the argument parser could give a false positive on number of arguments with trailing spaces.
2019-11-12 14:09:24 +01:00
Gijs Noorlander 5588841429 [Custom Build] Fix order of Custom.h and ESPEasyDefaults.h
Custom.h should be included before the defaults.
This way the Custom.h definitions override the default ones.
2019-11-12 14:06:29 +01:00
jimmys01 b439ddd7e0 [IR] Updated library reduces memory consumption 2019-11-12 10:19:30 +02:00
Gijs Noorlander da4ad93991 [PIO] Use Jason2866 version of core 2.6.0 2019-11-12 01:09:40 +01:00
uwekaditz 72356ed7ea [P036] Time for PLUGIN_READ reduced
CHG: Page scrolling based on Timer (PLUGIN_TIMER_IN) to reduce time for PLUGIN_READ from 700ms to less than 80ms (not as smooth as before but non-blocking!)
2019-11-11 22:26:55 +01:00
Gijs Noorlander 44e810d6d0 [PIO] patch for core 2.6.0 build env.
See https://github.com/platformio/platform-espressif8266/issues/180
2019-11-11 16:00:00 +01:00
Gijs Noorlander 453d83d3fc [Rules] Proper error log with incorrect number of arguments 2019-11-11 15:59:06 +01:00
Gijs Noorlander a5daf6ff5f [Pulse Counter] Add taskIndex parameter to resetPulseCounter command
Fixes: #2710
2019-11-11 13:34:51 +01:00
Gijs Noorlander 76689da59c [Rules] Improve parse argument as int
Int arguments should be able to be the result of a computation, so all int arguments should call this parse function.
2019-11-11 13:31:58 +01:00
Gijs Noorlander c3f2df4bc8 [Rules] Fix incorrect reject of commands handling tasks (#2726)
See https://github.com/letscontrolit/ESPEasy/issues/2726#issuecomment-552289244
2019-11-11 10:48:04 +01:00
Gijs Noorlander 3cf852fb18 [Log] Show loglevel on serial log output 2019-11-10 14:05:43 +01:00
Gijs Noorlander fc3aea46ca [Rules] Check nr arguments on commands and log when too many arguments
See also #2724
2019-11-10 14:04:57 +01:00
Gijs Noorlander bf25ba888e [Rules] Allow back quote as parameter separator wrapper 2019-11-09 23:53:44 +01:00
Gijs Noorlander 2025228ce3 [Docs] Document changed rules parameter parsing
See also https://github.com/letscontrolit/ESPEasy/issues/2724
2019-11-09 23:52:45 +01:00
uwekaditz 9e49c3648b Merge remote-tracking branch 'upstream/mega' into PullRequest 2019-11-09 13:16:36 +01:00
stefan a86723c85a [OTA] Fix ESP8266 OTA update
Fix ESP8266 OTA update. Manual reboot after succesfull flashing not needed.
2019-11-08 20:20:41 +01:00
ESPEasy release bot 510afb2553 automatically updated release notes for mega-20191108 2019-11-08 04:00:15 +01:00
Gijs NoorlanderandGitHub ae87215d5c Merge pull request #2718 from uzi18/dallas
P003 Pulse: add resetpulsecounter command for setting counters to 0
2019-11-07 23:30:05 +01:00
TD-er 78486f5c6c [Docs] Document new resetpulsecounter command 2019-11-07 23:02:53 +01:00
Gijs NoorlanderandGitHub c5309e031a Merge pull request #2687 from jimmys01/IRlib
[IR TX RX] Add IRSEND JSON formated command
2019-11-07 22:06:34 +01:00
Bartlomiej Zimon e2cf0c37d5 P003 Pulse: add resetpulsecounter command for setting counters to 0 2019-11-07 20:43:21 +00:00
jimmys01 2603d2775a Resolve code conflicts 2019-11-05 15:12:48 +02:00
jimmys01 fc6800ec63 Merge remote-tracking branch 'upstream/mega' into RX_pass_string_val 2019-11-05 15:06:38 +02:00
uwekaditz e78af08e22 [P036] BUG Wifi bars for 128x64 and 128x32 displays must be on right side 2019-11-04 20:40:37 +01:00
uwekaditz dfa4c9cc8e Update _P036_FrameOLED.ino
[P036] BUG Rotated image did not work for displays with height less then 64 pix
2019-11-04 18:11:14 +01:00
uwekaditz 45d80772a9 [P036] Added pagination to customized header
[P036] Added pagination to customized header
[P036] Time can be always selected in customized header, even if the time is diplayed by default for 128x68
2019-11-04 16:49:36 +01:00
uwekaditz fe890173a7 Merge remote-tracking branch 'upstream/mega' into PullRequest 2019-11-04 11:10:11 +01:00
ESPEasy release bot d37bae13d1 automatically updated release notes for mega-20191104 2019-11-04 04:00:18 +01:00
Gijs NoorlanderandGitHub 91c62948ce [Build] Exclude debug_custom builds from nightly build
Debug_custom builds are not meant to be run on a node.
They are meant for analysis tools only.
2019-11-04 00:14:51 +01:00
Gijs NoorlanderandGitHub e116c1b457 Merge pull request #2708 from TD-er/bugfix/ota_calculations
[OTA] Fix minimal OTA size computations (#2707) & Rules bug (#2704)
2019-11-03 21:12:34 +01:00
Gijs Noorlander f8a23ce554 [Build] ESP32 does not yet provide Web based OTA
... So don't show OTA related information on ESP32.
2019-11-03 13:40:17 +01:00
Gijs Noorlander 6a48118ced [Rules] Fix (serious) bug in matching compares (#2704)
Fixes: #2704

This is quite a serious bug in comparing values.
The compare was using the wrong values on a compare line when multiple compares had to be made. (with multiple and/or)
2019-11-03 13:30:58 +01:00
Gijs Noorlander 78336b656b [OTA] Fix minimal OTA size computations (#2707)
Fixes: #2707

The computations did not take into account the needed extra space for 4k block alignment for OTA.
2019-11-03 12:35:41 +01:00
ESPEasy release bot de7668cc24 automatically updated release notes for mega-20191103 2019-11-03 04:00:14 +01:00
uwekaditz ac8cef9e65 Update _P036_FrameOLED
[P036] NEW more OLED sizes (128x32, 64x48) added to the original 128x64 size
[P036] NEW Display button can be inverted
[P036] NEW Content of header is adjustable, also the alternating function
[P036] CHG Parameters sorted
2019-11-03 00:28:59 +01:00
uwekaditz b371bbf6a2 Update _P036_FrameOLED.ino 2019-11-03 00:22:51 +01:00
jimmys01 0083e8979e Another refactor of P035 2019-11-03 00:41:45 +02:00
Gijs NoorlanderandGitHub ee93021ad1 Merge pull request #2699 from giig1967g/bugfix/monitor
fixed serious bug for MONITOR command for offline PCF or MCP (P009 and P019)
2019-11-02 22:57:56 +01:00
Gijs NoorlanderandGitHub e7b6e2b44c Merge pull request #2698 from TD-er/reduce_build_size
Reduce build size + some fixes
2019-11-02 22:56:30 +01:00
jimmys01 fd49f8cb08 Refactor P035
Another iterration, hopefully now it is readable
2019-11-02 16:45:45 +02:00
jimmys01 196e872ef4 Refactor P035
De-spagettify the PLUGIN_WRITE portion of the plugin.
Also fix indents in the code
2019-11-02 16:08:29 +02:00
Gijs Noorlander 37b0429ac5 [Build] Fix build error in P086_Homie
One closing curly brace too many.
2019-11-02 01:26:57 +01:00
Gijs Noorlander b07922551c [Cleanup] Include define_plugin_sets.h in ESPEasy_common.h and only include common
Just to make sure the include of defaults, Custom.h and the define_plugin_sets.h is done in the right order and always in that order.
2019-11-02 01:08:07 +01:00
Yannick f6287978f4 Update reading process (no blocking) 2019-11-01 22:20:56 +01:00
Gijs Noorlander 9d97fac53d [Cleanup] Add boundary checks for accessing UserVar
event->BaseVarIndex is set only at a few places in the code, so adding checks there is enough to make sure all uses of event->BaseVarIndex are safe.

Especially when computing a userVarIndex from event values (user input) the range should be checked before using it to access an element in the UserVar array.
2019-11-01 00:15:41 +01:00
Gijs Noorlander fe1c536ca2 [Cleanup] Extra boundary checks for deviceIndex 2019-10-31 17:14:48 +01:00
Gijs Noorlander 75428d3989 [Cleanup] Change toString(bool) into boolToString(bool)
After finding a number of calls to toString() with only a single parameter, the value would be converted into a bool and then printed.
This will yield in unexpected results without a compiler warning.
2019-10-31 15:33:41 +01:00
Gijs Noorlander 5eccf7a70b [clangtidy] Address some warnings reported by CLangTidy 2019-10-31 01:13:34 +01:00
Gijs Noorlander 9fcff9acc1 [Rules] Add some debug logs for checking conditionMatchExtended 2019-10-31 01:12:04 +01:00
Plebs d89b01b27a fixed serious bug for MONITOR command for offline PCF or MCP
Fixed a bug 1 year old (in my own code) in P009 and P019 that was returing a state of 255 instead of -1 in case of state=offline.
The reason of the bug was that the Read function was forced to a byte variable instead of a int8_t variable.

This could generate a loop (and eventually a crash) if the monitor command was set to a pin that was offline. Infact the state returned was 255 and the current state was -1, so they never matched and a new event was created every 1/10 seconds.
2019-10-30 23:18:16 +01:00
Gijs Noorlander e441be1bd1 [Cleanup] Split remaining .h files in Commands dir into .h and .cpp 2019-10-30 16:59:28 +01:00
Gijs Noorlander 4b6619ec51 [Minimize OTA] Allow to define USES_SSDP from Custom.h 2019-10-30 15:33:44 +01:00
Gijs Noorlander e88e7eed0e [Build] Fix build issue with core 2.4.1 (F() macro) 2019-10-30 15:26:43 +01:00
Gijs Noorlander 99469018e7 [MQTT] Fix Publish command (#2662)
The parsing was using the wrong indices to determine topic and value.
Fixes: #2663
2019-10-30 11:59:13 +01:00
Gijs Noorlander c4192c3fde [Custom build] Strip out MQTT commands when no MQTT used. 2019-10-30 11:21:21 +01:00
Gijs Noorlander e208e59976 [Custom Build] Add WEBSERVER_CUSTOM_BUILD_DEFINED to strip out web pages
As suggested by @clumsy-stefan
2019-10-30 11:20:42 +01:00
Gijs Noorlander 34ff26ef50 [Build] Fix build issue ESP32 2019-10-30 10:50:13 +01:00
Gijs Noorlander 45179266ae [clangtidy] Missing forward declaration of toString(float,int)
This was actually a bug, since only the toString(bool) was forward declared.
Meaning the conversion of a float to a string was not performed as expected when called from a .cpp file instead of a .ino file.
2019-10-30 02:23:58 +01:00
Gijs Noorlander 0f8822ccc4 [clangtidy] Const reference function parameters 2019-10-30 02:22:10 +01:00
Gijs Noorlander 9b53696cf8 [clangtidy] Missing header guard defines 2019-10-30 02:21:04 +01:00
Gijs Noorlander 22f7010c25 [clangtidy] Clean up DataStructs/*
Mainly use of macro parenthesis
2019-10-30 02:20:20 +01:00
Gijs Noorlander af828bfca6 [clangtidy] Clean up Commands/*
Const reference parameters instead of deepcopy and some other fixes.
2019-10-30 02:17:46 +01:00
Gijs Noorlander ee0a96c5e8 [clangtidy] Use sizeof(*this) instead of sizeof(this)
this returns a pointer while we need to know the object size.
2019-10-30 02:15:38 +01:00
Gijs Noorlander 9064fa5473 [Cleanup] Fix issue ControllerSettings & extra checks TaskIndex 2019-10-30 00:56:15 +01:00
Gijs Noorlander 0a4072fb2c Fix JSON service stopped working (#2697) 2019-10-29 22:57:51 +01:00
Gijs Noorlander c49142402e [FEATURE_SD] Fix build issues when FEATURE_SD is defined (not finished)
When enabling the FEATURE_SD, something with the define of __FlashStringHelper is not correct anymore.

This needs a lot of changes which were needed anyway.
But also arrays of __FlashStringHelper must be changed.

All done so far, only need to have a look at    
static const __FlashStringHelper *gpMenu[8][3] = {
2019-10-29 18:07:48 +01:00
Gijs Noorlander 682bcbec2b [Minimal OTA] Disable buttons for not included pages 2019-10-29 18:04:24 +01:00
Gijs Noorlander 52a2ffd4af [Minimal OTA] Add defines to enable/disable any web page 2019-10-29 15:31:24 +01:00
jimmys01 03738e6043 [IR TX] Fix travis issues 2019-10-29 16:31:12 +02:00
jimmys01 e70ff7a72f [IR TX] Pretify and show to the log the supported Protocols, make JSON keys not case sensitive 2019-10-29 14:45:15 +02:00
Gijs Noorlander cc41fcd0d9 [WiFi] Fix WiFi reissue when gotIp event is delayed
A simple typo could result in unexpected failed reconnect attempts.
2019-10-29 13:09:46 +01:00
Gijs Noorlander 01c38a7189 [Minimal OTA] Exclude Github Copy button on minimal build 2019-10-29 13:08:29 +01:00
Gijs Noorlander f45b8f8f66 [Build] Fix uninitialized warning in Scheduler 2019-10-28 15:49:43 +01:00
Gijs Noorlander d4a98ce648 [Modbus RTU] Move strings to flash 2019-10-28 15:49:13 +01:00
Gijs Noorlander b946bf6a19 [Minimal OTA] Exclude web pages from minimal OTA build
Exclude:
- Favicon
- Log viewer  (also JSON log)
- I2C scanner
- Timing Stats
- System Variables display.
2019-10-28 15:48:40 +01:00
ESPEasy release bot 6de95084da automatically updated release notes for mega-20191028 2019-10-28 12:11:41 +01:00
jimmys01 c19df3ea19 Merge remote-tracking branch 'upstream/mega' into IRlib 2019-10-28 10:51:30 +02:00
Gijs NoorlanderandGitHub 4c5531904d Merge pull request #2691 from TD-er/bugfix/MinorSmallFixes
Bugfix/minor fixes
2019-10-27 22:01:51 +01:00
Gijs Noorlander 900431bc8d [Cleanup] rename deepSleep functions and parameters (#1803)
Using `deepSleep` for a lot of different things may be confusing.
2019-10-27 17:14:06 +01:00
Gijs NoorlanderandGitHub b91da458f3 Merge branch 'mega' into IRlib 2019-10-27 14:48:09 +01:00
Gijs Noorlander 18d381a7a8 [NTP] Sign of time offset reported in log was wrong
The reported offset in the log, when NTP does update the system clock was negative while it must be positive  (and vice-verse)
2019-10-27 13:40:26 +01:00
Gijs Noorlander dd928b0776 [Docs] Describe PlatformIO installation 2019-10-27 13:38:42 +01:00
Gijs Noorlander 83c600e82d [Build] Rename ESP32 env 1M8_partition to 4M316k
1M8 does look a bit too much like "1MB".
4M316k does use the same naming schema as the other builds, stating the flash size and SPIFFS size.
2019-10-27 13:38:16 +01:00
Gijs Noorlander 1dec446974 [Build] Add custom 4M2M build 2019-10-27 13:00:33 +01:00
Gijs Noorlander 5bb0a2a55a Remove redundant Wire.beginTransmission (#1417)
See Usage of Wire.requestFrom() #1417
2019-10-27 12:58:42 +01:00
Gijs NoorlanderandGitHub 68cae5519f Merge pull request #2667 from TD-er/bugfix/rules_parsing_issue2660
[Rules] Improve rules matching (#2660)
2019-10-27 10:11:07 +01:00
Gijs Noorlander 654c86e8e3 [PIO] Cleanup old environments and add debug definitions
To be used for the static analysis tools of PlatformIO.
See [announcement PIO Home 3.0 beta](https://community.platformio.org/t/platformio-home-3-0-beta-and-powerful-project-inspection/10187?utm_source=platformio&utm_medium=piohome)
2019-10-27 01:07:17 +02:00
Gijs Noorlander 62b14d71fd [Commands] Mark commands not using standard parse functions (#2686) 2019-10-26 16:32:08 +02:00
Gijs Noorlander 0816cd7460 [Rules] Fix grammar in parsing parameters (#2686)
See: #2686
2019-10-26 15:01:29 +02:00
jimmys01 138db0c7d0 [IR TX RX] Add IRSEND JSON formated command
Command format is IRSEND,{"protocol":"<protocol>","data":"<data>","bits":<bits>,"repeats":<repeat>}
It is backwards compatible with the old one (IRSEND,<protocol>,<data>,<bits>,<repeat>)
2019-10-26 13:51:34 +03:00
jimmys01 1625dd353a Update IR library 2019-10-26 13:48:11 +03:00
Yannick 711cffcc28 Fix bug when read SHT20 2019-10-25 22:34:45 +02:00
Gijs Noorlander 709149e5fc [MQTT] Use parseString functions to disect publish command (#2657)
See #2657
2019-10-25 18:10:41 +02:00
Gijs Noorlander 07e30ff616 [WiFi] Only reset wifi connect attempt on stable connection (#2650)
See #2650
The counter wifi_connect_attempt is being used to determine whether the fallback SSID should be tried.
It is also used to determine whether a "quick reconnect" is possible using the BSSID and channel of the last successful connection.
If the connection is unstable, (last connection was active for over 5 minutes) then the connect attempt counter can be reset.
2019-10-25 17:32:19 +02:00
Gijs Noorlander c5d222483d [WiFi AP] No automatic attempt to reconnect with connected client (#2650)
See #2650.
As long as a client is connected to the node in AP mode, no automatic reconnect should be attempted since it will make it very hard to get connected or remain connected to the AP mode.
The WiFi channel will change during scan which will disconnect the user.
2019-10-25 15:57:52 +02:00
Gijs Noorlander fdd6e28827 [ArduinoIDE] Fix include errors for ArduinoIDE
As noted by https://github.com/letscontrolit/ESPEasy/issues/2681#issuecomment-546306710  @clumsy-stefan
2019-10-25 13:13:12 +02:00
Gijs Noorlander 62c422e100 [ADC] Perform first read of ADC at init, before starting WiFi (#2646)
See #2646
2019-10-25 12:57:10 +02:00
Gijs Noorlander e5fd33b0a0 [WDT reboot] Fix SW watchdog reboot when saving rules
The ESP could sometimes experience a crash when saving the rules.
This was caused mainly on fragmented file systems and a bit longer rules files.
Now the same saveToFile function is used as being used in all other settings file access.
Also the rules were copied in memory, which is useless since they are already present in memory (LWIP  code) and passed by const reference.
2019-10-25 12:18:45 +02:00
Gijs Noorlander 8792e58738 [sendToHttp] Trim spaces from path (#2681, #2660)
The changed rules parsing may have added some spaces in replaced variables.
Adding a trim() call to the parseString does remove any existing or added spaces in the parameter.
2019-10-25 01:42:02 +02:00
Gijs Noorlander f8168e9fe9 [Cleanup] Use taskIndex_t everywhere where a task index is used. 2019-10-23 17:07:52 +02:00
Gijs Noorlander 68836da315 [Cleanup] Use of taskIndex_t & reduce memory usage in structs
Some structs like controller queue elements had their members not sorted to size. This may result in more memory usage than needed.
2019-10-23 16:02:19 +02:00
Gijs Noorlander 1a6262d27d [ESPEasy p2p] Allow changing remote unit on receiving plugin (#2679)
See also #2679
2019-10-23 13:40:07 +02:00
Gijs Noorlander 50a86bb25f [Cleanup] Proper handling of tasks not supported in current build
When using settings containing configuration for a certain plugin which is not included in the actual build, then the plugin must be displayed as "not supported" and not possible to edit.
Also show some indication about the consequences of trying to edit such a task. It will then present a dialog equal to adding a new device to a task.
2019-10-23 13:38:58 +02:00
Gijs Noorlander 3c090f14f3 [Cleanup] Make use of consistent names for DeviceIndex (#2676)
See #2676
The use of DeviceIndex was not consistent, which may lead to strange issues.
DeviceIndex is the translation between the vector of included plugins and IDs of plugins available.
2019-10-22 16:23:21 +02:00
Gijs Noorlander 35bb526552 [Rules] Make handling compare condition more deterministic. 2019-10-21 16:21:49 +02:00
Gijs Noorlander d42091f20e [PIO] Fix build issue due to duplicate env in platformio.ini 2019-10-21 16:21:23 +02:00
Gijs Noorlander e97d44aa08 [PIO] Fix build issue using Python 3
PlatformIO 4.0.x does have issues with non-ASCII characters in files. Even if they are part of comments.
2019-10-21 16:20:37 +02:00
ESPEasy release bot d671c9ef91 automatically updated release notes for mega-20191016 2019-10-16 04:00:07 +02:00
Gijs Noorlander 575ec3ed36 [Rules] Improve rules matching (#2660)
Detecting time compare and value compare could give false matches in some cases.
2019-10-15 18:41:21 +02:00
Gijs NoorlanderandGitHub a4148c8f9a Merge pull request #2665 from clumsy-stefan/improve_adc_handling
[ADC] Improve ADC handling
2019-10-15 09:42:12 +02:00
Gijs NoorlanderandGitHub b1fef4ff1a Merge pull request #2656 from jimmys01/IRlib
[IR TX RX] Show the name of AC submodel instead of its number.
2019-10-15 09:41:58 +02:00
Gijs NoorlanderandGitHub ff2b0e99ed Merge pull request #2648 from hennPi/patch-1
7segment display doesn't display lower case letter
2019-10-15 09:41:01 +02:00
Gijs NoorlanderandGitHub 8c721e703f Merge pull request #2644 from Grovkillen/mega
Benchmark tests (rules1.txt, rules2.txt)
2019-10-15 09:40:47 +02:00
Gijs NoorlanderandGitHub c357b61aff Merge pull request #2555 from nuclearcat/mega
ICMP ping plugin
2019-10-15 09:40:19 +02:00
stefan e92463be45 [ADC] Improve ADC handling
First try to improve ADC handling. Return false from `PLUGIN_READ` if no single value could be read or if not enough values for oversampling.
2019-10-15 07:49:34 +02:00
jimmys01 210f79378b [IR TX] Set JSON default model to be -1 2019-10-11 12:59:10 +03:00
jimmys01 7ac5bd61bf [IR] Show the name of AC submodel instad of its number.
Newly added feature in the library
2019-10-11 12:45:46 +03:00
jimmys01 f706007933 [IR] Update IR lib 2019-10-11 12:44:50 +03:00
hennPiandGitHub acc31516ae 7segment display doesn't display lower case letter 2019-10-04 17:17:56 +02:00
Michael SchröderandGitHub 574addfec4 Merge pull request #1 from letscontrolit/mega
Merge Orig 20191003
2019-10-04 11:30:46 +02:00
ESPEasy release bot ca86fd2f19 automatically updated release notes for mega-20191003 2019-10-03 04:00:10 +02:00
Gijs NoorlanderandGitHub 765aef3fe7 Merge pull request #2638 from TD-er/bugfix/SenseAir
Fix SenseAir plugin incorrect Modbus error handling
2019-10-03 00:08:21 +02:00
Gijs NoorlanderandGitHub f9cba14197 Merge pull request #2629 from jimmys01/ir_updates
[IR] Further granulate the selection of IR capabilities
2019-10-03 00:08:08 +02:00
Gijs Noorlander 91f8da5465 [Build] Fix forward declaration build error
Changed to bool from boolean only in .ino file, not in fwdecls.h
2019-10-01 21:07:04 +02:00
Grovkillen 5db0f7b924 Benchmark test (added test number to starttest1) 2019-10-01 13:10:09 +02:00
Grovkillen 8099a6b37b Benchmark tests (rules1.txt rules2.txt)
Added three test rules to test performance and syntax.
2019-10-01 13:01:21 +02:00
Gijs Noorlander 6267b9f00f [Rules] Allow extra inequality checks for rule event matching
Allow '<>', '!=', '<=', '>=', '<', '>', '='  when matching a trigger in rules `on ... do` lines.
2019-10-01 01:19:21 +02:00
Gijs Noorlander 99631d400e [Rules] Split conditionMatch to share with event match
Split conditionMatch into separate functions so we can re-use that code in evaluating rule event triggers.
2019-10-01 01:10:00 +02:00
Gijs Noorlander 3b5560000b [Rules] Remove duplicate code to replace %eventvalue% 2019-10-01 00:06:58 +02:00
Gijs Noorlander 0805cea7ee [Rules] Optimize ruleMatch function
Rules parsing starts with 2 steps:
- Reading line from rules file 
- If read line is no comment line, see if it does match the event block we're looking for.

This second part is done in the ruleMatch function.
This function was doing a bit more than strictly needed.
This optimization is mostly about trying to exit as soon as possible and using less memory allocations in Strings.
2019-09-30 23:02:38 +02:00
Gijs Noorlander 8acf02fd44 Disable firmware upload button when NO_HTTP_UPDATER is defined 2019-09-30 17:13:11 +02:00
Gijs Noorlander c915fc8eb8 Add system variable %sysstack%
Useful for debugging purposes.  `%sysheap%` was already present.
2019-09-30 17:12:29 +02:00
Gijs Noorlander d91c2962e1 [INT#n] isn't doing transformations properly (#2642)
Fixes: #2642
Problem was in the conversion to int, which may add a leading space.
The parsing of int and float string values should be able to handle leading spaces, so fixed that.
2019-09-30 17:11:15 +02:00
TD-er d98b742557 [ADC] Build fix ESP32 & Uncrustify 2019-09-29 23:49:26 +02:00
TD-er a7cdfb1ca3 [ADC] Fix oversampling offset during WiFi connect
When starting the ADC plugin at boot, the WiFI connection attempt is already started. 
This may offset the average value quite a bit.
This fix will exclude those samples from the values used to compute the average while oversampling.
2019-09-29 22:54:47 +02:00
TD-er a4482bbeb2 [Build] Add NO_HTTP_UPDATER to exclude http updates
As requested by some to disallow updates via http://<ip>/update
2019-09-29 22:51:28 +02:00
Gijs Noorlander 30d74b1b52 [Rules] Optimize rules parsing 2019-09-29 17:36:20 +02:00
Gijs Noorlander f130166efc Fix cached search for task value name may return wrong index (#2639)
See #2639
2019-09-29 13:48:03 +02:00
Gijs Noorlander 2395817c2b [Uncrustify] Format SenseAir, AcuDC24x and Modbus RTU file 2019-09-28 18:47:29 +02:00
Gijs Noorlander 9a93ab3dee [SenseAir] Fix incorrect handling of Modbus error codes
See #2636
2019-09-28 18:44:02 +02:00
Gijs Noorlander a5f778fcbd [PIO] Describe core 2.6.0 branches/repositories
Distinguish between Arduino #feature/stage and Jason2866 #Tasmota platform in the system libraries description.
2019-09-28 15:49:57 +02:00
jimmys01 075fddaf2e Add the RAW RAW2 define also in the custom.h file as well 2019-09-28 11:52:19 +03:00
jimmys01 6729424d74 Merge remote-tracking branch 'upstream/mega' into ir_updates 2019-09-28 11:33:37 +03:00
ESPEasy release bot 0103e05999 automatically updated release notes for mega-20190928 2019-09-28 04:00:07 +02:00
Gijs NoorlanderandGitHub fe66e9ca59 Merge pull request #2625 from workgroupengineering/maintenance/lib/ccronexpr
Update ccronexpr library to v20190415
2019-09-28 00:08:13 +02:00
Gijs NoorlanderandGitHub 97741bfc42 Merge pull request #2627 from letscontrolit/bugfix/build_size_check
[Build] Fix binary size check for xxx_1M builds
2019-09-28 00:05:53 +02:00
Gijs NoorlanderandGitHub 93f4d149fd Merge pull request #2628 from jimmys01/temp_hum
Add to PLUGIN_SET_ONLY_TEMP_HUM left over sensors
2019-09-28 00:05:31 +02:00
Gijs NoorlanderandGitHub 0f858e0221 Merge pull request #2631 from TD-er/build/Reduce_size
[Build] Fix use of flag BUILD_NO_DEBUG
2019-09-28 00:03:44 +02:00
Gijs Noorlander 760765efb1 [Build] Fix use of flag BUILD_NO_DEBUG
The check in the code was for #ifndef BUILD_NO_DEBUG.
But even when it is defined as 0, it is still defined.
So the code was still included in the binary.
2019-09-26 13:42:00 +02:00
jimmys01 7406a073a5 Add to PLUGIN_SET_ONLY_TEMP_HUM left over sensors
Add DHT12 and SI7021
2019-09-26 13:10:05 +03:00
jimmys01 17cd271834 [IR] Further granulate the selection of IR capabilities
Add a define to use or not the RAW and RAW2 encodings. if disabled saves 3.7Kb
2019-09-26 13:08:21 +03:00
jimmys01 3789ae9c37 [IR] Update lib to 2.6.6 2019-09-26 12:38:36 +03:00
Gijs NoorlanderandGitHub 29032a8833 [Build] Build log file does not interpret /t 2019-09-26 10:24:14 +02:00
Gijs NoorlanderandGitHub 15a61e0ee2 [Build] Fix binary size check for xxx_1M builds
The build envs now have _4M1M in their name so must not match on `1M`, but on `_1M` to adapt for 1 MB size.
2019-09-26 10:10:44 +02:00
ESPEasy release bot 9fb79a2370 automatically updated release notes for mega-20190926 2019-09-26 04:00:05 +02:00
Gijs NoorlanderandGitHub cbce2dda1b Small fix in creating build log file 2019-09-25 23:11:25 +02:00
Gijs NoorlanderandGitHub cca6da0074 Show the build log text at the end of the build 2019-09-25 14:02:58 +02:00
Gijs NoorlanderandGitHub 5e86ad4d70 Create build log txt file to track missing files
Files can be missing from the ZIP file at the nightly builds because compilation failed, or the file size is bigger than allowed.
2019-09-25 13:49:19 +02:00
Gijs NoorlanderandGitHub 79975d385b Merge pull request #2617 from TD-er/bugfix/RulesParse
[Rules] Optimize resource usage in parseTemplate function
2019-09-25 08:54:32 +02:00
ESPEasy release bot 5aba83ad02 automatically updated release notes for mega-20190925 2019-09-25 04:00:14 +02:00
Gijs Noorlander 791b3246d8 Turn SettingsStruct into templated variable
This will be useful later when making the number of tasks dynamic, or converting settings into another settings file using different amount of tasks.
2019-09-25 00:46:04 +02:00
Gijs Noorlander a81bfc35c6 [Docs] Describe project directory structure 2019-09-25 00:46:04 +02:00
Gijs Noorlander 15add9180d Define build info from ESPEasy_common.h 2019-09-25 00:46:04 +02:00
Gijs Noorlander 036743040b [Build] Add Custom ESP32 and disable plugins to reduce binary size
Disabled 
- Settings Archive
- NeoClock
- Candle
2019-09-25 00:46:04 +02:00
Gijs Noorlander cac026117c [Build] Fix pre_extra_script.py build Cpp defines
To append a list to an existing list in Python, you must used extend.
When appending a list, it will create list at the end of the existing list.
2019-09-25 00:46:04 +02:00
Gijs Noorlander 8a259f3fdb [PIO] Switch to core_stage for core 2.6.0 builds
To be able to use this merged PR: https://github.com/esp8266/Arduino/pull/6484
2019-09-25 00:46:04 +02:00
Gijs Noorlander ec1852ca37 [PCA9685] Add range checks and memory optimization 2019-09-25 00:46:04 +02:00
Gijs Noorlander 48f323bf8f Uncrustify P022_PCA9685 2019-09-25 00:46:04 +02:00
Gijs Noorlander 9ab3726a09 [ESP32] Fix storage layout on ESP32 settings file. 2019-09-25 00:46:04 +02:00
Gijs Noorlander a4e55b1b0d [Arduino IDE] Fix path in includes. 2019-09-25 00:46:04 +02:00
Gijs Noorlander bb8362ce82 [Cleanup] Remove FIXME/TODO remarks which are now done. 2019-09-25 00:46:04 +02:00
Gijs Noorlander fc1ef561bc [Build] Forgotten include of MQTT related global variable. 2019-09-25 00:46:04 +02:00
Gijs Noorlander a749dbf39a [Arduino IDE] Make include paths relative to file location 2019-09-25 00:46:04 +02:00
Gijs Noorlander b410fc7bc1 Split Diagnostic.h & ESPEasyWiFiEvent.h into .h/.cpp 2019-09-25 00:46:04 +02:00
Gijs Noorlander cc5543ba1c Move Settings from ESPEasy-Globals.h to Globals/Settings.h 2019-09-25 00:46:04 +02:00
Gijs Noorlander 8ef73ed0b0 Move ExtraTaskSettings from ESPEasy-Globals.h to Globals/...h 2019-09-25 00:46:04 +02:00
Gijs Noorlander b0388a30ee Move SecuritySettings from ESPEasy-Globals.h to Globals/SecuritySettings.h 2019-09-25 00:46:04 +02:00
Gijs Noorlander cb44a71453 Move Device array from ESPEasy-Globals.h to Globals/Device.h 2019-09-25 00:46:04 +02:00
Gijs Noorlander 602eefd032 Move FactDefPrefs & CRCValues from ESPEasy-Globals.h to Globals/...h 2019-09-25 00:46:04 +02:00
Gijs Noorlander fa86d44509 Move Nodes from ESPEasy-Globals.h to Globals/Nodes.h 2019-09-25 00:46:04 +02:00
Gijs Noorlander f5de2f7fdb Move RTC from ESPEasy-Globals.h to Globals/RTC.h 2019-09-25 00:46:04 +02:00
Gijs Noorlander 5696cf265a Move Cache from ESPEasy-Globals.h to Globals/Cache.h 2019-09-25 00:46:04 +02:00
Gijs Noorlander 3f25898b51 Move Logging from ESPEasy-Globals.h to Globals/Logging.h 2019-09-25 00:46:04 +02:00
Gijs Noorlander 421631c9f1 Move Plugin administration from ESPEasy-Globals.h to Globals/Plugin.h 2019-09-25 00:46:04 +02:00
Gijs Noorlander fe99c2330f Move defines out of ESPEasy-Globals.h 2019-09-25 00:46:04 +02:00
Gijs Noorlander 430bc9866c [Build] Another forgotten path update in moved .h file 2019-09-25 00:46:04 +02:00
Gijs Noorlander e4c5edc625 Initial step for proper declaring global variables in .h files 2019-09-25 00:46:04 +02:00
Gijs Noorlander e8f3f34329 [Build] Fix path change in include 2019-09-25 00:46:04 +02:00
Gijs Noorlander db255acffd Move all header files in Commands/*.h to src/Commands/ for ArduinoIDE
Arduino IDE needs include files in a subdirectory called `src` or some directory in `src`
2019-09-25 00:46:04 +02:00
Gijs Noorlander b33f058649 Fix using includes to get defines right during compile
For detailed explanation, see https://github.com/letscontrolit/ESPEasy/issues/2621#issuecomment-533673956
2019-09-25 00:46:04 +02:00
Gijs Noorlander 09b9229033 [ESP32] Fix build when SettingsArchive is set in Custom.h 2019-09-25 00:46:04 +02:00
Gijs Noorlander 9cbd89c3be [Build] Make sure Custom.h is leading during compilation.
Also allowing a new define: USE_NON_STANDARD_24_TASKS
2019-09-25 00:46:04 +02:00
Gijs Noorlander 347fbaa56c [Travis] Disable Travis cache 2019-09-25 00:46:04 +02:00
Gijs Noorlander d1cca1da60 [PIO] Use original platform for core 2.6.0, not Tasmota's one
Was using https://github.com/Jason2866/platform-espressif8266.git#Tasmota
This may lead to issues when running `pio update`
2019-09-25 00:46:04 +02:00
Gijs Noorlander 020e11e5a0 [Travis CI] Reduce Travis test build duration
Specify only a subset of PIO envs to build, to make sure it will build within the 50 minutes time limit, even when the caches are cleared by PlatformIO.
2019-09-25 00:46:04 +02:00
Gijs Noorlander fab77b75ba [Build] Fix include path to make ArduinoIDE able to build again 2019-09-25 00:46:04 +02:00
Gijs Noorlander 8d8f5e9a9d [Custom.h] Allow for other defines to be set by the user. 2019-09-25 00:46:04 +02:00
Gijs Noorlander 1f3284b0b2 [Storage layout] Add suggestions for 24 tasks layout 2019-09-25 00:46:04 +02:00
Gijs Noorlander 12d89c09c8 [Custom.h] Storage layout parameters moved and wrapped in #ifndef 2019-09-25 00:46:04 +02:00
Gijs Noorlander 4cb60c0dad [cleanup] make it compile again on ArduinoIDE
Changes to file locations to make it compile again under Arduino IDE.
Basically `#include ""` and file locations have been fixed.
2019-09-25 00:46:04 +02:00
Gijs Noorlander 0fac9ea711 Only include HttpClient when Settings Archive is being used 2019-09-25 00:46:04 +02:00
Gijs Noorlander 70cd4e46f8 [Rules] Only match task value names which can be set
Otherwise there could be a match on variables which are not active or usable.
2019-09-25 00:44:44 +02:00
Gijs Noorlander 19404dccaa [Build] Remove debug logs from 1M builds 2019-09-25 00:44:44 +02:00
Gijs Noorlander ca3a6a3cfb [Rules] Compatibility Replace %eventvalue% by using the 1st argument
As noted by @uzi18
2019-09-25 00:44:44 +02:00
Gijs Noorlander d80403ddad [C014 Homie] Use cached functions to find task value by name 2019-09-25 00:44:44 +02:00
Gijs Noorlander 83e9d20f78 [Rules] Some minor code improvements (suggests from @uzi18 ) 2019-09-25 00:44:44 +02:00
TD-er 62acbad5e4 [PIO] Update core 2.5.2 to espressif8266@2.2.3 2019-09-25 00:44:44 +02:00
Gijs Noorlander 09739dec06 [Cache] Add cache to help find task value name. 2019-09-25 00:44:44 +02:00
Gijs Noorlander efbb4e13ac [Rules] Allow transformations on [var#n] and add [int#n]
Also add some caches to find task-value names.
Fix some minor issue when referring [var#n] variables. These were always rounded to 2 decimals.
Also added [int#n] to address the same variables as with [var#n] but rounded to integer values, to be used in rules for more reliable comparing.
2019-09-25 00:44:44 +02:00
Gijs Noorlander 7f62bea00c [Travis] Change Ubuntu 14.04 to 18.04 for builds
We were still using "Trusty", changed to "Bionic" to get newer versions of GCC etc.
2019-09-25 00:44:44 +02:00
Gijs Noorlander 19512cf435 [Build] Remove some build types from the nightly build
Mainly core 2.4.2 and double core 2.5.2 builds
2019-09-25 00:44:44 +02:00
Gijs Noorlander 3bc901674c [Travis] Add .pio dir as cache directory 2019-09-25 00:44:44 +02:00
Gijs Noorlander 87ba1e6d95 [Travis] Do not remove old builds to reduce build time
The clean step may no longer be needed, which makes it more useful to have the last built directories restored from the cache and hopefully reduce build times.
2019-09-25 00:44:44 +02:00
Gijs Noorlander 98603db9aa [Build] No longer ignore IR libraries to allow IR builds from Vagrant
The builds not using the IR libraries will not increase in size by no longer ignoring these libraries.
2019-09-25 00:44:44 +02:00
Gijs Noorlander d4b21d28db [Modbus RTU] Add "timeout" and "no data" as error
Does not yet act on the new errors, but at least it should be possible in the plugins to detect whether any data was received to see if a device is present.

See also https://github.com/letscontrolit/ESPEasy/issues/2616
2019-09-25 00:44:44 +02:00
Gijs Noorlander 8b5470e9a8 [Rules] Reduce memory usage when parsing rules templates
The parsetemplate function was almost always shown as function with the lowest free memory when called.
The function did make a lot of memory re-allocations and was very hard to read.

This commit is about reducing the memory allocations and speed up the parsing.
Will also fix [this issue reported on the forum](https://www.letscontrolit.com/forum/viewtopic.php?p=39219#p39219)
2019-09-25 00:44:44 +02:00
Gijs NoorlanderandGitHub 1e01f36980 Merge pull request #2583 from mcspr/esp32/garp-cleanup
[Gratuitous ARP] Thread-safe LWIP API calls, fix condition for IF
2019-09-25 00:35:00 +02:00
Gijs NoorlanderandGitHub b07ba2e4d4 Merge pull request #2612 from jimmys01/custom-ir-ext
Add a define in custom-sample.h for the Extended IR capability
2019-09-25 00:34:20 +02:00
Gijs NoorlanderandGitHub d857b7cc7e Merge pull request #2601 from uzi18/patch12
[Dummy] small fix for save action fix for #2600
2019-09-25 00:33:26 +02:00
Gijs NoorlanderandGitHub 00f2a225d2 Merge pull request #2605 from jimmys01/dallas
Dallas improvments
2019-09-25 00:32:25 +02:00
Gijs NoorlanderandGitHub f601bc0f8e Merge pull request #2614 from hansrune/mega
Added support for MITSUBISHI KJ heatpumps (SG 161 0927 remote)
2019-09-25 00:31:52 +02:00
Gijs NoorlanderandGitHub e7588b6ab5 Merge pull request #2618 from 3cky/patch-1
Fix duplicated "DNS 1" value in JSON output
2019-09-25 00:29:59 +02:00
Gijs NoorlanderandGitHub f8d277396e Merge pull request #2620 from ToniA/master
Add plugin sets PLUGIN_SET_ONLY_SWITCH and PLUGIN_SET_ONLY_TEMP_HUM t…
2019-09-25 00:29:29 +02:00
Gijs NoorlanderandGitHub b499b386a6 Merge pull request #2623 from uzi18/patch-6
[Settings Archive] disable chunked encoding in download file
2019-09-25 00:26:41 +02:00
Saverio Cisternino 2308f7b49c Update ccronexpr library to v20190415 2019-09-20 17:42:01 +02:00
Bartłomiej ZimońandGitHub 8beae55212 [Settings Archive] clean up 2019-09-19 16:46:41 +02:00
Bartłomiej ZimońandGitHub 0bd2f9600d [Settings Archive] remove http 1.0 request, 1.1 works ok
ref.  https://github.com/letscontrolit/ESPEasy/issues/2619#issuecomment-533130789
2019-09-19 15:53:52 +02:00
Bartłomiej ZimońandGitHub 033ddd057c [Settings Archive] move timeout if get some data 2019-09-19 14:46:38 +02:00
BrainHunter 7b29321857 Added TX-Enable Pin to ser2net for RS485 support. 2019-09-19 11:05:45 +02:00
Bartłomiej ZimońandGitHub 48be8729b4 [Settings Archive] disable chunked encoding in download file
fix for #2619
2019-09-18 21:55:03 +00:00
Toni 6414bda70f Add 'Output - Domoticz MQTT Helper' into PLUGIN_BUILD_IR_EXTENDED 2019-09-18 16:33:23 +03:00
Toni 0211eb3422 Add plugin sets PLUGIN_SET_ONLY_SWITCH and PLUGIN_SET_ONLY_TEMP_HUM to the minimal_IRext_ESP8266_1M image 2019-09-17 22:02:32 +03:00
Victor AntonovichandGitHub 18cd016463 Fix duplicated "DNS 1" value in JSON output
Fix duplicated "DNS 1" value in JSON output due to a typo in handle_json() function.
2019-09-16 14:54:40 +04:00
jimmys01 f508ea7883 Fix IR TX RX instructions 2019-09-16 08:58:14 +03:00
jimmys01andGitHub 831415a18f Add compile time and date to differentiate between custom builds 2019-09-13 13:23:22 +03:00
jimmys01 86aca4baae Make the reading of the sensor not blocking.
Props to @uzi18
2019-09-13 13:19:43 +03:00
Hans-Rune Bue 684ae2e8db Support for MITSUBISHI KJ heatpumps (SG 161 0927 remote)
Added support for MITSUBISHI KJ series heatpumps / remote control type SG161.
Also added a IR_DEBUG_PACKET define to be able to feedback and debug the IR packet as added text output to a browser, curl or other http request tool.
2019-09-12 21:48:22 +02:00
jimmys01 d0a812bdb9 Add a define in custom-sample.h for the Extended IR capability 2019-09-12 09:22:09 +03:00
jimmys01andGitHub f2a5ee4abb Remove reduntand conversion call 2019-09-12 00:16:56 +03:00
jimmys01 a5e0c655dd Dallas improvments
The conversion was staring after the reading of the temperature
also there was effectively no delay after the conversion for the sensor to do its thing. This 2 factors combined made the ESP report the previus measurment and not the current
2019-09-11 10:45:20 +03:00
jimmys01andGitHub d3beadc8e2 Force rebuild 2019-09-10 21:00:06 +03:00
jimmys01 11dd524e21 Comment out interfering code 2019-09-10 15:12:56 +03:00
jimmys01 cc066ebd44 [IR] Sent decoded values back to the controller 2019-09-10 14:49:33 +03:00
ESPEasy release bot 2610ade3f7 automatically updated release notes for mega-20190910 2019-09-10 04:00:11 +02:00
Denys-ThreadPC f95412253a Build only on ESP8266 2019-09-10 00:45:02 +03:00
Gijs NoorlanderandGitHub 0f429e1148 Merge pull request #2603 from jimmys01/mega
[IR] Add Normal plugin set with only IR TX extended
2019-09-09 22:42:36 +02:00
Gijs NoorlanderandGitHub f7e0d7cfdd Merge pull request #2597 from TD-er/cleanup/SplitSettings
[Cleanup] Split settings from global.h into separate .h and .cpp
2019-09-09 22:39:03 +02:00
Gijs Noorlander a5362a961b [build] Remove some builds from Travis test build due to build time
A lot of build errors due to build time exceeded.
It was a matter of luck whether a build would succeed.
2019-09-09 21:33:43 +02:00
Gijs Noorlander 6cc5434fb7 [Vagrant] Allow Custom.h file to be used 2019-09-09 19:04:02 +02:00
Gijs Noorlander 66daddc7bc [LoRa] Add air time calculation function
Not yet used in the code
2019-09-09 14:52:34 +02:00
jimmys01 1b9564980f Add missed plugin description 2019-09-09 13:31:07 +03:00
jimmys01 6009de4c4d [IR} Update the IR library 2019-09-09 13:30:28 +03:00
jimmys01 6028628b33 [IR] Add Normal plugin set with only IR TX extended
With RX ommited we can have the NORMAL plugin set and IR with 93% space usage.
2019-09-09 13:26:51 +03:00
Gijs Noorlander 58826ef1b8 [WiFi] Fix No reconnect when setup page was not completed
The WiFi setup page does set a flag to indicate the connect attempt was initiated from the setup. 
But the flag was only reset when the setup page reloaded..
If that did not happen, the node could retry forever to (re)connect to the AP if the channel was changed or the node cannot see the old BSSID anymore (e.g. out of reach when using repeater)
Also the first attempt after changing WiFi settings would also (initially) fail due to retrying with old BSSID/channel combination.
2019-09-09 12:12:40 +02:00
Gijs Noorlander 90608ae0ea Skip analog read during WiFi connect (#2566)
Fixes: #2566
2019-09-06 16:44:18 +02:00
Gijs Noorlander e7f111fee1 Merge remote-tracking branch 'origin/cleanup/SplitSettings' into cleanup/SplitSettings 2019-09-05 23:10:08 +02:00
Gijs Noorlander ee73408a39 [Memory Analyzer] Give hints on used parameters and reduce core size test 2019-09-05 23:09:57 +02:00
Gijs NoorlanderandGitHub dd2ccada7a Merge branch 'mega' into cleanup/SplitSettings 2019-09-05 22:55:46 +02:00
Gijs Noorlander 76ef740ff1 [Memory Analyzer] Simplify analyzer and check for sets also
For example check the impact of some build flags, but also sets of plugins including (and sharing) the same library.
For example MQTT_ONLY.
2019-09-05 22:51:33 +02:00
Bartlomiej Zimon 359fecff11 [Dummy] small fix for save action fix for #2600 2019-09-05 19:26:28 +00:00
Gijs Noorlander 5db8ab0937 [Cleanup] Allow Controller QueueElements to be excluded from a build 2019-09-05 14:09:58 +02:00
Gijs Noorlander 5438b39254 [Cleanup] Move/split Controller QueueElement class to separate .h/.cpp 2019-09-04 16:40:44 +02:00
Gijs Noorlander beb7fee65b [Cleanup] Move structs to separate .h/.cpp files 2019-09-04 02:23:31 +02:00
ESPEasy release bot b5fd0e0ed1 automatically updated release notes for mega-20190903 2019-09-03 04:00:13 +02:00
Maxim Prokhorov 8883c8e225 [Gratuitous ARP] use public non-blocking API 2019-09-03 03:59:37 +03:00
Gijs Noorlander 237df8abd9 [Cleanup] Fix warnings of unused (static) functions
Do not declare static functions in a header file, since everywhere the function signature is called, it will call a copy of the function and thus the function in the header file where it is defined, is never called.
2019-09-03 00:36:59 +02:00
Gijs Noorlander 73631b0f7a [Cleanup] Split settings from global.h into separate .h and .cpp 2019-09-02 23:29:29 +02:00
Gijs NoorlanderandGitHub 5bf1127ca2 [Build] Fix build error after rename flash layouts 2019-09-02 23:20:37 +02:00
Gijs NoorlanderandGitHub bc80d2f025 Merge pull request #2596 from jimmys01/gitignore
[Git] Ignore custom files and the .ino.cpp
2019-09-02 13:18:20 +02:00
Gijs NoorlanderandGitHub 04eacb57c4 [Vagrant] Fix changed PIO env name in bootstrap.sh 2019-09-02 13:15:38 +02:00
jimmys01 83f2111689 [Git] Ignore custom files and the .ino.cpp 2019-09-02 14:12:24 +03:00
Gijs NoorlanderandGitHub a37716449e Merge pull request #2595 from TD-er/bugfix/Vagrant
[Vagrant] Check if file exists before adding CRC info and quiet ZIP
2019-09-02 13:00:19 +02:00
Gijs Noorlander 8b9f66e465 [Vagrant] Check if file exists before adding CRC info and quiet ZIP 2019-09-02 12:59:45 +02:00
Gijs NoorlanderandGitHub a68dc433a3 Merge pull request #2584 from ToniA/HeatpumpIR
Documentation for P088 HeatpumpIR plugin
2019-09-02 11:10:26 +02:00
Gijs NoorlanderandGitHub bf5c4208f6 Merge pull request #2589 from TD-er/bugfix/minimal_IRext_4mbuild
[build] Add Minimal IRext 4M build
2019-09-02 11:09:56 +02:00
Gijs NoorlanderandGitHub 5aad747ded Merge branch 'mega' into bugfix/minimal_IRext_4mbuild 2019-09-02 11:09:49 +02:00
Gijs NoorlanderandGitHub 823f130ac5 Merge pull request #2582 from uzi18/patch12
- [C011] fix method save #2550
2019-09-02 11:08:34 +02:00
Gijs Noorlander 98a17a39aa [Build] Start making Vagrant provisioning for quick self builds
Installing Vagrant:

Vagrantup.com site: https://www.vagrantup.com/docs/installation/
VirtualBox: https://www.virtualbox.org/

Great tutorial: https://www.sitepoint.com/getting-started-vagrant-windows/



After installing Vagrant and VirtualBox, open a shell in the tools/vagrant folder.
Run:
  vagrant up

To halt the VM, type:
  vagrant halt
2019-09-02 11:07:25 +02:00
Gijs Noorlander a8d379f7b0 Disable Home MQTT for dev build to make it fit max sketch size
Is a temporary disable to let the build succeed again.
This controller is included in the test build.
2019-09-02 01:38:46 +02:00
Gijs Noorlander 523541e7f5 [MemAnalyzer] Fix MemAnalyzer.py script to work with USES_.... defines
The MemAnalyzer tool was not able to perform a proper analysis of the current builds, since we introduced the `USES_P001` syntax of defines to determine what should be included and what not.
2019-09-02 00:49:31 +02:00
Gijs Noorlander 9dd800d6b7 Add TextArea option for C11 and fix some build inconsistencies 2019-09-01 01:26:16 +02:00
Gijs Noorlander 8695e59bba Disable Settings Archive on minimal builds
Added new define for this: USE_SETTINGS_ARCHIVE
2019-08-31 13:19:32 +02:00
Gijs Noorlander 5f13a58658 [Build] Fix typo error in platformIO.ini
Query-replace mistake in capitalization.
2019-08-31 13:18:27 +02:00
Gijs Noorlander 89b4616066 Add minimal_IRext_ESP8266_4M2M build using 2M SPIFFS
The first build to use 4M/2M layout
2019-08-31 12:57:12 +02:00
Gijs Noorlander 64d714a475 [build] Add Minimal IRext 4M build
Fixes: #2587
2019-08-31 12:41:56 +02:00
Bartlomiej Zimon 0d6d136699 [DHT] change to input with pullup 2019-08-30 10:37:33 +00:00
Bartlomiej Zimon 879c75da96 [DHT] change pin into input before delay 2019-08-30 10:19:20 +00:00
Toni 2f1c801100 Documentation for P088 HeatpumpIR plugin 2019-08-30 11:01:40 +03:00
ESPEasy release bot 298d45e984 automatically updated release notes for mega-20190830 2019-08-30 04:00:13 +02:00
Maxim Prokhorov 72483fac87 [Gratuitous ARP] Check that IF has both LINK_UP and UP flags
See this comment and further discussion in the issue:
https://github.com/xoseperez/espurna/pull/1877#issuecomment-525597314

Use the same condition as esp-lwip.
2019-08-30 03:37:31 +03:00
Maxim Prokhorov eb3cc6cd84 [Gratuitous ARP] thread-safe etharp_gratuitous for esp32
As stated in LWIP documentation:
https://www.nongnu.org/lwip/2_1_x/multithreading.html

"When running in a multithreaded environment, raw API functions MUST only
be called from the core thread since raw API functions are not protected
from concurrent access (aside from pbuf- and memory management
functions). Application threads using the sequential- or socket API
communicate with this main thread through message passing."

https://www.nongnu.org/lwip/2_1_x/netifapi_8h.html
Is not present in current esp-idf / arduino-esp32 builds.
Using existing "private" TCPIP API, create a minimal struct to pass a message
to the LWIP thread instead of calling etharp_gratuitous directly.
2019-08-30 03:34:25 +03:00
Bartlomiej Zimon f8f2db919b - [C011] fix method save #2550 2019-08-29 23:39:40 +00:00
Gijs NoorlanderandGitHub 68061f876e Merge pull request #2572 from TD-er/feature/download_settings
Download settings from archive or other node
2019-08-29 23:58:55 +02:00
Gijs Noorlander 2ff0b43a27 Move dev build to core 2.6.0 (to make it fit) 2019-08-29 23:16:25 +02:00
Gijs Noorlander bfb67d4866 Merge remote-tracking branch 'origin/feature/download_settings' into feature/download_settings 2019-08-29 17:23:59 +02:00
Gijs Noorlander a94185a90c [Settings Archive] Only allow on core 2.5.0 and newer 2019-08-29 17:23:34 +02:00
Gijs Noorlander 6a4d8bc0c7 [Settings Archive] Documentation 2019-08-29 17:23:34 +02:00
Gijs Noorlander b977f9b0b7 [Settings Archive] Allow to download settings from some HTTP archive 2019-08-29 17:23:34 +02:00
Gijs NoorlanderandGitHub 0ded95cd7d Merge pull request #2571 from uzi18/patch-5
[DHT] start conversion improvements
2019-08-29 17:23:12 +02:00
Gijs NoorlanderandGitHub 805e76dfb8 Merge pull request #2574 from TD-er/bugfix/gratuitous_arp
[Gratuitous ARP] Only send ARP packets when IF is up
2019-08-29 17:22:59 +02:00
Gijs NoorlanderandGitHub a2d8c3a2c9 Merge pull request #2575 from clumsy-stefan/code_dependencies
Reduce bin size by excluding unneeded parts
2019-08-29 17:22:25 +02:00
Bartłomiej ZimońandGitHub 9005734dbc [DHT] fix timeout reading 2019-08-28 22:42:37 +00:00
stefan 85518c92f7 Revert "Reduce bin size -- cast blynk code"
This reverts commit 1050a07f78.
2019-08-28 21:28:05 +02:00
Denys-ThreadPC 6fbe97081d Adding as testing, renaming from 088 to 089 2019-08-28 21:49:20 +03:00
stefan 679ca3e4a1 Reduce bin size -- enable all controller structs again
enable all controller structs to make platformIO happy again (hopefully)..
However, this does not seem to add any  size at least not on Arduino IDE....
2019-08-28 15:56:20 +02:00
stefan 1050a07f78 Reduce bin size -- cast blynk code
save some bytes by casting unused blynk code
2019-08-28 12:58:56 +02:00
stefan 0a674f5e33 Reduce bin size -- add PubSubClient to #ifdef's
Added all references to PubSubClient to the `#ifdef USES_MQTT`castings and included it only if MQTT is used or P37 is enabled.
2019-08-28 11:49:46 +02:00
stefan 322b8330d6 Reduce bin size -- changed macro definitions
Changed macro definitions (by @TD_er) to hopefully make travis happy again...
2019-08-28 11:02:20 +02:00
stefan 5cb8e8cde3 Reduce bin size -- Typos.
Corrected some typos...
2019-08-28 08:59:49 +02:00
stefan 24e9244dca Reduce bin size by excluding unneded parts
Trying to reduce size of the compiled binaries by  excluding certain parts of the code if not needed.

See definitions at the end of  'define_plugin_sets.h'
 Currently done:
- Casting all controllers that are not included
- Casting all MQTT related code
- Casting all Domoticz related code
2019-08-28 07:54:51 +02:00
Gijs Noorlander d540b624d5 [PlatformIO] Changes for core 2.6.0 (Tasmota patched core)
As suggested [here](https://github.com/letscontrolit/ESPEasy/commit/54117e908fd48771bc810718de7a1b13bde671ec#commitcomment-34851091) by @Jason2866
2019-08-28 00:33:35 +02:00
Gijs Noorlander a6ab40ed96 [Gratuitous ARP] Only send ARP packets when IF is up
See this PR: https://github.com/xoseperez/espurna/pull/1877  and discussion here: https://github.com/esp8266/Arduino/issues/5998#issuecomment-525332517


Fixes https://github.com/letscontrolit/ESPEasy/issues/2374
2019-08-28 00:31:16 +02:00
Gijs Noorlander 8c3d2155c2 [Settings Archive] Only allow on core 2.5.0 and newer 2019-08-27 22:48:01 +02:00
Gijs Noorlander a4bcd4c57b [Settings Archive] Documentation 2019-08-27 21:29:20 +02:00
Gijs Noorlander 33549c2e4b [Settings Archive] Allow to download settings from some HTTP archive 2019-08-27 21:00:53 +02:00
Bartłomiej ZimońandGitHub 18d26a382c [DHT] start conversion improvements
- use delays according to datasheets
- set bus high after a request for every type of sensor (this may fix problems with pullup resistors)

fixes #2569
2019-08-27 15:44:34 +02:00
ESPEasy release bot 4a8cfd2d9b automatically updated release notes for mega-20190827 2019-08-27 04:00:08 +02:00
Denys-ThreadPC eff5be1a12 Merging suggested fixes 2019-08-27 04:17:14 +03:00
Gijs NoorlanderandGitHub f2cede25e0 Merge pull request #2568 from jimmys01/mega
Update IR library and usage instructions
2019-08-27 00:17:13 +02:00
jimmys01 0e054ea2af IR Update library and usage instructions 2019-08-26 14:06:23 +03:00
Gijs NoorlanderandGitHub 1a1b7ce219 Merge pull request #2559 from TD-er/bugfix/WiFi_AP_disable
[WiFi] Improve WiFi reconnect stability and fix initial setup
2019-08-26 12:26:37 +02:00
Gijs Noorlander 6c88239256 [WiFi] Add RSSI symbol to WiFi setup page 2019-08-26 11:25:55 +02:00
TD-er d8e7fbf284 [LoRa] Keep out LoRa code if no supported controller is used
Building for core 2.6.0 was next to impossible with the LoRa related code to create packed raw data streams was included.
2019-08-25 23:58:24 +02:00
Gijs Noorlander d5a5accbef [WiFi] Clean up WiFi code and modernize WiFi setup page
The last page of the wizard now shows the network info, just like in the sysinfo page and has a button at the bottom which links to the IP address of the node on the normal network
This last page of the setup also has the menu bar at the top and also the default template now shows a warning when you're connected via AP mode.
This allows for easier setup, since you don't have to switch networks anymore
2019-08-24 00:52:27 +02:00
Gijs Noorlander 88735f532b [WiFi] Move functions to separate files and document
Move WiFi/Network related functions into separate files to keep them organized and easier to locate.
Also added lots of comments and some documentation on the state machine handling WiFi connect and reconnects.
2019-08-23 18:32:04 +02:00
Gijs Noorlander 8be2dd2d0c [Docs] Document Timing Stats page 2019-08-23 18:28:25 +02:00
ESPEasy release bot 4b3a2ff712 automatically updated release notes for mega-20190823 2019-08-23 04:00:05 +02:00
Gijs Noorlander 1a98133b5a [WiFi] Improve WiFi reconnect stability and fix initial setup
Simplified the WiFi connect state machine.
Fixed setup of initial WiFi configuration.

AP mode is now kept as long as client is connected.
AP mode will be started immediately if there are no valid WiFi credentials, or after 20 seconds of no wifi connection.
AP mode will be disabled 60 seconds after starting it, or after the last client disconnected from the AP.
2019-08-23 01:50:29 +02:00
Gijs NoorlanderandGitHub ee4a6a63b3 Merge pull request #2543 from TD-er/plugin/HeatpumpIR
New Plugin: Heatpump IR (from Playground P115)
2019-08-22 23:54:46 +02:00
Gijs Noorlander 817d0c3f12 [Build] Remove all core 2.6.0 SDK2 builds
They are now obsolete and the test builds no longer fit in the iram.
2019-08-22 12:58:20 +02:00
Gijs NoorlanderandGitHub 23a32c65a6 Merge pull request #2549 from uzi18/patch12
Modbus RTU received packet improvements
2019-08-22 11:36:01 +02:00
Gijs Noorlander a70360f4aa Remove test_core_260_sdk2_alpha builds
These use too much iram, so cannot be built anymore.
2019-08-22 11:06:43 +02:00
ToniandGijs Noorlander 61bac376f8 Configurable MQTT package size in Controller.ino
A problem was found with Domoticz MQTT testing, when sending heatpumpir commands via Domoticz MQTT api
2019-08-22 11:05:36 +02:00
Gijs Noorlander 63dff349ba [PlatformIO] Fix missing define on some core 2.4.x builds 2019-08-22 00:29:52 +02:00
Gijs Noorlander 4b6e4c270a [PlatformIO] Maintain same order of platform and build_flags
This makes it easier to adapt settings, since platform and build_flags both depend on the same variable section.
Thus it makes sense to have them on consecutive lines.
2019-08-22 00:17:46 +02:00
Gijs Noorlander 0eaa1de569 [PlatformIO] Move duplicate lines to global [env] 2019-08-22 00:01:16 +02:00
Denys-ThreadPC b65e4f1730 Additional checks for nullptr and moving ICMP PCB to constructor/destructor 2019-08-18 19:05:31 +03:00
Denys-ThreadPC 119d16004d Updated code 2019-08-18 16:24:02 +03:00
Denys-ThreadPC 22ab90c024 ICMP ping plugin 2019-08-18 02:28:20 +03:00
ESPEasy release bot a4377aca02 automatically updated release notes for mega-20190817 2019-08-17 04:00:12 +02:00
Bartlomiej Zimon 12f9eb29b3 [Modbus RTU] add slave number check 2019-08-17 00:23:42 +00:00
Bartlomiej Zimon 52a701b05b [Modbus RTU] one more buffer check 2019-08-17 00:19:09 +00:00
Bartlomiej Zimon cc06ef13bf [Modbus RTU] do more checks with received packet 2019-08-16 22:55:00 +00:00
Bartlomiej Zimon 805c45ba93 [Modbus RTU] drop all data in buffers 2019-08-16 22:54:06 +00:00
Gijs NoorlanderandGitHub 54117e908f Merge pull request #2546 from TD-er/feature/LoRaTTN_decoder
[LoRa/TTN] Add raw packed decoder (more values, less data) & reduce joins
2019-08-17 00:36:37 +02:00
Gijs Noorlander 72f80d121c [Heatpump IR] Add minimal IR_ext build for 4M flash nodes
See discussion here: https://github.com/letscontrolit/ESPEasy/pull/2543#issuecomment-521676593
2019-08-16 11:10:30 +02:00
Gijs Noorlander 49a7b541f8 [LoRa/TTN] Correct decoder example in comments 2019-08-15 15:56:44 +02:00
Gijs Noorlander 4bda90bd58 [LoRa/TTN] Add decoder for the packet header
Makes the rest of the decoder.js a lot simpler.
Also changed the GPS lat/long into 3 bytes again, saving 2 bytes in the packet length.
GPS outputs now 7 values  using 18 bytes (incl. header)
2019-08-15 14:20:36 +02:00
Gijs Noorlander 2a30651a7f [LoRa/TTN] Add raw encoder/decoder for sysinfo plugin
This does send out all 11 values of the sysinfo plugin.
2019-08-15 14:18:42 +02:00
Gijs Noorlander 77b39b748c [LoRa/TTN] Output packed raw format for uploading to TTN
This does allow uploading even more parameters than the 4 supported by ESPeasy, since encoder and decoder can be tailored to the specific plugin.
For example the GPS plugin can now upload 7 parameters in only 20 bytes.

Still to do: Why can the decoder not handle encoding per 24 bit? (lat/lon do fit perfectly fine in 24 bit).
2019-08-15 02:12:13 +02:00
Gijs Noorlander 022ca8a6ec [LoRa/TTN] Add Sample Set Initiator to mark samples of the same set
For LoRa, it may take a while to send out samples of different plugins.
This makes it hard to match samples belonging to the same set after receiving them.
The Sample Set Initiator is a task index which should always be considered as the first of a set samples sent to the controller.
For example when triggering to send a set of samples from rules, its order can be always the same. 
Setting the initiator to the first one of the sequence, the same sample set counter will be sent along with the samples.
2019-08-14 19:50:27 +02:00
Gijs Noorlander 915cadf0a8 [LoRa/TTN] Reduce number of join requests
Assume module is joined. If not, a TX attempt will return "not_joined" after which a join should be attempted.
2019-08-14 17:07:16 +02:00
Gijs Noorlander bfc95bb32d [LoRa/TTN] Toggle visibility of OTAA/ABP parameters based on selection 2019-08-14 09:43:30 +02:00
ToniandGijs Noorlander d0734e678b Fix compile warnings in HeatpumpIR plugin 2019-08-13 11:35:35 +02:00
ESPEasy release bot aba4d88ee1 automatically updated release notes for mega-20190813 2019-08-13 04:00:10 +02:00
Gijs Noorlander 8a72d288d8 [LoRa/TTN] Document LoRaWAN/TTN controller 2019-08-13 01:49:02 +02:00
Gijs Noorlander d8eb4dfa84 Fix Build issues P088_HeatpumpIR 2019-08-13 00:21:11 +02:00
Gijs Noorlander 5afa2c59d3 Wrap P088 in USES_P088 defines 2019-08-12 23:30:51 +02:00
Gijs Noorlander 00ff69c34f Rename _P115_HeatpumpIR.ino to _P088_HeatpumpIR.ino 2019-08-12 23:30:44 +02:00
ToniandGijs Noorlander 6ac0f6e561 Add HeatpumpIR plugin P115 2019-08-12 23:30:37 +02:00
ToniandGijs Noorlander b2214f0848 Add HeatpumpIR 1.0.9 library 2019-08-12 23:30:30 +02:00
Gijs NoorlanderandGitHub 34c891177d Merge pull request #2539 from TD-er/feature/LoRaWAN_TTN_controller
Feature: LoRaWAN TTN controller  RN2384 [Experimental]
2019-08-12 23:10:56 +02:00
Gijs Noorlander 74d790f105 [LoRa TTN] Add documentation stubs for C018-LoRaTTN and C017-Zabbix 2019-08-12 23:10:17 +02:00
Gijs Noorlander 16bcd6220d [LoRa TTN] Make settings configurable & add support ABP 2019-08-12 21:07:48 +02:00
Gijs Noorlander 716ead2146 [LoRa TTN] Add decoder types 2019-08-12 01:02:14 +02:00
Gijs Noorlander 1d2c3ef87b [Docs] Building ESPeasy using PlatformIO in VS-Code
As discussed on the [Forum](https://www.letscontrolit.com/forum/viewtopic.php?f=6&t=6922&p=38512#p38512)
2019-08-11 21:32:08 +02:00
Gijs Noorlander 49ce799795 [LoRa TTN] Add basic decoder for all plugins
Next step will be to let the plugin generate the binary data.
2019-08-11 01:33:11 +02:00
Gijs Noorlander 472d004fdd [Encoder] ICACHE_RAM_ATTR added for encoder plugin
Fixes #2492
2019-08-10 22:45:00 +02:00
Gijs Noorlander 13e6b94e16 [LoRa TTN] Start working on the interpreter of decoded data
Currently BME280 and SystemInfo are being detected.
2019-08-10 14:10:51 +02:00
Gijs Noorlander 7d54a43b96 [LoRa TTN] Send data to the TTN network + decoder 2019-08-10 02:59:54 +02:00
Gijs Noorlander b5e9784fd5 [LoRa TTN] Show Dev Addr in controller overview page as host
Normally a controller uses a hostname or IP to connect to.
But a LoRa node does not connect to any specific host, but does broadcast messages using its own unique dev addr.
This will be shown as host description in the Controller overview page.
2019-08-09 23:33:16 +02:00
Gijs Noorlander 8e2f4f3d87 [Cleanup] Stop using global declared dummyString
This string may end up keeping quite some memory for way longer than actually needed.
2019-08-09 22:39:07 +02:00
Gijs Noorlander d1c7e3f67c [Cleanup] Split handle_devices() function into separate functions 2019-08-09 22:38:10 +02:00
Gijs Noorlander 50fea573ce [Cleanup] Split handle_controllers() function into separate functions
The handle_controllers function is rather long, so it is now split into one main wrapper and 4 smaller parts.
2019-08-09 20:55:31 +02:00
Gijs Noorlander 49012df16e [Cleanup] Uncrustify of all WebServer_*.ino files 2019-08-09 17:24:47 +02:00
Gijs Noorlander 9bff07fd65 [Cleanup] Split Webserver.ino is separate files per page 2019-08-09 17:23:38 +02:00
Gijs Noorlander 25ec44c1b8 Missing break; statement in controllers function switch statement
Some controllers were missing a break; in switch statements.
This would then also execute the next case in the switch list.
2019-08-09 15:20:21 +02:00
Gijs Noorlander 29ac2dfa9b [Controller page] Restructure Controller rendering page
Move loading and saving of controller settings to separate functions per item.
Also string generation is now done in a function to keep internal strings in sync.
2019-08-09 15:18:43 +02:00
ESPEasy release bot 3aef271c6a automatically updated release notes for mega-20190809 2019-08-09 04:00:19 +02:00
Gijs Noorlander 94f66e3db2 [LoRa TTN] Create special interface for LoRa TTN controller
Lots of elements of a standard controller are not needed for LoRa, or called differently.
2019-08-09 02:22:01 +02:00
Gijs Noorlander 39de02cf62 [LoRa plugin] Use separate object for C018 data
To avoid object initialization before the controller is set active.
2019-08-08 23:14:34 +02:00
Gijs Noorlander 5e9be55656 [RN2384 lib] Only use const String& in function parameters
Making these functions a lot more memory efficient
2019-08-08 23:14:34 +02:00
TD-er e0689f621b [LoRa TTN] Add some statistics to the controller info page 2019-08-08 23:14:34 +02:00
TD-er 39f8d405b0 Improve RN2xx3 LoRo TTN library 2019-08-08 23:14:34 +02:00
Gijs Noorlander 847f353b9d [TTN] Skeleton for C018 TTN RN2xx3 controller
Initial support for LoRaWan TTN controller for ESPeasy
2019-08-08 23:14:34 +02:00
Gijs Noorlander c88bf664af [TTN] Add RN2483-Arduino-Library 2019-08-08 23:14:34 +02:00
Gijs NoorlanderandGitHub a355e2ea8c Merge pull request #2537 from TD-er/documentation/ESPeasy_p2p
[Docs] Document sharing plugin via ESPeasy p2p controller
2019-08-08 23:12:33 +02:00
Gijs Noorlander 800e7d224c [Docs] Document sharing plugin via ESPeasy p2p controller
Fixes #2522
2019-08-08 23:11:57 +02:00
Gijs NoorlanderandGitHub a227f0fe7b Merge pull request #2534 from uzi18/patch-5
[P076] setMode is not needed in interrupt mode
2019-08-08 17:15:28 +02:00
Gijs NoorlanderandGitHub 02dce83525 Merge pull request #2536 from TD-er/feature/ShowExtraDeviceInfo
[Plugin info] Show extra info in devices web page
2019-08-08 14:18:16 +02:00
Gijs Noorlander 1ac2b97d6d [Plugin info] Show extra info in devices web page
For example the GPS fix state and nr. sats tracked.
2019-08-08 13:06:31 +02:00
Gijs NoorlanderandGitHub 445362f722 Merge pull request #2533 from TD-er/bugfix/misc_fixes
Various fixes and add better port description for devices
2019-08-08 10:43:16 +02:00
Gijs NoorlanderandGitHub bbc9451003 Merge pull request #2531 from tiomny/WeekDayStr
String representation for requested weekday
2019-08-08 10:43:02 +02:00
Gijs Noorlander 4a29795409 [Shutdown] Move delay(100) to after SPIFFS.end() 2019-08-06 23:00:21 +02:00
Bartłomiej ZimońandGitHub 6392bd2bfc [P076] setMode is not needed in interrupt mode 2019-08-06 21:20:03 +02:00
Gijs Noorlander f33a0ec3e6 [ArduinoOTA] Suggest UDP port to use 18266 since 8266 is for ESPeasy p2p
UDP port 8266 is an officially IANA registered UDP port for ESPeasy p2p, so do not use it (on ESPeasy at least) for Arduino OTA.
2019-08-06 17:31:23 +02:00
Gijs Noorlander 6c5d5dce3c [Reboot] Flush all buffers and controllers before reboot
When calling a reboot, not everything was flushed and stored the same way as when going to deep sleep.
2019-08-06 17:29:43 +02:00
Gijs Noorlander 5dbfc1bd68 [WiFi] Fix issue where node could disable plugins when offline for long
The flag to signal a successful boot was only set when there was a successful WiFi connection.
But this can lead to step by step disabling of plugins when the accesspoint is unreachable for a long time.
2019-08-06 17:26:07 +02:00
Gijs Noorlander 4052b3b271 [WiFi] Cleanup some WiFi code 2019-08-06 17:23:38 +02:00
Gijs Noorlander 89a49a3355 [Webserver] Do not allow writing to internal buffer for chunked transfer
Some plugins and controllers were writing to TXBuffer.buf directly.
This should not happen, since then the memory usage of that buffer will increase and never decrease again.
Also C011 Generic HTTP advanced was not using existing functions for displaying config page.
2019-08-06 17:21:20 +02:00
Gijs Noorlander 3c4492ed54 [ESPeasy p2p] Show remote node as port description on device page
The node delivering the data for a plugin is now shown on the device page in the "Port" column.

Also added a fix to only allow updates from 1 node to a remote node.
Previously it was possible to have several nodes writing to the same remote p2p shared plugin.
This could lead to very strange results.

This also means that a remote installed plugin must now be deleted and re-installed to allow receiving data from a remote host if the remote host unit id has changed.
2019-08-06 17:17:14 +02:00
Gijs Noorlander 1f7f3af31d [Serial] Show serial port description as port in device page 2019-08-06 17:13:33 +02:00
Gijs Noorlander 4420c253c3 [ESPeasy Serial] Update to 1.0.12 to allow invalid pin config 2019-08-06 17:09:25 +02:00
Gijs Noorlander 1406f3df99 Check for WiFi connected before trying to connect to host 2019-08-06 10:29:44 +02:00
Gijs Noorlander 7c572ceb83 Config page not able to clear all WiFi settings
If SSID in the WiFi settings was set empty, the config would not be saved.
2019-08-06 10:28:58 +02:00
ESPEasy release bot d32ac6cea8 automatically updated release notes for mega-20190805 2019-08-05 04:00:12 +02:00
Gijs NoorlanderandGitHub a71c79fa37 Merge pull request #2532 from TD-er/feature/serial_proxy
bugfix Deepsleep called from command/rules should flush data
2019-08-05 01:53:10 +02:00
Gijs Noorlander 4b5af356ac [Serial Proxy] Check for null pointer 2019-08-05 00:24:53 +02:00
Gijs Noorlander 95ab1d1cc9 [DeepSleep] Proper flush when going to deep sleep from rules
See [Forum](https://www.letscontrolit.com/forum/viewtopic.php?f=6&t=6918&p=38369#p38360)
2019-08-05 00:23:59 +02:00
Artem ffb61388b9 String representation for requested weekday
Introduced weekday_str(wday) function for obtaining string representation of requested week day.
2019-08-05 01:22:56 +03:00
Gijs NoorlanderandGitHub c5db687f21 Merge pull request #2524 from jimmys01/mega
[IR TX RX] Minor adjustments
2019-08-04 21:32:04 +02:00
Gijs Noorlander b09b24707e [Serial Proxy] Must read at 50x sec interval
For example a stream at 38400 bps can fill up the serial buffer over 27x a second.
This means that receiving data strings over 128 bytes (buffer size) may already be corrupted when reading at 10x a sec.
2019-08-04 21:24:39 +02:00
Gijs NoorlanderandGitHub d23b6272cf Merge pull request #2529 from TD-er/feature/serial_proxy
[Feature] Serial Proxy reading strings from serial
2019-08-04 17:57:07 +02:00
Gijs NoorlanderandGitHub 8969b04c57 Merge pull request #2527 from tiomny/DTParts
Introduced unix time part variables
2019-08-04 17:56:35 +02:00
Gijs NoorlanderandGitHub d8c0961fb0 Merge pull request #2526 from letscontrolit/bugfix/1M_ota_build
[OTA] Fix check 1M filesize during build
2019-08-04 17:55:19 +02:00
Gijs Noorlander 28b75dfb42 [Docs] Document the new %unixday% and %unixday_sec$ variables
See PR #2527
2019-08-04 15:51:01 +02:00
Gijs Noorlander d3ffd76753 Fix build issue in changes of P023_OLED. 2019-08-04 15:24:44 +02:00
Gijs Noorlander a02097937e Disable Serial Proxy in other builds
Since it is still highly experimental, only include in custom build.
2019-08-04 15:20:39 +02:00
Gijs Noorlander 6bf1178d45 [Custom Build] Move custom build definition up in platformio.ini
To make VScode use the defines of esp8266 as default.
Otherwise the ESP32 related code is used in the code highlighting.
2019-08-04 15:18:19 +02:00
Gijs Noorlander dd9463b74c Uncrustify of P001 Switch plugin. 2019-08-04 15:16:48 +02:00
Gijs Noorlander 813d5fa60e [PWM] Fade always starts at 0, not the last set value
Fixes #2461
2019-08-04 15:12:36 +02:00
Gijs Noorlander fd8d363032 Make loading of custom task settings more memory efficient 2019-08-04 12:44:06 +02:00
Artem 08a21f0b9c Introduced unix time part variables
%unixday% = %unixtime% / 86400
%unixday_sec% = %unixtime% % 86400
2019-08-04 00:53:29 +03:00
Gijs NoorlanderandGitHub fc4033a727 [OTA] Fix check 1M filesize during build
fixes #2525
2019-08-03 21:38:57 +02:00
Gijs Noorlander 96c50617e2 [Serial Proxy] Use custom init string 2019-08-03 17:22:55 +02:00
ESPEasy release bot a770feadbd automatically updated release notes for mega-20190803 2019-08-03 04:00:17 +02:00
Gijs Noorlander 4d062f8e5b [Serial Proxy] Send init string and read sentences from serial 2019-08-03 01:07:55 +02:00
Gijs NoorlanderandGitHub 33b9804204 Merge pull request #2517 from Misiu/mega
Rename OpenHAB MQTT to Home Assistant (openHAB) MQTT
2019-08-02 14:09:59 +02:00
jimmys01 2e223eec8d IR library update 2019-08-01 12:16:57 +03:00
jimmys01 81295d2a4f [IR TX RX] Minor adjustments
Fixed some comments and log entries.
Fixed Celcius conversion.
Fixed some code indentation.
2019-08-01 12:12:44 +03:00
ESPEasy release bot 5675d0c2d7 automatically updated release notes for mega-20190731 2019-07-31 04:00:09 +02:00
Gijs Noorlander 4438e49656 [Serial Proxy] Process sentence and send to controller
Tested with GPS data sending to Domoticz and OpenHAB MQTT controller.
2019-07-30 16:50:45 +02:00
Gijs Noorlander 888ed8c644 [GPS] Uncrustify GPS plugin source code. 2019-07-30 14:57:11 +02:00
Gijs Noorlander 2347b95e56 [GPS] Only serial RX pin is really needed.
Init will fail if  the optional TX pin was not set.
2019-07-30 14:56:12 +02:00
Gijs Noorlander ce956ca5f5 [Serial Proxy] Read sentence
First test to read a sentence and write it to log.
2019-07-30 14:47:09 +02:00
Gijs Noorlander cb91d270b7 [String support] Make controllers aware of String type values
Just to make sure they can process the String value type. Not tested yet to see if they can actually handle it.
2019-07-30 14:47:09 +02:00
Gijs Noorlander 986eddf5f2 [New Plugin] Serial Proxy plugin skeleton
Just an initial skeleton to build the new Serial Proxy plugin.
It will fetch data and move it to a controller.
This will be the first plugin to handle something other than float values.
2019-07-30 14:47:09 +02:00
Gijs NoorlanderandGitHub b7de560b61 Merge pull request #2520 from TD-er/bugfix/static_ip
[Static IP] Fix unable to connect with static IP. (#2519)
2019-07-30 14:46:23 +02:00
Gijs Noorlander 73dcd6b89e [Static IP] Fix unable to connect with static IP.
Some logic got mixed up regarding static IP configuration and handling events.
2019-07-30 13:51:34 +02:00
ESPEasy release bot 642167e130 automatically updated release notes for mega-20190730 2019-07-30 04:00:18 +02:00
Gijs NoorlanderandGitHub b7258d49ca Merge pull request #2514 from TD-er/bugfix/7dgt_crash
[7dgt]  Uncrustify cleanup and remove F() & PROGMEM macro
2019-07-29 10:54:18 +02:00
Gijs Noorlander 269c43fadd [WiFi] Fix build issue on ESP32 2019-07-29 02:18:05 +02:00
Gijs Noorlander ed19925d0a [WiFi] Revert WiFi changes to 20190630 and force wifi wake/sleep
Main change is this one: https://github.com/esp8266/Arduino/issues/6266#issuecomment-515803290
Let's hope all WiFi related WDT reboots are now over.
2019-07-29 01:18:08 +02:00
MisiuandMisiu 2e885f40b1 Remove backslash at start 2019-07-22 11:25:42 +02:00
MisiuandMisiu 82760f28f9 Rename OpenHAB MQTT to Home Assistant (openHAB) MQTT
As described by @davidgraeff openHAB is supporting Home Assistant MQTT convention, so C005 should have Home Assistant in name.
Arguments:
openHAB is following HA convention
this will help new users (like me) to setup ESPEasy with Home Assisnant
2019-07-22 09:36:38 +02:00
Gijs Noorlander 1c451bba24 [ESP32] Force Gratuitous ARP 2019-07-21 16:21:37 +02:00
Gijs Noorlander 261d7d767d Use volatile and IRAM attributes on wifi event related code 2019-07-21 15:53:03 +02:00
Gijs Noorlander 5fe5121e56 [Strings] Make sure generated strings are zero-terminated
Looked at `sprintf_P` usage in the code.
2019-07-21 15:51:28 +02:00
Gijs Noorlander cd9d755e8a [CPPcheck] Reduce scope of variables 2019-07-20 10:45:02 +02:00
Gijs Noorlander 8ed4c17ba9 [Build] Remove hidden unicode characters preventing build of AccuEnergy 2019-07-19 01:50:18 +02:00
Gijs Noorlander 91c7170981 [CPPcheck] Remove unneeded code 2019-07-19 01:45:38 +02:00
Gijs Noorlander 463eddf552 Change "To much plugins" to "Too many plugins" 2019-07-18 01:47:12 +02:00
Gijs Noorlander e634a35bc6 [PIO] include latest fixes for core 2.5.2 (PIO espressif8266@2.2.2) 2019-07-18 01:45:59 +02:00
Gijs Noorlander 6bc2bd285c [Range check] Perform some basic range checks in Calculate function
There was no boundary check in the calculate function.
2019-07-18 01:44:22 +02:00
Gijs Noorlander c33323f20c [Memory] Be a bit more careful with memory allocation for serial buffer
Make sure no memory allocation error will occur when writing to the serial buffer.
2019-07-18 01:42:41 +02:00
Gijs Noorlander 6c950fcd77 [CPPcheck] Fix some suggestions from CPPcheck
Most are initialization issues, but some are actually programming errors like missing break; in switch statements.
2019-07-18 01:40:27 +02:00
Gijs Noorlander f6f1e12907 [WiFi] Add 1000 msec delay after WIFI_OFF and fix initial connect
Disabled some optimizations and added ridiculous long delay after WIFI_OFF to make initial connect to AP more reliable.
2019-07-18 01:37:01 +02:00
Gijs Noorlander 22d60f04b1 [7dgt] Uncrustify cleanup and remove F() & PROGMEM macro
[Related forum topic](https://www.letscontrolit.com/forum/viewtopic.php?f=6&t=6848&p=38024#p38024)
[Related issue](https://github.com/letscontrolit/ESPEasy/issues/2380)
2019-07-16 11:56:58 +02:00
ESPEasy release bot a1db2c353b automatically updated release notes for mega-20190716 2019-07-16 04:00:11 +02:00
Gijs NoorlanderandGitHub d1219cd237 Merge pull request #2512 from TD-er/cleanup/uncrustify
[Uncrustify] Cleanup code using Uncrustify
2019-07-16 00:12:59 +02:00
Gijs Noorlander 85348971d6 [Uncrustify] Cleanup code using Uncrustify
Since there are not that much PRs open and in progress, this is maybe the least intrusive moment to cleanup some code using the given uncrustify.cfg 
If there is a PR merge issue, checkout the PR and perform an uncrustify first before trying to merge.
2019-07-15 15:11:30 +02:00
Gijs NoorlanderandGitHub 1bb3d6ce78 [Dallas] Accidentally removed delay in init call. 2019-07-15 14:50:43 +02:00
Gijs NoorlanderandGitHub e7ae75b5f3 Merge pull request #2511 from TD-er/buildfix/pio_40
[Build] PIO 4.0 uses different locations for built binary (#2510)
2019-07-15 12:09:42 +02:00
Gijs Noorlander 16c2568fb3 [Build] PIO 4.0 uses different locations for built binary 2019-07-15 11:23:53 +02:00
ESPEasy release bot f965a4c04a automatically updated release notes for mega-20190715 2019-07-15 04:00:12 +02:00
Gijs NoorlanderandGitHub 2c87316c54 Merge pull request #2509 from TD-er/buildfix/minimal_IR_1m
[Build] Reduce build size normal_esp8266_IR_1M to minimal
2019-07-14 15:20:49 +02:00
Gijs Noorlander 4c4e18e4a6 [Build] Fix build issue on core 2.4.0
Just tested core 2.4.0 to see if WiFi issues still present, but that one doesn't even boot well with current code (or settings)
2019-07-14 11:30:12 +02:00
Gijs Noorlander ded7e71bd2 [Build] Reduce build size normal_esp8266_IR_1M to minimal
It just doesn't fit on 1M flash with SPIFFS anymore
2019-07-14 10:55:07 +02:00
ESPEasy release bot c90dc79571 automatically updated release notes for mega-20190714 2019-07-14 04:00:15 +02:00
Gijs NoorlanderandGitHub 89c004822b Merge pull request #2508 from TD-er/feature/upgrade_esp32_core190
[ESP32] Upgrade to core v1.9.0
2019-07-14 02:22:02 +02:00
Gijs Noorlander bdac44ac42 [ESP32] Upgrade to core v1.9.0 2019-07-14 02:19:55 +02:00
Gijs NoorlanderandGitHub ed1504a2df Merge pull request #2501 from TD-er/feature/log_last_executed_task
Feature/log last executed task
2019-07-14 02:14:35 +02:00
Gijs NoorlanderandGitHub 54c8a83d3b Merge pull request #2495 from jimmys01/Zabbix_controller_push
[Controller] Zabbix controller initial commit
2019-07-14 01:46:27 +02:00
Gijs Noorlander ec3c469926 [WiFi] Code cleanup WiFi/WiFi event files 2019-07-14 01:25:41 +02:00
Gijs Noorlander 32e38e7f4f [Dallas] Add ignore option as error state output value 2019-07-14 01:25:41 +02:00
Gijs Noorlander e7446802cb [Dallas 1wire] Add error state value selector
The Dallas 1wire sensor can get into some error state.
To signal an error state, a NaN was ouput, but that may be hard to use in rules.
This selector allows to set a fixed value to signal an error state.

Also removed a lot of redundant code and make sure no data is shared among other active instances of the same plugin.
2019-07-14 01:25:41 +02:00
Gijs Noorlander 943a4e90b7 [TSL2561] Add auto gain and extended auto gain
Auto gain will switch on/off the gain to extend the range of the sensor.
The 16x gain will be turned on below 10 Lux.
It will be off at 1/16th of the full range of the ADC.

On top of that there is also an option to extend the range of the sensor to about 130'000 lux.
The ratio ch1/ch0 will be stored as long as no ADC is clipping. This ratio will be applied to the measured ch1 (IR part) of the measured data when the ch0 value is clipping.

For example meauring direct sunlight may give upto 130'000 Lux of light intensity, but the sensor itself can only handle upto about 30'000 Lux without clipping.
2019-07-14 01:25:41 +02:00
Gijs Noorlander 996757d3e1 [TSL2561] Small fix to detect saturation of ADC
Saturation level of the CH0 and CH1 ADCs is not at 65535 for all integration time settings.
For an integration time less than 178 msec, the max ADC value is less. This fix does detect those saturation levels.
2019-07-14 01:25:41 +02:00
Gijs Noorlander da88dfb537 [Build] Set core 2.5.2 as default and add custom build 2019-07-14 01:25:41 +02:00
Gijs Noorlander 2a5eb1a5ab [Uncrustify] Move uncrustify.cfg to project dir
The Uncrustify package in VS code does look in the project dir for a config file.
When it is present, there is hardly any configuration needed. Therefore I moved it and updated it a bit to behave more uniform than the cfg file we already had.
2019-07-14 01:25:41 +02:00
Gijs Noorlander c16e24e33a [WiFi] Add more debug information 2019-07-14 01:25:41 +02:00
Gijs Noorlander 2453637533 [WiFi] Debugging connect/disconnect behavior 2019-07-14 01:25:41 +02:00
Gijs Noorlander 0d3a121b4f [WiF] Improve disconnect/reconnect stability
The ESP node appears to reboot at the reconnect sequence when the wifi connection was lost.

See also https://github.com/esp8266/Arduino/issues/5527#issuecomment-508260107
2019-07-14 01:25:41 +02:00
Gijs Noorlander 88c34c5b5c [SW WD] Count SW watchdog and feed HW watchdog
As suggested here: https://github.com/letscontrolit/ESPEasy/issues/2477
2019-07-14 01:25:41 +02:00
Gijs Noorlander 1b614583e3 [PIO] Ignore .pio folder in Git. 2019-07-14 01:25:41 +02:00
Gijs Noorlander 8d145e0523 [Crash info] Report last scheduled task before reboot
Just for testing/debugging purposes, the last executed task from the scheduled is logged into RTC memory.
This decoded string is also logged at boot and shown in the system info page.

It still demands quite some expertise to interpret but maybe we can find some pattern to where the crashes occur most often.
2019-07-14 01:25:41 +02:00
Gijs NoorlanderandGitHub e0b98eb44f Merge pull request #2499 from letscontrolit/bugfix/pio_400_emptyflags
[PIO] Fix build issue with PIO core 4.0.0
2019-07-13 14:26:57 +02:00
Gijs NoorlanderandGitHub 7f5fdc4160 Merge pull request #2503 from jimmys01/mega2
[IR TX RX] Extended AC commands
2019-07-13 14:26:23 +02:00
Gijs NoorlanderandGitHub 7f759ddfe6 Merge branch 'mega' into Zabbix_controller_push 2019-07-13 14:24:59 +02:00
jimmys01 50ecf4f8f8 Commit the changed define_plugin_sets.h after conflicts have been resolved 2019-07-13 13:39:48 +03:00
jimmys01 c50934f181 Resolving conflicts #2 2019-07-13 13:38:43 +03:00
jimmys01 6e9e784fbc Resolve conflicts with C015 2019-07-13 13:30:48 +03:00
jimmys01 1fca795f1a Couple payload_len to actual JSON payload length. 2019-07-05 16:11:46 +03:00
jimmys01 346308ea26 [IR TX RX] Extended AC commands
-Extended command example:
IRSENDAC,"protocol":"GREE","power":"off","mode":"heat","temp":21,"fanspeed":"max","swingv":"middle","swingh":"off"}

-Refactored and simplified code based on new libary updates
-1M  IR build does not support Extended AC commands
-Usage instructions added

-Also added back the ability to have arbitrary bits to the IR send command. Reflected that also in the received signal decoding. Using 0 bits as an argument the ir send command will still use the default protocol bits
ref: https://www.letscontrolit.com/forum/viewtopic.php?f=4&t=6452&p=37373#p37373
2019-07-05 14:19:07 +03:00
jimmys01 db3384d932 Update IR library to 2.6.3 2019-07-05 13:14:00 +03:00
Gijs NoorlanderandGitHub c093ddcaa7 [PIO] Fix build issue with PIO core 4.0.0
See https://github.com/platformio/platformio-core/issues/2734
2019-07-02 22:56:42 +02:00
ESPEasy release bot a8ab3bcd7c automatically updated release notes for mega-20190630 2019-06-30 04:00:18 +02:00
jimmys01 3ca267d078 Increace PLUGIN_MAX by 10 2019-06-29 16:26:03 +03:00
jimmys01 823106e13b [ZABBIX] Update code to JSON6+
Also added F macros and a check for not sending empty TaskDeviceValueNames
2019-06-29 16:19:49 +03:00
Gijs NoorlanderandGitHub e19d938e75 Merge pull request #2489 from jimmys01/JSON
[JSON] Update to Json 6
2019-06-29 14:59:25 +02:00
jimmys01andGitHub a5456fa84d Update _C002.ino 2019-06-29 14:05:06 +03:00
jimmys01 c6b9978e64 More improvments 2019-06-26 22:09:12 +03:00
jimmys01 fe935d582e Improvments
Opted as TDer sugested to send one (larger) packet, than openning and closing the connection for each value.
2019-06-26 12:40:26 +03:00
ESPEasy release bot befa809b80 automatically updated release notes for mega-20190626 2019-06-26 04:00:15 +02:00
Gijs NoorlanderandGitHub ad8a066afb Merge pull request #2430 from okar1/blynk-native
Blynk native (ESPEasy changes only)
2019-06-25 22:31:12 +02:00
jimmys01 bfb395c259 Zabbix secont attempt 2019-06-25 20:15:02 +03:00
jimmys01 b41c8a59d7 Scheduler fix
I knew it had to bee something small
2019-06-25 17:21:26 +03:00
jimmys01 91b9bf702b [Controller] Zabbix controller initial commit 2019-06-25 16:48:47 +03:00
jimmys01 6196477667 Update code to version JSON 6 2019-06-10 14:24:54 +03:00
jimmys01 c864e1c028 [JSON] Update to Json 6 2019-06-10 14:21:00 +03:00
ESPEasy release bot 5b42210c47 automatically updated release notes for mega-20190607 2019-06-07 04:00:17 +02:00
Gijs NoorlanderandGitHub ec650eee17 Merge pull request #2470 from Christian-Me/mega
Handling incomming Homie messages via receiver Plugin
2019-06-06 23:41:07 +02:00
Gijs NoorlanderandGitHub 18506b723f Merge pull request #2478 from letscontrolit/bugfix/AcuDC243_Modbus_address
[AcuDC243] Fix modbus address not set
2019-06-06 23:39:22 +02:00
Gijs NoorlanderandGitHub 63fa8c24ea [Readme] Added download counter 2019-06-06 23:39:00 +02:00
Gijs NoorlanderandGitHub ffe2583df8 Merge pull request #2485 from TD-er/bugfix/ArduinoIDE_build
[Build] Make it build in Arduino IDE again (#2481)
2019-06-06 23:35:34 +02:00
Gijs Noorlander 9013bac3aa [build] Changes from SPIFFS to FS #2482
Core 2.6.x has changed _SPIFFS_* to _FS_*
See #2482
2019-06-06 21:37:26 +02:00
TD-er 3438ce9412 [Build] Make it build in Arduino IDE again (#2481) 2019-06-06 20:41:49 +02:00
Gijs Noorlander 883a583db6 [AcuDC243] Fix bug in reading 4th set variable 2019-05-25 00:11:58 +02:00
Gijs NoorlanderandGitHub 02f11fe106 [AcuDC243] Fix modbus address not set 2019-05-24 16:05:52 +02:00
ESPEasy release bot 5702efdcb2 automatically updated release notes for mega-20190523 2019-05-23 04:00:18 +02:00
Gijs NoorlanderandGitHub 98352a3e7f [Blitzwold SHP] Add build for 1M power nodes
See #2436
2019-05-22 17:25:39 +02:00
ChrisandGitHub 66abcfea53 Merge branch 'mega' into mega 2019-05-22 07:43:48 +02:00
Christian Meinert c8e3bd076a Changes as requested 2019-05-22 07:40:16 +02:00
ESPEasy release bot 0cf096ee6f automatically updated release notes for mega-20190522 2019-05-22 04:00:19 +02:00
Gijs NoorlanderandGitHub c1c5e69d0e Merge pull request #2425 from TD-er/feature/PubSubClient_upgrade
[PubSubClient] Upgrade to 2.7
2019-05-21 23:50:08 +02:00
Gijs Noorlander a3c6fc5cdf [TimeDiff] Clean up timeDiff() function and add ICACHE_RAM_ATTR
So the function can be called from ISR functions.
2019-05-21 22:54:20 +02:00
Gijs NoorlanderandGitHub d3a4eced49 Merge pull request #2469 from letscontrolit/bugfix/P003_ICACHE
[P003 Pulse] Adding ICACHE_RAM_ATTR attributes
2019-05-21 22:27:45 +02:00
Gijs Noorlander 2c8fc6dfc0 [PIO build] Core 2.5.2 has been released
Core 2.5.2 does contain a lot of fixes.
If this core version does seem to appear stable in the next few weeks, we will use it as the standard core for nightly builds.
2019-05-21 22:10:37 +02:00
Gijs Noorlander 0ed12601f2 [PubSubClient] Check for valid initialized _client
Especially on disconnect, there should be a check for a valid `_client` pointer.
2019-05-21 21:49:58 +02:00
Gijs Noorlander 9c8ede259e [MQTT] Do not connect with cleanSession flag set
See https://github.com/knolleary/pubsubclient/issues/458#issuecomment-493875150
2019-05-21 21:19:33 +02:00
Gijs Noorlander b2d471f7f5 [PubSubClient] Fix publish() for payload == nullptr (528)
See PR [528](https://github.com/knolleary/pubsubclient/pull/528/files)
2019-05-21 20:56:27 +02:00
Gijs Noorlander 0f80893901 [PubSubClient] Add delay() calls in connect() and write()
Based on PR [567](https://github.com/knolleary/pubsubclient/pull/567/files)
2019-05-21 20:50:46 +02:00
Gijs Noorlander e4c79db8e1 [PubSubClient] Support pre-connected client
Pull Request [571](https://github.com/knolleary/pubsubclient/pull/571/files)
2019-05-21 20:45:55 +02:00
Gijs Noorlander 244b3059fe [PubSubClient] Removed an unused variable 618
Pull request [618](https://github.com/knolleary/pubsubclient/pull/618/files)
2019-05-21 20:32:57 +02:00
Gijs Noorlander 734d0562be [PubSubClient] Fix Publish_P return value
PR from [PubSubClient PR 600](https://github.com/knolleary/pubsubclient/pull/600)

N.B. we had this fix already present in ESPeasy before update to 2.7
2019-05-21 20:30:47 +02:00
TD-er a115415df2 [PubSubClient] Upgrade to 2.7 2019-05-21 20:18:24 +02:00
Gijs NoorlanderandGitHub 2d6988f786 Merge pull request #2439 from TD-er/bugfix/selectableOutputs
[Plugins] Make number of outputs dynamic for some plugins
2019-05-21 18:49:05 +02:00
Gijs NoorlanderandGitHub 6c35956c04 Merge pull request #2474 from Meek-HA/mega
Allow GPIO-16 for software serial (ESP82xx)
2019-05-21 18:46:45 +02:00
Meek Home Automation a63cf6216f Update ESPEasySoftwareSerial.cpp
Since Release mega-20190215, the plugin “ P065_DRF0299_MP3.ino “ wasn’t functioning on GPIO16.
With this small change, it’s operational once again and also available to connect other serial (non-critical) devices on GPIO16.
2019-05-21 10:56:09 +02:00
Christian Meinert c1b8e437ac Merge branch 'mega' of https://github.com/Christian-Me/ESPEasy into mega 2019-05-21 06:45:31 +02:00
Christian Meinert 5725090f6d Plugin Number chnaged to 86, HSV2RGB functions moved to misc.ino, little bugfixes and documentation 2019-05-21 06:42:57 +02:00
TD-er 274934f658 [GPS] Allow to select output values and update on time or distance travelled
It is now possible to select different values for output.
A new output will be given when either the Interval time has passed, or a set minimal traveled distance is exceeded.
This can then be used in rules to trigger other samples.
2019-05-18 01:49:41 +02:00
TD-er 7dda5712a6 Make output value selection more dynamic
- P026 Sysinfo
- P052 SenseAir
- P078 Eastron
- P085 AcuDC243
2019-05-18 01:46:38 +02:00
TD-er 0cb933580f [AccuEnergy] Make output value selectable 2019-05-17 17:52:28 +02:00
TD-er b749da0ced [SenseAir] Add preliminary support for S11 Sunrise CO2 sensor
Support reading CO2 & temperature 
Support setting continuous measurement parameters in sensor.
2019-05-16 01:27:08 +02:00
TD-er 5c9cebee0a Merge remote-tracking branch 'origin/bugfix/selectableOutputs' into bugfix/selectableOutputs 2019-05-15 12:55:01 +02:00
TD-er 9c4e769ff8 [Modbus RTU] Removed a delay and increase reading success
There was still a hard-coded delay left in the process modbus command function.
Now it returns as soon as a valid reply is received.
This will make the PLUGIN_READ call of SenseAir S8 take 45.1 msec instead of 59.1 msec on average.
2019-05-15 12:54:38 +02:00
ChrisandGitHub 02624f89a5 Merge branch 'mega' into mega 2019-05-15 07:03:25 +02:00
Christian Meinert dfea96f7f3 Handling incomming messages via Plugin
Using rules to handle incomming messages.
2019-05-15 01:49:44 +02:00
Gijs NoorlanderandGitHub 76a2ae99ee [P003 Pulse] Adding ICACHE_RAM_ATTR attributes
As reported here: https://github.com/letscontrolit/ESPEasy/issues/2463#issuecomment-491842239  by @s0170071
2019-05-14 09:03:44 +02:00
ESPEasy release bot da8cfaa28d automatically updated release notes for mega-20190511 2019-05-11 04:00:20 +02:00
Gijs NoorlanderandGitHub c5c38b487d Merge pull request #2465 from Christian-Me/mega
Documentation for Homie Controller C014 & a minor fix
2019-05-10 15:48:30 +02:00
Gijs NoorlanderandGitHub 9c16b6c936 Merge pull request #2416 from svmac/GPIO16PullDown
PullDown for GPIO16
2019-05-10 15:43:27 +02:00
Gijs NoorlanderandGitHub 677c319a9a Merge branch 'mega' into blynk-native 2019-05-10 15:34:47 +02:00
Gijs NoorlanderandGitHub 67dab88b60 Merge branch 'mega' into bugfix/selectableOutputs 2019-05-10 15:16:51 +02:00
TD-er c7017bdc2b [AccuEnergy] Rename plugin to P085
Was already a plugin with nr 084 present.
2019-05-10 15:15:52 +02:00
TD-er d6025656e9 [WiFi] Perform explicit disconnect when wifi gets disconnected 2019-05-10 01:03:31 +02:00
TD-er f424e0de92 [AccuEnergy] Improve calibration and allow to clear logged data
The calibration is now presented more clear.
Added an option to clear the logged data in the AccuEnergy sensor
Fixed an inconsistency in reported Watt and Wh.
Added display of imported/exported/net/total energy.
2019-05-10 01:02:38 +02:00
Christian Meinert dad6490d9f Revert "Modified P019 & C014 to receive Values"
This reverts commit e0464c3959.
2019-05-09 00:52:09 +02:00
Christian Meinert c282e2ebb8 Fixed subscribe topic default 2019-05-09 00:51:47 +02:00
Christian Meinert f2183bbe1a C014 Documentation 2019-05-09 00:44:40 +02:00
ESPEasy release bot d4e04ecfba automatically updated release notes for mega-20190508 2019-05-08 04:00:18 +02:00
Gijs NoorlanderandGitHub b1801aba1e Merge pull request #2438 from uzi18/patch12
ESP32: Webserver fix-es
2019-05-07 20:12:52 +02:00
Gijs NoorlanderandGitHub cc39bcaa0e Merge branch 'mega' into patch12 2019-05-07 09:36:07 +02:00
Gijs NoorlanderandGitHub d97dca0dcb Merge pull request #2451 from MrBenzim/mega
Update _P003_Pulse.ino - Fix the debounce of the edge detection
2019-05-07 09:33:34 +02:00
Gijs NoorlanderandGitHub df41e2fca1 Merge pull request #2440 from RemCom/mega
[VEML6070] Added VEML 6070 UV sensor
2019-05-07 09:31:17 +02:00
Peter Kretz 0dbb275fdc Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into mega 2019-05-06 17:16:57 +02:00
Peter Kretz a215932f87 atlas Sensor for pH an Redox (ORP) added 2019-05-06 17:05:55 +02:00
Christian Meinert 435cebb399 Minor fixes 2019-05-02 18:12:18 +02:00
Christian Meinert fdee013fcc 1st draft version of docs for C014 Homie Controller 2019-05-02 00:02:04 +02:00
Christian Meinert e0464c3959 Modified P019 & C014 to receive Values
Switching outputs of a pcf port expander via Homie Controller
2019-04-30 03:10:44 +02:00
ESPEasy release bot 08dae01c07 automatically updated release notes for mega-20190425 2019-04-25 04:00:18 +02:00
Gijs NoorlanderandGitHub f5cbdca4f5 Merge pull request #2446 from TD-er/feature/slowdown_SHT1x
[SHT1x] Add delay to slow down clock rate (#2444)
2019-04-24 15:35:38 +02:00
TD-er d4f6305ba7 [AccuEnergy] Allow setup internal parameters
Allow to set the internal parameters like:
- Voltage full range
- Current full range
- Shunt full range (mV)
- enable/disable logging.
2019-04-23 02:18:45 +02:00
TD-er c79d75a5a6 New plugin: AccuEnergy Modbus 2019-04-22 12:15:44 +02:00
MrBenzim e467ada183 Update _P003_Pulse.ino
Bugfix: Debouncing is fixed now
2019-04-20 23:04:59 +02:00
TD-er 77f2389ddb [WiFi] Use RSSI value to determine connected state
See https://github.com/letscontrolit/ESPEasy/issues/1774#issuecomment-484882388
2019-04-20 00:41:35 +02:00
TD-er 5c6dec3d4e [Modbus RTU] Add DE/RE pin for use with MAX485 chip
Modbus logic need to be able to use DE/RE pin to use MAX485 converter.
2019-04-20 00:32:07 +02:00
TD-er 2f7b7e5c9a [Plugins] Add plugin call to load defaults
- Call to load defaults of a plugin, after it is added.
- Some fixes to make System Info plugin easier to set to different number of outputs.
2019-04-20 00:30:06 +02:00
TD-er ce762eeafd [Plugins] Make number of outputs dynamic for some plugins
For example the SysInfo plugin should be made more flexible in the number of outputs.
Also the SenseAir plugin now supports multiple outputs to be able to get CO2 and sensor temperature for example. (temp reading is not yet correct)
2019-04-19 22:22:59 +02:00
TD-er 7557551dd8 [SHT1x] Make clock delay configurable. 2019-04-19 22:12:32 +02:00
ESPEasy release bot 5ce3e2f4c4 automatically updated release notes for mega-20190419 2019-04-19 04:00:28 +02:00
Gijs NoorlanderandGitHub 086d5dff5c Merge pull request #2452 from TD-er/feature/remove_cachefiles
[Cache Controller] Add option to delete all cache files
2019-04-18 20:38:40 +02:00
Gijs NoorlanderandGitHub 66c0e84790 Merge pull request #2432 from TD-er/feature/16M_spiffs
Add 16M/14M builds (experimental)
2019-04-18 20:38:27 +02:00
TD-er 264fc7b31f [Cache Controller] Add option to delete all cache files
And call the Garbage Collector to make sure all freed blocks are erased for writing.
2019-04-18 14:14:57 +02:00
ESPEasy release bot 8c4404ecfe automatically updated release notes for mega-20190416 2019-04-16 04:00:12 +02:00
Gijs NoorlanderandGitHub 4cd25a1dde Merge pull request #2449 from TD-er/feature/cache_delete_files
[Cache Controller] Delete oldest files when no room left
2019-04-15 23:49:48 +02:00
MrBenzim 07771fe742 Update _P003_Pulse.ino
Debouncing was no real debouncer before, this is fixed now.
Instead of setting a delay after a change occured during this the counter is "blind" the counter now waits for the next edge in the pulse signal and calculates then the time that the last state was active.
Only if the debounce threshold is exceeded the counter will be increased.
2019-04-15 22:47:01 +02:00
TD-er 8e72145871 [SPIFFS] Add garbage collection timing statistics 2019-04-15 18:58:30 +02:00
TD-er ab7324b644 [SPIFFS] Use result of GarbageCollectio()
- When successful call gc a few times at boot, to clear more.
- When successful gc at write error, retry first and then try to remove old files.
2019-04-15 18:35:06 +02:00
Gijs NoorlanderandGitHub 3b8e7b3500 Merge pull request #2447 from letscontrolit/bugfix/DHT_interrupts
Fix P005_DHT enabling interrupts on error reading.
2019-04-15 18:14:51 +02:00
Gijs NoorlanderandGitHub b49d26aa67 Homie 3.0.0 & 4dev convention controller Plugin (testing)
Homie 3.0.0 & 4dev convention controller Plugin
2019-04-15 15:28:54 +02:00
TD-er df23c96a4c [SPIFFS] Use standard functions for SPIFFS operations
This allows also to gather information on ESP32 platform about the SPIFFS filesystem
2019-04-15 13:36:48 +02:00
TD-er 6a818479cc [Cache Controller] Delete oldest files when no room left
The SPIFFS may become fragmented, so it is possible a file cannot be appended to even though there is room on the file system.
So there has to be a proper check to see if writing fails and also delete oldest file(s) when needed + call to the garbage collector.
See also https://github.com/esp8266/Arduino/issues/5987
2019-04-15 13:35:46 +02:00
Gijs NoorlanderandGitHub 877e0f2eea Fix P005_DHT enabling interrupts on error reading.
Inspired by this remark: https://github.com/letscontrolit/ESPEasy/issues/1774#issuecomment-483059794
When looking for the use of interrupts, I found this bug, where it is possible the interrupts were not enabled anymore if there was no reading.
2019-04-15 08:49:57 +02:00
TD-er 07d5f57155 [SHT1x] Add delay to slow down clock rate (#2444)
First test using 10 micro seconds delay between clock ticks
2019-04-14 10:45:33 +02:00
Christian-Me 2109c8a2c4 Revert "Update platformio.ini"
This reverts commit 3441f35199.
2019-04-14 09:07:58 +02:00
Christian-Me 26e159bce5 Merge branch 'mega' of https://github.com/Christian-Me/ESPEasy into mega 2019-04-13 09:02:50 +02:00
Christian-Me 3441f35199 Update platformio.ini
for dev_ESP8266_4M build
2019-04-13 09:01:03 +02:00
Christian-Me 2f8cda30ea Hook for CPLUGIN_GOT_INVALID implemented & minor chnages
- hook for CPLUGIN_GOT_CONNECTED placed correctly
- hook for CPLUGIN_GOT_INVALID placed + added log
- fixed return values
- some log fixes
- cleaned up code

issues

I Think MQTTclient_should_reconnect=true does not reconnect if there is a working connection. In case of  CPLUGIN_GOT_INVALID  success a MQTTDisconnect(); function added.
2019-04-13 08:58:41 +02:00
ESPEasy release bot f7c52bcdfb automatically updated release notes for mega-20190413 2019-04-13 04:00:21 +02:00
Gijs NoorlanderandGitHub 07d96c80a0 Merge pull request #2435 from jimmys01/TX-RX
[IR Tx Rx] Added IR code repeat functionality, stability improvments for long key presses for RX plugin
2019-04-12 22:10:35 +02:00
jimmys01 c73b799284 Add F() Macros to the IR lib 2019-04-12 12:23:07 +03:00
ChrisandGitHub 1d659468d2 Merge branch 'mega' into mega 2019-04-12 11:11:23 +02:00
Christian-Me 2d34d68c92 Updates on pull request
Adressed "most of" the comments.
2019-04-12 11:05:53 +02:00
Remco van Essen 08e54fa430 [VEML6070] Removed unneeded include 2019-04-10 21:38:14 +02:00
Remco van Essen 33e374056d [VEML6070] Updates to plugin and add I2C function for 8 bit reads without sending command code first 2019-04-10 21:32:57 +02:00
Remco van Essen 3d136ab80e [VEML6070] Added VEML 6070 UV sensor 2019-04-09 22:30:07 +02:00
ESPEasy release bot f882c93996 automatically updated release notes for mega-20190409 2019-04-09 04:00:18 +02:00
Gijs NoorlanderandGitHub 2e9d296fa4 Merge pull request #2434 from TD-er/feature/cache_controller
C016 - Cache Controller (experimental)
2019-04-09 01:23:25 +02:00
Gijs NoorlanderandGitHub bbff11935e [ESP32] Fix build/flash issue (#2403)
As fixed by @uzi18 in https://github.com/letscontrolit/ESPEasy/pull/2438
See also #2403
2019-04-09 00:21:33 +02:00
Bartlomiej Zimon 747f11f426 Merge branch 'mega' of github.com:letscontrolit/ESPEasy into patch12
# Conflicts:
#	src/WebServer.ino
2019-04-08 21:37:04 +00:00
Bartlomiej Zimon 3bbcea9c09 # Conflicts:
#	src/WebServer.ino
2019-04-08 21:34:47 +00:00
Bartlomiej Zimon 20d0bd32bf spiffs.open -> tryOpenFile 2019-04-08 21:30:39 +00:00
Bartlomiej Zimon 7bd797ecd1 ESP32: fix booting after flash 2019-04-08 20:53:06 +00:00
Bartlomiej Zimon 833474c363 ESP32: fix (custom) dashboard downloading 2019-04-08 20:39:15 +00:00
Bartlomiej Zimon 7287ec1faa ESP32: fix spiffs files downloading 2019-04-08 20:38:36 +00:00
Bartlomiej Zimon 9a1b15a479 ESP32: fix files upload 2019-04-08 20:38:10 +00:00
TD-er 9787cbe6db [RTC user var] Store read values in RTC memory to survive crash
The last read values were only saved when the device enters sleep mode, not when new values are read.
So after a reboot (as a result of a crash) the values were at their initial values.
2019-04-07 12:53:11 +02:00
okarasev 9f5f37914e thumbrint gui set option (when compilled in ssl mode) 2019-04-07 12:50:34 +03:00
okarasev f3fdff568c log prefix show in log (ssl/open) 2019-04-07 11:04:26 +03:00
okarasev c9dd125854 fix 2019-04-06 17:01:23 +03:00
okarasev 9d7a95d25a ssl support (disabled by default) 2019-04-06 16:27:43 +03:00
jimmys01 584255efdf [IR RX] Small enchacments, again
P016_TIMEOUT is set now to 50 instead of 90 as a compromise between stability of decoding and accomodating large IR signals.
Also added breaks to mitigate unstability with long operations that might starve the ESP from backround tasks
2019-04-06 14:15:17 +03:00
jimmys01 529016bdbd [IR TX] Add back repeat functionality in a reverse compatible way
Reverted and made compatible and optional the old style of the irsend command that supported also repeats
Both commands
IRSEND,NEC,ASDF123
and
IRSEND,NEC,ASDF123,0,0
will produce the same result.

to repeat the signal 1 time the command is
IRSEND,NEC,ASDF123,0,1
2019-04-06 14:12:40 +03:00
okarasev eb2bdf61fb fix: reconnect_interval not worked correctly 2019-04-06 12:40:18 +03:00
ESPEasy release bot 5c4fc606d6 automatically updated release notes for mega-20190406 2019-04-06 04:00:18 +02:00
TD-er 0b23c9cf58 [Cache controller] ESP32 compile issues SPIFFS related 2019-04-05 23:45:27 +02:00
TD-er 6477c152b5 [Controller Queue] Add code examples for future controllers up-to ID 20 2019-04-05 22:41:36 +02:00
TD-er 0f03a5888b [Cache controller] Documentation 2019-04-05 22:38:53 +02:00
TD-er 07e8317aef [Cache controller] Clean up code 2019-04-05 22:38:31 +02:00
TD-er 6650e62ddb [16M flash] Add warning about slow speed for 16M flash builds 2019-04-05 15:54:42 +02:00
TD-er d4914be8fb [SPIFFS] Add 16M14M option for build images
Known issue: File access on 16M14M config is quite slow, probably due to high number of blocks in the filesystem.
See: https://github.com/esp8266/Arduino/issues/5932
2019-04-05 15:43:46 +02:00
TD-er 6982f98276 [Cache controller] Rename C014 to C016 2019-04-05 15:36:07 +02:00
TD-er b2a2760a83 [C014] Fix logging to flash without network connection 2019-04-05 15:35:59 +02:00
TD-er f905cf5559 [Cache controller] Add UTC timestamp to the CSV export columns 2019-04-05 15:35:51 +02:00
TD-er 84513c55f3 [C014 cache] Read JSON to fetch cache files. 2019-04-05 15:35:41 +02:00
TD-er 50752ef7b2 [C014 cache] Compile issues using core 2.4.2
Somehow the F() macro cannot be used in separate structs in Core 2.4.2
2019-04-05 15:35:34 +02:00
TD-er f964daa5c0 [C014 cache] Dump to CSV in all columns
Create a much bigger CSV using 12*4 value columns with all labels on top.
6000 samples takes about 35 - 80 seconds depending on the number of 0.0 values (more zeroes, less time, smaller size)
The size of the CSV ranges between 900 and 2600 kByte for 6000 samples.
Export speed is 70 - 160 samples per second.
2019-04-05 15:35:09 +02:00
TD-er b47ce1fc3f [C014 cache] Dump to CSV
Calling `/dumpcache' will generate a CSV file of all logged data.
This may block the ESP for a while, since it outputs about 250 samples per second.
So 480'000 bytes of flash storage takes roughly 70 seconds to dump to a 1.6 MByte CSV. (20'000 samples)
2019-04-05 15:35:04 +02:00
TD-er 0ac6824983 [C014 cache] Write part is ready
Still have to make the read part and maybe have the controller cache global.
2019-04-05 15:34:58 +02:00
TD-er d535ccccf9 [C014 cache] Use RTC cache to store samples then move to file 2019-04-05 15:34:48 +02:00
TD-er 08400aa07f [C014] Cached HTTP controller 2019-04-05 15:33:53 +02:00
TD-er c41fe2d98a [RTC] Move RTC related functions to a separate file 2019-04-05 15:31:47 +02:00
Gijs NoorlanderandGitHub 1aba4286be Merge pull request #2424 from TD-er/bugfix/0-terminate_strings
[SPIFFS] optimizations file access & 0-terminate strings in settings
2019-04-05 14:42:15 +02:00
Gijs NoorlanderandGitHub 8620d7d0c2 Merge branch 'mega' into bugfix/0-terminate_strings 2019-04-05 13:08:02 +02:00
Gijs NoorlanderandGitHub dbdd6270f4 Merge pull request #2426 from TD-er/bugfix/flush_queue_before_sleep
Flush stored data in the delay queue before sleep
2019-04-05 13:06:52 +02:00
okarasev 605ccb9d0b library files added 2019-04-05 13:43:51 +03:00
okarasev ef6a15e266 EspEasy changes only 2019-04-05 13:27:50 +03:00
okarasev 357f9f3d63 blynk library added 2019-04-05 13:13:48 +03:00
okarasev df3c9d0021 plugin number changed 14->15 2019-04-05 13:01:58 +03:00
Christian-Me af134a244e For 1st pull request
Should work with "complete" autodiscover, dummy device receive and many commands over SYSTEM/command/set topic
2019-04-05 01:03:41 +02:00
TD-er cfd25f2ce2 [SPIFFS] Fix ESP32 build issues 2019-04-04 16:46:47 +02:00
TD-er 8b6e6d053a [SPIFFS] Fix ESP32 build 2019-04-04 15:56:55 +02:00
okarasev c6583496aa compilation fixes 2019-04-04 12:02:36 +03:00
okarasev de1da6d4e7 testing version 2019-04-04 09:28:27 +03:00
ESPEasy release bot 0b21d3a7f5 automatically updated release notes for mega-20190404 2019-04-04 04:00:18 +02:00
TD-er 443af433ba Flush stored data in the delay queue before sleep 2019-04-04 00:43:37 +02:00
TD-er 4aaa3773fc [SPIFFS] optimizations file access & 0-terminate strings in settings
Some settings have char arrays. Make sure these are 0-terminated when stored or loaded.
For example the ExtraTaskSettings were used without these checks
2019-04-04 00:33:20 +02:00
Gijs NoorlanderandGitHub 118e09be11 Merge pull request #2419 from TD-er/bugfix/multipleInstances_SHT1x
[Fix] Multiple instances of sht1x
2019-04-03 16:16:14 +02:00
Gijs NoorlanderandGitHub c71bb79aa6 Merge pull request #2421 from TD-er/feature/compiletime_check
[Build] Run compile time checks on struct sizes
2019-04-03 16:15:58 +02:00
Gijs NoorlanderandGitHub 587b8cbc62 Merge pull request #2402 from jimmys01/mega
[IR TX RX] Update the library - Add protocols - Improve RX
2019-04-03 15:34:52 +02:00
Gijs NoorlanderandGitHub efb0998a9d Merge pull request #2398 from TD-er/bugfix/missingP040
Plugin P040_ID12 not included (#1761)
2019-04-03 15:33:29 +02:00
TD-er 417af27ceb [Build] Run compile time checks on struct sizes 2019-04-03 15:29:25 +02:00
TD-er ecff2ea188 [SHT1x] Remove delays in reading sensor
Use a state to process reading temp and hum or keep error.
The state is handled in the 10/sec call and when a new measurement is ready it will schedule itself to read the new values.

See #2407
2019-04-03 15:21:52 +02:00
TD-er 1a70776616 [SHT1x] Support multiple instances 2019-04-03 15:21:46 +02:00
svmac 87998fb076 Changes requested 2019-03-30 01:39:30 +01:00
svmac 57830b2947 Update _P001_Switch.ino 2019-03-29 17:49:12 +01:00
svmac 30936a52b7 PullDown for GPIO16
Option to activate PullDown on GPIO16
2019-03-29 16:48:58 +01:00
jimmys01 d8e55527a3 [IR RX] Fixed typo 2019-03-28 16:04:07 +02:00
jimmys01 22e34a42a2 [IR RX] Enhancements
Tidy up the log output even more
Increace tollerance for RAW2 from 7% to 8%
2019-03-28 15:39:15 +02:00
Bartlomiej Zimon cdad90ea45 Merge branch 'mega' of github.com:letscontrolit/ESPEasy into patch12 2019-03-27 16:39:51 +00:00
jimmys01 60faa821c3 [IR RX] Add more F macros 2019-03-21 16:48:52 +02:00
jimmys01 0bfe31ae4a [IR RX] Improve RX decoding stability 2019-03-21 12:04:59 +02:00
jimmys01 cb7e031d0c [IR TX] Updates with the newest IR protocol support 2019-03-21 12:00:29 +02:00
jimmys01 e85bdc9c5a [IR TX RX] Update the IR LIB 2019-03-21 11:58:47 +02:00
jimmys01andGitHub 159339e46e Merge pull request #1 from letscontrolit/mega
merge
2019-03-21 11:15:03 +02:00
TD-er 0a176cdfd2 Plugin P040_ID12 not included (#1761)
P040 was not included in the builds.
2019-03-15 13:02:14 +01:00
ESPEasy release bot 147da97f24 automatically updated release notes for mega-20190315 2019-03-15 04:00:21 +01:00
Gijs NoorlanderandGitHub 5eba85000b Merge pull request #2388 from jimmys01/mega
[IR TX RX] Update the library and the Plugins
2019-03-15 00:37:44 +01:00
Gijs NoorlanderandGitHub adec34956a Merge pull request #2397 from TD-er/bugfix/2394_MHZ19_stability
[MH-Z19] Do not reset sensor for wrong values within 3 min after init (#2394)
2019-03-15 00:37:22 +01:00
TD-er e09ed5bc2a [Travis] Fix build error on ESP32 with debug error enabled 2019-03-14 23:31:45 +01:00
TD-er 196bbba472 [debug log] Do not remove debug logs from all builds
As discussed here: https://github.com/letscontrolit/ESPEasy/issues/1970#issuecomment-473074737
Only remove them from "normal" and "minimal" builds.
2019-03-14 23:04:26 +01:00
TD-er 933bceb7a9 [MH-Z19] Do not reset sensor for wrong values within 3 min after init
There may be some unexpected responses after the reset.
So do not reset the sensor unless > 10 unknown responses were seen and also do not reset within 3 minutes after sensor reset.
2019-03-14 22:17:05 +01:00
Gijs NoorlanderandGitHub f3964e52c2 Merge pull request #2396 from TD-er/feature/build_SDK222
[SDK2.2.2] Add test build for SDK2.2.2
2019-03-14 20:26:25 +01:00
Gijs NoorlanderandGitHub 3ebaa0ee8a [P049 MHZ19] Fix check for unexpected response 2019-03-14 20:23:27 +01:00
Gijs NoorlanderandGitHub 2c53feded6 [P083_SGP30] New plugin should be in [TESTING] 2019-03-14 17:09:09 +01:00
Gijs NoorlanderandGitHub faf8d469ed Merge pull request #2302 from blackhu/mega
add Sensor SGP30 in _P83_SGP30.ino and Upload Lib Adafruit_SGP30-1.0.…
2019-03-14 17:06:50 +01:00
Gijs NoorlanderandGitHub 57409fe588 Merge branch 'mega' into mega 2019-03-14 17:06:42 +01:00
Gijs NoorlanderandGitHub 93a660fb09 Merge pull request #2389 from TD-er/bugfix/1970_lineending
[C011] Fix HTTP header in 'Generic HTTP Advanced' controller (#1970)
2019-03-14 17:05:08 +01:00
Gijs NoorlanderandGitHub 46d9c8b6db Merge pull request #2392 from TD-er/feature/new_ui_repo
[Webserver] Reduce flash strings in build via String Provider class
2019-03-14 17:04:38 +01:00
Gijs NoorlanderandGitHub 4d1acd02de Merge pull request #2391 from TungstenE2/patch-1
Update _P079_Wemos_Motorshield.ino
2019-03-14 17:04:27 +01:00
Gijs NoorlanderandGitHub f0c04d1bd0 Merge pull request #2395 from TD-er/bugfix/2394_MH-z19
[MH-Z19 CO2] Fix handling unexpected response from sensor (#2394)
2019-03-14 17:03:34 +01:00
TD-er 6871a8441f [SDK2.2.2] Add test build for SDK2.2.2
See this esp8266/Arduino pull request for all changes in the SDK: https://github.com/esp8266/Arduino/pull/5873
2019-03-14 16:48:18 +01:00
TD-er 9c90aee005 [MH-Z19 CO2] Fix handling unexpected response from sensor (#2394)
Apparently the last update broke handling of unexpected response to commands.
According to the datasheet, the sensor should not give a response to some commands, but it does.
These responses should not lead to a reset of the sensor.
2019-03-14 16:20:12 +01:00
jimmys01andGitHub d4f071e2c7 [IR TX] Set Coolix to default to 1 repeat
Newest IR Library commit, fixes coolix protocol repeating the signal by default
2019-03-14 15:39:53 +02:00
TD-er dd695d5d99 [C011] Fix newlines in header (#1970)
Only 1 CRLF per header line and 2x CRLF between headers and body.
2019-03-14 13:43:42 +01:00
jimmys01andGitHub ccf9441702 [IR TX RAW] Uncomment code that was commented by mistake 2019-03-14 13:36:23 +02:00
TD-er 6d3286f059 [Docs] Added P079 WemosMotorshield documentation to RTD 2019-03-14 12:09:35 +01:00
TD-er e27a34e07d [#2390] Added Wemos Motor Shield firmware binary to ESPeasy repo
Just to make sure it will remain available.
2019-03-14 11:09:12 +01:00
TD-er ccaa065dad [Travis] Build issue with ESP32 getHostname() vs hostname() 2019-03-14 10:28:37 +01:00
TD-er dd8aaaa570 remove the [TESTING] tag for plugin P079 (#2390)
See #2390
2019-03-13 17:26:31 +01:00
TD-er af480396c4 [Webserver] Reduce flash strings in build via String Provider class
This will allow to reduce code duplication, reduce strings used in binary and makes code better readable.

This is a project which may take some time to cover all code.
2019-03-13 17:25:39 +01:00
jimmys01 71cb9ff8dc [IR TX RX] Small fixes 2019-03-13 16:22:04 +02:00
jimmys01 ac5a93356b [IR RX] Make the log output more readable 2019-03-13 13:51:18 +02:00
jimmys01 9c33ea3121 [IR TX RX] Add comments, Removed debug log prints, some refactoring to compact the code. 2019-03-13 12:46:31 +02:00
jimmys01 37e1916d79 [IR] Latest Ir lib commit
Daikin AC related fix
2019-03-13 11:15:43 +02:00
TungstenE2andGitHub 8f67df35c1 Update _P079_Wemos_Motorshield.ino
added link to wiki regarding initial setup and flashing of motor_shield.bin first
2019-03-13 09:46:58 +01:00
jimmys01andGitHub bdf8272c67 Small Fix 2019-03-12 12:14:51 +02:00
TD-er 61897a1495 [C11] Fix HTTP header in 'Generic HTTP Advanced' controller
As suggested here: https://github.com/letscontrolit/ESPEasy/issues/1970#issuecomment-471759787
2019-03-12 10:57:52 +01:00
jimmys01 1b6891a448 [IR TX RX] Add the new protocols to the TX RX plugins
Also shorth alphabetically the protocols to match the library shorting
2019-03-12 11:31:29 +02:00
jimmys01 5ddb810821 [IR TX RX] Update IR Library 2019-03-12 11:20:06 +02:00
ESPEasy release bot 8377429ee5 automatically updated release notes for mega-20190311 2019-03-11 04:00:15 +01:00
Gijs NoorlanderandGitHub f93095db9e Merge pull request #2375 from jimmys01/patch-2
[IR RX] Disable Extended decoding of AC protocols by default
2019-03-11 00:51:45 +01:00
TD-er 12f6a326e3 Merge remote-tracking branch 'jimmys01/patch-2' into patch-2 2019-03-10 22:36:11 +01:00
jimmys01andTD-er ad9819aa3e Travis rebuild 2019-03-10 22:35:46 +01:00
jimmys01andTD-er baeb153df9 Fix endIf statement 2019-03-10 22:35:46 +01:00
jimmys01andTD-er 75dcaaad4e [IR RX] Disable Extended decoding of AC protocols by default
Saves 20K of flash memmory. They provide no functionality other than giving log stirngs of that short:  
"Mesg Desc.: Power: On, Fan: 5 (AUTO), Mode: 3 (HEAT), Temp: 22C, Zone Follow: Off, Sensor Temp: Ignored"
2019-03-10 22:35:46 +01:00
Gijs NoorlanderandGitHub 84021bbdc2 Merge pull request #2376 from TD-er/bugfix/2374_gratARP_esp32
[ESP32] Disable Gratuitous ARP for ESP32 (#2374)
2019-03-10 22:24:43 +01:00
Gijs NoorlanderandGitHub 3c6e42dd81 Merge pull request #2377 from TD-er/feature/ADC_filter
[ADC] Use simple filter for ADC plugin and show value on setup page
2019-03-10 22:22:56 +01:00
jimmys01andGitHub 6771ccbcef Travis rebuild 2019-03-10 23:05:41 +02:00
TD-er 8aeb25e1e9 [ADC] Increase readability of ADC calibration settings
Output example:
Current:	405 ≙ 13.034
Minimum:	0 ≙ 1.664
Maximum:	1023 ≙ 30.346
Step size:	1 ≙ 0.028
2019-03-10 16:12:36 +01:00
TD-er 11b44f4216 [Webserver] Add documentation link to Advanced settings page
And output the new settings in the info page & JSON output
Not yet included in the JSON used for the new UI.
2019-03-10 16:11:29 +01:00
TD-er 6a955efb8a [Cleanup] Remove P030 BMP280 since it has become obsolete by BMx280 2019-03-09 11:49:45 +01:00
TD-er 56b50cdc6b [MPU6050] Reverted to old version before adding Plugin_task_data array
See issue: #2381
Commits:
- https://github.com/letscontrolit/ESPEasy/commit/af20984079d3e7aa59e08fd9b232f6d17ba3b523#diff-ec860ac195fffa61ec11dd419fefa5b9
- https://github.com/letscontrolit/ESPEasy/commit/6400c495e24f39ebac88eb634f29cfb73137fa2b#diff-ec860ac195fffa61ec11dd419fefa5b9
2019-03-09 10:44:00 +01:00
TD-er f8e97ebe23 [Travis] F-macro related build issues
Some core version builds were not using the same disable debug flags.
2019-03-09 10:13:11 +01:00
TD-er 727db11629 [ADC] Show calibration range + step size
This min/max/stepsize info makes it easier to set the calibration.
2019-03-09 09:02:04 +01:00
TD-er 044294e0ee [Travis] Build error including F-macro in private class webserver 2019-03-09 09:00:13 +01:00
TD-er b87b52ed69 [Modbus] Split Modbus RTU from Senseair plugin
To allow other plugins to use Modbus RTU also.
2019-03-09 02:02:41 +01:00
TD-er 6ac3823b93 [Memory] Add several F() macro markers and disable some debug logs
All in order to reduce memory usage.
2019-03-09 02:01:47 +01:00
Bartlomiej Zimon 2854bc17f2 Merge branch 'mega' of github.com:letscontrolit/ESPEasy into patch12 2019-03-08 14:09:01 +00:00
TD-er 7baa1ea2b4 [Build] Add build stats to track
See also [PlatformIO docs](http://docs.platformio.org/en/latest/faq.html#program-memory-usage) and https://github.com/esp8266/Arduino/issues/3740#issuecomment-338416331
2019-03-08 13:18:21 +01:00
TD-er d4207ec5e3 [Travis] Changes needed due to update core 2.6.0 for File::write 2019-03-06 23:51:30 +01:00
TD-er d2190cacc7 [Travis] Change needed due to change in core 2.6.0 File::write
See   https://github.com/esp8266/Arduino/commit/b1da9eda467cc935307d553692fdde2e670db258#r32622483
2019-03-06 22:17:34 +01:00
TD-er 3f3dfada9a [ADC] Use simple filter for ADC plugin and show value on setup page
When using 'Oversampling' the Analog input plugin is simply summing all samples and upon calling the read function it will divide this sum by the number of samples.
This added filtering is keeping track of the lowest and highest value measured in this loop and excludes these extremes.
This makes the reading a lot more stable, since it is often only a single extreme value which causes noise in the reported values.

Also added a note to the setup page near the calibration points to make it easier to add calibration values. It shows the current raw value + its calibrated equivalent (if enabled).
2019-03-06 17:26:17 +01:00
TD-er 869b1c8c57 [ESP32] Disable Gratuitous ARP for ESP32 (#2374)
See #2374
2019-03-06 16:45:49 +01:00
jimmys01andGitHub 1ece813572 Fix endIf statement 2019-03-06 16:13:44 +02:00
jimmys01andGitHub c9f17ee1a5 [IR RX] Disable Extended decoding of AC protocols by default
Saves 20K of flash memmory. They provide no functionality other than giving log stirngs of that short:  
"Mesg Desc.: Power: On, Fan: 5 (AUTO), Mode: 3 (HEAT), Temp: 22C, Zone Follow: Off, Sensor Temp: Ignored"
2019-03-06 15:31:06 +02:00
ESPEasy release bot 976432b16e automatically updated release notes for mega-20190305 2019-03-05 04:00:16 +01:00
Gijs NoorlanderandGitHub 006e16bf6e Merge pull request #2370 from TD-er/bugfix/delay_during_idletime
[Energy] Call delay from scheduler during idle time
2019-03-04 15:47:34 +01:00
TD-er bd04d80d70 [Energy] Document new Special and Experimental Settings 2019-03-04 15:44:13 +01:00
TD-er e37700c9a7 [Energy] Default Eco mode off.
Eco mode may lead to lost packets when receiving them.
2019-03-03 01:19:42 +01:00
TD-er cad8583565 [Energy] Add Eco mode, wifi none sleep and gratuitous ARP
Eco mode will call delay() from scheduler during idle loops. (significant energy reduction of up-to 0.25 Watt)
WiFi_NONE_SLEEP will keep wifi on continously (max energy consumption)
Gratuitous ARP will be sent to keep the MAC tables in switches know about the MAC of the ESP node.

The interval for sending ARP messages is dynamic. The interval between these ARP's is increasing up-to 60 seconds interval, so we're not flooding the network.
But on some occasions this interval time is reset to 100 msec (and doubled each next interval step), so we're announcing ourselves a bit more often.

Known issue:
- WiFi always on does seem to miss some packets (unstable RF due to heat?)
- UDP packets sent for ESPeasy p2p do seem to be missed more often as soon as the power consumption of the node is actually reducing.
- Eco mode may take some time to actually reduce power consumption of the node. It is like the underlying core library is dynamically increasing/decreasing the power consumption of the node.  (core 2.6.0, SDK2.2.1)
2019-03-02 01:46:59 +01:00
ESPEasy release bot 08d0602d81 automatically updated release notes for mega-20190301 2019-03-01 04:00:23 +01:00
TD-er 9961080510 [Energy] Call delay from scheduler during idle time
This will reduce the loop counter and even cause some inverse effect. Higher loop count means the node has more work to do (less scheduled tasks which are not yet due for work)

Initial tests show a significant lower power consumption and thus hopefully a more stable wifi connection.
The average used delay during idle calls can be seen in the timing stats (likely around 2.5 msec per idle loop)
The CPU load (in %) is still the same as before this patch, but the node feels a bit more 'snappy' and the extremes in the timing stats are lower.
2019-03-01 01:10:19 +01:00
Gijs NoorlanderandGitHub 5f1831aba9 Merge pull request #2369 from TD-er/bugfix/2356_digest_auth_mac
[Digest_auth] on Safari browser (#2356)
2019-03-01 00:03:58 +01:00
TD-er 8b9ea2bc42 [Digest_auth] Fix compiler issues ESP32 2019-02-28 23:18:23 +01:00
TD-er 7003a25031 [Digest_auth] on Safari browser (#2356)
See #2356
Also did change some defines to make core version detection simpler.
2019-02-28 18:06:23 +01:00
Gijs NoorlanderandGitHub 65a32aad75 Merge pull request #2360 from jimmys01/patch-2
[IRTX] Fix RAW2 bug introduced at 20190202
2019-02-28 16:24:20 +01:00
Gijs NoorlanderandGitHub bff65f3f3f Merge pull request #2367 from TD-er/bugfix/HLW8012_crash
[HLW8012] Fix build difference between Linux/Windows (#2355)
2019-02-28 16:16:53 +01:00
TD-er 5fbd1dda8d [HLW8012] Fix build difference between Linux/Windows (#2355)
No longer use a flash stored struct, since it may lead to crashes when built on Linux.
2019-02-28 15:13:43 +01:00
ESPEasy release bot c188825124 automatically updated release notes for mega-20190227 2019-02-27 04:00:18 +01:00
Gijs NoorlanderandGitHub aa08d89df0 Merge pull request #2362 from TD-er/bugfix/wifiClientTimeouts
[WiFiClient] Make sure all clients use at least some timeout
2019-02-26 18:13:07 +01:00
TD-er 591988c2ee [WiFiClient] Make sure all clients use at least some timeout
Default timeout is 6000 msec, so we must make sure this will not exceed our own default timeout of 1000 msec.
2019-02-26 17:31:04 +01:00
Bartlomiej Zimon 0feca38c87 Merge branch 'mega' of github.com:letscontrolit/ESPEasy into patch12 2019-02-26 16:03:45 +00:00
Gijs NoorlanderandGitHub 98e1ff7712 Merge pull request #2361 from TD-er/bugfix/wifi_connect_timeout
Bugfix/wifi connect timeout
2019-02-26 15:34:21 +01:00
Gijs NoorlanderandGitHub bfb42c656f Merge pull request #2359 from TD-er/bugfix/factory_reset_rules
[Factory Reset] Make default switch/relay rules more intuitive
2019-02-26 15:34:02 +01:00
Gijs NoorlanderandGitHub b21699c402 Fix build error 2019-02-26 14:59:01 +01:00
TD-er 98a72cd450 [Build] Add normal core 2.6.0 SDK2 build 2019-02-26 14:56:54 +01:00
TD-er c057695291 [WiFi] Only perform network activity when connected
In the backgroundtasks and also for a number of other network related operations there was no check for connectivity.
This could lead to various timeouts and maybe hanging processes. (Hardware watchdog resets)
2019-02-26 14:56:13 +01:00
jimmys01andGitHub 469709affe Fixed a check 2019-02-26 15:36:16 +02:00
jimmys01andGitHub 88975f077d [IRTX] Fix RAW2 bug introduced at 20190202
Fixes #2339
2019-02-26 14:03:50 +02:00
TD-er f5a2e3bbf9 [Heap stats] Show heap statistics on core 2.5.0 and newer
The heap statistics are a great help in trying to find the cause of some issues.
They are added to the sysinfo page.
2019-02-26 11:46:05 +01:00
TD-er 4c9f4cd638 [Factory Reset] Change #switch in rules and plugin to #state
Also updated in all rules examples.
N.B. some examples already were using #state, which is more intuitive.
2019-02-26 11:44:39 +01:00
ESPEasy release bot 694ee7eeb1 automatically updated release notes for mega-20190226 2019-02-26 04:00:13 +01:00
TD-er 83e8959e93 [Factory Reset] Make default switch/relay rules more intuitive
As suggested on the [forum](https://www.letscontrolit.com/forum/viewtopic.php?p=33065#p35422) by #ShaMAD
2019-02-26 00:52:34 +01:00
Gijs NoorlanderandGitHub 37fa8babf1 Merge pull request #2358 from TD-er/bugfix/ESP32_settings
Bugfix/esp32 settings
2019-02-25 23:39:28 +01:00
Gijs NoorlanderandGitHub c430f52aa3 Merge pull request #2357 from uzi18/patch-4
IRTX: fix memory leak in case of error
2019-02-25 23:01:09 +01:00
Gijs NoorlanderandGitHub 6b5755d30e Undo F() macro due to build errors 2019-02-25 23:00:46 +01:00
TD-er 674d6f3003 [Settings] Get rid of error when deleting plugin
Error was "SaveTaskSettings taskIndex does not match"
See #1856 #2264
2019-02-25 22:56:51 +01:00
Bartłomiej ZimońandGitHub 08d4657162 IRTX: move error string to flash 2019-02-25 21:23:28 +00:00
Bartłomiej ZimońandGitHub 5983bd5775 IRTX: fix memory leak in case of error
related to #2339
2019-02-25 21:07:20 +00:00
TD-er 2ec6cd524c [ESPeasySerial] Update to v1.0.8 Fix some compiler issue. 2019-02-25 21:55:44 +01:00
TD-er 0089abfce9 [ESP32] Setting won´t save #2354
I kept getting the error myself, so for now, I removed the check for ESP32.
Not sure what's going on here.
2019-02-25 21:54:55 +01:00
Gijs NoorlanderandGitHub fce9acdba3 Merge pull request #2352 from TD-er/bugfix/ser2net_revert
[Ser2Net] Revert of Ser2Net and P1WifiGateway (#1617 and #2343)
2019-02-25 20:28:57 +01:00
Gijs NoorlanderandGitHub 086e51d87c Merge pull request #2353 from TD-er/bugfix/unitNameTrim
Trim trailing spaces in unit name  (#2329)
2019-02-25 20:28:43 +01:00
TD-er e89aba128b Trim trailing spaces in unit name (#2329)
See #2329
2019-02-25 17:50:27 +01:00
TD-er e48e744d0e [P1WifiGateway] Fix memory leak
In the reverted code this was fixed in another way, so this is just a quick fix for now.
See #2352 and #2236
2019-02-25 17:13:42 +01:00
TD-er 85210c46f6 [SerialHelper] Added comment to help finding issue later 2019-02-25 16:56:27 +01:00
TD-er 89c7648520 [Ser2Net] Revert of Ser2Net and P1WifiGateway (#1617 and #2343)
See #1617 and #2343
2019-02-25 16:39:58 +01:00
ESPEasy release bot 7d0fb2dcf2 automatically updated release notes for mega-20190225 2019-02-25 04:00:17 +01:00
Gijs NoorlanderandGitHub 29eee7139e Merge pull request #2350 from TD-er/build/core_250
Build/core 2.5.0 & core 2.6.0 with different SDKs
2019-02-24 23:59:13 +01:00
Gijs NoorlanderandGitHub e8445684ac Merge pull request #2347 from TD-er/bugfix/remove_new_ui_from_minimal
[Minimal OTA] Remove JSON handles for new UI from minimal build
2019-02-24 23:59:00 +01:00
Gijs NoorlanderandGitHub 7728186906 Merge pull request #2349 from TD-er/bugfix/MHz19_reset
[MH-Z19] Reset/re-init sensor when unknown response received
2019-02-24 23:58:27 +01:00
Gijs NoorlanderandGitHub c5761db451 Merge pull request #2348 from TD-er/bugfix/SonoffPOW_r1
[HLW8012] Fix crash when saving settings (#2251)
2019-02-24 23:58:05 +01:00
Gijs NoorlanderandGitHub 4b808e7b7d Merge pull request #2335 from TD-er/bugfix/Nextion_cleanup
[Nextion] Cleanup of plugin after moving to serial wrapper
2019-02-24 23:57:48 +01:00
TD-er c2e8fbbd24 [Minimal OTA] F() macros were lost in last fix. 2019-02-24 23:30:41 +01:00
TD-er 3e7d641973 [Build] Use PlatformIO Espressif8266@2.0.1 (core 2.5.0)
Also:
- included core 2.6.0 alpha build with SDK2.2.1
- included core 2.6.0 alpha build with SDK3.0.0-dev
- Made memory size in bin filenames consistent (_4M instead of _4096)
2019-02-24 23:21:56 +01:00
TD-er 37d6140434 [Sphinx docs] Some small doc build fixes
- There were some unicode characters
- JPG file had wrong image type
- Documented the needed packages to build LaTeX documentation in Linux (still fails to build PDF dus to chapter count overflow)
2019-02-24 23:19:46 +01:00
TD-er acfbb6b7fe [MH-Z19] Reset/re-init sensor when unknown response received
See #2254
2019-02-24 21:59:56 +01:00
TD-er 478950b67b [HLW8012] Fix crash when saving settings (#2251)
See #2251
Problem was in accessing the members of the pre-defined node settings. (need to perform memcpy on the progmem data or else it will crash)
2019-02-24 15:25:33 +01:00
TD-er d213880da6 [Minimal OTA] Handling '/' was lost in last fix. 2019-02-24 13:34:24 +01:00
TD-er d8577c2fa8 [Minimal OTA] Remove JSON handles for new UI from minimal build
These will be made available again when the new UI is been taken into operations.
2019-02-24 13:04:53 +01:00
Bartlomiej Zimon 8e08251ae9 Merge branch 'mega' of github.com:letscontrolit/ESPEasy into patch12 2019-02-23 12:48:28 +00:00
nichu 0f1366f2fa Reduction tools/build_ESPeasy.sh 2019-02-20 00:25:59 +08:00
nichu 20a4efd831 add sgp30 to define list 2019-02-19 23:56:45 +08:00
ESPEasy release bot 74713e5fa4 automatically updated release notes for mega-20190219 2019-02-19 04:00:16 +01:00
Gijs NoorlanderandGitHub a8bfa71bd5 Merge pull request #2332 from ppisljar/fix/json_number
fixing json numbers
2019-02-18 23:19:39 +01:00
ppisljar 0a0eb59043 always use string in json 2019-02-18 19:28:50 +01:00
ppisljar 75228c7d08 fixing json numbers 2019-02-18 19:16:34 +01:00
Gijs NoorlanderandGitHub e89f5afd45 Merge pull request #2330 from ppisljar/newui/dowload/fix
fixing download ui button
2019-02-18 14:54:31 +01:00
ppisljar 4906c7b390 fixing download ui button 2019-02-18 14:30:10 +01:00
Gijs NoorlanderandGitHub ac968b5bec Merge pull request #2327 from ppisljar/newui/download
adding new ui download button
2019-02-18 13:57:23 +01:00
Gijs NoorlanderandGitHub 12cfea924a Merge pull request #2328 from TD-er/bugfix/esp32_build
[build] Fix ESP32 build issues for #2326
2019-02-18 13:56:02 +01:00
TD-er 702cfebf8b [build] Fix ESP32 build issues for #2326 2019-02-18 13:55:04 +01:00
Gijs NoorlanderandGitHub 1bc7630f4f Merge pull request #2326 from ppisljar/json/8
updating sysinfo json endpoint
2019-02-18 13:44:01 +01:00
TD-er 4641297a64 [Nextion] Cleanup of plugin after moving to serial wrapper 2019-02-18 13:40:54 +01:00
ppisljar 765a6d10b8 adding new ui download button 2019-02-18 13:34:33 +01:00
ppisljar a2879b588a updating sysinfo json endpoint 2019-02-18 08:33:40 +01:00
ESPEasy release bot d5f2fa21fd automatically updated release notes for mega-20190218 2019-02-18 04:00:07 +01:00
Gijs NoorlanderandGitHub 09d89eaa4b Merge pull request #2325 from ppisljar/json/7
adding sysinfo json endpoint
2019-02-17 21:56:24 +01:00
ppisljar e383949413 adding sysinfo json endpoint 2019-02-17 21:54:20 +01:00
Peter PisljarandGijs Noorlander 85d849d825 p2p node list json endpoint (#2323) 2019-02-17 20:46:07 +01:00
Gijs NoorlanderandGitHub 4e42e426cf Merge pull request #2324 from ppisljar/fix/index.htm
fixing index.htm serving
2019-02-17 20:16:33 +01:00
ppisljar 097d34758e fixing index.htm serving 2019-02-17 20:15:14 +01:00
Gijs NoorlanderandGitHub 14b8f1b183 Merge pull request #2322 from ppisljar/json/5
adding support for index.htm.gz
2019-02-17 19:06:14 +01:00
ppisljar 27453a59d9 adding support for index.htm.gz 2019-02-17 19:03:12 +01:00
Gijs NoorlanderandGitHub 78ae8f097f Merge pull request #2320 from ppisljar/web/gzip
add support for serving gziped files
2019-02-17 17:57:23 +01:00
ppisljar 29ce3a8e34 fixing 2019-02-17 17:50:16 +01:00
Gijs NoorlanderandGitHub 107673bd9a Merge pull request #2321 from TD-er/bugfix/normal_webpage_no_SDsupport
[bugfix] Load old webpage when no index.htm present and no SD support
2019-02-17 15:30:37 +01:00
TD-er 6e3135416f [bugfix] Load old webpage when no index.htm present and no SD support 2019-02-17 15:28:58 +01:00
ppisljar 179969b79e typo 2019-02-17 14:28:28 +01:00
ppisljar 4be24ab480 add support for serving gziped files 2019-02-17 14:22:21 +01:00
Gijs NoorlanderandGitHub 1ade390468 Merge pull request #2319 from ppisljar/web/config
load index.htm if it exists

If for some reason this is not working well (error in the index.htm) you can go to /filesystem
or /devices
or any other page, and it will load the old ui
Then go to /filesystem and delete index.htm
2019-02-17 14:15:35 +01:00
ppisljar 593d4f255b load index.htm if it exists 2019-02-17 14:08:18 +01:00
Gijs NoorlanderandGitHub 7fbd484391 Merge pull request #2318 from TD-er/build/disable_esp32dev
[ESP32dev] Disable ESP32dev build due to space constraints
2019-02-17 14:08:02 +01:00
TD-er 954565844d [ESP32dev] Disable ESP32dev build due to space constraints
This build was still using the 1.34 MB default sketch partition size, but that no longer fits.
So for now this build is disabled.
2019-02-17 14:05:58 +01:00
Gijs NoorlanderandGitHub 91940f0335 Merge pull request #2317 from ppisljar/json/4
factory reset json endpoint
2019-02-17 13:59:44 +01:00
Gijs NoorlanderandGitHub 1d2bd8f18b Merge pull request #2316 from ppisljar/auth/Digest
Auth/digest
2019-02-17 13:59:24 +01:00
Gijs NoorlanderandGitHub 957539e9e4 Merge pull request #2313 from ppisljar/json/2
adding upload json endpoint
2019-02-17 13:58:30 +01:00
ppisljar 3cb09febd6 factory reset json endpoint 2019-02-16 21:15:26 +01:00
ppisljar 831bdf60a1 digest auth 2019-02-16 20:53:11 +01:00
ppisljar 0c1c6b5c7a adding upload json endpoint 2019-02-16 13:41:00 +01:00
ESPEasy release bot b620188d2a automatically updated release notes for mega-20190216 2019-02-16 04:00:15 +01:00
Gijs NoorlanderandGitHub b6736e7c95 [#2286] Missing build normal_IR_ESP8266_1024
It was missing in the nightly built ZIP file.
2019-02-16 00:57:44 +01:00
ESPEasy release bot d7866164ea automatically updated release notes for mega-20190215 2019-02-15 04:00:17 +01:00
Gijs NoorlanderandGitHub 77714d3105 Merge pull request #2308 from Grovkillen/UpdateDocs
[docs] Adding P015 + some filters to rules + ThingSpeak info
2019-02-14 22:49:51 +01:00
Gijs NoorlanderandGitHub 3d7f032ad1 Merge pull request #2297 from ppisljar/json/1
adding json endpoints
2019-02-14 20:00:07 +01:00
ppisljar 8f1f55b6b1 removing unused var 2019-02-14 19:19:34 +01:00
ppisljar a4c029f6f3 json endpoints 2019-02-14 18:27:24 +01:00
Grovkillen 391452246f [docs] upgraded to Sphinx 1.8.4 2019-02-14 15:02:28 +01:00
Grovkillen e028b9d02a [docs] fixed error in event list 2019-02-14 14:52:30 +01:00
Grovkillen 7f70abd1c2 [docs] added GPIOtoggle command 2019-02-14 14:35:10 +01:00
Grovkillen 2564bcd4b8 [docs] event+commands for GPIO#N + Monitor added 2019-02-14 14:28:58 +01:00
Grovkillen c1a0a26cd4 [docs] P082 added screenshot 2019-02-14 14:19:39 +01:00
Grovkillen 7118dce882 [docs] Rules (fixed error in syntax) 2019-02-14 12:40:54 +01:00
Grovkillen 77062e50ce [docs] Rules (Let used in filters) 2019-02-14 12:36:34 +01:00
Grovkillen 29447d0c8d [docs] P015 TSL2561 added 2019-02-14 12:09:32 +01:00
Gijs NoorlanderandGitHub 5aa3eb7344 Merge pull request #2058 from 3cky/mdns-fix
[WIFI] Fix mDNS startup for log levels below LOG_LEVEL_INFO
2019-02-14 11:42:12 +01:00
Gijs NoorlanderandGitHub de08cd6570 Merge pull request #2306 from TD-er/bugfix/mqttimport_clientname_spaces
MQTT Import : A bad clientId is build in case of a reconnect #2298
2019-02-14 10:29:26 +01:00
TD-er 24b6cf4874 MQTT Import : A bad clientId is build in case of a reconnect #2298
Fix is to trim spaces before adding connection count and replace existing spaces into `_`
2019-02-14 10:28:33 +01:00
Gijs NoorlanderandGitHub b03a7678c9 Merge pull request #2305 from TD-er/feature/2286_1M_IR_build
1MB build with P035 IR plugins #2286
2019-02-14 10:16:02 +01:00
Grovkillen 061b691497 [docs] ThingSpeak (must check acknowledge) 2019-02-14 10:11:55 +01:00
TD-er a780a811f2 1MB build with P035 IR plugins #2286 2019-02-14 10:11:48 +01:00
GrovkillenandGitHub c07ad1780c Merge pull request #9 from letscontrolit/mega
update from master
2019-02-14 10:06:49 +01:00
Victor Antonovich 203c33fe8c [WIFI] Add MDNS.update() for LEAmDNS compatibility 2019-02-14 12:42:08 +04:00
Victor Antonovich 200cb17656 [WIFI] Fix mDNS startup for log levels below LOG_LEVEL_INFO 2019-02-14 12:42:08 +04:00
Gijs NoorlanderandGitHub 1572e86b82 Merge pull request #2235 from TD-er/bugfix/reduce_memusage_plugins
Bugfix/reduce memusage plugins
2019-02-14 08:32:39 +01:00
TD-er 1e0fd8a284 [Serial wrapper] Fix serial issues (for ESP8266) when using HW serial 2019-02-13 18:03:07 +01:00
Bartlomiej Zimon 869d8f38db 1wire - add more data for debug, add a little more time for reset response 2019-02-12 22:02:31 +00:00
TD-er 62ce776c74 [ESPeasySerial] Make it compile for core 2.4.1 2019-02-12 15:03:19 +01:00
nichu b3a6112e42 add Sensor SGP30 in _P83_SGP30.ino and Upload Lib Adafruit_SGP30-1.0.0.13 2019-02-12 15:54:48 +08:00
ESPEasy release bot 85515281d6 automatically updated release notes for mega-20190212 2019-02-12 04:00:31 +01:00
TD-er 19ef8eb796 [Build] Rename build files and disable core 2.5.0 builds
Core 2.5.0 is out, but this gives instability issues serving web pages.
For now the builds of core 2.5.0 are not included in the nightly builds until this is fixed.
2019-02-11 23:35:18 +01:00
TD-er 0b64c3d04f [SWserial] Set TX interrupts for 9600 baud
This was the used setting in older versions of SoftwareSerial
2019-02-11 23:33:49 +01:00
Gijs NoorlanderandGitHub 236a0098c2 Merge pull request #2279 from olliwr/mega
Fixed compile errors that occurred when FEATURE_SD is defined.
2019-02-11 21:53:36 +01:00
Gijs NoorlanderandGitHub 749f0b9c55 Merge pull request #2294 from Grovkillen/UpdateDocs
[flasher] fixed unzip bug (unzipped to root instead of bin folder)
2019-02-11 21:52:29 +01:00
Gijs NoorlanderandGitHub f0861ac66f Merge pull request #2137 from chunter1/mega
[DS18B20] 1-wire timings optimized for stability
2019-02-11 21:44:09 +01:00
Grovkillen ab18f25c5e [flasher] old zip's didn't store in "\bin", downloader comply now 2019-02-11 09:15:47 +01:00
TD-er 4cc5eca3f5 [PlatformIO] Core 2.5.0 is no longer beta
Regular platform is still set to 2.4.2, since 2.5.0 causes issues.
2019-02-11 01:00:25 +01:00
TD-er ec345b1dcc [GPS] Fix some uninitialized issues 2019-02-11 00:56:16 +01:00
TD-er 5e798fa3a9 [ESPeasySerial] return -1 as pins on unset serial type 2019-02-11 00:54:34 +01:00
Grovkillen 0260fad1a9 [flasher] fixed HW port name bug 2019-02-08 08:45:33 +01:00
Grovkillen 555f6d2dd8 [flasher] fixed unzip to root, now (correctly) bin folder 2019-02-08 07:40:17 +01:00
GrovkillenandGitHub 128f8e270d Merge pull request #8 from letscontrolit/mega
Update from master
2019-02-08 07:35:44 +01:00
TD-er 8626a130a8 [#2292] HX711: tareChanA command is not case insensitive 2019-02-08 00:15:14 +01:00
TD-er 5b9a87308a [Eastron] Fix compile error 2019-02-05 14:52:52 +01:00
TD-er 3b1dd8f21f [Eastron] Add CRC pass/fail stats to plugin page and allow retries 2019-02-05 14:44:19 +01:00
TD-er 9a05eaf828 [WiFi] Destruct WiFi object when wifi needs to be reset
See https://github.com/esp8266/Arduino/issues/5527#issuecomment-460537616
2019-02-05 14:16:32 +01:00
TD-er 61d4c50db3 [SenseAir] Some more improvements Modbus implementation 2019-02-05 14:15:40 +01:00
TD-er 6290cb42bc [SenseAir] Improvement on Modbus handling
As a preparation for a generic Modbus layer for other plugins too.
2019-02-05 01:26:38 +01:00
TD-er 30d3598684 [Core 2.5.0] Move tag to beta3
See commit: https://github.com/esp8266/Arduino/commit/21db8fc9285d2f548c0123206d53cab059cf3b3d
2019-02-05 00:52:21 +01:00
TD-er 5880c9173d [ESP8266] Do not use default for TX pin
The RX/TX pins are defined in the init. So no need to hand them to the begin function call again and set some default when not used.
This will lead to issues where the TX pin is not working when using HW serial.
2019-02-05 00:24:32 +01:00
TD-er 64b65cca42 [#2254] Make it compile in all core libraries
Linker issue with F() macro.
2019-02-04 20:28:37 +01:00
TD-er 3d507bdbb9 [#2254] Reduce memory usage on MH-Z19 and improve reading stability
Reading the sensor data will now only accept data starting with 0xFF.
This should improve reading stability.

Also added indicator showing checksum pass/fail and the model detected (MH-Z19 A or B)
2019-02-04 12:44:39 +01:00
olliwr c392e772c0 Update ESPEasy-Globals.h
disabled FEATURE_SD
2019-02-02 19:51:06 +01:00
olliwr af778d28ac Update Command.ino
Fixed several compile errors which occurs in case of active FEATURE_SD.
errors:
(1) #if with no expression
(2) converting to 'const String' from initializer list would use explicit constructor 'String::String(char)'
(3) no matching function for call to 'serialPrintln(uint32_t, int)'
2019-02-02 19:33:51 +01:00
olliwr c57150efec Update ESPEasy-Globals.h
activated FEATURE_SD
2019-02-02 17:53:44 +01:00
ESPEasy release bot d40c449f8d automatically updated release notes for mega-20190202 2019-02-02 04:00:28 +01:00
Gijs NoorlanderandGitHub 0ad7fad5c1 Merge pull request #2275 from joniw/fix-crash-esp32
fix reset bug for esp32 by casting explicitly, should fix #2242
2019-02-01 20:37:45 +01:00
Jonathan Westerholt bdda128be8 fix reset bug for esp32 by casting explicitly, should fix #2242 2019-02-01 19:39:53 +01:00
TD-er 55c1e0c1b9 Merge remote-tracking branch 'origin/bugfix/reduce_memusage_plugins' into bugfix/reduce_memusage_plugins 2019-02-01 10:53:58 +01:00
TD-er c8f0a7ac58 [WiFi] Add option to set wifi off and restart wifi when connection lost
As discussed here: https://github.com/letscontrolit/ESPEasy/issues/1987#issuecomment-457268319
In short, this new setting allows to set wifi completely off when a disconnect is being handled.
This will force a complete restart and configure of the wifi setup.
2019-02-01 10:53:45 +01:00
TD-er 1362363295 Moved testing plugins to test builds & added safety docs for power sensors
See: https://github.com/letscontrolit/ESPEasy/issues/2266
2019-02-01 10:53:45 +01:00
TD-er f604ce490b [WiFi] Correct fall-back when B/G only mode cannot connect 2019-02-01 10:53:45 +01:00
TD-er 6643eb4aaa [WiFi] Allow force to B/G to improve WiFi stability.
See #2012 and discussion here: https://github.com/letscontrolit/ESPEasy/issues/1987#issuecomment-455843832
2019-02-01 10:53:45 +01:00
TD-er 4890d13543 [GPS] Improve displayed satellite stats 2019-02-01 10:53:08 +01:00
TD-er 82358574ba [PubSubClient] Increase MQTT_MAX_PACKET_SIZE from 384 to 1024 2019-02-01 10:53:08 +01:00
TD-er 63e98d805b [PlatformIO] Allow building ESP32 espressif32@1.6.0 2019-02-01 10:53:08 +01:00
TD-er 7d27151ccd [GPS] Use GSV and GSA sentences to view satellite ID and SNR 2019-02-01 10:53:08 +01:00
TD-er a5d5c77314 [TinyGPS++] Added GSA and GSV sentences to get satellite ID & SNR 2019-02-01 10:53:08 +01:00
TD-er e7d21b0bc7 [Settings] Added check for offset on last member of struct
An extra check to see if building on different platforms makes a difference in offset within the SettingsStruct.
2019-02-01 10:53:08 +01:00
TD-er cd570cafba [ESP32] Change P002_ADC range to 4095 for ESP32
See https://github.com/letscontrolit/ESPEasy/issues/1632#issuecomment-454952002
2019-02-01 10:53:08 +01:00
TD-er 8d257df2dd [memory] P020_Ser2Net Use Plugin_task_data array 2019-02-01 10:53:08 +01:00
TD-er 30cbb4c0e7 [memory] Shared code to select Serial Config (8N1 etc)
Also fixed a minor issue in GPS plugin destructor
2019-02-01 10:53:08 +01:00
TD-er 0485edc274 [memory] P044_P1WiFiGateway Use Plugin_task_data array and String as buffer
The internal buffer was a char* array, but all it needed was just the same as being already available in the `String` class.
So it has been changed to be a String.
2019-02-01 10:53:08 +01:00
TD-er 6400c495e2 [memory] Change pointer checks to compare with nullptr
As suggested [here](https://github.com/Barracuda09)
2019-02-01 10:53:08 +01:00
TD-er af20984079 [memory] P045_MPU6050 Use Plugin_task_data array 2019-02-01 10:53:08 +01:00
TD-er a9b0762d30 [memory] P046_VentusW266 Use member data struct
Not using the Plugin_task_data, since it is using interrupts and callback functions.
Not sure what will happen if we store these volatile variables in the same global array.
2019-02-01 10:53:08 +01:00
TD-er 47cdbb4ee5 [memory] P070_NeoPixel_Clock Use Plugin_task_data array 2019-02-01 10:53:08 +01:00
TD-er 989ba1f8b9 [memory] P073_7DGT Use Plugin_task_data array 2019-02-01 10:53:08 +01:00
TD-er e0f4991ea3 [memory] P074_TSL2591 Use Plugin_task_data array 2019-02-01 10:53:08 +01:00
TD-er 86d4ecc5cf [memory] P075_Nextion Use Plugin_task_data array 2019-02-01 10:53:08 +01:00
TD-er 9a80251b76 [memory] P077_CSE7766 Use Plugin_task_data array 2019-02-01 10:53:08 +01:00
TD-er 293a40e2ac [memory] Reduce memory of P082_GPS and P068_SHT3x when not enabled
Also introduce a global pointer array to keep plugin settings per task ID to allow multiple instances of the same plugin.
2019-02-01 10:53:08 +01:00
TD-er e10ac8543d [memory] Reduce memory usage of p070_NeoPixelClock when not enabled 2019-02-01 10:53:08 +01:00
TD-er 82f1594ee7 [p073_7DGT] Reduce memory usage of 7-segment display plugin
Also removed lots and lots of duplicate code and improved readability.
2019-02-01 10:53:08 +01:00
TD-er d5aa9faf15 [Nextion] Reduce memory usage when not active 2019-02-01 10:53:08 +01:00
Gijs NoorlanderandGitHub e964d85987 Merge pull request #2261 from jimmys01/patch-1
[Controllers] Fix small error in commit #2246
2019-02-01 10:46:23 +01:00
Gijs NoorlanderandGitHub 74ed9af212 Merge pull request #2262 from clumsy-stefan/reduce_1M_minimal_ota
[Sketch size] Reduce sketch size if needed
2019-02-01 10:46:08 +01:00
Gijs NoorlanderandGitHub 2732d3ae0e Merge pull request #2263 from Grovkillen/UpdateDocs
[flasher] fixed "empty folder" issue #2247
2019-02-01 10:45:00 +01:00
Gijs NoorlanderandGitHub eee1555c31 Merge pull request #2232 from jimmys01/mega
[IRTX] [IRRX] Update IrRemote Library and corresponding plugins
2019-02-01 10:44:42 +01:00
TD-er 30441c48ed [WiFi] Add option to set wifi off and restart wifi when connection lost
As discussed here: https://github.com/letscontrolit/ESPEasy/issues/1987#issuecomment-457268319
In short, this new setting allows to set wifi completely off when a disconnect is being handled.
This will force a complete restart and configure of the wifi setup.
2019-01-25 00:09:53 +01:00
TD-er d54781f9b7 Merge remote-tracking branch 'origin/bugfix/reduce_memusage_plugins' into bugfix/reduce_memusage_plugins 2019-01-24 23:34:35 +01:00
TD-er 89984fa891 Moved testing plugins to test builds & added safety docs for power sensors
See: https://github.com/letscontrolit/ESPEasy/issues/2266
2019-01-24 23:34:16 +01:00
jimmys01andGitHub 0354aa72c2 Merge branch 'mega' into mega 2019-01-24 20:25:54 +02:00
Gijs NoorlanderandGitHub 1b595bb843 Merge branch 'mega' into bugfix/reduce_memusage_plugins 2019-01-24 17:20:41 +01:00
TD-er 5ba75be5cd [WiFi] Correct fall-back when B/G only mode cannot connect 2019-01-24 17:18:31 +01:00
TD-er e2d05edf72 [WiFi] Allow force to B/G to improve WiFi stability.
See #2012 and discussion here: https://github.com/letscontrolit/ESPEasy/issues/1987#issuecomment-455843832
2019-01-24 17:15:09 +01:00
TD-er 9194357b83 [GPS] Improve displayed satellite stats 2019-01-24 14:23:51 +01:00
stefan 40582bcb38 [1M minimal Size] Exclude debug from minimal Controllers/Plugins
Exclude debug logs from C001, C002, C005, C008, C009, C013 and P001, P026, P033 which are compiled  in by default in the PLUGIN_BUILD_MINIMAL_OTA set.
Reduces sketch about 1k.
2019-01-23 22:10:02 +01:00
stefan 7b71d5aafc [1M minimal Size] Remove another unused variable..
I have no clue why my compiler does not complain about these, even though I have -Werror=unused-variable in the command line options...
2019-01-23 10:51:28 +01:00
stefan 2ac50e20af [1M minimal Size] Remove unused variable..
...and make travis compiler happy again!
2019-01-23 10:31:58 +01:00
stefan c8a81a9dba [1M minimal Size] Include BUILD_NO_DEBUG in plugin sets
Add BUILD_NO_DEBUG in define_plugin_sets.h to PLUGIN_BUILD_MINIMAL_OTA.
This makes commit #316691ad07731798687ada096907c5ccb61fb1b6 included and active in 1M minimal OTA build.
2019-01-23 10:04:29 +01:00
Grovkillen 93e9abbeea [flasher] fixed empty folder issue 2019-01-23 07:45:33 +01:00
GrovkillenandGitHub 5e31e286f0 Merge pull request #7 from letscontrolit/mega
update from master
2019-01-23 07:44:52 +01:00
TD-er ee40ac7d75 [PubSubClient] Increase MQTT_MAX_PACKET_SIZE from 384 to 1024 2019-01-22 23:51:30 +01:00
TD-er 4b623b0455 [PlatformIO] Allow building ESP32 espressif32@1.6.0 2019-01-22 23:50:31 +01:00
TD-er de1f157e9a [GPS] Use GSV and GSA sentences to view satellite ID and SNR 2019-01-22 23:48:14 +01:00
TD-er 8d15fedb05 [TinyGPS++] Added GSA and GSV sentences to get satellite ID & SNR 2019-01-22 23:46:55 +01:00
stefan 316691ad07 [1M minimal Size] Exclude all debug logs from standard files
Exclude all >= LOG_LEVEL_DEBUG except in Controllers, Plugins and Notifications.
Reduces sketch about 3k.
2019-01-22 15:41:07 +01:00
stefan 1011831cce [1M minimal Size] Undefine graphical meminfodetail
Undefine graphical meminfodetail if BUILD_MINIMAL_OTA is defined to reduce sketch size.
Reduces sketch about 3k.
2019-01-22 09:50:19 +01:00
jimmys01andGitHub 7ec6e20c5b [Controllers] Fix small error in commit #2246
Just realized that I had mixed up the default defines. It is now OK.
2019-01-22 09:47:20 +02:00
ESPEasy release bot 672da98f5b automatically updated release notes for mega-20190121 2019-01-21 04:00:15 +01:00
Gijs NoorlanderandGitHub 7a628f6d78 Merge pull request #2256 from clumsy-stefan/wifi_minor_stability_fixes
[WiFi] Some minor changes for WiFi stability
2019-01-20 22:54:19 +01:00
Gijs NoorlanderandGitHub 850a3e1f3b Merge pull request #2234 from eiten/mega
SHT_3x: Add code to start periodic transmission if not enough data is received
2019-01-20 21:41:54 +01:00
Gijs NoorlanderandGitHub ab57241933 Merge pull request #2246 from jimmys01/patch-1
[Controllers] Solves the 0 Max Queue Depth and Max retries bug after and update
2019-01-20 21:41:30 +01:00
Gijs NoorlanderandGitHub 9e48525659 Merge pull request #2259 from clumsy-stefan/decouple_minimal_OTA
[Plugin Sets] Decouple PLUGIN_BUILD_MINIMAL_OTA
2019-01-20 21:41:07 +01:00
Gijs NoorlanderandGitHub 358b0d0ad2 Merge pull request #2231 from letscontrolit/bugfix/2230_IRTX_Mitsubishi
[IRTX] mitsubishi_ac not working #2230
2019-01-20 21:36:42 +01:00
stefan 8cf1d7436d [Plugin Sets] Decouple PLUGIN_BUILD_MINIMAL_OTA
Decouple PLUGN_BUILD_MINIMAL_OTA in define_plugin_sets.h from other #defines in source code, otherwise either plugin set from Custom.h gets overriden by PLUGN_BUILD_MINIMAL_OTA from define_plugin_sets.h or #define's in code (eg. WebServer.ino) are not included.
Also name is misleading, as eg. WebServer is not a plugin..
2019-01-20 20:06:57 +01:00
stefan 80ccd94ca8 [Wifi] Remove unused variable
Remove unused retval variable to make compiler happy...
2019-01-20 15:01:16 +01:00
stefan 362a02a60e [WiFi] Some minor changes for WiFi stability
- Call delay(0) unconditionally after plugin calls as they can take quie some time, even if they fail
- add some more log output in various places for WiFi info
- add some ()/{} to make groupings clear
- add all possible statuses in case statement after WiFi.begin() call
- test for layer 2 availability independent of valid IP (can happen that IP is still valid, but layer 2 is lost)
2019-01-20 13:38:40 +01:00
jimmys01andGitHub 1bc3a28706 [Condrollers] Solves the 0 Max Queue Depth and Max retries bug after an update
Max Queue Depth and Max retries where left to 0 after you update a node from a version that did not have this settings. This solves it.
2019-01-18 11:57:10 +02:00
TD-er b7782944a6 [Settings] Added check for offset on last member of struct
An extra check to see if building on different platforms makes a difference in offset within the SettingsStruct.
2019-01-17 10:12:10 +01:00
TD-er 8b403377c3 [ESP32] Change P002_ADC range to 4095 for ESP32
See https://github.com/letscontrolit/ESPEasy/issues/1632#issuecomment-454952002
2019-01-17 09:07:54 +01:00
ESPEasy release bot 1e885afdad automatically updated release notes for mega-20190116 2019-01-16 04:00:26 +01:00
TD-er a87315ac26 [memory] P020_Ser2Net Use Plugin_task_data array 2019-01-16 01:06:12 +01:00
Gijs NoorlanderandGitHub d46d4eaa29 Merge pull request #2239 from letscontrolit/feature/wifi_preinit
[WiFi] Disable wifi initialization at boot (core 2.5.0-b2)
2019-01-16 00:55:36 +01:00
Gijs NoorlanderandGitHub 586f39ecd9 [WiFi] Disable wifi initialization at boot
See:
- https://github.com/esp8266/Arduino/issues/2111
- https://github.com/esp8266/Arduino/pull/5395/files

Hopefully it will help for modules which have a hard time to connect to WiFi, which may be caused by weak power supply.
It will also not start unintended DHCP-client services which lead to strange issues when using static IP configuration.
Tests should reveal if it will also help to lessen the chaos which may happen now the 'May deal' is off, so please perform some tests and we'll see the coming days.
At least it will save some peak power at startup.
2019-01-16 00:30:44 +01:00
TD-er 63e3113236 [memory] Shared code to select Serial Config (8N1 etc)
Also fixed a minor issue in GPS plugin destructor
2019-01-16 00:13:58 +01:00
GrovkillenandGitHub f973bef3df Merge pull request #2238 from Grovkillen/UpdateDocs
[flasher] fixed API deny error (JSON parser)
2019-01-15 13:59:44 +01:00
Grovkillen 73c2e4f0ef Merge remote-tracking branch 'Grovkillen/UpdateDocs' into UpdateDocs 2019-01-15 13:57:16 +01:00
Grovkillen 3b2fc1804e [flasher] fixed API deny error (JSON parse) 2019-01-15 13:57:08 +01:00
GrovkillenandGitHub 6f2f5a1356 Merge pull request #6 from letscontrolit/mega
update from master
2019-01-15 13:56:57 +01:00
jimmys01andGitHub a87da3c4a3 Update _P035_IRTX.ino 2019-01-15 00:14:37 +02:00
jimmys01andGitHub 66b06e93b1 [IRTX] Allocate big buffers on the heap for RAW and RAW2 encodings 2019-01-14 19:59:00 +02:00
TD-er ef5f5199a4 [memory] P044_P1WiFiGateway Use Plugin_task_data array and String as buffer
The internal buffer was a char* array, but all it needed was just the same as being already available in the `String` class.
So it has been changed to be a String.
2019-01-14 14:25:16 +01:00
TD-er 73e0ed4996 [memory] Change pointer checks to compare with nullptr
As suggested [here](https://github.com/Barracuda09)
2019-01-14 14:19:54 +01:00
jimmys01 c0ce3f0cec [IRTX] Even more timming Buffer added
I keep bumping to AC units with even bigger appetite for lengthy timings. Hopefully this time will be enough
2019-01-14 14:02:47 +02:00
TD-er bf91e3286c [memory] P045_MPU6050 Use Plugin_task_data array 2019-01-13 02:10:03 +01:00
TD-er 843e638d1e [memory] P046_VentusW266 Use member data struct
Not using the Plugin_task_data, since it is using interrupts and callback functions.
Not sure what will happen if we store these volatile variables in the same global array.
2019-01-13 01:12:18 +01:00
TD-er 6142b22fbf [memory] P070_NeoPixel_Clock Use Plugin_task_data array 2019-01-13 00:49:00 +01:00
TD-er ab4a670541 [memory] P073_7DGT Use Plugin_task_data array 2019-01-13 00:43:52 +01:00
TD-er 708806cf42 [memory] P074_TSL2591 Use Plugin_task_data array 2019-01-12 22:59:46 +01:00
TD-er e8aea2028f [memory] P075_Nextion Use Plugin_task_data array 2019-01-12 22:18:57 +01:00
TD-er 0e0b753423 [memory] P077_CSE7766 Use Plugin_task_data array 2019-01-12 01:03:17 +01:00
TD-er 7aaedba05e [memory] Reduce memory of P082_GPS and P068_SHT3x when not enabled
Also introduce a global pointer array to keep plugin settings per task ID to allow multiple instances of the same plugin.
2019-01-11 23:43:21 +01:00
Eduard Iten 04e59c587c Add code to start periodic transmission if not enough data is received 2019-01-11 17:59:21 +01:00
TD-er f34b9ab404 [memory] Reduce memory usage of p070_NeoPixelClock when not enabled 2019-01-11 10:07:56 +01:00
jimmys01 495559e47b Add the newest IR protocols to EspEasy 2019-01-11 10:06:51 +02:00
jimmys01 ee68009b47 Bump up IrRemote Lib to 2.5.4 2019-01-11 09:15:53 +02:00
jimmys01andGitHub 278b3a1402 Merge pull request #4 from letscontrolit/mega
test
2019-01-11 08:58:39 +02:00
Gijs NoorlanderandGitHub bd3bfb7930 [IRTX] mitsubishi_ac not working #2230
See #2230
2019-01-10 23:54:06 +01:00
ESPEasy release bot 0977b7e70e automatically updated release notes for mega-20190110 2019-01-10 04:00:10 +01:00
TD-er 008ccf3789 [p073_7DGT] Reduce memory usage of 7-segment display plugin
Also removed lots and lots of duplicate code and improved readability.
2019-01-09 14:56:40 +01:00
TD-er 4b93eee1c2 [Nextion] Reduce memory usage when not active 2019-01-09 14:54:35 +01:00
Gijs NoorlanderandGitHub b650778482 Replace frequently used settings names with short and clear macros 2019-01-09 14:52:23 +01:00
TD-er 95ed0fd1be [Plugins] Remove redundant includes 2019-01-09 09:46:01 +01:00
ESPEasy release bot f3b33c7ada automatically updated release notes for mega-20190109 2019-01-09 04:00:13 +01:00
TD-er f0a2cff6f8 [CSE7766] Reduce memory when plugin not active 2019-01-08 15:56:41 +01:00
TD-er 2f56ba7606 [Plugins] Replace long settings names with clear macros
See the defines in `_Plugin_Helper.h`
They were already used in some plugins, but now made globally available since they make the source much more readable.
2019-01-08 14:54:26 +01:00
GrovkillenandGitHub db04fbf4b0 Merge pull request #2223 from Grovkillen/UpdateDocs
[flasher] big update!
2019-01-08 12:47:07 +01:00
Grovkillen 329b93bb73 [flasher] big update!
You can now name the physical USB port names (ini file in settings folder).
You can now download (and unzip) directly from GitHub (small "update" button in top right)
You will now receive announcements about ESP Easy (opt out) if we push a message.
2019-01-08 12:42:44 +01:00
Gijs NoorlanderandGitHub edf7f2eabf Compile issue Arduino IDE declare function static
As suggested by @clumsy-stefan
2019-01-08 12:11:49 +01:00
Grovkillen 667f09ce68 [dist] deleted the plugin sizes file (obsolete) 2019-01-08 10:37:07 +01:00
GrovkillenandGitHub 714ff77e9b Merge pull request #5 from letscontrolit/mega
Update from master
2019-01-08 10:35:07 +01:00
ESPEasy release bot fa9efcdb2b automatically updated release notes for mega-20190108 2019-01-08 04:00:08 +01:00
TD-er 4715519b7b [GPS] Reduce memory usage when plugin not active.
Also make sure interrupt driven callback should access volatile memory and have icache_attr set.
2019-01-08 00:31:52 +01:00
Gijs NoorlanderandGitHub 272f3f965d Merge pull request #2179 from uzi18/patch12
Dallas: perform 1wire reset before issue copy to eeprom command
2019-01-07 16:54:54 +01:00
Gijs NoorlanderandGitHub b964d8391b Merge pull request #2221 from Grovkillen/UpdateDocs
[docs] added P082 hardware pages + rearranged stuff
2019-01-07 13:58:13 +01:00
Gijs NoorlanderandGitHub 91a24fd3c2 Merge pull request #2217 from clumsy-stefan/deepSleep
[deepSleep] Make deepSleep work again with 2.5.0 and refactor delay var
2019-01-07 13:57:58 +01:00
TD-er cf95d0ca37 [deepSleep] Prevent overflow issues
The 'old' limit of 4294 seconds was 2^32 usec.
By casting it to an uint32, you may get unexpected results when multiplying it by 10^6 again.
So better to use uint64 as variable and work on that one, now the deepsleep functions support uint64.
2019-01-07 11:47:24 +01:00
Grovkillen 81428a0d22 [docs] fixed some syntax 2019-01-07 11:23:41 +01:00
Grovkillen 44475079df [docs] P082 (GPS) added "where to buy" links 2019-01-07 11:18:22 +01:00
Grovkillen bf46ebb0f3 [docs] added P082 (GPS) pages 2019-01-07 10:58:03 +01:00
Grovkillen 7956583c96 [docs] added an event reference page (similar to the command ref. page) 2019-01-07 08:56:26 +01:00
Grovkillen 5c1d68b627 [docs] moved events to repl file (same as commands) 2019-01-07 08:43:54 +01:00
stefan 1ac0a96b41 [deepSleep] fix type errors of #999e43a
Fix type errors of #999e43a and (hopefully) cast all types correctly now....

Keep deep sleep delay below INT_MAX for parameter storage compatibility.
2019-01-07 08:29:00 +01:00
Grovkillen fa21426852 [docs] added "used libraries" to all plugin pages 2019-01-07 08:28:27 +01:00
Grovkillen a72c6b4965 [docs] added events to all plugin pages
Not their hardware pages...
2019-01-07 08:25:28 +01:00
Grovkillen 8f24fa6c3e [docs] fixed used libraries 2019-01-07 07:45:27 +01:00
GrovkillenandGitHub 042f219bf6 Merge pull request #4 from letscontrolit/mega
update from master
2019-01-07 07:32:54 +01:00
ESPEasy release bot 40757016e1 automatically updated release notes for mega-20190107 2019-01-07 04:00:07 +01:00
Gijs NoorlanderandGitHub 8edae2146a Merge pull request #2218 from TD-er/bugfix/HLW8012
[HLW8012] Fix some issues when selecting device
2019-01-06 21:22:31 +01:00
TD-er 741b702c85 [HLW8012] Update documentation 2019-01-06 21:21:22 +01:00
stefan 999e43a834 [deepSleep] Allow for sleeptimes up to deepSleepMax()
Allow to specify sleep times up deepSleepMax() on core 2.5.0
2019-01-06 20:50:13 +01:00
TD-er 18eedf6616 [HLW8012] Fix some issues when selecting device 2019-01-06 16:41:54 +01:00
Gijs NoorlanderandGitHub 3ec78b68a2 Merge pull request #2216 from TD-er/feature/RPiEasy
Add new Nodetype RPIEasy #2206
2019-01-06 14:03:58 +01:00
Gijs NoorlanderandGitHub 63217fb341 Merge pull request #2183 from CaptainRoot/mega
Update _P076_HLW8012.ino / Add support for BL0937 to plugin _076_HLW8012
2019-01-06 14:03:39 +01:00
stefan c2c311eb78 [deepSleep] only use deepSleepInstant for 2.5.0
added #ifdefs to make build happy also for versions <2.5.0
2019-01-06 13:10:28 +01:00
stefan 1a55b991b9 [deepSleep] Make deepSleep work again with 2.5.0 and refactor delay var
Make deepSleep work again with Core 2.5.0. Changed ESP.deepSleep() to ESP.deepSleepInstant().

Refactor delay variable to dsdelay to avoid conflicts with the delay() function.

Added a delay(100) before going to sleep to give the node time to send the last log messages.
2019-01-06 11:58:06 +01:00
TD-er 66bba2caae Add new Nodetype RPIEasy #2206
Also moved some String lookup functions and got rid of code duplication.
2019-01-06 11:31:22 +01:00
ESPEasy release bot 4d2a76ada8 automatically updated release notes for mega-20190106 2019-01-06 04:00:12 +01:00
Gijs NoorlanderandGitHub c4681b5589 Merge pull request #2213 from TD-er/bugfix/1987_wifi_stability
[WiFi] Some basic fixes to improve wifi reconnect
2019-01-06 01:38:42 +01:00
TD-er c752b30d04 [WiFi] Some basic fixes to improve wifi reconnect
As suggested by @clumsy-stefan  https://github.com/letscontrolit/ESPEasy/issues/1987#issuecomment-451644424
2019-01-06 01:13:07 +01:00
Gijs NoorlanderandGitHub 5713900d0f Merge pull request #2194 from TD-er/feature/GPS_plugin
P082: Feature/gps plugin & Serial port abstraction
2019-01-06 00:21:58 +01:00
TD-er d9d826650c [GPS] Include the GPS docs in the Spinx tree. 2019-01-05 23:57:07 +01:00
TD-er 032d51cd75 [PUYA] Use newest core 2.5.0 backport patch on unpatched sources. 2019-01-05 23:37:03 +01:00
TD-er 6eef558183 [GPS] Add documentation for P082_GPS.ino 2019-01-05 23:32:08 +01:00
TD-er b20eede516 [GPS] Add PPS pin as reference pilot for time sync 2019-01-05 23:31:41 +01:00
TD-er 416e162c2d [JavaScript] Simple JS to update view in web interface on change serial 2019-01-05 03:10:13 +01:00
TD-er 4744d638e4 [Puya] Backport core 2.5.0 Puya patch and make patched platform archives
This makes it possible to build Puya patched versions without having to patch the files first.
2019-01-05 03:09:12 +01:00
TD-er b8aa681421 [ESPEasy Serial] Fix build issues for core 2.4.0 2019-01-05 03:06:20 +01:00
CaptainRoot 90b37e4bd0 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into mega 2019-01-03 14:46:27 +01:00
CaptainRoot b708d6f6d4 movepredefind pin settings to PROGMEM
move predefind pin settings for some energy meter sockets to HLW8012 /BL0937 to PROGMEM
2019-01-03 14:18:25 +01:00
ESPEasy release bot 5ee18ec556 automatically updated release notes for mega-20181231 2018-12-31 04:00:13 +01:00
Gijs NoorlanderandGitHub 140b102dc4 Merge pull request #2191 from Grovkillen/UpdateDocs
[docs] P006, P013, P024, P028, P030 added.
2018-12-30 23:54:09 +01:00
Gijs NoorlanderandGitHub fc354fc545 Merge pull request #2170 from giig1967g/bugfix/gpioEvents3
Bugfixes to GPIO handling and MONITOR command
2018-12-30 23:53:30 +01:00
Grovkillen baa211bc74 [flasher] getting ready for info splash with announcements
We could then use this to get in hold of more people than current sticky in the forum...
2018-12-28 13:36:45 +01:00
Grovkillen bf96e341d6 [docs] fixed rule syntax typo 2018-12-28 11:49:37 +01:00
Grovkillen f824c1a050 [travis] -lstdc++-nox removed from esp82xx_2_5_0 2018-12-28 07:52:41 +01:00
Grovkillen f9f6a35ded [docs] added info about bme/bmp similarities 2018-12-27 13:40:20 +01:00
Grovkillen 11c72fcb02 [docs] P028 added 2018-12-27 13:32:48 +01:00
Grovkillen 96352c3cfb [docs] commands updated 2018-12-27 12:12:43 +01:00
Grovkillen 08c14a9d70 [docs] added note to BMP085 and BMP180 2018-12-27 11:30:13 +01:00
Grovkillen 32b76694d6 [docs] P006 added 2018-12-27 11:18:00 +01:00
Grovkillen dcf0bde7b6 [docs] where used added for P024 2018-12-27 10:17:10 +01:00
Grovkillen 43e74893cc [docs] P024 added 2018-12-27 10:12:56 +01:00
TD-er 0caa805452 [GPS] Allow GPS to update system time 2018-12-27 03:08:56 +01:00
TD-er 6f03a81217 [#2197] Correct spelling error in 'Controller'
See #2197
2018-12-27 03:07:24 +01:00
TD-er 64907207fc [build] Added extra include of ESPeasySerial.h
Otherwise build depends on order of included files.
2018-12-26 00:00:46 +01:00
TD-er 6216e79dd3 [build] Register ESPeasySerial as library in PlatformIO 2018-12-24 23:28:23 +00:00
TD-er 5cc65a7d9d [Stability] Add delay(0) to all successful calls to plugin functions
Since these calls can be performed in sequences, the time of these calls can become rather large.
Every call returning success did something, so add a delay(0) after such a plugin function call to make sure background tasks are performed.
2018-12-24 00:45:59 +01:00
TD-er d36fc492fc [Serial] Use uniform serial port selector for all serial plugins 2018-12-24 00:43:27 +01:00
Bartlomiej Zimon fc03a845b4 Merge branch 'mega' of github.com:letscontrolit/ESPEasy into patch12 2018-12-23 10:38:59 +00:00
TD-er a8b7268f32 [WiFi] Set to auto reconnect. 2018-12-22 16:07:25 +01:00
TD-er 8838f38322 [Serial] Let plugins use new serial wrapper 2018-12-22 16:06:59 +01:00
TD-er a1cb8be2b4 [core 2.3.0] build attempt (failing due to iRAM)
Attempt to test core stability using core 2.3.0.
It compiles, but linking is not possible, since iram1_0_seg is full.
2018-12-22 14:42:49 +01:00
TD-er 0e0c25dc5b [GPS] typo in JSON file caused build issues 2018-12-22 02:41:35 +01:00
TD-er c1e13a0392 [GPS] Serial wrapper support including ESP32 2018-12-22 02:10:02 +01:00
TD-er 70c0d10687 [GPS] Extend helper object for abstracting HW/SW serial 2018-12-21 22:16:59 +01:00
TD-er ec767f6c1c [GPS] Make helper object to abstract hardware/software serial 2018-12-21 17:36:11 +01:00
Grovkillen 3afb44cd6e [docs] P013 syntax fixed 2018-12-21 14:36:36 +01:00
Grovkillen 5903c72751 [docs] P003 added "EndOn" 2018-12-21 13:45:29 +01:00
Grovkillen 370f1eb207 [docs] P013 added 2018-12-21 13:19:17 +01:00
GrovkillenandGitHub 69104b161a Merge pull request #3 from letscontrolit/mega
update from mega
2018-12-21 09:49:17 +01:00
TD-er e7beea5cfb Merge remote-tracking branch 'origin/feature/GPS_plugin' into feature/GPS_plugin 2018-12-21 09:26:51 +01:00
TD-er e2b30e2d6b [GPS] New plugin P082 GPS - initial commit 2018-12-21 09:26:25 +01:00
TD-er 36a44ca787 [GPS] support for fix quality and fix mode
Applied this PR:
[support for fix quality and fix mode](https://github.com/mikalhart/TinyGPSPlus/pull/38)
2018-12-21 09:26:25 +01:00
TD-er 346ff67f8e [GPS] Improved precision
Applied PR from @qbazd
[lat, lng force math operations #47](https://github.com/mikalhart/TinyGPSPlus/pull/47)
2018-12-21 09:26:25 +01:00
TD-er 06697e212e [GPS] Add TinyGPSPlus library 1.0.2
[Source](https://github.com/mikalhart/TinyGPSPlus)
2018-12-21 09:26:25 +01:00
CaptainRoot b3b8a9fd59 Update platformio.ini 2018-12-20 20:46:39 +01:00
CaptainRoot 2c29ec467b Revert changes to platformio.ini 2018-12-20 20:45:45 +01:00
CaptainRoot 8d275631b3 add predefind pin settings for some energy meter sockets to HLW8012 / BL0937 2018-12-20 20:42:10 +01:00
ESPEasy release bot a7f1d6153c automatically updated release notes for mega-20181220 2018-12-20 04:00:08 +01:00
Gijs NoorlanderandGitHub dcfc8ffd01 Merge pull request #2184 from TD-er/feature/2180_APmodeEnabledEvent
[WiFi] Add WiFi#APmodeDisabled & WiFi#APmodeEnabled #2180
2018-12-19 23:42:15 +01:00
TD-er fd9f63aab9 [WiFi] Documentation of new WiFi#APmodeEnabled / Disabled events 2018-12-19 22:13:53 +01:00
TD-er 8b8174daef [WiFi] Add WiFi#APmodeDisabled & WiFi#APmodeEnabled #2180
Added events:
- WiFi#APmodeEnabled
- WiFi#APmodeDisabled
2018-12-19 21:56:23 +01:00
CaptainRoot ddce8865b9 Update _P076_HLW8012.ino
Add support for BL0937  to plugin _076_HLW8012
-Add possibility to set interrupt tigger for cf and cf1
Add possibility to set current reading state (low/high)
2018-12-19 20:10:51 +01:00
Gijs NoorlanderandGitHub 708adf2190 Merge pull request #2182 from TD-er/feature/AddTimers_core250
Feature/add timers core250
2018-12-19 16:05:09 +01:00
TD-er f4a98ea43c [TimingStats] Add handle_schedule() to the timingstats. 2018-12-19 15:25:42 +01:00
TD-er 9affa6b1c4 [TimingStats] Add timing stats for controllers
As requested here:
https://github.com/esp8266/Arduino/issues/5513#issuecomment-448558292
2018-12-19 15:06:48 +01:00
Gijs NoorlanderandGitHub 17f403db5d Merge pull request #2177 from Grovkillen/UpdateDocs
[docs] P005 added to RTD
2018-12-19 11:53:41 +01:00
Gijs NoorlanderandGitHub 7d135716dd Merge pull request #2181 from TD-er/mega
[PUYA] Support for PUYA now in core 2.5.0
2018-12-19 11:52:58 +01:00
TD-er 6c747d15fc [PUYA] Support for PUYA now in core 2.5.0
See: https://github.com/esp8266/Arduino/pull/5504
2018-12-19 11:25:00 +01:00
TD-er 218ace372b [GPS] New plugin P082 GPS - initial commit 2018-12-19 00:22:26 +01:00
Bartlomiej Zimon ea98eb516b Dallas: do not perform eeprom write if configuration does not change 2018-12-18 22:10:32 +00:00
Bartlomiej Zimon 8bcbd2b024 Dallas: perform 1wire reset before issue copy to eeprom command
it is small fix for resolution change after sensor reset #2143
2018-12-18 21:35:29 +00:00
Plebs 2e6f7dcfdb optimized monitor call
Execution time reduced to1ms average
2018-12-18 14:55:55 +01:00
TD-er b101bd15e3 [GPS] support for fix quality and fix mode
Applied this PR:
[support for fix quality and fix mode](https://github.com/mikalhart/TinyGPSPlus/pull/38)
2018-12-18 12:46:58 +01:00
TD-er db6f022401 [GPS] Improved precision
Applied PR from @qbazd
[lat, lng force math operations #47](https://github.com/mikalhart/TinyGPSPlus/pull/47)
2018-12-18 12:37:56 +01:00
TD-er cbd7b69a27 [GPS] Add TinyGPSPlus library 1.0.2
[Source](https://github.com/mikalhart/TinyGPSPlus)
2018-12-18 12:33:57 +01:00
Grovkillen 6c838846c4 [docs] fixed better value name in P003
MomentaryConsumption changed to W
2018-12-18 12:17:36 +01:00
Grovkillen 3a647a9ab1 [docs] P005 DHT11 + DHT22 hardware added 2018-12-18 12:13:08 +01:00
GrovkillenandGitHub 255f297f8a Merge pull request #2 from letscontrolit/mega
update from mega
2018-12-18 11:30:17 +01:00
ESPEasy release bot 398f805a3a automatically updated release notes for mega-20181218 2018-12-18 04:00:10 +01:00
Gijs NoorlanderandGitHub 395abb6e7b Merge pull request #2171 from Grovkillen/UpdateDocs
[docs] Pulse counter (P003) + Dallas (P004) added
2018-12-17 23:54:13 +01:00
Gijs NoorlanderandGitHub c32ee98cda Merge pull request #2173 from TD-er/bugfix/reduce_size_minimal_build
[Minimal build] Reduce file size of minimal build for 1MB OTA
2018-12-17 23:53:40 +01:00
TD-er 2973f32f5a [Minimal build] Reduce file size of minimal build for 1MB OTA
In order to get the build size down, a number of things had to be done:

- Removed notifications
- Reduce favicon.ico size
- Reduce flash string usage
- No SVG images on buttons.

Also made the OTA load button visible but disabled when OTA not possible.
2018-12-17 23:25:17 +01:00
TD-er 680f60e167 [Core 2.5.0] Update label to core "2.5.0-beta2" 2018-12-17 23:19:59 +01:00
TD-er 9a46820d40 [PUYA] Prepare for upcoming PUYA patch in core library
See https://github.com/esp8266/Arduino/pull/5504
This needs a little change in the detect script to see if the previous patch already was applied.
2018-12-17 23:18:28 +01:00
Grovkillen 25b2269e6b [docs] fixed search box on RTD + added HW links in the plugin categories 2018-12-17 20:04:18 +01:00
Grovkillen 7c3bcabe1d [docs] P004 (DS18b20) added 2018-12-17 15:13:42 +01:00
Grovkillen e1d2832195 [docs] P003 documented (generic pulse counter)
Hardware
YFS401
TCR5000
LJ12A3
2018-12-17 14:29:35 +01:00
GrovkillenandGitHub cdeaeeaf14 Merge pull request #1 from letscontrolit/mega
update from mega
2018-12-17 09:18:20 +01:00
ESPEasy release bot 36d6c7d448 automatically updated release notes for mega-20181217 2018-12-17 04:00:07 +01:00
Gijs NoorlanderandGitHub 52893300f7 Merge pull request #2169 from letscontrolit/bugfix/2m256_flash
[2M flash] Change 2M128 into 2M256 for 256k SPIFFS
2018-12-17 01:15:54 +01:00
Plebs b339b75eb3 fixed esp32 compile failure 2018-12-17 00:07:05 +01:00
TD-er 8a984e6e78 [2M flash] Update deploy script to match 2M256 flash layout 2018-12-16 21:12:30 +00:00
Gijs NoorlanderandGitHub e7e4aa1acb [2M flash] Change 2M128 into 2M256 for 256k SPIFFS
See: https://github.com/letscontrolit/ESPEasy/issues/2162#issuecomment-447674460
2018-12-16 22:08:03 +01:00
ESPEasy release bot f8ae031be7 automatically updated release notes for mega-20181216 2018-12-16 04:00:10 +01:00
Gijs NoorlanderandGitHub a516892ce6 Merge pull request #2167 from TD-er/bugfix/restore_wroom02_config
[#2162] Restore PlatformIO config for WROOM02 + new 2M128 flash layout
2018-12-16 01:06:37 +01:00
TD-er caa7e12eb7 [#2162] Restore PlatformIO config for WROOM02 + new 2M128 flash layout
See #2162
Also added a WROOM02 core 2.5.0 beta test build using the new 2M128k flash layout. (allowing OTA)
Using the new layout will remove any existing 2M1M layout.
2018-12-16 00:41:29 +01:00
Plebs 7064e76c97 optimizing PLUGIN_MONITOR call
Timing stats average time is now 1.5ms compared to 2.5ms of the previous version.
2018-12-15 19:31:10 +01:00
Plebs e05cbfc8cb fixed string error 2018-12-15 14:46:04 +01:00
Plebs 4650c638ed bug fix for gpio events for P009 and P019 2018-12-15 00:04:54 +01:00
Plebs 509574e3cb bug fix for state = -1 in JSON
was reporting 65535
2018-12-14 23:45:53 +01:00
Plebs 9487d85766 bugfix for sending event in case of gpio commands 2018-12-14 23:35:38 +01:00
ESPEasy release bot 9b1151baa6 automatically updated release notes for mega-20181214 2018-12-14 04:00:20 +01:00
Gijs NoorlanderandGitHub 40009a49f9 Merge pull request #2161 from TD-er/revert/GPIO_to_20181204
Revert/GPIO to 20181204 & prepare for easier merge future GPIO fixes
2018-12-14 02:02:34 +01:00
TD-er 0a4f7cf174 [core 2.5.0-beta1] Add core 2.5.0 IR build and normal 1M VCC
This commit was added: https://github.com/esp8266/Arduino/commit/8ede8f14593def949aeee9a2ada1c01bbe9afd52
Which allows the IR build to be linked too.

Also the disabled plugins in previous test builds could be enabled again (P003, P008 and Servo)
2018-12-14 01:41:11 +01:00
TD-er b13541cf58 [GPIO] Track output value in plugin overview
Quick fix to see the output value of a GPIO pin in the plugin overview and be able to query its value.
2018-12-14 01:05:33 +01:00
Gijs Noorlander c8094bbecd Merge remote-tracking branch 'origin/revert/GPIO_to_20181204' into revert/GPIO_to_20181204 2018-12-13 17:21:08 +01:00
Gijs Noorlander 98c4905827 Revert GPIO, prepare for easier merge later GPIO fixes
This commit is to cherry-pick all fixes in the reverted commits to make future GPIO related fixes be as easy as possible.
These also contain small fixes which were in the reverted commits, but not really related to the issues for which this revert is meant.
2018-12-13 17:20:46 +01:00
Gijs Noorlander c298c5a457 Revert "[GPIO] GPIO commands with long duration will be stopped async."
This reverts commit 0c0db4f401.
2018-12-13 17:19:48 +01:00
Gijs Noorlander 3bcfb5b0f5 Revert "[GPIO] Add some checks to what GPIO pin can be used."
This reverts commit 77b283197d.
2018-12-13 17:19:13 +01:00
Gijs Noorlander 7824466685 Revert "[GPIO] Move "inputswitchstate" back to Switch plugin"
This reverts commit 8db694bde6.
2018-12-13 17:19:13 +01:00
Gijs Noorlander f30530d470 Revert "[GPIO] Move all GPIO commands out of Switch plugin"
This reverts commit c304efb1b4.
2018-12-13 17:19:13 +01:00
Gijs NoorlanderandGitHub 02ef853e1e Merge pull request #2148 from Grovkillen/UpdateDocs
[docs] Re-added changes reverted due to merge fix + new flasher version
2018-12-13 17:16:18 +01:00
Gijs NoorlanderandGitHub ed50071953 Merge pull request #2157 from TD-er/feature/testbuild_core2_5_0_beta1
Feature/testbuild core2 5 0 beta1
2018-12-13 17:15:18 +01:00
Gijs Noorlander 122c1932e8 [core 2.5.0-beta1] Update build names in deploy script
Must include the "core_250_beta" builds
2018-12-13 16:55:31 +01:00
Gijs Noorlander 59b5adfeee [core 2.5.0-beta1] Clean up PlatformIO.ini & add some 2.5.0 beta builds 2018-12-13 15:54:57 +01:00
Gijs Noorlander 4de68afc7a [Rules] Modulo operator '%' only works on int
As reported here: https://github.com/letscontrolit/ESPEasy/pull/2157#issuecomment-446976418
2018-12-13 15:51:53 +01:00
Gijs Noorlander 5a768fb094 Revert GPIO, prepare for easier merge later GPIO fixes
This commit is to cherry-pick all fixes in the reverted commits to make future GPIO related fixes be as easy as possible.
These also contain small fixes which were in the reverted commits, but not really related to the issues for which this revert is meant.
2018-12-13 12:20:38 +01:00
Gijs Noorlander fd272367f2 Revert "[GPIO] GPIO commands with long duration will be stopped async."
This reverts commit 0c0db4f401.
2018-12-13 11:37:33 +01:00
Gijs Noorlander 20635e91c8 Revert "[GPIO] Add some checks to what GPIO pin can be used."
This reverts commit 77b283197d.
2018-12-13 11:34:43 +01:00
Gijs Noorlander 9b71379687 Revert "[GPIO] Move "inputswitchstate" back to Switch plugin"
This reverts commit 8db694bde6.
2018-12-13 11:33:16 +01:00
Gijs Noorlander 4476bd1016 Revert "[GPIO] Move all GPIO commands out of Switch plugin"
This reverts commit c304efb1b4.
2018-12-13 11:31:46 +01:00
Gijs Noorlander 3b49dca5f5 [core 2.5.0-beta1] Add core number and disable some 1MB builds
Disabling dev/test builds for 1 MB chips, since the bin files will be too big to fit on 1 MB modules.
We have to decide later how to make the plugins in dev/test state available for 1 MB modules.
2018-12-12 16:08:03 +01:00
Gijs Noorlander 3c1c84b288 [build] Add option to give a PR number at command line. 2018-12-12 15:17:15 +01:00
Gijs Noorlander 1d005250c5 [Tools] Set executable bits to scripts 2018-12-12 13:47:01 +01:00
Gijs Noorlander 8c0ded31be [core 2.5.0-beta1] Allow building against core 2.5.0
See: https://github.com/esp8266/Arduino/issues/5476
2018-12-12 13:40:22 +01:00
Gijs Noorlander 63d6b3944f [core 2.5.0-beta1] Test build using platformIO
Created own PIO platform to test 2.5.0-beta1
2018-12-11 13:03:51 +01:00
Grovkillen e6f24edd32 [docs] added hardware Ventus W266 (P046) 2018-12-10 14:13:56 +01:00
Grovkillen 827ef08f50 [flasher] 0.03.002 forgot to add pixel per inch settings (defaulted 144) 2018-12-09 20:49:05 +01:00
Grovkillen f4e84ea4c6 [flasher] 0.03.001 new window layout for long file names in dropdown 2018-12-09 20:19:07 +01:00
Grovkillen 520cee5d0d [docs] fixed the command reference list (looks better on small screens) 2018-12-08 20:09:09 +01:00
Grovkillen 5b80edb943 [docs] Up to date with the info before the merge fix on 181207 2018-12-08 19:04:15 +01:00
ESPEasy release bot 6256cb5255 automatically updated release notes for mega-20181208 2018-12-08 04:00:13 +01:00
Gijs NoorlanderandGitHub 2fbe1a2655 Max OTA filesize on 1MB = 616448 bytes. 2018-12-07 21:25:27 +01:00
Gijs NoorlanderandGitHub d9028a732c [#2144] Extend check for file size of ESP32 images 2018-12-07 21:20:45 +01:00
Gijs NoorlanderandGitHub 09a79a5892 [#2144] Only include OTA images that fit (<600 k)
Added a check to the script that makes the ZIP file, to only add image files that will fit in the sketch space.
See https://github.com/letscontrolit/ESPEasy/issues/2144
2018-12-07 21:06:58 +01:00
GrovkillenandGitHub 8ed77ffb01 Merge pull request #2142 from Grovkillen/UpdatedFlasher0003000
[flasher] Updated flasher with custom serial commands
2018-12-07 15:16:25 +01:00
Grovkillen a7142f4a3c Fixed merge conflict 2018-12-07 15:15:50 +01:00
Grovkillen 9d7750b881 [docs] added hardware tSense 2018-12-07 14:52:47 +01:00
Grovkillen 89da79bbdc Revert "[docs] added commented references to commands list"
This reverts commit e52f85e893.
2018-12-07 13:27:30 +01:00
Grovkillen 2add0fcae2 [flasher] 0.03.000 added custom serial commands. 2018-12-07 13:19:07 +01:00
Grovkillen e1495f9520 Merge remote-tracking branch 'letscontrolit/mega' into DocumentationUpdate 2018-12-07 10:02:02 +01:00
Grovkillen e52f85e893 [docs] added commented references to commands list 2018-12-07 10:00:56 +01:00
ESPEasy release bot e26cf54e47 automatically updated release notes for mega-20181207 2018-12-07 04:00:13 +01:00
chunter1andGitHub b912e5c0a9 1-wire timings optimized for stability 2018-12-06 22:58:09 +01:00
Gijs NoorlanderandGitHub af9d4d925e Merge pull request #2111 from chunter1/mega
HX711 load cell plugin now supports dual channel
2018-12-06 09:00:55 +01:00
Gijs NoorlanderandGitHub fc950b141f Merge pull request #2126 from wdonker/mega
Fix P029 - MQTT Helper: device status not updated when GPIO is (#1708)
2018-12-06 08:55:56 +01:00
Gijs NoorlanderandGitHub 331462877f Merge pull request #2129 from Grovkillen/DocumentationUpdate
[docs] look and feel (headlines css) + P001 hardware + script for screenshots of GUI
2018-12-06 08:55:26 +01:00
Gijs NoorlanderandGitHub 50635d8024 Merge pull request #2131 from TD-er/bugfix/split_gpio_from_switch
Split GPIO commands from switch plugin
2018-12-06 08:54:38 +01:00
Grovkillen 108bdb4b01 [docs] fixed "ESP Easy" logo margin bug
The logo in the top left corner was being pushed down because of my CSS of images in general. Fixed now.
2018-12-05 22:08:19 +01:00
Gijs Noorlander 0c0db4f401 [GPIO] GPIO commands with long duration will be stopped async.
Implemented a GPIO timer for the scheduler to schedule a GPIO state change.

These will be stopped async:

- Tone > 50 msec duration
- Longpulse and longpulse_ms

Also implemented a frequency parameter for the `pwm` command.
2018-12-04 22:38:17 +01:00
Gijs Noorlander 77b283197d [GPIO] Add some checks to what GPIO pin can be used.
Not all pins should be used.
For example GPIO 6 - 11 are often connected to flash and thus not usable.
2018-12-04 22:38:17 +01:00
Gijs Noorlander 021374bf09 [GPIO] Add GPIO pin description page
And some other GPIO related updates.
2018-12-04 22:38:17 +01:00
Gijs Noorlander 8db694bde6 [GPIO] Move "inputswitchstate" back to Switch plugin
And added some checks + documentation.
2018-12-04 22:38:17 +01:00
Gijs Noorlander c304efb1b4 [GPIO] Move all GPIO commands out of Switch plugin
Currently only "gpio", "pwm" , "pulse" and "servo" work
2018-12-04 22:38:17 +01:00
Grovkillen 60edd5208e [docs] Test if arrows (unicode) work with RTD 2018-12-04 15:23:41 +01:00
Grovkillen b6e96a0086 [docs] P052 sensair S8 hardware page updated 2018-12-04 15:03:42 +01:00
Grovkillen 72862e7169 [docs] syntax error fixed. 2018-12-04 14:03:11 +01:00
Grovkillen 25c2f55219 [docs] updated headlines (css) + added P001 hardware 2018-12-04 13:58:34 +01:00
Grovkillen 65d072dcf7 [docs] added phantomJS script to streamline the screenshots 2018-12-04 13:07:00 +01:00
wdonkerandGitHub 89b30dcd88 Update _C002.ino 2018-12-04 12:40:44 +01:00
ESPEasy release bot 7948efb6fe automatically updated release notes for mega-20181204 2018-12-04 04:00:08 +01:00
GrovkillenandGitHub 05723163cc Merge pull request #2123 from Grovkillen/DocumentationUpdate
[docs] added P001 hardware
2018-12-03 14:38:20 +01:00
Grovkillen 79123392a9 Merge remote-tracking branch 'Grovkillen/DocumentationUpdate' into DocumentationUpdate 2018-12-03 14:35:56 +01:00
Grovkillen ccf2929e69 [docs] Added P001 (hardware) 2018-12-03 14:35:41 +01:00
ESPEasy release bot 8ae51cda1c automatically updated release notes for mega-20181203 2018-12-03 04:00:11 +01:00
Gijs NoorlanderandGitHub ebe11246a1 Merge pull request #1813 from workgroupengineering/feature/Issue_1771
Increase the rule speed
2018-12-02 23:39:17 +01:00
Gijs Noorlander 43dfa03f2f [HLW8012] Make reading Sonoff POW non blocking ( #2097 )
See #2097
Timings are now less than a msec per iteration and interrupt driven.
Also settings are no longer saved every time the plugin gets initialized. (flash wear out)
2018-12-02 23:13:20 +01:00
Gijs Noorlander ce1ab3e718 [HLW8012] Update library to 1.1.1 2018-12-02 23:11:05 +01:00
Gijs Noorlander c9fa53914a [webserver CORS] #2119 Allow commands to be scripted
See #2119
2018-12-02 21:21:00 +01:00
Gijs Noorlander 4acedced42 [PWM] #2117 PWM stops after about 80 msec in core 2.4.1
See #2117
2018-12-02 16:41:51 +01:00
Gijs Noorlander dd8a67adcd [ESP32] Disable RTOS Multitasking option (multi_heap_poisoning)
When enabled, we now get crashes and CORRUPT HEAP messages.
2018-12-02 12:15:56 +01:00
Gijs Noorlander ab893a7d14 [Rules] GetArgv should clear the return string before filling it
The `GetArgv` function should clear the return string, since it is re-used in `parseCommandString`

See: https://github.com/letscontrolit/ESPEasy/issues/2112#issuecomment-443494191
2018-12-02 11:07:52 +01:00
Gijs Noorlander aaae79c8d9 [Memory] Pass String as reference or const reference, not deepcopy
A number of functions was given a String parameter as a deepcopy instead of a (const) reference.
This will use a lot more memory and time, where it isn't needed.
Also those deepcopy actions may fail silently and thus lead to crashes.
2018-12-02 01:25:32 +01:00
Gijs Noorlander 6ae627b32a [Uncrustify] Make rules source code files better readable
Since the `ESPEasyRules.ino` file is newly introduced in this branch, now is the best moment to tidy up the source code.
Also included the used Uncrustify.cfg file.
2018-12-02 00:35:00 +01:00
Gijs Noorlander 8369c330de [Stack] P035_IRTX reduction of memory usage & speed improvement
- Parsed commands or IR codes now only use amount of memory needed, no fixed allocation on the stack.
- Strings passed to functions via const reference instead of deepcopy
- Massive checks for brand name is now done on lower case, to improve speed.
2018-12-02 00:31:57 +01:00
Gijs Noorlander 2290de3c98 [Stack] Optimize GetArgv to only allocate what is needed.
And also only allocate on the heap, not on the stack.
2018-12-01 22:51:43 +01:00
ESPEasy release bot 3f00ef5dde automatically updated release notes for mega-20181201 2018-12-01 04:00:09 +01:00
Gijs Noorlander afeed445ca [Stack] Make IP-address formatting simpler 2018-11-30 22:41:56 +01:00
Gijs Noorlander b76e8b4e8b [Stack] Reduce allocations on stack 2018-11-30 17:32:38 +01:00
chunter1andGitHub dab8c16e05 HX711 load cell plugin now supports dual channel support
Channel A and B can now be used completely independently.
2018-11-30 14:49:33 +01:00
Gijs Noorlander 84a31c0af9 [Rules engine] Set UseOldRulesEngine as default
Changed to use one of the VariousBits in the settingsfile, not adding an extra bit.
2018-11-30 14:13:53 +01:00
Saverio CisterninoandGijs Noorlander bdfa4b7eec Adding flag to settings for switch from old to new rules engine (Default engine old). 2018-11-30 13:51:09 +01:00
Saverio CisterninoandGijs Noorlander 99a77ad343 Fixed ESP32 build 2018-11-30 13:51:09 +01:00
Saverio CisterninoandGijs Noorlander 0b4c605f43 Change menu url from relative to absolute 2018-11-30 13:51:09 +01:00
Saverio CisterninoandGijs Noorlander eabf79be54 Redefine Rules WebUi 2018-11-30 13:51:09 +01:00
Saverio CisterninoandGijs Noorlander b14fe5de32 Added addButton, addFormTextBox overload and addSaveButton, AddDeleteButton functions 2018-11-30 13:51:09 +01:00
Saverio CisterninoandGijs Noorlander ed3d8f5371 implement matching of rule file 2018-11-30 13:51:09 +01:00
Saverio CisterninoandGijs Noorlander 459e103a73 Moved the rules related functions from Misc.ino to ESPEasyRules.ino 2018-11-30 13:51:09 +01:00
Gijs NoorlanderandGitHub c62fab5eec Merge pull request #2110 from TD-er/bugfix/1970_remove_newline_HTTP_header
[#1970] Fix: HTTP Header broken in 'Generic HTTP Advanced' controller
2018-11-30 12:20:04 +01:00
Gijs Noorlander ecba3c79e2 [#1970] Fix: HTTP Header broken in 'Generic HTTP Advanced' controller
Also replaced a number of short strings not to use F() macro to reduce binary footprint.
2018-11-30 11:34:53 +01:00
Gijs Noorlander 5146803833 [Docs] Update to Sphinx 1.8.2 2018-11-30 11:33:34 +01:00
ESPEasy release bot 2b5a822cd5 automatically updated release notes for mega-20181130 2018-11-30 04:00:11 +01:00
Gijs NoorlanderandGitHub 5ee53a49f5 Merge pull request #2106 from TD-er/feature/espeasy_p2p_protocol
[Docs] Document ESPeasy p2p controller
2018-11-30 00:18:17 +01:00
Gijs NoorlanderandGitHub b49921eb9a New data structures for P001, P019, P009, etc. plugins
See #2057 

Currently this version works with P001 and P019.

Main changes:
Added a new command to SWITCH 001: unmonitor,pcf,port#
Added two new commands to PCF 019: monitor,pcf,port# and unmonitor,pcf,port#
Added two new http commands: monitor and unmonitor
Added a new rules command: logPortStatus that will print the port status
Added the "SafeButton" functionality to 001 and 019 that will avoid false positives
Added more checks to all commands in WRITE function to avoid possible overflows
Added two more PIN STATUS: OFFLINE and INPUT_PULLUP
Modified SendStatus function so that it will be called only when needed (#1593)
Redesign of the pinstate page
Optimized the WRITE function, changing the serie of 'if' with 'else if'
2018-11-30 00:05:57 +01:00
Gijs Noorlander b9f999d79f [Docs] Split Sphinx plugin substitutions to speed-up build
Split the plugin related substitutions into separate files (per 10) to speed-up building docs.

Please note the use of indirect paths used in includes, needed to link those replacements from other directories.
2018-11-29 23:55:22 +01:00
Gijs Noorlander 776277b179 [Docs] Move Sphinx substitutions to separate file to speed-up build 2018-11-29 22:37:58 +01:00
Gijs Noorlander 56fb47b6a8 [Docs] Document ESPeasy p2p controller
And renamed some structs
2018-11-29 18:41:36 +01:00
Plebs 6d9ea14d6c final cleanup
removed debug strings and functions.
2018-11-29 15:44:59 +01:00
Gijs NoorlanderandGitHub f74ea5f8c8 [Readme] Add badge for ReadTheDocs build status 2018-11-29 09:30:56 +01:00
ESPEasy release bot ee1a9f7cef automatically updated release notes for mega-20181129 2018-11-29 04:00:15 +01:00
Gijs NoorlanderandGitHub c3b1247f9d Merge pull request #2099 from workgroupengineering/feature/embed_files_enhanced
Embed files enhanced
2018-11-29 00:35:48 +01:00
Gijs NoorlanderandGitHub 742aec9598 Merge pull request #2100 from clumsy-stefan/patch-1
Allow for duplicate task names again
2018-11-29 00:33:53 +01:00
GrovkillenandGitHub 496e9443b0 Merge pull request #2101 from Grovkillen/DocumentationUpdate
[docs] Small update, fixed some typos
2018-11-28 14:47:29 +01:00
Grovkillen d708a62efe Merge remote-tracking branch 'letscontrolit/mega' into DocumentationUpdate 2018-11-28 14:46:10 +01:00
Grovkillen 3f1deeef96 [docs] Small update, fixed some typos 2018-11-28 14:45:19 +01:00
clumsy-stefanandGitHub 385bb23484 Allow for duplicate task names again
Only warn if a task name is duplicate but allow it to be saved without clearing the value-names of that task.
2018-11-28 14:22:57 +01:00
Saverio Cisternino f30977f6f3 [Embed Files] Avoid redirect http to https of minify_html_css 2018-11-28 13:26:34 +01:00
Saverio Cisternino a3aa944988 [Embed Files] Append zero termination 2018-11-28 13:26:34 +01:00
Saverio Cisternino 52c1e1243e [Embed Files] Add exit code 1 when minify failed 2018-11-28 13:26:24 +01:00
ESPEasy release bot 12852c39d6 automatically updated release notes for mega-20181128 2018-11-28 04:00:07 +01:00
Gijs NoorlanderandGitHub 35b7f586d1 Merge pull request #2089 from TD-er/bugfix/stop_serial_output
[Serial] Redirect all Serial.print/println to a buffer
2018-11-28 00:14:24 +01:00
Gijs NoorlanderandGitHub 4f08ebbf1a Merge pull request #2096 from TD-er/bugfix/MQTT_clientID_setting
[MQTT] change client-id at reconnect - #1918
2018-11-28 00:13:13 +01:00
Gijs NoorlanderandGitHub 45e302c4ee Merge pull request #2095 from TD-er/cleanup/Sonoff_POW_build_merges
[Sonoff POW] Merge POW r1/r2 in the same build
2018-11-27 23:48:09 +01:00
Gijs Noorlander fd6ba18c36 [MQTT] change client-id at reconnect - #1918
As discussed here: https://github.com/letscontrolit/ESPEasy/issues/1918#issuecomment-441203285
2018-11-27 23:45:19 +01:00
Gijs Noorlander f008accd4e [Sonoff POW] Merge POW r1/r2 in the same build
Sonoff POW build now is usable for both POW and POW r2.
Use the Reset Factory default to select proper pre-defined setup for keys and relay.
Both power sensors are included as plugin.
2018-11-27 23:05:06 +01:00
Gijs Noorlander 24f661f80a [Serial] Remove code to detect if serial port is read
See discussion here: https://github.com/letscontrolit/ESPEasy/pull/2089#issuecomment-442066980
2018-11-27 22:10:26 +01:00
GrovkillenandGitHub 98c2c1e6eb Merge pull request #2094 from Grovkillen/DocumentationUpdate
[docs] Added servo motor and plugin sections
2018-11-27 15:58:03 +01:00
Grovkillen f9c9557384 [docs] Added servo motor and plugin sections 2018-11-27 15:54:36 +01:00
Gijs Noorlander 5b5c1f224b [Commands] No longer run commands from scheduler
Problem appeared to be a stack overflow.
There were a lot of large arrays allocated on the stack to parse commands or their arguments.
These are now only temporary allocated and de-allocated as soon as possible.
2018-11-27 13:44:27 +01:00
Gijs Noorlander 3e367c020f [Serial] Forgot the Serial.printf 2018-11-27 13:44:27 +01:00
Gijs Noorlander 80b8b03869 [Serial] Replace serial port activity marker with unprintable marker
Now use ASCII code `1` as char value to detect reading activity.
2018-11-27 13:44:27 +01:00
Gijs Noorlander d3f1dbd934 [Serial] Redirect all Serial.print/println to a buffer
Writing data to the serial port while it is not being read may cause all kinds of issues and maybe even Watchdog Resets.
All `Serial.print` and `Serial.println` calls in our own code is now sent to a dynamic buffer.
This buffer will try to only send data to the serial port when its buffer permits it.
After a while, unread data will be dropped.
2018-11-27 13:44:27 +01:00
GrovkillenandGitHub defdc8215b [flasher] Warning if baud rate too high + info post-flash 2018-11-27 08:44:14 +01:00
ESPEasy release bot 8e1f89035e automatically updated release notes for mega-20181127 2018-11-27 04:00:10 +01:00
Gijs NoorlanderandGitHub c7b2052298 [Travis] make clean + build only once
As suggested here: https://github.com/letscontrolit/ESPEasy/pull/2089#issuecomment-441805148
2018-11-26 23:30:26 +01:00
Gijs NoorlanderandGitHub 0e7c8e4fa0 [PlatformIO] Lower upload_speed to 115200
As suggested here: https://github.com/letscontrolit/ESPEasy/pull/2089#issuecomment-441779773 by @ivankravets
2018-11-26 22:45:05 +01:00
GrovkillenandGitHub fd228119a3 [docs] Fix relative path for command list 2018-11-26 22:15:22 +01:00
Gijs NoorlanderandGitHub d3cf913ece [PlatformIO] Change to LWIP2_LOW_MEMORY
As advised by @ivankravets
See https://github.com/letscontrolit/ESPEasy/pull/2089#issuecomment-441697474
2018-11-26 17:17:47 +01:00
GrovkillenandGitHub 57232e819c Merge pull request #2091 from Grovkillen/DocumentationUpdate
[docs] Core commands added + relay,buzzer etc. etc.
2018-11-26 15:33:11 +01:00
Grovkillen 5630bf83da [docs] command list updated with internal commands 2018-11-26 15:30:14 +01:00
Grovkillen 125bc51ac2 Merge remote-tracking branch 'letscontrolit/mega' into DocumentationUpdate 2018-11-26 12:57:47 +01:00
Grovkillen 3984823de6 [docs] Added GPIO handling pages (tones, relay etc.) 2018-11-26 12:46:21 +01:00
Gijs NoorlanderandGitHub f8e2e34f6f Merge branch 'mega' into new/monitor2 2018-11-25 22:47:57 +01:00
Plebs f1b41d903e more bugfixing 2018-11-25 19:23:51 +01:00
ESPEasy release bot 592e6afd60 automatically updated release notes for mega-20181125 2018-11-25 04:00:07 +01:00
Gijs NoorlanderandGitHub 937fce0fe5 Merge pull request #2087 from TD-er/feature/RTD_links_plugins
[Documentation] Add link to RTD for plugins
2018-11-25 01:50:01 +01:00
Unknown 30bee983b0 [Documentation] Add link to RTD for plugins
Since the documentation at RTD is yet still very preliminary, both Wiki and RTD links will be presented.
2018-11-25 01:49:25 +01:00
Gijs NoorlanderandGitHub 9579cb45b7 Merge pull request #2082 from letscontrolit/feature/lcd_german_umlaute
LCD P012_LCD Plugin German Umlaute #2081
2018-11-24 23:40:58 +01:00
Gijs NoorlanderandGitHub 1cc3889127 Merge pull request #2083 from TD-er/feature/factory_reset_page
Feature/factory reset page
2018-11-24 23:40:16 +01:00
Unknown 376104a8b4 [Factory Reset] Add some documentation 2018-11-24 23:39:57 +01:00
Gijs NoorlanderandGitHub 44a23fb574 Add -mtarget-align to common build_flags
See https://github.com/arendst/Sonoff-Tasmota/issues/3678#issuecomment-419712437
Probably related: #2084 #2008
2018-11-24 14:49:12 +01:00
Gijs NoorlanderandGitHub 2f50cfe26b P012_LCD Remove duplicate lines 2018-11-24 12:02:40 +01:00
ESPEasy release bot d8e4f9d850 automatically updated release notes for mega-20181124 2018-11-24 04:00:07 +01:00
Unknown 222397ea7a [Sysinfo] Add init to P026_sysinfo to set initial config only 1 active. 2018-11-24 01:24:48 +01:00
Gijs NoorlanderandGitHub 73b69d0ca2 LCD P012_LCD Plugin German Umlaute #2081
Thanks to @StefanRied 
See https://github.com/letscontrolit/ESPEasy/issues/2081#issue-383903764
2018-11-24 00:16:27 +01:00
Unknown 78cc4a3d52 [Factory Reset] Show page again after saving. 2018-11-23 22:23:40 +01:00
Unknown bbbbecab56 [Factory Reset] Add more categories not to clear
Settings to keep:
- Keep Unit/Name
- Keep WiFi config
- Keep Network config
- Keep NTP/DST config
- Keep log config
2018-11-23 22:05:46 +01:00
Plebs a451a876e4 bugfixing 2018-11-23 20:48:32 +01:00
Unknown 8ebf6a3c88 [Factory Reset] Add Factory reset page and allow to keep some settings 2018-11-23 17:21:24 +01:00
GrovkillenandGitHub a99ff721d8 Merge pull request #2080 from Grovkillen/DocumentationUpdate
[docs] Fixed some syntax error
2018-11-23 15:53:55 +01:00
Grovkillen 5058d326c7 [docs] Fixed some syntax error 2018-11-23 15:52:44 +01:00
GrovkillenandGitHub 9d4c4b5ea4 Merge pull request #2079 from Grovkillen/DocumentationUpdate
[docs] Added hardware pages
2018-11-23 15:50:53 +01:00
Grovkillen 54c0acf80d [docs] Added hardware pages 2018-11-23 15:49:05 +01:00
GrovkillenandGitHub 915a7beaea Merge pull request #2078 from Grovkillen/DocumentationUpdate
[docs] Added donation links in footer
2018-11-23 13:04:24 +01:00
Grovkillen 0ed9f204ab [docs] Added donation links in footer 2018-11-23 13:03:30 +01:00
GrovkillenandGitHub 601eeb529e Merge pull request #2077 from Grovkillen/DocumentationUpdate
[docs] Added plugin names to plugin pages + fixed "site map"
2018-11-23 11:38:54 +01:00
Grovkillen 541c0bba41 [docs] Added plugin names to plugin pages + fixed "site map" 2018-11-23 11:36:26 +01:00
GrovkillenandGitHub 49a95d06e7 Merge pull request #2075 from Grovkillen/DocumentationUpdate
[docs] fixed the TOC + added changelogs to all plugins + core
2018-11-23 10:46:13 +01:00
Grovkillen 153267b8c5 [docs] fixed the TOC + added changelogs to all plugins + core 2018-11-23 10:44:22 +01:00
ESPEasy release bot 8a2c35d15d automatically updated release notes for mega-20181123 2018-11-23 04:00:08 +01:00
Unknown 5ed2ebf7f7 [Factory Reset] Add initial structure to set defaults for a device model 2018-11-23 00:49:41 +01:00
Plebs 05245ac0da Merge branch 'new/monitor2' of https://github.com/giig1967g/ESPEasy into new/monitor2 2018-11-22 21:25:49 +01:00
Plebs c0c95deb30 fixed pcf8574 to avoid #702 2018-11-22 21:25:46 +01:00
GrovkillenandGitHub 0fcd810074 Merge pull request #2074 from Grovkillen/DocumentationUpdate
[docs] Documentation update (generic plugin pages)
2018-11-22 15:29:02 +01:00
Grovkillen 12f7c559b5 [docs] added all plugins to global + generated generic pages for them 2018-11-22 15:28:01 +01:00
Grovkillen 49271bebf5 [docs] Global variables for plugins + added raw plugin files 2018-11-22 11:40:16 +01:00
Unknown 05963c0f22 [HTML Footer] Change to "Powered by LetsControlIt community"
It is not powered by a website, but by the community.
2018-11-22 10:20:43 +01:00
Gijs NoorlanderandGitHub 417b62e064 Merge branch 'mega' into new/monitor2 2018-11-22 10:00:04 +01:00
Grovkillen 686b9ead85 [docs] Fixed error in image path 2018-11-22 09:24:46 +01:00
ESPEasy release bot 28706197b9 automatically updated release notes for mega-20181122 2018-11-22 04:00:12 +01:00
GrovkillenandGitHub b772c34911 Merge pull request #2065 from Grovkillen/DocumentationUpdate
[docs] Documentation update (first hardware page)
2018-11-21 16:18:41 +01:00
Gijs NoorlanderandGitHub 5ce7abbe56 [P073_7DGT] new commands (7dst, 7dsd, 7dtext), new options to show 12h or 24h clock
Adding new commands (7dst, 7dsd, 7dtext), new options to show 12h or 24h clock and fixing some bugs
2018-11-21 16:03:44 +01:00
papperoneandGitHub 0decde6fd0 Update _P073_7DGT.ino 2018-11-21 14:32:35 +01:00
ESPEasy release bot 2664dae375 automatically updated release notes for mega-20181121 2018-11-21 04:00:13 +01:00
Gijs NoorlanderandGitHub f65fd64c84 Merge pull request #2069 from TD-er/bugfix/Disable_SSDP
[SSDP] Disable SSDP checkbox
2018-11-21 01:03:38 +01:00
Unknown 5e65f18235 [HTML] Made HTML layout more uniform and optimize CSS
- Replaced all <TH> with functions
- Optimized CSS (removed some errors too)
- Uniform rendering of pages (TH, width first column)
- Added some metadata to timing stats page
- Reduction in used flash strings.
2018-11-21 00:29:52 +01:00
Unknown 8f350fcd0c [SSDP] Disable SSDP checkbox
See #1998
2018-11-20 19:49:33 +01:00
jimmys01andGitHub a22563e21d Merge pull request #3 from letscontrolit/mega
Merge it
2018-11-20 09:55:41 +02:00
ESPEasy release bot 24a7330e5d automatically updated release notes for mega-20181120 2018-11-20 04:00:07 +01:00
Gijs NoorlanderandGitHub a8e8c39fa3 Update build_ESPeasy.sh 2018-11-20 01:23:19 +01:00
Gijs NoorlanderandGitHub e986c8a8e1 Merge pull request #2068 from TD-er/feature/build_scripts
Feature/build scripts
2018-11-20 01:16:40 +01:00
Unknown 63f01e7d9b [Build] Add test_ESP8266_1024_VCC to deploy script 2018-11-20 01:15:35 +01:00
Unknown a5f50fda5a [Build scripts] Add build script for Linux and include docs 2018-11-20 01:12:42 +01:00
Gijs NoorlanderandGitHub 0a2f8f9ccf Merge pull request #2066 from TD-er/bugfix/2063_LCD2004
Reduce stack usage on some plugins and fix LCD2004
2018-11-19 21:44:01 +01:00
Unknown 28f321d5c7 [Timing stats] Add LoadCustomTaskSettings() to the timing stats
These may get called quite often by some plugins (e.g. OLED)
2018-11-19 16:55:53 +01:00
Unknown af237c3e42 [P075 Nextion] Do not keep display lines allocated on stack
Large memory block was allocated on the (system) stack.
2018-11-19 16:26:41 +01:00
Grovkillen 84caa6939c [docs] added a first device page
If we like this one I will go ahead and convert the rest.
2018-11-19 15:55:07 +01:00
Unknown c8c9aab308 [OLED framed] Do not keep display lines allocated on stack
Was allocated on (system) stack, even when plugin was not used.
2018-11-19 15:41:54 +01:00
Unknown a06ade4979 [issue 2063] Incorrect saving settings on LCD2004
A bug introduced when renaming internal strings to reduce size of binary.
2018-11-19 15:40:48 +01:00
Plebs 691977c1dd Update _P009_MCP.ino 2018-11-19 15:34:37 +01:00
Plebs fda673ce9d Added support for P011, P022, P059, P063
I would call this version, beta 1 version :)
2018-11-19 15:33:59 +01:00
Plebs cec00400f2 Fixed write function in PCF8574 2018-11-17 18:48:39 +01:00
ESPEasy release bot 125155a9b9 automatically updated release notes for mega-20181117 2018-11-17 04:00:10 +01:00
TD-er 6d45860aa0 [P073_7DGT] Fix uninitialized p073_dispdigit 2018-11-16 21:31:03 +01:00
Gijs NoorlanderandGitHub fbb1f2c9c6 [PlatformIO] Use 2.4.2 platform for Sonoff builds
Sonoff builds were set to use 2.4.1 platform.
Now we're using the same `common` for all ESP82xx builds
2018-11-16 21:10:57 +01:00
TD-er d4206d37f9 [P073_7DGT] Removed old (duplicate) content
The old version was still present in the file, so I removed the duplicate (old) part
2018-11-16 20:30:12 +01:00
Grovkillen 375274b208 [docs] Plugins (added real name) 2018-11-16 15:27:45 +01:00
GrovkillenandGitHub addbcb29d0 Merge pull request #2059 from Grovkillen/UpdateFavicon
[docs] Inverted icon for easy to navigate browser tabs
2018-11-16 14:00:41 +01:00
Grovkillen 818a64b74e [docs] Inverted icon for easy to navigate browser tabs 2018-11-16 13:45:10 +01:00
Gijs NoorlanderandGitHub 31178ef206 Update Sphinx to 1.8.1 2018-11-16 13:32:19 +01:00
Gijs NoorlanderandGitHub 6398aefa63 Merge pull request #2054 from Grovkillen/UpdateDocs
Update docs (wiki ---> rst/sphinx based)
2018-11-16 13:13:38 +01:00
GrovkillenandGitHub 88df0a3417 [fix] reverted test code 2018-11-16 13:12:28 +01:00
Gijs NoorlanderandGitHub a90b9af463 Merge pull request #2050 from stephenhouser/HT16K33_LED_12hour
Update P057 to allow 12-hour clock in addition to existing 24-hour clock
2018-11-16 13:10:47 +01:00
Grovkillen cef698ad36 [docs] Removed some test code 2018-11-16 13:09:02 +01:00
Gijs NoorlanderandGitHub 432655d50b Merge pull request #2024 from jimmys01/mega
Add new IR protocols and some bug fixes
2018-11-16 13:08:07 +01:00
Grovkillen 23005543ef [docs] Plugin list + update to config.py + some CSS 2018-11-16 13:08:05 +01:00
Gijs NoorlanderandGitHub 26defa8700 Merge pull request #2045 from TD-er/feature/build_1024_vcc
Feature/build 1024 vcc
2018-11-16 13:05:46 +01:00
TD-er 34e839477d [Travis] ESP32 does not support timeout on DNS lookups 2018-11-16 12:27:42 +01:00
Grovkillen bbb3275bd1 [docs] Plugins list 2018-11-16 12:21:01 +01:00
Grovkillen 797c1a235e [docs] About us, month as XX
Also some rephrasing of parts. Commented out the release of 2+.
2018-11-16 10:06:57 +01:00
Grovkillen c88b04cd98 [docs] Rules, fixed compile error 2018-11-16 09:51:45 +01:00
TD-er 07c0509dee [Statistics] Add timing statistics on connect and DNS lookup 2018-11-15 22:12:45 +01:00
PlebsandGitHub a42017157f Merge branch 'mega' into new/monitor2 2018-11-15 11:55:41 +01:00
Plebs 25b3e93ddc added P019 PCF support 2018-11-14 22:20:23 +01:00
papperoneandGitHub 4c862c0747 Update _P073_7DGT.ino
Adding new commands (7dst, 7dsd, 7dtext), new options to show 12h or 24h clock and fixing some bugs
2018-11-13 23:50:30 +01:00
Plebs d97335e289 fixing Safebutton 2018-11-13 20:43:24 +01:00
Grovkillen 05d79ce854 [docs] More spelling
Still some compile error...
2018-11-13 19:59:55 +01:00
Grovkillen 89d65c6dd2 [docs] Spelling + syntax fix 2018-11-13 19:14:46 +01:00
Grovkillen cbe9a6de50 [docs] Merged main 2018-11-13 18:59:52 +01:00
Grovkillen 7864863df8 [docs] History converted to rst 2018-11-13 18:55:22 +01:00
Plebs b6f8085170 Added SafeButton feature 2018-11-13 15:58:44 +01:00
Stephen Houser 564eb040ac add comments for new clock functions 2018-11-12 18:53:26 -05:00
Stephen Houser c3e5ece07e Remove update every second 2018-11-12 16:09:47 -05:00
Stephen Houser 3163c589d2 Add 12/24 hour time to clock 2018-11-12 16:06:51 -05:00
Stephen Houser 9f027d14cb initial 12/24 hour config 2018-11-12 13:39:33 -05:00
Plebs a33e4b55d0 added monitor support 2018-11-12 19:05:04 +01:00
Grovkillen bf28625eca [docs] Rules converted from wiki 2018-11-12 13:43:59 +01:00
Plebs 3f6e90229b new data structures
First release for P001
2018-11-12 11:41:09 +01:00
ESPEasy release bot 616115d7e3 automatically updated release notes for mega-20181112 2018-11-12 04:00:07 +01:00
TD-er 7735ea1cf9 [Input check] Add check when copying input texts
Make sure allocated buffers cannot be overflown when entering strings which are too long.
2018-11-12 01:43:41 +01:00
TD-er c04ffaa1f4 [1024 VCC] Add test_ESP8266_1024_VCC
See #2044
2018-11-12 01:41:34 +01:00
Gijs NoorlanderandGitHub bb208c34bd Merge pull request #2043 from uzi18/patch12
Eastron fix for model selection
2018-11-11 19:32:22 +01:00
Bartlomiej Zimon 8c344593b9 Eastron fix for model selection
issue #1684
2018-11-11 17:40:59 +00:00
Gijs NoorlanderandGitHub b54311db2e Merge pull request #2042 from TD-er/bugfix/delay_writespifs_pagebreak
WiFi events and delay(0) during write SPIFFS
2018-11-11 17:23:08 +01:00
TD-er b23a9245da [WiFi] Make sure unhandled WiFi events will be processed 2018-11-11 15:56:31 +01:00
TD-er 936b729b46 Improve comments 2018-11-11 15:19:47 +01:00
TD-er c2d9a03a54 [SPIFFS] perform delay during save per page break
Saving the settings file may sometimes take a few 100 msec.
Added a `delay(0)` per page written to make sure background tasks are dealt with.
These system background tasks should not perform writes to SPIFFS, so this delay should be fine.
2018-11-11 15:17:35 +01:00
Gijs NoorlanderandGitHub 2dec3a367d Merge branch 'mega' into mega 2018-11-11 14:53:39 +01:00
Gijs NoorlanderandGitHub f53a9533a4 Merge pull request #2041 from TD-er/bugfix/uniform_GPIO_labels
Bugfix/uniform gpio labels
2018-11-11 14:48:57 +01:00
TD-er 27a4f081e8 [Cleanup] Change label for P035_IRTX 2018-11-11 14:00:44 +01:00
TD-er 26d7c95b6f [Cleanup] Uniform labels for GPIO pins
For all other plugins not setting the GPIO labels, all are now added.
Also reverted the decision about RX/TX, since these are the only ones to be crossed, the rest is always describing the data on the sensor side.
"GPIO <-- TX" is rather descriptive. The GPIO is on the ESP side, TX is on the sensor side.

So the function to format the label is called `formatGpioName_RX` and it will write "GPIO <- TX"
At least it is clear where it is going to be used, it is the RX channel on the ESP side. (for example SoftwareSerial describes the pins with function on ESP side)
2018-11-11 12:42:36 +01:00
TD-er 72637da44c [Cleanup] Uniform labels for GPIO pins (existing labels)
All custom GPIO labels (set using `PLUGIN_GET_DEVICEGPIONAMES` ) now use the same format.
It is now uniform to describe GPIO functions on ESP side.
It was quite a mixup of sensor pin descriptions and ESP side descriptions (e.g. mixup of RX and TX)
Now all descriptions show the ESP side description.
2018-11-11 10:00:15 +01:00
ESPEasy release bot ca0a16fb9c automatically updated release notes for mega-20181111 2018-11-11 04:00:06 +01:00
Gijs NoorlanderandGitHub 6f895c2e2e Merge pull request #2033 from uzi18/patch12
Webserver content-type set fix for /control handler
2018-11-11 00:18:25 +01:00
Gijs NoorlanderandGitHub 8912ef845c Merge pull request #2038 from TD-er/bugfix/embedded_javascript
[JavaScript] Append zero termination to embedded progmem data
2018-11-10 23:51:26 +01:00
TD-er 1231c6a9c2 [JavaScript] Append zero termination to embedded progmem data 2018-11-10 23:43:52 +01:00
ESPEasy release bot 6313d4344d automatically updated release notes for mega-20181110 2018-11-10 04:00:08 +01:00
Bartlomiej Zimon 6dcfc9e2a1 Webserver optimize /control early handled commands 2018-11-09 23:17:54 +00:00
Bartlomiej Zimon 2e9e1e480f Webserver /control proper Content type
it sets printToWebJSON during PLUGIN_WRITE/SendStatus
fix for #2018
2018-11-09 23:13:28 +00:00
Gijs NoorlanderandGitHub d7dcd9cff0 Merge pull request #2017 from TD-er/feature/upgrade_ESP32_1.5.0
[ESP32] Upgrade core lib to espressif32@1.5.0
2018-11-09 11:39:19 +01:00
Gijs NoorlanderandGitHub bdf0e6e05c Merge pull request #2021 from TD-er/bugfix/wifi_disconnect_handling
[WiFi] Improve disconnect detection and run delay(1) when not connected
2018-11-09 11:37:30 +01:00
Gijs NoorlanderandGitHub 75e411f458 Merge pull request #2025 from uzi18/patch14
[Eastron] remove old duplicate code
2018-11-09 11:02:45 +01:00
Gijs NoorlanderandGitHub bc9a697792 Merge pull request #2022 from uzi18/patch12
HTTP responses have duplicate Content-Types
2018-11-09 10:00:03 +01:00
ESPEasy release bot dfe90363b7 automatically updated release notes for mega-20181109 2018-11-09 04:00:10 +01:00
Bartlomiej Zimon d8dd25593e properly send content-type header
fix for #2022
2018-11-09 00:17:06 +00:00
jimmys01 4cbd8a7ec7 further improvments 2018-11-08 19:46:19 +02:00
jimmys01 cf7faba90a Add appropriate check to irReceiver before disabling it 2018-11-08 14:18:25 +02:00
Bartlomiej Zimon 38d08d6902 remove old duplication 2018-11-08 10:42:36 +00:00
jimmys01 11bc5a716d syntax fix 2018-11-08 11:46:39 +02:00
jimmys01 b430adeefa Put a PLUGIN_EXIT in place 2018-11-08 11:35:48 +02:00
Gijs NoorlanderandGitHub a7b32273ae Merge pull request #2023 from uzi18/patch14
add p078_dev_id to form save
2018-11-08 10:24:58 +01:00
jimmys01 c5d0296bad extra dot fix 2018-11-08 11:23:37 +02:00
jimmys01 798b31fc2e Make max IR command to be 200 chars long
IR2 produces long encoded strings and we must make changes to acomodate that.
2018-11-08 11:11:20 +02:00
jimmys01 23fa1854a8 Ir Remote lib enchantments
Added new protocols supported by the library
Fixed missing _ in protocol names
Small improvments here and there
2018-11-08 10:40:02 +02:00
jimmys01andGitHub ba14acfb37 Merge pull request #2 from letscontrolit/mega
test pull
2018-11-08 10:30:43 +02:00
ESPEasy release bot 5ccbdfff11 automatically updated release notes for mega-20181108 2018-11-08 04:00:09 +01:00
Bartlomiej Zimon 4ff3de5482 add p078_dev_id to form save 2018-11-08 00:44:54 +00:00
Bartlomiej Zimon d52435264d remove double strings for contenttype 2018-11-07 23:34:39 +00:00
Bartlomiej Zimon cd76c88860 HTTP responses have duplicate Content-Types
fix for #2018
2018-11-07 23:18:00 +00:00
TD-er 429fa31ee5 [WiFi] Improve disconnect detection and run delay(1) when not connected
Make sure disconnects will not be missed.
Give background tasks more time when not connected to WiFi.
This may help lowering power consumption and improve chance of getting connected.
2018-11-07 23:03:41 +01:00
Gijs NoorlanderandGitHub 6b33cee8ea Merge pull request #2015 from clumsy-stefan/amend_system_nosleep
Amend nosleep command to accept awake time
2018-11-07 21:23:01 +01:00
Gijs NoorlanderandGitHub a182ca8097 Merge pull request #2016 from giig1967g/bug/p001
BUG fix in P001 - switchstate was referred but not set yet in PLUGIN_INIT
2018-11-07 20:22:24 +01:00
stefan f7feeff9b4 Add System#NoSleep=<time> event
Add a System#NoSleep event which returns the amount of seconds fow which the unit will be awake (at least). However this time can change within the delay or even disabled (by rules, commands, etc.)
2018-11-07 16:53:08 +01:00
Plebs a5cfa1713d BUG fix
in P001 switchstate was referred before setting its value.
2018-11-07 15:34:06 +01:00
TD-er 04edfae8de [ESP32] Upgrade core lib to espressif32@1.5.0 2018-11-07 15:33:00 +01:00
stefan 1e9debf67c Merge branch 'mega' into amend_system_nosleep 2018-11-07 14:39:48 +01:00
stefan 250d8aca59 Amend nosleep command to accept awake time
Amend system command "nosleep" to accept a parameter that sets the awake time (eg. nosleep for <time>).
like this it's possible to send a "nosleep" command to the unit immediately after it awakes, do whatever needed and then reset the awake time with "nosleep,<time>" instead of having to go via web-page.
2018-11-07 14:33:54 +01:00
Gijs NoorlanderandGitHub 19ec7a90cf Merge pull request #2014 from TD-er/bugfix/PUYA_build_v3patch
Bugfix/puya build v3patch
2018-11-07 12:48:35 +01:00
TD-er 74e591ac81 [PUYA] Fix typo in patch 2018-11-07 12:43:43 +01:00
TD-er 29fb32225a [PUYA] share static flash_chip_id among functions 2018-11-07 12:41:32 +01:00
TD-er f90f97e3d0 [PUYA] Fix patch v3 for PUYA support 2018-11-07 12:36:23 +01:00
Gijs NoorlanderandGitHub fd634a12a1 Merge pull request #2005 from TD-er/bugfix/uzi18_puya_patch
[PUYA] Apply generic patch on all builds checking for PUYA flash
2018-11-07 12:13:09 +01:00
TD-er 19b59359e0 [PUYA] Add PUYA patch v3 to check if patch is applied
See: https://github.com/letscontrolit/ESPEasy/pull/2005#issuecomment-436442587
Made by @uzi18
2018-11-07 11:25:12 +01:00
Gijs NoorlanderandGitHub 0fe9566d14 Merge pull request #2010 from uzi18/patch11
Sysinfo update to 4 values
2018-11-07 11:01:54 +01:00
Gijs NoorlanderandGitHub 9e49f6f7b1 Merge pull request #2004 from giig1967g/bug/1977-others
bug fixes
2018-11-07 11:01:34 +01:00
Gijs NoorlanderandGitHub 660377ea02 Merge pull request #2009 from uzi18/patch9
Eastron: Add optional DE PIN configuration
2018-11-07 10:13:30 +01:00
ESPEasy release bot 4e171993ff automatically updated release notes for mega-20181107 2018-11-07 04:00:09 +01:00
Bartlomiej Zimon dfdaa831d5 Sysinfo update to 4 values 2018-11-07 00:52:54 +00:00
Bartlomiej Zimon 946c1a8390 Add optional DE PIN configuration
Add gpio names to form
fix for #1684
2018-11-06 23:51:43 +00:00
TD-er f7c7d176f1 [Travis] Update platformIO packages before build
Since this directory is cached, updates must be applied before building.
2018-11-06 16:58:10 +01:00
TD-er 0a72b711f9 [PUYA] Apply generic patch on all builds checking for PUYA flash
Applied this patch made by @uzi18
https://github.com/esp8266/Arduino/issues/4061#issuecomment-368273656
It is now included in all builds
2018-11-06 15:56:36 +01:00
Gijs NoorlanderandGitHub 2f8962ec52 Merge pull request #1989 from TD-er/cleanup/reduce_flashStrings
[Cleanup] Reduce binary size to allow 1M OTA with minimal plugin set
2018-11-06 12:30:46 +01:00
Plebs b68d91fc58 final cleanup 2018-11-06 11:27:28 +01:00
Gijs NoorlanderandGitHub a8c565ee5f Merge branch 'mega' into cleanup/reduce_flashStrings 2018-11-06 11:27:21 +01:00
Plebs 6f06b57d14 cleaned if from addLog as per uzi18 comment 2018-11-06 11:20:24 +01:00
ESPEasy release bot cf949ab167 automatically updated release notes for mega-20181106 2018-11-06 04:00:10 +01:00
Plebs 21cc1faf25 bug fixes
- Fix for bug #1977 for serial and web sources
- Fix for Publish command not evaluating Formulas
- Fixed addlog commands only when needed
- Fixed logEntry command not showing command line
Fixed nit value of pinstate in P001, P009 and P019
2018-11-05 20:03:33 +01:00
TD-er 99030621b7 [timingstats] Show stats in msec instead of usec. 2018-11-05 17:18:25 +01:00
TD-er 33199ceb12 [timingstats] Improve table layout of timing stats
Highlighting when a timing value exceeds 100 msec.
2018-11-05 16:35:18 +01:00
GrovkillenandGitHub 6175adddd1 [Flasher] fixed ip bug fixed 2018-11-05 12:04:53 +01:00
ESPEasy release bot 35461643ff automatically updated release notes for mega-20181105 2018-11-05 04:00:10 +01:00
TD-er 9397f560dc [timingstats] Disable timing stats in log 2018-11-05 02:00:24 +01:00
TD-er 6de76f8817 [timingstats] Implement HTML table of timing stats
And move to `/timingstats`
All links in the menu use relative paths, so do not use URLs with more than 1 level deep.
2018-11-05 01:53:32 +01:00
Gijs NoorlanderandGitHub ae9deeb702 Merge pull request #1979 from clumsy-stefan/check_client_send
Add sent/return value check to client.print()
2018-11-05 01:21:36 +01:00
Gijs NoorlanderandGitHub 1bdbc97d33 Merge pull request #1992 from Grovkillen/fix_memanalyzer.py
[Memanalyzer] Fix memanalyzer.py
2018-11-05 01:21:08 +01:00
Gijs NoorlanderandGitHub bec97768f4 Merge pull request #1996 from kpalczewski/PioneerSupport
update lib IRremoteESP8266 and add send Pioneer support
2018-11-05 01:20:55 +01:00
TD-er abdc9a0454 [timing stats] Add http://<ip>/stat/timing/json to view timing stats 2018-11-05 01:17:59 +01:00
Gijs NoorlanderandGitHub c9bb2750a3 Merge pull request #1994 from uzi18/patch9
fix for #1986
2018-11-04 21:09:41 +01:00
Bartlomiej Zimon eda3326615 Eastron - save modbus id and enable SDM630 model
partial fix for #1684
2018-11-04 19:05:41 +00:00
TD-er d2644b2da7 [Cleanup] Do not use F-macro for short strings
Got rid of a few kB in the binary image by removing F-macro from numerous 1 or 2 character flash strings.
These very short strings take more space in flash and memory when using the F-macro.

Also appending to a string using a `'a'` character definition takes less resources compared to a one-character string `"a"`.
2018-11-04 01:27:42 +01:00
TD-er 8650bc6aa3 [Cleanup] Increase load speed and lower memory usage rendering web page
The (large) template string was reduced over and over again while parsing for strings to replace.

Now it is using one big string in memory which is not reduced. (and thus taking twice the amount of memory)
2018-11-03 23:39:24 +01:00
TD-er dee5f6df1a [Cleanup] Strip HTML templates into sections to remove duplicate strings 2018-11-03 22:40:57 +01:00
TD-er 0085986701 [OTA] Add ESP8285 1M OTA minimal build 2018-11-03 01:37:42 +01:00
TD-er 7a72836d0f [Cleanup] Make single definition for pin description
- ESP32 could not select GPIO-0 in plugins.
- Only usable pins will be selectable
- Arrow icon will show if GPIO is input or output only
- Added warning sign for pins affecting boot.
- Added RX0/TX0 indicator for GPIO-1 and -3 when serial is enabled.
- Added GPIO-1 and -3 to boot pin state setup, but only selectable when Serial disabled.
- Reduce number of flash strings.
2018-11-03 01:20:50 +01:00
TD-er cec830fe83 [1MB OTA] Add small build to allow for 1MB OTA
Using 128k SPIFFS and 2-step OTA image, it is possible to perform an OTA update on 1 MB nodes.
This 2-step image does not have the ArduinoOTA service running, but does allow for manual upload using web interface.
ArduinoOTA needs 8 kB more, which will not work at the moment.
2018-11-02 09:57:00 +01:00
kpalczewski 894a59e10b bump lib IRremoteESP8266 to 2.5.2 and add send Pioneer support for 035 IR plugin. 2018-11-01 17:24:14 +01:00
stefan e28f46697a Add comment why we check for %256
Added comment to explain why the comparison is done to the length%256
2018-11-01 15:47:54 +01:00
GrovkillenandGitHub 14ced058b5 [Memanalyzer] cmd args are back (un-commented) 2018-11-01 10:09:47 +01:00
Bartlomiej Zimon fabc514f8e fix for #1986 2018-11-01 07:49:45 +00:00
stefan 4ae5e2ce7b Merge remote-tracking branch 'origin/mega' into check_client_send 2018-11-01 08:31:28 +01:00
ESPEasy release bot 0585d48ffa automatically updated release notes for mega-20181101 2018-11-01 04:00:08 +01:00
GrovkillenandGitHub be9a5d622a Merge pull request #1991 from Grovkillen/Flashtool002003
[Flasher] updated flasher (some minor error)
2018-10-31 22:38:20 +01:00
GrovkillenandGitHub 821fcb9e54 [README] removed IRC link... we're not there. 2018-10-31 21:15:14 +01:00
Jimmy Westberg 1a9584134a [Memanalyzer] try to fix the memanalyzer not analyzing all plugins 2018-10-31 20:34:42 +01:00
Jimmy Westberg d2e9337d76 Revert "[Flasher] updated flasher (some minor error)"
This reverts commit 6c5c12a6f2.
2018-10-31 20:29:47 +01:00
Jimmy Westberg 6c5c12a6f2 [Flasher] updated flasher (some minor error) 2018-10-31 20:00:48 +01:00
TD-er 9eb2ebe210 [Cleanup] Minify JavaScript and CSS to reduce sketch size
Sketch size is reduced by 5 - 6 kB
Files are extracted from original source and moved to `static` directory.
2018-10-31 16:25:42 +01:00
Gijs NoorlanderandGitHub 1d5fbd926e Merge pull request #1986 from giig1967g/new/playground
Fixed some bugs and added the possibility to read the user variables with parameter
2018-10-31 12:16:38 +01:00
Gijs NoorlanderandGitHub 4d3ac95e5a Merge pull request #1985 from uzi18/patch-3
BlynkGet add timeout 1,5s.
2018-10-31 12:16:13 +01:00
TD-er 1f1e47530a [Cleanup] Reduce length HTML form data IDs to reduce sketch size
To allow OTA again on 1MB flash units.
2018-10-31 12:08:17 +01:00
TD-er 3b1d26b541 [Cleanup] Reduce build image size by 2k by wrapping flash strings
Only in WebServer.ino.
Looked for the most frequently used strings.
2018-10-31 11:44:51 +01:00
Plebs 8a86ee9b89 Update src/Misc.ino 2018-10-31 09:54:23 +01:00
GrovkillenandGitHub ed592a3a0a [Deploy] "source" folder was named "Source" 2018-10-31 08:53:02 +01:00
GrovkillenandGitHub f2b330424c [README] fixed some \r\n 2018-10-31 08:29:14 +01:00
GrovkillenandGitHub 542a758fde [README] added more info about ESP.Easy.Flasher 2018-10-31 08:28:10 +01:00
stefan 11e4addb41 Merge remote-tracking branch 'origin/mega' into check_client_send 2018-10-31 08:13:39 +01:00
ESPEasy release bot 8921ebbcaa automatically updated release notes for mega-20181031 2018-10-31 04:00:10 +01:00
Plebs d05d669284 Update src/Misc.ino 2018-10-30 23:54:27 +01:00
Bartłomiej ZimońandGitHub 71a6b344e7 BlynkGet add timeout 1,5s. 2018-10-30 23:15:33 +01:00
Gijs NoorlanderandGitHub c67becac0c Merge pull request #1981 from TD-er/feature/ota_warning
[OTA] Add OTA info and disable when not enough space
2018-10-30 22:56:11 +01:00
Gijs NoorlanderandGitHub 0ec06161c5 Merge pull request #1984 from uzi18/patch-2
BlynkGet fix loop #1951
2018-10-30 22:55:40 +01:00
Gijs NoorlanderandGitHub a2b2cd857a Merge pull request #1983 from Grovkillen/UpdateFlashTool
[Flasher] Updated to 0.02.002
2018-10-30 22:49:40 +01:00
Bartłomiej ZimońandGitHub 0e581f0288 BlynkGet fix loop #1951
this commit fix #1951
2018-10-30 22:47:32 +01:00
Jimmy Westberg fffcd0f2a4 [Path] folder rename 2 2018-10-30 22:45:10 +01:00
Jimmy Westberg 1d923a527f [Path] folder rename 1 2018-10-30 22:44:40 +01:00
Jimmy Westberg 356ebbc875 [Flasher] Updated to 0.02.002
Spelling error
2018-10-30 22:35:42 +01:00
Jimmy Westberg 25fadfc1ed [Deploy] small letters are the standard 2018-10-30 22:29:56 +01:00
Jimmy Westberg 54d892e162 [Flasher] Updated to 0.02.001 2018-10-30 22:27:53 +01:00
Jimmy Westberg 007ef78f2b [Deploy] Added sub folder for BIN files
I moved the compiled files to a sub folder (BIN) which makes it auto load if using the ESP.Easy.Flasher.exe
2018-10-30 21:05:09 +01:00
Jimmy Westberg d16daeca56 [Flasher] Added ESP.Easy.Flasher.exe
And moved the bin files to sub folder "BIN"
2018-10-30 20:52:46 +01:00
TD-er 90fdb8f809 [OTA] Add OTA info and disable when not enough space 2018-10-30 15:58:46 +01:00
stefan 383206b149 Add sent/return value check to client.print()
Add a check and debug to client.print() in send_via_http() on sent bytes and fail if not all (or nothing) could be sent to the wifi client
2018-10-30 13:23:32 +01:00
ESPEasy release bot ac20349854 automatically updated release notes for mega-20181030 2018-10-30 04:00:07 +01:00
Gijs NoorlanderandGitHub 1a972d61a6 Merge pull request #1619 from jamestutton/mega
Added Special Case to allow Servo to be disabled
2018-10-30 01:01:17 +01:00
Gijs NoorlanderandGitHub d6cf2e141b Merge pull request #1944 from svmac/mega
P022_PCA9685 Enhancements
2018-10-30 01:00:35 +01:00
Gijs NoorlanderandGitHub 7a2e9ba203 Merge pull request #1978 from TD-er/feature/core_2_4_2
[Core 2.4.2] Set core 2.4.2 as default platform
2018-10-30 00:58:46 +01:00
TD-er e3591aceb2 [Core 2.4.2] Set core 2.4.2 as default platform
Also added separate build using core 2.4.1 for those with PWM issues.
2018-10-30 00:23:36 +01:00
ESPEasy release bot ad3514e765 automatically updated release notes for mega-20181029 2018-10-29 04:00:08 +01:00
Gijs NoorlanderandGitHub f543995d86 Merge pull request #1968 from TD-er/bugfix/increase_ntp_accuracy
[NTP] Improve NTP accuracy
2018-10-29 01:02:09 +01:00
Gijs NoorlanderandGitHub 97ccb8eca1 Merge pull request #1975 from uzi18/patch9
Dallas: use reset timming from OneWire lib
2018-10-29 01:01:51 +01:00
Bartlomiej Zimon f291c9d25a Dallas: use reset timming from OneWire lib 2018-10-28 14:59:50 +00:00
Gijs NoorlanderandGitHub bd9ead3851 Merge pull request #1974 from uzi18/patch9
Dallas: add ScratchPad to debug log
2018-10-28 14:48:29 +01:00
Bartlomiej Zimon 43ea0039fd Dallas: add ScratchPad to debug log - OK suffix means data integrity ok (no communication problems) 2018-10-28 12:50:34 +00:00
ESPEasy release bot 74eb638bcb automatically updated release notes for mega-20181028 2018-10-28 04:00:09 +01:00
TD-er c87b035908 [NTP] Change log level for NTP success to INFO 2018-10-28 01:10:11 +02:00
TD-er 0f450eaa3d [NTP] Improve NTP accuracy
Use fractional part of TX section in NTP packet.
Also compensate for total delay to retrieve answer.

More possibilities for improvement of NTP, see https://github.com/lettier/ntpclient/issues/4#issuecomment-360703503
2018-10-28 00:22:39 +02:00
Gijs NoorlanderandGitHub 02df033fc6 Merge pull request #1967 from TD-er/bugfix/1684_Eastron
[Eastron] Make configurable and allow for multiple values read (#1684)
2018-10-28 00:07:57 +02:00
Gijs NoorlanderandGitHub 74d05e58f0 Merge pull request #1768 from workgroupengineering/feature/cron
[Feature] [Plugin] Cron
2018-10-28 00:07:31 +02:00
ESPEasy release bot 3d88537677 automatically updated release notes for mega-20181027 2018-10-27 04:00:12 +02:00
Gijs NoorlanderandGitHub 95b0a7bed9 Merge pull request #1784 from jazzgil/add-raw-ir-reading
Add IR RAW2 Reading / Transmitting.
2018-10-27 02:45:26 +02:00
Gijs NoorlanderandGitHub bc3434532e Merge pull request #1942 from giig1967g/new/doubleclick-pcf
doubleclick and longpress for PCF and MCP
2018-10-27 02:41:12 +02:00
TD-er 1f7639cb42 [Eastron] Make configurable and allow for multiple values read (#1684)
See #1684
It should now be possible to actually select parameters and configure it from the frontend.

N.B. Not yet tested on real hardware.
2018-10-27 00:49:52 +02:00
Gijs NoorlanderandGitHub 923642bb27 Merge pull request #1966 from uzi18/patch9
CSE7766 - fix stats plus add buffer fill level, #1934
2018-10-26 23:25:21 +02:00
Bartlomiej Zimon a09cb906eb CSE7766 - fix stats plus add buffer fill level 2018-10-26 20:43:31 +00:00
Saverio Cisternino 72b0a32839 [CRON] Fixed Daily flash write rate exceeded! 2018-10-26 09:51:41 +02:00
TD-erandSaverio Cisternino e279e5504b [Cron] Rename plugin name to match naming convention 2018-10-26 09:51:41 +02:00
Saverio Cisternino 6d5ddf06ce [CRON] Intercept event PLUGIN_TIME_CHANGE 2018-10-26 09:51:41 +02:00
Saverio Cisternino 7f544b7a10 [CRON] Add event PLUGIN_TIME_CHANGE 2018-10-26 09:51:41 +02:00
Saverio Cisternino fc407e86e1 [CRON] Plugin 2018-10-26 09:51:41 +02:00
Saverio Cisternino a35c3051df [CRON] Replace timeStruct with standard tm 2018-10-26 09:51:41 +02:00
ESPEasy release bot f8f2ddd33b automatically updated release notes for mega-20181026 2018-10-26 04:00:22 +02:00
Gijs NoorlanderandGitHub 6592b57615 Merge pull request #1934 from uzi18/patch9
fix for #1920
2018-10-25 23:52:04 +02:00
Bartlomiej Zimon 6e8e8214b2 CSE7766 - add some stats to debug log 2018-10-25 20:47:36 +00:00
Gijs NoorlanderandGitHub 24b6611c54 Merge pull request #1956 from workgroupengineering/BugFix/Issue_1995
Fixed plugin timer processing do not start, when call setPluginTaskTimer in PLUGIN_TIMER_IN
2018-10-25 21:37:07 +02:00
Gijs NoorlanderandGitHub 8135defa6f Merge pull request #1957 from TD-er/bugfix/c009_reduce_memory
[C009] Reduce memory usage for C009 controller.
2018-10-25 21:27:18 +02:00
Bartlomiej Zimon d5e9cfb081 Merge branch 'mega' of github.com:letscontrolit/ESPEasy into patch9 2018-10-25 18:17:10 +00:00
TD-er ffc8e1fb97 [C009] Reduce memory usage for C009 controller. 2018-10-25 12:09:49 +02:00
Saverio Cisternino 0255f41897 Fixed plugin timer processing do not start, when call setPluginTaskTimer in PLUGIN_TIMER_IN 2018-10-25 10:24:09 +02:00
ESPEasy release bot e88973861f automatically updated release notes for mega-20181025 2018-10-25 04:00:13 +02:00
Gijs NoorlanderandGitHub d6ec7aa736 Merge pull request #1941 from workgroupengineering/feature/Issue_1794
Added auto redirect to home after run reboot command from web page.
2018-10-25 02:12:08 +02:00
Gijs NoorlanderandGitHub 8aa5866dd9 Merge pull request #1954 from TD-er/bugfix/replace_yield_delay_0
[WDT] Replace yield() with delay(0)  & add Sonoff POW R2 build
2018-10-25 02:11:15 +02:00
TD-er 0c384c332e [Travis] Use variables even when no predefined plugins are added. 2018-10-25 01:54:00 +02:00
TD-er 7a4f3b15b3 [Info] Remove MD5 check fail on self-built images
And add in bold a statement it is self built.
2018-10-25 01:43:26 +02:00
TD-er c38e532e67 [Sonoff] Add pre-defined switch and relay + rules on factory reset
Define `GPIO_KEY1` containing GPIO number to get a pre-configured button input on factory reset.

Define `GPIO_REL1` containing GPIO number to get a pre-configured relay on factory reset.

When couple of `GPIO_KEY1` and `GPIO_REL1` is defined, a rule matching both will be added.
This is defined for 1...4
2018-10-25 01:28:25 +02:00
TD-er f983dd924d [Build] Add Sonoff POW R2 (4MB)
Sonoff POW R2 has 4 MB flash. So this needs a separate build, compared to the regular POW.
2018-10-24 20:44:48 +02:00
TD-er f0ff52b76b [WDT] Change yield() to delay(0)
`delay(0)` is a special case of delay, which also calls the system scheduler, `yield()` does not call.
It may interrupt a bit more than `yield()` 

See #1950
2018-10-24 13:25:36 +02:00
Plebs 3c0e5d1965 fixed as requested
- Fixed bootstate logic and inversed logic
- added selected events for doubleclick and longpress
- fixed log messages
- cleaned code
2018-10-23 23:45:23 +02:00
Bartlomiej Zimon 14489a2e98 optimization - remove double checksum check 2018-10-23 19:53:36 +00:00
Bartlomiej Zimon a920b95cfb move to PLUGIN_SERIAL_IN from PLUGIN_TEN_PER_SECOND - serial commandline uses our data 2018-10-23 15:52:27 +00:00
Saverio Cisternino a111175a8f Added auto redirect to home after run reboot command from web page. 2018-10-23 09:14:31 +02:00
svmac 4fd2166b5e P022_PCA9685 Enhancements
Added freq setting
Added mode2 command and setting
Added range command and setting
2018-10-23 05:06:23 +02:00
ESPEasy release bot db76aeb959 automatically updated release notes for mega-20181023 2018-10-23 04:00:14 +02:00
Gijs NoorlanderandGitHub b313957311 Merge pull request #1943 from TD-er/bugfix/pubsubclient_fixes
Bugfix/pubsubclient fixes
2018-10-23 02:09:38 +02:00
TD-er 9d0f741e84 [Docs] Add some WiFi related information to docs
Last week I added this text in a discussion on an issue.
It is also useful in the documentation so keep a copy there.
2018-10-23 01:48:26 +02:00
TD-er 7c0f1551b8 [WiFi timeout] Set default to 1000 msec again
Lower values might give strange issues
2018-10-23 01:45:33 +02:00
TD-er 8a59811392 [PubSubClient] Add delay when waiting for data and flush on disconnect
Applied suggestions:
- https://github.com/knolleary/pubsubclient/pull/472
- https://github.com/knolleary/pubsubclient/pull/495
2018-10-23 01:44:22 +02:00
Plebs e2e715d7de final fixes 2018-10-22 23:31:49 +02:00
Bartlomiej Zimon ccb4cf6a7a move to PLUGIN_TEN_PER_SECOND
update comments
2018-10-22 21:19:00 +00:00
Plebs 1b4a217bc9 fixed a display bug 2018-10-22 23:07:00 +02:00
Plebs 19ecf36358 doubleclick and longpress for PCF and MCP
Added doubleclick and longpress events for PCF (P019) and MCP (P009)
2018-10-22 22:30:20 +02:00
Bartlomiej Zimon bdea34a583 CSE7766 add online checksumming, autosyncing without data loos 2018-10-22 19:54:58 +00:00
Gijs NoorlanderandGitHub b7b5028c0c Merge branch 'mega' into add-raw-ir-reading 2018-10-22 20:05:59 +02:00
Gijs NoorlanderandGitHub c519d887db Merge pull request #1932 from TD-er/bugfix/1486_rotary_encoder
[#1486] Allow multiple instances of rotary encoder
2018-10-22 19:58:07 +02:00
Gijs NoorlanderandGitHub 29c8b850ba Merge pull request #1930 from Kurairaito/patch-1
Allow multiple instances of _P067_HX711_Load_Cell
2018-10-22 13:01:09 +02:00
Gijs NoorlanderandGitHub d01cb9b9a2 Merge pull request #1933 from TD-er/bugfix/Javascript_update_device_values
[JavaScript] Fix update values on Devices tab
2018-10-22 10:59:29 +02:00
ESPEasy release bot 9d894d7c83 automatically updated release notes for mega-20181022 2018-10-22 04:00:15 +02:00
Bartlomiej Zimon a418cb2bd0 Ser2Net catch serial data only if plugin used 2018-10-21 18:51:43 +00:00
Bartlomiej Zimon 907a672fa0 CSE7766 uses 8E1 serial connection 2018-10-21 18:50:57 +00:00
TD-er 2f10274da2 [JavaScript] Cleanup some code duplication 2018-10-21 17:01:55 +02:00
TD-er 399b344779 [JavaScript] Fix update values on Devices tab
Not all plugins have all values.
Now the JavaScript code checks if a DOM element exists before updating its value.
2018-10-21 16:47:06 +02:00
TD-er 2e06ed14c0 [#1486] Allow multiple instances of rotary encoder
Used same procedure as for P013 ultrasonic
See #1486
2018-10-21 15:51:36 +02:00
KurairaitoandGitHub b0032bebdb Update _P067_HX711_Load_Cell.ino
Reduce Ram footprint by using map vector instead of array
2018-10-21 13:41:40 +02:00
KurairaitoandGitHub a525ec34b0 Update _P067_HX711_Load_Cell.ino
Make it compatible when instantiated multiple time
2018-10-21 12:46:26 +02:00
Gijs NoorlanderandGitHub 024ec7b727 Merge pull request #1928 from TD-er/bugfix/reduce_webserver_strings
Reduce webserver strings
2018-10-21 11:12:52 +02:00
ESPEasy release bot 1ff0141e38 automatically updated release notes for mega-20181021 2018-10-21 04:00:16 +02:00
Gijs NoorlanderandGitHub 125db8046b Merge pull request #1927 from TD-er/feature/1870_build_sysino
[#1870] Feature request build date as system info
2018-10-21 01:20:51 +02:00
TD-er 720317c829 [Webserver] Uniform row labels to reduce flash string size 2018-10-21 01:18:43 +02:00
TD-er bbe9005a32 [Webserver] Generate copyText id names
Reduce amount of flash strings to reduce build file size
2018-10-21 00:05:31 +02:00
Gijs NoorlanderandGitHub afa16e80b6 Merge pull request #1923 from TD-er/bugfix/wifi_stability
Various network stability fixes and reduce memory usage when saving settings
2018-10-20 23:09:50 +02:00
Gijs NoorlanderandGitHub 37f5c92aa7 Merge pull request #1926 from TD-er/bugfix/1891_multiple_values
[#1891] Send all values for Generic UDP controller
2018-10-20 23:08:05 +02:00
TD-er 684b89ae4c [#1870] Feature request build date as system info
See #1870
Added:
- %sysbuild_date%
- %sysbuild_time%
2018-10-20 23:05:59 +02:00
TD-er 8c4612c300 [#1891] Send all values for Generic UDP controller
See https://github.com/letscontrolit/ESPEasy/issues/1891#issuecomment-431612051

A copy of the element from the queue was used, not a reference to it.
Therefore increasing the internal counter to send the next value was only executed on the copy, not the element in the list.
2018-10-20 22:34:11 +02:00
Gijs NoorlanderandGitHub 0afab53659 Merge pull request #1925 from TD-er/revert/1924_pull_request
Revert "fix for #1920"
2018-10-20 20:05:22 +02:00
Bartlomiej ZimonandTD-er e6e98345fe Revert "fix for #1920"
This reverts commit 3f84c35014.
2018-10-20 20:03:56 +02:00
Gijs NoorlanderandGitHub 2394e4a75f Merge pull request #1924 from uzi18/patch9
fix for #1920
2018-10-20 18:51:05 +02:00
ESPEasy release bot e1c4691325 automatically updated release notes for mega-20181020 2018-10-20 04:00:16 +02:00
Bartlomiej Zimon 3f84c35014 fix for #1920
fix for out of sync, check both header bytes
proper check for abnormal state
2018-10-19 22:40:11 +00:00
TD-er bc0bafa96b [#1910] Notification settings extra strings on stack
See #1910
Added a lot more of these changes and changed the input fields of the Notification Settings to be the same as all input fields in other places.
2018-10-20 00:20:58 +02:00
TD-er 4e7e66822d [Rules] Early exit on rules processing when rules not enabled 2018-10-20 00:20:58 +02:00
TD-er 6f226e6d65 Proper look for connection.
See discussion here: https://github.com/esp8266/Arduino/issues/5257
2018-10-20 00:20:58 +02:00
TD-er a50a035238 [stack usage] Allocate temp char array on heap for parsing arguments
These char arrays were rather large, so allocate on heap instead of char[240] on the stack.
Also re-order elements in not stored structs to reduce memory usage
2018-10-20 00:20:58 +02:00
Gijs NoorlanderandGitHub d560c635f5 Merge pull request #1922 from kpalczewski/mega
add support for 64bit IR codes.
2018-10-20 00:05:31 +02:00
kpalczewski f8db0c0a05 add support for 64bit IR codes. 2018-10-19 22:34:04 +02:00
Gijs NoorlanderandGitHub 79616022df Merge pull request #1919 from giig1967g/new/statusvariables
added 4 variables to verify the system status
2018-10-19 22:15:26 +02:00
Gijs NoorlanderandGitHub 559d294607 Merge branch 'mega' into new/statusvariables 2018-10-19 21:36:45 +02:00
Gijs NoorlanderandGitHub d2588c5e01 Merge pull request #1848 from giig1967g/new/plugin_pcf
Added [plugin#pcfgpio#pinstate#xx] and [plugin#mcpgpio#pinstate#xx]
2018-10-19 21:34:18 +02:00
Gijs NoorlanderandGitHub ba45a51576 Merge pull request #1884 from giig1967g/new/uservars
added Global Variables for rules
2018-10-19 21:33:10 +02:00
Gijs NoorlanderandGitHub 8321caaeed Merge branch 'mega' into new/statusvariables 2018-10-19 21:31:18 +02:00
Gijs NoorlanderandGitHub b35ed7d809 Merge pull request #1880 from giig1967g/doubleclick
DEBOUNCE, DOUBLECLICK and LONGPRESS events for PLUGIN001
2018-10-19 21:23:22 +02:00
Plebs a4583d150e added 4 variables to verify the system status
4 new system variables:
%iswifi% (=1 if wifi is connected)
%isntp% (=1 if NTP has been initialized)
%ismqtt% (=1 if mqtt is connected)
%ismqttimp% (=1 if mqtt import is connected)

Example:
if %isntp%=1 and %systime%>%sunset% do
....
endif
2018-10-18 17:44:05 +02:00
ESPEasy release bot cadc0a885d automatically updated release notes for mega-20181017 2018-10-17 04:00:18 +02:00
Gijs NoorlanderandGitHub 061eb20ae5 Merge pull request #1914 from TD-er/bugfix/reduce_stack
[#1906] Move Notification and Controller settings to heap
2018-10-17 00:40:30 +02:00
TD-er 9a9799eee7 [Stack] Add Free Stack to System Info plugin 2018-10-17 00:04:22 +02:00
Gijs NoorlanderandGitHub f4615bb76b Added checklist to the Issue_template
Lately a lot of new issues were non-descriptive and the same basic questions were to be asked over and over again.
These are now included in this template.
2018-10-16 23:02:33 +02:00
TD-er ecc498c359 [#1906] Allocate ControllerSettings on the heap
See #1906
2018-10-16 12:24:06 +02:00
TD-er e0e10fa6c8 [#1906] Allocate NotificationSettings on the heap
See #1906
2018-10-16 11:47:46 +02:00
ESPEasy release bot 228f09f394 automatically updated release notes for mega-20181016 2018-10-16 04:00:06 +02:00
Gijs NoorlanderandGitHub 19ac19778b Merge pull request #1909 from giig1967g/bug/toggle
Fix for "togglegpio" without gpio initialization
2018-10-16 01:11:46 +02:00
Gijs NoorlanderandGitHub 5e2d517ba2 Merge pull request #1913 from TD-er/bugfix/revert_safe_strncpy
[Revert] Safe_strncpy cannot be used as generic strncpy replacement
2018-10-16 01:09:59 +02:00
TD-er 7a4b17983e [Revert] Safe_strncpy cannot be used as generic strncpy replacement
It does do more. So only use it to convert Strings to single char arrays.
2018-10-16 00:11:17 +02:00
Plebs 6eba74ccc1 Fix for togglegpio without gpio initialization 2018-10-15 17:34:35 +02:00
ESPEasy release bot 27a05b674c automatically updated release notes for mega-20181015 2018-10-15 04:00:10 +02:00
Gijs NoorlanderandGitHub 4a66bbf081 Merge pull request #1905 from TD-er/bugfix/safe_strncpy
[safe strncpy] Add warning when entered string is too large
2018-10-15 00:52:34 +02:00
TD-er 109bddb5c3 [safe strncpy] Add warning when entered string is too large
Started with this issue:
"Framed Oled Display mixing up multiple values in different lines" #1904

Now almost all calls to `strncpy` are replaced with this safe variant which does some checking and zero-ing the buffer.
2018-10-15 00:24:57 +02:00
Gijs NoorlanderandGitHub 8158a919d8 Merge pull request #1879 from giig1967g/bug/1864
fix for bug #1864
2018-10-14 10:35:19 +02:00
ESPEasy release bot 706b91168b automatically updated release notes for mega-20181014 2018-10-14 04:00:13 +02:00
Gijs NoorlanderandGitHub d047999c5e Merge pull request #1901 from TD-er/bugfix/warn_incomplete_IPsettings
[UX] Warn user for incomplete network IP settings
2018-10-14 00:59:37 +02:00
Gijs NoorlanderandGitHub 42f361aacd Merge pull request #1902 from TD-er/bugfix/1895_I2C
[#1895] Incorrect number bytes read I2C_read32_reg
2018-10-14 00:43:15 +02:00
TD-er 3dd076cf25 [#1895] Incorrect number bytes read I2C_read32_reg
See #1895
2018-10-14 00:42:03 +02:00
TD-er c0d155dd99 [UX] Warn user for incomplete network IP settings
Was a left-over remark in #1291
2018-10-14 00:22:46 +02:00
Gijs NoorlanderandGitHub c433174d71 Merge pull request #1900 from TD-er/bugfix/time_initialized_event
Time#Initialized event in rules before %syshour% is set
2018-10-13 23:37:04 +02:00
Gijs NoorlanderandGitHub b805b59baf Merge pull request #1899 from TD-er/bugfix/controller_check_reply
Fix send only first value by controller (#1891 #1892 #1835)
2018-10-13 23:07:32 +02:00
Gijs NoorlanderandGitHub 9fae0477d8 Merge pull request #1894 from letscontrolit/feature/1799_SSID_mainpage
[#1799] Add SSID to main page
2018-10-13 23:06:55 +02:00
TD-er f7ac04dc96 Time#Initialized event in rules before %syshour% is set
See [forum](http://www.letscontrolit.com/forum/viewtopic.php?f=6&t=5819&p=31376&hilit=Initialized#p31376) and [other report of same issue](https://www.letscontrolit.com/forum/viewtopic.php?t=5925)
2018-10-13 23:05:35 +02:00
TD-er d50e661efb [Controller] Fix send only first value
See #1891 #1892 #1835
Added an extra option to explicitly check the reply  on sent messages by a controller.
2018-10-13 22:21:36 +02:00
Plebs 57b5338af6 Update src/StringConverter.ino 2018-10-12 15:00:58 +02:00
Plebs bd035c8f81 optimizations 2018-10-12 12:52:22 +02:00
Plebs ac63d93e1a Update src/_P001_Switch.ino 2018-10-12 12:10:10 +02:00
Plebs 4cff0d0e02 Update src/_P001_Switch.ino 2018-10-12 10:16:54 +02:00
TD-er ca83983fd2 [#1891] Generic UPD controller - send only first value from sensor
See #1891
2018-10-12 01:04:46 +02:00
Gijs NoorlanderandGitHub d808f7e79b [#1799] Add SSID to main page
See #1799
2018-10-12 00:57:08 +02:00
Plebs e469350ad9 modified command and variable name 2018-10-11 19:23:42 +02:00
Plebs 60536b1a93 some optimizations 2018-10-11 12:23:08 +02:00
Plebs b9e45bd515 fixed length check 2018-10-11 12:16:55 +02:00
Plebs a0992b8383 fixes 2018-10-11 11:50:37 +02:00
Plebs 9315581858 some fixes 2018-10-11 11:37:15 +02:00
ESPEasy release bot 9a763303ca automatically updated release notes for mega-20181011 2018-10-11 04:00:24 +02:00
Gijs NoorlanderandGitHub 7df9379f47 Merge pull request #1886 from TD-er/bugfix/reduce_memory_usage
Bugfix/reduce memory usage & improve load ExtraTaskSettings check
2018-10-11 01:48:31 +02:00
Plebs c32fe50521 Update src/_P023_OLED.ino 2018-10-10 23:28:34 +02:00
Plebs e4569b26f7 added global variables for rules
Added a new command:
customvar,x,y
that stores in a system variable %customvarx% the value 'y'.

Values are float
2018-10-10 23:19:09 +02:00
TD-er 48998886fe [WebLog] Disable weblog when it is not being read
This will prevent log items being generated when web log level is the highest level and it will clear the web log buffer to free memory.
2018-10-10 20:23:10 +02:00
Plebs 36f97d7909 some fixes 2018-10-10 19:24:45 +02:00
TD-er 0e3b9c9e47 [Travis Doc] Remove building documentation by Travis
It seems to break the nightly builds, so remove for now.
2018-10-10 15:54:34 +02:00
ESPEasy release bot acecff4108 automatically updated release notes for mega-20181010 2018-10-10 04:00:09 +02:00
TD-er 3322b954a7 Make sure to load ExtraTaskSettings when needed
There is only 1 `ExtraTaskSettings` object, so make sure it is always in sync.
2018-10-10 01:29:38 +02:00
TD-er 4c4b844a4d [Controller] Set default timeout to 300 msec (was 100 msec)
300 msec should be enough for most online services like `cloudmqtt.com`
2018-10-10 00:19:26 +02:00
Gijs NoorlanderandGitHub cf4d28eb4f Merge pull request #1877 from giig1967g/new/pcfinvertstate
Fix for #1767
2018-10-10 00:05:11 +02:00
TD-er 555b5386ae [C009] Reduce memory usage of FHEM HTTP delay queue
The entire JSON string was stored in the queue element, but lot of it can be computed later.
2018-10-09 23:52:46 +02:00
Plebs 1903fdc7f2 fix for bug #1864
Removed '.' check
2018-10-09 18:16:15 +02:00
Plebs 918353461e Update src/_P001_Switch.ino 2018-10-09 16:31:55 +02:00
Plebs e648a20fd0 Update src/_P019_PCF8574.ino 2018-10-09 16:24:13 +02:00
Plebs 1d7ea5e129 Update src/_P001_Switch.ino 2018-10-09 14:58:21 +02:00
Plebs 6ce5240dd7 few changes 2018-10-09 09:34:50 +02:00
ESPEasy release bot 692fb248ce automatically updated release notes for mega-20181009 2018-10-09 04:00:18 +02:00
Gijs NoorlanderandGitHub 5a87397ee0 Merge pull request #1872 from TD-er/bugfix/JSON_newline
Bugfix/json newline and memory allocation optimizations.
2018-10-09 01:14:50 +02:00
TD-er 99ba09b024 [StringConverter] Some optimisations to reduce memory allocation 2018-10-09 01:11:45 +02:00
Plebs 3dea091d21 small fixes 2018-10-09 00:20:27 +02:00
Plebs ca13317cbd Update src/_P001_Switch.ino 2018-10-09 00:12:50 +02:00
TD-er f68516d5bb [LWIP1.4] Move back to LWIP1.4
The combination LWIP1.4 and core 2.4.1 were used until begin of May and those were considered stable.
2018-10-08 23:56:55 +02:00
TD-er 8102a0096d [JSON] Replace \n and \r in text fields
Those are not allowed in strings in JSON.
This leads to (web) log viewer crashing.
2018-10-08 23:44:44 +02:00
Plebs 73cec59bd5 Update src/_P001_Switch.ino 2018-10-08 22:30:02 +02:00
Gijs NoorlanderandGitHub 96ecf9bf29 Merge pull request #1871 from TD-er/bugfix/travis_check_for_docs
[Docs] Disable travis_terminate for now
2018-10-08 21:05:55 +02:00
TD-er ef1e371514 [Docs] Disable travis_terminate for now
Apparently `travis_terminate` does not exist anymore as a command to stop the script without failing.
2018-10-08 19:29:56 +02:00
Gijs NoorlanderandGitHub 45d67292a3 Merge pull request #1869 from TD-er/feature/travis_build_docs
Feature/travis build docs
2018-10-08 16:38:16 +02:00
TD-er b5662baad4 [Docs] Run Travic documentation check before compiling project 2018-10-08 16:04:12 +02:00
TD-er 12c3e5f81f [Docs] Add Travis check for documentation and stop build for docs only
Let Travis build the documentation and prevent full build when only documentation changed.
2018-10-08 15:34:02 +02:00
TD-er dececf24ee [Docs] Add favicon to documentation 2018-10-08 15:31:48 +02:00
ESPEasy release bot 3fb6dec382 automatically updated release notes for mega-20181008 2018-10-08 04:00:09 +02:00
Gijs NoorlanderandGitHub cef962c5f1 Added link to ReadTheDocs 2018-10-08 00:05:58 +02:00
Gijs NoorlanderandGitHub cca2335070 Merge pull request #1868 from TD-er/feature/update_sphinx_docs
[Docs] Added some directory structure and template
2018-10-08 00:01:07 +02:00
TD-er ffd0d26ed3 [Docs] Added some directory structure and template 2018-10-08 00:00:27 +02:00
Plebs 9b457ed77b some code optimizations 2018-10-07 23:12:23 +02:00
GrovkillenandGitHub f787a9a9a6 [Sphinx] added extension "sphinx.ext.imgconverter" 2018-10-07 19:11:49 +02:00
Gijs NoorlanderandGitHub a0ae104794 Merge pull request #1865 from TD-er/feature/sphinx_docs
Feature/sphinx docs
2018-10-07 18:26:06 +02:00
TD-er 2b78810457 [Docs] First ESPEasy documentation (Controllers) 2018-10-07 18:23:25 +02:00
TD-er 43081c3ac8 [Sphinx] Initial setup for Sphinx documentation 2018-10-07 17:09:52 +02:00
ESPEasy release bot 33281c08c2 automatically updated release notes for mega-20181007 2018-10-07 04:00:09 +02:00
Gijs NoorlanderandGitHub 461aee26ad Merge pull request #1861 from TD-er/feature/debug_esp32_wrover_kit
Move stack to user memory space and close file handles + Add WROVER dev kit debug support
2018-10-06 23:19:18 +02:00
Gijs NoorlanderandGitHub 2b0b14b2e8 Merge pull request #1853 from blenk92/XSS
Fix XSS-Vulnerabilites on wifi configuration pages
2018-10-06 22:56:47 +02:00
Gijs NoorlanderandGitHub b7404666b1 Merge pull request #1851 from blenk92/mega
Force slash to be converted in htmlEscape
2018-10-06 22:56:37 +02:00
Gijs NoorlanderandGitHub da25aa87dd Merge pull request #1733 from giig1967g/new/invertvalue
Add four new TOGGLE commands
2018-10-06 22:55:57 +02:00
TD-er 10a1e634e2 [SPIFFS] Make sure to close open files on SPIFFS 2018-10-06 22:36:41 +02:00
TD-er 83f86449b9 [Stack] Move Arduino 'cont' stack into user RAM
As suggested [here](https://github.com/letscontrolit/ESPEasy/pull/1858#issuecomment-427578956) the previous used flag may also enable WPS.
So I used [this suggestion](https://github.com/esp8266/Arduino/issues/5148#issuecomment-424334261) to only re-allocate the stack at link time.
2018-10-06 20:01:39 +02:00
TD-er eee337d3e3 [ESP32] Allow Wrover dev kit to be used for PIO debug
Initial setup to be able to debug ESP32 Wrover dev kit from within Visual Studio Code + PIO plus.
2018-10-06 18:31:17 +02:00
ESPEasy release bot c549ecd329 automatically updated release notes for mega-20181006 2018-10-06 04:00:13 +02:00
Gijs NoorlanderandGitHub d9e682668d Merge pull request #1858 from TD-er/bugfix/increase_stack_5k
[Stack] Increase stack to 5k and reduce stack allocations in rules
2018-10-06 00:57:31 +02:00
TD-er e38072ac24 [Build flags] Remove NO_EXTRA_4K_HEAP
Core is now set to 2.4.1 again, so this flag is not needed anymore.
Also not sure if it did fix something in 2.4.2 core.
2018-10-06 00:53:53 +02:00
TD-er 6aebeba5dc [WiFi] Add delay to connection attempts in ControllerSettings
As suggested by @s0170071 [here](https://github.com/letscontrolit/ESPEasy/issues/1774#issuecomment-425038026)
2018-10-06 00:50:43 +02:00
TD-er da01c8f469 [Stack] Increase stack to 5k and reduce stack allocations in rules
Removed some unneeded stack allocations of 240 bytes in the rules processing.

Also gave the `process_system_event_queue()` a bit more priority to make sure it will be looked at at least once every 500 msec.
2018-10-05 00:52:22 +02:00
Plebs d3c86b9824 code optimization 2018-10-04 12:07:32 +02:00
Plebs 9621a91d90 added [plugin#mcpgpio#pinstate#xx] 2018-10-04 11:31:49 +02:00
ESPEasy release bot b3b68856f0 automatically updated release notes for mega-20181004 2018-10-04 04:00:08 +02:00
Max bec5cb5334 Fix XSS-Vulnerabilites on wifi configuration pages
Add escaping of wifi network names that can be discovered using the search
functionality of for instantce the /setup page. As these names are also used
inside an html tag, a stronger html encoding variant has been added.
2018-10-04 03:19:09 +02:00
Gijs NoorlanderandGitHub bda6011390 Merge pull request #1852 from TD-er/bugfix/wificlient_timeout
[#1830] WiFi client timeout & back to core 2.4.1
2018-10-04 00:56:09 +02:00
Gijs NoorlanderandGitHub f3fdb93a52 Merge pull request #1831 from JojoS62/mega
[P013_HCSR04] added error checking and logging
2018-10-04 00:54:02 +02:00
Gijs NoorlanderandGitHub 200b060b15 Merge pull request #1846 from thomastech/mega
Update _P075_Nextion.ino
2018-10-04 00:51:44 +02:00
Gijs NoorlanderandGitHub ff41cb2f94 Merge pull request #1849 from uzi18/patch9
- partial fix for #1723
2018-10-04 00:51:03 +02:00
TD-er c134eb6d13 [Core 2.4.1] Move back to core 2.4.1 from 2.4.2
PlatformIO `espressif8266@1.7.3` instead of `espressif8266@1.8.0`
2.4.2 has a lot of improvements like 4k of extra free memory.
But also the number of hardware watchdog reboots has increased a lot and the PWM related code no longer seems to work on 2.4.2
So for now, back to 2.4.1 library.
2018-10-04 00:24:28 +02:00
TD-er f9e2a211e1 [WiFiClient] Set timeout and make it configurable for controllers
The default timeout for wificlient is 1000 msec. This may cause all kind of strange effects when the node is being blocked for so long.
2018-10-04 00:21:00 +02:00
Max bd3d3f66f4 Force slash to be converted in htmlEscape
According to the owasp XSS prevention cheat sheet it is also necessary to encode / as it may helps to end html entities
(Source https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#RULE_.231_-_HTML_Escape_Before_Inserting_Untrusted_Data_into_HTML_Element_Content)
2018-10-03 23:58:24 +02:00
Bartlomiej Zimon 3bad683211 - partial fix for #1723 2018-10-03 21:13:56 +00:00
TD-er 68f6e913a2 [sendHttp] #1830 Set timeout and early exit on timeout reached
See #1830
2018-10-03 23:10:47 +02:00
Plebs 0b9c550fd7 Added [plugin#pcfgpio#pinstate#xx]
Added [plugin#pcfgpio#pinstate#xx] variable for rules
2018-10-03 22:49:11 +02:00
Plebs 96420faa2f added "mcpgpiotoggle" command 2018-10-03 22:07:42 +02:00
ThomasandGitHub 8eea77e4ed Update _P075_Nextion.ino (#1)
Added DEBUG_LOG define to reduce info log messages and prevent serial log flooding.
Added SendStatus() to post log message on browser to acknowledge HTTP write.
Added reserve() to minimize string memory allocations.
2018-10-03 09:02:02 -07:00
JojoS62 3d1f723787 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into mega 2018-10-03 15:27:40 +02:00
JojoS62 5d459003e4 fixed 'unused variable' warning 2018-10-03 15:19:19 +02:00
JojoS62 ad208c357c code clean up
added default for filter size = 5.
clode clieanup: using constants, read setting into local vars for better readability,
2018-10-03 14:33:17 +02:00
ESPEasy release bot b1c777e6fd automatically updated release notes for mega-20181003 2018-10-03 04:00:18 +02:00
JojoS62 f5ab15c255 max distance depends on measurement unit
setting is in user units, ping function needs cm. Conversion added.
added unit to log output.
2018-10-02 17:41:23 +02:00
JojoS62 001ec6dcd2 added more settings: unit, filtertype and size
Measuring unit can be changed bewtween metric/imperial
Filtertype can none or median. If median a filtersize can be set.
Meauring value time to distance conversion now as float division, resulting in a higher resolution output.
2018-10-02 17:00:22 +02:00
JojoS62 15e5edccd8 added float calculation for time to distance conversion
returns higher resolution, especially for measuring in inches the integer resolution was low.
2018-10-02 16:57:33 +02:00
Gijs NoorlanderandGitHub 651353cc99 Merge pull request #1842 from crankyoldgit/patch-2
Acknowledge credit & origin of code used in _P016IR.ino
2018-10-02 13:41:35 +02:00
Gijs NoorlanderandGitHub 85f97551c5 Merge pull request #1841 from crankyoldgit/patch-1
Acknowledge credit & origin of code used in IRTX
2018-10-02 13:41:23 +02:00
David ConranandGitHub 6a158f68f5 Acknowledge credit & origin of code used in _P016IR.ino
FYI @TD-er

Ref: https://github.com/letscontrolit/ESPEasy/pull/1645#issuecomment-422253497
2018-10-02 21:36:18 +10:00
David ConranandGitHub 1933714de5 Acknowledge credit & origin of code used in IRTX
FYI @TD-er

Ref: https://github.com/letscontrolit/ESPEasy/pull/1645#issuecomment-422253497
2018-10-02 21:29:57 +10:00
ESPEasy release bot 545117ddf7 automatically updated release notes for mega-20181002 2018-10-02 04:00:29 +02:00
Gijs NoorlanderandGitHub 8eb479c411 Merge pull request #1837 from TD-er/bugfix/schedule_commands_yield
[Stack] Report stack usage on ESP32 and increase stack for ESP8266normal
2018-10-01 23:27:07 +02:00
TD-er b39f51ca3c [Stack] Report stack usage on ESP32 and increase stack for ESP8266normal
Stack usage on ESP32 is querying current stack, not statistics per RTOS task.
2018-10-01 22:15:32 +02:00
Gijs NoorlanderandGitHub 4511e08d3c Merge pull request #1805 from giig1967g/new/parse
split parseTemplate function
2018-10-01 17:12:21 +02:00
Gijs NoorlanderandGitHub 086e836956 Merge pull request #1836 from TD-er/feature/esp32_pio_1_4_0
[ESP32] Update to platform espressif32@1.4.0
2018-10-01 17:10:45 +02:00
Gijs NoorlanderandGitHub 3e20f617ea Merge pull request #1827 from TD-er/bugfix/DTH_Si7021_reading_stability
[#1798] Bugfix Sonoff Si7021 stability
2018-10-01 17:10:23 +02:00
TD-er 8d9aacb6a4 [ESP32] Update to PIO espressif32@1.4.0
[ESP32 IDF 3.1](https://github.com/espressif/esp-idf/releases/tag/v3.1)
[ESP32 PIO 1.4.0](https://github.com/platformio/platform-espressif32/releases/tag/v1.4.0)
2018-10-01 16:34:21 +02:00
TD-er 0670fa98a6 [ESP32] Add default partition table for reference 2018-10-01 16:32:20 +02:00
ESPEasy release bot 2b3d1517c9 automatically updated release notes for mega-20181001 2018-10-01 13:13:13 +02:00
Gijs NoorlanderandGitHub 0be79759d1 Merge pull request #1834 from TD-er/bugfix/detect_large_stack_allocs
[Stack] Move Arduino stack back to top of System stack instead of overlap
2018-10-01 01:25:38 +02:00
TD-er d47bede215 [Stack] Revert move Settings from stack to heap
Apparently the settings are allocated on the system stack and not on the Arduino stack.
This means it takes a lot of ram when allocated on the heap. So move it back to the system stack.
2018-10-01 00:51:04 +02:00
TD-er 2988a244b2 [Stack] Check if a block sent to save on SPIFFS is stack allocated 2018-10-01 00:42:01 +02:00
TD-er 8d87dc0175 [Heap] Use NO_EXTRA_4K_HEAP to get old stack address space
Originally the Arduino stack was placed on top of the system stack.
But since the system stack is mostly empty, it was decided to shift the Arduino stack to overlap the system stack to save an extra 4k of memory.

However, since a lot of Watchdog timer reboots are reported lately, this optimisation will now be reverted to see if it will improve stability.
This will use about 4k more RAM.
2018-10-01 00:40:55 +02:00
Gijs NoorlanderandGitHub 21c86e666a Merge pull request #1829 from TD-er/feature/1824_stack_stats
[#1824] Show stack size on main page
2018-09-30 19:37:16 +02:00
JojoS e6fdd3380a added error checking and logging
there were several errors that all resulted in a distance value reading of 0. Added an errorState that is printed to the log and helps troubleshooting.
Max. Distance checking can be turned off by setting max distance to 0 cm. If max. distance is used, exceeding the range will return a distance of 0 cm and print this to the log.
2018-09-30 15:23:36 +02:00
TD-er e04f71ab47 [#1824] Show stack size on main page
See #1824
2018-09-30 09:32:01 +02:00
ESPEasy release bot 90ae0720cf automatically updated release notes for mega-20180930 2018-09-30 04:00:24 +02:00
Gilad Raz 4ec2af24a3 Increased buffer size. Added constants. 2018-09-30 01:10:55 +03:00
TD-er c8ecd8d374 [#1798] Bugfix Sonoff Si7021 stability
See #1798
2018-09-29 22:50:24 +02:00
Gijs NoorlanderandGitHub 7a451dd672 Merge pull request #1825 from TD-er/bugfix/proper_default_settings
Bugfix/proper default settings
2018-09-29 15:39:21 +02:00
Gijs NoorlanderandGitHub b06f6aa360 Merge pull request #1823 from JojoS62/mega
minor change: unit was missing for threshold in 'state' mode
2018-09-29 15:06:36 +02:00
TD-er 6b67415c71 [Defaults] Other default initializations 2018-09-29 15:05:10 +02:00
JojoS b095465d3a minor change: unit was missing for threshold in 'state' mode 2018-09-29 14:09:03 +02:00
Gijs NoorlanderandGitHub 81a5d911ba Merge pull request #1809 from JojoS62/mega
fixed distance reading
2018-09-29 13:38:44 +02:00
TD-er 48060d8d99 [Default Settings] Properly clear settings when reset to default 2018-09-29 12:40:29 +02:00
JojoS d303fa023f changed implementation to use shared_ptr instead of helper structure
this makes it easier to use this as a template for other sensors. No additional helper class/structure is needed.
2018-09-29 11:58:57 +02:00
JojoS 29b0cc1b32 removed sensordefs helper structure
to simplify the code
2018-09-27 22:00:01 +02:00
JojoS 584abd1e75 on INIT, delete sensordef before adding new 2018-09-27 14:19:54 +02:00
JojoS b4d8be0e59 fixed distance reading
the P_013_sensordef object was created on the stack and the destructor was called after leaving the PLUGIN_INIT. That deleted the included NewPingESP8266 object and using this object failed.
2018-09-27 11:56:31 +02:00
ESPEasy release bot 30f5c5cb7d automatically updated release notes for mega-20180927 2018-09-27 04:00:17 +02:00
Plebs 6e7286c6fb split parseTemplate function
simplifying code
2018-09-26 23:40:01 +02:00
Gijs NoorlanderandGitHub ae1db543ce Merge pull request #1804 from TD-er/bugfix/ESP32_partition_build
[ESP32] Split new partition layout to separate build
2018-09-26 22:52:30 +02:00
TD-er 947e1e0343 [Build] Add esp32test_1M8_partition build and warning on ESP32 partition 2018-09-26 22:49:30 +02:00
TD-er 0578d720f4 [ESP32] Split new partition layout to separate build
See "ESP32 not start after last upgrade" #1802
2018-09-26 21:55:02 +02:00
Gilad Raz 3fee6794f2 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into add-raw-ir-reading 2018-09-26 19:03:47 +03:00
Gilad Raz 019e33331b Merge branch 'mega' into add-raw-ir-reading
# Conflicts:
#	src/_P016_IR.ino
#	src/_P035_IRTX.ino
2018-09-26 19:01:50 +03:00
Gijs NoorlanderandGitHub 211d79bbd5 Merge pull request #1792 from TD-er/feature/ESP32_partition_table
[ESP32] Change partition size (will clear all settings) and add plugins
2018-09-26 09:05:44 +02:00
Gilad 8a751a0922 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into mega 2018-09-25 18:43:37 +03:00
Gilad 450eca8dc5 Fixed warnings... 2018-09-25 03:13:14 +03:00
Gilad ce0bfbf717 Fixed warnings... 2018-09-25 02:30:20 +03:00
Gilad bb316bbd30 Improved IR RAW2 format to support RLE. 2018-09-25 01:42:45 +03:00
TD-er 91c5d60af9 [Info] Add board name to the sysinfo page. 2018-09-25 00:19:17 +02:00
TD-er 0d9bc8027d [ESP32] RTOS move handle_schedule() to core1 and increase stack
Enable RTOS flag in advanced settings (and reboot) to create separate threads on the 2nd ESP32 core, which will handle the scheduler.
This lowers stack usage and CPU load.
Also the ESP will no longer crash when saving large settings like for the Framed OLED plugin.
2018-09-25 00:18:46 +02:00
TD-er bd2bdab95c [Stack] Move Settings from stack to heap 2018-09-24 22:08:02 +02:00
TD-er c4f98fbc8e [Travis] Uninitialized variable in P073_7DGT 2018-09-24 20:13:24 +02:00
ESPEasy release bot b332a513b5 automatically updated release notes for mega-20180924 2018-09-24 04:00:20 +02:00
TD-er e36bb714f1 [ESP32] Change partition size (will clear all settings) and add plugins
The last update to > 0.12 increased the binary size a lot. This is mainly due to the added BLE support.
This makes it almost impossible to use the default partition table layout.

This changes the app partitions to 1.8 MB and reduces the SPIFFS to 320 k.
Changing the partition table will clear all settings, so make a backup of the settings.

Also added all plugins that would compile (not tested) for ESP32.

Known issue:
ESP32 might crash due to stack overflow when saving settings of plugins. (e.g. OLED framed plugin)
2018-09-24 00:23:45 +02:00
Gijs NoorlanderandGitHub 6e1cde343f Merge pull request #1791 from TD-er/bugfix/ESP32_I2C
[ESP32] Fix I2C handling to allow I2C devices to work
2018-09-23 22:14:43 +02:00
TD-er cce9ddd2dc [ESP32] Fix I2C handling to allow I2C devices to work
See this issue: [I2C repeated start broken](https://github.com/platformio/platform-espressif32/issues/126)
2018-09-23 21:17:55 +02:00
Gijs NoorlanderandGitHub 51be17a436 Merge pull request #1780 from clumsy-stefan/sensor_type_change
Change type of sensor for MCP and PCF devices
2018-09-23 20:18:38 +02:00
Gijs NoorlanderandGitHub 66d27a6697 Merge pull request #1776 from beigenmann/mega
Fix platformio
2018-09-23 20:17:33 +02:00
Gijs NoorlanderandGitHub a033e458fb Merge pull request #1782 from TD-er/bugfix/MQTT_reconnect_name
[MQTT] Work around for lost MQTT connection
2018-09-23 20:17:07 +02:00
Gijs NoorlanderandGitHub 494436bbff Merge pull request #1789 from sakinit/ESP32-to-core_esp32_1_3_0
ESP32: change to platform version core_esp32_1_3_0
2018-09-23 20:16:52 +02:00
sakinit 23bacd0762 change to platform version core_esp32_1_3_0 2018-09-23 17:49:47 +02:00
Gilad 9bdfab3fa2 Add IR RAW2 Reading / Transmitting - added a safety check. 2018-09-23 15:49:26 +03:00
Gilad 9d446745cc Add IR RAW2 Reading / Transmitting - fixed ambiguity. 2018-09-23 14:38:36 +03:00
Gilad d2ab946d17 Add IR RAW2 Reading / Transmitting. 2018-09-23 12:44:56 +03:00
Gilad fcc71a56b6 Add IR RAW2 Reading / Transmitting. 2018-09-23 12:40:52 +03:00
ESPEasy release bot f131254853 automatically updated release notes for mega-20180923 2018-09-23 04:00:12 +02:00
TD-er 657d15d962 [MQTT] Work around for lost MQTT connection
Maybe a fix for #1525
Meant to be a fix for #1530

It looks like the MQTT broker is refusing to accept a new connection from a specific client ID, as long as the broker thinks a client with that ID is still connected.
This work around adds the number of wifi reconnects to the clientID, to make the ID unique when a reconnect has to be made.
2018-09-23 00:54:55 +02:00
Gijs NoorlanderandGitHub 60910da48d Merge pull request #1749 from sakinit/ESP32-P1WifiGateway-updates
Esp32 p1 wifi gateway updates
2018-09-22 20:59:32 +02:00
Gijs NoorlanderandGitHub 6cee2d0f32 Merge pull request #1779 from TD-er/bugfix/BME280_slow_reading
[BME280] Fix slow reading of BME280 causing watchdog resets
2018-09-22 20:45:20 +02:00
stefan 533cb88a64 Change type of sensor for MCP and PCF devices
MCP and PCF devices should be of type SWNSOR_TYPE_SWITCH instead of SENSOR_TYPE_SINGLE so that the controllers can identify them correctly as switches (for GPIO related functions)
2018-09-22 20:41:53 +02:00
TD-er ffa32fe851 [BME280] Fix slow reading of BME280 causing watchdog resets
The plugin still had some delay and an active polling to see if the reading was ready.
This  took more than 1.5 sec per reading, which could trigger a Watchdog reset.
2018-09-22 20:34:56 +02:00
Gijs NoorlanderandGitHub b900cc9389 Merge pull request #1777 from TD-er/bugfix/MQTTimport
[MQTT import] Fix crash at boot when plugin is enabled
2018-09-22 19:13:25 +02:00
TD-er 8e11c19af6 [MQTT import] Fix crash at boot when plugin is enabled
See #1722
Inspired by [this comment](https://github.com/letscontrolit/ESPEasy/issues/1722#issuecomment-422191721) of @kainhofer
2018-09-22 16:39:16 +02:00
Benno Eigenmann f33ca6df78 Fix platformio 2018-09-22 15:57:09 +02:00
ESPEasy release bot 194a230d20 automatically updated release notes for mega-20180922 2018-09-22 04:00:22 +02:00
Gijs NoorlanderandGitHub 7a5a432016 Merge pull request #1773 from TD-er/reapply_reverts
Reapply reverts
2018-09-22 02:04:30 +02:00
TD-er 07511fe144 Revert "Revert "Fix elseif & Add if-elseif-else nesting levels""
This reverts commit a4fe8d42d2.
2018-09-21 22:15:13 +02:00
Gijs Noorlander 9a390136f9 Revert "Revert "Added 2 new operators in Calculate() function""
This reverts commit fa42cadfa1.
2018-09-21 22:14:30 +02:00
Gijs NoorlanderandGitHub 27a03f166a Merge pull request #1770 from TD-er/bugfix/revert_disable_command_scheduler_0915
Revert "[Scheduler] Disable command scheduler"
2018-09-21 22:10:50 +02:00
TD-er 0a63aeb8f0 Revert "[Scheduler] Disable command scheduler"
This reverts commit 38af765935.
2018-09-20 23:20:19 +02:00
sakinit 22c10ac615 ESP32 platform updated to 1.2.0; Webserver replaced by platform one 2018-09-16 16:44:25 +02:00
ESPEasy release bot ac83cfa249 automatically updated release notes for mega-20180916 2018-09-16 04:00:11 +02:00
Gijs NoorlanderandGitHub 6ef0c08bc4 Merge pull request #1754 from TD-er/bugfix/backgroundtasks_rules
[HW Watchdog] Backgroundtasks instead of yield during rules handling
2018-09-16 01:19:47 +02:00
TD-er 1ee965067d [HW Watchdog] Backgroundtasks instead of yield during rules handling 2018-09-16 01:19:14 +02:00
Gijs NoorlanderandGitHub e46a873fce Merge pull request #1753 from letscontrolit/revert-1641-mega
Revert "Fix elseif & Add if-elseif-else nesting levels"
2018-09-16 01:15:04 +02:00
Gijs NoorlanderandGitHub 784e956c96 Merge pull request #1752 from letscontrolit/revert-1742-new/not
Revert "Added 2 new operators in Calculate() function"
2018-09-16 01:14:32 +02:00
Gijs NoorlanderandGitHub b6eebb330a Added warning to release notes 20180915 2018-09-16 01:13:49 +02:00
Gijs NoorlanderandGitHub a4fe8d42d2 Revert "Fix elseif & Add if-elseif-else nesting levels" 2018-09-16 01:08:42 +02:00
Gijs NoorlanderandGitHub fa42cadfa1 Revert "Added 2 new operators in Calculate() function" 2018-09-16 01:04:37 +02:00
sakinit 17dc6fa859 Reverted Webserver change 2018-09-15 16:22:58 +02:00
sakinit 1432726dec ESP32: Split webserver spiffs filelist into pages 2018-09-15 12:14:33 +02:00
sakinit 7ba6ffa407 Fix ESP32 stack overflow in addPinSelect when called from P1WifiGateway
In addFormPinSelect move local variables from the stack to the heap
because when it is called from the P1WifiGateway there is not enough
stack space resulting in a stack overflow.
2018-09-15 12:14:27 +02:00
sakinit ab555e4d6b ESP32 build issues fixed
- Compiler issue of comment within comment
 - ESP32Webserver renamed to Webserver in ESP32 Arduino library
2018-09-15 12:14:22 +02:00
ESPEasy release bot d4259f4e23 automatically updated release notes for mega-20180915 2018-09-15 04:00:15 +02:00
Gijs NoorlanderandGitHub aef45c06f6 Merge pull request #1747 from TD-er/bugfix/sunrise
[#1698] Incorrect sunrise value southern hemisphere
2018-09-15 00:19:42 +02:00
Gijs NoorlanderandGitHub 828f9e6a30 Merge pull request #1746 from TD-er/feature/hostname_settings
Validate settings + hostname format option
2018-09-15 00:14:30 +02:00
TD-er e79d778cf4 [#1698] Incorrect sunrise value southern hemisphere
See #1698
2018-09-15 00:10:45 +02:00
TD-er 965eb2d994 [#1713] Make hostname-unitnumber optional & validate settings
See #1713
Also added validation check for some values in the settings at load/save of settings.
This could be extended later on for task settings.
2018-09-14 23:44:58 +02:00
Gijs NoorlanderandGitHub 657fccf49f Merge pull request #1641 from svmac/mega
Fix elseif & Add if-elseif-else nesting levels
2018-09-14 23:27:00 +02:00
Gijs NoorlanderandGitHub 228b41a1ac Merge pull request #1742 from giig1967g/new/not
Added 2 new operators in Calculate() function
2018-09-14 23:26:25 +02:00
Gijs NoorlanderandGitHub 3bba294eb7 Merge pull request #1745 from TD-er/bugfix/commands_not_using_scheduler
[Scheduler] Disable command scheduler
2018-09-14 23:22:21 +02:00
TD-er 0254181b3e [Controller settings] Validate settings on load/save
Make sure new values are set to proper defaults and within valid range.
2018-09-14 22:54:23 +02:00
Gijs NoorlanderandGitHub 3b67282abb Merge branch 'mega' into mega 2018-09-14 21:26:21 +02:00
TD-er 38af765935 [Scheduler] Disable command scheduler
For now the commands will no longer use the scheduler.
Commands running asynchronous is causing too much issues.
2018-09-14 21:23:09 +02:00
Plebs ff180b085c Added 2 new operators in Calculate
hi,
added 2 new operators for calculations:

!: Logical NOT:
returns 1 if operand is = 0
returns 0 if operand is != 0

%: MOD:
converts operands in integers and calculates the remainder of the division
2018-09-14 16:44:11 +02:00
ESPEasy release bot e0785eb796 automatically updated release notes for mega-20180914 2018-09-14 04:00:17 +02:00
Gijs NoorlanderandGitHub 75a83787a4 Merge pull request #1740 from TD-er/bugfix/disable_failing_plugin
[CrashRecover] Disable failing step based on failed boot count
2018-09-14 00:18:48 +02:00
Gijs NoorlanderandGitHub 65bea6343c Merge pull request #1734 from giig1967g/new/eventvalue
adding more parameters to EVENT
2018-09-14 00:15:41 +02:00
Gijs NoorlanderandGitHub 6fe61411a0 Added PayPal link 2018-09-14 00:10:48 +02:00
Gijs NoorlanderandGitHub 4552e91022 Merge pull request #1731 from giig1967g/new/calculate
Use parameters inside rules when calling commands
2018-09-14 00:06:13 +02:00
Gijs NoorlanderandGitHub cc94d70e6c Merge pull request #1730 from sakinit/feature-webserver-spiffs-filelist-multiple-pages
Feature: Split webserver spiffs filelist into pages
2018-09-13 23:50:11 +02:00
Gijs NoorlanderandGitHub 2435078f76 Merge pull request #1732 from TD-er/feature/flash_tools
[Flash tools] Add blank files and README.txt to dist folder
2018-09-13 23:49:43 +02:00
Gijs NoorlanderandGitHub dd2cd50d4b Merge pull request #1738 from giddyhup/mega
Fix IR plugin passing received code
2018-09-13 23:48:46 +02:00
TD-er fe38eb629d [CrashRecover] Disable failing step based on failed boot count
When the node gets locked in a boot loop, the only recovery is to erase it and start all over.
This fix will count the number of failed boots and above a certain threshold it will start disabling plugin, then controller and then notification.

Only one will be disabled at once, so the user can see which one is giving issues.
The disabled state will not be saved, so make sure to save the failing part when it is accessible again.
2018-09-13 23:44:24 +02:00
Plebs e961507456 added %eventvalue4% 2018-09-13 19:14:13 +02:00
Plebs e5ee5644bf final version with '=' sign as a prefix to identify the formula in rules 2018-09-12 22:48:44 +02:00
Gijs NoorlanderandGitHub ac6d85e214 Merge branch 'mega' into mega 2018-09-12 21:54:50 +02:00
Markus Gloede 39c2d54aee Fix IR plugin passing received code 2018-09-12 21:09:05 +02:00
Plebs 68efd5ff9e adding more parameters to EVENT
Hi,
adding the possibility to have 3 parameters when calling an event:
event,eventname=p1,p2,p3

The variable name are:
param 1: %eventvalue% or %eventvalue1%
param 2: %eventvalue2%
param 3: %eventvalue3%
2018-09-11 17:38:47 +02:00
Plebs 627f516f85 fixed calls to F-macro 2018-09-11 16:03:35 +02:00
Plebs a45fadf42e fixed ESP32 compatibility issue 2018-09-11 14:38:14 +02:00
Plebs 2ae52b849c few changes
optimized the call to CALCULATE only when needed and description of error codes.
2018-09-11 13:10:00 +02:00
Plebs 639685ea0d fixed float to int conversion 2018-09-11 10:16:44 +02:00
Plebs 867209de6d Add three new TOGGLE commands
Added three new commands to toggle the pins from 0 to 1 or viceversa and to toggle the task value:

Command: taskvaluetoggle
P001: gpiotoggle
P019:pcfgpiotoggle
2018-09-11 00:38:55 +02:00
TD-er 1d8b6d346b [Flash tools] Add blank files and README.txt 2018-09-10 23:02:38 +02:00
Plebs 2a5ac327d3 Use parameters inside rules when calling commands
Hi,
here is a PR for using parameters when calling commands from inside the rules.

The scope is to be able to use formulas instead of an integer when calling a command inside the rules.

Example:
taskvalueset,1,%eventvalue%+65,[Relay1#r1]+1

Usage could be:

Assuming you have a PCF8574 with ports from 65 to 72.

You can write a rule:

on turnOnRelay do
  pcfgpio,%eventvalue%+64,0
endon

And to turn on port65, the rule can be called like this:

event,turnOn=1
2018-09-10 22:59:50 +02:00
sakinit 886101d4d4 Feature: Split webserver spiffs filelist into pages 2018-09-10 17:37:05 +02:00
ESPEasy release bot 8fc6486855 automatically updated release notes for mega-20180910 2018-09-10 04:00:23 +02:00
Gijs NoorlanderandGitHub eeb1cc71b3 Merge pull request #1728 from TD-er/bugfix/command_send_http
Bugfix/command SendToHTTP  & Domoticz IDX > 9999
2018-09-10 01:02:58 +02:00
TD-er 13837830e8 [Domoticz IDX] Allow for IDX of > 9999 2018-09-09 23:00:16 +02:00
Gijs NoorlanderandGitHub f86ff46a82 Merge pull request #1727 from sakinit/P1WifiGatewayModuleBufSize
Reduced buffer size to prevent stack overflow
2018-09-09 22:53:23 +02:00
TD-er e901bc957a [HTTP] Command SendToHttp cannot connect
Incorrect check for return value.
As suggested via the [forum](https://www.letscontrolit.com/forum/viewtopic.php?f=6&t=5794&p=31203#p31181)
2018-09-09 21:58:14 +02:00
sakinit e7e10c5305 Reduced buffer size to prevent stack overflow 2018-09-09 19:54:23 +02:00
ESPEasy release bot 466ddfbe88 automatically updated release notes for mega-20180909 2018-09-09 04:00:14 +02:00
Gijs NoorlanderandGitHub c8f02d2a4c Merge pull request #1721 from TD-er/bugfix/wifi_connection_slow_server
[#1720] WiFi read all lines from slow servers
2018-09-08 23:14:33 +02:00
TD-er af1d9b38c9 [Serial log] Use buffer to prevent Serial buffer to overflow
Write the log lines to a std::deque and write that buffer to the serial port without overflow of the Serial buffer.
This flushing is done during background task.
2018-09-08 20:48:29 +02:00
Gijs NoorlanderandGitHub 7294217489 Revert [WDT] Add watchdog feed to backgroundtasks()
See comment: https://github.com/letscontrolit/ESPEasy/issues/1722#issuecomment-419659193
2018-09-08 20:31:16 +02:00
TD-er 208fa8a3aa [ESP32] Fix Build, ESP32 doesn't have the availableForWrite 2018-09-08 18:24:48 +02:00
TD-er b3b8eff127 [Serial Log] Limit serial log to prevent buffer overflow
As suggested here: https://github.com/letscontrolit/ESPEasy/issues/1625#issuecomment-411558353 by @thomastech
2018-09-08 16:19:58 +02:00
TD-er c6a90ab2d0 Add forward declaration for void backgroundtasks() 2018-09-08 16:00:06 +02:00
TD-er e7d28e8576 [#1720] WiFi read all lines from slow servers
See #1720
2018-09-08 15:20:39 +02:00
ESPEasy release bot efa27dc01d automatically updated release notes for mega-20180908 2018-09-08 04:00:20 +02:00
Gijs NoorlanderandGitHub 7c7b81911d Merge pull request #1669 from TD-er/bugfix/buffer_send_controller
Use queue to manage controllers and add timing settings per controller
2018-09-07 23:31:55 +02:00
Gijs NoorlanderandGitHub c2962d7337 Update README.md 2018-09-07 23:30:33 +02:00
TD-er e2e2059ff0 [Queue] Add memory check to determine full queue
Depending on the type of controller, the queued messages can be quite big.
This means the queue limit set can cause the memory to fill up.
This commit adds another check. If the free memory is less than 5000 bytes, it will consider the queue being full.
It will then also log the actual memory usage of the queue.
2018-09-07 22:32:17 +02:00
TD-er 4e95bbef7f [Scheduler] Do not schedule task device timer for tasks without interval
See #1709
2018-09-06 22:21:39 +02:00
TD-er b0a90b5b14 [#1714] Parse notification sender to allow some sender formatting
`bla@bla.com` will be set as `nodename <bla@bla.com>` in the mail header as from part.
`John Doe <bla@bla.com>` will now be used like that in the mail header.  

N.B. `<` is actually the separator, so as long as that character is being used to separate the name and mail address, it will work. (see #1714 )
2018-09-05 23:20:49 +02:00
TD-er c8ac1bbd59 [#1707] Getting logs from the /log even when password is not entered
See #1707
2018-09-05 22:49:38 +02:00
TD-er e6105bfe71 [WDT] Add yield() and runbackgroundtasks() when parsing rules
Rules parsing may take some time, so perform some yields to prevent watchdog triggers.
2018-09-04 22:48:07 +02:00
ESPEasy release bot 1bb8669ed2 automatically updated release notes for mega-20180904 2018-09-04 04:00:34 +02:00
Gijs NoorlanderandGitHub 34f4a9a8e0 Merge pull request #1704 from TD-er/bugfix/duplicate_names_check
[#1702] Check for duplicate names bug
2018-09-04 00:22:30 +02:00
TD-er a517f3471c [#1702] Check for duplicate names bug
Make sure only enabled devices are used for checking. (see #1702)
Do a full erase of the task settings when deleting a plugin. Just to make sure no obsolete settings may corrupt behaviour of new settings.
2018-09-03 21:25:07 +02:00
ESPEasy release bot 9c706b7b0e automatically updated release notes for mega-20180903 2018-09-03 04:01:13 +02:00
TD-er f2b4e17e2a [MQTT] Force MQTT client reconnect when wifi reconnects
It looks like the check for `client->connected()` may return false positives.
This means the MQTT client may assume the connection is still active, while it isn't.
2018-09-02 23:01:36 +02:00
TD-er 6f62ba0f9b [Watchdog] Add watchdog feed to backgroundtasks() function
A lot of reports recently about resets by the Hardware Watchdog.
So maybe this timer is not reset as often as before.
2018-09-02 23:01:36 +02:00
TD-er 36c6fd4bf7 [SPIFFS] Add SPIFFS size + usage to sysinfo page 2018-09-02 23:01:36 +02:00
TD-er 4446d76c83 [MQTT] Give MQTT state in log when connect state changes. 2018-09-02 23:01:36 +02:00
TD-er f354b05b07 [Nodes] Fix String copy to properly read node names 2018-09-02 23:01:36 +02:00
TD-er 467df9dde2 [Cleanup] Memory optimisation in available controllers and plugins
These structs to keep track of available plugins and controllers were fixed in size and also the member variables were not ordered in the most optimum way.
Also the name of the nodes always used 26 Bytes and would impose a memory leak when deleted.
2018-09-02 23:01:36 +02:00
TD-er dac243cc82 [Nodes] Highlight current node in the list of nodes 2018-09-02 23:01:36 +02:00
TD-er 3d1be96f8a [Nodes] Make Nodes list a map with dynamic size
Nodes list is now a std::map, which may contain up-to 254 nodes (1...254), since 255 is reserved for broadcast and 0 for "all known".
2018-09-02 23:01:36 +02:00
TD-er 0dd53e38d7 [C013] Remove some obsolete function
`C013_Send` did actually only call another function and some other bogus object loading without using the data.
2018-09-02 23:01:36 +02:00
TD-er df6338dfee [C012] Controller C012 now also uses Delay Queue 2018-09-02 23:01:36 +02:00
TD-er 1bab99de40 [Controller] Moved the 'magic' default and max values to defines
The Max and Default values for the Controller Delay Queue are now set in the `ESPEasy-Globals.h` file.
2018-09-02 23:01:36 +02:00
TD-er ec44efb59f [C011] Controller C011 now also uses Delay Queue
And some code cleanup of shared code in C001 and C003.
Also fixed an issue in C011, where the result was not returned when sending a value.
2018-09-02 23:01:36 +02:00
TD-er 202a6fd1f7 [Cleanup] Merge code duplication between C008 and C010
Both use the same Queue Element class.
2018-09-02 23:01:36 +02:00
TD-er dc7828d343 [C010] Controller C010 now also uses Delay Queue 2018-09-02 23:01:36 +02:00
TD-er 5c92731b41 [HTTP] Add user agent in request header
Should make this optional later
2018-09-02 23:01:36 +02:00
TD-er 8c34067d9c [HTTP Auth] Now using proper index for retrieving credentials
I was using the controller number and not the controller index to get the user credentials.
Should now work for FHEM.
2018-09-02 23:01:36 +02:00
TD-er 92025249fc [C009] Remove 'no port' option in HTTP packet
As tested by @clumsy-stefan, it didn't make a difference.
2018-09-02 23:01:36 +02:00
TD-er dd5b5bb7c3 [Client Connect] Check for success on connecting with client.
In case of domain name resolution error result can be negative.
See [Dns.cpp](https://github.com/esp8266/Arduino/blob/18f643c7e2d6a0da9d26ff2b14c94e6536ab78c1/libraries/Ethernet/src/Dns.cpp#L44)

Thus must match the result with 1.
2018-09-02 23:01:36 +02:00
TD-er 03bc2f34f6 [C009] Controller C009 now also uses Delay Queue
Also fixed an issue where sending some value to a controller would fail when the buffer is full and the settings set to "Delete Oldest".
2018-09-02 23:01:36 +02:00
TD-er a19b59e184 [C009] Removed port number from HTTP host header
As suggested here: https://github.com/letscontrolit/ESPEasy/pull/1669#issuecomment-414434578
This plugin is not using the Queue yet, but only had some duplicate code moved to a helper class.
I now removed the port number from the HTTP header, since I am not really sure if the standard demands it or only for the connect part.
Also changed the HTTP command to use the code that has the port in the header, just to check if that will break now compared to older builds.
2018-09-02 23:01:36 +02:00
TD-er 861bc64ce3 [#1666] Moved code duplication for HTTP requests to special functions
The controller source files are now much cleaner and all use the same code.
So it is easier to fix issues and add features and checks.
2018-09-02 23:01:36 +02:00
TD-er 7428b03e18 [C008] Let C008 use queue and some bugfixes
Also added statistics
And some optimizations
2018-09-02 23:01:36 +02:00
TD-er 54a6ecac7d [Webserver] Add fields for new Controller settings
Make sure all new settings are configurable for all controllers.
2018-09-02 23:01:36 +02:00
TD-er ec4aa627bb [MQTT] Use set controller settings on MQTT controllers 2018-09-02 23:01:36 +02:00
TD-er 0dc47bc04c [C007] Let C007 controller use queue 2018-09-02 23:01:36 +02:00
TD-er 5f029c59d2 Added USES_Cxxx checks
functions may not be mentioned in the scheduler when the controller is not included in the build.
2018-09-02 23:01:36 +02:00
TD-er 8beeeaf7fa [C004] Let C004 controller use queue and simplify using macros
Added some simplifications to the code by creating one big macro in `_CPlugin_Helper.h` that does all the work and defines.
This will reduce the chance of typo errors a lot.
2018-09-02 23:01:36 +02:00
TD-er 293b63e654 [C003] Let C003 controller use queue 2018-09-02 23:01:36 +02:00
TD-er 734150e87b [C001] Let C001 controller use queue 2018-09-02 23:01:36 +02:00
TD-er 6bb1b4086c [Controller] Make ControllerDelayHandler templated and comment
Added recognisable comments throughout the `ESPEasy-Globals.h` file and made ControllerDelayHandler templated to be used for other controllers to use.
2018-09-02 23:01:36 +02:00
TD-er 9cd2d2d843 [MQTT] Add controller delay queue for MQTT
MQTT messages are queued and processed at set pace to not overload the broker.

N.B. other controllers still need a similar queue to process. Current interval for those is now probably too low.

Also initial queue parameters must still be corrected when set to 0.
2018-09-02 23:01:36 +02:00
TD-er 02c022d7d5 [controller delay] Let controllers handle their own delay and buffer 2018-09-02 23:01:36 +02:00
Gijs NoorlanderandGitHub b1c8346700 Merge pull request #1700 from TD-er/feature/Shelly_support
[Shelly1] Add first test build for Shelly1 nodes
2018-09-02 22:58:30 +02:00
TD-er 272ed8c578 [Shelly1] Add first test build for Shelly1 nodes
[Shelly1 Open Source (ESP8266-2MB)](https://shelly.cloud/shelly1-open-source/)
This is a preliminary test version as I have not yet received my ordered modules.
Also there is a [feature request](https://github.com/esp8266/Arduino/issues/5096#issuecomment-417942708) out for adding proper flash layout for these 2M flash modules which allow proper OTA.
2018-09-02 22:31:05 +02:00
Gijs NoorlanderandGitHub a9e473dbc6 Merge pull request #1697 from TD-er/feature/1688_dewpoint
[#1688] Add dew point computation as standard conversion
2018-09-02 20:31:37 +02:00
TD-er 4baccf5863 [#1688] Add dew point computation as standard conversion
Dew point(T,H): `%c_dew_th%(18.6,67)` will be replaced with `12.31`
See #1688
2018-09-02 20:30:42 +02:00
Gijs NoorlanderandGitHub ad84eb8b8a Merge pull request #1696 from TD-er/feature/leading_zero_sysvars
[sysvar] rename vars with leading zero to %..._0%
2018-09-02 18:35:07 +02:00
TD-er 23f2bfc6d8 [sysvar] rename vars with leading zero to %..._0%
For example `%syshour%` to `%syshour_0%` 
Both variables are now supported.
The ones without leading zero can be used in rules. 
The ones with leading zero will probably be used on displays.
2018-09-02 18:34:33 +02:00
Gijs NoorlanderandGitHub 34d2f25652 Merge pull request #1695 from TD-er/feature/sysparam_webpage
[#1549] Add page showing all system variables
2018-09-02 15:59:50 +02:00
Gijs NoorlanderandGitHub 294683ece1 Merge pull request #1694 from TD-er/bugfix/notification_mail
[#1692] Add 2nd Receiver for Email notification
2018-09-02 15:59:35 +02:00
Gijs NoorlanderandGitHub 56bd1cb19c Merge pull request #1686 from TD-er/bugfix/build_issues
[Pio] Build issue P016_IR and add PIO flags
2018-09-02 15:59:15 +02:00
TD-er 812f530c4b [#1549] Add page showing all system variables
Via Tools => System Variables.
2018-09-02 13:47:18 +02:00
TD-er 97258a531d Forgot to save before commit
Forgot to increase to next address.
2018-09-02 00:08:06 +02:00
TD-er 7d2ef727a7 [#1692] Add 2nd Receiver for Email notification
Implementation suggested by @dwarf2k See: https://github.com/letscontrolit/ESPEasy/issues/1692#issuecomment-417887364
2018-09-02 00:02:50 +02:00
TD-er 9e83213a13 [Pio] Build issues
Redefine of `TIMEOUT` in P016_IR.
Add option to set CPU frequency and flags undef per build
2018-08-28 00:10:27 +02:00
ESPEasy release bot ecb5ca9306 automatically updated release notes for mega-20180826 2018-08-26 04:00:20 +02:00
Gijs NoorlanderandGitHub edb6178ae2 Merge pull request #1682 from TD-er/bugfix/P080
[Build Travis] "Scratchpad was set but never used"
2018-08-26 00:32:18 +02:00
TD-er b8894efc57 [Build Travis] "Scratchpad was set but never used"
Build error with Travis.
2018-08-26 00:31:49 +02:00
Gijs NoorlanderandGitHub 970181d8c7 Merge pull request #1681 from TD-er/bugfix/P078_P080
Bugfix/p078 p080
2018-08-26 00:12:53 +02:00
TD-er 9d2fad783f [Build] Add "[TESTING]" labels to P078 and P080 2018-08-26 00:12:13 +02:00
jimmys01andGitHub 9d42e83314 Merge pull request #1 from letscontrolit/mega
test
2018-08-26 01:01:41 +03:00
Gijs NoorlanderandGitHub 0005915c5c Upgrade IR lib and move IR code to separate build
IR TX and RX enhancements and split to a special build, due to the resources needed for the IR library and code.
2018-08-25 23:29:17 +02:00
Gijs NoorlanderandGitHub eb78bc3e03 Merge pull request #1468 from henfri/patch-1
Create _P080_DallasIButton.ino
2018-08-25 23:27:11 +02:00
Gijs NoorlanderandGitHub 17777698cd Merge pull request #1679 from TD-er/feature/Eastron
[#205] Initial port of Playground P150 to Mega (Eastron)
2018-08-25 23:23:09 +02:00
Gijs NoorlanderandGitHub d091148dfc Merge branch 'mega' into feature/Eastron 2018-08-25 23:22:42 +02:00
Gijs NoorlanderandGitHub fcb25a2aec Merge pull request #1492 from TungstenE2/mega
added new Plugin for Wemos Motorshield P_079
2018-08-25 23:21:18 +02:00
TD-er a7d90a33a0 [Dallas iButton] Change VType to SENSOR_TYPE_LONG 2018-08-25 23:18:00 +02:00
TD-er 3a68ff8f9d [P080] Dallas iButton Rename P078 to P80 2018-08-25 22:51:43 +02:00
henfriandTD-er 3b45e200a7 Update _P078_DallasIButton.ino
empty lines removed
2018-08-25 22:51:43 +02:00
henfriandTD-er b724c22c80 Create _P078_DallasIButton.ino
Plugin for reading the Dallas iButton
2018-08-25 22:51:43 +02:00
TD-er b810e34b74 [MotorShield] Added comments in the code and fixes
Frequency was not using the upper 4 bits of the values.
Changed delay to yield.
2018-08-25 22:39:36 +02:00
TD-er c70ffd735c [MotorShield] Cleanup code layout
Indentation was hard to read, so ran code beautify.
2018-08-25 21:03:02 +02:00
TD-er 604c58a290 [MotorShield] Rename P078 to P079 2018-08-25 21:03:02 +02:00
TungstenE2andTD-er 1d1b69b1ce Added Wemos Motorshield Plugin (No. 78) 2018-08-25 21:03:02 +02:00
TungstenE2andTD-er bd2cc4138b Added Wemos Motorshield Plugin (No. 78) 2018-08-25 21:03:02 +02:00
Gijs NoorlanderandGitHub ca5f2815bc Merge pull request #1631 from GHolli/mega
Optimisations
2018-08-25 12:31:58 +02:00
Gijs NoorlanderandGitHub f67bf51606 Merge pull request #1672 from TD-er/bugfix/network_mqtt_issues
[MQTT] Check connection and specific check for success when connect.
2018-08-25 12:31:20 +02:00
Gijs NoorlanderandGitHub e1f0badd92 Merge pull request #1678 from Feuerreiter/mega
Add overview of known espeasy nodes to json
2018-08-25 12:30:57 +02:00
jimmys01 b9ea66037c Small correction 2018-08-25 13:15:41 +03:00
TD-er 62a196d398 [JSON] Only show node information when generic info is requested
This extra node information is not needed when values of a specific task is requested, so only output when other generic information is shown.
2018-08-25 12:09:00 +02:00
jimmys01 d4ee74297b IR RX updated
The IRrecvDumpV2.ino functionality added to the RX module.
Let me know for a good way to display the RAW values.
2018-08-25 12:53:42 +03:00
TD-er d0d95e221b [JSON] Fix issue when UDP port not set
With no nodes to display, the generated JSON was not valid.
Also removed some duplicate F() macro strings.
2018-08-25 11:49:54 +02:00
TD-er 7ad8880651 [IR/IRTX] For PullReq #1645 split IR/IRTX to a separate build
The new library takes a lot of resources.
2018-08-25 01:01:48 +02:00
TD-er f46a6c3414 [Eastron] Add missing SDM_Config_User.h 2018-08-24 23:48:20 +02:00
TD-er ab0ed4b5ca [Eastron] Make P078 Eastron compile, serial settings do not yet work
At this moment it is just using the same static configuration as P150 from the playground.
It is not yet using the settings. This will have to be changed later on.
2018-08-24 23:16:33 +02:00
TD-er b1fb308646 [SDM] Update library to latest version
Latest version requires a Software Serial object for the constructor.
2018-08-24 22:55:13 +02:00
feuerreiter 79ee397e8e Adds a overview of known espeasy nodes to the json response. I think this can be useful for own webinterfaces etc. 2018-08-24 17:20:17 +02:00
TD-er 56569374f3 [Eastron] Add P078 plugin from the Playground (was P150)
Still problems using the Software Serial
2018-08-24 01:29:55 +02:00
TD-er 41b13f6797 [Client Connect] Check for success on connecting with client.
In case of domain name resolution error result can be negative.
See [Dns.cpp](https://github.com/esp8266/Arduino/blob/18f643c7e2d6a0da9d26ff2b14c94e6536ab78c1/libraries/Ethernet/src/Dns.cpp#L44)

Thus must match the result with 1.
2018-08-22 21:58:34 +02:00
TD-er 8f23048f18 [MQTT] PubSubClient Add checks for connectivity
Taken from master branch of PubSubClient
2018-08-22 21:56:05 +02:00
ESPEasy release bot a123dbf37f automatically updated release notes for mega-20180822 2018-08-22 04:00:15 +02:00
Gijs NoorlanderandGitHub 6b65e90ddf Merge pull request #1664 from TD-er/bugfix/UDP_checks
[UDP] Use random outgoing port for NTP and check return values
2018-08-21 23:46:12 +02:00
Gijs NoorlanderandGitHub 890db55197 Changed INPUT_COMMAND_SIZE from 80 to 240
The default of 80 was too short for commands using an url like `sendtohttp`
Changed it to 240 to allow for some longer commands.
2018-08-21 23:44:58 +02:00
TD-er 514800433f [UDP] Use random outgoing port for NTP and check return values
As a NTP client, you don't need to send requests from port 123. Some internet providers even block ports below 1024. So try to use a random port for outgoing requests.

Also added some checks and increased buffer on the receiving end of UDP packets.
When using C013, the size of infoStruct is copied from that buffer and the size is about 137 bytes, which may lead to Exception crashes.
2018-08-19 00:51:21 +02:00
ESPEasy release bot deb18d2391 automatically updated release notes for mega-20180818 2018-08-18 04:00:17 +02:00
Edwin Eefting e18d069171 fixed network config for newer versions 2018-08-17 17:14:03 +02:00
Gijs NoorlanderandGitHub b63c375793 Merge pull request #1657 from TD-er/bugfix/web_menu_ios11
[#1650] Use icons in tabs on web page on small screens
2018-08-17 00:09:47 +02:00
TD-er f906e9173c [#1650] Use icons in tabs on web page on small screens
See #1650
2018-08-17 00:08:08 +02:00
jimmys01 c444022f5f Travis please be happy :-) 2018-08-16 11:35:36 +03:00
svmac 5511ee9f38 fix mistake 2018-08-15 05:22:27 +02:00
svmac 427a22d23b some code optimization 2018-08-15 04:54:29 +02:00
ESPEasy release bot 306cbf3107 automatically updated release notes for mega-20180815 2018-08-15 04:00:13 +02:00
Gijs NoorlanderandGitHub 458f672744 Merge pull request #1649 from TD-er/bugfix/1487_tone_PIO_update_180
[core 2.4.2] Update to PlatformIO espressif8266@1.8.0
2018-08-15 00:55:44 +02:00
Gijs NoorlanderandGitHub dee1ee6f32 Merge pull request #1648 from krikk/patch-1
Update _P047_i2c-soil-moisture-sensor.ino - Address change on new sensor firmware
2018-08-15 00:54:13 +02:00
TD-er 8930e331d3 [core 2.4.2] Update to PlatformIO espressif8266@1.8.0
Latest version would not build due to conflicting function definition for tone. See #1487
2018-08-15 00:42:41 +02:00
krikkandGitHub 6033990767 Update _P047_i2c-soil-moisture-sensor.ino
Add a duplicate call for changing the address. This is required by the new sensor firmware version 2.6. This is to avoid a stry address change command that happens during hotplugging of the sensor

also see here: https://github.com/Apollon77/I2CSoilMoistureSensor/pull/17
2018-08-15 00:30:57 +02:00
svmac d271898968 reenabled code about ! 2018-08-14 03:52:29 +02:00
jimmys01 f261e6a5ea commented out more unused code 2018-08-13 17:10:57 +03:00
jimmys01 ff160f386e Travis build complaining about unused vars 2018-08-13 13:02:21 +03:00
jimmys01 ef92e7ae4f IR library added 2018-08-13 12:18:01 +03:00
svmac 4051f0bd2e Fix elseif & Add if-elseif-else nesting levels
- The implementation of elseif is not correct. See this example:

Rule:
On SYSVAL do
if %syssec% < 10
publish %sysname%/IP,%ip%
elseif %syssec% < 20
publish %sysname%/Uptime/min,%uptime%
elseif %syssec% < 30
publish %sysname%/Systime/time,%systime%
elseif %syssec% < 40
publish %sysname%/RSSI/dB,%rssi%
elseif %syssec% < 50
publish %sysname%/Sunrise/time,%sunrise%
else
publish %sysname%/Sunset/time,%sunset-30m%
endif
endon

Result:
109360661 : EVENT: SYSVAL
109360668 : [if 11 < 10]=false
109360675 : [elseif 11 < 20]=true //THIS IS CORRECT
109360677 : ACT : publish Wemos51/Uptime/min,1823
109360686 : Command: publish
109360692 : [elseif 11 < 30]=false
109360697 : [elseif 11 < 40]=false
109360703 : [elseif 11 < 50]=false
109360705 : ReplacementString SunTime: %sunrise% offset: 0
109360708 : else = true //THIS IS NOT CORRECT
109360710 : ReplacementString SunTime: %sunset-30m% offset: -1800
109360712 : ACT : publish Wemos51/Sunset/time,20:46
109360723 : Command: publish
109360729 : EVENT: SYSVAL Processing time:68 milliSeconds

- Added also nesting levels to if-elseif-else clausules define in RULES_IF_MAX_NESTING_LEVEL declaration. Example:

Rule:
On SYSVAL do
if %eventvalue% > 1
publish %sysname%/Sunrise/time,%sunrise+1h%
else
if %syssec% < 10
publish %sysname%/IP,%ip%
elseif %syssec% < 20
publish %sysname%/Uptime/min,%uptime%
elseif %syssec% < 30
publish %sysname%/Systime/time,%systime%
elseif %syssec% < 40
publish %sysname%/eventvalue,%eventvalue%
elseif %syssec% < 50
publish %sysname%/Sunrise/time,%sunrise%
else
publish %sysname%/Sunset/time,%sunset-30m%
endif
endif
endon

Result:
>event,SYSVAL=-5
4977875 : Command: event
4977876 : EVENT: SYSVAL=-5
4977883 : Lev.1: [if -5 > 1]=false
4977886 : ReplacementString SunTime: %sunrise+1h% offset: 3600
4977889 : Lev.1: [else]=true
4977893 : Lev.2: [if 30 < 10]=false
4977900 : Lev.2: [elseif 30 < 20]=false
4977906 : Lev.2: [elseif 30 < 30]=false
4977913 : Lev.2: [elseif 30 < 40]=true
4977916 : ACT : publish Wemos49/eventvalue,-5
4977932 : ReplacementString SunTime: %sunrise% offset: 0
4977935 : Lev.2: [else]=false
4977938 : ReplacementString SunTime: %sunset-30m% offset: -1800
4977944 : EVENT: SYSVAL=-5 Processing time:67 milliSeconds

- Finally, the substitution of %eventvalue% is done earlier so that it can be used in if sentence too.
2018-08-11 16:51:56 +02:00
ESPEasy release bot 93105200d7 automatically updated release notes for mega-20180809 2018-08-09 04:00:06 +02:00
Gijs NoorlanderandGitHub f48ede5d7e Merge pull request #1637 from TD-er/bugfix/send_deepsleep
[deepsleep] Send values immediately after connections are made
2018-08-09 00:39:41 +02:00
TD-er b73181487c [deepsleep] Send values immediately after connections are made
Known issue:
The value of the first task is not sent via MQTT right after waking up from deep sleep.
2018-08-09 00:27:34 +02:00
Gijs NoorlanderandGitHub caee2892c4 Merge pull request #1636 from TD-er/bugfix/timing_issues
Bugfix: Several timing issues
2018-08-08 23:00:05 +02:00
Gijs NoorlanderandGitHub 432bd32967 Merge pull request #1635 from uzi18/patch9
small fix for #702
2018-08-08 22:24:30 +02:00
Gijs NoorlanderandGitHub 235bc0a598 Merge pull request #1634 from letscontrolit/bugfix/Blynk_command
[Blynk] Command handling was not active
2018-08-08 22:22:15 +02:00
TD-er f0cf26baec [Scheduler] Remove scheduled commands from scheduler to run in idle time
Scheduled commands are blocking when run all after another at highest priority.
This removes the scheduled commands from the scheduler and the scheduler will now process the next queued command when no other scheduled task has to run.
Also made some optimizations to reduce memory usage.
2018-08-08 22:19:49 +02:00
TD-er fffccd3787 [C011] Make sure the loaded extra controller settings end with 0
Controller C011 (Advanced HTTP)  uses all of the available `ExtraControllerSettings`.
Now the last byte of those arrays is set to 0, just to make sure they will not read beyond the range of those arrays when using as a string.
The controller still causes crashes, bit it is a start.
2018-08-08 22:16:21 +02:00
TD-er 5cfbac5eba [#1621] Timing interval of BME280 incorrect
New timing was only allowed after MessageDelay seconds. (default was 1000, which is about 20 minutes)
It should use `TaskDeviceTimer`.

BME280 can now schedule itself to perform a read-update as soon as a measurement has completed.
Then it schedules itself to perform a new measurement at set interval time.
2018-08-08 22:12:43 +02:00
Gijs NoorlanderandGitHub 2bce3f8d02 Merge branch 'mega' into patch9 2018-08-08 22:02:12 +02:00
Bartlomiej Zimon e210722e0e fix for #702, setup propper gpio state before send into PCF8574 for pcfpulse,pcflongpulse 2018-08-08 19:17:58 +00:00
Gijs NoorlanderandGitHub 909d9a4fd1 [Blynk] Change define to allow blynkget command 2018-08-08 19:41:36 +02:00
Gijs NoorlanderandGitHub c8b57cf9e0 [Blynk] Command handling was not active
It was blocked by an old `#define`
2018-08-08 19:39:06 +02:00
ESPEasy release bot d74493ced0 automatically updated release notes for mega-20180808 2018-08-08 04:00:13 +02:00
Gijs NoorlanderandGitHub 7783cf4ce5 Merge pull request #1627 from TD-er/bugfix/MQTT_yield
[#1625] Bugfix/mqtt yield
2018-08-07 20:37:40 +02:00
Gijs NoorlanderandGitHub 27e07d1f67 Merge pull request #1630 from letscontrolit/bugfix/1612_rfid
[#1612] Make P008_RFID using new functions
2018-08-07 20:37:20 +02:00
TD-er 40857cc57c [Schedule] Run command from webpage immediately
When sending command request from the Tools tab in the web interface, the command will be executed immediately.
In other situations it will use the scheduler to run commands async.

Commands will now be buffered and processed in order.
This will also speed-up rules which do a publish.
2018-08-06 23:12:26 +02:00
TD-er 4f764d6101 [Schedule] Scheduled command timer
Run commands async. The result is now not displayed in the web page anymore.
2018-08-06 08:22:08 +02:00
Gerald Hollweger 49e98f2f8b Optimisations
- Save RAM, move constants to flash (CharTableTM1637, CharTableMAX7219)
- Remove unnecessary parameter passing (the interface pins do not change during operation for one instance)
2018-08-05 19:19:04 +02:00
Gijs NoorlanderandGitHub ddad026a2b [#1612] Make P008_RFID using new functions
See #1612
2018-08-05 15:05:20 +02:00
TD-er b8df55ef36 [Commands] Return String output per command
The existing implementation was a bit sparse in returned info.
Now each command can return a useful string to display in the command output window in the webinterface. (or whatever the source of the command is)
2018-08-05 14:46:31 +02:00
TD-er be7724d8c7 [Rules] Split processing matched rule in a separate function
Just to get rules processing readable
2018-08-05 03:10:26 +02:00
TD-er c5c1c92cfb [Rules] Split parsing single line from rulesProcessingFile
The function `rulesProcessingFile` is way too long to understand.
First step in making those functions readable.
2018-08-05 01:45:34 +02:00
ESPEasy release bot e6b219a182 automatically updated release notes for mega-20180804 2018-08-04 04:00:23 +02:00
TD-er d2d03358ef [MQTT] Schedule from callback functions
To make sure execution of these functions is called from the `loop()` and not from a callback function.
2018-08-04 01:37:05 +02:00
TD-er a4d751b40f [Notifications] Schedule NPlugin_ptr calls async
To make sure execution of these functions is called from the `loop()` and not from a callback function.
2018-08-04 01:35:54 +02:00
TD-er 1c73cacc82 [Scheduler] Rename some functions and clean-up 2018-08-04 01:34:02 +02:00
Gijs NoorlanderandGitHub 23bfa54ec4 Merge pull request #1626 from thomastech/mega
Update _P075_Nextion.ino [TESTING]
2018-08-03 23:37:49 +02:00
ThomasandGitHub 95138489cd Update _P075_Nextion.ino 2018-08-03 13:46:34 -07:00
Gijs NoorlanderandGitHub c9ec69d30c Merge pull request #1623 from TD-er/bugfix/set_event_taskindex
[#1574] Set event->TaskIndex
2018-08-03 22:25:19 +02:00
TD-er 0e4cabeb17 [Cleanup] Replace a lot of TR TD with function
Flash strings are not checked for duplication by the compiler, so they make the resulting firmware binary larger.
2018-08-03 00:34:14 +02:00
TD-er 19961198fb [Settings file] Include SettingsStruct in the view
And made the `HumanReadable` format a bit more verbose by stripping trailing ".00" when needed.
2018-08-02 23:27:31 +02:00
TD-er c705c570db [ESP32] Small fix building ESP32 2018-08-02 22:40:25 +02:00
TD-er 34d48adb4a [Settings File] Show settings file layout
Run `meminfodetail` command once (can be done via Tools page) and then open the system info page.
2018-08-02 22:30:30 +02:00
ESPEasy release bot fda973bb78 automatically updated release notes for mega-20180802 2018-08-02 04:00:14 +02:00
TD-er c5bfd67d6d [#1574] Set event->TaskIndex
See discussion: https://github.com/letscontrolit/ESPEasy/issues/1574#issuecomment-409677981
2018-08-02 00:34:17 +02:00
GrovkillenandGitHub 402de69fd5 Added extra info to self compilers 2018-08-01 14:22:27 +02:00
ESPEasy release bot 41341b46de automatically updated release notes for mega-20180801 2018-08-01 04:00:18 +02:00
Gijs NoorlanderandGitHub 3574517014 Merge pull request #1618 from TD-er/bugfix/storage_task_settings
[#1574] Stability improvements on ExtraTaskSettings
2018-07-31 20:31:21 +02:00
Edwin Eefting cca785e1f0 Power down PN532 after reading. Saves power and reduces interference with Wifi. 2018-07-31 16:53:32 +02:00
TD-er 4215e058d0 [#1306] Added %R% and %N% for literals \r and \n 2018-07-30 22:41:25 +02:00
James TuttonandGitHub 60925778c6 Fixed missing ;
Fixed missing ;
2018-07-30 14:19:56 +01:00
James TuttonandGitHub 15233bf100 Added Special Case to allow Servo to be disabled
Servo Motors by default forcefully hold the desired position.  This consumes power.  In some cases for example to turn a value or open a latch once the position is set  there may be no need to hold the new position.  With this update users can pass a special case value above >9000 which is out of normal range 0-180 or 365. when this value is passed the servo is detached and is free to move.
2018-07-30 14:10:22 +01:00
TD-er 2f91fbe931 [#1379] Check for "forbidden" characters in names. 2018-07-29 21:59:27 +02:00
TD-er 90febfd46f [#882] Add checks on names in task setup
When saving a task, a warning or error is displayed (when appropriate) when the settings are saved.
2018-07-29 21:59:18 +02:00
TD-er ccc5b68111 [Storage] Simplify settings I/O error handling
Remove a lot of code duplication
2018-07-29 21:59:13 +02:00
TD-er 07f6b86138 [Storage] Split storage related functions to new file
Only moved the storage related functions from `Misc.ino` to the new `ESPEasyStorage.ino`
2018-07-29 21:59:08 +02:00
TD-er 7b2667feaa [compiler fix] Forgot to declare String 2018-07-29 21:59:02 +02:00
TD-er 48bd7b334d [FileHandling] Write some log indicating file operation
Add some log line indicating what setting is read of written.
2018-07-29 21:58:57 +02:00
TD-er 9dd4242590 [meminfodetail] Add command meminfodetail
This command `meminfodetail` does output the detailed structure of the settings stored.
See for an example:
https://github.com/letscontrolit/ESPEasy/issues/1574#issuecomment-408641424
2018-07-29 21:58:51 +02:00
TD-er ac8c29e9c5 [ExtraTaskSettings] Keep ExtraTaskSettings actualized for plugin calls 2018-07-29 21:58:45 +02:00
TD-er 387b0f68a8 [ExtraTaskSettings] Added extra clear functions and checks
Mainly reading and writing files / settings now perform a lot more checks.
2018-07-29 21:58:38 +02:00
TD-er fa130bf649 [ExtraTaskSettings] Added some comments & clarifications 2018-07-29 21:58:31 +02:00
ESPEasy release bot e596403c0a automatically updated release notes for mega-20180723 2018-07-23 04:00:09 +02:00
Gijs NoorlanderandGitHub 1030bd0b0f Merge pull request #1603 from TD-er/bugfix/commands_with_space
[parseString] Some fixes and checks added + quotes in parameters possible
2018-07-23 01:09:52 +02:00
TD-er 985e463ddf [GetArgv] Add some C-array size checks
There was no check in size of the given C-array to write into.
2018-07-23 01:08:45 +02:00
TD-er 3787fa637a [Compiler warning] Initialize the matching_parenthesis to something
The variable is not used uninitialised, but still the compiler gives a warning which may trip Travis.
2018-07-22 23:47:18 +02:00
TD-er ac62eb40a0 [WebLogViewer] Removed reRunCount as quick fix for web log viewer 2018-07-22 23:41:32 +02:00
TD-er b9e883beba [GetArgv] Make sure only matching ", ' or [ is allowed
Added `'` as allowed "parenthesis" and make sure only the matching character is allowed as end of the string match.
2018-07-22 23:40:49 +02:00
TD-er 6281c002e0 [Travis CI] Signed/unsigned compare fix 2018-07-22 21:36:26 +02:00
TD-er 4e8a3cab2f [parseString] Add checks when command parameters used as int
Several usages of `parseString` were directly converted to int, without proper checking.
2018-07-22 17:23:29 +02:00
TD-er 423b90a661 [parseString] Use quotes to use special characters in command parameters
A command parameter may now allow for spaces or comma when the String is wrapped with either ' ' or " ".
2018-07-22 16:07:23 +02:00
TD-er 63fc99dd34 [parseString] Fix 1-of error in getParamStartPos
We need to find the xth command, so we need to find the position of the (X-1)th separator.

Too bad the rest of the world (other than programmers) do not start counting at 0 :(
2018-07-22 11:34:11 +02:00
ESPEasy release bot 71caf09c70 automatically updated release notes for mega-20180722 2018-07-22 04:00:08 +02:00
Gijs NoorlanderandGitHub ee3164a8f6 Merge pull request #1602 from TD-er/feature/LogLevelCheck
Feature/log level check
2018-07-22 02:58:21 +02:00
TD-er 3d5f612ac9 [Scheduler] Call yield() when idle
This makes the ESP do a lot more background tasks, which makes each yield() call shorter on average.
This makes the ESP feel more snappy.
2018-07-22 02:53:49 +02:00
TD-er 79f2eaf808 [Scheduler] Keep statistics on timeDiff computations
Apparently it is called 1.4 million times in 30 seconds and takes 8.5 CPU cycles on average (about 50'000 calls per second)
So maybe this function can benefit from some optimisation?
2018-07-22 02:39:02 +02:00
TD-er 1806a1438a [LogLevel] Added extra checks and make sure loglevel cache is up to date 2018-07-22 02:34:36 +02:00
TD-er 5108967c35 [LogLevel] Add checks for LOG_LEVEL_DEBUG_DEV 2018-07-22 01:31:14 +02:00
TD-er d0f1014bef [LogLevel] Add checks for LOG_LEVEL_DEBUG_MORE
Do not create Strings when not needed.
Highest level of checks added: LOG_LEVEL_DEBUG_MORE
2018-07-22 00:52:58 +02:00
TD-er 2afc143051 [LogLevel] Check loglevel before sending to log
Using template to do the check to prevent creation of Strings when required log level is higher than anyone is reading.
2018-07-21 23:54:51 +02:00
TD-er b2bf70e4ce [LogLevel] Use function to set loglevel and keep track of max log level 2018-07-21 23:32:37 +02:00
TD-er 6a5f090198 [LogLevel] LoadFromFile log to LOG_LEVEL_DEBUG_DEV 2018-07-21 22:56:08 +02:00
Gijs NoorlanderandGitHub 92c0543743 Merge pull request #1601 from TD-er/bugfix/logviewer_JavaScript
[Log Viewer] Fix a 1-off error when parsing logs
2018-07-21 21:29:30 +02:00
TD-er 1859aaad7d [Log Viewer] Fix a 1-off error when parsing logs 2018-07-21 21:27:23 +02:00
Gijs NoorlanderandGitHub 7e67ce536d Merge pull request #1594 from TD-er/bugfix/longpulse
[#1591] Move system timers to main scheduler
2018-07-21 21:19:32 +02:00
TD-er 2bd573963a [#1596] Remove timerSensor and make it set its own interval.
All enabled plugins have their own timer added to the scheduler.
The `PLUGIN_INIT` function call is used to reschedule when it was added, or enabled.
The set interval for the plugin will be used to set the new entry in the scheduler.
2018-07-21 01:28:14 +02:00
TD-er 447e958e74 [#1592] Remove systemCMDTimers
These timers were not used.
2018-07-20 21:52:49 +02:00
ESPEasy release bot 43908b37cd automatically updated release notes for mega-20180720 2018-07-20 04:00:16 +02:00
TD-er 04b631e4c9 [#1591] Move system timers to main scheduler
And fix longpulse command

With other plugins active, like the OLED Framed, the set period of `longpulse_ms` may fluctuate and durations below 100 msec are quite useless.

However, when running just a few sensors, the set pulse width is quite accurate.

Must still check a few other plugins.
2018-07-20 02:17:00 +02:00
Gijs NoorlanderandGitHub 2e8fc777d2 Merge pull request #1568 from TD-er/bugfix/1556_change_parse_params
[ParseString] Make ParseString more efficient and check results when used
2018-07-19 18:43:49 +02:00
ESPEasy release bot e060c83cf8 automatically updated release notes for mega-20180719 2018-07-19 04:00:14 +02:00
Gijs NoorlanderandGitHub 5480af2d5d Merge pull request #1587 from TD-er/feature/sunrise_sunset_offset
[sunrise/sunset] Allow offset from sunrise/sunset
2018-07-19 01:07:39 +02:00
TD-er ff28605d39 [sunrise/sunset] Allow offset from sunrise/sunset
`%sunrise%` and `%sunset%` were already available.
Now it is also possible to get some time before or after those times.
For example `%sunrise+10m%` or `%sunset-1h%`
The offset must be an integer (including + or -) and can have a postfix of "m" or "h".
Default is "s", for seconds.
2018-07-19 01:06:06 +02:00
Gijs NoorlanderandGitHub fe0ca9b9a3 Merge pull request #1584 from denisfrench/enable_clientid_is_name_without_unit
When clientid = %sysname%, only add %unit% if non-zero (#1155)
2018-07-18 21:17:06 +02:00
Gijs NoorlanderandGitHub 54ef70aee9 Merge pull request #1586 from beigenmann/mega
lib_archive already exists & Implicit dependency not found
2018-07-18 21:16:03 +02:00
Gijs NoorlanderandGitHub e24d077061 Merge pull request #1583 from clumsy-stefan/P077_fix
Fix for P077 crashes
2018-07-18 21:15:44 +02:00
Benno Eigenmann 7ebf29d857 lib_archive already exists & Implicit dependency not found 2018-07-18 14:02:01 +02:00
denisfrench 33c6925376 When clientid = %sysname%, only add %unit% if non-zero 2018-07-17 19:35:17 +10:00
stefan 0b383a1f3b Fix for P077 crashes
some code rearrangements and improvements:
- fix a rare buffer overflow
- only update variables when new (correct) values are received
- little speed-up
- correct code indentations...
2018-07-16 13:39:51 +02:00
stefan 70d1b0807c Merge remote-tracking branch 'origin/mega' into mega 2018-07-16 07:22:31 +02:00
ESPEasy release bot 8e1f4d628b automatically updated release notes for mega-20180716 2018-07-16 04:00:09 +02:00
Gijs NoorlanderandGitHub ef29603f05 Merge pull request #1581 from TD-er/feature/ESP32_partitiontable
[ESP32] Show partition table on sysinfo page
2018-07-16 00:59:50 +02:00
Gijs NoorlanderandGitHub 71b27d95fa Merge pull request #1562 from TD-er/bugfix/wifi_reset_empty_IP
[WiFi] Reset wifi when IP is set to 0.0.0.0
2018-07-16 00:58:31 +02:00
Gijs NoorlanderandGitHub 787c1c6c39 Merge pull request #1579 from TD-er/bugfix/scheduler_rewrite
[Scheduler] Complete rewrite of time based scheduling
2018-07-16 00:58:02 +02:00
Gijs NoorlanderandGitHub 74e4848edc Merge pull request #1578 from TD-er/bugfix/JSON_device_info
[JSON] Fixed broken JSON output on /json URL
2018-07-16 00:57:41 +02:00
TD-er 9a7690473a [ESP32] Show partition table on sysinfo page
Graphical display of partition table.
2018-07-16 00:49:30 +02:00
TD-er c401edde6b [ParseString] Fix getting the right part of the command line
Fix several 1-off errors.
Should drink more coffee ;)
2018-07-15 21:34:29 +02:00
TD-er 3fc1ba27e5 [JSON] Fixed broken JSON output on /json URL
This bug also broke the auto update of the sensor values on the device tab.
2018-07-15 20:23:11 +02:00
TD-er b2212d2edb [Scheduler] Complete rewrite of time based scheduling
All scheduled operations are now handled by a time scheduler.
Also the CPU load is now based entirely on the idle time found by this scheduler.
2018-07-15 20:21:37 +02:00
stefan 76f7dc82fc Merge branch 'bugfix/wifi_reset_empty_IP' into mega 2018-07-15 11:07:47 +02:00
ESPEasy release bot 86233b65bc automatically updated release notes for mega-20180714 2018-07-14 04:00:13 +02:00
Gijs NoorlanderandGitHub 984cfe23a0 Merge pull request #1569 from letscontrolit/bugfix/1567_uservarcheck
[#1567] Only check values set before sending
2018-07-13 10:35:25 +02:00
Gijs NoorlanderandGitHub 621087d48f [#1567] Only check values set before sending
Fix suggested by @s0170071 [here](https://github.com/letscontrolit/ESPEasy/issues/1567#issuecomment-404746920)
2018-07-13 09:21:42 +02:00
TD-er 00683a38c5 [ParseString] Make ParseString more efficient and check results before use
`ParseString` and `getParamStartPos` made (lots of) copies of the strings.
Also the result of `getParamStartPos` was not checked, which can result in crashes.
2018-07-13 08:09:42 +02:00
ESPEasy release bot 9336697f1a automatically updated release notes for mega-20180712 2018-07-12 04:00:12 +02:00
TD-er ad06cbc835 [WiFi] Reset wifi when IP is set to 0.0.0.0
As being described a few times and a screenshot shown here: https://github.com/letscontrolit/ESPEasy/issues/1302#issuecomment-393631572
It looks like a DHCP request may fail resulting in a cleared IP setup. The web server then still replies to requests, but no new connections can be made then.

This patch should detect such a situation and then reset the wifi and make a new connection.
2018-07-12 00:20:55 +02:00
Gijs NoorlanderandGitHub f5b026e678 Merge pull request #1561 from TD-er/bugfix/1542_domoticz_IDX
[#1542] Fix  Domoticz IDX more than 4 characters
2018-07-11 22:27:05 +02:00
TD-er e29eb2eb3c [#1542] Fix Domoticz IDX more than 4 characters
Looks like Domoticz uses an unsigned int, so it could be up-to 32 bits.
Just to be sure, I limited it now to 1 bln.
2018-07-11 22:26:05 +02:00
Gijs NoorlanderandGitHub 10329f4351 Merge pull request #1560 from TD-er/bugfix/send_to_controller
[#1555] Fix TSL2591 values are not transferred to controller
2018-07-11 22:08:13 +02:00
TD-er ab4750d5fa [#1555] Fix TSL2591 values are not transferred to controller
Also checked other plugins to see if they had the same issue and fixed a few other obvious switch-statement bugs.
2018-07-11 22:04:11 +02:00
ESPEasy release bot b9f3f68335 automatically updated release notes for mega-20180710 2018-07-10 04:00:12 +02:00
GrovkillenandGitHub 777485077c P077: changed category to "energy" 2018-07-09 07:11:15 +02:00
ESPEasy release bot 3e3ef4253f automatically updated release notes for mega-20180708 2018-07-08 04:00:08 +02:00
Gijs NoorlanderandGitHub 0e78b1f8c4 Merge pull request #1554 from TD-er/bugfix/preprocessor_issues
[PIO build] Build issues caused by incorrect precompile processing
2018-07-08 00:43:41 +02:00
TD-er e7764ca7e6 [PIO build] Build issues caused by incorrect precompile processing
It looks like `ESP32` is not defined anymore, which leads to various issues when building.
2018-07-08 00:29:11 +02:00
ESPEasy release bot 89578058b6 automatically updated release notes for mega-20180705 2018-07-05 04:00:18 +02:00
Gijs NoorlanderandGitHub 34beb07120 Merge pull request #1548 from TD-er/bugfix/low_loop_count
Statistics routines to test performance and some stability fixes
2018-07-05 02:26:19 +02:00
Gijs NoorlanderandGitHub c98ae55f23 Merge pull request #1541 from tempura-san/webui_fixes
Minor WebUI fixes
2018-07-05 02:25:43 +02:00
Gijs NoorlanderandGitHub 6b08009fdd Merge pull request #1546 from uzi18/patch-1
Update _C005.ino
2018-07-05 02:25:17 +02:00
TD-er f3a8e503ac [info] Display ESP32 partition table
And added some HEX formatting functions to reduce code duplication and allow for more uniform formatting.
2018-07-05 02:14:43 +02:00
TD-er 856afe9ec5 [PlatformIO] Update to Espressif32@1.1.1 2018-07-05 02:12:52 +02:00
TD-er c4803b4136 [Stability] Use functions to get Webserver Arguments from POST messages.
These functions check values before attempting to convert to int for example.
2018-07-04 01:19:15 +02:00
TD-er 9de29b8d9c [Stability] Add check for string length to isNumerical() 2018-07-04 01:17:19 +02:00
TD-er 5a2b4146e5 [PIO build] Use newer flag syntax for Travis 2018-07-04 01:16:38 +02:00
TD-er 0a8050312c [ESP32] Upgrade to new ESpressif32 version
Known issue:
Crash when trying to load the devices page.
2018-07-03 00:48:27 +02:00
TD-er 2ffa52c7ee [Timing stats] Allow computing timing to estimate performance. 2018-07-03 00:47:29 +02:00
TD-er 6a984ad750 [BMx280] Do not wait for measurements, collect async
This plugin did wait for 1000 msec for new samples.
Such delays will disturb time critical tasks.
2018-07-03 00:46:07 +02:00
Bartłomiej ZimońandGitHub f0c1b10f46 Update _C005.ino
unification like on C002.ino
2018-07-02 20:59:54 +02:00
Tempura San da6ab075a5 [WebUI] removed stray </div> 2018-06-29 13:37:47 +02:00
Tempura San fb7ffe0731 [WebUI] font-family set to monospace for TEXTAREA 2018-06-29 13:37:47 +02:00
TD-er 1d3bafc982 [loop times] New timer statistics class to monitor performance 2018-06-28 02:19:57 +02:00
TD-er 2fde3d28a8 [CPU usage] Increase loop count
Attempting to find a plugin ID based on a task number was done a lot and also rather brute force.
Now a cache is added to lessen the load.
2018-06-27 01:25:43 +02:00
ESPEasy release bot 4c1b3a8abf automatically updated release notes for mega-20180625 2018-06-25 04:00:08 +02:00
Gijs NoorlanderandGitHub 988f269954 Merge pull request #1533 from TD-er/bugfix/ArduinoIDE_build
Bugfix/arduino ide build
2018-06-24 12:20:02 +02:00
TD-er 808b571814 [PIO update] platform to espressif8266@1.7.3 2018-06-24 12:18:41 +02:00
TD-er a4f8068fcd [Arduino IDE] Fix build include path ESPEasy-Globals.h
As mentioned by @clumsy-stefan See [here](https://github.com/letscontrolit/ESPEasy/commit/8c9b9b1700efacbf281dd9bcc94684726cd034b1#commitcomment-29475286)
2018-06-24 12:17:52 +02:00
ESPEasy release bot 025e346cb1 automatically updated release notes for mega-20180624 2018-06-24 04:00:29 +02:00
Gijs NoorlanderandGitHub 3481dd9868 Merge pull request #1532 from TD-er/bugfix/RAM_usage_command_executor
Bugfix/ram usage command executor
2018-06-24 02:52:31 +02:00
TD-er fd596c14b2 [Cmd Exec] Use switch statement instead of lookup map
The lookup of a function call based on a command string is known at compile time, so no need to keep track of this in memory.
This saves about 2200 bytes of RAM.

The strings alone account for close to 800 bytes (not using F() macro) and they are also being stored in the map.
So that's about 1600 bytes.
The extra 400 bytes are probably the pointers being stored in the map.
2018-06-24 02:48:55 +02:00
TD-er 8c9b9b1700 [Cmd Exec] Add #ifndef #def statements to prevent multiple includes
For .h files, it is common practice to add #ifndef #def statements around the implementation to prevent compiler issues when a file might be included twice.
2018-06-24 02:44:47 +02:00
Gijs NoorlanderandGitHub e0b00a23cf Merge pull request #1522 from workgroupengineering/feature/CommandsManger
Feature commands manger
2018-06-23 22:40:16 +02:00
Gijs NoorlanderandGitHub 685c975bab Merge pull request #1531 from TD-er/bugfix/build_newer_platformio
Bugfix/build newer platformio
2018-06-23 22:39:09 +02:00
TD-er d01ca5209e [web log] Disable excessive web log about RAM usage 2018-06-23 22:38:43 +02:00
TD-er d5a05a1ac5 [PlatformIO.ini] VScode needs monitor_speed and update ESP8266 platform
VScode + PlatformIO needs the monitor_speed setting to be able to monitor the connected node. (default 9600 baud)
Also set the ESP8266 code base to 1.7.2
2018-06-23 22:11:58 +02:00
TD-er c670520788 [SDS011] Set SDS011 Dust plugin to normal from testing
This plugin works on my test setup for more than 6 months and is by far the most stable node. (system uptimes of > 110 days)
So this may be considered stable.
2018-06-23 22:09:29 +02:00
TD-er 859b67e34d [ArduinoJson] Update external library ArduinoJson.
Is needed to compile new ESP32 code.
2018-06-23 22:06:22 +02:00
TD-er d325f7c1fd [JavaScript] Device measurement value update may sometimes fail
The Json data has more items at the level of `data.Sensors[c]` thus must check if it is a TaskValues item.
Otherwise the values shown on Device page will not be updated.
2018-06-23 22:04:51 +02:00
TD-er c2998b081f [AM2320] Explicit use boolean in Wire.endTransmission
Newer ESP32 environment also has endTransmission with an int as parameter.
2018-06-23 22:01:55 +02:00
Saverio Cisternino c3c2a0b6bd Migration core command 2018-06-21 15:05:44 +02:00
Saverio Cisternino 9e00623677 Implement CommandsManager 2018-06-21 15:05:44 +02:00
ESPEasy release bot 6be032b350 automatically updated release notes for mega-20180621 2018-06-21 04:00:14 +02:00
Gijs NoorlanderandGitHub 96367a9422 Merge pull request #1520 from workgroupengineering/HotFix/Issue_1489
Fixed Issue #1489
2018-06-20 15:56:54 +02:00
Gijs NoorlanderandGitHub 543ac49eaf Merge pull request #1521 from workgroupengineering/feature/show_device_port_in_hex
Show in devices list port number in hex
2018-06-20 15:55:02 +02:00
Saverio Cisternino 3e0362d52a Show in devices list port number in hex 2018-06-20 13:48:03 +02:00
Saverio Cisternino 15118d372e Fixed Issue #1489 2018-06-20 13:36:12 +02:00
ESPEasy release bot c8ee7976cc automatically updated release notes for mega-20180619 2018-06-19 04:00:10 +02:00
Gijs NoorlanderandGitHub b750e875bd Merge pull request #1515 from TD-er/bugfix/esp8285_build
[ESP8285] PlatformIO set max upload size limit
2018-06-18 23:52:36 +02:00
TD-er 5ad43348b4 [ESP8285] PlatformIO set max upload size limit
With the newer Platform IO versions, builds failed because of wrong size set in board definition of ESP8285 board.
The PlatformIO settings labels have changed.
2018-06-18 23:23:27 +02:00
Gijs NoorlanderandGitHub 08b2259924 Merge pull request #1514 from TD-er/bigfix/build_flash_ESP32
[ESP32] Allow flashing to ESP32 again from PlatformIO
2018-06-18 21:46:27 +02:00
TD-er f268b40291 [OTA] Output proper port number when ARDUINO_FEATURE_OTA is set
No functional change, only proper log entry and a bit of code cleanup.
2018-06-18 21:44:45 +02:00
TD-er 52d747dd49 [ESP32] Set build to @0.12.0
@1.0.2 does build, but ESP32 device hangs when booting.
2018-06-18 21:43:14 +02:00
TD-er e5653d1817 [ESP32] Allow flashing to ESP32 again from PlatformIO
See [this thread](https://community.platformio.org/t/esp32-esptool-error-too-few-arguments/4230/44)
2018-06-18 20:26:54 +02:00
ESPEasy release bot 6b2257063b automatically updated release notes for mega-20180618 2018-06-18 04:00:12 +02:00
Gijs NoorlanderandGitHub b9a4af54c9 Merge pull request #1509 from TD-er/bugfix/disable_ping
[#1494] Disabled ping to check if host is reachable
2018-06-18 00:11:16 +02:00
TD-er 26634f7ba9 [#1494] Disabled ping to check if host is reachable
A failing ping may also halt the ESP node and some services may not return a ping, or ICMP packets may be filtered out on some connections.
See issue #1494.
2018-06-18 00:09:31 +02:00
Gijs NoorlanderandGitHub 9beda98009 Merge pull request #1501 from clumsy-stefan/mega
Ammended central I2C fuctions (#1417)
2018-06-17 22:33:33 +02:00
Gijs NoorlanderandGitHub c7c46d28b1 Merge pull request #1507 from stelas/mega
Add sunset and sunrise variables...
2018-06-17 22:31:48 +02:00
Steffen Lange c51b78bfbf Add %sunrise% and %sunset% variables 2018-06-17 17:06:28 +02:00
Steffen Lange df5c22529f Add GPS coordinates to Advanced Settings 2018-06-17 16:51:12 +02:00
ESPEasy release bot 808ab85afb automatically updated release notes for mega-20180615 2018-06-15 04:00:11 +02:00
Gijs NoorlanderandGitHub ad1cbf5ddf Merge pull request #1504 from TD-er/feature/warn_OTA_1M
[1M flash warning] Warn for OTA when 1M flash present
2018-06-14 23:27:29 +02:00
TD-er 4aff834f76 [1M flash warning] Warn for OTA when 1M flash present 2018-06-14 20:04:01 +02:00
ESPEasy release bot f8405690c5 automatically updated release notes for mega-20180614 2018-06-14 04:00:11 +02:00
Gijs NoorlanderandGitHub 3edf12913d [#1503] Use proper timeout on BME280/BMP280 2018-06-13 23:18:59 +02:00
Gijs NoorlanderandGitHub f0aa9c50f6 [#1502] Change wait-to-connect timeout to 12 sec. 2018-06-13 22:51:31 +02:00
stefan 80f87b6c53 Ammended central I2C fuctions (#1417)
Ammended central I2C functions with 16bit write and 32 bit read.
also added "false" parameter to wire.endTransmission before wire.request form

all as discussed in #1417
2018-06-13 13:55:16 +02:00
ESPEasy release bot f41f0969f0 automatically updated release notes for mega-20180613 2018-06-13 04:00:15 +02:00
Gijs NoorlanderandGitHub 14e2f4c697 [BMx280] Correct nr values for special sensor type
`SENSOR_TYPE_TEMP_EMPTY_BARO` outputs values 1 and 3, so must consider them as 3-valued sensor.
2018-06-13 00:54:18 +02:00
Gijs NoorlanderandGitHub b9f5535b48 Merge pull request #1500 from TD-er/bugfix/bme280_change_type_for_BMP280
[BMx280] Send data from BMP280 as temp_baro, not temp_hum_baro
2018-06-13 00:43:16 +02:00
TD-er 81022e4605 [BMx280] Send data from BMP280 as temp_baro, not temp_hum_baro
The plugin BMx280 can handle BMP280 and BME280.
The BMP version has no humidity sensor.
For Domoticz you have to send the data formatted differently.

Now the same plugin can be used for both BME280 and BMP280 and the settings in Domoticz can be set accordingly.
2018-06-13 00:39:23 +02:00
Gijs NoorlanderandGitHub 616898514b Merge pull request #1499 from TD-er/feature/log_reset_reason
[Diag] Log Reset Reason at boot for ESP8266 and ESP32
2018-06-12 23:57:54 +02:00
TD-er 020aec0541 [Diag] Log Reset Reason at boot for ESP8266 and ESP32
To get a better idea of the cause with reported issues.
2018-06-12 23:24:59 +02:00
ESPEasy release bot 1e39a314f5 automatically updated release notes for mega-20180611 2018-06-11 04:00:21 +02:00
Gijs NoorlanderandGitHub 4d369927fd Merge pull request #1491 from TD-er/bugfix/ultrasonic_multi_device
Bugfix/ultrasonic multi device
2018-06-11 00:49:08 +02:00
Gijs NoorlanderandGitHub c1465831bb Merge pull request #1481 from tempura-san/mega
[MQTT Import] system variables support for topics
2018-06-11 00:48:50 +02:00
Gijs NoorlanderandGitHub 3ec1d29c19 Merge pull request #1473 from workgroupengineering/HotFix/PCA9685_Instance_Command
Fixed issue when there is more PCA9685
2018-06-11 00:48:23 +02:00
Gijs NoorlanderandGitHub 22b430c669 Merge pull request #1461 from TD-er/feature/central_i2c_code
[#1417] Move I2C functions to a separate file
2018-06-11 00:47:58 +02:00
TD-er 2f7560cc90 [BME/BMP280] Improve temperature/humidity readout
Previously the I2C registers containing measurement data was read per address at once.
Now all are read in one I2C command and then processed.

Also changed the source to be able to support multiple instances of the same task.
2018-06-11 00:08:30 +02:00
TD-er 4f97db87f7 [PlatformIO] Added libraries to be able to use std::map 2018-06-09 23:21:42 +02:00
TD-er dcf8e86db7 [#1484] Multiple instances of ultrasonic sensors
This should also fix #1381.

There is something strange about the handling of micros() timers in `NewPingESP8266`.
For this reason I added also a timeout based on `millis()`.
2018-06-09 23:20:29 +02:00
ESPEasy release bot 06914e72b1 automatically updated release notes for mega-20180606 2018-06-06 04:00:17 +02:00
Gijs NoorlanderandGitHub fca56ac311 Merge pull request #1485 from letscontrolit/bugfix/Gpio_command
[GPIO command] work-around as long as gpio command is still performed in P001
2018-06-05 20:38:44 +02:00
Gijs NoorlanderandGitHub 2bacc5a1b2 [GPIO command] work-around as long as gpio command is still performed in P001_switch.
As discussed in #1477
2018-06-05 20:02:00 +02:00
TD-er a487bd132d [I2C] Disable calls to wire.begin() from libraries 2018-06-05 19:56:23 +02:00
Tempura San 3f441b11ee [MQTT Import] system variables support for topics 2018-06-04 23:45:30 +02:00
Saverio Cisternino 40d5780600 Fixed issue when there is more PCA9685 2018-05-30 10:07:06 +02:00
TD-er 9822c4bac0 [I2Cdev] Add I2Cdevlib library
Adding an existing and proven I2C library.
Will need to test if this is working fine on ESP32 too and try to move I2C functionality to use these functions.
2018-05-27 01:32:40 +02:00
ESPEasy release bot 0fc3a28875 automatically updated release notes for mega-20180524 2018-05-24 04:00:14 +02:00
TD-er 0aac28b15e [#1417] Move I2C functions to a separate file
As discussed in #1417.
2018-05-24 00:41:18 +02:00
Gijs NoorlanderandGitHub 810927f32b Merge pull request #1244 from susisstrolch/git-hooks
GIT hooks: post-merge, post-commit, post-checkout
2018-05-23 22:28:00 +02:00
Gijs NoorlanderandGitHub c3d8d0a2fe Merge branch 'mega' into git-hooks 2018-05-23 22:27:41 +02:00
Gijs NoorlanderandGitHub 0c9e27a180 Merge pull request #1369 from workgroupengineering/feature/mqtt_enhanced_customization
[Feature]mqtt enhanced customization
2018-05-23 22:25:28 +02:00
Gijs NoorlanderandGitHub a5f44a1811 Merge pull request #1460 from TD-er/bugfix/CI-build-errors
[CI build] Small fix to prevent Travis CI build errors.
2018-05-23 22:15:46 +02:00
TD-er 66f386f3fc [CI build] Small fix to prevent Travis CI build errors. 2018-05-23 22:14:14 +02:00
Gijs NoorlanderandGitHub e74cc14dfb Merge pull request #1448 from workgroupengineering/feature/PCA9685_enhanced
PCA9685 enhanced
2018-05-23 22:00:38 +02:00
Gijs NoorlanderandGitHub ad1907eef4 Merge pull request #1387 from workgroupengineering/feature/Multi_OLED
Implement Issue #1377
2018-05-23 21:31:07 +02:00
Saverio Cisternino 7640132828 PCA9685: Add support at command [TaskName].gpio all,1 | 0 which allows you to turn on (1) or turn off (0) all gpio of expander. 2018-05-22 15:25:49 +02:00
Saverio Cisternino fecf740121 PCA9685: Add named istance pulse command. Es: Extend.pulse 0,1,50,auto gnenerate pulse on gpio 0 with duration of 50 ms an autorestart after 50 ms 2018-05-22 15:25:49 +02:00
Saverio Cisternino 7d9628c6d1 PCA9685: Add support at commad gpio on name instance call 2018-05-22 15:25:49 +02:00
Saverio Cisternino 7d5a0db6fa PCA9685: Allow use frq alias when call instance command es: Extender.frq 100 2018-05-22 15:25:49 +02:00
Saverio Cisternino 49fc761657 PCA9685: Add pcafrq arg validation 2018-05-22 15:25:48 +02:00
Saverio Cisternino 98d1a9cec4 PCA9685: Allow use pwm alias when call instance command es: Extender.pwm 1, 1000 2018-05-22 15:25:07 +02:00
Saverio Cisternino ae010e25fb PCA9685: show address in hex. 2018-05-22 15:25:06 +02:00
Saverio Cisternino 3013c8e468 PCA9685: Add Pin e PWM validation 2018-05-22 15:25:06 +02:00
Saverio Cisternino ade5f83819 PCA9685: Allow named istance commands for execute command on specific task when there is more PCA9685 task. 2018-05-22 15:25:05 +02:00
Saverio Cisternino caf487e04e PCA9685: Allow select address. 2018-05-22 15:25:05 +02:00
Saverio Cisternino d8100a2b9d ExecuteCommand intercept Par4 and Par5 2018-05-22 15:24:24 +02:00
Saverio Cisternino 18f38b3019 EventStruct copy ctor 2018-05-22 15:24:23 +02:00
Saverio Cisternino 952c532542 -Arminizze type of ParX of systemTimerStruct with EventStruct to prevent truncation issue
-Add setSystemTimer overload
2018-05-22 15:24:23 +02:00
Saverio Cisternino d1b15579a1 Allow PLUGIN_TIMER_IN TaskIndex 2018-05-22 15:24:23 +02:00
Saverio Cisternino 8445d8cc71 Allow escape char [ and ] for use with comannd and rule containde space es [Extra 2]#Go 2018-05-22 15:24:23 +02:00
Saverio Cisternino 7720b5bce3 Allows plugin to intercept PLUGIN_WRITE and PLUGIN_REQUEST, when there is more tasks of same plugin type but different configuration. 2018-05-22 15:24:23 +02:00
Saverio Cisternino 965046778a Allow use Unit Name as MQTT ClientId 2018-05-22 15:22:24 +02:00
Saverio Cisternino 1a8fffda28 Allow custom lwt message 2018-05-22 15:22:24 +02:00
Saverio Cisternino a5e3979be6 Allow custom mqtt lwt topic 2018-05-22 15:22:24 +02:00
ESPEasy release bot 9d2e008a5c automatically updated release notes for mega-20180522 2018-05-22 04:00:14 +02:00
Gijs NoorlanderandGitHub a031ce9b5b Merge pull request #1456 from TD-er/feature/SonoffPOW2
[P077] CSE7766 - Energy (Sonoff S31 and Sonoff Pow R2)
2018-05-22 00:10:35 +02:00
Gijs NoorlanderandGitHub c8593d5644 Merge pull request #1457 from tedenda/Inform_user_about_valid_tasknumber_for_PulseCounter
Added a note for PulseCounter
2018-05-22 00:09:44 +02:00
Daniel Tedenljung 306b2174f2 Add note for PulseCounter
I added a note if you choose PulseCounter on task 5-12.
Part of #882
2018-05-21 23:03:22 +02:00
Daniel TedenljungandGitHub 10ff688cc4 Merge pull request #3 from letscontrolit/mega
Catch up...
2018-05-21 22:45:52 +02:00
TD-er ae292921e2 [P077] CSE7766 - Energy (Sonoff S31 and Sonoff Pow R2)
Was P134 on the playground
2018-05-21 22:34:03 +02:00
Gijs NoorlanderandGitHub a1622f6066 Merge pull request #1449 from clumsy-stefan/mega
Add CSE7766 for Sonoff POW R2 to plugin_sets
2018-05-21 20:23:56 +02:00
Gijs NoorlanderandGitHub 86490d6f0b Merge pull request #1454 from giig1967g/new/commands_ip
Added 10 new commands for setup through serial port
2018-05-21 19:36:15 +02:00
Plebs 976df758d2 Added 10 new commands for serial port configuration
In order to semplify the setup of new units, I have added the following commands for modifying settings though serial port:

gateway (x.x.x.x)
dns (x.x.x.x)
subnet (x.x.x.x)
dst (0 or 1)
mqttretainflag (0 or 1)
messagedelay (ms)
ntphost (url)
timezone (minutes)
udpport (port number)
usentp (0 or 1)

work in serial and rules
2018-05-21 00:00:02 +02:00
stefan c31e50dfa0 Merge remote-tracking branch 'origin/mega' into mega 2018-05-19 10:25:05 +02:00
ESPEasy release bot 147acc6724 automatically updated release notes for mega-20180519 2018-05-19 04:00:07 +02:00
stefan bfd5ad587a Merge remote-tracking branch 'origin/mega' into mega 2018-05-19 00:19:06 +02:00
Saverio Cisternino 84791ecbd5 Allow using two oled at same time.
Suppose you have two oled task with name FrontPanel and BackPanel. If you want turn off FrontPanel and print on BackPanel "Hi" at posintion 0,0  you must use the following instructions:

frontpanel.oledcmd off
backpanel.oled 0,0,Hi

if task name have space you must surround with square brackets. es: [task with space].oledcmd off
2018-05-18 15:39:06 +02:00
Saverio Cisternino 6e4f4cb27b EventStruct copy ctor 2018-05-18 15:24:21 +02:00
Saverio Cisternino c1ee60ebca -Arminizze type of ParX of systemTimerStruct with EventStruct to prevent truncation issue
-Add setSystemTimer overload
2018-05-18 15:24:21 +02:00
Saverio Cisternino fc1f6acc61 Allow PLUGIN_TIMER_IN TaskIndex 2018-05-18 15:24:21 +02:00
Saverio Cisternino e2c82680aa Allow escape char [ and ] for use with comannd and rule containde space es [Extra 2]#Go 2018-05-18 15:23:59 +02:00
Saverio Cisternino f0eb7659b2 Allows plugin to intercept PLUGIN_WRITE and PLUGIN_REQUEST, when there is more tasks of same plugin type but different configuration. 2018-05-18 15:21:40 +02:00
GrovkillenandGitHub 966353614d [tools page] added a function for wide buttons 2018-05-18 09:58:18 +02:00
stefan 3308a47a3a Merge remote-tracking branch 'origin/mega' into mega 2018-05-18 08:19:08 +02:00
ESPEasy release bot ffad0256e9 automatically updated release notes for mega-20180518 2018-05-18 04:00:07 +02:00
GrovkillenandGitHub c531639d03 Merge pull request #1450 from Grovkillen/mega
[tools page] added 100% wide buttons + red factory reset
2018-05-18 00:42:50 +02:00
GrovkillenandGitHub a2ec2d15f1 [tools page] Center text, factory reset is red 2018-05-18 00:29:43 +02:00
GrovkillenandGitHub eaa21d0182 [tools page] wider buttons 2018-05-18 00:16:36 +02:00
GrovkillenandGitHub 5a19b08262 Merge pull request #30 from letscontrolit/mega
update from master
2018-05-18 00:14:07 +02:00
stefan 2c9964127c Add CSE7766 for Sonoff POW R2 to plugin_sets
Add USES_P134 to define_plugin_sets.h for use with Sonoff POW R2 measurments.
See also
pull request #94 on ESPEasyPlayground (https://github.com/letscontrolit/ESPEasyPluginPlayground/pull/94)
2018-05-17 20:35:22 +02:00
GrovkillenandGitHub ea20971b51 Merge pull request #1442 from Grovkillen/memory-optimization-for-JS
Memory optimization for JavaScript
2018-05-17 09:45:24 +02:00
GrovkillenandGitHub eed78f9613 [JavaScript] made static variables "const" 2018-05-17 08:51:13 +02:00
GrovkillenandGitHub fe26453927 Merge pull request #28 from letscontrolit/mega
update from master
2018-05-17 08:46:37 +02:00
GrovkillenandGitHub 70db6d65db Merge pull request #1440 from TD-er/feature/1431
[#1431] Add DataAcquisition to /json and reduce json for sensor updates
2018-05-17 08:18:55 +02:00
ESPEasy release bot 07b9d5c6f5 automatically updated release notes for mega-20180517 2018-05-17 04:00:08 +02:00
TD-er 45048ea6bc [#1431] Add DataAcquisition to /json and reduce json for sensor updates
The /json page now also supports a limited view for the device page sensor updates.

The supported URLs for the json page are:

- `/json` All information in JSON format.
- `/json?view=sensorupdate` Limited view only for auto update on Devices tab.
- `/json?tasknr=N` with N being the task number, just outputs the information for the given task number.

N.B. these parameters can be combined, like: `/json?tasknr=1&view=sensorupdate`
2018-05-16 23:41:50 +02:00
Gijs NoorlanderandGitHub c7ff6059ce Merge pull request #1438 from TD-er/bugfix/flash_strings
[Flash strings] Store more strings into flash to keep memory usage low
2018-05-16 21:39:04 +02:00
Gijs NoorlanderandGitHub 6d2cd505a8 Update WebServer.ino 2018-05-16 14:30:38 +02:00
Gijs NoorlanderandGitHub 6b05d2b02e Update _C012.ino 2018-05-16 13:45:29 +02:00
ESPEasy release bot 083310679c automatically updated release notes for mega-20180516 2018-05-16 04:00:09 +02:00
Gijs NoorlanderandGitHub 2758c80af2 Merge pull request #1437 from Grovkillen/add-current-log-level-+-legend
Add current log level + some error capture
2018-05-16 02:08:40 +02:00
TD-er 0bd1134eca [Flash strings] Store more strings into flash to keep memory usage low 2018-05-16 01:55:41 +02:00
GrovkillenandGitHub 4a75b1fa6d [web log] error capture of lower log levels
Also added the current log level as info above the log viewer...
2018-05-15 21:51:07 +02:00
GrovkillenandGitHub 21d30f0ebe Merge pull request #27 from letscontrolit/mega
update from master
2018-05-15 20:22:35 +02:00
Gijs NoorlanderandGitHub 16463dff85 Merge pull request #1432 from Grovkillen/github-copy-button
GitHub copy button
2018-05-15 20:20:08 +02:00
Gijs NoorlanderandGitHub 8e5fb85fa8 Merge pull request #1429 from giig1967g/bugfix/formats
Another small fix for #1426
2018-05-15 20:19:25 +02:00
GrovkillenandGitHub 74f059e639 Merge pull request #1434 from Grovkillen/bugfix-for-log-level-info
Bugfix for log level info
2018-05-15 20:17:53 +02:00
GrovkillenandGitHub 045c50f69f [web log] bugfix for empty logJSON stings 2018-05-15 19:49:18 +02:00
GrovkillenandGitHub a122066e36 Merge pull request #26 from letscontrolit/mega
update from master
2018-05-15 19:24:20 +02:00
GrovkillenandGitHub d3bf64fc4f Merge pull request #25 from letscontrolit/mega
Update from master
2018-05-15 15:39:13 +02:00
GrovkillenandGitHub 74decbd159 [sysinfo page] fixed layout of button 2018-05-15 15:38:03 +02:00
GrovkillenandGitHub b00020de89 [sysinfo page] Added GitHub button to TXBuffer 2018-05-15 07:03:40 +02:00
GrovkillenandGitHub d9848c1911 [sysinfo page] added CSS to GitHub copy button 2018-05-15 07:02:27 +02:00
ESPEasy release bot 648353b216 automatically updated release notes for mega-20180515 2018-05-15 04:00:11 +02:00
GrovkillenandGitHub f729012ee1 [sysinfo page] added GitHub copy 2018-05-15 00:44:10 +02:00
GrovkillenandGitHub 87176b453a Added latest nightly release badge 2018-05-14 23:18:23 +02:00
GrovkillenandGitHub a2270bebbf Merge pull request #24 from Grovkillen/mega
update
2018-05-14 23:02:50 +02:00
GrovkillenandGitHub 305d729015 Merge pull request #23 from letscontrolit/mega
update from master
2018-05-14 23:01:39 +02:00
Plebs c31fa71988 Another small fix for #1426 2018-05-14 22:38:58 +02:00
Gijs NoorlanderandGitHub fba4331213 Merge pull request #1423 from Grovkillen/optimize-log-script
Optimize log script
2018-05-14 20:51:55 +02:00
Gijs NoorlanderandGitHub 972d24118a Merge pull request #1424 from Grovkillen/fix-corrupted-bin-files
Fix corrupted bin files
2018-05-14 20:51:34 +02:00
Gijs NoorlanderandGitHub a885cf1f90 Merge pull request #1427 from giig1967g/bugfix/formats
fix for #1426
2018-05-14 20:50:35 +02:00
Plebs 56d85814b1 fix for #1426 2018-05-14 19:09:35 +02:00
GrovkillenandGitHub c760174c78 [fix for crc2.py] truncation corrupted bin file 2018-05-14 12:20:13 +02:00
GrovkillenandGitHub 2c43094a87 [web log] added warning if IE11 or older is used 2018-05-14 10:59:23 +02:00
GrovkillenandGitHub ee99e9e6f4 [web log] added the reRunCout to the function 2018-05-14 10:09:08 +02:00
GrovkillenandGitHub 864e402cc2 [web log] Added declaring of reRunCount 2018-05-14 09:29:55 +02:00
GrovkillenandGitHub dff51ba54d [web log] Chunk transfer instead of line transfer 2018-05-14 09:27:18 +02:00
GrovkillenandGitHub 0eea67d176 Merge pull request #22 from Grovkillen/mega
update
2018-05-14 08:10:10 +02:00
GrovkillenandGitHub 9139baa6cb Merge pull request #21 from letscontrolit/mega
update from master
2018-05-14 08:09:06 +02:00
ESPEasy release bot fdf8a40acf automatically updated release notes for mega-20180514 2018-05-14 04:00:09 +02:00
Gijs NoorlanderandGitHub 547f3643ff Merge pull request #1421 from TD-er/bugfix_issue#1411
Memory optimizations
2018-05-13 23:46:12 +02:00
TD-er 83d0980248 [ESP32] ESP.getResetReason() is unknown to ESP32 2018-05-13 23:25:08 +02:00
TD-er 0b1f9a81b5 [memory corruption] LWIP data corrupts log buffer
Not sure how, but the headers of new JSON message can corrupt the buffer in the web log buffer.
In this attempt the log buffer lines are now moved to heap instead of stack. 
Also the streaming webserver is given a bit more time to handle requests.

Steps to reproduce:
Set web log level to maximum and open web log viewer.
Then wait a few seconds to minutes to let the JSON stream stop and look at the last sent Json message. This will contain some typical Json web headers and thus no valid Json anymore.

Also added a quick fix for #1419
2018-05-13 23:12:02 +02:00
TD-er 0e8b333f48 [issue #1380] Prevent memory leaks in WiFiClient
See described work-around in https://github.com/esp8266/Arduino/issues/4497#issuecomment-373023864
2018-05-13 23:04:45 +02:00
TD-er 67098c2539 [memory] use "-DNDEBUG" to disable ASSERT macros
See https://github.com/esp8266/Arduino/issues/3978
2018-05-13 22:58:10 +02:00
Gijs NoorlanderandGitHub 700b14b8ff Merge pull request #1420 from ZericE/mega
[#1404] Change email notify protocol to better comply with RFC2821. Rewrite line breaks for content-type: text/html
2018-05-13 19:05:03 +02:00
ZericE 9175cd3a17 use reference to free up mem. 2018-05-13 09:23:23 -07:00
ZericE c16f27af1b remove unneeded use of bMesg to free up mem. 2018-05-13 08:45:43 -07:00
Gijs NoorlanderandGitHub cc60b8a05d Merge pull request #1382 from flexiti/mega
ESP32 OTA amendments
2018-05-13 11:42:33 +02:00
Gijs NoorlanderandGitHub d7b46b3395 Merge pull request #1416 from giig1967g/new/formats
Added more #formats transformations
2018-05-13 11:41:12 +02:00
ESPEasy release bot 701677274f automatically updated release notes for mega-20180513 2018-05-13 04:00:08 +02:00
ZericE ebfffb8d43 updated comment 2018-05-12 18:08:47 -07:00
ZericE f5fd624739 remove debug lines in email notify 2018-05-12 18:06:00 -07:00
ZericE abdf011a2d undo unnecessary changes in email body
Previously I thought the body wasn't working correctly in email, however it was, with the exception of line breaks for text/html that have to be rewritten.
2018-05-12 18:03:59 -07:00
ZericE 4ece42bdc9 Merge branch 'mega' of https://github.com/ZericE/ESPEasy into mega 2018-05-12 16:48:17 -07:00
ZericE b0961c15a3 [#1404] Fix email notification for RFC2821, fix so msg body included.
In communicating with the server, the sender and receiver needed to be surrounded by <> to be RFC2821 compliant.
The message body was coming out blank as an empty string was being sent instead of the correct string.
2018-05-12 16:43:30 -07:00
Plebs 70a422bdfd Added more #formats transformations
New Transformations:
#H: Hot/Cold
#A: Man/Auto
#a: M/A

New Justifications:
#Lx: Left (x=number of chars)
#Rx: Right (x=number of chars)
#Ux.y: Substring (x=first char; y=number of chars)
2018-05-12 23:57:58 +02:00
Gijs NoorlanderandGitHub 5449d82639 [PR #1304] Rename file before running crc2.py
Quick patch of PR #1304
2018-05-12 22:57:17 +02:00
ZericEandGitHub 7e5577b30b Merge pull request #1 from letscontrolit/mega
update latest changes from main repository
2018-05-12 13:14:39 -07:00
Gijs NoorlanderandGitHub 0d95fd12fe Fix debug code (commented) in _P045_MPU6050.ino
Original PR was https://github.com/letscontrolit/ESPEasy/pull/1389
Found by @maartenpaauw
2018-05-12 22:10:33 +02:00
flexitiandGitHub b7df21a1d5 Merge pull request #4 from letscontrolit/mega
Sat May 12 04:00:06 CEST 2018
2018-05-12 11:00:14 +02:00
ESPEasy release bot 431b94c587 automatically updated release notes for mega-20180512 2018-05-12 04:00:06 +02:00
GrovkillenandGitHub 53241f2afc Added Github logo (for button) 2018-05-12 00:46:10 +02:00
GrovkillenandGitHub 076c2c04f1 Merge pull request #20 from letscontrolit/mega
update from master
2018-05-12 00:43:00 +02:00
GrovkillenandGitHub 10e912f46f Merge pull request #1413 from Grovkillen/optimized-log-a-tiny-bit-(feels-good)
Optimized log a tiny bit (feels good)
2018-05-12 00:25:26 +02:00
GrovkillenandGitHub c90174712b [web log] safety net not needed anymore 2018-05-12 00:14:54 +02:00
GrovkillenandGitHub 1d71d362b9 Merge pull request #19 from letscontrolit/mega
update from master
2018-05-12 00:06:39 +02:00
Gijs NoorlanderandGitHub 73fbe04981 Merge pull request #1410 from TD-er/bugfix/nightlybuilds
[build] Do builds twice on the nightly builds
2018-05-11 22:11:08 +02:00
flexitiandGitHub 469735b5fd Merge pull request #3 from letscontrolit/mega
Commits on May 10, 2018
2018-05-11 17:42:10 +02:00
TD-er cf13024175 [#1411] Add SensorTypeNone to indicate no sensor values for Domoticz
Some plugins which do not output any values had this setting set to "Switch" or "single".
2018-05-11 17:20:32 +02:00
Gijs NoorlanderandGitHub eaf6488b0c Merge pull request #1409 from Grovkillen/device-page]-added-max-request
[Device page] added max request
2018-05-11 14:44:32 +02:00
GrovkillenandGitHub 4d067f010f [device page] added dynamic length to loop 2018-05-11 14:41:01 +02:00
GrovkillenandGitHub e6db005dba [web log] also taking care of disconnects 2018-05-11 14:19:16 +02:00
GrovkillenandGitHub 7a03802c15 [device page] added max request here too 2018-05-11 14:00:17 +02:00
GrovkillenandGitHub 1e2e750b3b Merge pull request #18 from letscontrolit/mega
update from master
2018-05-11 13:59:23 +02:00
Gijs NoorlanderandGitHub 50a19692b5 Merge pull request #1408 from Grovkillen/fix-request-issue
[web log] Fix request issue
2018-05-11 13:46:52 +02:00
TD-er b6284f2701 [build] Do builds twice on the nightly builds
And added build for ESP32 and Sonoff POW
2018-05-11 13:42:41 +02:00
GrovkillenandGitHub b3db6621e2 [web log] fixed wait on requests 2018-05-11 13:33:28 +02:00
GrovkillenandGitHub 2d32fe3e32 Merge pull request #17 from letscontrolit/mega
update from master
2018-05-11 11:33:28 +02:00
GrovkillenandGitHub 241f21b87c Merge pull request #1407 from Grovkillen/fix-for-sub-second-timers
[web log] Fix for sub second timers
2018-05-11 10:58:45 +02:00
GrovkillenandGitHub 4f18f81522 [web log] fixed overflow when set to "debug dev" 2018-05-11 10:50:47 +02:00
GrovkillenandGitHub b860f79e77 Merge pull request #16 from letscontrolit/mega
update from master
2018-05-11 10:44:17 +02:00
Gijs NoorlanderandGitHub 8966e1680b Merge pull request #1403 from Grovkillen/fix-timer-in-javascript
Fix timer in javascript
2018-05-11 10:03:34 +02:00
GrovkillenandGitHub 01436201a3 Added ";" 2018-05-11 09:59:31 +02:00
GrovkillenandGitHub 1ac94bf6db Merge pull request #15 from letscontrolit/mega
Update from master
2018-05-11 09:44:20 +02:00
GrovkillenandGitHub ed66a98e08 Fix for decimals on auto update device page 2018-05-11 09:43:07 +02:00
Gijs NoorlanderandGitHub 5a0c2e2353 Merge pull request #1405 from TD-er/bugfix/json_nr_decimals
[JSON] Add number of decimals to the JSON output
2018-05-11 09:42:01 +02:00
TD-er 06bc63e385 [JSON] Add number of decimals to the JSON output 2018-05-11 09:40:32 +02:00
GrovkillenandGitHub d3ebe3ec46 Fixed scrolling issue when fetch <450mSec 2018-05-11 09:32:23 +02:00
GrovkillenandGitHub 2282288030 Added check to stop flooding 2018-05-11 09:17:17 +02:00
GrovkillenandGitHub e5766bee46 Fixed some small syntax missing 2018-05-11 08:31:04 +02:00
flexitiandGitHub c5bbfd1b4c Merge pull request #2 from letscontrolit/mega
Fri May 11 04:00:08 CEST 2018
2018-05-11 08:18:27 +02:00
ESPEasy release bot 652ce2f809 automatically updated release notes for mega-20180511 2018-05-11 04:00:08 +02:00
GrovkillenandGitHub f3fd3900e5 Removed a timer reset... 2018-05-11 00:44:49 +02:00
GrovkillenandGitHub 07b726d4b1 Preparation for fixed decimals... 2018-05-11 00:30:58 +02:00
GrovkillenandGitHub 648d960bf5 Fixed format (I like tabs, Platformio like spaces) 2018-05-10 23:25:45 +02:00
GrovkillenandGitHub 1829a35df2 Fixed the timers for log + devices 2018-05-10 23:23:06 +02:00
GrovkillenandGitHub c5bb6700d9 Merge pull request #14 from letscontrolit/mega
update from master
2018-05-10 22:45:00 +02:00
Gijs NoorlanderandGitHub 3b2dd86280 Merge pull request #1402 from TD-er/feature/ImproveWebserver
[Web] Improve serving large blobs directly from flash
2018-05-10 22:27:38 +02:00
TD-er 11563469d0 [Web] Improve serving large blobs directly from flash
Serve PROGMEM data directly from flash.
This makes it easier to add Javascript code to the source and it will be served directly from flash
2018-05-10 22:13:56 +02:00
Gijs NoorlanderandGitHub fcea12b515 Merge pull request #1400 from TD-er/bugfix/JSONoutput
Format user values + Legend for log JSON
2018-05-10 18:48:33 +02:00
TD-er 2b72ad2088 [log JSON] Add log level legend to the logjson output
To be shown on the  web log viewer as legend
2018-05-10 18:10:40 +02:00
TD-er 30acf569e7 [cleanup] Simplify formatting user variables and allow checking
Extended the way a user variable is formatted to allow checking the value.
Also made clear when values are actually checked.
2018-05-10 18:05:14 +02:00
GrovkillenandGitHub cb71f73b56 Merge pull request #13 from letscontrolit/mega
update from master
2018-05-10 13:11:14 +02:00
flexitiandGitHub 521ca465e5 Merge pull request #1 from letscontrolit/mega
Thu May 10 04:00:13 CEST 2018
2018-05-10 10:51:44 +02:00
ESPEasy release bot ca10c834cc automatically updated release notes for mega-20180510 2018-05-10 04:00:13 +02:00
Gijs NoorlanderandGitHub ef90c84506 Merge pull request #1393 from Grovkillen/color-scheme-for-web-log
Color scheme for web log
2018-05-09 23:34:47 +02:00
Gijs NoorlanderandGitHub 3c2f539ec3 Merge pull request #1390 from workgroupengineering/HotFix/Device_Plugin_ID
Fix plugin_id visualization
2018-05-09 23:34:22 +02:00
Gijs NoorlanderandGitHub 30419c9932 Merge pull request #1378 from TD-er/feature/Ventus_W266_build_selection
[build] Special build config for Ventus W266
2018-05-09 23:33:44 +02:00
Gijs NoorlanderandGitHub a340b4dedc Merge pull request #1385 from Grovkillen/auto-update-values
Auto update values on device page
2018-05-09 23:32:58 +02:00
Gijs NoorlanderandGitHub 69e4d1ec7a Merge pull request #1384 from ZericE/mega
[#1368] Remove call to Plugin_041_update in _P041_NeoClock that caused a hard crash.
2018-05-09 23:29:55 +02:00
GrovkillenandGitHub 91570e9df5 Fixed copy to clipboard (handle HTML tags) 2018-05-09 20:48:03 +02:00
GrovkillenandGitHub 53e9a8f4a3 Fixed the log level colors 2018-05-09 19:51:21 +02:00
GrovkillenandGitHub 71c9b772fe Removed auto update of values... wrong branch 2018-05-09 19:34:40 +02:00
Saverio Cisternino 3ff96a5bec Fix plugin_id visualization on devices view that afflict Development build 2018-05-09 18:54:00 +02:00
GrovkillenandGitHub 32f8edb1ce Added div to web log (color scheme)
Need to add clean up to copy button.
2018-05-09 16:04:40 +02:00
GrovkillenandGitHub 977611b39c Wrap up for the PR 2018-05-08 00:09:22 +02:00
GrovkillenandGitHub 52979cafba Values are updated (1-4 values per task) 2018-05-07 23:47:36 +02:00
ZericE b0a1b95f64 Merge remote-tracking branch 'upstream/mega' into mega 2018-05-07 12:58:07 -07:00
ZericE 04f323b902 [#1368] Remove call to Plugin_041_update causing a hard crash.
Plugin_041_update was being called before the plugin has been initialized, this resulted in an exception 28 type crash. Plugin_041_update clears the display and isn't required at the time of webform save.
2018-05-07 12:34:38 -07:00
GrovkillenandGitHub c20656fe77 First draft of auto update of task/device values 2018-05-07 20:41:55 +02:00
GrovkillenandGitHub 6d3b2d1b18 Merge pull request #12 from letscontrolit/mega
update from master
2018-05-07 12:52:02 +02:00
flexitiandGitHub 388b8f4feb ESP32 OTA port setting 2018-05-07 11:57:32 +02:00
flexitiandGitHub 7b6b72b912 ESP32 OTA port is set to 3232 2018-05-07 11:53:06 +02:00
flexitiandGitHub 5e9ad087b9 OTA check box
if Arduino OTA is not compiled, a button to choose  it is not available
2018-05-07 11:50:03 +02:00
flexitiandGitHub ca5a1bdba1 Improvement in the file platformio.ini 2018-05-07 11:46:50 +02:00
ESPEasy release bot 98522d7cfc automatically updated release notes for mega-20180507 2018-05-07 04:00:08 +02:00
GrovkillenandGitHub 30ab8aef9e [issue template] extra reminder to self compilers 2018-05-06 23:35:59 +02:00
TD-er 22593d7116 [Ventus W266] Fix signed/unsigned warning 2018-05-06 22:52:04 +02:00
TD-er a8f3ad1be2 [build] Special build config for Ventus W266 2018-05-06 22:29:25 +02:00
ESPEasy release bot d54a01a3e6 automatically updated release notes for mega-20180506 2018-05-06 04:00:08 +02:00
Gijs NoorlanderandGitHub 226b3f3d54 Merge pull request #1344 from giig1967g/bugfix/960
fix for #960: new command: TaskValueSetAndRun
2018-05-05 23:47:52 +02:00
Gijs NoorlanderandGitHub 1e4a0858c1 Merge branch 'mega' into bugfix/960 2018-05-05 23:34:02 +02:00
Gijs NoorlanderandGitHub 379c4fccd1 Merge pull request #1347 from Grovkillen/Infinitive-web-log
This one is not yet complete, way more features and improvements are coming. 
But for now it is already much much better than the old log viewer :)
So I'll merge it now and we'll see what it will become.
2018-05-05 23:30:41 +02:00
Gijs NoorlanderandGitHub 886d46fd4c Merge pull request #1370 from ZericE/mega
[#1356] Remove redundant call to MQTTCheck
2018-05-05 22:47:35 +02:00
Gijs NoorlanderandGitHub 5184cba646 Merge pull request #1374 from giig1967g/new/logentry
new command: logentry #1183
2018-05-05 22:46:57 +02:00
Gijs NoorlanderandGitHub b8c4215a27 Merge pull request #1373 from TD-er/feature/optimize_json_pages
Feature/optimize json pages
2018-05-05 22:46:24 +02:00
TD-er d1b017b287 [JSON] Fix for single task view of json output. 2018-05-05 22:26:56 +02:00
TD-er a5421e816c [JSON] Add TTL, task interval and task enabled
TTL = The shortest interval per enabled task (with output values) in msec.
2018-05-05 22:14:42 +02:00
GrovkillenandGitHub d6ca15671d Forgot the auto-scroll function... now added 2018-05-05 21:14:51 +02:00
GrovkillenandGitHub 24231cdc56 Updated to compile with TD-er's update on JSON 2018-05-05 21:05:31 +02:00
TD-er 30e192f041 [JSON] Sanitize JSON value strings
May not contain newline nor "
2018-05-05 17:15:46 +02:00
Plebs 38472a3d6b new command logentry
Command:
usage: logentry,anything (including system variables, task#values with formatting, text, etc.)

Example:
logentry,S=[task#value] T=[task1#value]:

Log output:
ACT  : logentry,S=24 T=23.1
Command: logentry
2018-05-05 16:58:58 +02:00
TD-er d54af04a79 [JSON] Make proper log JSON output for log viewer 2018-05-05 16:52:55 +02:00
TD-er 056e7a7a40 [JSON] Use streaming webserver for serving JSON page
Reduces memory and load times.
2018-05-05 13:31:02 +02:00
ESPEasy release bot f69e476174 automatically updated release notes for mega-20180505 2018-05-05 04:00:07 +02:00
Gijs NoorlanderandGitHub b368252db8 Merge pull request #1371 from TD-er/bugfix/wifi_scan_hidden
[#1337]  Include hidden SSID in wifi scans
2018-05-05 00:55:55 +02:00
TD-er ea3389f792 [#1337] WiFi.isHidden() is unknown to ESP32 2018-05-05 00:55:19 +02:00
TD-er 33b8570c33 [#1337] Include hidden SSID in wifi scans
When found, they appear with "#Hidden#" in the list.
2018-05-04 23:38:48 +02:00
ZericE 76ff83e3f4 [#1356] Remove redundant call to MQTTCheck
A redundant call to MQTTcheck in runEach30Seconds was adding to the blocking issue when attempting to connect to unavailable broker.
2018-05-04 10:00:20 -07:00
mvdbro 92680c5542 Fix corruption of task settings 2018-05-04 15:43:24 +02:00
ESPEasy release bot e568bbed7c automatically updated release notes for mega-20180504 2018-05-04 04:00:10 +02:00
Gijs NoorlanderandGitHub 82bfadd77a Merge pull request #1367 from TD-er/bugfix/20180503
Bugfix/20180503
2018-05-04 00:49:02 +02:00
TD-er b636959cc7 [LWIP2] Change LWIP1.4 => LWIP2 Low Memory
Please make sure to restart PlatformIO after loading this changed ini file and do a clean build (twice???)
2018-05-04 00:42:07 +02:00
TD-er 2a1f6eebe7 [Settings] Add checks to investigate issues with overlap in settings
See #1361
2018-05-04 00:40:44 +02:00
Gijs NoorlanderandGitHub b7b8ceebcf Merge pull request #1366 from Grovkillen/fix-dropdown-a-bit
Fix dropdown a bit
2018-05-04 00:30:12 +02:00
GrovkillenandGitHub 9f6f39053e Added a break under the hamburger
to have a bit of a buffer zone. Or else you'll accidently click the "main" button....
2018-05-04 00:01:33 +02:00
GrovkillenandGitHub 8eed47393f Merge pull request #11 from letscontrolit/mega
update from master
2018-05-03 23:54:15 +02:00
TD-er cc0c2c0f8b [rules timer] revert treating the rules timer as periodical timer
May have unexpected effects, so if a more accurate timer is needed, a new timer type should be used, not setting an interval in the rules.
2018-05-03 23:13:21 +02:00
Gijs NoorlanderandGitHub 0450d8a106 Merge pull request #1352 from Grovkillen/Menu-for-phone
Dropdown menu for phone
2018-05-03 21:36:30 +02:00
Gijs NoorlanderandGitHub e96de4a988 Merge branch 'mega' into Menu-for-phone 2018-05-03 21:36:14 +02:00
Gijs NoorlanderandGitHub 28bdc37d24 Merge pull request #1364 from Grovkillen/fix-checkboxe
Fix checkboxes (#1363)
2018-05-03 21:19:05 +02:00
GrovkillenandGitHub b7ccba979c [#1363] fixed overlapping checkboxes 2018-05-03 20:35:34 +02:00
GrovkillenandGitHub 5132a318af Merge pull request #10 from letscontrolit/mega
Update from master
2018-05-03 09:45:16 +02:00
ESPEasy release bot cfd27b4918 automatically updated release notes for mega-20180503 2018-05-03 04:00:12 +02:00
Gijs NoorlanderandGitHub feba82188a Merge pull request #1359 from TD-er/bugfix/timers
Bugfix/timers
2018-05-03 00:34:25 +02:00
TD-er 1a3274d2c2 [#1353] Remove Domoticz HTTP as default controller 2018-05-03 00:32:18 +02:00
TD-er 0f04456ae6 [timers] Make rules timers more constant and MQTT reconnect less aggressive
See #1356
And #1223
2018-05-02 23:49:50 +02:00
Gijs NoorlanderandGitHub 6016e1b1d3 Merge pull request #1358 from TD-er/bugfix/issue1351_rules
[rules] Make rules start working again.
2018-05-02 23:30:07 +02:00
TD-er 39e391ca0e [rules] Make rules start working again.
See #1351
Whenever a plugin_write returns success = true, the execute command will no longer be called.
It doesn't matter whether the plugin is enabled or present.
It should only return success = true when the command was actually meant for this plugin.
2018-05-02 23:23:19 +02:00
GrovkillenandGitHub 8088ed4ed8 Added some "-" 2018-05-02 23:08:55 +02:00
GrovkillenandGitHub 13bd7ba26b Forgot extra \ for escape in code 2018-05-02 23:06:12 +02:00
GrovkillenandGitHub 3cb90939c4 BR should be \n, now fixed 2018-05-02 23:01:12 +02:00
GrovkillenandGitHub 76cddb7c71 Added break... 2018-05-02 22:56:24 +02:00
GrovkillenandGitHub 3d0f871600 If error make log show this more clear 2018-05-02 22:54:34 +02:00
GrovkillenandGitHub ffb3ee4039 Spelling correction 2018-05-02 22:33:43 +02:00
GrovkillenandGitHub 456796a87d Added dropdown for phones 2018-05-02 15:09:37 +02:00
GrovkillenandGitHub bf512f9da0 Merge pull request #9 from letscontrolit/mega
Update from master
2018-05-02 13:11:04 +02:00
GrovkillenandGitHub d5b8a36acb Web log now inside a textarea 2018-05-02 09:43:40 +02:00
GrovkillenandGitHub f09642101f Merge pull request #8 from letscontrolit/mega
Update from master
2018-05-02 08:23:46 +02:00
ESPEasy release bot cb16773128 automaticly updated release notes for mega-20180502 2018-05-02 04:00:16 +02:00
Gijs NoorlanderandGitHub 2e55b6304c Merge pull request #1348 from TD-er/bugfix/improvetimers
Bugfix/improvetimers
2018-05-02 01:33:40 +02:00
TD-er f61586ebbc [web log] Read all items from the log buffer
This is a very sub optimal implementation. Eventually it should use the streaming web TXBuffer we made. It now uses quite some memory, when called.
2018-05-02 01:19:44 +02:00
TD-er 7f385fc74a [wifi] Make retry intervals to connect increase at each attempt.
There is still an issue when the node is trying to reconnect very hard, it will not react to commands given via the serial port.
2018-05-02 01:18:05 +02:00
TD-er a579c906d5 [timers] Make timers more accurate
Previously the moment a timed function was called, the new timer was set. That would make the timer interval to be the minimum interval, with quite some margin of error.
Now the timers are at a more strict interval, unless the device cannot keep up.
2018-05-02 01:16:39 +02:00
GrovkillenandGitHub a80f3a5f0b Added div to not copy "Fetching log entries...."
Clipboard should not have the fetch info text
2018-05-01 23:27:03 +02:00
GrovkillenandGitHub 7e10fda7e5 Added javascript to handle the log entries 2018-05-01 22:57:03 +02:00
GrovkillenandGitHub 16a6135f53 Merge pull request #7 from letscontrolit/mega
update from master
2018-05-01 22:55:13 +02:00
Gijs NoorlanderandGitHub 343ea459ab Merge pull request #1343 from giig1967g/bugfix/1142
fix for #1142
2018-05-01 22:46:55 +02:00
Gijs NoorlanderandGitHub 0ddcee1f07 Merge pull request #1323 from workgroupengineering/Optimize_setSystemTimer
Optimize setSystemTimer
2018-05-01 22:39:25 +02:00
Gijs NoorlanderandGitHub 07ac4cf8cf Merge pull request #1345 from giig1967g/new/strings
Added 2 system variables
2018-05-01 22:29:23 +02:00
Gijs NoorlanderandGitHub a864aeab1e Merge pull request #1339 from Grovkillen/new-weblog
New web log
2018-05-01 22:25:39 +02:00
Gijs NoorlanderandGitHub 35a7ab94df Merge pull request #1346 from TD-er/bugfix/change_to_LWIP_140
[LWIP 1.4.0] Change to LWIP 1.4.0, to allow large http POST messages
2018-05-01 22:18:07 +02:00
TD-er 44755e83b9 [LWIP] fix ESP32 build 2018-05-01 22:04:29 +02:00
Gijs NoorlanderandGitHub f93b38624d Merge pull request #1342 from giig1967g/bugfix/1170
fix for #1170
2018-05-01 21:10:11 +02:00
TD-er c1cb7d873c [LWIP 1.4.0] Change to LWIP 1.4.0, to allow large http POST messages
See #1296
Rules got truncated when trying to save rules > 1520 Bytes.

Also added a bit more log information and some details about the used libraries in the sysinfo page and json output.
2018-05-01 21:05:50 +02:00
Plebs 62d81325b2 Added 2 system variables
Added 2 system variables

%SP% = space
%ip4% = 4th IP octet
2018-05-01 20:58:13 +02:00
Plebs 5bc2af0e4c deleted comments
deleted comments and moved success outside of the if clause.
2018-05-01 20:52:00 +02:00
Plebs bc5bf7f3f1 fix for #960
Added a new global command: TaskValueSetAndRun.

It changes the value of a task and runs it, so new value is pubished on MQTT and rules are executed.
2018-05-01 19:56:49 +02:00
Plebs 0b4013b33c fix for #1142 2018-05-01 19:51:26 +02:00
Plebs 3c3a11d77b fix for #1170
The reason is that inside PLUGIN_WRITE the variable [event->BaseVarIndex] is not set and is always = 0.
So actually this PR modifies the 1st value of task 1 and not the encoder counter.
Line 183 of P059_Encoder.ino should be removed:
UserVar[event->BaseVarIndex] = (float) event->Par1;
2018-05-01 19:46:51 +02:00
ESPEasy release bot 5876fb84af automaticly updated release notes for mega-20180501 2018-05-01 04:00:17 +02:00
GrovkillenandGitHub 25ab07a9ba Merge pull request #6 from letscontrolit/mega
update from master
2018-04-30 21:41:41 +02:00
GrovkillenandGitHub e6044bdbf8 Added log JSON 2018-04-30 21:40:35 +02:00
mvdbro 572f8bcde7 Fix broken Mini Dashboard feature 2018-04-30 14:28:25 +02:00
Saverio Cisternino c010640aa5 Optimize setSystemTimer; Removed the second "for" cycle for checking the availability of timers 2018-04-30 09:29:50 +02:00
ESPEasy release bot e60c0dc5f0 automaticly updated release notes for mega-20180430 2018-04-30 04:00:08 +02:00
Gijs NoorlanderandGitHub 4e6e31fdae Merge pull request #1335 from TD-er/bugfix/mqtt_timout
Bugfix/mqtt timout
2018-04-29 17:49:01 +02:00
TD-er 77deb3d8b3 [MQTT] Set default timeout to 10 sec, equal to default Mosquito timeout
See https://github.com/knolleary/pubsubclient/issues/239
2018-04-29 17:41:00 +02:00
TD-er 3530027864 [rules] Add log indicating POST request for update rules
There is something strange going on, POST variables may be empty.
2018-04-29 17:40:07 +02:00
Gijs NoorlanderandGitHub 07bfec4234 Merge pull request #1334 from TD-er/bugfix/wifi_connected_check
[wifi] Use internal ESPeasy state to check connected status
2018-04-29 14:59:28 +02:00
TD-er 3476792c58 [wifi] Use internal ESPeasy state to check connected status 2018-04-29 14:58:50 +02:00
Gijs NoorlanderandGitHub 45afaf8d3f Merge pull request #1333 from TD-er/bugfix/displayNamesInLog
[wifi] Do not rely on WiFi.status() and better log of status
2018-04-29 13:45:58 +02:00
TD-er 9084a5542b [wifi] Do not rely on WiFi.status() and better log of status
`WiFi.status() == WL_CONNECTED` may not always be correct.
For ESP82xx check the SDK status.
2018-04-29 13:27:32 +02:00
mvdbro 4ac330ebf6 Changed plugin call debug timers 2018-04-29 11:51:46 +02:00
ESPEasy release bot 49a0476487 automaticly updated release notes for mega-20180429 2018-04-29 04:00:07 +02:00
Gijs NoorlanderandGitHub f606d2c55d Merge pull request #1331 from TD-er/bugfix/ChangeReconnect
[wifi] Force wifi reconnect at lots of MQTT failed connects.
2018-04-29 00:53:27 +02:00
TD-er 4f9a383d93 [wifi] Force wifi reconnect at lots of MQTT failed connects. 2018-04-29 00:52:41 +02:00
Gijs NoorlanderandGitHub d4d0ee3b30 Merge pull request #1328 from TD-er/bugfix/set_static_IP_after_reconnect
[wifi] Setup static IP config after connecting to wifi.
2018-04-28 23:57:42 +02:00
TD-er 9705702f4c [wifi] Added connectionCheckHandler() to force reconnect when needed
Example taken from [this issue discussion](https://github.com/esp8266/Arduino/issues/4445)
2018-04-28 23:42:34 +02:00
TD-er c3e015342c [wifi] ESP32 does not know wifi_station_get_connect_status() 2018-04-28 23:10:24 +02:00
TD-er 209484554e [wifi] Add wifi status log (Debug More) and DHCP/Static config to info page 2018-04-28 23:06:16 +02:00
TD-er 27377ab3ed [wifi] Show number of reconnects in the sysinfo 2018-04-28 19:08:07 +02:00
TD-er 7055d24693 [wifi] Set static IP config before and after connect
Apparently static IP needs to have IP config set before and after connection has been made.
The beginning is needed to make sure no DHCP client is started.
The second one is needed to make sure the wifi status is correct in the core library.
2018-04-28 17:39:47 +02:00
TD-er 62e6317a23 [wifi] Setup static IP config after connecting to wifi. 2018-04-28 15:45:59 +02:00
ESPEasy release bot 29f89b687d automaticly updated release notes for mega-20180428 2018-04-28 04:00:15 +02:00
Gijs NoorlanderandGitHub 697d20a028 Merge pull request #1325 from TD-er/bugfix/wifi_stability
Known issue:   With NTP enabled, it may be possible the connection is not fully operational.
2018-04-28 00:50:52 +02:00
TD-er e9df0e75b9 [Wifi] Avoid doing network communications when not connected.
This may disrupt the network stack.
2018-04-28 00:10:01 +02:00
TD-er f23f49931b [wifi] Just disconnect when DNS lookup is not possible
This may prevent issues with hostname resolving to 0.0.0.0.
2018-04-27 23:45:31 +02:00
TD-er 4af29c405b [PlatformIO] Updated core to 2.4.1
```
[core_2_4_1]
platform         = espressif8266@1.7.0

[common]
build_flags      = -D BUILD_GIT='"${env.TRAVIS_TAG}"'  ; ${compiler_warnings.build_flags}
                   -D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
```
2018-04-27 21:45:30 +02:00
ESPEasy release bot d780f1a07f automaticly updated release notes for mega-20180426 2018-04-26 04:00:14 +02:00
TD-er f9be283cb7 [wifi] Attempt to make event based wifi simpler
With static IP, the connection is lost frequently.
2018-04-26 02:04:18 +02:00
Gijs NoorlanderandGitHub 3f1cda7b81 Change use of core 2_4_0 to 2_3_0 2018-04-25 16:05:05 +02:00
ESPEasy release bot 2fd226d6bd automaticly updated release notes for mega-20180425 2018-04-25 04:00:08 +02:00
Gijs NoorlanderandGitHub 3d1edcf33e Merge pull request #1311 from TD-er/bugfix/more_active_reconnect
[wifi] More active reconnect to wifi when disconnected
2018-04-25 00:44:30 +02:00
TD-er cc740b46f1 [wifi] More active reconnect to wifi when disconnected
And also set ESP32 to a fixed version, since latest versions may cause lots of reboots/bootloops.
2018-04-25 00:43:05 +02:00
Gijs NoorlanderandGitHub e829058c92 Merge pull request #1310 from giig1967g/mega
Fix another bug in LCD plugin
2018-04-25 00:06:03 +02:00
Plebs 685438c35d Fix another bug in LCD plugin
There was another part in the WRITE section where was trying to read the Settings. Fixed with a global variable.
2018-04-24 23:52:22 +02:00
Gijs NoorlanderandGitHub f8a4ef389f Merge pull request #1309 from giig1967g/mega
Adding 3 new http commands: taskrun, taskvalueset and rules
2018-04-24 23:09:43 +02:00
Gijs NoorlanderandGitHub 7e9c31131c Merge pull request #1308 from TD-er/merge/modbus_1128
[Modbus] PR #1128 made by @s0170071
2018-04-24 22:41:07 +02:00
Plebs 99150c4214 Adding 3 new http commands: taskrun, taskvalueset and rules
Usage:
control?cmd=taskrun,n
control?cmd=taskvalueset,t,v,n
control?cmd=rules,n (0 or 1 to activate or deactivate rules
2018-04-24 22:28:18 +02:00
TD-er ec7e6f80b0 [Modbus] PR #1128 made by @s0170071
Was long overdue to merge, a simple re-do to include the Modbus.ino to allow development of Modbus plugins.
2018-04-24 22:21:50 +02:00
Gijs NoorlanderandGitHub dada682ed6 Merge pull request #1307 from giig1967g/mega
Fix for #1300
2018-04-24 21:40:52 +02:00
GrovkillenandGitHub ab31b33a2c Merge pull request #1305 from Grovkillen/added-"addcopybutton"
Added "addcopybutton"
2018-04-24 12:13:32 +02:00
GrovkillenandGitHub 621585901f Added new lines if BR + delimiter if wanted 2018-04-24 11:09:51 +02:00
ESPEasy release bot eaaf1fe888 automaticly updated release notes for mega-20180424 2018-04-24 04:00:13 +02:00
GrovkillenandGitHub 41e4705198 Merge pull request #5 from Grovkillen/mega
Added copy to clipboard on log page
2018-04-23 21:28:35 +02:00
GrovkillenandGitHub c35fe3d500 Added copy to clipboard on log page
The <br> will work as new lines if pasted into issue template but we might add a conversion within the javascript code. I leave as is for now.
2018-04-23 21:27:36 +02:00
GrovkillenandGitHub e2da8ecbb9 Made copy to clipboard JavaScript based instead 2018-04-23 21:15:20 +02:00
Plebs 3dad26a58a Fix for #1300
LCD 1602 and 2004 fixed.
2018-04-23 19:19:08 +02:00
GrovkillenandGitHub ae930a1d36 Added a void addCopyButton
For general use...
2018-04-23 15:47:02 +02:00
GrovkillenandGitHub 45e980beda Merge pull request #4 from letscontrolit/mega
Update from master
2018-04-23 09:23:52 +02:00
GrovkillenandGitHub 8723e177df Added note to self compilers
Many self compilers are reporting stuff, it's near to impossible to also support these since the different environments are so hard to set up for us developers to test.
2018-04-23 08:34:14 +02:00
ESPEasy release bot 8454994023 automaticly updated release notes for mega-20180423 2018-04-23 04:00:10 +02:00
Gijs NoorlanderandGitHub 50732aed8a Merge pull request #1295 from TD-er/bugfix/delay_between_connection_attempts
[wifi] Add delay between connection attempts
2018-04-22 12:28:09 +02:00
TD-er f2888951dc [wifi] Add delay between connection attempts
Accesspoints cannot handle lots of (immediate) reconnect attempts.
Added a delay of up-to a second between new attempts.
2018-04-22 12:27:24 +02:00
Gijs NoorlanderandGitHub 56ac640986 Merge pull request #1294 from giig1967g/mega
Fixing #1289 for backwards compatibility
2018-04-22 11:52:53 +02:00
Plebs df2d7be30b Fixing #1289 for backwards compatibility
I noticed that my latest commit introduced a small issue with Transformations:
The previous transformations were right justified. The new ones are left justified.
To maintain backwards compatibility I have modified the code.
2018-04-22 11:49:51 +02:00
ESPEasy release bot 9e06cf4dc7 automaticly updated release notes for mega-20180422 2018-04-22 04:00:09 +02:00
Gijs NoorlanderandGitHub cd27339b8e Merge pull request #1293 from TD-er/bugfix/remove_crc_from_config_file
[issue #1292] Remove CRC from settings, init settings and wifi fixes
2018-04-22 02:02:23 +02:00
TD-er ec38ba1fb7 [issue #1292] Remove CRC from settings, init settings and wifi fixes
- Reset wifi when DNS lookup returns *.0.0.0 (NTP lookup sometimes returns like these)
- Accept Wifi events out of order.
- Remove CRC from settings struct
- Patch settings with last few added items initialized
- Changed red question mark to white questionmark, for links to wiki.
2018-04-22 02:01:10 +02:00
Gijs NoorlanderandGitHub b8fa42925f Merge pull request #1289 from giig1967g/mega
Syntax: [task#value#transformation#justification]
2018-04-21 14:21:05 +02:00
Plebs 4169ca0ee8 Code changed as per TD-er suggestions 2018-04-21 09:53:19 +02:00
ESPEasy release bot 578477bf6d automaticly updated release notes for mega-20180421 2018-04-21 04:00:08 +02:00
Gijs NoorlanderandGitHub 0803e946b0 Merge pull request #1290 from TD-er/feature/P076_SonoffPOW
[Sonoff Pow] P076 - Add support for HLW8012 by @papperone
2018-04-21 01:42:38 +02:00
TD-er 06001bbc94 [Sonoff POW] Set some proper defaults for the Sonoff POW
I2C pins may conflict with the used energy sensor.
Also the status LED is set to a non standard pin.
2018-04-21 01:24:48 +02:00
TD-er f171d5b211 [Sonoff POW] Change Plugin ID to 76
Nextion was added as P075
2018-04-21 00:18:05 +02:00
TD-er 360b552424 [Sonoff Pow] Add support for HLW8012 2018-04-21 00:17:52 +02:00
Unknown d9597febf8 Merge remote-tracking branch 'papperone/mega' into merge/papperone
Remove edits on P073 to separate PRs
2018-04-21 00:17:43 +02:00
TD-er 6aa21ea6f8 [Sonoff Pow] Add support for HLW8012 2018-04-21 00:17:33 +02:00
Unknown b1de652b62 Merge remote-tracking branch 'papperone/mega' into merge/papperone
Remove edits on P073 to separate PRs
2018-04-21 00:17:22 +02:00
Plebs 5c3bf9e894 Syntax: [task#value#transformation#justification]
Transformations:
Special:
!: negate (only for 0 or 1)
R: RIGHT JUSTIFY

V: value
O: ON/OFF
C: OPEN/CLOSE
U: UP/DOWN
u: U/D
Y: YES/NO
y: Y/N
X: O/X
I: IN/OUT
Z: 0/1
1: 1 decimal
2: 2 decimals
3: 3 decimals
Dx.y: x digits + y decimals
F: floor
E: ceiling

Justification:
P: prefix spaces
S: suffix spaces
2018-04-20 23:21:17 +02:00
Gijs NoorlanderandGitHub 0acd7b0e70 Merge pull request #1288 from TD-er/bugfix/InitStaticIP_before_connect
[WiFi] Init static IP before connect to wifi
2018-04-20 22:08:22 +02:00
TD-er 8bbaffdeb0 [info] Add more build related info to the log and wifi info link to wiki
Add core information to the log and info page
Add "more info" button to main page
Add question mark link button to sysinfo section describing wifi. This links to the wifi page on the wiki.
2018-04-20 21:54:40 +02:00
TD-er 19e86e7df3 [Toast message] Change "Settings saved" to "Submitted"
Message is sent to provide feedback on pressing the 'submit' button.
At that moment, it is not yet clear the data will be saved successful.
To prevent "Settings Saved" and "Error writing to..." to show on the same page, this text was changed.
2018-04-20 20:55:17 +02:00
TD-er 311d6f01df [WiFi] Init static IP before connect to wifi
As suggested by @Feuerreiter  [here](https://github.com/letscontrolit/ESPEasy/issues/1255#issuecomment-383094333)
2018-04-20 20:37:38 +02:00
Gijs NoorlanderandGitHub 61f47d5ffc Merge pull request #1287 from workgroupengineering/feature/elseif
[Feature] Allow elseif
2018-04-20 20:25:16 +02:00
Gijs NoorlanderandGitHub 72f0f95471 Merge pull request #1285 from Grovkillen/toast-mes
Toast message added
2018-04-20 20:24:56 +02:00
Gijs NoorlanderandGitHub 4e33472d81 Merge pull request #1246 from workgroupengineering/feature/timer_pause_resume
[Feature] Timers Pause and Resume
2018-04-20 20:24:33 +02:00
Saverio Cisternino 69c4f970a9 Add debug info 2018-04-20 16:46:04 +02:00
GrovkillenandGitHub 28866bd08c Removed fade in of body added toast message! 2018-04-20 13:01:14 +02:00
GrovkillenandGitHub 0f93e3ed3c Merge pull request #3 from letscontrolit/mega
Update
2018-04-20 12:59:38 +02:00
Saverio Cisternino 59a82ee17f Add support at elseif statment 2018-04-20 11:36:12 +02:00
Saverio Cisternino e8af00f99f Add Trigger Rules#TimerPause= and Rules#TimerResume= 2018-04-20 11:33:05 +02:00
Saverio Cisternino ad4b0f8008 Add Commands timerpause and timerresume 2018-04-20 11:33:05 +02:00
ESPEasy release bot ae2a0b5208 automaticly updated release notes for mega-20180420 2018-04-20 04:00:09 +02:00
Gijs NoorlanderandGitHub 785266bd39 Merge pull request #1283 from TD-er/bugfix/webserver_restart_connection_change
Bugfix/webserver restart connection change
2018-04-20 00:38:10 +02:00
TD-er 2e63e764b2 [wifi] Create event 'gotIP' after processing 'connected' event
And stop webserver when trying to reconnect to WiFi
2018-04-20 00:35:09 +02:00
TD-er f7eaecf5d4 [log] Make web log 30 lines for ESP32 2018-04-20 00:01:52 +02:00
TD-er 1bee80d0ec [wifi] Restart webserver when connection changes. 2018-04-19 23:43:30 +02:00
GrovkillenandGitHub 504a9aa295 Added extra breaks below "back to setup" button 2018-04-19 15:21:24 +02:00
GrovkillenandGitHub 059530a6b7 Merge pull request #1277 from Grovkillen/Update-GUI
Update GUI a bit more
2018-04-19 11:53:22 +02:00
Gijs NoorlanderandGitHub 5b83c634e9 Merge pull request #1278 from TD-er/bugfix/set_static_at_change_mode
[Static IP] Make sure static mode is set correct always
2018-04-19 11:08:09 +02:00
TD-er ff7ab3837e [Static IP] Make sure static mode is set correct always
Also when changing settings from static to DHCP and vice verse.
2018-04-19 11:07:29 +02:00
GrovkillenandGitHub badad651de "bodymenu" was accidentally copied to all body 2018-04-19 11:01:02 +02:00
GrovkillenandGitHub 8a767b77e8 Added small fade in (0.5s)
To make user understand that submit have been clicked (web interface is so fast now).
2018-04-19 10:38:41 +02:00
GrovkillenandGitHub 072a1a4080 Merge pull request #2 from letscontrolit/mega
update
2018-04-19 10:37:20 +02:00
ESPEasy release bot 394e4b095d automaticly updated release notes for mega-20180419 2018-04-19 04:00:17 +02:00
Gijs NoorlanderandGitHub ae1e62c8c6 Merge pull request #1276 from TD-er/bugfix/pr_1257
Bugfix/pr 1257
2018-04-19 01:25:45 +02:00
TD-er 0efb7823d7 [ESP32] Add Generic info plugin 2018-04-19 01:24:40 +02:00
TD-er 3ee7d4d04e [PR #1257] Make it compile again 2018-04-19 01:24:14 +02:00
stefanandTD-er f2d3a5d222 Changes for use of plugin sets
Remove ifdefs for PLUGIN_BUILD_TESTING to make use of USES_ defines and define_plugin_defs.h
2018-04-19 00:42:56 +02:00
Gijs NoorlanderandGitHub 904a5cc612 Merge pull request #1267 from sentinel073/plugin_template_issue_1211
Issue #1211: Plugin template file and hints on writing new plugins
2018-04-19 00:40:37 +02:00
Gijs NoorlanderandGitHub 5241f93f5f Merge pull request #1268 from hansrune/mega
Implemented syslog facilities and levels
2018-04-19 00:38:37 +02:00
Gijs NoorlanderandGitHub 6d33d21f70 Merge pull request #1266 from Grovkillen/CSS-the-reset-of-the-gui
CSS the rest of the GUI
2018-04-19 00:37:56 +02:00
Gijs NoorlanderandGitHub 045e2ef9f4 Merge pull request #1275 from TD-er/bugfix/Static_ip
[Static IP] Work-around for set _use_static_ip
2018-04-19 00:37:32 +02:00
TD-er 527267de62 [Static IP] Work-around for set _use_static_ip
See [this bug report](https://github.com/esp8266/Arduino/issues/4114), which is not fixed in 2.4.0.

This work-around will make sure no dhcp-client will be started when connecting to a network.
The active DHCP client could result in IP conflicts, difficulty in reconnect and other strange issues.
2018-04-19 00:13:53 +02:00
sentinel073 29c01eeb38 Issue #1211: Plugin template file and hints on writing new plugins
Added review comments
2018-04-18 13:01:49 +03:00
GrovkillenandGitHub 1c5a1d3656 Removed unused row on hardware settings page 2018-04-17 17:31:28 +02:00
GrovkillenandGitHub d6fe76750a Added CSS radio buttons to WiFi setup wizard 2018-04-17 17:18:28 +02:00
Hans-Rune Bue 1889c0f9e5 Implemented syslog facilities and levels
Sending LOG_LEVEL_ERROR as syslog error, LOG_LEVEL_INFO as syslog notice, and everything else as syslog deug
Also added Settings.Syslogfacility setting to be able to choose kernel (still default), user, daemon, message and local0-local7
2018-04-17 12:43:52 +02:00
sentinel073 ebc16044e2 Issue #1211: Plugin template file and hints on writing new plugins 2018-04-17 11:57:37 +03:00
GrovkillenandGitHub 5695ea8fa8 Updated the input, select, textareas with CSS 2018-04-17 10:50:52 +02:00
GrovkillenandGitHub 16cc9aaa6b Merge pull request #1 from letscontrolit/mega
Updated from main
2018-04-17 10:48:37 +02:00
ESPEasy release bot 7f393af2a0 automaticly updated release notes for mega-20180417 2018-04-17 04:00:09 +02:00
Gijs NoorlanderandGitHub 3e22607276 Merge pull request #1264 from TD-er/feature/nextion_port_from_playground
Feature/nextion port from playground
2018-04-17 01:35:06 +02:00
TD-er 4de720382d [wifi] Fix build error for ESP32
Shared function was declared within #ifdef scope.
2018-04-17 01:34:07 +02:00
TD-er a718572688 [P075] Nextion plugin (testing)
Added Nextion plugin for testing from the Playground.
It is not yet tested on real hardware, but it has been in development for a while on the forum and playground.
Also requested in issue #1256 and by several others.
2018-04-17 01:29:31 +02:00
Unknown 2d66c9fefa [Nextion] Initial support for Nextion displays
Code taken from playground P117 and added minimal changes.
Still need some work to check and test with real display.
Not tested yet, myself.
2018-04-16 23:47:12 +02:00
Gijs NoorlanderandGitHub de51a130b3 Merge pull request #1262 from TD-er/bugfix/json_oled
[issue #1260] parentheses error on the json page
2018-04-16 23:28:53 +02:00
TD-er a8020c9011 [issue #1260] parentheses error on the json page 2018-04-16 23:28:02 +02:00
Gijs NoorlanderandGitHub a2cbc6d474 Merge pull request #1261 from TD-er/bugfix/fix_disconnects_static_ip
[wifi] Fix wifi reconnects with static IP
2018-04-16 23:03:05 +02:00
TD-er ea5c99431c [NTP] Add more information in the log when connecting to NTP server fail 2018-04-16 22:49:07 +02:00
TD-er 6f68d87f50 [wifi] Fix wifi reconnects with static IP
When a fixed IP setting is used, there will be no "Got IP" event, which will lead to a timeout and thus reconnect.
As a fix, the "Connected" event will also act like when a "Got IP" event was received when configured to use static IP.
2018-04-16 22:48:23 +02:00
Gijs NoorlanderandGitHub 4aa9c5e0ba Merge pull request #1259 from Grovkillen/Updating-gui
Updating gui (max width etc)
2018-04-16 20:49:07 +02:00
GrovkillenandGitHub 7e4666afed "Ctr (IDX)" was accidentally removed, now added 2018-04-16 17:23:37 +02:00
GrovkillenandGitHub 7651a07efc Added max widths for inputs 2018-04-16 17:02:31 +02:00
GrovkillenandGitHub f961a9f331 Made IDX column wider (device list) 2018-04-16 16:37:39 +02:00
GrovkillenandGitHub bb49cbdc89 Added number input to CSS (width 100px) 2018-04-16 16:34:00 +02:00
GrovkillenandGitHub 7fe1b41ea5 Made input type password part of "wide" 2018-04-16 16:26:18 +02:00
GrovkillenandGitHub 358e9f1e24 Change enable "off" to a nicer X 2018-04-16 16:20:14 +02:00
GrovkillenandGitHub 8f77ffc871 Made controller symbols a bit bigger (1)(2)(3) 2018-04-16 16:09:14 +02:00
GrovkillenandGitHub 60faa58894 Moved help button on hardware page
Moved it up (from right of the submit button which wasn't a good place for it)
2018-04-16 14:40:52 +02:00
GrovkillenandGitHub aba095b25d Moved help button for sleep 2018-04-16 14:00:17 +02:00
GrovkillenandGitHub 617ebe96de Re-arranged Rules page
Button moved down
Edit text removed
2018-04-16 13:45:57 +02:00
GrovkillenandGitHub a1bf42dde1 Put borders around checkboxes
Suggested here: #1253
2018-04-16 13:20:04 +02:00
ESPEasy release bot b0b83543eb automaticly updated release notes for mega-20180416 2018-04-16 04:00:09 +02:00
Gijs NoorlanderandGitHub b97be9c718 Merge pull request #1250 from TD-er/bugfix/wifi_start_ap_mode
[wifi] Prevent starting AP+STA mode with correct settings
2018-04-16 00:51:04 +02:00
TD-er 33831b072b [info] Added FW information to help diagnose issues
A lot of issue reports do not include information about the used version of the core libraries and 'normal', 'dev', etc. 
Since this information helps narrowing down the possible causes of the reported issues, it is best to add them in the general log.
2018-04-16 00:49:17 +02:00
TD-er a5f94298d8 [wifi] Proper log of static IP configuration 2018-04-15 14:41:41 +02:00
TD-er d0dc959d31 [Wifi] force STA mode at boot
I finally have one node acting as described by others and this one reported a disconnect before a connect attempt was made.

Now forcing the wifi in STA mode, should resolve this issue.
2018-04-15 14:10:02 +02:00
TD-er 644aa2f65e [wifi] Prevent starting AP+STA mode with correct settings
WiFi persistent settings were disabled after initialisation of the event handler.
This allowed the firmware to start WiFi connection with settings stored in the flash (not our settings, the settings kept by the core library). If these fail, then a connection failed event would occur before a connect attempt was started from ESPeasy, which would lead to strange results on some nodes while others work just fine.
2018-04-15 12:05:07 +02:00
ESPEasy release bot e457fe7597 automaticly updated release notes for mega-20180415 2018-04-15 04:00:08 +02:00
Gijs NoorlanderandGitHub dcd409e9d9 Merge pull request #1249 from TD-er/bugfix/Webserver_appendingStrings
A lot of functions in Webserver.ino were just appending to a ever increasing string. These strings were eventually sent to TXBuffer of the Webinterface.
So why not directly send them to the streaming buffer and thus reduce memory usage and gain speed.
2018-04-15 02:06:34 +02:00
TD-er c227c13ba2 [Merge] Easier to merge, rebased on Mega branch. 2018-04-15 01:55:22 +02:00
TD-er c64566ce49 [PR #1248] Fixed textarea sizes
See #1248
2018-04-15 01:45:52 +02:00
TD-er a9366c8f23 [PR #1247 ] Merged PR into the refactoring of Webserver 2018-04-15 01:45:52 +02:00
TD-er bbf470c61d [WebServer] Cleanup of all functions appending to a big string
A lot of functions in Webserver.ino were just appending to a ever increasing string. These strings were eventually sent to TXBuffer of the Webinterface.
So why not directly send them to the streaming buffer and thus reduce memory usage and gain speed.
2018-04-15 01:45:30 +02:00
GrovkillenandGitHub 1c1211c4f3 Bumped delay timer for MQTT pub 10mSec
Tests showed that instead of publishing "now" a 10mSec delay made the unit respond better and publish faster.
2018-04-15 00:50:30 +02:00
Gijs NoorlanderandGitHub 7da0bc4a44 Merge pull request #1247 from Grovkillen/Fix-some-html
Fix some html
2018-04-14 21:19:52 +02:00
GrovkillenandGitHub 91a0c51ff8 Made addFormSeparator function a lot cleaner
Thanks to da man @TD-er
2018-04-14 21:15:33 +02:00
GrovkillenandGitHub 0aa523a329 Updated some more stuff
Made the call for the function work without the extra (not used) "extra text"... it's still in the base function for future use.
2018-04-14 20:55:52 +02:00
Gijs NoorlanderandGitHub cac7275eb9 Merge pull request #1245 from susisstrolch/ds18b20
ignore power-on reset value (85.0 °C)
2018-04-14 17:29:50 +02:00
Susis Strolch c705fdfff0 add missing &amp; around value 2018-04-14 15:51:09 +02:00
Susis Strolch 1fc876cfea add missing &amp; around value, add README 2018-04-14 15:44:20 +02:00
Susis Strolch 109eaf7d25 DS_readTemp: handle power-on reset value
return false if DS_readTemp is power-on reset value
(0xaa for DS1820|DS18B20, 0x550 for DS18B20|DS1825|DS1822)
2018-04-14 15:38:11 +02:00
GrovkillenandGitHub 9ba15f2c19 Added column width for separator...
Now variable
2018-04-14 13:51:06 +02:00
GrovkillenandGitHub 1c07d787c5 Fixed missed update. 2018-04-14 13:45:13 +02:00
GrovkillenandGitHub b7ae2ea5fe Made checkmarks CSS
The &nbsp; is made to be able to have text after the custom checkbox... the text itself is not yet styled since we're not using labels like that yet.
2018-04-14 13:40:49 +02:00
Gijs NoorlanderandGitHub b75bb204e3 Merge pull request #1209 from nunofgs/enhancement/replace-ultrasonic-plugin-with-newping-lib
Replace ultrasonic plugin with NewPing lib
2018-04-14 13:11:14 +02:00
Gijs NoorlanderandGitHub bfc8006205 Merge pull request #1242 from susisstrolch/stringConverter
system variables %sysheap%, %syssec_d
2018-04-14 13:08:28 +02:00
Gijs NoorlanderandGitHub aab2e4a442 Added C013 2018-04-14 12:56:41 +02:00
Gijs NoorlanderandGitHub abfdfe014e Merge pull request #1243 from susisstrolch/defineUses
add missing USES_XXX to _C*.ino, _N*.ino
2018-04-14 12:53:42 +02:00
Susis Strolch f82040d2ef ignore power-on reset value (85.0 °C) 2018-04-14 12:31:17 +02:00
Susis Strolch 56f2cf3121 system variables %sysheap%, %syssec_d
- %sysheap%: free heap memory
- %syssec_d%: seconds since midnight
2018-04-14 12:03:23 +02:00
Susis Strolch 21011c548e GIT hooks: post-merge, post-commit, post-checkout
scripts intended as local git hooks.
post-merge:
- create symlink ESPEasy - if necessary
- add "#define BUILD_GIT <git revision>" to Custom.h
- add "#define USE_CUSTOM_H" to src/ESPEasy-Globals.h

post-commit:
- add "#define BUILD_GIT <git revision>" to Custom.h

post-checkout:
- on branch checkout also add "#define BUILD_GIT <git revision>"
2018-04-14 11:28:05 +02:00
Susis Strolch 6349f07d1a add missing USES_XXX to _C*.ino, _N*.ino 2018-04-14 10:44:25 +02:00
GrovkillenandGitHub 1b44559d3e Merge pull request #2 from letscontrolit/mega
Update source from MAIN
2018-04-14 08:57:26 +02:00
ESPEasy release bot a151e60755 automaticly updated release notes for mega-20180414 2018-04-14 04:00:08 +02:00
Gijs NoorlanderandGitHub ce11c84e74 Merge pull request #1186 from linuxnico/mega
add ds1822 definition to ds_read_temp function
2018-04-14 00:13:39 +02:00
Gijs NoorlanderandGitHub 9808bf86c4 Merge pull request #1078 from GHolli/mega
Sensor MH-Z19: Fixing offsets for the detection range setting command
2018-04-14 00:13:04 +02:00
Gijs NoorlanderandGitHub cfae636e55 Merge pull request #1240 from TD-er/feature/bssid_channel_variables
[issue #1239] %bssid% and %wi_ch% added as variables
2018-04-14 00:09:23 +02:00
Gijs NoorlanderandGitHub ebaaf50df6 Merge pull request #1230 from Grovkillen/Fix-nomenclature-for-delay/interval
Renamed delay to interval/time for better understanding
2018-04-14 00:09:09 +02:00
Gijs NoorlanderandGitHub 5c0be9e89f Merge pull request #1193 from clumsy-stefan/patch-1
_P015_TSL2561 added Broadband and IR Values
2018-04-14 00:07:32 +02:00
Gijs NoorlanderandGitHub 36468663f7 Merge pull request #1210 from giig1967g/mega
Fixes for #1208 and partial #1196
2018-04-14 00:05:36 +02:00
TD-er fba32608ee [issue #1239] %bssid% and %wi_ch% added as variables
See #1239
2018-04-13 23:47:08 +02:00
GrovkillenandGitHub 06848e50c3 Fixed main page!
Table was messed up... also update other tables
2018-04-13 23:46:45 +02:00
GrovkillenandGitHub 879d0d4916 Added better(?) format for tables
Fixed "normal" and "multirow" table css and made some column widths fixed.
2018-04-13 15:47:13 +02:00
ESPEasy release bot d083a58cd7 automaticly updated release notes for mega-20180413 2018-04-13 04:00:09 +02:00
Gijs NoorlanderandGitHub b1e9ff9fdc Merge pull request #1234 from TD-er/bugfix/Wifi_connection_issues
[wifi] Event based wifi, fix set AP and crash on start
2018-04-13 01:51:45 +02:00
TD-er 304280f415 [wifi] Event based wifi, fix set AP and crash on start
The settings had 2 new values which would be overwriten by the checksum and there was still some issue about when to save the settings.

Also added a check to only save changed settings.

Known issue: 
Sometimes after initial setup of wifi credentials, it is best to perform a reset.
2018-04-13 01:48:22 +02:00
GrovkillenandGitHub 2c8ca1421f Removed the serial print "done." 2018-04-12 09:55:11 +02:00
GrovkillenandGitHub 3ce0fb9f75 Merge branch 'mega' into Fix-nomenclature-for-delay/interval 2018-04-12 09:28:48 +02:00
ESPEasy release bot 8a71d2abd6 automaticly updated release notes for mega-20180412 2018-04-12 04:00:14 +02:00
Gijs NoorlanderandGitHub 1b174f4eac Merge pull request #1224 from flexiti/mega
ESP32 cpu speed and Id
2018-04-12 01:25:45 +02:00
Gijs NoorlanderandGitHub f1d18c7b41 Merge pull request #1220 from TD-er/bugfix/SoftAP_event_based_wifi
[issue #1215] Cannot login to accesspoint on new install
2018-04-12 01:22:46 +02:00
TD-er 204d4607ba Merge remote-tracking branch 'upstream/mega' into bugfix/SoftAP_event_based_wifi 2018-04-12 01:12:28 +02:00
TD-er 51f7ce0cb6 [wifi] Event based wifi, improve scan information. 2018-04-12 01:07:39 +02:00
Nuno Sousa 8f73deb133 Replace ultrasonic plugin with NewPing lib 2018-04-11 23:26:58 +01:00
Gijs NoorlanderandGitHub 1d4147309c [MQTT] Process MQTT loop on publish
As [discussed here](https://github.com/letscontrolit/ESPEasy/issues/1228#issuecomment-380420609).
2018-04-11 15:29:49 +02:00
mvdbro a68e4c1456 Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into mega 2018-04-11 14:57:22 +02:00
mvdbro 2ee51363dd Reboot/Reset pin, build 20101 patch 2018-04-11 14:57:12 +02:00
TD-er 172eb37b5b [wifi] Fix wifi AP setup mode for ESP32. 2018-04-11 01:24:34 +02:00
GrovkillenandGitHub 68e1d8ea69 Added RSSI, BSSID, Channel to WifiScan/Setup
And also delay is now renamed interval.
2018-04-10 15:47:59 +02:00
GrovkillenandGitHub ac8e8db0e7 Merge pull request #1 from letscontrolit/mega
Update
2018-04-10 14:24:17 +02:00
ESPEasy release bot d72bf9b76c automaticly updated release notes for mega-20180410 2018-04-10 04:00:21 +02:00
GeraldandGitHub 6d3f535d16 Merge pull request #3 from letscontrolit/mega
Downstream updates from head fork.
2018-04-09 21:39:15 +02:00
GrovkillenandGitHub 0709763f3a Update issue_template.md
`YOUR TEXT GOES HERE` added
2018-04-09 13:09:59 +02:00
GrovkillenandGitHub 538d843643 Update issue_template.md
Rearranged the topics...
2018-04-09 13:07:56 +02:00
GrovkillenandGitHub 2339ee928c Update issue_template.md
Added code format
2018-04-09 13:05:55 +02:00
GrovkillenandGitHub 9550b951d5 Update issue_template.md
Added a "Summarize" topic
2018-04-09 12:55:43 +02:00
GrovkillenandGitHub 0491af8a2f Added comments that will not show up on issues
Many users forget to "clean" the template from unnecessary text... these are now automatically hidden.
2018-04-09 12:53:05 +02:00
ESPEasy release bot 806a2757b2 automaticly updated release notes for mega-20180409 2018-04-09 04:00:13 +02:00
TD-er 3931b71d00 Merge branch 'mega' into bugfix/SoftAP_event_based_wifi 2018-04-09 00:17:48 +02:00
TD-er af0c3d5f62 [wifi] Make it work for ESP32 again 2018-04-08 23:50:07 +02:00
mvdbro c7a6ca4555 Both reset/factoryreset option 2018-04-08 17:05:59 +02:00
mvdbro 4a01e2eb49 Factory Reset (not enabled yet) 2018-04-08 08:27:25 +02:00
TD-er d6ff20b35d [WiFi] Event based wifi, now AP mode works
It appeared to be related to the core 2.3.0 version. The 2.4.0 does just work. Also changed a number of other things to improve stability.
2018-04-08 00:34:34 +02:00
ESPEasy release bot 0ada9aa105 automaticly updated release notes for mega-20180407 2018-04-07 04:00:12 +02:00
Holli 6b04539571 Disable detection range commands by default. 2018-04-06 18:40:08 +02:00
Plebs 9380ec13dc Added #I
#I: IN/OUT
2018-04-06 12:41:00 +02:00
GrovkillenandGitHub ae946c27c0 Fixed clickable link www.letscontrolit.com (#1192) 2018-04-06 10:02:36 +02:00
Plebs 86cf00759f added more formats
#X
#y
#Z
2018-04-06 08:38:26 +02:00
Plebs 0eb5f55d63 new #formats
Hi, here the new formats:
#O: ON/OFF
#C: Open/Close
#U: UP/Down
#Y: YES/NO
#D: converto to nearest integer
#F: convert to floor
#E: convert to ceiling
2018-04-05 23:39:54 +02:00
flexitiandGitHub f27d2aa7eb ESP CPU speed and ID 2018-04-05 15:09:24 +02:00
flexitiandGitHub 2d3285aaaf Merge pull request #1 from letscontrolit/mega
update
2018-04-05 15:05:25 +02:00
ESPEasy release bot 5bd2532853 automaticly updated release notes for mega-20180405 2018-04-05 04:00:10 +02:00
Plebs 765c56ccef modified float() call 2018-04-05 00:20:38 +02:00
mvdbro 4c755d83a6 ESP32 RTOS 10 per second
Run 10 per seconds call independent from main loop
2018-04-04 21:55:50 +02:00
mvdbro 1b9e1b92aa ESP32 RTOS config setting 2018-04-04 12:32:17 +02:00
Gijs NoorlanderandGitHub a4c73cc91e Merge pull request #1175 from Grovkillen/Fix-parsing-structure-for-JSON-+-upload-file-filter
Updated JSON path for sensor values and names
2018-04-04 10:06:17 +02:00
Gijs NoorlanderandGitHub 736fe2111a Merge pull request #1218 from soif/Fix/PioConfTypo
Unwanted lib_ignore now properly commented
2018-04-04 10:05:22 +02:00
Gijs NoorlanderandGitHub 767b0af733 Merge pull request #1217 from soif/Feat/JsonLoad
Shows CPU Load in JSON page
2018-04-04 10:04:59 +02:00
TD-er 02255180e9 [Wifi] Use statemachine to move between Wifi states
Still existing problems:
- Credentials are not being saved from web interface and thus connection doesn't work from setup page.
- First time connect to SoftAP takes a lot of attempts, when the wifi was searching for an existing accesspoint. This searching does prevent the SoftAP to form a stable connection to the client.

Maybe the entire wifi stack has to be reset before switching to SoftAP. Now it is near to impossible to recover from incorrect settings or a changes accesspoint.
Still under investigation.

It looks to be a problem with the
2018-04-04 03:19:03 +02:00
ESPEasy release bot c3bde94f7a automaticly updated release notes for mega-20180403 2018-04-03 04:00:14 +02:00
TD-er 886958d479 Merge remote-tracking branch 'origin/bugfix/SoftAP_event_based_wifi' into bugfix/SoftAP_event_based_wifi 2018-04-03 01:04:22 +02:00
TD-er 84cbc19f38 [issue #1215] Cannot login to accesspoint on new install
Since event based wifi, it became more apparent the ESP8266 has some issues with running AP and STA mode simultaneous.
It appears this can only work when the channel remains constant. But when trying to connect to an accesspoint that channel will change.
This means Soft AP and STA cannot be active at the same time when searching for an accesspoint to connect to. For example login to the Soft AP to correct some settings or replace an accesspoint would not be possible.

This fix deals with all of these issues and keeps the fast try/fail connection attempts offered by the event based wifi.
In short:
- 3x attempt to connect to AP1 (each attempt takes about 2.5 seconds when failing)
- 3x attempt to connect to AP2
- Enable accesspoint

When accesspoint is active, the connect attempts will be done at a slower pace and STA mode is disabled. STA mode is also disabled as soon as someone connects to the Soft AP.
When the settings are saved, a retry to connect like normal is started almost immediately. N.B. This will result in a disconnect of the connected users to the Soft AP.

So the connection time is:
- AP1 is valid: 4 - 10 seconds
- AP1 is not valid, AP2 is: 12 - 20 seconds
- AP1 and AP2 are not valid: +/- 18 seconds before activating Soft AP
2018-04-03 01:03:27 +02:00
TD-er 178ec9dfa9 [issue #1215] Cannot login to accesspoint on new install
Since event based wifi, it became more apparent the ESP8266 has some issues with running AP and STA mode simultaneous.
It appears this can only work when the channel remains constant. But when trying to connect to an accesspoint that channel will change.
This means Soft AP and STA cannot be active at the same time when searching for an accesspoint to connect to. For example login to the Soft AP to correct some settings or replace an accesspoint would not be possible.

This fix deals with all of these issues and keeps the fast try/fail connection attempts offered by the event based wifi.
In short:
- 3x attempt to connect to AP1 (each attempt takes about 2.5 seconds when failing)
- 3x attempt to connect to AP2
- Enable accesspoint

When accesspoint is active, the connect attempts will be done at a slower pace and STA mode is disabled. STA mode is also disabled as soon as someone connects to the Soft AP.
When the settings are saved, a retry to connect like normal is started almost immediately. N.B. This will result in a disconnect of the connected users to the Soft AP.

So the connection time is:
- AP1 is valid: 4 - 10 seconds
- AP1 is not valid, AP2 is: 12 - 20 seconds
- AP1 and AP2 are not valid: +/- 18 seconds before activating Soft AP
2018-04-03 00:47:06 +02:00
GrovkillenandGitHub 080be1ad0a Update _P029_Output.ino 2018-04-02 20:41:22 +02:00
GrovkillenandGitHub 232ca4f215 Update _P038_NeoPixel.ino 2018-04-02 20:40:08 +02:00
mvdbro bfa6eac538 ESP32 prep for RTOS multitasking 2018-04-02 15:59:01 +02:00
moi 0ca06782b9 unwanted lib_ignore now properly commented 2018-04-02 13:27:02 +02:00
moi 2079b0f28b Adds CPU Load LC in JSON page 2018-04-02 12:39:14 +02:00
moi 32bf45e817 Show CPU Load in JSON page 2018-04-02 12:38:30 +02:00
ESPEasy release bot 5d41bf9e73 automaticly updated release notes for mega-20180402 2018-04-02 04:00:10 +02:00
Gijs Noorlander dc5a2fd956 Revert "Merge pull request #1205 from s0170071/SerialSwap"
This reverts commit 46586e5355.
2018-04-01 10:47:50 +02:00
ESPEasy release bot b20f05305b automaticly updated release notes for mega-20180401 2018-04-01 04:00:08 +02:00
Gijs NoorlanderandGitHub 46586e5355 Merge pull request #1205 from s0170071/SerialSwap
Serial Swap function
2018-04-01 01:17:51 +02:00
Gijs NoorlanderandGitHub 7e8a751657 Merge pull request #1203 from TD-er/feature/mqtt_disconnect_event
[issue #1201] MQTT#Disconnected event and MQTT stability improvements
2018-04-01 01:14:55 +02:00
TD-er 7d61e55d34 [deepsleep] Allow for some minimum wifi connect time
In Deepsleep mode the wifi connect time is now minimum of 6 seconds.
Also the first loop after connect, the 'awake' timer will reset and start over. Without WiFi connection the set 'awake' timer starts at the moment the node boots.
2018-03-31 23:53:15 +02:00
GrovkillenandGitHub 2f663429a3 P0059 (rotary encoder) and P0063 (ttp229, keypad)
These two plugins are not in test but in normal.
2018-03-31 19:52:25 +02:00
TD-er 52e75ade78 Merge remote-tracking branch 'origin/feature/mqtt_disconnect_event' into feature/mqtt_disconnect_event 2018-03-31 01:42:19 +02:00
TD-er 525a0ba0a1 [issue #1201] MQTT#Disconnected event and MQTT stability improvements
While looking for issues regarding DeepSleep + MQTT and issue #1195, I came across a number of other issues related to high CPU load and WiFi disconnects when a MQTT controller cannot reach the MQTT broker or is set to be no longer enabled.

These fixes improve CPU load and WiFi stability and also send the following events:
- `MQTT#Connected` 
- `MQTT#Disconnected`
- `MQTTimport#Connected` 
- `MQTTimport#Disconnected`

The MQTTimport plugin still has some major issues which have to be taken care of, so #1195 is not fixed yet.
2018-03-31 01:34:50 +02:00
Plebs e774ef5751 Fixes for #1208 and partial #1196
Fixed #1208
Added dìformat commands:
#C: 1/0 = Open/Close
#U: 1/0 = Up/Down
2018-03-30 21:05:33 +02:00
s0170071 eba1fb3388 Serial Swap function
swaps Serial Pins *and* keeps track of it.
2018-03-30 08:47:55 +02:00
TD-er 3583db3e22 [issue #1201] MQTT#Disconnected event and MQTT stability improvements
While looking for issues regarding DeepSleep + MQTT and issue #1195, I came across a number of other issues related to high CPU load and WiFi disconnects when a MQTT controller cannot reach the MQTT broker or is set to be no longer enabled.

These fixes improve CPU load and WiFi stability and also send the following events:
- `MQTT#Connected` 
- `MQTT#Disconnected`
- `MQTTimport#Connected` 
- `MQTTimport#Disconnected`

The MQTTimport plugin still has some major issues which have to be taken care of, so #1195 is not fixed yet.
2018-03-30 02:48:23 +02:00
GeraldandGitHub 5d3f8bf073 Update _P049_MHZ19.ino
Clarification of pin connections.
2018-03-29 21:28:25 +02:00
GHolliandGitHub dd88db1913 Merge pull request #2 from letscontrolit/mega
Downstream updates
2018-03-29 20:10:05 +02:00
GHolliandGitHub aab00567fc Downstream updates (#1)
* Initial re-organisation of plugin sets (#1019)

* 12bit ADC values acceted up to 4095

MCP3221 is a 12bit ADC so accepted values should be up to 40195 not 1024

* automaticly updated release notes for v2.0-20180313

* - move all structs from ESPEasy.ino into header file
- add some fix for headers
- add const to rtttl notes array

* [issue #1066] Fix Webserver handle_control

There wasn't a proper start/end for the streaming webserver.
See discussion on issue #1066

* automaticly updated release notes for mega-20180314

* Custom controller GUI option

* Fixed #433

Not tested!

* #893, part 2 receiving

* Merge branch 'mega' of github.com:letscontrolit/ESPEasy into mega

# Conflicts:
#	src/ESPEasy.ino

* Rules fix

* #893 part1, send messages

* Custom controller GUI option

* #893, part 2 receiving

* Rules fix

* automaticly updated release notes for mega-20180315

* - move all structs from ESPEasy.ino into header file

- add some fix for headers
- add const to rtttl notes array

* Merge branch 'mega' of github.com:letscontrolit/ESPEasy into mega

# Conflicts:
#	src/ESPEasy.ino

* [v2.0 split globals] Base split on v2.0 version of ESPEasy.ino

*  MCP3221 allow values for calibration (#1073)

MCP3221 allow values for calibration

* [issue #1066] Fix Webserver handle_control (#1079)

[issue #1066] Fix Webserver handle_control

* Fixed multi instance problem on SHT3x #433 (#1081)

Fixed multi instance problem on SHT3x #433

* [issue #1057] AM PM display issue

X:XX PM (for hours 1...9)
X:XX AM (for hours 1...9)
XX:XX PM (for hours 10...12)
XX:XX AM (for hours 10...12)

Added for H:MM (without seconds) notations:
- `%systm_hm%`
-`%systm_hm_am%`

* [issue #993] variable in MQTT subscribe topic

As [noted](https://github.com/letscontrolit/ESPEasy/issues/993#issuecomment-373140135) by @kluszcyn

* [issue #951] Changed System#Initialized  => System#Wake

Changed System#Initialized  => System#Wake
New event name makes more sense and Initialized may be used later to indicate all needed connections, etc. are ready.

* [issue #1057] AM PM display issue

X:XX PM (for hours 1...9)
X:XX AM (for hours 1...9)
XX:XX PM (for hours 10...12)
XX:XX AM (for hours 10...12)

Added for H:MM (without seconds) notations:
- `%systm_hm%`
-`%systm_hm_am%`

* [issue #993] variable in MQTT subscribe topic

As [noted](https://github.com/letscontrolit/ESPEasy/issues/993#issuecomment-373140135) by @kluszcyn

* [issue #951] Changed System#Initialized  => System#Wake

Changed System#Initialized  => System#Wake
New event name makes more sense and Initialized may be used later to indicate all needed connections, etc. are ready.

* automaticly updated release notes for mega-20180316

* automaticly updated release notes for v2.0-20180316

* Add download button for current rule set

* - add encoder write #1086

* changed memory tracker to uint64_t for the ESP32

* Changed so that running all tasks immediately with deep sleep enabled only happens on first iteration after wake up

* Keep uint. Just change the init value.

* [WiFi] Try to minimize effect of WiFi interruptions

And send event when connected to a different accesspoint.
Currently the impact on WiFi reconnects is enorm. The ESP stalls, won't react on events, etc.

* - fix success setting

* - fix P073 success setting in PLUGIN_WRITE callback

* - initialize pointer in P073

* [Relaxed WiFi] Perform WiFi initialization in steps

Doing WiFi initialization in multiple steps, will reduce boot time a lot.
For deepsleep the Setup is waiting for wifi initialization to complete, but for normal use the wifi connection is initiated during setup and checked on regular intervals to see if it is available.
The same for WiFi reconnect, which will hopefully not affect the performance of the ESP module during reconnects.

Also added a check + event when connected to another accesspoint with different BSSID (MAC address of accesspoint). Also the last used BSSID is used to reconnect to try to connect to the same device over and over, which may be useful with WiFi repeaters.

* [Travis error] Some #include test that wasn't meant to be included

... in the commit.

* [JSON] Add uint name (#1099) and WiFi information (PR #1113)

As suggested by @Grovkillen on PR #1113.

* [issue #1007] Allow user specific data in separate file

File will be ignored by git and can be simply included using `-D USE_OWN_DEFAULTS` in the build

* #ifndef instead of #ifdef

* [issue #1007] Add other defines as suggested by @uzi18

* [Memory] parseTemplate did not check if markers were found

"Free Mem" reported this function to be using quite a lot of memory.
Maybe that was related to parsing texts without matching ']' or '#'
Just added some checks to see if they were found.

* [issue #1097] MQTT publish after deep sleep

The MQTTConnect was only called after a while. This is a problem for deepsleep.
So now the MQTT connect is done at the first loop when deep sleep is enabled.

* Add download button for current rule set (#1102)

Add download button for current rule set

* - add encoder write command #1086 (#1103)

- add encoder write command #1086

* Changed so that running all tasks immediately with deep sleep enabled… (#1110)

Changed so that running all tasks immediately with deep sleep enabled only happens on first iteration after wake up

* Merge pull request #1112 from uzi18/fix-p073

Fix p073 - #1111

* Merge pull request #1114 from TD-er/feature/wifi_details_json

[JSON] Add uint name (#1099) and WiFi information (PR #1113)

* Merge pull request #1113 from TD-er/feature/reduce_impact_wifi_disconnect

[Relaxed WiFi] Perform WiFi initialization in steps

* Merge pull request #1116 from TD-er/feature/allow_own_defaults

[issue #1007] Allow user specific data in separate file

* Merge pull request #1118 from TD-er/bugfix/mqtt_publish_after_deep_sleep

[issue #1097] MQTT publish after deep sleep

* [merge] MIssing #endif due to merging.

* automaticly updated release notes for mega-20180319

* automaticly updated release notes for v2.0-20180319

* Fix wiring description for SN75176 transceiver

* Revert "Merge pull request #1116 from TD-er/feature/allow_own_defaults"

This reverts commit 8ccbdcadf0.

* Fix wiring description for SN75176 transceiver

* Revert "Merge pull request #1116 from TD-er/feature/allow_own_defaults"

This reverts commit 8ccbdcadf0.

* [issue #1097] WiFi connect with deepsleep enabled trigger watchdog reset

Did not allow for enough time to do background tasks while waiting for wifi connect with DeepSleep enabled.

* [issue #1097] WiFi connect with deepsleep enabled trigger watchdog reset

Did not allow for enough time to do background tasks while waiting for wifi connect with DeepSleep enabled.

* automaticly updated release notes for mega-20180320

* automaticly updated release notes for v2.0-20180320

* [wifi] Setup with factory settings could not complete

* [wifi] Setup with factory settings could not complete

* [merge issue] Forgotten #endif in merge

* - P012 fix command interpretation

* - P023 fix command interpretation

* - P035 move strings to flash

* - P048 fetch params only when needed

* automaticly updated release notes for mega-20180321

* automaticly updated release notes for v2.0-20180321

* Serial WD crash

* [wifi] Make more robust checks and increase timeout

See #1145

* - P012 fix command interpretation

* - P023 fix command interpretation

* - P035 move strings to flash

* - P048 fetch params only when needed

* Serial WD crash

* [wifi] Make more robust checks and increase timeout

See #1145

* [Memory] parseTemplate did not check if markers were found

"Free Mem" reported this function to be using quite a lot of memory.
Maybe that was related to parsing texts without matching ']' or '#'
Just added some checks to see if they were found.

* [WiFi] Take much more time for initial WiFi connect during setup

Accesspoint is still active, so it may take a lot more time to make the initial connection

* [WiFi] Take much more time for initial WiFi connect during setup

Accesspoint is still active, so it may take a lot more time to make the initial connection

* automaticly updated release notes for mega-20180322

* ESP32 fix

* [Command] Parsing improvement for commands

Use more intelligent parsing of commands and switch statement to improve speed

* automaticly updated release notes for mega-20180323

* [WiFi] Reverted those temp String uses for ssid/pass

Was introduced due to misunderstanding of reported issues with WiFi.

* [issue #1131] Add %unixtime%

Show the current time as [Unix time](https://en.wikipedia.org/wiki/Unix_time) (numbers of seconds that have elapsed since midnight 1970-01-01, UTC)

* [issue #1097] Call MQTTclient.loop() during deepsleep

The `MQTTclient.loop()` function should be called quite often.
This does the actual MQTT handling.
In normal operations, this is called quite frequently, but it should also be called when deepsleep is active and right before deepsleep is activated again.

* [P1] Support for latest standard

* [wifi] Event based connect/reconnect

Now using the core WiFiEvents to act on:

- connect
- disconnect
- gotIP

This will make polling for a status no longer needed.
It also allows to get a better understanding in why diconnects happen, since the disconnect reason is given in the events.
This extra information is also present on the information panel on the webinterface and also in the JSON output.

The entire connect/disconnect/reconnect is now done completely asynchronous and thus takes much less resources from the ESP.
A disconnect will now also send an event: "WiFi#Disconnected"

For deepsleep this means there has to be a minimum awake time set and perhaps use rules to set the ESP into sleep again when done.
Typical connection times to an accesspoint are about 3 seconds + about 1 second for DHCP.

This also resolves the issues where services my try to connect while there is a WiFi connection, but not yet an IP address set.

I already noticed a lot of NTP servers from pool.ntp.org are non responsive the last few weeks, so that may still take some time, but that's another issue.

* automaticly updated release notes for mega-20180324

* [NTP] Speedup NTP again with async WiFi

Previously it would only start calling "now" when the WiFi was already setup.
And in calling `now()`, a call to an NTP server is being made. When this fails, retry again in a minute.
But now the WiFi initialization is asynchronous, so the first NTP query was already failing and thus the retry is already set to a minute.

This is fixed now and also the pool.ntp.org will pick a random one from 0...3 (.pool.ntp.org).
The DNS queries from this pool change about every minute, so if you want to retry because one of the servers is offline, you should try one from the other `N.pool.ntp.org` or else you have to wait for another minute.

* - fix for #1170 - uservar not setted on encwrite

* automaticly updated release notes for mega-20180326

* [issue #1174] Show degree sign via external writes to LCD

Fix suggested by [elmicha](https://github.com/letscontrolit/ESPEasy/issues/1174#issuecomment-376244766)

* [ESP32] Event driven WiFi for ESP32

Not tested, just got some inspiration by these files:

- https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiClientEvents/WiFiClientEvents.ino
- https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/src/WiFiGeneric.cpp
- https://github.com/espressif/arduino-esp32/blob/master/tools/sdk/include/esp32/esp_event.h

* automaticly updated release notes for mega-20180327

* Fix nesting level check

* [Build] Cleanup/split builds using defines

See PR #1034 and #1040 made by @soif

* [build] Disabled a few PlatformIO profiles for now.

There were way too many.
Just placed them in comments and Travis had already built them all to test first.

* automaticly updated release notes for mega-20180328

* [Arduino IDE] Revert changes in include paths

Were changed to be able to test the PlatformIO feature to compile only files that are actually used.
Apparently the Arduino IDE cannot find the files anymore because that IDE needs the parent directory to be named as the main project file, not "src"

* automaticly updated release notes for mega-20180329
2018-03-29 19:53:54 +02:00
clumsy-stefanandGitHub 21cb6135dd _P015_TSL2561 added Broadband and IR Values
Extended Plugin to also read Broadband and IR values from device.
2018-03-29 09:27:53 +02:00
linuxnico 07948c87aa add ds1822 definition to ds_read_temp function 2018-03-28 14:30:05 +02:00
GrovkillenandGitHub 5f4685337e Added value number as discussed. 2018-03-26 14:59:47 +02:00
GrovkillenandGitHub 08c158aa9c Moved to correct folder 2018-03-26 10:33:22 +02:00
GrovkillenandGitHub e9d71a8f35 Delete WebServer.ino
Same mistake as before, wrong folder upload
2018-03-26 10:32:58 +02:00
GrovkillenandGitHub 3e3173cbb0 Updated JSON path for sensor values and names
+file type filter on upload (not OTA since that is not part of ESP Easy core)
2018-03-26 10:31:27 +02:00
GHolliandGitHub 4543a10739 Change comma to semicolon
Same functionality, but more common.
2018-03-22 20:12:28 +01:00
GHolliandGitHub daecf2017e Update _P049_MHZ19.ino 2018-03-13 21:41:17 +01:00
Holli 37122bc619 It seems the offsets [3]..[4] for the detection range setting (command byte 0x99) are wrong in the latest online data sheet: http://www.winsen-sensor.com/d/files/infrared-gas-sensor/mh-z19b-co2-ver1_0.pdf
According to the MH-Z19B data sheet version 1.2, valid from: 2017.03.22 (received 2018-03-07), the offset should be [6]..[7] instead.
Fixing the implementation accordingly.
2018-03-13 20:22:45 +01:00
tedenda 0d17c099e9 Merge remote-tracking branch 'origin/mega' into mega 2017-12-03 17:37:53 +01:00
tedenda 85da10ef24 Merge branch 'letscontrolit/mega' into mega 2017-10-17 20:14:00 +02:00
tedenda 7f91ec2852 Merge branch 'mega' into letscontrolit/mega 2017-10-17 20:13:20 +02:00
3484 changed files with 541823 additions and 186804 deletions
+58 -8
View File
@@ -1,18 +1,68 @@
**NOTE: This is not a support forum! For questions and support go here: https://www.letscontrolit.com/forum/viewforum.php?f=1**
### Checklist
- [ ] The title of this issue is "to the point" and descriptive.
- [ ] This issue describes what is happening.
- [ ] This issue describes what components are affected (e.g. name of plugin/controller)
- [ ] This issue describes how to reproduce it.
- [ ] This issue describes when it was introduced (when known) and what version is now showing the problem.
### Steps to reproduce
How can we trigger this problem?
### I have...
- [ ] searched the [issue tracker](https://github.com/letscontrolit/ESPEasy/issues) or the [forum](https://www.letscontrolit.com/forum/viewforum.php?f=1) for a similar issue. (include links when applicable)
- [ ] entered a system description using "Copy info to clipboard" on the sysinfo page. (when possible)
- [ ] entered the full filename of the used version (e.g. `ESP_Easy_mega-20181001_test_ESP8266_4096_VCC.bin` )
- [ ] given a list of active plugins or controllers when applicable.
- [ ] filled out all applicable fields below.
Does the problem persists after powering off and on? (just resetting isn't enough sometimes)
### Steps already tried...
- [ ] Tried a clean install (empty `.bin` files are included in the ZIP)
- [ ] Tested previous/other build (mention which one already tested)
- [ ] Tested on other node to make sure hardware isn't defective.
- [ ] Verified if the problem is limited to a single plugin/controller
### If you self compile, please state this and PLEASE try to ONLY REPORT ISSUES WITH OFFICIAL BUILDS! ###
<!--- If you self compile, please state this and PLEASE try to ONLY REPORT ISSUES WITH OFFICIAL BUILDS! --->
<!--- NOTE: This is not a support forum! For questions and support go here: --->
<!--- https://www.letscontrolit.com/forum/viewforum.php?f=1 --->
<!--- Remove topics that are not applicable to your feature request of issue --->
<!--- Remember to have a "to the point" TITLE --->
### Summarize of the problem/feature request
<!--- Describe the problem or feature request --->
YOUR TEXT GOES HERE
### Expected behavior
Tell us what should happen?
<!--- Tell us what should happen? --->
YOUR TEXT GOES HERE
### Actual behavior
Tell us what happens instead?
<!--- Tell us what happens instead? --->
YOUR TEXT GOES HERE
### Steps to reproduce
<!--- How can we trigger this problem? --->
1.
2.
3.
<!--- Does the problem persists after powering off and on? (just resetting isn't enough sometimes) --->
<!--- Please document if you have restarted the unit and if the problem is then gone etc. etc. --->
### System configuration
<!--- Please add as much information and screenshots as possible --->
Hardware:
Software or git version:
<!--- You should also provide links to hardware pages etc where we can find more info --->
<!--- If you self compile, please state this and PLEASE try to ONLY REPORT ISSUES WITH OFFICIAL BUILDS! --->
ESP Easy version:
<!--- In order to have a better readablity of your issue then you should place screenshots here --->
<!--- Simply drag and drop them onto this template, move the text string below the "ESP Easy settings/screenshots" topic --->
ESP Easy settings/screenshots:
### Rules or log data
<!--- place your code/rules between the two ``` rows --->
<!--- remove if not applicable! --->
```
```
+17
View File
@@ -0,0 +1,17 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 14
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: true
+50 -18
View File
@@ -1,18 +1,50 @@
## OS Specific Hidden Files ####
# MacOSX Finder *****
.DS_Store
# Fuse FileSystem ***
.fuse_hidden*
## PlatformIO ##################
.pioenvs
.clang_complete
.gcc-flags.json
.piolibdeps
## Project #####################
lib/readme.txt
src/Custom.h
## OS Specific Hidden Files ####
# MacOSX Finder *****
.DS_Store
# Fuse FileSystem ***
.fuse_hidden*
## PlatformIO ##################
.pioenvs
.clang_complete
.gcc-flags.json
.piolibdeps
pre_extra_script.py
*.code-workspace
.pio
## Project #####################
lib/readme.txt
src/Custom.h
/ESPEasy
test/output_export.cpp
.vscode
.vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json
.vscode/launch.json
src/ESPEasy.ino.cpp
docs/build/
\.pio/
docs/source/_build/
venv/
.idea/
tools/vagrant/.vagrant/
tools/vagrant/build/
tools/vagrant/Custom.h
.buildcache/
+10
View File
@@ -0,0 +1,10 @@
FROM gitpod/workspace-full
USER gitpod
# Install custom tools, runtime, etc. using apt-get
# For example, the command below would install "bastet" - a command line tetris clone:
#
# RUN sudo apt-get -q update && # sudo apt-get install -yq bastet && # sudo rm -rf /var/lib/apt/lists/*
#
# More information: https://www.gitpod.io/docs/config-docker/
+13
View File
@@ -0,0 +1,13 @@
tasks:
- before: pip install -U platformio && brew install uncrustify && pip3 install -r ./requirements.txt
image:
file: .gitpod.Dockerfile
vscode:
extensions:
- ms-vscode.cpptools@0.26.3:u3GsZ5PK12Ddr79vh4TWgQ==
- eamodio.gitlens@10.2.1:e0IYyp0efFqVsrZwsIe8CA==
- LaurentTreguier.uncrustify@2.18.0:/k8Osjj/XSuz09F+pEu7wg==
- Atishay-Jain.All-Autocomplete@0.0.23:fbZNfSpnd8XkAHGfAPS2rA==
- 2gua.rainbow-brackets@0.0.6:Tbu8dTz0i+/bgcKQTQ5b8g==
+3
View File
@@ -0,0 +1,3 @@
{
"extensions.showRecommendationsOnlyOnDemand": true
}
+70 -22
View File
@@ -1,42 +1,90 @@
language: python
python:
- '2.7'
- '3.8'
#we want a newer cppcheck, so use trusty
dist: trusty
dist: bionic
sudo: false
cache:
directories:
- "~/.platformio"
- "./.pioenvs"
cache: false
addons:
apt:
packages:
- cppcheck
- binutils
install:
- pip install -U platformio
- pip install -U platformio sphinx recommonmark sphinx_bootstrap_theme
- pip install -r requirements.txt
- platformio update
- cd patches; ./check_puya_patch; cd ..
env:
- ENV=custom_ESP32_4M316k
- ENV=custom_ESP32_4M316k_ETH
#- ENV=custom_ESP8266_1M
- ENV=custom_ESP8266_4M1M
#- ENV=custom_ESP8266_4M2M
#- ENV=custom_ESP8266_4M2M_LittleFS
#- ENV=custom_alt_wifi_ESP8266_1M
- ENV=custom_alt_wifi_ESP8266_4M1M
#- ENV=custom_beta_ESP8266_1M
#- ENV=custom_beta_ESP8266_4M1M
- ENV=custom_sdk3_ESP8266_4M1M
- ENV=dev_ESP8266_4M1M
- ENV=hard_SONOFF_POW_4M1M
- ENV=hard_Shelly_1_2M256
- ENV=hard_Shelly_PLUG_S_2M256
- ENV=hard_Ventus_W266
- ENV=hard_LCtech_relay_x2_1M
- ENV=hard_other_POW_ESP8285_1M
- ENV=minimal_IRext_ESP8266_1M
- ENV=minimal_IRext_ESP8266_4M1M
- ENV=minimal_IRext_ESP8266_4M2M
#- ENV=minimal_core_242_ESP8266_1M_OTA
#- ENV=minimal_core_242_ESP8285_1M_OTA
- ENV=minimal_core_274_ESP8266_1M_OTA_Domoticz
- ENV=minimal_core_274_ESP8266_1M_OTA_FHEM_HA
- ENV=minimal_core_274_ESP8285_1M_OTA_Domoticz
- ENV=minimal_core_274_ESP8285_1M_OTA_FHEM_HA
#- ENV=minimal_core_274_sdk3_ESP8266_1M_OTA_Domoticz
#- ENV=minimal_core_274_sdk3_ESP8266_1M_OTA_FHEM_HA
#- ENV=minimal_core_274_sdk3_ESP8285_1M_OTA_Domoticz
#- ENV=minimal_core_274_sdk3_ESP8285_1M_OTA_FHEM_HA
#- ENV=normal_ESP8266_16M_LittleFS
- ENV=normal_ESP8266_1M
- ENV=normal_ESP8266_1M_VCC
- ENV=normal_ESP8266_4M1M
- ENV=normal_ESP8266_4M1M_VCC
- ENV=normal_ESP8285_1M
- ENV=normal_IRext_no_rx_ESP8266_4M2M
- ENV=normal_WROOM02_2M256
- ENV=normal_WROOM02_2M
- ENV=normal_alt_wifi_ESP8266_1M
- ENV=normal_alt_wifi_ESP8266_1M_VCC
- ENV=normal_alt_wifi_ESP8266_4M1M
#- ENV=normal_sdk3_ESP8266_1M
#- ENV=spec_debug_beta_custom_ESP8266_4M1M
#- ENV=spec_debug_custom_ESP32_4M316k
#- ENV=spec_debug_custom_ESP8266_4M1M
#- ENV=spec_memanalyze_ESP8266
- ENV=test_ESP32-wrover-kit_4M316k
- ENV=test_ESP32-wrover-kit_4M316k_ETH
- ENV=test_ESP32_4M316k
- ENV=test_ESP32_4M316k_ETH
- ENV=test_ESP32_lolin-d32-pro
- ENV=test_ESP8266_4M1M_VCC
#- ENV=test_ESP8266_4M1M_VCC_MDNS_SD
- ENV=test_alt_wifi_ESP8266_4M1M_VCC
#- ENV=test_beta_ESP8266_16M_LittleFS
- ENV=test_beta_ESP8266_4M1M
script:
# - cppcheck --enable=warning src/*.ino -q --force -I src --include=src/ESPEasy.ino --error-exitcode=1
# - ./memanalyzer.py ~/.platformio/packages/toolchain-xtensa/bin/xtensa-lx106-elf-objdump
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run
# patch platformio core libs for PUYA bug (https://github.com/letscontrolit/ESPEasy/issues/650)
- cd patches; ./check_puya_patch; cd ..
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -s --environment dev_ESP8266PUYA_1024
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e $ENV
before_deploy:
- ./before_deploy
- export RELEASE_FILE=$(ls ESPEasy*.zip)
deploy:
provider: releases
@@ -44,7 +92,7 @@ deploy:
api_key:
secure: bZeuKI7evXeZYmGayfcvIC1fThBGcksAyOrCbZ8kAGeTbHGJqFLBBy8to5UpNBSZVfeDWo25Iqy8Pfbyb7p2c1hg6fG9jS0UzQkLnoUNMxpUM1dJACkZxvFdP4Br3Y3vUPWtrWUbo8rN/b3E6tjSNLE7vQiwsarj+eWTO2V6BGcsN0eHc04/UCM2+DcHvJ4y7Ec36yIUaClNAWMal1osBYaViruylOdBKT/WDs1ZMoJMceXCfxMQ/8J2moYvymKfSkXSmoMGmzlTuq8v5N4AweutjpC4Zba2BbxIJv+PwWjhfIgTviHFggSU90UPTKVWYv13vms92VVKz1CDVrUQNn+YQes9+ROPUnrMc9bJ+q7E1lWJRZeDMqGECB+8BjUtUk6H81K+XhOnW1mtZiMnvMCwkmE0OT1eBObGMcpR962/DUBoQDmulMs2IieB0dLobmUBhpc1syrKEPKxjY7yhhQMr6In82jODVLR3qDkNQ8xtIfevzCo/ocUjiOrXW4b/pDMy28Yh109DMb/KSWEsjjkkpXhsT1YVy2MwOa7FRhHFW+SNKX4Us8T75H+pO4mQ4afnPEtjYKodj7XD92zqNxKfMx3elEx5RK6HKekHjpXdYtuXzGONB9StA+2T43/2llt3n5fzv4BRfCumBEJ77/ufB0U/uhsCe6lVwJf34U=
file_glob: true
file: "${RELEASE_FILE}"
file: ESPEasy*.zip
skip_cleanup: true
on:
+8
View File
@@ -0,0 +1,8 @@
The scripts in this directory are so called GIT hooks.
Purpose is to do automatic changes after merge, commit and checkout.
Those files are for a Linux-like environment with basic tools ln, grep, sed and bash.
Windows users can see them as template.
To use them simply copy those files into your ESPEasy/.git/hooks directory.
+26 -15
View File
@@ -1,13 +1,17 @@
|Latest Nightly | Build Status | Downloads | Docs | Patreon | Ko-Fi | PayPal |
|-------|-------|-------|-------|-------|-------|-------|
| [![GitHub version](https://img.shields.io/github/release/letscontrolit/ESPEasy/all.svg)](https://github.com/letscontrolit/ESPEasy/releases/latest) | [![Build Status](https://travis-ci.org/letscontrolit/ESPEasy.svg?branch=mega)](https://travis-ci.org/letscontrolit/ESPEasy) | [![Downloads](https://img.shields.io/github/downloads/letscontrolit/ESPEasy/total.svg)](https://github.com/letscontrolit/ESPEasy/releases) | [![Documentation Status](https://readthedocs.org/projects/espeasy/badge/?version=latest)](https://espeasy.readthedocs.io/en/latest/?badge=latest) | [![donate](https://img.shields.io/badge/donate-Patreon-blue.svg)](https://www.patreon.com/GrovkillenTDer) | [![donate](https://img.shields.io/badge/donate-KoFi-blue.svg)](https://ko-fi.com/grovkillentder) | [![donate](https://img.shields.io/badge/donate-PayPal-blue.svg)](https://www.paypal.me/espeasy) |
For ways to *support* us, see [this announcement on the forum](https://www.letscontrolit.com/forum/viewtopic.php?f=14&t=5787), or have a look at the [Patreon](https://www.patreon.com/GrovkillenTDer), [Ko-Fi](https://ko-fi.com/grovkillentder) or [PayPal](https://www.paypal.me/espeasy) links above.
# ESPEasy (development branch)
Build status: [![Build Status](https://travis-ci.org/letscontrolit/ESPEasy.svg?branch=mega)](https://travis-ci.org/letscontrolit/ESPEasy)
Introduction and wiki: https://www.letscontrolit.com/wiki/index.php/ESPEasy#Introduction
**MEGA**
:warning:This is the development branch of ESPEasy. All new untested features go into this branch. If you want to do a bugfix, do it on the stable branch, we will merge the fix to the development branch as well.:warning:
Next stable branch: https://github.com/letscontrolit/ESPEasy/tree/v2.0 (bug fixes only, since oct 2017))
Check here to learn how to use this branch and help us improving ESPEasy: http://www.letscontrolit.com/wiki/index.php/ESPEasy#Source_code_development
@@ -16,24 +20,31 @@ Check here to learn how to use this branch and help us improving ESPEasy: http:/
Every night our build-bot will build a new binary release: https://github.com/letscontrolit/ESPEasy/releases
The releases are named something like 'mega-20180102' (last number is the build date)
The releases are named something like 'mega-20190225' (last number is the build date)
Depending on your needs, we release different types of files:
Firmware name | Hardware | Included plugins |
----------------------------------------------|-------------------------|-----------------------------|
ESPEasy_mega-20180102_normal_ESP8266_1024.bin | ESP8266 with 1Mb flash | Stable |
ESPEasy_mega-20180102_test_ESP8266_1024.bin | ESP8266 with 1Mb flash | Stable + Test |
ESPEasy_mega-20180102_dev_ESP8266_1024.bin | ESP8266 with 1Mb flash | Stable + Test + Development |
ESPEasy_mega-20180102_normal_ESP8266_4096.bin | ESP8266 with 4Mb flash | Stable |
ESPEasy_mega-20180102_test_ESP8266_4096.bin | ESP8266 with 4Mb flash | Stable + Test |
ESPEasy_mega-20180102_dev_ESP8266_4096.bin | ESP8266 with 4Mb flash | Stable + Test + Development |
ESPEasy_mega-20180102_normal_ESP8285_1024.bin | ESP8285 with 1Mb flash | Stable |
ESPEasy_mega-20180102_test_ESP8285_1024.bin | ESP8285 with 1Mb flash | Stable + Test |
ESPEasy_mega-20180102_dev_ESP8285_1024.bin | ESP8285 with 1Mb flash | Stable + Test + Development |
ESPEasy_mega-20190225_normal_ESP8266_1M.bin | ESP8266 with 1MB flash | Stable |
ESPEasy_mega-20190225_test_ESP8266_1M.bin | ESP8266 with 1MB flash | Stable + Test |
ESPEasy_mega-20190225_dev_ESP8266_1M.bin | ESP8266 with 1MB flash | Stable + Test + Development |
ESPEasy_mega-20190225_normal_ESP8266_4M.bin | ESP8266 with 4MB flash | Stable |
ESPEasy_mega-20190225_test_ESP8266_4M.bin | ESP8266 with 4MB flash | Stable + Test |
ESPEasy_mega-20190225_dev_ESP8266_4M.bin | ESP8266 with 4MB flash | Stable + Test + Development |
ESPEasy_mega-20190225_normal_ESP8285_1M.bin | ESP8285 with 1MB flash | Stable |
ESPEasy_mega-20190225_test_ESP8285_1M.bin | ESP8285 with 1MB flash | Stable + Test |
ESPEasy_mega-20190225_dev_ESP8285_1M.bin | ESP8285 with 1MB flash | Stable + Test + Development |
## More info
## Documentation & more info
Details and discussion are on the Experimental forum: https://www.letscontrolit.com/forum/viewforum.php?f=18
Our new, in-depth documentation can be found at [ESPEasy.readthedocs.io](https://espeasy.readthedocs.io/en/latest/). Automatically built, so always up-to-date according to the contributed contents. The old Wiki documention can be found at [letscontrolit.com/wiki](https://www.letscontrolit.com/wiki/index.php?title=ESPEasy).
We're also on IRC: #ESPEasy @freenode
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](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/letscontrolit/ESPEasy)
## Icons used
Icons on courtesy of [ICONS8](https://icons8.com/).
+75 -29
View File
@@ -1,42 +1,88 @@
#!/bin/bash
VERSION=$(git describe)
TMP_DIST=`mktemp -d`
CURPATH=`pwd`
BUILD_LOG=`echo "${TMP_DIST}/buildlog.txt"`
# PIO 3.x :
# BINARY_PATH=".pioenvs"
# PIO 4.0 and newer:
BINARY_PATH=".pio/build"
while getopts d: option
do
case "${option}"
in
d) VERSION=${OPTARG};;
esac
done
if [ ! -d ${TMP_DIST} ]; then
# Could not create temp dir, so exit
exit 1
fi
echo "### Creating zip archives"
#Naming convention:
# ESP_Easy_[github version]_[plugin set]_[chip type]_[flash memory].bin
if [ -d "build_output/reject" ]; then
zip -qq ${CURPATH}/ESPEasy_ELF_files_$VERSION.zip build_output/reject/*
fi
for ENV in \
normal_ESP8266_1024 \
normal_ESP8266_4096 \
normal_ESP8285_1024 \
test_ESP8266_1024\
test_ESP8266_4096\
test_ESP8266_4096_VCC\
test_ESP8285_1024\
dev_ESP8266_1024\
dev_ESP8266_4096\
dev_ESP8285_1024\
dev_ESP8266PUYA_1024\
dev_ESP8266PUYA_1024_VCC;\
do
echo
echo "### Deploying environment $ENV for version $VERSION"
BIN=.pioenvs/$ENV/firmware.bin
python2 crc2.py $BIN
cp $BIN dist/"ESP_Easy_$VERSION""_$ENV.bin"
done
zip -qq ${CURPATH}/ESPEasy_ELF_files_$VERSION.zip build_output/debug/*
echo "### Created ESPEasy_ELF_files_$VERSION.zip"
mkdir -p ${TMP_DIST}
cp -r dist/* ${TMP_DIST}/
if [ -d "docs/build" ]; then
# Docs have been created
zip -r -qq ${CURPATH}/ESPEasy_docs_$VERSION.zip docs/build/*
echo "### Created ESPEasy_docs_$VERSION.zip"
fi
#create a source structure that is the same as the original ESPEasy project (and works with the howto on the wiki)
rm -rf dist/Source 2>/dev/null
mkdir dist/Source
cp -r lib dist/Source/
cp -r src dist/Source/
cp platformio.ini dist/Source/
#rm -rf dist/Source 2>/dev/null
cd dist
mkdir -p ${TMP_DIST}/source
cp -r lib ${TMP_DIST}/source/
cp -r src ${TMP_DIST}/source/
cp -r misc ${TMP_DIST}/source/
cp -r static ${TMP_DIST}/source/
cp -r tools ${TMP_DIST}/source/
cp platformio*.ini ${TMP_DIST}/source/
cp *.txt ${TMP_DIST}/source/
cp *.csv ${TMP_DIST}/source/
cp README* ${TMP_DIST}/source/
echo
echo "### Creating zip archive"
zip ../ESPEasy_$VERSION.zip -r .
cp -r build_output/bin/* ${TMP_DIST}/bin
rm -f ${TMP_DIST}/bin/*ESP32*
cd ${TMP_DIST}
if [ "$(ls -A ${TMP_DIST}/bin/)" ]; then
echo
zip -qq ${CURPATH}/ESPEasy_ESP82xx_$VERSION.zip -r .
echo "### Created ESPEasy_ESP82xx_$VERSION.zip"
fi
cd ${CURPATH}
rm -f ${TMP_DIST}/bin/*
cp -r build_output/bin/*ESP32* ${TMP_DIST}/bin
cd ${TMP_DIST}
if [ "$(ls -A ${TMP_DIST}/bin/)" ]; then
echo
zip -qq ${CURPATH}/ESPEasy_ESP32_$VERSION.zip -r .
echo "### Created ESPEasy_ESP32_$VERSION.zip"
fi
rm -Rf ${TMP_DIST}/* 2>/dev/null
rmdir ${TMP_DIST}
+55 -45
View File
@@ -1,14 +1,14 @@
import sys
import binascii
import struct
import md5
from hashlib import md5
import os
MD5DUMMY = "MD5_MD5_MD5_MD5_BoundariesOfTheSegmentsGoHere..." #48 chars
FILENAMEDUMMY = "ThisIsTheDummyPlaceHolderForTheBinaryFilename..." #48 chars
FILENAMEDUMMY = "ThisIsTheDummyPlaceHolderForTheBinaryFilename64ByteLongFilenames" #64 chars
MemorySegmentStart,MemorySegmentEnd,MemoryContent=[],[],[]
##################################################################
# this subroutine shows the segments of a part
##################################################################
@@ -18,7 +18,7 @@ def showSegments (fileContent,offset):
herestr =""
herestr2 =""
MemorySegmentStart.append(struct.pack("I",header[0]))
MemorySegmentEnd.append(struct.pack("I",header[0]+header[1]))
MemorySegmentEnd.append(struct.pack("I",header[0]+header[1]))
MemoryContent.append(fileContent[offset+8:offset+8+header[1]])
if fileContent.find( MD5DUMMY, offset+8, offset+8+header[1]) >0 :
herestr= " <-- CRC is here."
@@ -42,23 +42,32 @@ def showParts(fileContent, offset):
return nextSegmentOffset
##################################################################
# MAIN
# MAIN
##################################################################
#if len(sys.argv) !=2 :
# print ("please give a filename")
# k=input("press close to exit")
# sys.exit(1)
FileName = sys.argv[1]#"C:/ArduinoPortable/sketchbooks/build/sketch_jan15a.ino.bin"
FileName = sys.argv[1]
#FileName = "C:/ArduinoPortable/sketchbooks/build/sketch_jan15a.ino.bin"
print( "\n\nReplacing dummy MD5 checksum in .bin file")
with open(FileName, mode='rb') as file: # b is important -> binary
nextpos =0;
fileContent = file.read()
while nextpos >=0:
firmware_esp8266 = fileContent.find("ID_EASY_ESP8266") >= 0
firmware_esp32 = fileContent.find("ID_EASY_ESP32") >= 0
if firmware_esp8266:
print("ESP8266 build")
if firmware_esp32:
print("ESP32 build")
# TODO: showParts does not work for esp32
if firmware_esp8266:
nextpos =0;
while nextpos >=0:
nextpos = showParts(fileContent,nextpos)
startArray,endArray,hashString = "","",""
@@ -70,47 +79,48 @@ includeStr = "hash includes segments:"
# 3: RAM (initialized by bin file. Can be read but changes as you go :-( )
# 4: RAM
for i in (1,2 ): # use only stable segments, must be 4 in total. We use 2.
startArray =startArray + MemorySegmentStart[i]
endArray = endArray + MemorySegmentEnd[i]
if firmware_esp8266:
for i in (1,2 ): # use only stable segments, must be 4 in total. We use 2.
startArray =startArray + MemorySegmentStart[i]
endArray = endArray + MemorySegmentEnd[i]
hashString =hashString + MemoryContent[i]
with open(FileName+str(i), mode='wb') as file: # b is important -> binary
file.write(MemoryContent[i])
includeStr = includeStr +" "+ str(i)
print (includeStr)
# IMPORTANT: pad array with zeros if you use only 3 segments (see above)
while len(startArray) < 16 :
startArray =startArray + struct.pack("I",0)
endArray = endArray + struct.pack("I",0)
# debug print (binascii.hexlify(startArray))
# debug print (binascii.hexlify(endArray))
if (len(endArray) + len (startArray)) != 32 :
print("ERROR: please make sure you add / remove padding if you change the semgents.")
print (includeStr)
# IMPORTANT: pad array with zeros if you use only 3 segments (see above)
while len(startArray) < 16 :
startArray =startArray + struct.pack("I",0)
endArray = endArray + struct.pack("I",0)
# debug print (binascii.hexlify(startArray))
# debug print (binascii.hexlify(endArray))
if (len(endArray) + len (startArray)) != 32 :
print("ERROR: please make sure you add / remove padding if you change the semgents.")
BinaryFileName = "";
if fileContent.find( FILENAMEDUMMY) < 0:
print("ERROR: FILENAMEDUMMY dummy not found in binary")
else:
BinaryFileName=os.path.basename(FileName) +"\0"
if len(BinaryFileName) >48: # check that filename is <48 chars
BinaryFileName=BinaryFileName[0:48] # truncate if necessary. 49th char in ESP is zero already
else:
BinaryFileName= BinaryFileName.ljust(48,'\0'); # pad with zeros.
if fileContent.find( MD5DUMMY) < 0:
print("ERROR: MD5 dummy not found in binary")
else:
hashString=hashString.replace (MD5DUMMY,"",1)
m = md5.new()
m.update (hashString) #use segment 1
md5hash = m.digest()
print("MD5 hash: "+ m.hexdigest())
print("\nwriting output file:\n" + FileName)
fileContent=fileContent.replace(MD5DUMMY,md5hash+startArray+endArray)
BinaryFileName=os.path.basename(FileName) +"\0"
if len(BinaryFileName) >64: # check that filename is <48 chars
BinaryFileName=BinaryFileName[0:64] # truncate if necessary. 49th char in ESP is zero already
else:
BinaryFileName= BinaryFileName.ljust(64,'\0'); # pad with zeros.
fileContent=fileContent.replace(FILENAMEDUMMY,BinaryFileName)
with open(FileName, mode='wb') as file: # b is important -> binary
file.write(fileContent)
#k=input("press close to exit")
if firmware_esp8266:
if fileContent.find( MD5DUMMY) < 0:
print("ERROR: MD5 dummy not found in binary")
else:
hashString=hashString.replace (MD5DUMMY,"",1)
m = md5(hashString) #use segment 1
md5hash = m.digest()
print("MD5 hash: "+ m.hexdigest())
fileContent=fileContent.replace(MD5DUMMY,md5hash+startArray+endArray)
print("\nwriting output file:\n" + FileName)
with open(FileName, mode='wb') as file: # b is important -> binary
file.write(fileContent)
#k=input("press close to exit")
BIN
View File
Binary file not shown.
-63
View File
@@ -1,63 +0,0 @@
plugin |cache IRAM |init RAM |r.o. RAM |uninit RAM |Flash ROM
src/_C001.ino |0 |0 |272 |0 |3520
src/_C002.ino |0 |4 |528 |32 |6064
src/_C003.ino |0 |0 |64 |0 |1072
src/_C004.ino |0 |0 |56 |8 |1280
src/_C005.ino |0 |4 |56 |8 |1424
src/_C006.ino |0 |0 |64 |0 |1296
src/_C007.ino |0 |4 |32 |0 |1664
src/_C008.ino |0 |0 |80 |0 |2272
src/_C009.ino |0 |4 |352 |16 |4896
src/_C010.ino |0 |0 |48 |0 |1136
src/_C011.ino |0 |0 |152 |8 |5248
src/_N001_Email.ino |0 |0 |72 |8 |1808
src/_N002_Buzzer.ino |288 |12 |8 |264 |1184
src/_P001_Switch.ino |1028 |8 |104 |280 |7248
src/_P002_ADC.ino |0 |0 |16 |0 |336
src/_P003_Pulse.ino |167 |0 |144 |192 |2544
src/_P004_Dallas.ino |0 |0 |64 |16 |2496
src/_P005_DHT.ino |0 |0 |56 |8 |1520
src/_P006_BMP085.ino |0 |4 |48 |8 |2112
src/_P007_PCF8591.ino |0 |0 |8 |8 |400
src/_P008_RFID.ino |101 |0 |56 |8 |624
src/_P009_MCP.ino |0 |0 |104 |24 |3232
src/_P010_BH1750.ino |0 |0 |56 |8 |2688
src/_P011_PME.ino |0 |4 |96 |0 |3040
src/_P012_LCD.ino |0 |4 |120 |8 |3520
src/_P013_HCSR04.ino |90 |0 |64 |16 |1552
src/_P014_SI7021.ino |0 |4 |48 |0 |1824
src/_P015_TSL2561.ino |0 |0 |56 |8 |3488
src/_P016_IR.ino |288 |0 |72 |480 |3600
src/_P017_PN532.ino |0 |0 |88 |72 |2016
src/_P018_Dust.ino |0 |0 |56 |8 |512
src/_P019_PCF8574.ino |0 |0 |104 |24 |2848
src/_P020_Ser2Net.ino |0 |0 |88 |40 |3456
src/_P021_Level.ino |0 |4 |136 |24 |1872
src/_P022_PCA9685.ino |0 |4 |32 |0 |1216
src/_P023_OLED.ino |0 |4 |80 |0 |4448
src/_P024_MLX90614.ino |0 |4 |56 |8 |992
src/_P025_ADS1115.ino |0 |0 |72 |8 |1184
src/_P026_Sysinfo.ino |0 |0 |72 |8 |864
src/_P027_INA219.ino |0 |0 |56 |24 |1840
src/_P028_BME280.ino |128 |0 |48 |80 |3488
src/_P029_Output.ino |0 |4 |8 |8 |256
src/_P030_BMP280.ino |128 |0 |48 |48 |3024
src/_P031_SHT1X.ino |0 |0 |100 |0 |2176
src/_P032_MS5611.ino |0 |4 |88 |56 |2592
src/_P033_Dummy.ino |0 |4 |48 |0 |1168
src/_P034_DHT12.ino |0 |0 |16 |0 |656
src/_P035_IRTX.ino |0 |4 |64 |-8 |3840
src/_P036_FrameOLED.ino |0 |4 |96 |0 |33600
src/_P037_MQTTImport.ino |0 |0 |24 |40 |3536
src/_P038_NeoPixel.ino |128 |0 |56 |8 |1712
src/_P039_Thermocouple.ino |0 |0 |104 |8 |1536
src/_P040_ID12.ino |0 |4 |72 |8 |640
src/_P041_NeoClock.ino |128 |4 |128 |0 |3344
src/_P042_Candle.ino |128 |8 |160 |32 |8048
src/_P043_ClkOutput.ino |0 |0 |80 |0 |1456
src/_P044_P1WifiGateway.ino |0 |0 |80 |64 |4032
src/_P045_MPU6050.ino |0 |4 |216 |72 |4496
src/_P046_VentusW266.ino |325 |4 |184 |88 |3920
src/_P047_i2c-soil-moisture-so|0 |4 |216 |8 |2144
src/_P048_Motorshield_v2.ino |0 |32 |208 |0 |5952
src/_P049_MHZ19.ino |380 |80 |184 |88 |3792
+105
View File
@@ -0,0 +1,105 @@
_____ ____ ____
| ____/ ___|| _ \ ___ __ _ ___ _ _
| _| \___ \| |_) / _ \/ _` / __| | | |
| |___ ___) | __/ __/ (_| \__ \ |_| |
|_____|____/|_| \___|\__,_|___/\__, |
|___/
This is the distribution folder for ESPeasy.
In here you will find a flash tool to program the ESP module.
Also a number of binary images is included.
The filename is quite descriptive:
ESP_Easy_mega-<date>_<buildType>_<chip>_<memorySize>.bin
Build type can be: (differ in included plugins)
- normal => Only Stable plugins and controllers
- test => Stable + Testing
- dev => Stable + Testing + Development
There is also a number of special builds:
- normal_IR => "Normal" + IR receiver/transmitter plugins and library
- hard_xxxxx => Special builds for some off-the-shelf hardware.
- minimal_ESP82xx_1M_OTA => Minimum number of plugins and a limited set of controllers included to be able to perform a 2-step OTA on 1 MB flash nodes.
- normal_core_xxx => "Normal" using core xxx (e.g. 2.4.1)
- normal_beta => "Normal" using the staged (beta) branch of the esp8266/Arduino repository.
Chip can be:
- ESP8266 => Most likely option
- ESP8285 => Used in some Sonoff modules
- ESP32 => Experimental support at this moment
MemorySize can be:
- 1M => 1 MB flash modules (e.g. almost all Sonoff modules)
- 2M => 2 MB flash modules (e.g. Shelly1/WROOM02)
- 4M => 4 MB flash modules (e.g. NodeMCU/ESP32)
- 16M => 16 MB flash modules (e.g. Wemos D1 mini pro)
Please note that the performance of 14MB SPIFFS (16M flash modules) is really slow.
All file access takes a lot longer and since the settings are also read from flash, the entire node will perform slower.
See [Arduino issue - SPIFFS file access slow on 16/14M flash config](https://github.com/esp8266/Arduino/issues/5932)
If these speed issues will be fixed, it is very likely the SPIFFS must then be re-partitioned, thus loosing all data in the SPIFFS.
Special memory partitioning:
- 2M256 => 2 MB flash modules (e.g. Shelly1/WROOM02) with 256k SPIFFS (only core 2.5.0 or newer)
- 4M316k => For ESP32 with 4MB flash, sketch size is set to 1.8 MByte (default: 1.4 MByte)
- 4M1M => 4MB flash, 1 MB SPIFFS. Default layout for 4MB flash.
- 4M2M => 4MB flash, 2 MB SPIFFS. Introduced in October 2019. Only possible with core 2.5.2 or newer.
Difference between .bin and .bin.gz
Starting on esp8266/Arduino core 2.7.0, it is possible to flash images that have been compressed using GZip.
Please note that this only can be used on installs already running a very recent build.
This also means we still need to update the 2-step updater to support .bin.gz files.
ESP32 now has 3 builds:
- custom_ESP32_4M316k Build template using either the plugin set defined in ``Custom.h`` or ``tools/pio/pre_custom_esp32.py``
- test_ESP32_4M316k Build using the "testing" set of plugins for ESP32
- test_ESP32-wrover-kit_4M316k A build for ESP32 including build flags for the official WRover test kit.
Since ESP32 does have its flash partitioned in several blocks, we have 2 bin files of each ESP32 build:
- test_ESP32_4M316k.bin
- test_ESP32_4M316k-factory.bin
The binary with "-factory" in the name must be flashed on a new node, via the serial interface of the board.
This flash must be started at address 0.
The binary without "-factory" can be used for OTA updates. (OTA for ESP32 is added in May 2020)
Please note that changing between those versions will destroy the settings!
The SPIFFS partition will be lost and that contains all settings.
To help recover from a bad flash, there are also blank images included.
- blank_1MB.bin
- blank_2MB.bin
- blank_4MB.bin
- blank_16MB.bin
When the wrong image is flashed, or the module behaves unstable, or is in a reboot loop,
flash these images first and then the right image for the module.
ESP.Easy.Flasher.exe...
... is the new flashing tool for ESP Easy. You need to run it in elevated mode (as admin)
for it to fetch the COM ports correctly. If you want you may save YOUR settings using the
"Save as default settings" button in the lower left corner. If the window is too big or
too small you can experiment with the "Pixels Per Inch" variable in the
..\Settings\Default.ini file. Setting it to =96 is working for most users but the
application will try to find the most optimal value by default. Sometimes it fails to
do that. More information about the tool is found here:
https://github.com/Grovkillen/ESP_Easy_Flasher
You can also have custom serial commands entered in a txt file. One command per line.
For flashing ESP32 you need Espressif's own Flash Download Tools.
The latest version can be downloaded from: https://www.espressif.com/en/support/download/other-tools
Further reading:
For more information, see: https://github.com/letscontrolit/ESPEasy
Or our forum: https://www.letscontrolit.com/forum/
+5561 -1
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
+1
View File
File diff suppressed because one or more lines are too long
+1
View File
File diff suppressed because one or more lines are too long
+1
View File
File diff suppressed because one or more lines are too long
+1
View File
File diff suppressed because one or more lines are too long
+19
View File
@@ -0,0 +1,19 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SOURCEDIR = source
BUILDDIR = build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+34
View File
@@ -0,0 +1,34 @@
{"ESP_Easy_info":[
{
"MessageTitle":"Please support us",
"MessageBody":"We are in need for support. Currently we need to do a whole lot of consulting to keep us floating. If we could get funding for at least 50% of our time we could make a lot more than with our current 10-15%. Ideal would be 100% funding but we're realistic :) <br><br>We will add extra goodies for those who support us through monthly payments using Patreon.<br><br><br>Thanks for your support (from TD-er and Grovkillen)!",
"MessagePicture":"",
"MessageWriter":"Grovkillen",
"MessageColorBG":"",
"MessageColorFont":"",
"MessageDate":"2019-01-07",
"MessageType":"general",
"MessageLink1text":"Patreon",
"MessageLink1":"",
"MessageLink2text":"Ko-Fi",
"MessageLink2":"",
"MessageLink3text":"Paypal",
"MessageLink3":""
},{
"MessageTitle":"First announcement test",
"MessageBody":"We're planning on using the ESP Easy Flasher to push announcements to the users. Hopefully this will work out good and make more people aware of how things are evolving. This will be used as a channel for pretty much anything regarding the prject. Thanks for your support!",
"MessagePicture":"",
"MessageWriter":"Grovkillen",
"MessageColorBG":"",
"MessageColorFont":"",
"MessageDate":"2019-01-06",
"MessageType":"mega",
"MessageLink1text":"",
"MessageLink1":"",
"MessageLink2text":"",
"MessageLink2":"",
"MessageLink3text":"",
"MessageLink3":""
}
]
}
+35
View File
@@ -0,0 +1,35 @@
@ECHO OFF
pushd %~dp0
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build
if "%1" == "" goto help
%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
goto end
:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
:end
popd
+11
View File
@@ -0,0 +1,11 @@
recommonmark==0.6.0
Sphinx==3.1.2
sphinx-autobuild==0.7.1
sphinx-bootstrap-theme==0.7.1
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==1.0.3
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.4
sphinxcontrib-websupport==1.2.3
+22
View File
@@ -0,0 +1,22 @@
These scripts are used to render screenshots of the GUI.
We use phantomJS (available on Win/Mac/Linux http://phantomjs.org/quick-start.html)
and you control the script by passing arguments to the JavaScript files:
########## rasterize.js ##########
argument1: url (ampersand & need to be closed with "&")
argument2: output file name (you can use .png or .pdf as output format)
argument3: horisontalXvertical size (OPTIONAL)
argument4: zoom ("entire page" or "window" or <value> OPTIONAL)
....Example CLI....
phantomjs rasterize.js http://95.143.204.227/devices?index=1"&"page=1 P001_Setup_Switch_1.png
or
phantomjs rasterize.js http://95.143.204.227/devices?index=1"&"page=1 P001_Setup_Switch_1.png 1200px 2
WE USE THE SECOND EXAMPLE by default (you might need to change zoomFactor if the page is too big).
If the rendering is not working you can use this CLI (arg --debug=true):
phantomjs --debug=true rasterize.js http://95.143.204.227/devices?index=1"&"page=1 P001_Setup_Switch_1.png 1200px 2
+52
View File
@@ -0,0 +1,52 @@
//removed use strict GROVKILLEN
var page = require('webpage').create(),
system = require('system'),
address, output, size;
if (system.args.length < 3 || system.args.length > 5) {
console.log('Usage: rasterize.js URL filename [paperwidth*paperheight|paperformat] [zoom]');
console.log(' image (png/jpg output) examples: "1920px" entire page, window width 1920px');
console.log(' "800px*600px" window, clipped to 800x600');
phantom.exit(1);
} else {
address = system.args[1];
output = system.args[2];
page.viewportSize = { width: 600, height: 600 };
if (system.args.length > 3 && system.args[2].substr(-4) === ".pdf") {
size = system.args[3].split('*');
page.paperSize = size.length === 2 ? { width: size[0], height: size[1], margin: '0px' }
: { format: system.args[3], orientation: 'portrait', margin: '1cm' };
} else if (system.args.length > 3 && system.args[3].substr(-2) === "px") {
size = system.args[3].split('*');
if (size.length === 2) {
pageWidth = parseInt(size[0], 10);
pageHeight = parseInt(size[1], 10);
page.viewportSize = { width: pageWidth, height: pageHeight };
page.clipRect = { top: 0, left: 0, width: pageWidth, height: pageHeight };
} else {
console.log("size:", system.args[3]);
pageWidth = parseInt(system.args[3], 10);
pageHeight = parseInt(pageWidth * 3/4, 10); // it's as good an assumption as any
console.log ("pageHeight:",pageHeight);
page.viewportSize = { width: pageWidth, height: pageHeight };
}
}
if (system.args.length > 4) {
page.zoomFactor = system.args[4];
}
page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
phantom.exit(1);
} else {
window.setTimeout(function () {
//This is injected because of bug in phantomjs (rendering black background: http://phantomjs.org/tips-and-tricks.html) GROVKILLEN
page.evaluate(function() {
document.body.bgColor = 'white';
});
page.render(output);
phantom.exit();
}, 200);
}
});
}
+235
View File
@@ -0,0 +1,235 @@
Config page
***********
Main Settings
=============
Unit Name
---------
The name of this node.
This is mainly used when connecting to a MQTT broker or in p2p communications.
It is also used to generate a hostname in the local network, for example when using mDNS.
Unit Number
-----------
The number of this node.
It can be appended to the hostname.
The main use of the unit number is in ESPEasy p2p communications.
When used in p2p communications, make sure not to use unit number ``0`` or ``255`` as those are reserved.
Range: 0 ... 255
Append Unit Number to hostname
------------------------------
A flag to indicate how the hostname must be generated from *Unit Name* and *Unit Number*.
N.B. currently it is used in all occurences where a hostname is needed, but this appeared to be not working well for some MQTT brokers.
So expect it to be changed later to split this flag for every occasion where a hostname is needed.
Admin Password
--------------
A password to prevent altering settings in the web interface.
Default password is empty.
N.B. when asked for a login prompt, the user name is ``admin``
WiFi Settings
=============
A WiFi capable device can operate in two modes:
* Station mode (STA), device needs to connect to an access point.
* Access Point mode (AP), other STA devices can connect to this device.
An AP will broadcast an identifier string, called the SSID.
For an STA device to connect to an AP, two parameters are needed:
* SSID - The identifier string of an AP.
* WPA key - The password or pass phrase to make a connection.
N.B. when using the mentioned commands to set SSID/key, don't forget to call the ``save`` command.
SSID
----
The AP identifier string to connect to.
This is needed when running in STA mode.
Can also be set via the command ``wifissid``.
WPA Key
-------
The password or pass phrase to connect to the AP with given SSID.
Can also be set via the command ``wifikey``.
Fallback SSID / WPA Key
-----------------------
This is an alternate to the first configured SSID/key.
There are various use cases to have multiple AP configurations stored on a node.
For example to be able to move to anothe location where only another AP can be reached.
Or as a backup, for example to let the node connect to a local hotspot on your phone.
Can also be set via the commands:
* ``wifissid2``
* ``wifikey2``
WPA AP Mode Key
---------------
It is possible a node cannot connect to an AP:
* When there is no SSID configured
* The configured AP's are not in reach
* The configured AP's do not allow the node to connect
In these situations the ESP node will start its own local AP.
As SSID the Unit Name will be used, which is by default ``ESP_Easy_0``
The default WPA key to connect to this AP is ``configesp``, but can be changed here.
This is often used to perform the initial configuration like connecting to the local network.
Can also be set via the command ``WiFiAPKey``.
Client IP filtering
===================
Sometimes it can be useful to only allow access to the web interface of a node from a specific range of IP-addresses.
For example if a node should only be configured from the local subnet.
Client IP block level
---------------------
* **Allow All** - No filtering applied, the web interface can be accessed from any IP able to reach the node. (default)
* **Allow Local Subnet** - Only allow access to the web interface from the local subnet.
* **Allow IP range** - Only allow access to the web interface from a specific IP range.
Access IP lower range
---------------------
When *Allow IP range* is set, this field defines the lower bound of the range.
Access IP upper range
---------------------
When *Allow IP range* is set, this field defines the upper bound of the range.
WiFi/Ethernet IP Settings
=========================
For both WiFi and Ethernet a node can be configured to receive an IP automatically via DHCP, or use a static IP.
If all fields for IP, GW, subnet mask and DNS are left empty, the configuration offered via DHCP will be used.
* **IP** The static IPv4 address to use for this node
* **Gateway** IPv4 address of the gateway to reach hosts outside this subnet. (typically the IP of the router)
* **Subnetmask** Mask applied to define the local subnet. (typically: ``255.255.255.0`` )
* **DNS** IPv4 address of a DNS server to use. (typically the IP of the router or some assigned by the ISP)
Sleep Mode
==========
Description
-----------
The ESP can be put into deep sleep for a set amount of time.
On an ESP8266, GPIO-16 must be connected to the RST pin to be able to wake up again.
As long as the node is in deep sleep mode, you can't connect to the web interface.
In fact, the ESP is turned off and only a dedicated timer circuit is still powered to wake up the main ESP core.
There are three ways to get out of sleep mode:
Cold boot
^^^^^^^^^
Power off the ESP and reconnect power.
You will have 30 seconds to connect to the Web interface and disable the Sleep Mode function.
(You will get feedback in the serial interface)
Temporary disable Deep Sleep via jumper setting
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If 30 seconds is too short for you, you can use this method.
* Disconnect GPIO-16 from RST and connect it to GND. Restart your ESP if neccesary.
* Now deep sleep will be disabled and your ESP will function normally, until you connect GPIO-16 to RST again.
This requires ESPEasy v2.0.0-dev6 or newer.
Factory reset
^^^^^^^^^^^^^
If all else fails, just do a factory reset. **You will lose all your settings!**
* Connect the RX and TX pin together while you restart your ESP. (will clear all stored settings)
* Power off the device.
* Remove the connector across the RX and TX pins.
* Restart and then configure the ESPEasy firmware again. (at restart factory default settings will be loaded)
If this doesn't work:
* Try loading the blank image to match the size of the memory installed on the device.
* Reboot and wait 5 minutes.
* Then load on the firmware you are wanting to use.
* Reboot and wait 5 minutes.
Sleep awake time
----------------
This setting defines the minimum time in seconds a node should be awake from deep sleep.
If set to 0, the node will not go into deep sleep automatically.
At boot from deep sleep, a timer is started based on this setting.
If this timer expires, the node will enter deep sleep again.
As soon as the node has a successful WiFi connection, the timer will be restarted to allow to send out sensor data.
N.B. It is possible to put a node into deepsleep via the command ``deepsleep``, regardless this setting.
Sleep time
----------
The duration in seconds for a node to go into deep sleep.
Typical max. duration is 4294 seconds (Roughly 71 minutes)
N.B. the maximum possible duration depends on the used core library version and is mentioned at the configuration page.
Sleep on connection failure
---------------------------
+39
View File
@@ -0,0 +1,39 @@
.. include:: _controller_substitutions.repl
.. _C001_page:
|C001_typename|
==================================================
|C001_shortinfo|
Controller details
------------------
Type: |C001_type|
Name: |C001_name|
Status: |C001_status|
GitHub: |C001_github|_
Maintainer: |C001_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

+39
View File
@@ -0,0 +1,39 @@
.. include:: _controller_substitutions.repl
.. _C002_page:
|C002_typename|
==================================================
|C002_shortinfo|
Controller details
------------------
Type: |C002_type|
Name: |C002_name|
Status: |C002_status|
GitHub: |C002_github|_
Maintainer: |C002_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
+39
View File
@@ -0,0 +1,39 @@
.. include:: _controller_substitutions.repl
.. _C003_page:
|C003_typename|
==================================================
|C003_shortinfo|
Controller details
------------------
Type: |C003_type|
Name: |C003_name|
Status: |C003_status|
GitHub: |C003_github|_
Maintainer: |C003_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
+39
View File
@@ -0,0 +1,39 @@
.. include:: _controller_substitutions.repl
.. _C004_page:
|C004_typename|
==================================================
|C004_shortinfo|
Controller details
------------------
Type: |C004_type|
Name: |C004_name|
Status: |C004_status|
GitHub: |C004_github|_
Maintainer: |C004_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
+39
View File
@@ -0,0 +1,39 @@
.. include:: _controller_substitutions.repl
.. _C005_page:
|C005_typename|
==================================================
|C005_shortinfo|
Controller details
------------------
Type: |C005_type|
Name: |C005_name|
Status: |C005_status|
GitHub: |C005_github|_
Maintainer: |C005_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
+39
View File
@@ -0,0 +1,39 @@
.. include:: _controller_substitutions.repl
.. _C006_page:
|C006_typename|
==================================================
|C006_shortinfo|
Controller details
------------------
Type: |C006_type|
Name: |C006_name|
Status: |C006_status|
GitHub: |C006_github|_
Maintainer: |C006_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
+39
View File
@@ -0,0 +1,39 @@
.. include:: _controller_substitutions.repl
.. _C007_page:
|C007_typename|
==================================================
|C007_shortinfo|
Controller details
------------------
Type: |C007_type|
Name: |C007_name|
Status: |C007_status|
GitHub: |C007_github|_
Maintainer: |C007_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
+39
View File
@@ -0,0 +1,39 @@
.. include:: _controller_substitutions.repl
.. _C008_page:
|C008_typename|
==================================================
|C008_shortinfo|
Controller details
------------------
Type: |C008_type|
Name: |C008_name|
Status: |C008_status|
GitHub: |C008_github|_
Maintainer: |C008_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
+39
View File
@@ -0,0 +1,39 @@
.. include:: _controller_substitutions.repl
.. _C009_page:
|C009_typename|
==================================================
|C009_shortinfo|
Controller details
------------------
Type: |C009_type|
Name: |C009_name|
Status: |C009_status|
GitHub: |C009_github|_
Maintainer: |C009_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
+39
View File
@@ -0,0 +1,39 @@
.. include:: _controller_substitutions.repl
.. _C010_page:
|C010_typename|
==================================================
|C010_shortinfo|
Controller details
------------------
Type: |C010_type|
Name: |C010_name|
Status: |C010_status|
GitHub: |C010_github|_
Maintainer: |C010_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
+97
View File
@@ -0,0 +1,97 @@
.. include:: _controller_substitutions.repl
.. _C011_page:
|C011_typename|
==================================================
|C011_shortinfo|
Controller details
------------------
Type: |C011_type|
Name: |C011_name|
Status: |C011_status|
GitHub: |C011_github|_
Maintainer: |C011_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
Many systems provide a simple HTTP API where data can be changed using a HTTP request with a properly constructed querystring.
This Controller allows you to send HTTP GET, POST and PUT Requests to the given webserver.
For every device you have to choose to which Controllers it is sending its data. When configuring the Controller you can access this data and use them to generate your querystring.
You can use this placeholders in http header and in the http body:
* ``%systime%`` will be replaced with the local system time
* ``%vcc%`` will be replaced with the power supply voltage (if enable in this build)
* ``%ip%`` will be replaced with the local ip adress
* ``%sysload%`` will be replaced with the system load
* ``%uptime%`` will be replaced with the system uptime
* ``%CR%`` will be replaced with "\r"
* ``%LF%`` will be replaced with "\n" (newline)
* ``%sysname%`` will be replaced with the system name
* ``%tskname%`` will be replaced with the name of the device which is sending data to this controller
* ``%id%`` will be replaced with IDX value.
* ``%vname1%`` will be replaced with Valuename 1
* ``%vname2%`` will be replaced with Valuename 2
* ``%vname3%`` will be replaced with Valuename 3
* ``%vname4%`` will be replaced with Valuename 4
* ``%val1%`` will be replaced with the value 1 of the device which is sending data to this controller
* ``%val2%`` will be replaced with the value 2 of the device which is sending data to this controller
You can also write things like this:
``%1%_some_text_and_placeholder_%/1%`` everything between ``%1%`` and ``%/1%`` will only print when there is a value ``1``
Examples
--------
InfluxDB HTTP Api
^^^^^^^^^^^^^^^^^
* HTTP Method: ``POST``
* HTTP URI: ``write?db=testdb``
* HTTP Header: ``Content-Type: application/x-www-form-urlencoded``
* HTTP Body:
.. code-block:: none
%1%%vname1%,Standort=%tskname%
Wert=%val1%%/1%%2%%LF%%vname2%,Standort=%taskname%
Wert=%val2%%/2%%3%%LF%%vname2%,Standort=%taskname%
Wert=%val3%%/3%%4%%LF%%vname2%,Standort=%taskname%
Wert=%val4%%/4%
See also `InfluxDB API description <https://docs.influxdata.com/influxdb/v1.5/guides/writing_data/#writing-multiple-points>`_
Nettemp HTTP Api
^^^^^^^^^^^^^^^^
untested but should work with something like this:
``/receiver.php?device=ip&type=%1%%vname1%%/1%%2%;%vname2%%/2%%3%;%vname3%%/3%%4%;%vname4%%/4%&value=%1%%val1%%/1%%2%;%val2%%/2%%3%;%val3%%/3%%4%;%val4%%/4%``
+39
View File
@@ -0,0 +1,39 @@
.. include:: _controller_substitutions.repl
.. _C012_page:
|C012_typename|
==================================================
|C012_shortinfo|
Controller details
------------------
Type: |C012_type|
Name: |C012_name|
Status: |C012_status|
GitHub: |C012_github|_
Maintainer: |C012_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
+309
View File
@@ -0,0 +1,309 @@
.. include:: _controller_substitutions.repl
.. _C013_page:
|C013_typename|
==================================================
|C013_shortinfo|
Controller details
------------------
Type: |C013_type|
Name: |C013_name|
Status: |C013_status|
GitHub: |C013_github|_
Maintainer: |C013_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|improved|
Implementation of secure communication and check for valid data.
.. versionadded:: 1.0
...
|added|
Initial release version.
Description
-----------
ESPEasy is able to communicate between nodes itself.
It is an IANA registered service: `espeasy-p2p <https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=8266#ESPeasy>`_
* Service Name: espeasy-p2p
* Port Number: 8266
* Transport Protocol: UDP
* Description: ESPeasy peer-2-peer communication
* Registration date: 2018-11-28
This protocol is targeted specific for use by ESPeasy to let ESPeasy nodes
communicate with each other to create a big swarm of nodes working together
without the need for a hosted service like MQTT, which needs a central broker.
It is currently used for:
* Discovery of nodes
* Sharing sensor data among nodes
Later updates may add:
* Distribution of settings
* Sending commands
Sharing Plugins among Nodes
---------------------------
It is possible to share the data collected by a plugin on one node so it can be used on another node.
This data can be used as if it is actually being run on the second node.
For example, a Dallas DS18b20 sensor on Node-1 is shared using the ESPeasy p2p controller.
This plugin can then automatically be setup on Node-2 and using the data collected by Node-1.
This is a rather non-intuitive process to setup.
Prerequisites
^^^^^^^^^^^^^
* Same UDP port must be setup on both nodes. (preferrably UDP port 8266) This can be done in Tools -> Advanced -> UDP port
* Nodes must be rebooted after UDP port has changed. (Builds before 2020-07-19)
* Each node must have an unique unit number. This must not be 0 and not 255, but anything inbetween is fine.
How to share a plugin
^^^^^^^^^^^^^^^^^^^^^
* Check to see if all nodes can see eachother. This will be visible on the main page showing a list of all nodes.
* Enable p2p networking controller on receiving node
* Make sure the receiving node has the spot free which is being used on the 'sending' node (For example slot 12)
* Enable p2p networking controller on sending node
* Set the plugin you want to share to use the p2p controller
Any node that is setup to receive data like this will see a plugin being added if the spot in the device list was still free.
Builds made after 2019/08/08 will show in the device overview page from which unit the shared plugin does get its data.
This also means the plugin must be removed and re-created if the sending node is changed. (e.g. another node or change of unit number)
In later builds there will be added an option to update this node number.
Some tips on trouble shooting
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* Make sure to reboot the node after changing the UDP port.
* Make sure all nodes have an unique unit number and share the same UDP port.
* If you have ArduinoOTA enabled, use another port for ESPeasy p2p UDP (port suggested in most OTA examples use port 8266)
* Ping the nodes from some other host to keep their WiFi awake.
* Disable "Eco mode" in the advanced settings.
* Sharing a plugin to be auto installed on another node is only sent right after the plugin is set to use the p2p controller. So if you don't see it appear on the other node, save it again on the source node.
* Make sure the same plugin is available in the build on both nodes. (e.g. both supporting Dallas DS18b20, if that's the one you want to share)
* When using the "Guest" feature of an access point, some will not allow direct communication between clients on the same AP. This will also prevent this p2p protocol to share data.
* If updating from builds before 2019/08/08, you may need to remove and add again a plugin receiving data from a remote node.
Sending & Known Nodes
---------------------
ESPEasy keeps track of all nodes advertising themselves via Sysinfo messages.
This knowledge is kept in a ``NodeStruct`` for at least 10 minutes.
If a node is not sending a Sysinfo message in this period, it will be removed from the list.
Data Format Versions
--------------------
During the IANA port assignment assessment, a number of issues were pointed out by their experts.
* Versioning
* Security
* Data validation
* Traffic limiting and congestion handling
There are now 2 versions available:
* Version "0" - No security, no data validation.
* Version "1" - Introduced in ESPeasy build <???>
Data Format Version 0
---------------------
Sending and receiving is causing issues when the swarm of nodes increases.
* All nodes with this service enabled will advertise their presence every 30 seconds via broadcast
* Nodes can not subscribe to receiving sensor data updates
* Non broadcast messages are sent to each individual known node, regardless if the receiving node will use the data
* Sensor Data messages are sent to each individual known node
* Sensor Info updates are sent to each individual known node when a plugin coupled to this plugin is saved.
Of each known node the following data is kept:
.. code-block:: C++
struct NodeStruct
{
String nodeName;
byte ip[4];
uint16_t build;
byte age;
byte nodeType;
};
The key to index this ``NodeStruct`` is the nodes unit number.
ASCII Data
^^^^^^^^^^^^^^^^
Command Message
^^^^^^^^^^^^^^^^
First byte is not 0xFF.
The entire message processed as a command like this:
.. code-block:: C++
packetBuffer[len] = 0;
ExecuteCommand_all(EventValueSource::Enum::VALUE_SOURCE_SYSTEM, &packetBuffer[0]);
As can be seen, no checks for size, and it is just expected to be a valid ESPeasy command.
Also no check to see if the command is supported by the receiving end and no feedback to the sender.
Binary Data
^^^^^^^^^^^^^^^^
Binary data is marked with the first byte 0xFF.
On the receiving end, it is packed in an event in the ``Data`` field and processed like this:
.. code-block:: C++
struct EventStruct TempEvent;
TempEvent.Data = reinterpret_cast<byte*>(&packetBuffer[0]);
TempEvent.Par1 = remoteIP[3];
TempEvent.Par2 = len;
PluginCall(PLUGIN_UDP_IN, &TempEvent, dummyString);
CPluginCall(CPLUGIN_UDP_IN, &TempEvent);
N.B. only the controller C013 implements code for handling UDP data.
Message types supported, determined by the 2nd byte:
* 1: Sysinfo message
* 2: Sensor info pull request (not implemented)
* 3: Sensor info
* 4: Sensor data pull request (not implemented)
* 5: Sensor data
Sysinfo Message
^^^^^^^^^^^^^^^^
There are 2 types of Sysinfo messages, a standard and an extended message.
The extended message starts with the same information as the standard one.
Standard Sysinfo message (13 bytes):
* 2 bytes marker (255 , 1)
* 6 byte MAC address
* 4 byte IP address
* 1 byte unit number
Extended Sysinfo message (13 + 28 = 41 bytes):
* 2 bytes ESPeasy data version number (LSB, MSB)
* 25 bytes node name
* 1 byte node type
The node type is defined as:
* 1 = "ESP Easy"
* 17 = "ESP Easy Mega"
* 33 = "ESP Easy 32"
* 65 = "Arduino Easy"
* 81 = "Nano Easy"
Sensor Info message
^^^^^^^^^^^^^^^^^^^^
Sensor Info messages are just a description of a shared sensor.
It contains some information to setup a new sensor on the receiving end.
These messages are just a serialized byte stream of ``struct C013_SensorInfoStruct`` .
.. code-block:: C++
struct C013_SensorInfoStruct
{
byte header = 255;
byte ID = 3;
byte sourceUnit;
byte destUnit;
byte sourceTaskIndex;
byte destTaskIndex;
byte deviceNumber;
char taskName[26];
char ValueNames[VARS_PER_TASK][26];
};
Sensor Data message
^^^^^^^^^^^^^^^^^^^^
These messages are just a serialized byte stream of ``struct C013_SensorDataStruct`` .
.. code-block:: C++
struct C013_SensorDataStruct
{
byte header = 255;
byte ID = 5;
byte sourceUnit;
byte destUnit;
byte sourceTaskIndex;
byte destTaskIndex;
float Values[VARS_PER_TASK];
};
Data Format Version 1
---------------------
This version remains compatible with version 0 for backwards compatibility.
It is using the "next" unused marker.
All messages will have a standard packet data format:
* 2 bytes Marker (255 , 6)
* 2 bytes Version => also determines data offset (header length)
* 2 bytes Message type
* 2 bytes Size of data block in "N" blocks of 16 bytes
* 2 bytes Key/group selector
* 2 bytes Sequence number
* (16 x N) bytes Data block AES encrypted data (including 2 bytes checksum)
* 2 bytes Packet checksum
This allows to:
* Distinguish data format versions
* Filter on message type before allocating large buffers
* Use multiple (pre-shared) encryption keys to have several levels of security or just several groups.
* Validate correct transmission of packet (last 2 checksum bytes) before decrypting data.
* Allow for larger messages to be sent in sequences. (e.g. firmware upgrades?)
* Validate sender and content of data block, since it contains a checksum too, which is part of the encrypted data block.
Since AES has a block size of 16 bytes (128 bit), the size of the data block is defined as a block of 16 bytes.
This allows up-to 1 MB of messages. (2^16 * 2^4 = 2^20)
An UDP datagram sent over IPv4 cannot exceed 65,507 bytes (65,535 - 8 byte UDP header - 20 byte IP header).
In IPv6 jumbograms it is possible to have UDP packets of size greater than 65,535 bytes.
+151
View File
@@ -0,0 +1,151 @@
.. include:: _controller_substitutions.repl
.. _C014_page:
|C014_typename|
==================================================
|C014_shortinfo|
Controller details
------------------
Type: |C014_type|
Name: |C014_name|
Status: |C014_status|
GitHub: |C014_github|_
Maintainer: |C014_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added| 2019/04/25
Initial alpha version of this plug-in.
Description
-----------
This controller connects to a MQTT Server providing auto-discover information and a communication protocol according to the Homie convention 3.0.1 and the future development version 4.0.0.
For more information head over to `Homie convention <https://homieiot.github.io/>`_
Idea is to provide an easy way to include ESPEasy in modern home automation systems without any or with as less effort as possible. Imagine your device pops up in openHAB 2.4 or higher as a new device and you only have to pic the values you are interested in. You can immediately see measurements or switch GPIOs without a single line of code.
When a MQTT connection is established after (re-)boot the controller sends auto-discovery information for system services like commands, basic GPIO functions and for all configured devices and there values. When all messages where sent successfully a homie compatible home automation server/hub or other compatible controllers should be able to detect the unit and establish two way communication.
The :ref:`P086_page` plug-in can be used to set values and trigger actions / rules.
MQTT topic scheme
-----------------
A homie topic scheme always starts with the root topic homie followed by the **unit name** (homie uses the term **device**), **device name** (**node** in homie) and a **value name**.
``homie/%unitname%/%devicename%/%valname%``
updates or commands can be sent by appending ``/set`` to the topics for values which can receive data.
``homie/%unitname%/%devicename%/%valname%/set``
Prequesites
-----------
A MQTT server capable of storing messages sent with ``retain=true`` when ``QoS=0``. Due to limitation (intentional not implemented due to low memory footprint and performance considerations) of the MQTT library (pubsubclient) used in ESPEasy it is only possible to send messages with ``QoS=0`` which basically means `fire and forget`. The current MQTT specification says that the server SHOULD store these messages when they arrive via ``QoS=0``. Some servers like the MQTT server currently build into openHAB 2.4 (moquette) is configured to ignore the retain flag and drop the message after delivery to the currently subscribed clients when ``QoS=0``. Mosquito on the other hand store messages when retain flag is set even when they are sent with ``QOS=0``.
Check with a MQTT client like MQTTspy or MQTTfx if the auto-discover messages are stored (retained).
A home automation server/controller capable talking Homie like openHAB since 2.4. (Be aware there are issues in the Homie implementation 2.4 including 2.5M1 milestone release not working as expected after restart). Recent snapshot builds should work.
Setup
-------------
- add the Homie **Homie MQTT (Version 4.0.0 dev)** or **Homie MQTT (Version 3.0.1 dev)** controller to your controller lists depending on your build.
- insert your broker address
- and user credentials if necessary
- the publish scheme is fixed to meet the homie requirements to ``homie/%sysname%/%tskname%/%valname%``
- the subscription scheme can be modified. Current defaults to ``homie/%sysname%/+/+/set`` to reduce incoming traffic to a minimum. Homie only expects messages via the ``homie/%sysname%/%tskname%/%valname%/set`` topic.
- last will topic (LWT) should set to ``homie/%sysname%/$state``
- LWT Connect Message to ``ready``
- LWT Disconnect Message to ``lost``
- save and reboot, best with connected serial monitor or syslog server with debug set to 4 (debug) or greater (alternatively use a MQTT client and subscribe to ``homie/%sysname%/#`` - replace %sysname% by the unit-name shown on the top of the webpage).
.. image:: C0014_Setup_0.png
- ``homie/%sysname%/$nodes`` enumerating all devices will be sent as final message of the auto-discover header.
- The final event log should look like this:
.. code-block:: none
5584 : EVENT: MQTT#Connected
5754 : C014 : autodiscover information of 4 Devices and 6 Nodes sent with no errors! (26 messages)
Troubleshoot
------------
The auto-discover information is sent through a big number of messages (usual more than 20). If your controller software not recognize your device or shows errors during the auto-discover process try the following steps:
- For testing purposes start with a basic setup with none or only one device configured and enabled.
- More devices can be added or (re-)enabled later.
- Disable already configured devices (devices without the enabled box ticked will be ignored)
- Check with a MQTT client if all messages are sent. The last message sent is ``$nodes`` attribute listing minimum the ``SYSTEM`` node if no other devices are enabled.
- check your WIFI connection. Perhaps bring your device nearer to your access point. (only necessary during the setup process because the messages should be stored by the broker)
- check via syslog or serial console if the messages are sent successful (you normaly can't see the log output in the web log)
- use the `mqqt-forget <https://www.npmjs.com/package/mqtt-forget>`_ tool to delete unused retained messages from your broker via wildcards
Features
--------
The controller currently supports these features
- send auto-discover nodes for all sending and enabled plug-ins to ``homie/%unitName%/%deviceName%/%valueName%``
- receive commands through the ``homie/%unitName%/SYSTEM/cmd/set`` topic.
- switch GPIOs through ``homie/%unitName%/SYSTEM/gpio#/set`` topic. The GPIO port must be set to **default low** or **default high** in the hardware tab to be included during auto-discover.
- send updates of GPIO ports to ``homie/%unitName%/SYSTEM/gpio#`` regardless from where the change is triggered (to be fully tested).
- in conjunction with :ref:`P086_page` actuators can be used according to the Homie convetion using rules.
- receive values for dummy devices via ``homie/%unitName%/%dummyDeviceName%/%valueName%/set``. From there the values can be processed further by using rules.
- handle ``$state`` attribute (for complete list see attribute table below)
- ``init`` during boot process
- ``ready`` during normal operation and as a heartbeat every 30sec (to be tested)
- ``alert`` currently only if auto-discover fails. But if sending the auto-discover messages fails it is more than likely that sending the alert message will fail to. (ToDo: inform about other error states like low ram or stack available, repeating reboots or failed sensors)
- ``sleeping`` sent before deep sleep
- ``lost`` configured as LWT
- ``disconnected`` sent to the old topic if the unit name changes to inform that the old topic is not valid any more. Auto-discover messages are sent automagically to the new topics afterwards.
- acknowledge received message by the ``homie/%unitName%/%deviceName%/%valueName%/set`` topic to the corresponding value ``homie/%unitName%/%deviceName%/%valueName%`` even if the value was changed by a different source like HTTP or rule to keep the state in your home automation system allays up to date. (Needs further testing)
Future / planned features
-------------------------
- a special Homie Plugin is in devolopment to pass ``\set`` messages to rules for further handling. Here ``$datatype`` and ``$format`` attributes for ``$setable`` values can be specified there. This will enable ESPEasy to handle direct inputs to plug-ins like dimmers (%,0:100), colors (RGB & HSV, 255,255,255), enum devices like remote controls (Play, Pause, Vol+, Vol-, ...). :yellow:`Testing` see :ref:`P086_page`
- Further in field testing with different MQTT brokers and home automation systems.
- Handling units via the ``$unit`` attribute. As ESPEasy is currenty "unitless" this needs a global concept within ESPEasy
- Handling ``$datatype`` attribute. Currenly all values (except cmd and gpio) are defined as ``float``. :yellow:`Testing` see :ref:`P086_page`
- Prepare some "working examples".
Under the hood
--------------
Auto-dicover information is sent by several $attributes
currently the following attributes will be sent during boot
Unit (Device) attributes
^^^^^^^^^^^^^^^^^^^^^^^^
.. include:: C014_attributes.repl
Device (Node) attributes
^^^^^^^^^^^^^^^^^^^^^^^^
.. include:: C014_node_attributes.repl
Value attributes
^^^^^^^^^^^^^^^^
.. include:: C014_property_attributes.repl
@@ -0,0 +1,16 @@
.. csv-table::
:header: "Attribute", "Description", "Example", "3.0.1","Spec.","4.0.0","Spec."
:widths: 10, 35, 15, 10, 5, 10, 5
"``$name``", "Friendly name of the device", "EPSEasy#1", "YES", ":green:`required`", "YES", ":green:`required`"
"``$homie``", "The implemented Homie convention version", "4.0.0", "YES",":green:`required`", "YES", ":green:`required`"
"``$state``", "See chapter features", "ready", "YES",":green:`required`", "YES", ":green:`required`"
"``$localip``", "IP of the device on the local network", "192.168.2.10", "YES", ":green:`required`", "NO", ":red:`void`"
"``$mac``", "Mac address of the device network interface.", "A1:B2:C3:D4:E5:F6", "YES", ":green:`required`", "NO", ":red:`void`"
"``$fw/name``", "Name of the firmware running on the device.", "ESPEasy mega", "YES", ":green:`required`", "NO", ":red:`void`"
"``$fw/version``", "Version of the firmware running on the device.", "20103 - Mega", "YES", ":green:`required`", "NO", ":red:`void`"
"``$nodes``", "Nodes which the device exposes separated by commas. Sent at the end for performance reasons.", "SYSTEM,SysInfo", "YES",":green:`required`", "YES", ":green:`required`"
"``$implementation``", "An identifier for the Homie implementation.", "ESP8266", "YES", ":green:`required`", "NO", ":red:`void`"
"``$stats/interval``", "Interval in seconds at which the device refreshes.", "60", "YES", ":green:`required`", "NO", ":red:`void`"
"``$stats/uptime``", "Time elapsed in seconds since the boot of the device.", "12345", "YES", ":green:`required`", "NO", ":red:`void`"
"``$stats/signal``", "Signal strength in %.", "75", "YES", ":blue:`optional`", "NO", ":red:`void`"
@@ -0,0 +1,7 @@
.. csv-table::
:header: "Attribute", "Description", "Example", "3.0.1","Spec.","4.0.0","Spec."
:widths: 10, 35, 15, 10, 5, 10, 5
"``$name``","Friendly name of the Node","SYSTEM", "YES",":green:`required`", "YES",":green:`required`"
"``$type``","Type of the node","System commands", "YES",":green:`required`", "YES",":green:`required`"
"``$properties``","Exposed properties. Separated by , for multiple ones.","value1,value2", "YES",":green:`required`", "YES",":green:`required`"
@@ -0,0 +1,10 @@
.. csv-table::
:header: "Attribute", "Description", "Example", "3.0.1","Spec.","4.0.0","Spec."
:widths: 10, 40, 10, 5, 15, 5, 15
"``$name``","Friendly name of the property.","Command", "YES",":green:`required`", "YES",":green:`required`"
"``$datatype``","Describes the format of data. integer/float/boolean/string/enum/color","float", "YES",":green:`required`", "YES",":green:`required`"
"``$settable``","Specifies whether the property is settable (true) or read-only (default false). True for cmd, GPIO and dummy device values.","true", "YES",":yellow:`required true` for settable values", "YES",":yellow:`required true` for settable values"
"``$retained``","Specifies whether the property is retained (true) or non-retained (false).","false", "NO",":green:`required`", "NO",":blue:`optional`"
"``$unit``","A string containing the unit of this property.","°C", "NO",":blue:`optional`", "NO",":blue:`optional`"
"``$format``","Describes what are valid values for this property.","-30:40", "NO",":blue:`optional`", "NO",":blue:`optional`"
+70
View File
@@ -0,0 +1,70 @@
.. include:: _controller_substitutions.repl
.. _C016_page:
|C016_typename|
==================================================
|C016_shortinfo|
Controller details
------------------
Type: |C016_type|
Name: |C016_name|
Status: |C016_status|
GitHub: |C016_github|_
Maintainer: |C016_maintainer|
Change log
----------
.. versionchanged:: 2.0
...
|added| 2019/04/05
Initial pre-alpha version of this plugin.
Description
-----------
This controller is a cache layer to collect data while not connected to a network.
The data will first be stored in RTC memory, which will survive a crash/reboot and even an OTA update.
If this RTC buffer is full, it will be flushed to whatever is set here as storage.
Data Format
-----------
Each time a plugin sends data to this controller, a sample set is stored.
A typical sample set contains:
- UNIX timestamp
- task index delivering the data
- 4 float values
Storage
-------
The controller can save the samples from RTC memory to several places on the flash:
- Files on SPIFFS
- Part reserved for OTA update (TODO)
- Unused flash after the partitioned space (TODO)
Data Delivery
-------------
The controller can deliver the data to:
- Upload bin files to some server (HTTP post?) (TODO)
- Provide a sample to any connected controller (TODO)
- Do nothing and let some extern host pull the data from the node. (TODO)
- JavaScript to process the data inside the browser. (TODO)
- Feed it to some plugin (e.g. a display to show a chart) (TODO)
+33
View File
@@ -0,0 +1,33 @@
.. include:: _controller_substitutions.repl
.. _C017_page:
|C017_typename|
==================================================
|C017_shortinfo|
Controller details
------------------
Type: |C017_type|
Name: |C017_name|
Status: |C017_status|
GitHub: |C017_github|_
Maintainer: |C017_maintainer|
Change log
----------
.. versionadded:: 2.0
...
|added|
Initial release version.
Description
-----------
+191
View File
@@ -0,0 +1,191 @@
.. include:: _controller_substitutions.repl
.. _C018_page:
|C018_typename|
==================================================
|C018_shortinfo|
Controller details
------------------
Type: |C018_type|
Name: |C018_name|
Status: |C018_status|
GitHub: |C018_github|_
Maintainer: |C018_maintainer|
Change log
----------
.. versionadded:: 2.0
...
|added|
2019/08/13 First occurrence in the source.
Description
-----------
`The Things Network (TTN) <https://www.thethingsnetwork.org/>`_ is a global open LoRaWAN network.
LoRaWAN allows low power communication over distances of several km.
A typical use case is a sensor "in the field" which only has to send a few sample values every few minutes.
Such a sensor node does broadcast its message and hopefully one or more gateways may hear the message and route it over the connected network to a server.
The data packets for this kind of cummunication have to be very short (max. 50 bytes) and a sender is only allowed to send for a limited amount of time.
On most frequencies used for the LoRa networks there is a limit of 1% of the time allowed to send.
Such a time limit does also apply for a gateway. This implies that most traffic will be "uplink" data from a node to a gateway.
The analogy here is that the gateway is often mounted as high as possible while the node is at ground level ("in the field")
There is "downlink" traffic possible, for example to notify some change of settings to a node, or simply to help the node to join the network.
In order to communicate with the gateways in the TTN network, you need a LoRa/LoRaWAN radio module.
The radio module does communicate via the LoRa protocol. On top of that you also need a layer for authentication, encryption and routing of data packets.
This layer is called LoRaWAN.
There are several modules available:
- RFM95 & SX127x. These are LoRa modules which needs to have the LoRaWAN stack implemented in software
- Microchip RN2384/RN2903. These are the modules supported in this controller. They have the full LoRaWAN stack present in the module.
Nodes, Gateways, Application
----------------------------
A typical flow of data on The Things Network (TTN) is to have multiple nodes collecting data for a specific use case.
Such a use case is called an "Application" on The Things Network.
For example, a farmer likes to keep track of the feeding machines for his cattle.
So let us call this application "farmer-john-cattle".
For this application, a number of nodes is needed to keep track of the feeding machines in the field.
These nodes are called "Devices" in TTH terms.
For example a device is needed to measure the amount of water in the water tank and one for the food supply.
Such a device must be defined on the TTN console page.
There are two means of authenticating a device to the network (this is called "Join" in TTN terms):
- OTAA - Over-The-Air Authentication
- ABP - activation by personalization
With OTAA, a device broadcasts a join request and one of the gateways in the neighborhood that received this request,
will return a reply with the appropriate application- and network- session keys to handle further communication.
This means the device can only continue if there is a gateway in range at the moment of joining.
It may happen that a gateway does receive the join request, but the device is unable to receive the reply.
When that's happening, the device will not be able to send data to the network since it cannot complete the join.
Another disadvantage of OTAA authenticating is the extra time needed to wait for the reply.
Especially on battery powered devices the extra energy needed may shorten the battery life significantly.
With OTAA, the device is given 3 keys to perform the join:
- Device EUI - An unique 64 bit key on the network.
- Application EUI - An unique 64 bit key generated for the application.
- App Key - A 128 bit key needed to exchange keys with the application.
The result of such an OTAA join is again a set of 3 keys:
- Device Address - An almost unique 32 bit address of your device.
- Network Session Key - 128 bit key to access the network.
- Application Session Key - 128 bit key to encrypt the data for your application.
The other method of authenticating a device is via ABP.
ABP is nothing other than storing the last 3 keys directly on the device itself and thus skipping the OTAA join request.
This means you don't need to receive data on the device and can start sending immediately, and even more important, let your device sleep immediately after sending.
A disadvantage is the deployment of the device. Every device does need to have an unique set of ABP keys generated and stored on the device.
Updating session keys may also be a bit hard to do, since it does need to ask for an update and must also be able to receive that update.
Hybrid OTAA/ABP
---------------
TODO TD-er.
Configure LoRaWAN node for TTN
------------------------------
A LoRaWAN device must join the network in order to be able to route the packets to the right user account.
Prerequisites:
- An user account on the TTN network.
- A TTN gateway in range to send data to (and receive data from)
- Microchip RN2384 or RN2903 LoRaWAN module connected to a node running ESPeasy. (UART connection)
On the TTN network:
- Create an application
- Add a device to the application, either using OTAA or ABP.
In order to create a new device using OTAA, one must either copy the hardware Device EUI key from the device to the TTN console page,
or generate one and enter it into the controller setup page in ESPeasy.
The Application EUI and App Key must be copied from the TTN console page to the ESPeasy controller configuration page.
Using these steps, a device address is generated.
Such an address looks like this: "26 01 20 47"
Also the Network Session Key and Application Session Key can be retrieved from this page and can even be used as if the device is using ABP to join the network.
But keep in mind, these 3 keys will be changed as soon as an OTAA join is performed.
Device configuration with solely an ABP setup are more persistent.
Decoding Data
-------------
Controller Settings
-------------------
Since there are legal limitations on the amount of time you are allowed to send,
it is even more important to understand what effect the Controller Queue parameters may have on the reliability of data transmission.
You are allowed to send only 1% of the time.
Meaning if your message takes 100 msec to send, you can only send a message every 10 seconds.
As a rule of thumb, the time needed to send a message of N bytes doubles for every step up in the Spreading Factor.
For example, a message sent at SF7 may take 100 msec to send.
The same message sent at SF8, will take 200 msec.
At SF9 takes 400 msec, etc. The slowest is SF12.
The RN2483 module does keep track of the used air time, per channel.
Meaning it is possible to send a burst of upto 8 messages (since we have 8 channels) after which we have to wait for a free channel to send out a new one.
As with any other ESPEasy controller, there is a queue mechanism to manage the messages ready to be sent and also allow for a number of retries.
This number of retries is even more important on this LoRaWAN TTN controller.
If sending a message fails due to no free channels, the minimum send interval will be dynamically increased, based on the air time of the message to be sent.
The dynamic adjustment is 10x the expected air time. So by setting the number of retries to 10, it is almost guaranteed the message will eventually be sent.
10 retries with 10x the expected air time equals a maximum of 100x the expected air time, which eventually will be as low as 1% of the time sending.
N.B. This expected air time is dependant on the set Spread Factor and the length of the message.
In practice the messages will be sent in bursts, and thus the extra wait time is often 2 - 3x the expected air time of the message.
So on setups with a large variation in message sizes, it makes sense to send the large ones at the start of a message burst.
Setting the number of retries high (e.g. 10x), may be useful to make sure a sequence of messages in a burst will all get sent.
But it may also lead to a large number of messages to be lost as the queue is full.
So it depends on the use case what will be the best strategy here.
At least the Minimum Send Interval can be kept low (e.g. the default 100 msec) to allow for quickly sending out a burst of upto 8 messages.
+106
View File
@@ -0,0 +1,106 @@
.. include:: _controller_substitutions.repl
Controller
**********
A controller is a component to enable a plugin to send data elsewhere.
- Up-to 3 controllers can be active in ESPEasy.
- Per plugin up-to 3 active controllers can be selected.
- For some controllers an additional parameter can be given.
For example, Domoticz needs an 'IDX' value to identify the configured entry in
Domoticz for which new data is sent.
Controller Plugins
==================
.. csv-table::
:header: "Plugin name", "Plugin status", "Plugin number"
:widths: 10, 8, 5
":ref:`C001_page`","|C001_status|","C001"
":ref:`C002_page`","|C002_status|","C002"
":ref:`C003_page`","|C003_status|","C003"
":ref:`C004_page`","|C004_status|","C004"
":ref:`C005_page`","|C005_status|","C005"
":ref:`C006_page`","|C006_status|","C006"
":ref:`C007_page`","|C007_status|","C007"
":ref:`C008_page`","|C008_status|","C008"
":ref:`C009_page`","|C009_status|","C009"
":ref:`C010_page`","|C010_status|","C010"
":ref:`C011_page`","|C011_status|","C011"
":ref:`C012_page`","|C012_status|","C012"
":ref:`C013_page`","|C013_status|","C013"
":ref:`C014_page`","|C014_status|","C014"
":ref:`C016_page`","|C016_status|","C016"
":ref:`C017_page`","|C017_status|","C017"
":ref:`C018_page`","|C018_status|","C018"
Controller Parameters
=====================
Generic fields
--------------
- **Protocol** - The type of controller (e.g. ThingSpeak/OpenHAB MQTT/etc.)
- **Locate Controller** - Selection between hostname/IP
- **Controller Hostname/IP** - The address to reach the selected service
- **Controller Port** - TCP/UDP Port number (0...65536)
- **Enabled** - Whether or not the controller is active.
Send queue parameters
---------------------
Controllers have a queue to keep unsent messages.
This queue is used to handle message bursts and also store messages which are recorded
before WiFi connection is made or during lost connection.
- **Minimum Send Interval** - Minimum time between two messages in msec.
- **Max Queue Depth** - Maximum length of the buffer queue to keep unsent messages.
- **Max Retries** - Maximum number of retries to send a message.
- **Full Queue Action** - How to handle when queue is full, ignore new or delete oldest message.
- **Check Reply** - When set to false, a sent message is considered always successful.
- **Client Timeout** - Timeout in msec for an network connection used by the controller.
- **Sample Set Initiator** - Some controllers (e.g. C018 LoRa/TTN) can mark samples to belong to a set of samples. A new sample from set task index will increment this counter.
Especially useful for controllers which cannot send samples in a burst. This makes the receiving time stamp useless to detect what samples were taken around the same time.
The sample set counter value can help matching received samples to a single set.
.. note::
Be careful when setting the timeout too high.
For almost all controllers, sending data is a blocking call, so it may halt execution of other code on the node.
With timouts longer than 2 seconds, the ESP may reboot as the software watchdog may step in.
Sample ThingSpeak configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some controllers, like ThingSpeak, need a specific configuration.
ThingSpeak only allows a message every 15 seconds for the free accounts.
- **Minimum Send Interval** - 15000 msec
- **Max Queue Depth** - 1 (only report the last value)
- **Max Retries** - 2
- **Full Queue Action** - Delete Oldest
- **Check Reply** - Check Acknowledgment (VERY IMPORTANT)
- **Client Timeout** - 500 msec (server is online, so timeout must be a bit longer)
Controller user credentials
---------------------------
- **Controller User** - User name (optional)
- **Controller Password** - Password (optional)
MQTT related settings
---------------------
- **Controller Subscribe** - Subscribe to the given topic.
- **Controller Publish** - Publish to the given topic.
- **Controller lwl topic** - Topic to which LWT (Last Will Testament) messages should be sent.
- **LWT Connect Message** - Connection established message.
- **LWT Disconnect Message** - Connection lost message (sent to broker during connect and published by broker when connection is lost)
@@ -0,0 +1,189 @@
.. |C001_name| replace:: :cyan:`Domoticz HTTP`
.. |C001_type| replace:: :cyan:`Controller`
.. |C001_typename| replace:: :cyan:`Controller - Domoticz HTTP`
.. |C001_status| replace:: :green:`NORMAL`
.. |C001_github| replace:: C001.ino
.. _C001_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C001.ino
.. |C001_usedby| replace:: `.`
.. |C001_shortinfo| replace:: `.`
.. |C001_maintainer| replace:: `.`
.. |C001_compileinfo| replace:: `.`
.. |C002_name| replace:: :cyan:`Domoticz MQTT`
.. |C002_type| replace:: :cyan:`Controller`
.. |C002_typename| replace:: :cyan:`Controller - Domoticz MQTT`
.. |C002_status| replace:: :green:`NORMAL`
.. |C002_github| replace:: C002.ino
.. _C002_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C002.ino
.. |C002_usedby| replace:: `.`
.. |C002_shortinfo| replace:: `.`
.. |C002_maintainer| replace:: `.`
.. |C002_compileinfo| replace:: `.`
.. |C003_name| replace:: :cyan:`Nodo Telnet`
.. |C003_type| replace:: :cyan:`Controller`
.. |C003_typename| replace:: :cyan:`Controller - Nodo Telnet`
.. |C003_status| replace:: :green:`NORMAL`
.. |C003_github| replace:: C003.ino
.. _C003_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C003.ino
.. |C003_usedby| replace:: `.`
.. |C003_shortinfo| replace:: `.`
.. |C003_maintainer| replace:: `.`
.. |C003_compileinfo| replace:: `.`
.. |C004_name| replace:: :cyan:`ThingSpeak`
.. |C004_type| replace:: :cyan:`Controller`
.. |C004_typename| replace:: :cyan:`Controller - ThingSpeak`
.. |C004_status| replace:: :green:`NORMAL`
.. |C004_github| replace:: C004.ino
.. _C004_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C004.ino
.. |C004_usedby| replace:: `.`
.. |C004_shortinfo| replace:: `.`
.. |C004_maintainer| replace:: `.`
.. |C004_compileinfo| replace:: `.`
.. |C005_name| replace:: :cyan:`Home Assistant (openHAB) MQTT`
.. |C005_type| replace:: :cyan:`Controller`
.. |C005_typename| replace:: :cyan:`Controller - Home Assistant (openHAB) MQTT`
.. |C005_status| replace:: :green:`NORMAL`
.. |C005_github| replace:: C005.ino
.. _C005_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C005.ino
.. |C005_usedby| replace:: `.`
.. |C005_shortinfo| replace:: `.`
.. |C005_maintainer| replace:: `.`
.. |C005_compileinfo| replace:: `.`
.. |C006_name| replace:: :cyan:`PiDome MQTT`
.. |C006_type| replace:: :cyan:`Controller`
.. |C006_typename| replace:: :cyan:`Controller - PiDome MQTT`
.. |C006_status| replace:: :green:`NORMAL`
.. |C006_github| replace:: C006.ino
.. _C006_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C006.ino
.. |C006_usedby| replace:: `.`
.. |C006_shortinfo| replace:: `.`
.. |C006_maintainer| replace:: `.`
.. |C006_compileinfo| replace:: `.`
.. |C007_name| replace:: :cyan:`Emoncms`
.. |C007_type| replace:: :cyan:`Controller`
.. |C007_typename| replace:: :cyan:`Controller - Emoncms`
.. |C007_status| replace:: :green:`NORMAL`
.. |C007_github| replace:: C007.ino
.. _C007_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C007.ino
.. |C007_usedby| replace:: `.`
.. |C007_shortinfo| replace:: `.`
.. |C007_maintainer| replace:: `.`
.. |C007_compileinfo| replace:: `.`
.. |C008_name| replace:: :cyan:`Generic HTTP`
.. |C008_type| replace:: :cyan:`Controller`
.. |C008_typename| replace:: :cyan:`Controller - Generic HTTP`
.. |C008_status| replace:: :green:`NORMAL`
.. |C008_github| replace:: C008.ino
.. _C008_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C008.ino
.. |C008_usedby| replace:: `.`
.. |C008_shortinfo| replace:: `.`
.. |C008_maintainer| replace:: `.`
.. |C008_compileinfo| replace:: `.`
.. |C009_name| replace:: :cyan:`FHEM HTTP`
.. |C009_type| replace:: :cyan:`Controller`
.. |C009_typename| replace:: :cyan:`Controller - FHEM HTTP`
.. |C009_status| replace:: :green:`NORMAL`
.. |C009_github| replace:: C009.ino
.. _C009_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C009.ino
.. |C009_usedby| replace:: `.`
.. |C009_shortinfo| replace:: `.`
.. |C009_maintainer| replace:: `.`
.. |C009_compileinfo| replace:: `.`
.. |C010_name| replace:: :cyan:`Generic UDP`
.. |C010_type| replace:: :cyan:`Controller`
.. |C010_typename| replace:: :cyan:`Controller - Generic UDP`
.. |C010_status| replace:: :green:`NORMAL`
.. |C010_github| replace:: C010.ino
.. _C010_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C010.ino
.. |C010_usedby| replace:: `.`
.. |C010_shortinfo| replace:: `.`
.. |C010_maintainer| replace:: `.`
.. |C010_compileinfo| replace:: `.`
.. |C011_name| replace:: :cyan:`Generic HTTP Advanced`
.. |C011_type| replace:: :cyan:`Controller`
.. |C011_typename| replace:: :cyan:`Controller - Generic HTTP Advanced`
.. |C011_status| replace:: :yellow:`TESTING`
.. |C011_github| replace:: C011.ino
.. _C011_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C011.ino
.. |C011_usedby| replace:: `.`
.. |C011_shortinfo| replace:: `.`
.. |C011_maintainer| replace:: `.`
.. |C011_compileinfo| replace:: `.`
.. |C012_name| replace:: :cyan:`Blynk`
.. |C012_type| replace:: :cyan:`Controller`
.. |C012_typename| replace:: :cyan:`Controller - Blynk`
.. |C012_status| replace:: :yellow:`TESTING`
.. |C012_github| replace:: C012.ino
.. _C012_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C012.ino
.. |C012_usedby| replace:: `.`
.. |C012_shortinfo| replace:: `.`
.. |C012_maintainer| replace:: `.`
.. |C012_compileinfo| replace:: `.`
.. |C013_name| replace:: :cyan:`ESPEasy P2P Networking`
.. |C013_type| replace:: :cyan:`Controller`
.. |C013_typename| replace:: :cyan:`Controller - ESPEasy P2P Networking`
.. |C013_status| replace:: :green:`NORMAL`
.. |C013_github| replace:: C013.ino
.. _C013_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C013.ino
.. |C013_usedby| replace:: `.`
.. |C013_shortinfo| replace:: `.`
.. |C013_maintainer| replace:: `TD-er`
.. |C013_compileinfo| replace:: `.`
.. |C014_name| replace:: :cyan:`Homie MQTT (Version 3.0.1 & 4.0.0dev)`
.. |C014_type| replace:: :cyan:`Controller`
.. |C014_typename| replace:: :cyan:`Controller - Homie MQTT convention`
.. |C014_status| replace:: :yellow:`TESTING`
.. |C014_github| replace:: C014.ino
.. _C014_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C014.ino
.. |C014_usedby| replace:: `.`
.. |C014_shortinfo| replace:: `Controller for communication following the Homie convention`
.. |C014_maintainer| replace:: `.`
.. |C014_compileinfo| replace:: `Can be compiled for Homie 3.0.1 or 4.0.0dev`
.. |C016_name| replace:: :cyan:`Cache`
.. |C016_type| replace:: :cyan:`Controller`
.. |C016_typename| replace:: :cyan:`Controller - Cache`
.. |C016_status| replace:: :red:`DEVELOPMENT`
.. |C016_github| replace:: C016.ino
.. _C016_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C016.ino
.. |C016_usedby| replace:: `.`
.. |C016_shortinfo| replace:: `Cache layer to collect data while offline`
.. |C016_maintainer| replace:: `TD-er`
.. |C016_compileinfo| replace:: `Not in nightly builds. Only pre-built for special builds.`
.. |C017_name| replace:: :cyan:`Zabbix`
.. |C017_type| replace:: :cyan:`Controller`
.. |C017_typename| replace:: :cyan:`Controller - Zabbix`
.. |C017_status| replace:: :yellow:`TESTING`
.. |C017_github| replace:: C017.ino
.. _C017_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C017.ino
.. |C017_usedby| replace:: `.`
.. |C017_shortinfo| replace:: `.`
.. |C017_maintainer| replace:: `.`
.. |C017_compileinfo| replace:: `.`
.. |C018_name| replace:: :cyan:`LoRa TTN - RN2483/RN2903`
.. |C018_type| replace:: :cyan:`Controller`
.. |C018_typename| replace:: :cyan:`Controller - LoRa TTN - RN2483/RN2903`
.. |C018_status| replace:: :yellow:`TESTING`
.. |C018_github| replace:: C018.ino
.. _C018_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C018.ino
.. |C018_usedby| replace:: `.`
.. |C018_shortinfo| replace:: `Controller for the LoRaWAN/TTN network supporting RN2384 (434/868 MHz) and RN2903 (915 MHz)`
.. |C018_maintainer| replace:: `TD-er`
.. |C018_compileinfo| replace:: `.`
+138
View File
@@ -0,0 +1,138 @@
About Us
********
The ESP Easy project is being handled by the core team of TD-er and Grovkillen.
TD-er being the head of backend and Grovkillen being head of the frontend.
We both dig down into each others areas of responsible on a daily basis though.
Other than us we have around 100 volunteers that helping us maintain
and improve the source code.
History
=======
ESP Easy has gone through a lot of changes over the last years and here's some
of the major milestones.
Early days (Nodo Uno)
---------------------
It's somewhat unknown how it all started but Paul Tonkes (part of the Nodo team)
built a IR (infrared) to Kaku controller because he was not happy with the
commercial version. That unit came to the world named as Nodo (Uno).
04/2010 (Nodo Due)
------------------
Taken from the old Nodo website at the time that the Nodo update was introduced
(named Nodo Due). During this time, a nice production class Arduino Shield was
also built.
10/2011 (Joining the Nodo community)
------------------------------------
The founder of the ESP Easy project, Mvb, read about the Nodo project and
ordered his first Nodo Arduino board from the Nodo shop. He was using it to
control Kaku lights around his house.
03/2012 (Nodo Mega)
--------------------
Beta Nodo Mega was released, based on Arduino Mega 2560 board with Ethernet
Shield. Using a hosted web application.
05/2013 (Nodo NES Shield)
-------------------------
The hardware guys from the Nodo team released a shield for Arduino Mega 2560
that contains everything needed to run Nodo Mega with the web application.
01/2014 (Exploring new wireless capabilities)
---------------------------------------------
Nodo got its first 2.4GHz communication plugin, using the well known NRF24L01.
This had solved limitations of the 433MHz OOK modules and at the same time it
reduced the load on that frequency so Kaku became more reliable.
Mvb decided to run a setup with two Nodo Mega units in the house. First unit
runs the NES board for 433MHz communication, second board was dedicated for
NRF24L01 communications. Both Mega's could communicate through I2C or Ethernet.
02/2015 (Entering the Wi-Fi solution)
-------------------------------------
Nodo got its first ESP Wi-Fi plugin, using it as a serial to Wi-Fi bridge.
At that time we were using the stock firmware that came with the module.
04/2015 (ESP Connexio)
----------------------
The ESP Connexio project was initiated as the first effort to port the original
Nodo code to the ESP platform using early version of the ESP8266 Arduino Core.
The team had to workaround a lot of issues but got it working reasonably.
05/2015 (ESP Easy initiative)
-----------------------------
ESP Easy was initiated, mainly because the Nodo Connexio concept was a bit
over complicated. It had the same event list as the original Nodo project.
Quite powerful but also complicated to end users. So the idea was to have
something plug and play to hook up sensors to Domoticz. That decision of
targeting Domoticz is still present in current source code since many plugins
from the early days have the values setup in such a way that Domoticz can
import them with little effort.
09/2015 (ESP Easy R020)
-----------------------
As of R017 the Nodo Plugin mechanism was also implemented within ESP Easy.
Some other inconvenient bugs were fixed, help buttons added and it was decided
that R020 could be the first production edition.
ESP Easy was launched on Sourceforge as the very first production edition.
No programming required.
02/2016 (ESP Easy R078)
-----------------------
To make things even more easy, edition R078 was provided as binary images
with a simple installer. No need for a complicated Arduino IDE setup.
And it also introduced OTA, so subsequent updates could be done without
connecting the module to a serial port.
08/2016 (ESP Easy R120)
-----------------------
Lots of fixes and additional features:
* Rules engine
* Custom dummy device
* GlobalSync
* More commands
* More controllers
* More devices
Estimated user count was at this time around 7 000.
11/2016 (ESP Easy Mega)
-----------------------
ESP Easy Mega was initiated (only for ESP Modules with at least 1MB flash
memory). We had to many limitations in ESP Easy, due to the code size that
exceeded the 512kB modules flash size. Decided to drop support for these
classic modules and went forward with this version.
02/2017 (Change of roles)
-------------------------
Psy0rz took over lead development of ESP Easy Mega (2.0.0), he moved the
source code onto the GitHub page and started to modularize the code. He also
made ESP Easy support multiple controllers and fallback Wi-Fi. During this time
nightly releases was introduced and user counts had grown to around 20 000.
08/2018 (New core team)
-----------------------
With both Mvb and Psy0rz having little time to spend on the project two of the
most eager contributors Grovkillen (mainly wiki documentation and help tools
at that time) and TD-er (had already implemented the event based Wi-Fi and
scheduler for better timing) stepped in. The aim for the core team is to
make the ESP Easy OS as great as can be by dedicating full time commitment to
the project.
User count was at this point approximately around 32 000 and 24 hour download
count around 280.
.. 11/2018 (First stable 2+ version)
----------------------------------
The first stable release of the new 2.0.0 version was finally released. Much
of the features added had been in the nightly releases for more than a year
but in the process of modularizing the source code a lot of bugs were fixed,
much better timing added, but also some new bugs came into the light. The
team wanted to have the official stable release to be just that, stable.
Estimated user count was at this point around 40 000 and 24 hour download count
around 540.
+2
View File
@@ -0,0 +1,2 @@
ESP Easy Function Blocks
************************
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

+260
View File
@@ -0,0 +1,260 @@
Hardware page
*************
Overview
========
ESPEasy has some centralized hardware configuration settings, shown in this page, and divided in sections.
---------------
Wifi Status LED
---------------
To display the Wifi acitivity, a pin can be configured to light up a LED when data is transfered via Wifi. Optionally, the LED signal can be 'inverted'.
As many ESP boards have an onboard LED connected to GPIO-2 and inverted, it is shown as a note how to configure that.
.. image:: Hardware_Wifistatusled.png
---------
Reset pin
---------
To provide a possible escape from a malfunctioning ESP module, a factory-reset button/feature can be configured by setting up a GPIO-pin for this.
.. warning::
**When connecting this pin to ground for ca. 10 seconds the unit will be completely reset, and all settings/configuration irretrievably deleted!**
This feature can be useful in a development/laboratory environment, for when the configuration gets corrupted in some way.
.. image:: Hardware_Resetpin.png
-------------
I2C Interface
-------------
When using devices that use the I2C bus (Inter-integrated circuit, also known as IIC, and mostly compatible with SM Bus) (`Wikipedia: I2C <https://en.wikipedia.org/wiki/I%C2%B2C>`_) some pins have to be configured, and initialized during boot, for the SDA and SCL connections. This can be any unused pair of pins on the ESP board.
The pins can be configured here, and will have default values initially (ESP8266: SDA: GPIO-4 (D2), SCL: GPIO-5 (D3), ESP32: SDA: GPIO-22, SCL: GPIO-23). When I2C is not used, these can be set to `- None -`, so the pins are available for other purposes.
The default bus clock speed can also be set here. If only devices supporting 100 kHz are connected (Old/Slow devices), then the value can be set to 100 kHz, by default 400 kHz is configured, that is supported by newer devices, though there are many devices supporting higher frequencies. ESP8266 is able to achieve ca. 400 kHz, while ESP32 allows much higher speeds.
Since build 20110, ESPEasy has a separate setting for Slow I2C devices, and per I2C device this slow clock speed can be selected in the Device edit page. This value is by default set to 100 kHz, but can be set lower or higher if desired.
.. image:: Hardware_I2CInterface.png
*Device specific Force Slow I2C speed selection:*
.. image:: Device_I2COptionsShort.png
---------------
I2C Multiplexer
---------------
Since build 20110, there is the option of using an I2C multiplexer. This option is not available in all builds, because of the size of the code. It is usually available in the normal, testing and custom builds, but ommitted from minimal, IR and hardware-specific builds.
Possible use-cases for an I2C multiplexer are:
* Connect multiple devices that have fixed or limited I2C addresses (For example, some OLED devices have a single fixed address but you need to connect 2 or more, or connect more than 3 TLS2561 devices, that support only 3 different addresses).
* Connect different devices that have the same I2C address (For example connecting a TSL2561 light/lux sensor and an APDS9960 proximity sensor).
* Connect slow and fast devices, where the speed of the fast device prohibits proper working of the slow device.
.. |br| raw:: html
<br>
.. note::
If devices with conflicting I2C addresses are to be used, then *none* of them can be connected to the ESP main I2C bus, but they should each be connected to a separate channel of the multiplexer. |br|
Devices that do not conflict with other devices *can* be connected to the ESP main I2C bus, this might improve the performance/responsiveness of these devices.
.. note::
When using an I2C Multiplexer, make sure there is no address conflict with any of the devices you intend to connect, f.e. when connecting BME280 sensors, don't set the address of the multiplexer to 0x76 or 0x77.
There are a couple of I2C multiplexer chips available, currently there is support for:
* TCA9548a (8 channels, multiple channel-connections, 8 I2C addresses, with reset)
* TCA9546a (4 channels, multiple channel-connections, 8 I2C addresses, with reset, also TCA9545a can be used, but no support for the Interrupt function though)
* TCA9543a (2 channels, multiple channel-connections, 4 I2C addresses, with reset)
* PCA9540 (2 channels, fixed I2C address, no reset, experimental support)
The TCA9548a, TCA9546a and TCA9543a support connecting multiple channels to the main I2C channel. This can be configured on the Device edit page for I2C devices, once the I2C Multiplexer configuration is enabled by selecting a multiplexer type and an I2C address for the multiplexer.
Also, the TCA9548a, TCA9546a and TCA9543a chips have a connection for a reset signal available. This allows the chip to be reset if it gets stuck by some 'less compatible' or 'badly behaving' devices. Once connected and configured, the multiplexer can be reset from the software, if desired or required. This feature is not yet used in any I2C device plugin.
A TCA9543a board has the advantage of being quite a bit smaller than either TCA9546a or TCA9548a, while being digitally compatible. (But with less channels and only 4 I2C addresses).
All these chips/boards can be found at Adafruit, Aliexpress, Banggood, EBay, etc.
.. image:: Hardware_I2CMultiplexerNone.png
*Available multiplexer types:*
.. image:: Hardware_I2CMultiplexer_Type.png
*Select the I2C Address for the multiplexer:*
.. image:: Hardware_I2CMultiplexer_Address.png
Device configuration
^^^^^^^^^^^^^^^^^^^^
If an I2C multiplexer is configured, every Device edit page for I2C devices will show extra options to select the channel the device is connected on.
There is the default option of Single channel, or, when a TCA9548a, TCA9546a or TCA9543a is configured, Multiple channels.
*Example: A multiplexer is configured, but the device is connected directly on the ESP board I2C channel:*
.. image:: Device_I2COptionsMultiplexerNone.png
*Configure a (single) multiplexer channel the device is connected on:*
.. image:: Device_I2COptionsMultiplexerSelectSingleChannel.png
NB: Only acceptable channels (0-7/0-3/0-1) will be available in the dropdown list, depending on the Multiplexer type configured.
*Select Single channel or Multiple channels:*
.. image:: Device_I2COptionsMultiplexerSelect.png
*Configure multiple channels for a device, 8 channel multiplexer configured*
.. image:: Device_I2COptionsMultiplexerMultipleSelect.png
Above configuration results in channels 0, 4, 5, 6 and 7 being connected to the ESP board I2C bus when this sensor is active via I2C.
NB: Only acceptable channel checkboxes (0-7/0-3/0-1) will be shown, depending on the Multiplexer type configured.
-------------
SPI Interface
-------------
When using devices that are connected via the SPI interface (`Wikipedia: SPI <https://en.wikipedia.org/wiki/Serial_Peripheral_Interface>`_), the interface must be initialized during boot. This can be enabled here. For ESP32 there is the option to select either the Hardware SPI (HSPI) interface or the Virtual SPI (VSPI) interface (software controlled).
The common SPI pins are shown here.
Other SPI pins to be used are device specific, and need to be configured from the corresponding Device edit page.
*For ESP8266:*
.. image:: Hardware_SPIInterfaceESP8266.png
*For ESP32, disabled:*
.. image:: Hardware_SPIInterfaceESP32.png
*For ESP32, select the desired interface:*
.. image:: Hardware_SPIInterfaceESP32_Select.png
NB: When using the VSPI interface and also the I2C interface is used, another pin has to be selected for I2C GPIO -> SCL, as its configuration is fixed for the VSPI setting.
--------
Ethernet
--------
On builds including ``_eth`` in their build name, it is also possible to use ethernet instead of WiFi.
Currently this is only present for ESP32 builds and no plans currently exist to support it for ESP82xx.
N.B. This is still in testing phase, so not all kinds of network communications work right now.
Preferred network medium
^^^^^^^^^^^^^^^^^^^^^^^^
Allows to switch between:
* WiFi (default)
* Ethernet
To activate a new configuration, a reboot is needed.
Ethernet PHY type
^^^^^^^^^^^^^^^^^
Select the used PHY controller type:
* LAN8710 (LAN8720 is also supported, but none of the newer features are supported)
* TLK110
Ethernet PHY Address
^^^^^^^^^^^^^^^^^^^^
The PHY address depends on the hardware and the PHY configuration.
* Espressif's Ethernet board with TLK110 PHY use PHY address 31.
* Common Waveshare LAN8720 PHY breakout use PHY address 1.
* Olimex ESP32 EVB REV B IoT LAN8710 PHY Board with CAN use PHY address 0.
* Other LAN8720 breakouts often use PHY address 0.
If the PHY address is incorrect then the EMAC will initialise but all attempts to read/write configuration registers on the PHY will fail.
GPIO pins
^^^^^^^^^
RMII PHY SMI Wiring
"""""""""""""""""""
Most PHY boards have documented their *RMII PHY SMI Wiring* pins:
* **MDC** Output to PHY, usually pin 23
* **MDIO** Bidirectional, usually pin 18
Clock sync
""""""""""
The PHY and the ESP need to keep a clock in sync.
This can either be done via an external crystal, which is connected to a GPIO pin.
Another option is to let the ESP provide the clock to the PHY.
* External crystal oscillator
* 50MHz APLL Output on GPIO0
* 50MHz APLL Output on GPIO16
* 50MHz APLL Inverted Output on GPIO17
Power pin
"""""""""
On almost all PHY boards, or ESP boards equiped with an ethernet PHY, it is possible to turn the PHY on or off.
Either to save energy, or to make sure the external clock is not affecting the ESP boot mode when it restarts.
For example the Olimex ESP32-EVB does have the *external crystal oscillator* connected to GPIO-0, which could boot the ESP32 randomly into UART flash mode.
Most boards use a specific GPIO pin to control the power to the PHY.
The Olimex ESP32-EVB does have a specific delay circuit to only allow power to the PHY after boot and therefore does not need to control the PHY power.
For other boards, the default is often GPIO-17, but this may change per board.
RMII PHY Wiring
"""""""""""""""
Apart from these GPIO pins, there is a number of other pins reserved on the ESP32 for RMII PHY Wiring.
Since these GPIO pin assignments cannot be changed, it is also not needed to configure them.
However, they also cannot be used when *RMII PHY* is used.
.. include:: ../Reference/Ethernet_PHY_ESP32.rst
-------------------
GPIO boot states
-------------------
For some GPIO pins, the boot state (initial configuration after startup) can be configured.
Some differences exist between ESP8266 and ESP32:
* ESP8266 can't initialize GPIO's 6, 7 and 8 (technical limitation of ESP8266 chip) and 16 (always has pull-down setting)
* ESP32 can't initialize GPIO's from 16 and up (settings storage limitation, could be initialized from Rules in `System#Boot` event)
*ESP8266 GPIO boot states:*
.. image:: Hardware_GPIObootstatesESP8266.png
*ESP32 GPIO boot states:*
.. image:: Hardware_GPIObootstatesESP32.png
Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

+117
View File
@@ -0,0 +1,117 @@
Arduino IDE
***********
The preferred way to build ESPEasy is using PlatformIO.
However, there are still lots of people happily using Arduino IDE.
Therefore we try to keep the project source compatible with Arduino IDE.
Since development is not done in Arduino IDE, it may happen that some commit breaks Arduino IDE compatibility.
Usually it is something as simple as an include not being relative compared to the file which is being compiled.
This is a bug, which PlatformIO does not complain about and thus can be missed easily during development.
If something like this happens, please open an issue (or pull request) for it on GitHub.
Also, if someone knows a build flag for PlatformIO to signal those errors, please let us know.
Prepare Arduino IDE
===================
When installing Arduino IDE, its default installation folder structure is to share libraries and sketches among all installations of Arduino IDE.
If you only build one project, this is just fine.
However, if you try to build several projects or versions of projects, then you will run into library dependency issues.
See: `how to create portable version of Arduino IDE <https://www.arduino.cc/en/Guide/PortableIDE>`_
For building ESPEasy it is adviced to use a "portable installation" of Arduino IDE.
Arduino IDE Prerequisites
=========================
For building ESPEasy in Arduino IDE, you need to install the board manager and ESP8266/ESP32 library.
See these excellent tutorials:
* `How to install ESP8266 board for Arduino IDE <https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/>`_
* `How to install ESP32 board for Arduino IDE <https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-windows-instructions/>`_
Download ESPEasy Sources
========================
The sources can be downloaded from `GitHub <https://github.com/letscontrolit/ESPEasy>`_ as ZIP file.
In this document, the given file system paths refer to a portable installation of Arduino IDE in ``D:\temp\Arduino-EspEasy\``
The structure in the ZIP file are made for use in PlatformIO.
To use the source in Arduino IDE, you have to split the sources into 2 parts:
* The used libraries: ``D:\temp\Arduino-EspEasy\portable\sketchbook\libraries``
* The source code: ``D:\temp\Arduino-EspEasy\portable\sketchbook\ESPEasy``
Some used libraries differ from the original ones to make them work with ESPEasy.
So make sure to use the ones supplied in the ZIP file in the ``lib`` folder.
If some libraries are missing from the ``lib`` folder, you can install them via the Arduino IDE library manager.
The source code files to be placed in the ``ESPEasy`` directory must be taken from the (first) ``src`` directory in the ZIP file.
Meaning the file ``ESPEasy.ino`` must be in the ``ESPEasy`` folder. (including all files in sub folders)
Building using Custom.h
=======================
There is a ``Custom-sample.h`` file supplied, which has lots of defines that can be set or uncommented to make a specific build
including just the plugins and controllers needed and maybe even some proper default settings.
To use this file, it must be renamed to ``Custom.h``.
There are two options to define ``USE_CUSTOM_H`` for an Arduino IDE build:
* In ``ESPEasy_common.h``: uncomment ``//#define USE_CUSTOM_H``
* Create a personal ``platform.local.txt`` file
Define USE_CUSTOM_H in ESPEasy_common.h
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PlatformIO does recognize the presence of this file when building a ``Custom`` build environment.
But for Arduino IDE, a single line must be uncommented in ``ESPEasy_common.h``
Make sure to uncomment this line at the start of ``ESPEasy_common.h``: ``//#define USE_CUSTOM_H``
This define makes sure the ``Custom.h`` file is actually included during build.
Build definition via platform.local.txt
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Locate the file ``platform.txt`` in the esp8266 platform directory of ArduinoIDE.
The exact location depends on the installation, usually in a directory below the main application called ``hardware/esp8266.com/``.
In the same directory add an (untraced) file called ``platform.local.txt`` with the following lines:
.. code-block:: none
compiler.minsize=
compiler.c.extra_flags=-DUSE_CUSTOM_H -DPUYA_SUPPORT=0 -DCONFIG_FREERTOS_ASSERT_DISABLE -DCONFIG_LWIP_ESP_GRATUITOUS_ARP -DCONFIG_LWIP_GARP_TMR_INTERVAL=30 -DCORE_POST_2_5_0 -DCORE_POST_2_6_0 -DNDEBUG -DICACHE_FLASH -DWEBSERVER_RULES_DEBUG=0 -DVTABLES_IN_FLASH -mtarget-align -Werror=unused-variable {compiler.minsize}
compiler.c.elf.extra_flags=-DUSE_CUSTOM_H -DPUYA_SUPPORT=0 -DCONFIG_FREERTOS_ASSERT_DISABLE -DCONFIG_LWIP_ESP_GRATUITOUS_ARP -DCONFIG_LWIP_GARP_TMR_INTERVAL=30 -DCORE_POST_2_5_0 -DCORE_POST_2_6_0 -DNDEBUG -DICACHE_FLASH -DWEBSERVER_RULES_DEBUG=0 -DVTABLES_IN_FLASH -mtarget-align -Werror=unused-variable {compiler.minsize}
compiler.S.extra_flags=-DUSE_CUSTOM_H -DPUYA_SUPPORT=0 -DCONFIG_FREERTOS_ASSERT_DISABLE -DCONFIG_LWIP_ESP_GRATUITOUS_ARP -DCONFIG_LWIP_GARP_TMR_INTERVAL=30 -DCORE_POST_2_5_0 -DCORE_POST_2_6_0 -DNDEBUG -DICACHE_FLASH -DWEBSERVER_RULES_DEBUG=0 -DVTABLES_IN_FLASH -mtarget-align -Werror=unused-variable {compiler.minsize}
compiler.cpp.extra_flags=-DUSE_CUSTOM_H -DPUYA_SUPPORT=0 -DCONFIG_FREERTOS_ASSERT_DISABLE -DCONFIG_LWIP_ESP_GRATUITOUS_ARP -DCONFIG_LWIP_GARP_TMR_INTERVAL=30 -DCORE_POST_2_5_0 -DCORE_POST_2_6_0 -DNDEBUG -DICACHE_FLASH -DWEBSERVER_RULES_DEBUG=0 -DVTABLES_IN_FLASH -mtarget-align -Werror=unused-variable {compiler.minsize}
compiler.ar.extra_flags=
compiler.objcopy.eep.extra_flags=
compiler.elf2hex.extra_flags=
Board definitions
=================
In Arduino IDE you must prepare the environment variables yourself.
.. image:: ArduinoIDEBoardConfig.png
* Board: "Generic ESP8266 Module"
* Flash Size: Pick the one reflecting your board (4M flash 1M FS is the most used)
* Flash Mode: "DOUT"
The other settings are likely to be correct when using the defaults.
See the screenshot to be sure.
Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

+45
View File
@@ -0,0 +1,45 @@
Documentation
*************
For documentation we use Sphinx and this will be read by ReadTheDocs.
We use the `Sphinx Bootstrap Theme <https://github.com/ryan-roemer/sphinx-bootstrap-theme>`_
This documentation is included in the GitHub repository.
It allows us to create documentation per version of ESPEasy.
See also the `ESPEasy wiki <https://www.letscontrolit.com/wiki/index.php/ESPEasy>`_
for more documentation which has not been moved here.
Needed Python packages::
pip install sphinx recommonmark sphinx_bootstrap_theme
PlatformIO with Atom
====================
With the ESPEasy project open in Atom, open the PIO terminal in Atom.
Install dependencies::
cd docs
pip install ... (see needed Python packages above)
Build on Windows::
cd docs
.\make.bat html
Build on Linux/Mac::
cd docs
./make html
LaTeX (PDF) build on Linux
==========================
To build a PDF document of this documentation, you need to have LaTeX installed and some texlive packages.
Via apt-get installed packages::
sudo apt-get install xzdec texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra
+155
View File
@@ -0,0 +1,155 @@
PlatformIO
**********
ESP easy can be built using the Arduino IDE or PlatformIO (PIO).
Arduino IDE is not being used during development, so it may take some more effort to get it setup for building ESPeasy.
We advice to use PlatformIO as build environment.
PlatformIO is just the build, test and upload environment for many micro controllers like the ESP8266 and ESP32 we use.
On top of that you need to use an editor, or so called IDE in which PlatformIO will be used.
The two main choices are:
* Atom
* Microsoft Visual Studio Code. (MS VS-Code)
Both are free to use and are available for Windows, MacOS and Linux.
Apart from these two, there are more available, like Eclipse and probably more.
PlatformIO Prerequisites
========================
PlatformIO does need at least the following:
* Python
* Git command line tools (`download <https://git-scm.com/downloads>`_)
For most operating systems, Python is already present, but for Windows you may need to install it.
Starting October 2019, Python 3.x is supported in all build tools we use for ESPEasy.
Please follow `these steps <https://docs.platformio.org/en/latest/faq.html#faq-install-python>`_ to
install Pyton in Windows for PlatformIO.
**Do not forget to check "Add Python xxx to PATH".**
Windows ExecutionPolicy
-----------------------
For PlatformIO 4.1.x and newer in Windows, you may need to change the Windows ExecutionPolicy
to be able to start a powershell script.
PlatformIO does use a PowerShell script to activate the Python virtual environment.
Default Windows security settings prevent execution of a PowerShell script.
Enter in the PowerShell terminal window in VScode::
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
Please note this does lower your security, so make sure you know its implications.
See `Microsoft - About Execution Policies <https:/go.microsoft.com/fwlink/?LinkID=135170>`_ for more details.
PlatformIO with Atom
====================
PlatformIO with VS-Code
=======================
install
-------
For development of ESPeasy, a number of extensions has to be installed in VS-Code:
* PlatformIO IDE (by PlatformIO)
* C/C++ IntelliSense (by Microsoft)
* Arduino for Visual Studio Code (by Microsoft)
* Uncrustify (by Laurent Tréguier)
Optional:
* Bookmarks (by Alessandro Fragnani)
* Bracket Pair Colorizer 2 (by CoenraadS)
* GitLens - Git supercharged (by Eric Amodio)
* Todo Tree (by Gruntfuggly)
* All Autocomplete (by Atishay Jain)
* Excel Viewer (by GrapeCity)
Uncrustify
----------
The extension Uncrustify is mainly to format the code using a standard code format definition.
This code format standard is defined in the file uncrustify.cfg in the main directory of this repository.
For new code contributions, it is highly appreciated if the code is formatted using this tool.
To do so:
* Right click mouse in editor
* "Format Document"
The first time (after installing uncrustify) it must be confirmed to use Uncrustify as formatter and using the default suggested config file.
Load a project using PlatformIO
-------------------------------
If you have PIO installed and the source tree cloned to your hard drive, then you can open the main dir of the repository.
The main directory of the repository is the level with platformio.ini in it.
Then in a few moments after opening the directory, on the left there will appear an alien logo, the logo of PlatformIO.
If you click that one, you will get a tree with lots and lots of project tasks and environments.
It is important to note that PlatformIO does everything based on environments, which are defined in the platformio.ini file.
In the PlatformIO menu (on the left) everything is grouped per environment.
An environment entry has several tasks, like:
* Build
* Upload
* Monitor
* Upload and Monitor
* ... many more.
Some of these options only are available when you have registered with PlatformIO and some are only for paid subscriptions.
At least the basic ones used for almost any user are available with the free account.
The environment definitions all have at least the used micro controller in the name and the amount of flash memory used.
For example:
* ..._ESP8266_4M -> ESP8266 has external flash, which can vary in size from 512 kB to 16 MB.
* ..._ESP8285_1M -> ESP8285 has the flash internal, so is always 1 MB.
* ..._ESP32_4M316k -> ESP32 with 4 MB flash and a 1.8 MB partition for the sketch. (316k SPIFFS)
Make a custom build using PlatformIO
------------------------------------
The easiest is to go for the environment "env:custom_ESP8266_4M" and unfold that one.
Then select "Build" to see if it will start building.
If that's working, you can open the file "pre_extra_script.py" and add or remove the plugins and controllers you need.
That Python file is used in the "env:custom_ESP8266_4M" to define what should be embedded and what not.
For example to have only the controller "C014", you can remove "CONTROLLER_SET_ALL", and just add "USES_C014",
The same for the plugins you need.
The file is built in the ".pio/build/...." directory right under the main repository directory (the one with the platformio.ini in it)
All builds will be made in a directory with the same name as the environment used.
Upload to ESP
=============
Linux
-----
For Linux, you may need to install 99-platformio-udev.rules to make PlatformIO upload tools work in vscode.
@@ -0,0 +1,181 @@
Project Structure
*****************
The files and directories in the ESPEasy file repository are organized in folders.
Some of the choices for folder structure may not look very logical at first sight and may need some explanation to understand.
ESPEasy Project Directories
===========================
Below a list of the most important directories and files used in this project.
* ``.pio/`` Working dir for PlatformIO (Ignored by Git)
* ``build_output/`` The output directory where all built files are collected.
* ``dist/`` Files also includd in the nightly builds (e.g. blank flash files and ESPEasy flasher)
* ``docs/`` Documentation tree using Sphinx to build the documents.
* ``hooks/`` Used for the continous integration process, used by Travis CI.
* ``include/`` PlatformIO's suggested folder for .h files (not yet used)
* ``lib/`` Libraries used in this project. Some have patches which make them different from the maintainers version.
* ``misc/`` Additional files needed for some use cases, like specialized a firmware for some boards or decoder files for the TTN project.
* ``patches/`` Patches we apply during build for core libraries.
* ``src/`` The source code of ESPeasy
* ``static/`` Static files we use in ESPEasy, like CSS/JS/ICO files.
* ``test/`` Test scripts to be used in the continous integration process.
* ``tools/`` Tools to help build ESPeasy.
* ``tools/pio/pre_custom_esp32.py`` Python helper script for building custom ESP32 binary
* ``tools/pio/pre_extra_script.py`` Python helper script for building custom ESP8266 binary
* ``venv/`` Directory to store the used Python Virtual Environment. (Ignored by Git)
* ``platformio.ini`` Configuration file for PlatformIO to define various build setups.
* ``uncrustify.cfg`` Configuration file for Uncrustify, to format source code using some uniform formatting rules.
* ``requirements.txt`` List of used Python libraries and their version (result of ``pip freeze`` with Virtual env active)
* ``esp32_partition_app1810k_spiffs316k.csv`` Used partition layout in ESP32 builds.
ESPEasy src dir
===============
In order to compile the project using PlatformIO, you need to make sure the ``platformio.ini`` file is in the
root of the project dir opened in the editor.
The ``src/`` directory has the source files of the project.
In this directory, there is another ``src/`` dir, which is needed by ArduinoIDE in order to find files in sub-directories.
Arduino IDE also demands include directives to be relative compared to the file they are used in.
For example: ``#include "../DataStructs/Settings.h"``
We are currently working on converting the core ESPeasy code from .ino files into .h/.cpp files. (see PR #2617 and issue #2621)
The header and source files are organized in a few directories in ``src/src/``.
* ``Commands`` Functions to process commands.
* ``ControllerQueue`` Mainly macro definitions for the queue system used by controllers.
* ``DataStructs`` Data structures used in ESPEasy. Note that some of them are stored in settings files, so take care when changing them.
* ``Globals`` Declaration of global variables. Declare them using ``extern`` in .h files and construct them in .cpp files or else you may end up with several instances of the same object with the same name.
* ``Static`` C++ encoded version of objects which have to be included in the binary. N.B. JS and CSS files are minified.
The Arduino based .ino files are still in the ``src/`` directory. (and some .h files, which are not yet moved)
In the end, there should be only .ino files left for the plugins and controllers and ``ESPEasy.ino``
All other .ino files used in the ESPEasy core should be converted to .h/.cpp.
This conversion is needed to have full control over ``#define`` statements used to determine what is included in a binary and what not.
This also allows for more flexible control over user defined builds.
ESPEasy 'nightly builds'
========================
On a regular basis we make so called "nightly builds".
These can be found here: `ESPEasy releases download <https://github.com/letscontrolit/ESPEasy/releases>`_ .
See the included ``README.txt`` in the downloaded ZIP file for more detailed information of the content of that build.
We have 2 main build platforms:
* ESP8266/ESP8285
* ESP32
For these platforms we also have a lot of different build setups.
The filename is quite descriptive:
ESP_Easy_mega-<date>_<buildType>_<chip>_<memorySize>.bin
Build Type
----------
Build type can be: (differ in included plugins)
* normal => Only Stable plugins and controllers
* test => Stable + Testing
* dev => Stable + Testing + Development
There is also a number of special builds:
* normal_IR => "Normal" + IR receiver/transmitter plugins and library
* hard_xxxxx => Special builds for some off-the-shelf hardware.
* minimal_ESP82xx_1M_OTA => Minimum number of plugins and a limited set of controllers included to be able to perform a 2-step OTA on 1 MB flash nodes.
* normal_core_xxx => "Normal" using core xxx (e.g. 2.6.3)
* normal_beta => "Normal" using the staged (beta) branch of the esp8266/Arduino repository.
ESP Chip Type
-------------
* ``ESP8266`` Most likely option.
* ``ESP8285`` Used in some Sonoff modules. This chip has embedded flash, so no extra flash chip.
* ``ESP32`` Experimental support at this moment.
Memory Size and Partitioning
----------------------------
* ``1M`` 1 MB flash modules (e.g. almost all Sonoff modules)
* ``2M`` 2 MB flash modules (e.g. Shelly1/WROOM02)
* ``4M`` 4 MB flash modules (e.g. NodeMCU/ESP32)
* ``16M`` 16 MB flash modules (e.g. Wemos D1 mini pro)
Please note that the performance of 14MB SPIFFS (16M flash modules) is really slow.
All file access takes a lot longer and since the settings are also read from flash, the entire node will perform slower.
See `Arduino issue - SPIFFS file access slow on 16/14M flash config <https://github.com/esp8266/Arduino/issues/5932>`_
If these speed issues will be fixed, it is very likely the SPIFFS must then be re-partitioned, thus loosing all data in the SPIFFS.
Special memory partitioning:
* ``2M256`` 2 MB flash modules (e.g. Shelly1/WROOM02) with 256k SPIFFS (only core 2.5.0 or newer)
* ``4M316k`` For ESP32 with 4MB flash, sketch size is set to 1.8 MByte (default: 1.4 MByte)
* ``4M1M`` 4MB flash, 1 MB SPIFFS. Default layout for 4MB flash.
* ``4M2M`` 4MB flash, 2 MB SPIFFS. Introduced in October 2019. Only possible with core 2.5.2 or newer.
.. warning::
Changing between builds with different flash layout will destroy the settings!
The SPIFFS partition will be lost, which contains all settings.
Difference between .bin and .bin.gz
-----------------------------------
Starting on esp8266/Arduino core 2.7.0, it is possible to flash images that have been compressed using GZip.
Please note that this only can be used on installs already running a very recent build.
This also means we still need to update the 2-step updater to support .bin.gz files.
.. warning::
Currently there is NO 2-step OTA image available supporting ``.bin.gz`` images.
ESP32 builds
------------
There are 3 builds for ESP32:
* ``custom_ESP32_4M316k`` Build template using either the plugin set defined in ``Custom.h`` or ``tools/pio/pre_custom_esp32.py``
* ``test_ESP32_4M316k`` Build using the "testing" set of plugins for ESP32
* ``test_ESP32-wrover-kit_4M316k`` A build for ESP32 including build flags for the official WRover test kit.
Since ESP32 does have its flash partitioned in several blocks, we have 2 bin files of each ESP32 build:
* ``test_ESP32_4M316k.bin`` Use for OTA upgrades.
* ``test_ESP32_4M316k-factory.bin`` Use on clean nodes as initial inistall.
The binary with ``-factory`` in the name must be flashed on a new node, via the serial interface of the board.
This flash must be started at address 0.
The binary without ``-factory`` can be used for OTA updates. (OTA for ESP32 is added in May 2020)
Blank Images
------------
To help recover from a bad flash, there are also blank images included.
* ``blank_1MB.bin``
* ``blank_2MB.bin``
* ``blank_4MB.bin``
* ``blank_16MB.bin``
When the wrong image is flashed, or the module behaves unstable, or is in a reboot loop,
flash these images first and then the right image for the module.
+54
View File
@@ -0,0 +1,54 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P000_page:
|P000_typename|
==================================================
|P000_shortinfo|
Plugin details
--------------
Type: |P000_type|
Name: |P000_name|
Status: |P000_status|
GitHub: |P000_github|_
Maintainer: |P000_maintainer|
Used libraries: |P000_usedlibraries|
Supported hardware
------------------
|P000_usedby_GPIO|, |P000_usedby_RTTTL|
Commands available
------------------
.. include:: P001_commands_GPIO.repl
.. include:: P001_commands_RTTTL.repl
.. Events
.. ~~~~~~
.. .. include:: P000_events.repl
Change log
----------
.. versionchanged:: 2.0
...
|added|
Major overhaul for 2.0 release.
.. versionadded:: 1.0
...
|added|
Initial release version.
+106
View File
@@ -0,0 +1,106 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P000_Buzzer_page:
Buzzer (RTTTL)
==============
|P000_typename|
|P000_status|
.. image:: P000_Buzzer_RTTTL_1.jpg
Introduction
------------
RTTTL (Ring Tone [Text] Transfer Language) was developed by Nokia to play more "easy on the ear" melodies as ringtones for mobile phones. The tunes over all characteristics are created by using three different commands:
**d** - duration
**o** - octave
**b** - tempo (beat)
After that the actual tune is then created using standard notes (a, b, c, d, e, f, and g), before the note the duration is set, after the note the octave is set:
.. code-block:: none
<duration><note><octave>
To compose a jingle you separate the notes with a comma.
Specifications:
* Output sound
Wiring
------
.. code-block:: none
ESP Buzzer
GPIO <--> I/O
Power
3.3V <--> VCC
GND <--> GND
Setup
-----
No device is needed, generally you use rules to activate different notifications, or you send commands to activate them. Below you find more information on how to do this.
Rules examples
--------------
From ESP Easy v2.0.0 its possible to play melodies via `RTTTL <https://en.wikipedia.org/wiki/Ring_Tone_Transfer_Language#Technical_specification>`_ (don't forget to remove the spaces and replace # with -, this might be fixed in future releases):
.. code-block:: none
http://<ESP IP address>/control?cmd=rtttl,14:d=4,o=5,b=112:8a,8a,a,8a,8a,a,8a,8c6,8f.,16g,2a,8a-,8a-,8a-.,16a-,8a-,8a,8a.,16a,8a,8g,8g,8a,g,c6
This plays a melody on pin 14.
You can also use these from rules. We use it to let our alarm system give feedback to the user via a piezo speaker.
To make a boot-sound on startup, create a rule like this:
.. code-block:: none
On System#Boot do
rtttl,14:d=10,o=6,b=180,c,e,g
endon
`A place to find more tunes <http://www.picaxe.com/RTTTL-Ringtones-for-Tune-Command/>`_, all saved as txt files.
Besides RTTTL it's also possible to play a single tone on a pin, via a buzzer, speaker or piezo element:
.. code-block:: none
http://<ESP IP address>/control?cmd=tone,14,1300,200
Plays a 1300 Hz tone for 200 ms on GPIO-14.
Indicators (recommended settings)
---------------------------------
No device is needed.
Commands
--------
.. include:: P001_commands_RTTTL.repl
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cMvVWYS4>`_"
|affiliate|
.. More pictures
.. -------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

+125
View File
@@ -0,0 +1,125 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P000_Level_converter_page:
Level converter
===============
.. image:: P000_Level_converter_1.jpg
Introduction
------------
Level-converters, aka level-shifters, aka voltage dividers, are used to adapt between a 3.3V device like the ESP8266 and devices using 5V or more internally.
The ESP8266 runs with 3.3V - many devices need 5V or more, for example a LCD display or a Wiegand card reader. It is said that the ESP8266 can
take 5V at its inputs. Basically this is correct and confirmand by Espressif, the manufacturer. Anyways this as always has some limitations.
**First**, overcurrent. If you use a GPIO as input and the output of the connected device has 5V it should work. But if the internal resistance
of the device is low the current might exceed the limits of the ESP8266. With some specific settings of the ESP8266 the GPIO can not take 5V,
who checks every plugin or never made a setting mistake? So for making sure no GPIO is blown accidentally or by a bug some measurements should be taken.
**Second**, some devices need higher voltage if GPIO used as output. For example the PCF8574 or the MCP23017, port multiplexer. This chips use
3.3V or 5V as you choose. For some purpose higher voltage is useful. If using 5V there is a point you have to take care for:
The High and Low levels depend on the voltage!
With the PCF8574 the minimum "High" level Vih = 0.7 × Vdd, with 5V as Vdd it is 3.5V. With the MCP23017 the Vih = 0.8 × Vdd, with 5V as Vdd it is 4V.
(Vdd is the supplied voltage) So with 3.3V max from the ESP we are too low. It might work, it might fail. Worse, it might work with one chip
and fail with another one due to tolerances. In this case a level-converter is needed.
Specifications:
* Level shifter, aka logic converter. Used to turn logics of higher voltage (5V) down to ESP friendly voltage (3.3V).
.. note::
**Troubleshooting**:
If your level converter does not work, please check cabling first. As said cabling mistakes and slack joints with the usual cheap breadboard cables are the most likely reason.
If you use breakout board type level converters have a second one at hand. We've seen some "dead on arrival", other died by electrostatic discharge.
And again, breadboards are somewhat unreliable. Use a digital multi-meter to check contacts and wires.
Wiring
------
.. warning::
Be careful with wiring. A wrong connection from 5V to the 3.3V rail can cause damages of the ESP and/or the power supply.
A direct connection by mistake from 5V to a GPIO may fry your ESP! Handle level-shifters with some care.
The used FET transistors are somewhat sensible against electrostatic discharge. Use a anti-static mat.
.. code-block:: none
ESP Level converter Connected hardware
GPIO (X) <--> 3A, LV1, A1 etc. <--> 5A, HV1, B2 etc.
GPIO (Y) <--> 3B, LV2, A2 etc. <--> 5B, HV2, B2 etc.
Power
3.3V <--> 3V3, LV, VA, 3V etc.
5.0V <--> VIN, HV, VB, +5V etc.
GND <--> GND
Different ways of level converting
----------------------------------
Other than using a level converter it is possible to do it "manually" through resistors.
Just Input - simple unidirectional
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As an example we will use a HC-SR04 ultrasonic distance metering module. The HC-SR04 needs 5V, it will not work with 3.3V.
It works like bat ears, sending ultrasonic pulses and waiting for the echo. It has an input "Trigger" for sending ultrasonic pulses and an output "Echo" for the received signals.
The "trigger" input is no problem as it can take 3.3V for "High". Just connect it to the desired GPIO. But the "Echo" pin sends back 5V signals!
As this signaling is working just in one direction ("unidirectional") from the HC-SR04 to the ESP8266, a simple voltage divider does the job. Look at the schematic:
.. image:: P000_Level_converter_2.jpg
Note the two resistors R1 and R2, configured as a voltage divider. The divider gives 2.2/(1.2+2.2) = 0.65 so with 5V you get 5V × 0.65 = 3.25V at the GPIO pin.
Just Input - precise unidirectional
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The simple circuit with two resistors has one disadvantage. It is calculated for 5V. For other voltages you have to calculate another pair of resistor values. And worse,
spikes, short spikes of high voltage from unstable power supply or other reasons) pass through the divider. A better and more precise way is using a Zener diode.
A Zener diode simplified is a semiconductor that gets conductive at a specific voltage.
.. image:: P000_Level_converter_3.jpg
Here a Zener diode is used as voltage limiter. The resistor must not be omitted, it is necessary to limit the current. If a 5V signal comes the diode gets conductive - it would
short circuit the device output without the resistor. This circuit is dimensioned for input voltages from 5V to 9V (resistor should have 0.25W!). It can be used nicely for Wiegand
card readers for example. You may use even higher voltages, for example if you want to check a 24V pump. You need an adapted resistor value for that.
Input and Output - Bidirectional Level Converter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For devices that use one wire for input and output ("bidirectional") or devices that need higher voltage on an input an active level converter is necessary.
This applies mainly to I²C devices as SCL (the clock signal) comes with 3.3V from the ESP and the SDA (data signal) goes in both directions. There are
specialized chips for this purpose. Most of them have 8 channels - bit of an overkill for an ESP. There is a much simpler way you can buy as a cheap
breakout board or solder together yourself.
.. image:: P000_Level_converter_4.jpg
A little FET and two resistors do the job. This is the circuit most level shifters you can buy at the market use.
How does it work? Lets have a simplified look in a nutshell. A FET gets conductive if the voltage at the gate (pin 1) is higher then the voltage at
the source (pin 2). So if the ESP gives 3.3V (High), gate and source have same voltage - the FET isolates both sides (pin 2 & 3) from each other.
If the ESP goes to 0.3V (Low), the gate still has 3.3V - now the FET gets conductive pulling the 5V-side down. If the 5V-side goes to zero (low)
because your device sends data, the diode inside the FET gets conductive and pulls the 3.3V side down to nearly zero (Low).
Use of a dedicated level converter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quite an easy job. The pins on a level shifter are usually divided in a LV (Low Voltage) and a HV (High Voltage) side. Sometimes it is just called 3V and 5V.
Connect the 3V pin to 3.3V from ESP and the 5V pin to 5V from your device, for example a LCD display. Don't forget ground, some breakouts have some additional
capacitors which need it. Then connect the GPIOs from the ESP to the LV side, the equivalent pins from your 5V device to the HV side. That's all.
.. image:: P000_Level_converter_5.jpg
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/c5dMH05S>`_"
|affiliate|
.. More pictures
.. -------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 802 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

@@ -0,0 +1,104 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P000_Piezo_element_page:
Piezo element
=============
|P000_typename|
|P000_status|
.. image:: P000_Piezo_element_RTTTL_1.jpg
Introduction
------------
RTTTL (Ring Tone [Text] Transfer Language) was developed by Nokia to play more "easy on the ear" melodies as ringtones for mobile phones. The tunes over all characteristics are created by using three different commands:
**d** - duration
**o** - octave
**b** - tempo (beat)
After that the actual tune is then created using standard notes (a, b, c, d, e, f, and g), before the note the duration is set, after the note the octave is set:
.. code-block:: none
<duration><note><octave>
To compose a jingle you separate the notes with a comma.
Specifications:
* Output sound
Wiring
------
.. code-block:: none
ESP Piezo
GPIO <--> Positive (red)
GND <--> Negative (black)
Setup
-----
No device is needed, generally you use rules to activate different notifications, or you send commands to activate them. Below you find more information on how to do this.
Rules examples
--------------
From ESP Easy v2.0.0 its possible to play melodies via `RTTTL <https://en.wikipedia.org/wiki/Ring_Tone_Transfer_Language#Technical_specification>`_ (don't forget to remove the spaces and replace # with -, this might be fixed in future releases):
.. code-block:: none
http://<ESP IP address>/control?cmd=rtttl,14:d=4,o=5,b=112:8a,8a,a,8a,8a,a,8a,8c6,8f.,16g,2a,8a-,8a-,8a-.,16a-,8a-,8a,8a.,16a,8a,8g,8g,8a,g,c6
This plays a melody on pin 14.
You can also use these from rules. We use it to let our alarm system give feedback to the user via a piezo speaker.
To make a boot-sound on startup, create a rule like this:
.. code-block:: none
On System#Boot do
rtttl,14:d=10,o=6,b=180,c,e,g
endon
`A place to find more tunes <http://www.picaxe.com/RTTTL-Ringtones-for-Tune-Command/>`_, all saved as txt files.
Besides RTTTL it's also possible to play a single tone on a pin, via a buzzer, speaker or piezo element:
.. code-block:: none
http://<ESP IP address>/control?cmd=tone,14,1300,200
Plays a 1300 Hz tone for 200 ms on GPIO-14.
Indicators (recommended settings)
---------------------------------
No device is needed.
Commands
--------
.. include:: P001_commands_RTTTL.repl
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/CG00mPI>`_"
|affiliate|
.. More pictures
.. -------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 433 KiB

+340
View File
@@ -0,0 +1,340 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P000_Relay_page:
Relay
=====
|P000_typename|
|P000_status|
.. image:: P000_Relay_1.jpg
Introduction
------------
The ESP8266 can't switch high currents or voltages and no AC at all. But it can switch a relay that can switch high load, isolating high
voltage from the ESP circuit. There are several relay types in the wild.
The ESP can control a relay using one of it's GPIO pins. All relay boards that work with Arduino should also work with the ESP module.
Note this is only a possible application of the ESPs ability to send a logic 1/0 (TTL at 3.3V) on a GPIO. These relay are usually available
as 1,2,4,8,16 Relay modules and work electromagnetically. They can switch both AC/DC(or imitate a button press of a remote for example)
as they are "power operated mechanical switches". Each relay has the screw terminal. The middle one is usually "always connected" terminal.
The NC contact will be connected to the middle terminal when the relay is not powered. The NO is connected when the relay is powered
and activated. Note that there are "active high" and "active low" versions of these relays.
There are mainly two relay types in the wild: The good old mechanical relay with the nice "click-clack" sound and the electronic relays, so called
"Solid State Relays" (SSR) which are completely silent.
Specifications:
* Opto coupler (mechanical)
* Solid state (SSR)
Relays are the most used actuators in home automation. Most people use breakout boards with a relay on it. Sadly there is no "standard" relay board.
It seems every small manufacturing garage in china has it's own layout and schematic. Some use 5V, some use 12V, some do with opto couplers, some without...
the perfect chaos. Several problems result from this chaos. Relays keeping switched on no mater what your ESP says. Relays not switching at all.
And last but not least - sometimes they work. Let's get some order into that chaos.
.. note::
You have just got your brand new relay board and it does not work. What to do?
At first you should check the switching level. Is it switching on with "high" or with "low"?
* Connect the board to power only (5V or 12V usually).
* Plug a jumper cable to one of the inputs.
* With the other end of the cable touch GND and +Vcc (5V or 12V).
On one of these touches the relay should switch. If it switches when connecting to GND the board uses "low" as active (relay on) signal.
In this case diodes or a transistor / FET as described above might help.
Connect the board to the ESP carefully. Check voltages, the power supply should be able to deliver enough current for the relays!
Check the connection cables. Jumper cables are well known for slack joints.
Mechanical relay
----------------
The mechanical relay is a simple construction.
It consist of a coil, one or more contacts and a spring. The spring keeps the contact in the "open" position. If the coil gets current, the magnetic
field pulls the contact into the second position, the contact closes. As soon as the current is switched off the spring pulls the contact back.
Mechanical relays may just have one contact switching to closed if the coil works (Normally open or NO). The contact might be a changeover contact which
has a "common" connector and a NO (open without coil current, "normally open") and a NC (closed without coil current, "normally closed") connection.
There might even be several contacts in one relay.
There are several special types of mechanical relay
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Latching relay:
.. image:: P000_Relay_2.jpg
One current pulse switches on and keeps on when current goes off, a second pulse switches off.
Polarized relay:
.. image:: P000_Relay_3.jpg
These relays have a defined + and - pin for the coil that must be followed.
.. warning:: These micro relays can not switch mains voltage! Use them for low voltage door openers or similar.
Pros and cons of mechanical relays
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:green:`+` Several contacts in one relay available.
:green:`+` NO/NC available.
:green:`+` Limited resistance to overload and overvoltage.
:red:`-` Noisy, might disturb in a living room or bedroom.
:red:`-` Mechanical, moving parts that might wear out over time.
:red:`-` Contact bumping when switching.
:red:`-` High current for the coil, needs a transistor or FET for driving and generates peaks on power supply.
:red:`-` The coil induces high voltage when switching off.
Solid state relay
-----------------
The solid state relay, SSR for short, is a complex electronic circuit. It uses an opto coupler for input, this isolating the driving circuit from the load voltage.
Isolation voltage is usually 2000V, 4000V or more. The switching element usually is a triac for AC switching types. For DC there are types with a MOSFET as switching element.
There are several special types of SSR relay
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. image:: P000_Relay_4.jpg
As with the mechanical relays there are specialized types of SSR's.
**AC Type** : Can only (!!) switch AC. AC with zero crossing circuit. This type switches on and off if the AC voltage is at the zero point. **Expensive** and necessary only for special applications.
**DC Type** : Can only (!!) switch DC! And a lot more that are reserved for special cases.
Pros and cons of SSR relays
^^^^^^^^^^^^^^^^^^^^^^^^^^^
:green:`+` Completely noiseless
:green:`+` Low driving current and voltage available. Some types can be driven directly from the ESP.
:green:`+` No mechanical parts, no wearing out.
:green:`+` No contact bumping.
:green:`+` No voltage peaks on the low voltage side.
:green:`+` Available for very high current for an affordable price.
:red:`-` Very sensitive to overvoltage and overcurrent.
:red:`-` No NC available usually.
:red:`-` Usually with only one or sometimes three "normally open" circuits.
:red:`-` Needs cooling! Smaller relays up to 5A must be mounted with at least 1cm distance to other parts.
:red:`-` Bigger relays usually need a heat sink. Watch out: Heat sink may carry mains voltage with some types!
:red:`-` Leak current! These relays leak some current even if switched off.
Leak currents
~~~~~~~~~~~~~
Leak Current from SSR's might lead into problems under certain circumstances.
The both types shown above ("Hoymk D3805KH" and "Mager GJ-6-L", 5A AC) were tested here.
The Mager GJ-5-L showed a low leaking current and is useable for most purposes.
The D3805HK showed a really high leaking current, enough for a 10W LED to glow and a small solenoid valve to keep open!
This is not recommended for normal use.
Meanwhile a third sample arrived: The SSR-D32A380/5 sold by Pollin.
Similar to the D3805HK it shows a leaking current, as the test LED is slightly glowing in the dark when off.
It seems to be a lower leaking then with the D3805HK, this is subject to some further investigation.
The advantage of the Pollin SSR: It contains a small LED on the top indicating if the relay is on.
This SSR is a bit bigger then the other two types tested, it just fits the case. So holes for the LEDs
can be drilled on the top side of the case.
.. danger::
Always remember that a switched-off SSR is not completely switched off!
Even a small leaking current is enough to give a shock. Nice surprise if you're on the ladder changing bulbs....
Choosing your relay
~~~~~~~~~~~~~~~~~~~
Which relay should be used?
Well, this depends on what you want to switch. If you control a heavy motor or pump, I'd always prefer a mechanical relay.
The resistance against short overcurrent is a good point here.
For experimenting we prefer mechanical relays too - we just love the "click" sound, i.e. we don't have to connect a load to see if it works.
If noise counts or if you place the relay in a dusty or humid environment a SSR is the better choice. It's completely encapsulated so dust
and humidity can't damage it. As it has no mechanical parts it is completely noise-free. So it's the perfect choice to switch lighting in a living room or sleeping room.
Of course you have to chose a relay that fits your parameters.
Which voltage you want to switch? AC or DC? Which current?
If you want to use a SSR for high current you have to calculate the space for a heat sink and you have to use a vented case. All these parameters
have to be figured into your project. It is also possible to use a small SSR to drive a really heavy external relay for a heavy machine for example.
Wiring
------
.. code-block:: none
ESP Relay (board)
GPIO (X) <--> IN1
GPIO (Y) <--> IN2
Power
5.0V <--> VCC
GND <--> GND
Setup
-----
No device is needed, generally you use rules to activate relays, or you send commands to activate them. Below you
find more information on how to do this.
.. note::
If you want to monitor and have the GPIO state published you do this by adding as a |P001_typename| ,
it will not be a switch per say but you will get the state published automatically.
Rules examples
--------------
.. code-block:: none
On Switch#State Do
if [Switch#State]=1
GPIO,12,1
else
GPIO,12,0
endif
EndOn
This rule will turn the relay ON when the button is pressed, and OFF when released.
Indicators (recommended settings)
---------------------------------
No device is needed.
Commands
--------
.. include:: P001_commands_GPIO.repl
How to connect your relay
-------------------------
You can connect the relay in multiple ways, we explain them all below.
Basic ESP circuit: mechanical relays
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The basic circuit is simple.
As the relay usually consumes more current as the ESP can handle it needs a transistor or FET to drive the relay.
To suppress the voltage peak when switching off the coil a free-wheeling diode is needed. This can be a standard silicium diode, a 1N4148 for example.
.. image:: P000_Relay_5.jpg
Well, there is another way to switch the relay. In the above example we used a NPN transistor or a N-channel FET. A PNP transistor or P-Channel FET can be used too.
Some board manufacturers do this and now we run into problems promptly. The relays usually need some higher voltage then the ESP, 5V or 12 V in most cases.
The PNP transistor in the example is connected to +5V. It will switch the relay to "on" if the voltage at the input is at least 0.7V below the Vcc of 5V.
The ESP delivers a maximum of 3.3V if the GPIO is "high", around 0.5V if it is "low". Both voltages are far below the 5V-0.7V = 4.3V threshhold of the relay board.
The relay is permanently on, no matter what your ESP says. We can get this to work in a simple way with a 5V relay board. A standard diode has a loss of around 0.7V.
We can use this to get a higher output level from the ESP. We simply use two diodes in the connection between relay board and ESP. This raises the voltage from the
ESP up to 3.3v + 1.4V = 4.7V. This is above the threshhold of 4.3V. If the board uses a FET it might be necessary to use three diodes. That usually will work.
On top: This circuit switches the relay off if the GPIO is "high", this leading to irritations sometimes.
The picture shows the basic circuit with a PNP transistor, and the " 2 Diodes " solution:
.. image:: P000_Relay_6.jpg
More complex: using an opto coupler
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Many widespread relay boards use opto couplers. Honestly we don't know the reason besides it looks good in advertising.
In theory the opto coupler isolates the relay coil from the ESP circuit. Well, that's nice theory. In real world we use the same power supply for relays and ESP.
This bridges the opto coupler as the circuits are connected via power supply making the opto coupler completely useless. Anyways the relay isolates the load from
the ESP anyways. It might be useful only if relay switching interferes with the ESP. In this case you might try a separate power supply for relay coils.
This isolates the ESP completely from the coil circuits. Note that a jumper has to be set for that on some boards.
Again there are two possible ways to use this circuit. The opto coupler input has one pin to the ESP and one to ground - this works without any problem but it is not widespread.
.. image:: P000_Relay_7.jpg
Most boards we've seen connect the opto coupler to 5V or 12V and the other input pin to the ESP.
.. image:: P000_Relay_8.jpg
This runs into same issues as with the PNP transistor above. The high voltage of 3.3V from ESP is far below 5V, this keeping the relay permanently active.
The solution is same as with the transistor board above. Use some diodes between ESP and relay board usually does the job with relay boards using 5V.
Depending on the circuit you will have to experiment how many diodes are necessary.
Boards with 12V
~~~~~~~~~~~~~~~
If your relay board uses 12V and needs "Low" to switch the relay on it gets somewhat more complex. Basically it is possible to use a lot of diodes but
it's not very handy. You may try a Zener diode of around 8.5.. 8.7 V. Honestly we don't recommend it. In this case it is better to use an additional
transistor or FET to get it to work. This has one advantage: It inverts the switching signal so a "low" output says the relay is off.
.. image:: P000_Relay_9.jpg
Special designed boards
~~~~~~~~~~~~~~~~~~~~~~~
There are some boards in the wild which can be configured if "low" or "high" should switch the relay on.
With this boards you will have to experiment a bit with your ESP and the board, there should be a combination that works.
.. image:: P000_Relay_10.jpg
Note the jumpers down left - that's the configuration for switching on high or low level.
Basic ESP circuit: SSR
~~~~~~~~~~~~~~~~~~~~~~
This is more simple. If you got a SSR that has an input of "3...12V" or "3...30V" it usually can be driven directly from the ESP.
The only thing you should keep in mind: Do not omit the varistor (RVx in the schematics). It protects the SSR from voltage peaks that
may kill it within some milliseconds. Instead of the varistor a TVS diode can be used, for example a P6K400CA.
Be careful, you have to use a bidirectional type!
.. image:: P000_Relay_11.jpg
It is possible to direct drive a SSR from the ESP but we won't recommend this. We prefer the same circuit as with the mechanical relay.
It makes the relay circuit more universal and reduces load on the ESP.
.. image:: P000_Relay_12.jpg
Instead of the 2N2222/BC547 you may use a small FET, a BSS138 or 2N7000 / 7002. Omit the 22K resistor if useing a FET.
R2 is needed if your relay can't take the Vcc directly. If you use a "3...30V" input SSR it's not necessary.
Any opto coupler is completely needless if you use a SSR. The SSR has an opto coupler built in to isolate the load from the ESP.
At this time there are not that much relay boards with SSR in the market, this will change over time as they get more popular.
From what is on the market be careful what you buy. Most boards we've seen nowadays on AliExpress and Ebay have a DC relay installed - they can switch DC only! They can't switch mains voltage.
Some words about DIY relay boards
---------------------------------
All in all it's no problem to build your own relay board fitting your needs exactly. But watch out if you want to switch
mains voltage. There is a reason why in some countries the policies specify a minimum distance between the parts with high
voltage and the low voltage circuits. Do not use experimental PCB's with copper pads or stripes!
Good breakout boards are milled out, there is a gap in the PCB for isolating mains from low voltage.
Prefer these boards over others without milling.
.. danger::
Be very careful - mains voltage can burn your home or kill you. In case of doubt ask an expert!
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cM59HXVq>`_ `Link 2 ($) <http://s.click.aliexpress.com/e/cerop6s0>`_"
|affiliate|
.. More pictures
.. -------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 KiB

Some files were not shown because too many files have changed in this diff Show More