Compare commits

...
Author SHA1 Message Date
ESPEasy release bot de7668cc24 automatically updated release notes for mega-20191103 2019-11-03 04:00:14 +01: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
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
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
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
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 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
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
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
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
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
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
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
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
Bartlomiej Zimon fc03a845b4 Merge branch 'mega' of github.com:letscontrolit/ESPEasy into patch12 2018-12-23 10:38:59 +00: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
chunter1andGitHub b912e5c0a9 1-wire timings optimized for stability 2018-12-06 22:58:09 +01:00
jimmys01andGitHub a22563e21d Merge pull request #3 from letscontrolit/mega
Merge it
2018-11-20 09:55:41 +02:00
1526 changed files with 144220 additions and 42888 deletions
+16
View File
@@ -12,6 +12,7 @@
.clang_complete
.gcc-flags.json
.piolibdeps
pre_extra_script.py
## Project #####################
lib/readme.txt
@@ -22,5 +23,20 @@ test/output_export.cpp
.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
+30 -6
View File
@@ -3,14 +3,14 @@ python:
- '2.7'
#we want a newer cppcheck, so use trusty
dist: trusty
dist: bionic
sudo: false
cache:
directories:
- "~/.platformio"
- "./.pioenvs"
# - "~/.platformio"
# - "./.pio"
@@ -18,7 +18,7 @@ addons:
apt:
packages:
- cppcheck
- binutils
install:
@@ -32,8 +32,32 @@ script:
# - bash ./preflight.sh # make sure input files are OK before wasting time with prereqs
# - 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 --target clean
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run
# - PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run --target clean
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e custom_ESP8266_4M1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e esp-wrover-kit_test_4M316k
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e esp32test_4M316k
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e normal_ESP8266_1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e normal_ESP8266_1M_VCC
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e normal_ESP8285_1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e normal_core_241_ESP8266_1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e normal_WROOM02_2M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e normal_core_252_WROOM02_2M256
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e normal_ESP8266_4M1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e normal_core_241_ESP8266_4M1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e normal_core_260_sdk222_alpha_ESP8266_4M1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e minimal_core_242_ESP8266_1M_OTA
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e minimal_core_242_ESP8285_1M_OTA
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e minimal_core_252_ESP8266_1M_OTA
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e minimal_core_252_ESP8285_1M_OTA
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e minimal_IRext_ESP8266_1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e minimal_IRext_ESP8266_4M2M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e normal_IRext_no_rx_ESP8266_4M2M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e test_core_260_sdk222_alpha_ESP8266_4M1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e test_core_260_sdk3_alpha_ESP8266_4M1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e test_ESP8266_4M_VCC
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e dev_ESP8266_4M1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e hard_SONOFF_POW_4M1M
before_deploy:
- ./before_deploy
+14 -15
View File
@@ -1,6 +1,6 @@
|Latest Nightly | Build Status | 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) | [![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) |
|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.
@@ -12,7 +12,6 @@ Introduction and wiki: https://www.letscontrolit.com/wiki/index.php/ESPEasy#Intr
**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
@@ -21,24 +20,24 @@ 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
Details and discussion are on the Experimental forum: https://www.letscontrolit.com/forum/viewforum.php?f=18
Details and discussion are on the "Experimental" section of the forum: https://www.letscontrolit.com/forum/viewforum.php?f=18
Automated builds of the (new) documentation can be found at [ESPEasy.readthedocs.io](https://espeasy.readthedocs.io/en/latest/)
+75 -39
View File
@@ -3,6 +3,13 @@
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
@@ -30,63 +37,86 @@ if [ -d "docs/build" ]; then
cp -r docs/build/* ${TMP_DIST}/docs/
fi
mkdir -p ${TMP_DIST}/memstats
for ENV in \
dev_ESP8266_4096\
esp-wrover-kit_test_1M8_partition\
esp32dev\
esp32test_1M8_partition\
hard_SONOFF_POW_4M\
hard_core_250_beta_SONOFF_POW_4M\
hard_core_250_beta_Shelly_1_2M256\
minimal_ESP8266_1024_OTA\
minimal_ESP8285_1024_OTA\
normal_ESP8266_1024\
normal_ESP8266_1024_VCC\
normal_ESP8266_4096\
normal_ESP8285_1024\
normal_IR_ESP8266_4096\
normal_WROOM02_2048\
normal_core_241_ESP8266_1024\
normal_core_241_ESP8266_4096\
normal_core_250_beta_ESP8266_1024\
normal_core_250_beta_ESP8266_4096\
normal_core_250_beta_IR_ESP8266_4096\
normal_core_250_beta_WROOM02_2M256\
test_ESP8266_4096\
test_ESP8266_4096_VCC\
test_core_250_beta_ESP8266_4096\
test_core_250_beta_ESP8266_4096_VCC;\
custom_ESP8266_4M1M\
esp-wrover-kit_test_4M316k\
esp32test_4M316k\
normal_ESP8266_1M\
normal_ESP8266_1M_VCC\
normal_ESP8285_1M\
normal_core_241_ESP8266_1M\
normal_WROOM02_2M\
normal_core_252_WROOM02_2M256\
normal_ESP8266_4M1M\
normal_core_241_ESP8266_4M1M\
normal_core_252_ESP8266_16M\
normal_core_260_sdk222_alpha_ESP8266_4M1M\
normal_core_260_sdk222_alpha_ESP8266_16M\
minimal_core_242_ESP8266_1M_OTA\
minimal_core_242_ESP8285_1M_OTA\
minimal_core_252_ESP8266_1M_OTA\
minimal_core_252_ESP8285_1M_OTA\
minimal_IRext_ESP8266_1M\
minimal_IRext_ESP8266_4M1M\
minimal_IRext_ESP8266_4M2M\
normal_IRext_no_rx_ESP8266_4M2M\
test_core_260_sdk222_alpha_ESP8266_4M1M\
test_core_260_sdk3_alpha_ESP8266_4M1M\
test_core_260_sdk222_alpha_ESP8266_16M\
test_ESP8266_4M_VCC\
dev_ESP8266_4M1M\
hard_SONOFF_POW_4M1M\
hard_other_POW_ESP8285_1M\
hard_Shelly_1_2M256\
hard_Ventus_W266;\
do
MAX_FILESIZE=1044464
if [[ ${ENV} == *"1024"* ]]; then
# max 602 kiB
if [[ ${ENV} == *"_1M"* ]]; then
# max 871 kiB
MAX_FILESIZE=892912
fi
if [[ ${ENV} == *"1024_OTA"* ]]; then
if [[ ${ENV} == *"_1M_OTA"* ]]; then
# max 602 kiB
MAX_FILESIZE=616448
fi
if [[ ${ENV} == *"esp32"* ]]; then
MAX_FILESIZE=1310720
fi
if [[ ${ENV} == *"1M8_partition"* ]]; then
if [[ ${ENV} == *"4M316k"* ]]; then
# ESP32 with 1800k of sketch space.
MAX_FILESIZE=1900544
fi
FILESIZE=$(stat -c%s .pioenvs/${ENV}/firmware.bin )
if (( FILESIZE < MAX_FILESIZE )); then
echo
echo "### Deploying environment $ENV for version $VERSION"
BIN=.pioenvs/${ENV}/ESP_Easy_${VERSION}_${ENV}.bin
cp .pioenvs/${ENV}/firmware.bin $BIN
python2 crc2.py $BIN
mv $BIN "${TMP_DIST}/bin/ESP_Easy_${VERSION}_${ENV}.bin"
FIRMWARE_BIN=`echo "${BINARY_PATH}/${ENV}/firmware.bin"`
if [ -f $FIRMWARE_BIN ]; then
FILESIZE=$(stat -c%s `echo "${FIRMWARE_BIN}"` )
if (( FILESIZE < MAX_FILESIZE )); then
echo
echo "SUCCESS: $FILESIZE < $MAX_FILESIZE Bytes. (${ENV})" >> ${BUILD_LOG}
BIN=${BINARY_PATH}/${ENV}/ESP_Easy_${VERSION}_${ENV}.bin
cp ${FIRMWARE_BIN} $BIN
python2 crc2.py $BIN
mv $BIN "${TMP_DIST}/bin/ESP_Easy_${VERSION}_${ENV}.bin"
else
echo "FAILED: too large $FILESIZE > $MAX_FILESIZE Bytes. (${ENV})" >> ${BUILD_LOG}
fi
else
echo "Build too large for $ENV $FILESIZE > $MAX_FILESIZE "
echo "FAILED: No file created. (${ENV})" >> ${BUILD_LOG}
fi
ELFFILE=`echo "${BINARY_PATH}/${ENV}/firmware.elf"`
if [ -f $ELFFILE ]; then
SYMBOLS_STATS=`echo "${TMP_DIST}/memstats/symbols_${ENV}.txt"`
STRINGS_STATS=`echo "${TMP_DIST}/memstats/strings_${ENV}.txt"`
readelf -a ${ELFFILE} |grep 3ff |sort -n -k 3 > ${SYMBOLS_STATS}
objdump -s -j .rodata ${ELFFILE} > ${STRINGS_STATS}
fi
done
#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
@@ -99,7 +129,13 @@ cd ${TMP_DIST}
echo
echo "### Creating zip archive"
zip ${CURPATH}/ESPEasy_$VERSION.zip -r .
zip -qq ${CURPATH}/ESPEasy_$VERSION.zip -r .
# Display the build log.
cat ${BUILD_LOG}
rm -Rf ${TMP_DIST}/* 2>/dev/null
rmdir ${TMP_DIST}
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
+27 -7
View File
@@ -22,8 +22,12 @@ Build type can be: (differ in included plugins)
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_241 => "Normal" using core 2.4.1, since 2.4.2 has issues with PWM
- minimal_ESP82xx_1024_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.
- xxx_core_260_sdk2_alpha -> core 2.6.0 alpha version (under development) using SDK 2.2.1
- xxx_core_260_sdk222_alpha -> core 2.6.0 alpha version (under development) using SDK 2.2.2
- xxx_core_260_sdk3_alpha -> core 2.6.0 alpha version (under development) using SDK 3.0.0-dev (under development too)
Chip can be:
- ESP8266 => Most likely option
@@ -31,13 +35,28 @@ Chip can be:
- ESP32 => Experimental support at this moment
MemorySize can be:
- 1024 => 1 MB flash modules (e.g. almost all Sonoff modules)
- 2048 => 2 MB flash modules (e.g. Shelly1/WROOM02)
- 4096 => 4 MB flash modules (e.g. NodeMCU/ESP32)
- 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)
ESP32 now has 2 builds:
- esp32dev Using the default partition layout (1.4 MB for the sketch)
- esp32test_1M8_partition Larger sketch partition (1.8MB) smaller SPIFFS (316 kB)
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.
ESP32 now has 3 builds:
- esp32test_4M316k Larger sketch partition (1.8MB) smaller SPIFFS (316 kB)
- esp-wrover-kit_test_4M316k A build for ESP32 including build flags for the official WRover test kit.
Please note that changing between those versions will destroy the settings!
The SPIFFS partition will be lost and that contains all settings.
@@ -47,6 +66,7 @@ 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.
+1345
View File
File diff suppressed because it is too large Load Diff
+1
View File
File diff suppressed because one or more lines are too long
+28 -12
View File
@@ -1,18 +1,34 @@
{"ESP_Easy_info":[
{
"MessageTitle":"Test1",
"MessageBody":"",
"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":"",
"MessageColor":"",
"MessageDate":"2018-12-12"
"MessageWriter":"Grovkillen",
"MessageColorBG":"",
"MessageColorFont":"",
"MessageDate":"2019-01-07",
"MessageType":"general",
"MessageLink1text":"Patreon",
"MessageLink1":"",
"MessageLink2text":"Ko-Fi",
"MessageLink2":"",
"MessageLink3text":"Paypal",
"MessageLink3":""
},{
"MessageTitle":"Test2",
"MessageBody":"",
"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":"",
"MessageColor":"",
"MessageDate":"2018-12-10"
"MessageWriter":"Grovkillen",
"MessageColorBG":"",
"MessageColorFont":"",
"MessageDate":"2019-01-06",
"MessageType":"mega",
"MessageLink1text":"",
"MessageLink1":"",
"MessageLink2text":"",
"MessageLink2":"",
"MessageLink3text":"",
"MessageLink3":""
}
]
}
]
}
+1 -1
View File
@@ -1,3 +1,3 @@
recommonmark==0.4.0
Sphinx==1.8.2
Sphinx==1.8.4
sphinx-bootstrap-theme==0.6.5
Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

+54 -2
View File
@@ -23,7 +23,7 @@ Maintainer: |C013_maintainer|
Change log
----------
.. versionchanged:: 2.0
.. versionchanged:: 2.0
...
|improved|
@@ -61,6 +61,58 @@ 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.
* 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
---------------------
@@ -259,5 +311,5 @@ This allows to:
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).
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:: html
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
-----------
+157
View File
@@ -0,0 +1,157 @@
.. 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
-------------------
+12 -1
View File
@@ -32,6 +32,10 @@ Controller Plugins
":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
@@ -57,8 +61,12 @@ before WiFi connection is made or during lost connection.
- **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.
- **Client Timeout** - Timeout in msec for an network connection used by the controller.
- **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.
Sample ThingSpeak configuration
@@ -71,6 +79,7 @@ ThingSpeak only allows a message every 15 seconds for the free accounts.
- **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)
@@ -88,3 +97,5 @@ MQTT related settings
- **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)
@@ -45,9 +45,9 @@
.. |C004_maintainer| replace:: `.`
.. |C004_compileinfo| replace:: `.`
.. |C005_name| replace:: :cyan:`OpenHAB MQTT`
.. |C005_name| replace:: :cyan:`Home Assistant (openHAB) MQTT`
.. |C005_type| replace:: :cyan:`Controller`
.. |C005_typename| replace:: :cyan:`Controller - OpenHAB MQTT`
.. |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
@@ -141,5 +141,49 @@
.. _C013_github: https://github.com/letscontrolit/ESPEasy/blob/mega/src/_C013.ino
.. |C013_usedby| replace:: `.`
.. |C013_shortinfo| replace:: `.`
.. |C013_maintainer| 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:: `.`
+10
View File
@@ -33,3 +33,13 @@ 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,65 @@
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)
* ``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.
* ``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.
* ``pre_custom_esp32.py`` Python helper script for building custom ESP32 binary
* ``pre_extra_script.py`` Python helper script for building custom ESP8266 binary
* ``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.
* ``crc2.py`` Python script used during nightly build to include the environment name in the build and compute checksums.
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.
+7
View File
@@ -19,6 +19,8 @@ GitHub: |P000_github|_
Maintainer: |P000_maintainer|
Used libraries: |P000_usedlibraries|
Supported hardware
------------------
@@ -31,6 +33,11 @@ Commands available
.. include:: P001_commands_GPIO.repl
.. include:: P001_commands_RTTTL.repl
.. Events
.. ~~~~~~
.. .. include:: P000_events.repl
Change log
----------
+6
View File
@@ -16,6 +16,12 @@
``IP,<IP address>``"
"
Let","
:red:`Internal`","
Set the value of n (1..16).
``Let,<n>,<value>``"
"
LogEntry","
:red:`Internal`","
Add string to log
+258
View File
@@ -0,0 +1,258 @@
.. csv-table::
:header: "Event", "Example"
:widths: 30, 20
"
``<taskname>#<valuename>``
As described already, each task can produced one or more events, one for each measured value. You should not name your devices and value names so that the combination equals to any of the below listed system events!
","
.. code-block:: html
on DHT11Outside#Temperature>20 do
GPIO,2,1
endon
"
"
``System#Wake``
Triggered after power on.
","
.. code-block:: html
on System#Wake do
GPIO,15,1
endon
"
"
``System#Boot``
Triggered at boot time.
","
.. code-block:: html
on System#Boot do
GPIO,2,1
timerSet,1,30
endon
"
"
``System#Sleep``
Triggered just before the ESP goes to deep sleep.
","
.. code-block:: html
on System#Sleep do
GPIO,2,0
endon
"
"
``MQTT#Connected``
Triggered when the ESP has connected to broker.
","
.. code-block:: html
on MQTT#Connected do
Publish,%sysname%/status,First message!
endon
"
"
``MQTT#Disconnected``
Triggered when the ESP has disconnected from the broker.
","
.. code-block:: html
on MQTT#Disconnected do
Reboot
endon
"
"
``MQTTimport#Connected``
Triggered when the ESP has connected to broker (the MQTT Import plugin uses a separate connection than the generic one).
","
.. code-block:: html
on MQTTimport#Connected do
Publish,%sysname%/status,MQTT Import is now operational
endon
"
"
``MQTTimport#Disconnected``
Triggered when the ESP has disconnected from the broker (the MQTT Import plugin uses a separate connection than the generic one).
","
.. code-block:: html
on MQTTimport#Disconnected do
Reboot
endon
"
"
``WiFi#Connected``
Triggered when the ESP has connected to Wi-Fi.
","
.. code-block:: html
on WiFi#Connected do
SendToHTTP,url.com,80,/report.php?hash=123abc456&t=[temp2#out]
endon
"
"
``WiFi#ChangedAccesspoint``
Triggered when the ESP has changed to access point, will also trigger first time the unit connects to the Wi-Fi.
","
.. code-block:: html
on WiFi#ChangedAccesspoint do
Publish,%sysname%/status,AP changed
endon
"
"
``WiFi#ChangedWiFichannel``
Triggered when the ESP is connected to the AP on a different channel, will also trigger first time the unit connects to the Wi-Fi.
This has been added in build mega-20190910
","
.. code-block:: html
on WiFi#ChangedWiFichannel do
Publish,%sysname%/status,channel changed
endon
"
"
``WiFi#APmodeEnabled``
Triggered when the ESP has set the AP mode (access point) active.
This may happen when no valid WiFi settings are found or the ESP cannot connect to the set AP, but it can also be enabled via some command.
N.B. Sending a publish command may not be very useful on this event, since this will mainly happen when there is no WiFi connection.
","
.. code-block:: html
on WiFi#APmodeEnabled do
... // Some command
endon
"
"
``WiFi#APmodeDisabled``
Triggered when the ESP has disabled the AP mode (access point).
This can happen some time (default 60 seconds) after a WiFi connection has been made. Or disabled using some command.
","
.. code-block:: html
on WiFi#APmodeDisabled do
Publish,%sysname%/status,AP disabled
endon
"
"
``Login#Failed``
Triggered when (someone) has tried to login to a ESP unit with admin password enabled, but have failed to enter correct password.
","
.. code-block:: html
on Login#Failed do
Publish,%sysname%/warning,Intruder alert!
endon
"
"
``Time#Initialized``
Triggered the first time (after boot) NTP is updating the unit.
","
.. code-block:: html
on Time#Initialized do
Publish,%sysname%/Time,%systime%
endon
"
"
``Time#Set``
Triggered when the time is set by an update from NTP.
","
.. code-block:: html
on Time#Set do
Publish,%sysname%/Time,%systime%
Publish,%sysname%/NTP,Updated time at: %systime%
endon
"
"
``Rules#Timer=``
As described already, triggered when a rules timer ends (setting a timer to 0 will disable the timer).
","
.. code-block:: html
on Rules#Timer=1 do
GPIO,2,1
endon
"
"
``Clock#Time=``
Triggered every minute with day and time like: Mon,12:30 or Tue,14:45. You can define triggers on specific days or all days using 'All' for days indicator. You can also use wildcards in the time setting like All,**:00 to run every hour.
","
.. code-block:: html
on Clock#Time=All,12:00 do //will run once a day at noon
GPIO,2,1
endon
on Clock#Time=All,**:30 do //will run half past every hour
GPIO,2,1
endon
on Clock#Time=All,%sunrise% do //will run at sunrise (%sunset% is also available)
GPIO,2,1
endon
"
"
``GPIO#N``
If the command 'Monitor' is used to monitor a given pin you will receive an event for that GPIO as soon as it's state changes. As seen in the example you can always use the square brackets together with the task/value name of ``Plugin#GPIO#Pinstate#N`` to get the state, but to trigger events you need to add the monitor command (preferably at boot).
","
.. code-block:: html
on System#Boot do
Monitor GPIO,15
endon
on GPIO#15=0 do
if [Plugin#GPIO#Pinstate#13]=0
// do something
endif
endon
on GPIO#15=1 do
if [Plugin#GPIO#Pinstate#13]=1
// do something
endif
endon
"
+8
View File
@@ -31,6 +31,11 @@ Commands available
.. include:: P001_commands_GPIO.repl
.. include:: P001_commands_RTTTL.repl
.. Events
.. ~~~~~~
.. .. include:: PXXX_events.repl
Change log
----------
@@ -40,6 +45,9 @@ Change log
|added|
Major overhaul for 2.0 release.
|improved|
2019/02/26 Changed default name of value from "Switch" to "State".
.. versionadded:: 1.0
...
+17 -1
View File
@@ -31,7 +31,7 @@ Supported hardware: |P000_usedby_GPIO|
GPIO: 0 ... 16
","
**Toggle on/off.**.
**Toggle on/off.**.
Toggle the current (output) state of the given GPIO pin.
This will only be executed on pins set to be in output mode.
"
@@ -116,3 +116,19 @@ Supported hardware: |P000_usedby_GPIO|
A position value of 9000 will stop the PWM signal.
This can be useful to save energy on servos which do not need power to remain at the same position.
"
"
``Monitor,<GPIO>``
GPIO: 0 ... 16
","
**To monitor a GPIO state.**
By the use of the command you will receive events when the GPIO state of that pin is changed from 1 to 0 and from 0 to 1.
"
"
``GPIOtoggle,<GPIO>``
GPIO: 0 ... 16
","
**To toggle a GPIO state.**
With this command you can change the given state of a pin from either 1 to 0 or from 0 to 1.
"
+6 -1
View File
@@ -19,6 +19,7 @@ GitHub: |P002_github|_
Maintainer: |P002_maintainer|
Used libraries: |P002_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P002_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P002_events.repl
Change log
----------
@@ -44,4 +50,3 @@ Change log
|added|
Initial release version.
+6 -1
View File
@@ -19,6 +19,7 @@ GitHub: |P003_github|_
Maintainer: |P003_maintainer|
Used libraries: |P003_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P003_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P003_events.repl
Change log
----------
@@ -46,4 +52,3 @@ Change log
Initial release version.
+6 -1
View File
@@ -19,6 +19,7 @@ GitHub: |P004_github|_
Maintainer: |P004_maintainer|
Used libraries: |P004_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P004_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P004_events.repl
Change log
----------
@@ -46,4 +52,3 @@ Change log
Initial release version.
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P005_github|_
Maintainer: |P005_maintainer|
Used libraries: |P005_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P005_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P005_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P006_github|_
Maintainer: |P006_maintainer|
Used libraries: |P006_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P006_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P006_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P007_github|_
Maintainer: |P007_maintainer|
Used libraries: |P007_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P007_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P007_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P008_github|_
Maintainer: |P008_maintainer|
Used libraries: |P008_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P008_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P008_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P009_github|_
Maintainer: |P009_maintainer|
Used libraries: |P009_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P009_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P009_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P010_github|_
Maintainer: |P010_maintainer|
Used libraries: |P010_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P010_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P010_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P011_github|_
Maintainer: |P011_maintainer|
Used libraries: |P011_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P011_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P011_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P012_github|_
Maintainer: |P012_maintainer|
Used libraries: |P012_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P012_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P012_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P013_github|_
Maintainer: |P013_maintainer|
Used libraries: |P013_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P013_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P013_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P014_github|_
Maintainer: |P014_maintainer|
Used libraries: |P014_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P014_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P014_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P015_github|_
Maintainer: |P015_maintainer|
Used libraries: |P015_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P015_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P015_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

+129
View File
@@ -0,0 +1,129 @@
.. include:: ../Plugin/_plugin_substitutions_p01x.repl
.. _P015_TSL2561_page:
TSL2561
=======
|P015_typename|
|P015_status|
.. image:: P015_TSL2561_1.jpg
Introduction
------------
The TSL2561 are light-to-digital converters that transform light intensity to a digital
signal output. First targeted to accompany LCD and OLED displays in order to dim them
if the ambient light is lower, making the battery life better for the unit its a part of.
The unit can also be found in illuminated keyboards and digital cameras.
The TSL2561 sensor is a luminosity sensor. It's spectral sensitivity approximately meets
the human eye sensitivity. The gain of the sensor can be set to a 16x gain mode with the settings.
It is connected to the ESP via I²C so connecting even with several sensors and a display is easy to do.
Specifications:
* Output: 0.1 - 40 000+ Lux
* Temperature (-30 to +70C but best readings between +5 to +50C)
* Humidity (0 - 60 % rel. humidity)
Wiring
------
.. image:: P015_TSL2561_2.jpg
.. code-block:: html
ESP TSL2561
GPIO (5) <--> SCL
GPIO (4) <--> SDA
ADDR (not used = 0x39)
Power
3.3V <--> VCC
GND <--> GND
The ADDR pin can be used if you have an i2c address conflict, to change the address.
Connect it to GND to set the address to 0x29.
Connect it to VCC (3.3V) to set the address to 0x49.
Leave it floating (unconnected) to use address 0x39.
Some boards have soldering pads or jumper selectors for the ADDR.
.. image:: P015_TSL2561_wiring_1.jpg
Setup
-----
.. image:: P015_Setup_TSL2561_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **Light**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **I2C Address**: Default 0x39 is used.
* **Integration time**: 13 msec is the default, works in normal lit areas. Increase the integration time for low light areas, it will collect light longer if set to longer time.
* **Send sensor to sleep**: Have it checked in order to save the unit from wear, especially good if you do measurements with long intervals in between.
* **Enable 16x Gain**: Have it checked in order to get higher readings in low light areas.
Data acquisition
^^^^^^^^^^^^^^^^
* **Send to controller** 1..3: Check which controller (if any) you want to publish to. All or no controller can be used.
* **Interval**: How often should the task publish its value (5..15 seconds is normal).
Indicators (recommended settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"Visible light", "VI_Lux", "10", "0", "In normal lit areas you probably don't need a decimal."
"Infrared light", "IR_Lux", "10", "0", "Light not visible to humans but felt in some cases, used in dry saunas and patio heating etc."
"Broadband light", "BR_Lux", "10", "0", "Visible or near visible light that is felt, used in skin treatments etc."
Rules examples
--------------
.. code-block:: html
on Light#VI_Lux do
if Light#VI_Lux>100
Publish,%sysname%/light,Is on
else
Publish,%sysname%/light,Is off
endif
endon
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
.. .. include:: P015_commands.repl
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/1Cehi80>`_"
"Banggood","`Link 2 ($) <https://www.banggood.com/custlink/33GDYjRHyC>`_"
"eBay","`Link 3 ($) <https://rover.ebay.com/rover/1/711-53200-19255-0/1?icep_id=114&ipn=icep&toolid=20004&campid=5338336929&mpre=https%3A%2F%2Fwww.ebay.com%2Fsch%2Fi.html%3F_from%3DR40%26_trksid%3Dm570.l1313%26_nkw%3Dtsl2561%26_sacat%3D0>`_"
|affiliate|
.. More pictures
.. -------------
.. .. image:: P015_TSL2561_X.jpg
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

+8
View File
@@ -19,6 +19,7 @@ GitHub: |P016_github|_
Maintainer: |P016_maintainer|
Used libraries: |P016_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P016_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P016_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P017_github|_
Maintainer: |P017_maintainer|
Used libraries: |P017_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P017_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P017_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P018_github|_
Maintainer: |P018_maintainer|
Used libraries: |P018_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P018_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P018_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P019_github|_
Maintainer: |P019_maintainer|
Used libraries: |P019_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P019_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P019_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P020_github|_
Maintainer: |P020_maintainer|
Used libraries: |P020_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P020_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P020_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P021_github|_
Maintainer: |P021_maintainer|
Used libraries: |P021_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P021_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P021_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P022_github|_
Maintainer: |P022_maintainer|
Used libraries: |P022_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P022_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P022_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P023_github|_
Maintainer: |P023_maintainer|
Used libraries: |P023_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P023_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P023_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P024_github|_
Maintainer: |P024_maintainer|
Used libraries: |P024_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P024_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P024_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P025_github|_
Maintainer: |P025_maintainer|
Used libraries: |P025_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P025_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P025_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P026_github|_
Maintainer: |P026_maintainer|
Used libraries: |P026_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P026_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P026_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P027_github|_
Maintainer: |P027_maintainer|
Used libraries: |P027_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P027_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P027_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P028_github|_
Maintainer: |P028_maintainer|
Used libraries: |P028_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P028_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P028_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P029_github|_
Maintainer: |P029_maintainer|
Used libraries: |P029_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P029_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P029_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P030_github|_
Maintainer: |P030_maintainer|
Used libraries: |P030_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P030_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P030_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P031_github|_
Maintainer: |P031_maintainer|
Used libraries: |P031_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P031_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P031_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+11
View File
@@ -36,6 +36,17 @@ Wiring
Setup
-----
This sensor does not communicate via some standard protocol.
The clock line can be shared with other instances of this plugin in order to
accommodate for more sensors on the same node.
Using long wires can cause a decay of the signal, due to the internal capacitance of the wire.
To overcome this signal attenuation, the clock speed of the signal can be lowered.
For example, a delay of 10 usec can be enough to use 30m CAT6 UTP cable with these sensors.
With a delay of 0, on a 80 MHz ESP8266, the clock signal is about 200 kHz.
With a delay of 10, on the same node, the clock signal is about 40 kHz.
Rules examples
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P032_github|_
Maintainer: |P032_maintainer|
Used libraries: |P032_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P032_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P032_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P033_github|_
Maintainer: |P033_maintainer|
Used libraries: |P033_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P033_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P033_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P034_github|_
Maintainer: |P034_maintainer|
Used libraries: |P034_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P034_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P034_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P035_github|_
Maintainer: |P035_maintainer|
Used libraries: |P035_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P035_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P035_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P036_github|_
Maintainer: |P036_maintainer|
Used libraries: |P036_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P036_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P036_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P037_github|_
Maintainer: |P037_maintainer|
Used libraries: |P037_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P037_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P037_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P038_github|_
Maintainer: |P038_maintainer|
Used libraries: |P038_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P038_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P038_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P039_github|_
Maintainer: |P039_maintainer|
Used libraries: |P039_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P039_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P039_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P040_github|_
Maintainer: |P040_maintainer|
Used libraries: |P040_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P040_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P040_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P041_github|_
Maintainer: |P041_maintainer|
Used libraries: |P041_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P041_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P041_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P042_github|_
Maintainer: |P042_maintainer|
Used libraries: |P042_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P042_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P042_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P043_github|_
Maintainer: |P043_maintainer|
Used libraries: |P043_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P043_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P043_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P044_github|_
Maintainer: |P044_maintainer|
Used libraries: |P044_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P044_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P044_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P045_github|_
Maintainer: |P045_maintainer|
Used libraries: |P045_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P045_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P045_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P046_github|_
Maintainer: |P046_maintainer|
Used libraries: |P046_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P046_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P046_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P047_github|_
Maintainer: |P047_maintainer|
Used libraries: |P047_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P047_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P047_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P048_github|_
Maintainer: |P048_maintainer|
Used libraries: |P048_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P048_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P048_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P049_github|_
Maintainer: |P049_maintainer|
Used libraries: |P049_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P049_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P049_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P050_github|_
Maintainer: |P050_maintainer|
Used libraries: |P050_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P050_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P050_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P051_github|_
Maintainer: |P051_maintainer|
Used libraries: |P051_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P051_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P051_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P052_github|_
Maintainer: |P052_maintainer|
Used libraries: |P052_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Commands available
.. include:: P052_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P052_events.repl
Change log
----------
@@ -44,3 +50,5 @@ Change log
|added|
Initial release version.
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P053_github|_
Maintainer: |P053_maintainer|
Used libraries: |P053_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P053_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P053_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P054_github|_
Maintainer: |P054_maintainer|
Used libraries: |P054_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P054_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P054_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P055_github|_
Maintainer: |P055_maintainer|
Used libraries: |P055_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P055_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P055_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P056_github|_
Maintainer: |P056_maintainer|
Used libraries: |P056_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P056_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P056_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P057_github|_
Maintainer: |P057_maintainer|
Used libraries: |P057_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P057_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P057_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P058_github|_
Maintainer: |P058_maintainer|
Used libraries: |P058_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P058_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P058_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P059_github|_
Maintainer: |P059_maintainer|
Used libraries: |P059_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P059_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P059_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P060_github|_
Maintainer: |P060_maintainer|
Used libraries: |P060_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P060_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P060_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P061_github|_
Maintainer: |P061_maintainer|
Used libraries: |P061_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P061_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P061_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P062_github|_
Maintainer: |P062_maintainer|
Used libraries: |P062_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P062_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P062_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P063_github|_
Maintainer: |P063_maintainer|
Used libraries: |P063_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P063_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P063_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P064_github|_
Maintainer: |P064_maintainer|
Used libraries: |P064_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P064_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P064_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log
+8
View File
@@ -19,6 +19,7 @@ GitHub: |P065_github|_
Maintainer: |P065_maintainer|
Used libraries: |P065_usedlibraries|
Supported hardware
------------------
@@ -30,6 +31,11 @@ Supported hardware
.. .. include:: P065_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P065_events.repl
Change log
----------
@@ -47,3 +53,5 @@ Change log

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