Compare commits

...
Author SHA1 Message Date
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
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
TD-er 62ce776c74 [ESPeasySerial] Make it compile for core 2.4.1 2019-02-12 15:03:19 +01:00
ESPEasy release bot 85515281d6 automatically updated release notes for mega-20190212 2019-02-12 04:00:31 +01:00
TD-er 19ef8eb796 [Build] Rename build files and disable core 2.5.0 builds
Core 2.5.0 is out, but this gives instability issues serving web pages.
For now the builds of core 2.5.0 are not included in the nightly builds until this is fixed.
2019-02-11 23:35:18 +01:00
TD-er 0b64c3d04f [SWserial] Set TX interrupts for 9600 baud
This was the used setting in older versions of SoftwareSerial
2019-02-11 23:33:49 +01:00
Gijs NoorlanderandGitHub 236a0098c2 Merge pull request #2279 from olliwr/mega
Fixed compile errors that occurred when FEATURE_SD is defined.
2019-02-11 21:53:36 +01:00
Gijs NoorlanderandGitHub 749f0b9c55 Merge pull request #2294 from Grovkillen/UpdateDocs
[flasher] fixed unzip bug (unzipped to root instead of bin folder)
2019-02-11 21:52:29 +01:00
Gijs NoorlanderandGitHub f0861ac66f Merge pull request #2137 from chunter1/mega
[DS18B20] 1-wire timings optimized for stability
2019-02-11 21:44:09 +01:00
Grovkillen ab18f25c5e [flasher] old zip's didn't store in "\bin", downloader comply now 2019-02-11 09:15:47 +01:00
TD-er 4cc5eca3f5 [PlatformIO] Core 2.5.0 is no longer beta
Regular platform is still set to 2.4.2, since 2.5.0 causes issues.
2019-02-11 01:00:25 +01:00
TD-er ec345b1dcc [GPS] Fix some uninitialized issues 2019-02-11 00:56:16 +01:00
TD-er 5e798fa3a9 [ESPeasySerial] return -1 as pins on unset serial type 2019-02-11 00:54:34 +01:00
Grovkillen 0260fad1a9 [flasher] fixed HW port name bug 2019-02-08 08:45:33 +01:00
Grovkillen 555f6d2dd8 [flasher] fixed unzip to root, now (correctly) bin folder 2019-02-08 07:40:17 +01:00
GrovkillenandGitHub 128f8e270d Merge pull request #8 from letscontrolit/mega
Update from master
2019-02-08 07:35:44 +01:00
TD-er 8626a130a8 [#2292] HX711: tareChanA command is not case insensitive 2019-02-08 00:15:14 +01:00
TD-er 5b9a87308a [Eastron] Fix compile error 2019-02-05 14:52:52 +01:00
TD-er 3b1dd8f21f [Eastron] Add CRC pass/fail stats to plugin page and allow retries 2019-02-05 14:44:19 +01:00
TD-er 9a05eaf828 [WiFi] Destruct WiFi object when wifi needs to be reset
See https://github.com/esp8266/Arduino/issues/5527#issuecomment-460537616
2019-02-05 14:16:32 +01:00
TD-er 61d4c50db3 [SenseAir] Some more improvements Modbus implementation 2019-02-05 14:15:40 +01:00
TD-er 6290cb42bc [SenseAir] Improvement on Modbus handling
As a preparation for a generic Modbus layer for other plugins too.
2019-02-05 01:26:38 +01:00
TD-er 30d3598684 [Core 2.5.0] Move tag to beta3
See commit: https://github.com/esp8266/Arduino/commit/21db8fc9285d2f548c0123206d53cab059cf3b3d
2019-02-05 00:52:21 +01:00
TD-er 5880c9173d [ESP8266] Do not use default for TX pin
The RX/TX pins are defined in the init. So no need to hand them to the begin function call again and set some default when not used.
This will lead to issues where the TX pin is not working when using HW serial.
2019-02-05 00:24:32 +01:00
TD-er 64b65cca42 [#2254] Make it compile in all core libraries
Linker issue with F() macro.
2019-02-04 20:28:37 +01:00
TD-er 3d507bdbb9 [#2254] Reduce memory usage on MH-Z19 and improve reading stability
Reading the sensor data will now only accept data starting with 0xFF.
This should improve reading stability.

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

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

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

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

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

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

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

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

These will be stopped async:

- Tone > 50 msec duration
- Longpulse and longpulse_ms

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

See: https://github.com/letscontrolit/ESPEasy/issues/2112#issuecomment-443494191
2018-12-02 11:07:52 +01:00
Gijs Noorlander aaae79c8d9 [Memory] Pass String as reference or const reference, not deepcopy
A number of functions was given a String parameter as a deepcopy instead of a (const) reference.
This will use a lot more memory and time, where it isn't needed.
Also those deepcopy actions may fail silently and thus lead to crashes.
2018-12-02 01:25:32 +01:00
Gijs Noorlander 6ae627b32a [Uncrustify] Make rules source code files better readable
Since the `ESPEasyRules.ino` file is newly introduced in this branch, now is the best moment to tidy up the source code.
Also included the used Uncrustify.cfg file.
2018-12-02 00:35:00 +01:00
Gijs Noorlander 8369c330de [Stack] P035_IRTX reduction of memory usage & speed improvement
- Parsed commands or IR codes now only use amount of memory needed, no fixed allocation on the stack.
- Strings passed to functions via const reference instead of deepcopy
- Massive checks for brand name is now done on lower case, to improve speed.
2018-12-02 00:31:57 +01:00
Gijs Noorlander 2290de3c98 [Stack] Optimize GetArgv to only allocate what is needed.
And also only allocate on the heap, not on the stack.
2018-12-01 22:51:43 +01:00
ESPEasy release bot 3f00ef5dde automatically updated release notes for mega-20181201 2018-12-01 04:00:09 +01:00
Gijs Noorlander afeed445ca [Stack] Make IP-address formatting simpler 2018-11-30 22:41:56 +01:00
Gijs Noorlander b76e8b4e8b [Stack] Reduce allocations on stack 2018-11-30 17:32:38 +01:00
chunter1andGitHub dab8c16e05 HX711 load cell plugin now supports dual channel support
Channel A and B can now be used completely independently.
2018-11-30 14:49:33 +01:00
Gijs Noorlander 84a31c0af9 [Rules engine] Set UseOldRulesEngine as default
Changed to use one of the VariousBits in the settingsfile, not adding an extra bit.
2018-11-30 14:13:53 +01:00
Saverio CisterninoandGijs Noorlander bdfa4b7eec Adding flag to settings for switch from old to new rules engine (Default engine old). 2018-11-30 13:51:09 +01:00
Saverio CisterninoandGijs Noorlander 99a77ad343 Fixed ESP32 build 2018-11-30 13:51:09 +01:00
Saverio CisterninoandGijs Noorlander 0b4c605f43 Change menu url from relative to absolute 2018-11-30 13:51:09 +01:00
Saverio CisterninoandGijs Noorlander eabf79be54 Redefine Rules WebUi 2018-11-30 13:51:09 +01:00
Saverio CisterninoandGijs Noorlander b14fe5de32 Added addButton, addFormTextBox overload and addSaveButton, AddDeleteButton functions 2018-11-30 13:51:09 +01:00
Saverio CisterninoandGijs Noorlander ed3d8f5371 implement matching of rule file 2018-11-30 13:51:09 +01:00
Saverio CisterninoandGijs Noorlander 459e103a73 Moved the rules related functions from Misc.ino to ESPEasyRules.ino 2018-11-30 13:51:09 +01:00
Gijs NoorlanderandGitHub c62fab5eec Merge pull request #2110 from TD-er/bugfix/1970_remove_newline_HTTP_header
[#1970] Fix: HTTP Header broken in 'Generic HTTP Advanced' controller
2018-11-30 12:20:04 +01:00
Gijs Noorlander ecba3c79e2 [#1970] Fix: HTTP Header broken in 'Generic HTTP Advanced' controller
Also replaced a number of short strings not to use F() macro to reduce binary footprint.
2018-11-30 11:34:53 +01:00
Gijs Noorlander 5146803833 [Docs] Update to Sphinx 1.8.2 2018-11-30 11:33:34 +01:00
Grovkillen d708a62efe Merge remote-tracking branch 'letscontrolit/mega' into DocumentationUpdate 2018-11-28 14:46:10 +01:00
jimmys01andGitHub a22563e21d Merge pull request #3 from letscontrolit/mega
Merge it
2018-11-20 09:55:41 +02:00
489 changed files with 26845 additions and 8271 deletions
+11 -12
View File
@@ -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/)
+70 -26
View File
@@ -4,6 +4,15 @@ VERSION=$(git describe)
TMP_DIST=`mktemp -d`
CURPATH=`pwd`
while getopts d: option
do
case "${option}"
in
d) VERSION=${OPTARG};;
esac
done
if [ ! -d ${TMP_DIST} ]; then
# Could not create temp dir, so exit
exit 1
@@ -21,36 +30,71 @@ if [ -d "docs/build" ]; then
cp -r docs/build/* ${TMP_DIST}/docs/
fi
for ENV in \
normal_ESP8266_1024 \
normal_ESP8266_4096 \
normal_ESP8285_1024 \
normal_IR_ESP8266_4096 \
normal_core_241_ESP8266_1024 \
normal_core_241_ESP8266_4096 \
test_ESP8266_1024\
test_ESP8266_4096\
test_ESP8266_4096_VCC\
test_ESP8266_1024_VCC\
test_ESP8285_1024\
dev_ESP8266_1024\
dev_ESP8266_4096\
dev_ESP8285_1024\
dev_ESP8266_4M\
esp-wrover-kit_test_1M8_partition\
esp32test_1M8_partition\
hard_SONOFF_POW_4M\
minimal_ESP8266_1024_OTA\
minimal_ESP8285_1024_OTA\
esp32dev\
esp32test_1M8_partition;\
hard_Ventus_W266\
hard_core_250_SONOFF_POW_4M\
hard_core_250_Shelly_1_2M256\
minimal_ESP8266_1M_OTA\
minimal_ESP8285_1M_OTA\
minimal_core_250_ESP8266_1M_OTA\
minimal_core_250_ESP8285_1M_OTA\
normal_ESP8266_1M\
normal_ESP8266_1M_VCC\
normal_ESP8266_4M\
normal_ESP8285_1M\
normal_IR_ESP8266_1M\
normal_IR_ESP8266_4M\
normal_WROOM02_2M\
normal_core_241_ESP8266_1M\
normal_core_241_ESP8266_4M\
normal_core_242_ESP8266_1M\
normal_core_250_ESP8266_1M\
normal_core_250_ESP8266_4M\
normal_core_250_IR_ESP8266_4M\
normal_core_250_WROOM02_2M256\
test_ESP8266_4M_VCC\
test_core_242_ESP8266_4M\
test_core_250_ESP8266_4M\
test_core_260_alpha_ESP8266_4M_VCC\
test_core_260_sdk2_alpha_ESP8266_4M\
test_core_260_sdk3_alpha_ESP8266_4M;\
do
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"
done
MAX_FILESIZE=1044464
if [[ ${ENV} == *"1024"* ]]; then
# max 602 kiB
MAX_FILESIZE=892912
fi
if [[ ${ENV} == *"1024_OTA"* ]]; then
# max 602 kiB
MAX_FILESIZE=616448
fi
if [[ ${ENV} == *"esp32"* ]]; then
MAX_FILESIZE=1310720
fi
if [[ ${ENV} == *"1M8_partition"* ]]; then
MAX_FILESIZE=1900544
fi
if [[ ${ENV} == *"core_250"* ]]; then
# disable core 250 for now, since it is buggy (20180211)
MAX_FILESIZE=0
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"
else
echo "Build too large for $ENV $FILESIZE > $MAX_FILESIZE "
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
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
+15 -5
View File
@@ -22,8 +22,11 @@ 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_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 +34,19 @@ 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)
ESP32 now has 2 builds:
Special memory partitioning:
- 2M256 => 2 MB flash modules (e.g. Shelly1/WROOM02) with 256k SPIFFS (only core 2.5.0 or newer)
- 1M8_partition => For ESP32 with 4MB flash, sketch size is set to 1.8 MByte (default: 1.4 MByte)
ESP32 now has 3 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)
- esp-wrover-kit_test_1M8_partition 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.
@@ -60,6 +69,7 @@ too small you can experiment with the "Pixels Per Inch" variable in the
application will try to find the most optimal value by default. Sometimes it fails to
do that. More information about the tool is found here:
https://github.com/Grovkillen/ESP_Easy_Flasher
You can also have custom serial commands entered in a txt file. One command per line.
Further reading:
For more information, see: https://github.com/letscontrolit/ESPEasy
+592 -1
View File
@@ -1,3 +1,594 @@
-------------------------------------------------
Changes in release mega-20190225 (since mega-20190219)
-------------------------------------------------
Release date: Mon Feb 25 04:00:17 CET 2019
TD-er (8):
[Nextion] Cleanup of plugin after moving to serial wrapper
[Minimal OTA] Remove JSON handles for new UI from minimal build
[Minimal OTA] Handling '/' was lost in last fix.
[HLW8012] Fix crash when saving settings (#2251)
[MH-Z19] Reset/re-init sensor when unknown response received
[Sphinx docs] Some small doc build fixes
[Build] Use PlatformIO Espressif8266@2.0.1 (core 2.5.0)
[Minimal OTA] F() macros were lost in last fix.
-------------------------------------------------
Changes in release mega-20190219 (since mega-20190218)
-------------------------------------------------
Release date: Tue Feb 19 04:00:16 CET 2019
TD-er (1):
[build] Fix ESP32 build issues for #2326
ppisljar (5):
updating sysinfo json endpoint
adding new ui download button
fixing download ui button
fixing json numbers
always use string in json
-------------------------------------------------
Changes in release mega-20190218 (since mega-20190216)
-------------------------------------------------
Release date: Mon Feb 18 04:00:07 CET 2019
Peter Pisljar (1):
p2p node list json endpoint (#2323)
TD-er (2):
[ESP32dev] Disable ESP32dev build due to space constraints
[bugfix] Load old webpage when no index.htm present and no SD support
ppisljar (10):
adding upload json endpoint
digest auth
factory reset json endpoint
load index.htm if it exists
add support for serving gziped files
typo
fixing
adding support for index.htm.gz
fixing index.htm serving
adding sysinfo json endpoint
-------------------------------------------------
Changes in release mega-20190216 (since mega-20190215)
-------------------------------------------------
Release date: Sat Feb 16 04:00:15 CET 2019
Gijs Noorlander (1):
[#2286] Missing build normal_IR_ESP8266_1024
-------------------------------------------------
Changes in release mega-20190215 (since mega-20190212)
-------------------------------------------------
Release date: Fri Feb 15 04:00:16 CET 2019
Grovkillen (9):
[docs] ThingSpeak (must check acknowledge)
[docs] P015 TSL2561 added
[docs] Rules (Let used in filters)
[docs] Rules (fixed error in syntax)
[docs] P082 added screenshot
[docs] event+commands for GPIO#N + Monitor added
[docs] added GPIOtoggle command
[docs] fixed error in event list
[docs] upgraded to Sphinx 1.8.4
TD-er (71):
[Nextion] Reduce memory usage when not active
[p073_7DGT] Reduce memory usage of 7-segment display plugin
[memory] Reduce memory usage of p070_NeoPixelClock when not enabled
[memory] Reduce memory of P082_GPS and P068_SHT3x when not enabled
[memory] P077_CSE7766 Use Plugin_task_data array
[memory] P075_Nextion Use Plugin_task_data array
[memory] P074_TSL2591 Use Plugin_task_data array
[memory] P073_7DGT Use Plugin_task_data array
[memory] P070_NeoPixel_Clock Use Plugin_task_data array
[memory] P046_VentusW266 Use member data struct
[memory] P045_MPU6050 Use Plugin_task_data array
[memory] Change pointer checks to compare with nullptr
[memory] P044_P1WiFiGateway Use Plugin_task_data array and String as buffer
[memory] Shared code to select Serial Config (8N1 etc)
[memory] P020_Ser2Net Use Plugin_task_data array
[ESP32] Change P002_ADC range to 4095 for ESP32
[Settings] Added check for offset on last member of struct
[TinyGPS++] Added GSA and GSV sentences to get satellite ID & SNR
[GPS] Use GSV and GSA sentences to view satellite ID and SNR
[PlatformIO] Allow building ESP32 espressif32@1.6.0
[PubSubClient] Increase MQTT_MAX_PACKET_SIZE from 384 to 1024
[GPS] Improve displayed satellite stats
[WiFi] Allow force to B/G to improve WiFi stability.
[WiFi] Correct fall-back when B/G only mode cannot connect
Moved testing plugins to test builds & added safety docs for power sensors
[WiFi] Add option to set wifi off and restart wifi when connection lost
[Nextion] Reduce memory usage when not active
[p073_7DGT] Reduce memory usage of 7-segment display plugin
[memory] Reduce memory usage of p070_NeoPixelClock when not enabled
[memory] Reduce memory of P082_GPS and P068_SHT3x when not enabled
[memory] P077_CSE7766 Use Plugin_task_data array
[memory] P075_Nextion Use Plugin_task_data array
[memory] P074_TSL2591 Use Plugin_task_data array
[memory] P073_7DGT Use Plugin_task_data array
[memory] P070_NeoPixel_Clock Use Plugin_task_data array
[memory] P046_VentusW266 Use member data struct
[memory] P045_MPU6050 Use Plugin_task_data array
[memory] Change pointer checks to compare with nullptr
[memory] P044_P1WiFiGateway Use Plugin_task_data array and String as buffer
[memory] Shared code to select Serial Config (8N1 etc)
[memory] P020_Ser2Net Use Plugin_task_data array
[ESP32] Change P002_ADC range to 4095 for ESP32
[Settings] Added check for offset on last member of struct
[TinyGPS++] Added GSA and GSV sentences to get satellite ID & SNR
[GPS] Use GSV and GSA sentences to view satellite ID and SNR
[PlatformIO] Allow building ESP32 espressif32@1.6.0
[PubSubClient] Increase MQTT_MAX_PACKET_SIZE from 384 to 1024
[GPS] Improve displayed satellite stats
[WiFi] Allow force to B/G to improve WiFi stability.
[WiFi] Correct fall-back when B/G only mode cannot connect
Moved testing plugins to test builds & added safety docs for power sensors
[WiFi] Add option to set wifi off and restart wifi when connection lost
[#2254] Reduce memory usage on MH-Z19 and improve reading stability
[#2254] Make it compile in all core libraries
[ESP8266] Do not use default for TX pin
[Core 2.5.0] Move tag to beta3
[SenseAir] Improvement on Modbus handling
[SenseAir] Some more improvements Modbus implementation
[WiFi] Destruct WiFi object when wifi needs to be reset
[Eastron] Add CRC pass/fail stats to plugin page and allow retries
[Eastron] Fix compile error
[#2292] HX711: tareChanA command is not case insensitive
[ESPeasySerial] return -1 as pins on unset serial type
[GPS] Fix some uninitialized issues
[PlatformIO] Core 2.5.0 is no longer beta
[SWserial] Set TX interrupts for 9600 baud
[Build] Rename build files and disable core 2.5.0 builds
[ESPeasySerial] Make it compile for core 2.4.1
[Serial wrapper] Fix serial issues (for ESP8266) when using HW serial
1MB build with P035 IR plugins #2286
MQTT Import : A bad clientId is build in case of a reconnect #2298
Victor Antonovich (2):
[WIFI] Fix mDNS startup for log levels below LOG_LEVEL_INFO
[WIFI] Add MDNS.update() for LEAmDNS compatibility
ppisljar (2):
json endpoints
removing unused var
-------------------------------------------------
Changes in release mega-20190212 (since mega-20190202)
-------------------------------------------------
Release date: Tue Feb 12 04:00:31 CET 2019
Grovkillen (3):
[flasher] fixed unzip to root, now (correctly) bin folder
[flasher] fixed HW port name bug
[flasher] old zip's didn't store in "\bin", downloader comply now
chunter1 (1):
1-wire timings optimized for stability
olliwr (3):
Update ESPEasy-Globals.h
Update Command.ino
Update ESPEasy-Globals.h
-------------------------------------------------
Changes in release mega-20190202 (since mega-20190121)
-------------------------------------------------
Release date: Sat Feb 2 04:00:28 CET 2019
Grovkillen (1):
[flasher] fixed empty folder issue
Jonathan Westerholt (1):
fix reset bug for esp32 by casting explicitly, should fix #2242
jimmys01 (6):
Bump up IrRemote Lib to 2.5.4
Add the newest IR protocols to EspEasy
[IRTX] Even more timming Buffer added
[IRTX] Allocate big buffers on the heap for RAW and RAW2 encodings
Update _P035_IRTX.ino
[Controllers] Fix small error in commit #2246
stefan (6):
[1M minimal Size] Undefine graphical meminfodetail
[1M minimal Size] Exclude all debug logs from standard files
[1M minimal Size] Include BUILD_NO_DEBUG in plugin sets
[1M minimal Size] Remove unused variable..
[1M minimal Size] Remove another unused variable..
[1M minimal Size] Exclude debug from minimal Controllers/Plugins
-------------------------------------------------
Changes in release mega-20190121 (since mega-20190116)
-------------------------------------------------
Release date: Mon Jan 21 04:00:15 CET 2019
Eduard Iten (1):
Add code to start periodic transmission if not enough data is received
Gijs Noorlander (1):
[IRTX] mitsubishi_ac not working #2230
jimmys01 (1):
[Condrollers] Solves the 0 Max Queue Depth and Max retries bug after an update
stefan (3):
[WiFi] Some minor changes for WiFi stability
[Wifi] Remove unused variable
[Plugin Sets] Decouple PLUGIN_BUILD_MINIMAL_OTA
-------------------------------------------------
Changes in release mega-20190116 (since mega-20190110)
-------------------------------------------------
Release date: Wed Jan 16 04:00:26 CET 2019
Gijs Noorlander (1):
[WiFi] Disable wifi initialization at boot
Grovkillen (1):
[flasher] fixed API deny error (JSON parse)
-------------------------------------------------
Changes in release mega-20190110 (since mega-20190109)
-------------------------------------------------
Release date: Thu Jan 10 04:00:10 CET 2019
TD-er (4):
[GPS] Reduce memory usage when plugin not active.
[Plugins] Replace long settings names with clear macros
[CSE7766] Reduce memory when plugin not active
[Plugins] Remove redundant includes
-------------------------------------------------
Changes in release mega-20190109 (since mega-20190108)
-------------------------------------------------
Release date: Wed Jan 9 04:00:13 CET 2019
Gijs Noorlander (1):
Compile issue Arduino IDE declare function static
Grovkillen (2):
[dist] deleted the plugin sizes file (obsolete)
[flasher] big update!
-------------------------------------------------
Changes in release mega-20190108 (since mega-20190107)
-------------------------------------------------
Release date: Tue Jan 8 04:00:08 CET 2019
Bartlomiej Zimon (2):
Dallas: perform 1wire reset before issue copy to eeprom command it is small fix for resolution change after sensor reset #2143
Dallas: do not perform eeprom write if configuration does not change
Grovkillen (8):
[docs] fixed used libraries
[docs] added events to all plugin pages
[docs] added "used libraries" to all plugin pages
[docs] moved events to repl file (same as commands)
[docs] added an event reference page (similar to the command ref. page)
[docs] added P082 (GPS) pages
[docs] P082 (GPS) added "where to buy" links
[docs] fixed some syntax
TD-er (1):
[deepSleep] Prevent overflow issues
stefan (4):
[deepSleep] Make deepSleep work again with 2.5.0 and refactor delay var
[deepSleep] only use deepSleepInstant for 2.5.0
[deepSleep] Allow for sleeptimes up to deepSleepMax()
[deepSleep] fix type errors of #999e43a
-------------------------------------------------
Changes in release mega-20190107 (since mega-20190106)
-------------------------------------------------
Release date: Mon Jan 7 04:00:07 CET 2019
CaptainRoot (5):
Update _P076_HLW8012.ino
add predefind pin settings for some energy meter sockets to HLW8012 / BL0937
Revert changes to platformio.ini
Update platformio.ini
movepredefind pin settings to PROGMEM
TD-er (3):
Add new Nodetype RPIEasy #2206
[HLW8012] Fix some issues when selecting device
[HLW8012] Update documentation
-------------------------------------------------
Changes in release mega-20190106 (since mega-20181231)
-------------------------------------------------
Release date: Sun Jan 6 04:00:12 CET 2019
TD-er (29):
[GPS] Add TinyGPSPlus library 1.0.2
[GPS] Improved precision
[GPS] support for fix quality and fix mode
[GPS] New plugin P082 GPS - initial commit
[GPS] Add TinyGPSPlus library 1.0.2
[GPS] Improved precision
[GPS] support for fix quality and fix mode
[GPS] New plugin P082 GPS - initial commit
[GPS] Make helper object to abstract hardware/software serial
[GPS] Extend helper object for abstracting HW/SW serial
[GPS] Serial wrapper support including ESP32
[GPS] typo in JSON file caused build issues
[core 2.3.0] build attempt (failing due to iRAM)
[Serial] Let plugins use new serial wrapper
[WiFi] Set to auto reconnect.
[Serial] Use uniform serial port selector for all serial plugins
[Stability] Add delay(0) to all successful calls to plugin functions
[build] Register ESPeasySerial as library in PlatformIO
[build] Added extra include of ESPeasySerial.h
[#2197] Correct spelling error in 'Controller'
[GPS] Allow GPS to update system time
[ESPEasy Serial] Fix build issues for core 2.4.0
[Puya] Backport core 2.5.0 Puya patch and make patched platform archives
[JavaScript] Simple JS to update view in web interface on change serial
[GPS] Add PPS pin as reference pilot for time sync
[GPS] Add documentation for P082_GPS.ino
[PUYA] Use newest core 2.5.0 backport patch on unpatched sources.
[GPS] Include the GPS docs in the Spinx tree.
[WiFi] Some basic fixes to improve wifi reconnect
-------------------------------------------------
Changes in release mega-20181231 (since mega-20181220)
-------------------------------------------------
Release date: Mon Dec 31 04:00:12 CET 2018
Grovkillen (13):
[docs] P013 added
[docs] P003 added "EndOn"
[docs] P013 syntax fixed
[docs] P024 added
[docs] where used added for P024
[docs] P006 added
[docs] added note to BMP085 and BMP180
[docs] commands updated
[docs] P028 added
[docs] added info about bme/bmp similarities
[travis] -lstdc++-nox removed from esp82xx_2_5_0
[docs] fixed rule syntax typo
[flasher] getting ready for info splash with announcements
Plebs (7):
bugfix for sending event in case of gpio commands
bug fix for state = -1 in JSON
bug fix for gpio events for P009 and P019
fixed string error
optimizing PLUGIN_MONITOR call
fixed esp32 compile failure
optimized monitor call
-------------------------------------------------
Changes in release mega-20181220 (since mega-20181218)
-------------------------------------------------
Release date: Thu Dec 20 04:00:08 CET 2018
Grovkillen (2):
[docs] P005 DHT11 + DHT22 hardware added
[docs] fixed better value name in P003
TD-er (5):
[PUYA] Support for PUYA now in core 2.5.0
[TimingStats] Add timing stats for controllers
[TimingStats] Add handle_schedule() to the timingstats.
[WiFi] Add WiFi#APmodeDisabled & WiFi#APmodeEnabled #2180
[WiFi] Documentation of new WiFi#APmodeEnabled / Disabled events
-------------------------------------------------
Changes in release mega-20181218 (since mega-20181217)
-------------------------------------------------
Release date: Tue Dec 18 04:00:10 CET 2018
Grovkillen (3):
[docs] P003 documented (generic pulse counter)
[docs] P004 (DS18b20) added
[docs] fixed search box on RTD + added HW links in the plugin categories
TD-er (3):
[PUYA] Prepare for upcoming PUYA patch in core library
[Core 2.5.0] Update label to core "2.5.0-beta2"
[Minimal build] Reduce file size of minimal build for 1MB OTA
-------------------------------------------------
Changes in release mega-20181217 (since mega-20181216)
-------------------------------------------------
Release date: Mon Dec 17 04:00:07 CET 2018
Gijs Noorlander (1):
[2M flash] Change 2M128 into 2M256 for 256k SPIFFS
TD-er (1):
[2M flash] Update deploy script to match 2M256 flash layout
-------------------------------------------------
Changes in release mega-20181216 (since mega-20181214)
-------------------------------------------------
Release date: Sun Dec 16 04:00:10 CET 2018
TD-er (1):
[#2162] Restore PlatformIO config for WROOM02 + new 2M128 flash layout
-------------------------------------------------
Changes in release mega-20181214 (since mega-20181208)
-------------------------------------------------
Release date: Fri Dec 14 04:00:19 CET 2018
Gijs Noorlander (18):
[core 2.5.0-beta1] Test build using platformIO
[core 2.5.0-beta1] Allow building against core 2.5.0
[Tools] Set executable bits to scripts
[build] Add option to give a PR number at command line.
[core 2.5.0-beta1] Add core number and disable some 1MB builds
Revert "[GPIO] Move all GPIO commands out of Switch plugin"
Revert "[GPIO] Move "inputswitchstate" back to Switch plugin"
Revert "[GPIO] Add some checks to what GPIO pin can be used."
Revert "[GPIO] GPIO commands with long duration will be stopped async."
Revert GPIO, prepare for easier merge later GPIO fixes
[Rules] Modulo operator '%' only works on int
[core 2.5.0-beta1] Clean up PlatformIO.ini & add some 2.5.0 beta builds
[core 2.5.0-beta1] Update build names in deploy script
Revert "[GPIO] Move all GPIO commands out of Switch plugin"
Revert "[GPIO] Move "inputswitchstate" back to Switch plugin"
Revert "[GPIO] Add some checks to what GPIO pin can be used."
Revert "[GPIO] GPIO commands with long duration will be stopped async."
Revert GPIO, prepare for easier merge later GPIO fixes
Grovkillen (5):
[docs] Up to date with the info before the merge fix on 181207
[docs] fixed the command reference list (looks better on small screens)
[flasher] 0.03.001 new window layout for long file names in dropdown
[flasher] 0.03.002 forgot to add pixel per inch settings (defaulted 144)
[docs] added hardware Ventus W266 (P046)
TD-er (2):
[GPIO] Track output value in plugin overview
[core 2.5.0-beta1] Add core 2.5.0 IR build and normal 1M VCC
-------------------------------------------------
Changes in release mega-20181208 (since mega-20181207)
-------------------------------------------------
Release date: Sat Dec 8 04:00:13 CET 2018
Gijs Noorlander (3):
[#2144] Only include OTA images that fit (<600 k)
[#2144] Extend check for file size of ESP32 images
Max OTA filesize on 1MB = 616448 bytes.
Grovkillen (4):
[docs] added commented references to commands list
[flasher] 0.03.000 added custom serial commands.
Revert "[docs] added commented references to commands list"
[docs] added hardware tSense
-------------------------------------------------
Changes in release mega-20181207 (since mega-20181204)
-------------------------------------------------
Release date: Fri Dec 7 04:00:13 CET 2018
Gijs Noorlander (5):
[GPIO] Move all GPIO commands out of Switch plugin
[GPIO] Move "inputswitchstate" back to Switch plugin
[GPIO] Add GPIO pin description page
[GPIO] Add some checks to what GPIO pin can be used.
[GPIO] GPIO commands with long duration will be stopped async.
Grovkillen (6):
[docs] added phantomJS script to streamline the screenshots
[docs] updated headlines (css) + added P001 hardware
[docs] syntax error fixed.
[docs] P052 sensair S8 hardware page updated
[docs] Test if arrows (unicode) work with RTD
[docs] fixed "ESP Easy" logo margin bug
chunter1 (1):
HX711 load cell plugin now supports dual channel support
wdonker (1):
Update _C002.ino
-------------------------------------------------
Changes in release mega-20181204 (since mega-20181203)
-------------------------------------------------
Release date: Tue Dec 4 04:00:08 CET 2018
Grovkillen (1):
[docs] Added P001 (hardware)
-------------------------------------------------
Changes in release mega-20181203 (since mega-20181201)
-------------------------------------------------
Release date: Mon Dec 3 04:00:11 CET 2018
Gijs Noorlander (13):
[Rules engine] Set UseOldRulesEngine as default
[Stack] Reduce allocations on stack
[Stack] Make IP-address formatting simpler
[Stack] Optimize GetArgv to only allocate what is needed.
[Stack] P035_IRTX reduction of memory usage & speed improvement
[Uncrustify] Make rules source code files better readable
[Memory] Pass String as reference or const reference, not deepcopy
[Rules] GetArgv should clear the return string before filling it
[ESP32] Disable RTOS Multitasking option (multi_heap_poisoning)
[PWM] #2117 PWM stops after about 80 msec in core 2.4.1
[webserver CORS] #2119 Allow commands to be scripted
[HLW8012] Update library to 1.1.1
[HLW8012] Make reading Sonoff POW non blocking ( #2097 )
Saverio Cisternino (7):
Moved the rules related functions from Misc.ino to ESPEasyRules.ino
implement matching of rule file
Added addButton, addFormTextBox overload and addSaveButton, AddDeleteButton functions
Redefine Rules WebUi
Change menu url from relative to absolute
Fixed ESP32 build
Adding flag to settings for switch from old to new rules engine (Default engine old).
-------------------------------------------------
Changes in release mega-20181201 (since mega-20181130)
-------------------------------------------------
Release date: Sat Dec 1 04:00:09 CET 2018
Gijs Noorlander (2):
[Docs] Update to Sphinx 1.8.2
[#1970] Fix: HTTP Header broken in 'Generic HTTP Advanced' controller
-------------------------------------------------
Changes in release mega-20181130 (since mega-20181129)
-------------------------------------------------
@@ -3159,7 +3750,7 @@ Edwin Eefting (1):
Gijs Noorlander (10):
[Issue #831] Use DOUT flash mode (#834)
[#804] Degree symbol for non-framed OLED display (#835)
Blynk controler (re-implementation of PR#92) (#837)
Blynk controller (re-implementation of PR#92) (#837)
[issue #839] Add command support for setting contrast for OLED Framed (#841)
[P001 Switch] Fix a mixup in previous fix for switch (#845)
[v2.0] Fix compile errors on ESP32 (#848)
+34
View File
@@ -0,0 +1,34 @@
{"ESP_Easy_info":[
{
"MessageTitle":"Please support us",
"MessageBody":"We are in need for support. Currently we need to do a whole lot of consulting to keep us floating. If we could get funding for at least 50% of our time we could make a lot more than with our current 10-15%. Ideal would be 100% funding but we're realistic :) <br><br>We will add extra goodies for those who support us through monthly payments using Patreon.<br><br><br>Thanks for your support (from TD-er and Grovkillen)!",
"MessagePicture":"",
"MessageWriter":"Grovkillen",
"MessageColorBG":"",
"MessageColorFont":"",
"MessageDate":"2019-01-07",
"MessageType":"general",
"MessageLink1text":"Patreon",
"MessageLink1":"",
"MessageLink2text":"Ko-Fi",
"MessageLink2":"",
"MessageLink3text":"Paypal",
"MessageLink3":""
},{
"MessageTitle":"First announcement test",
"MessageBody":"We're planning on using the ESP Easy Flasher to push announcements to the users. Hopefully this will work out good and make more people aware of how things are evolving. This will be used as a channel for pretty much anything regarding the prject. Thanks for your support!",
"MessagePicture":"",
"MessageWriter":"Grovkillen",
"MessageColorBG":"",
"MessageColorFont":"",
"MessageDate":"2019-01-06",
"MessageType":"mega",
"MessageLink1text":"",
"MessageLink1":"",
"MessageLink2text":"",
"MessageLink2":"",
"MessageLink3text":"",
"MessageLink3":""
}
]
}
+1 -1
View File
@@ -1,3 +1,3 @@
recommonmark==0.4.0
Sphinx==1.8.1
Sphinx==1.8.4
sphinx-bootstrap-theme==0.6.5
+22
View File
@@ -0,0 +1,22 @@
These scripts are used to render screenshots of the GUI.
We use phantomJS (available on Win/Mac/Linux http://phantomjs.org/quick-start.html)
and you control the script by passing arguments to the JavaScript files:
########## rasterize.js ##########
argument1: url (ampersand & need to be closed with "&")
argument2: output file name (you can use .png or .pdf as output format)
argument3: horisontalXvertical size (OPTIONAL)
argument4: zoom ("entire page" or "window" or <value> OPTIONAL)
....Example CLI....
phantomjs rasterize.js http://95.143.204.227/devices?index=1"&"page=1 P001_Setup_Switch_1.png
or
phantomjs rasterize.js http://95.143.204.227/devices?index=1"&"page=1 P001_Setup_Switch_1.png 1200px 2
WE USE THE SECOND EXAMPLE by default (you might need to change zoomFactor if the page is too big).
If the rendering is not working you can use this CLI (arg --debug=true):
phantomjs --debug=true rasterize.js http://95.143.204.227/devices?index=1"&"page=1 P001_Setup_Switch_1.png 1200px 2
+52
View File
@@ -0,0 +1,52 @@
//removed use strict GROVKILLEN
var page = require('webpage').create(),
system = require('system'),
address, output, size;
if (system.args.length < 3 || system.args.length > 5) {
console.log('Usage: rasterize.js URL filename [paperwidth*paperheight|paperformat] [zoom]');
console.log(' image (png/jpg output) examples: "1920px" entire page, window width 1920px');
console.log(' "800px*600px" window, clipped to 800x600');
phantom.exit(1);
} else {
address = system.args[1];
output = system.args[2];
page.viewportSize = { width: 600, height: 600 };
if (system.args.length > 3 && system.args[2].substr(-4) === ".pdf") {
size = system.args[3].split('*');
page.paperSize = size.length === 2 ? { width: size[0], height: size[1], margin: '0px' }
: { format: system.args[3], orientation: 'portrait', margin: '1cm' };
} else if (system.args.length > 3 && system.args[3].substr(-2) === "px") {
size = system.args[3].split('*');
if (size.length === 2) {
pageWidth = parseInt(size[0], 10);
pageHeight = parseInt(size[1], 10);
page.viewportSize = { width: pageWidth, height: pageHeight };
page.clipRect = { top: 0, left: 0, width: pageWidth, height: pageHeight };
} else {
console.log("size:", system.args[3]);
pageWidth = parseInt(system.args[3], 10);
pageHeight = parseInt(pageWidth * 3/4, 10); // it's as good an assumption as any
console.log ("pageHeight:",pageHeight);
page.viewportSize = { width: pageWidth, height: pageHeight };
}
}
if (system.args.length > 4) {
page.zoomFactor = system.args[4];
}
page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
phantom.exit(1);
} else {
window.setTimeout(function () {
//This is injected because of bug in phantomjs (rendering black background: http://phantomjs.org/tips-and-tricks.html) GROVKILLEN
page.evaluate(function() {
document.body.bgColor = 'white';
});
page.render(output);
phantom.exit();
}, 200);
}
});
}
+1 -1
View File
@@ -259,5 +259,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.
+1
View File
@@ -71,6 +71,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)
+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
+13
View File
@@ -19,12 +19,25 @@ GitHub: |P000_github|_
Maintainer: |P000_maintainer|
Used libraries: |P000_usedlibraries|
Supported hardware
------------------
|P000_usedby_GPIO|, |P000_usedby_RTTTL|
Commands available
------------------
.. include:: P001_commands_GPIO.repl
.. include:: P001_commands_RTTTL.repl
.. Events
.. ~~~~~~
.. .. include:: P000_events.repl
Change log
----------
+2 -1
View File
@@ -1,3 +1,4 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P000_Buzzer_page:
Buzzer (RTTTL)
@@ -88,7 +89,7 @@ No device is needed.
Commands
--------
.. include:: P001_commands_RTTTL.rst
.. include:: P001_commands_RTTTL.repl
Where to buy
------------
@@ -1,3 +1,4 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P000_Piezo_element_page:
Piezo element
@@ -85,7 +86,7 @@ No device is needed.
Commands
--------
.. include:: P001_commands_RTTTL.rst
.. include:: P001_commands_RTTTL.repl
Where to buy
------------
+2 -1
View File
@@ -1,3 +1,4 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P000_Relay_page:
Relay
@@ -223,7 +224,7 @@ No device is needed.
Commands
--------
.. include:: P001_commands_GPIO.rst
.. include:: P001_commands_GPIO.repl
How to connect your relay
-------------------------
+2 -1
View File
@@ -1,3 +1,4 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P000_Servo_motor_page:
Servo motor
@@ -69,7 +70,7 @@ No device is needed.
Commands
--------
.. include:: P001_commands_GPIO.rst
.. include:: P001_commands_GPIO.repl
Where to buy
------------
+2 -1
View File
@@ -1,3 +1,4 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P000_Speaker_page:
Speaker
@@ -85,7 +86,7 @@ No device is needed.
Commands
--------
.. include:: P001_commands_RTTTL.rst
.. include:: P001_commands_RTTTL.repl
Where to buy
------------
@@ -1,169 +1,209 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. csv-table::
:header: "Command", "Class", "Purpose", "Syntax"
:widths: 8, 6, 15, 15
:header: "Command", "Class", "Purpose / Syntax"
:widths: 8, 5, 30
"Debug","
:red:`Internal`","
Change Serial port debug level","
Change Serial port debug level
``Debug,<1-4>``"
"
IP","
:red:`Internal`","
Change IP address","
Change IP address
``IP,<IP address>``"
"
Let","
:red:`Internal`","
Set the value of n (1..16).
``Let,<n>,<value>``"
"
LogEntry","
:red:`Internal`","
Add string to log
``LogEntry,<string>``"
"
Name","
:red:`Internal`","
Set the name of the unit","
Set the name of the unit
``Name,<new name>``"
"
Password","
:red:`Internal`","
Set the password of the unit","
Set the password of the unit
``Password,<new password>``"
"
Reboot","
:red:`Internal`","
Reboot the ESP","
Reboot the ESP
``Reboot``"
"
Reset","
:red:`Internal`","
Reset config to factory default. Caution, all settings will be lost!","
Reset config to factory default. Caution, all settings will be lost!
``Reset``"
"
ResetFlashWriteCounter","
Reset Flash Write Counter","
:red:`Internal`","
Reset flash write to zero.","
Reset flash write to zero.
``ResetFlashWriteCounter``"
"
Rules","
:red:`Internal`","
Rules enabled (1) or rules disabled (0)","
Rules enabled (1) or rules disabled (0)
``Rules,<1/0>``"
"
Save","
:red:`Internal`","
Save config to persistent flash memory","
Save config to persistent flash memory
``Save``"
"
Settings","
:red:`Internal`","
Show settings on serial terminal","
Show settings on serial terminal
``Settings``"
"
TaskClear","
:red:`Internal`","
Delete the given task/device","
Delete the given task/device
``TaskClear,<task/device nr>``"
"
TaskClearAll","
:red:`Internal`","
Delete ALL task/device","
Delete ALL task/device
``TaskClearAll``"
"
TaskRun","
:red:`Internal`","
Run/excecute the given task/device, use to manually force an update/read of the task.","
Run/excecute the given task/device, use to manually force an update/read of the task.
``TaskRun,<task/device nr>``"
"
Unit","
:red:`Internal`","
Set the unit number","
Set the unit number
``Unit,<unit number>``"
"
WifiAPKey","
:red:`Internal`","
Change AP WPA key","
Change AP WPA key
``WifiAPKey,<WPA key>``"
"
WifiAPMode","
:red:`Internal`","
Force the unit into AP mode.","
Force the unit into AP mode.
``WifiAPMode``"
"
WifiConnect","
:red:`Internal`","
Connect to configured wireless network","
Connect to configured wireless network
``WifiConnect``"
"
WifiDisconnect","
:red:`Internal`","
Disconnect from wireless network","
Disconnect from wireless network
``WifiDisconnect``"
"
WifiKey","
:red:`Internal`","
Change WPA key for primary WiFi","
Change WPA key for primary WiFi
``WifiKey,<Wifi WPA key>``"
"
WifiKey2","
:red:`Internal`","
Change WPA key for secondary WiFi","
Change WPA key for secondary WiFi
``WifiKey2,<Wifi WPA key>``"
"
WifiScan","
:red:`Internal`","
Scan Wireless networks","
Scan Wireless networks
``WifiScan``"
"
WifiSSID","
:red:`Internal`","
Change SSID to connect as primary WiFi","
Change SSID to connect as primary WiFi
``WifiSSID,<SSID>``"
"
WifiSSID2","
:red:`Internal`","
Change SSID to connect as secondry WiFi","
Change SSID to connect as secondry WiFi
``WifiSSID2,<SSID>``"
"
Delay","
:green:`Rules`","
Delay rule processing","
Delay rule processing
``Delay,<delay in milliSeconds>``"
"
Publish","
:green:`Rules`","
Send command using MQTT broker service","
Send command using MQTT broker service
``Publish,<topic>,<value>``"
"
SendTo","
:green:`Rules`","
Send command to other ESP (using UDP)","
Send command to other ESP (using UDP)
``SendTo,<unit nr>,<command>``"
"
SendToHTTP","
:green:`Rules`","
Send command to other network device using HTTP
``SendToHTTP,temperatur.nu,80,/rapportera.php?hash=123abc456&t=[temp2#out]``","
``SendToHTTP,<IP address>,<Portnumber>,<command>``
``SendToHTTP,<domain>,<Portnumber>,</url>``"
"
SendToUDP","
:green:`Rules`","
Send command to other network device using UDP (non-ESP Easy units)","
Send command to other network device using UDP (non-ESP Easy units)
``SendToUDP,<IP address>,<Portnumber>,<command>``"
"
TaskValueSet","
:green:`Rules`","
Set values on a **Dummy Task** (device)","
Set values on a **Dummy Task** (device)
``TaskValueSet,<task/device nr>,<value nr>,<value/formula>``"
"
TimerSet","
:green:`Rules`","
Start a timed event ","
Start a timed event
``TimerSet,<timernr>,<timeInSeconds>``
``TimerSet,<timernr>,0`` disables the timer"
"
Event","
:blue:`Special`","
Create an event, it's possible to send a float value along as well.","
Create an event, it's possible to send a float value along as well.
See event syntax below..."
@@ -175,47 +215,50 @@ You can send 0..4 event values along with the event.
.. csv-table::
:header: "Event"
:widths: 100
:header: "Event / Info"
:widths: 1
"
``Event,SingleEvent``
.. code-block:: html
on SingleEvent do
Publish,%sysname%/Info,A single event has been triggered!
endon
The event (triggered by any of the launch ways) will make the unit publish a message.
"
"
``Event,SingleEventValue=123``
**Rules example**
.. code-block:: html
on SingleEventValue do
Publish,%sysname%/Info,An event has been sent (%eventvalue%)!
endon
on SingleEvent do
Publish,%sysname%/Info,A single event has been triggered!
endon
"
"
``Event,SingleValue=123``
The event value ``123`` is intercepted and published.
"
"
``Event,MultipleEventValues=123,456,789,999999``
**Rules example**
.. code-block:: html
on MultipleEventValues do
if %eventvalue4%=9999
Publish,%sysname%/Info,Lets compute %eventvalue1%+%eventvalue2%=[%eventvalue1%+%eventvalue2%]
on SingleValue do
Publish,%sysname%/Info,An event has been sent (%eventvalue%)!
endon
"
"
``Event,Multi=1,2,3,99``
The event value ``99`` (4) is intercepted and the rule ``TaskValueSet...`` is
triggered, value of task 12 value 1 is then ``1 + 2`` = ``3`` or ``1 - 2`` = ``-1``.
**Rules example**
.. code-block:: html
on Multi do
if %eventvalue4%=99
TaskValueSet,12,1,[%eventvalue1%+%eventvalue2%]
else
Publish,%sysname%/Info,Lets compute %eventvalue3%-%eventvalue2%=[%eventvalue3%-%eventvalue2%]
TaskValueSet,12,1,[%eventvalue3%-%eventvalue2%]
endif
endon
The event value ``9999`` (4) is intercepted and the rule ``Publish, ... %eventvalue1%+%eventvalue2%=[%eventvalue1%+%eventvalue2%]`` is
triggered, output payload to MQTT would then be ``Lets compute 123+456=579``
"
+245
View File
@@ -0,0 +1,245 @@
.. 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#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
"
+11
View File
@@ -25,6 +25,17 @@ Supported hardware
|P001_usedby|
Commands available
------------------
.. include:: P001_commands_GPIO.repl
.. include:: P001_commands_RTTTL.repl
.. Events
.. ~~~~~~
.. .. include:: PXXX_events.repl
Change log
----------
+98 -20
View File
@@ -7,33 +7,105 @@ Door switch
|P001_typename|
|P001_status|
.. image:: P001_Door_switch_1.jpg
Introduction
------------
Any door switch module can be used as an digital input. Most none contact door switches use a technology called
reed switch. By using a magnet (the part with no wires) the reed inside the other part (with wires) will connect
the two parts of the reed and making a signal go low or high depending on how you have connected the switch.
You may use it by simply connect it to either a GPIO that is normally high (pull-up) or normally low (pull-down).
Specifications:
* Give a high or low signal to a GPIO
* Power needed: 3.3V (typically)
* Output voltage: same as input (typically)
Wiring
------
.. code-block:: html
ESP S8
GPIO (X) <--> TX
GPIO (X) <--> RX
ESP Door switch
GPIO (X) <--> Signal
Power
5.0V <--> VCC
GND <--> GND
3.3V <--> Signal
or
GND <--> Signal
Setup
-----
.. image:: P001_Setup_Door_switch_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **Door**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **Internal pull-up**: Check if you want to use the internal pull-up of the ESP (not all GPIO pins have this internal pull-up.)
* **Inverse logic**: Sometimes you may want the physical high value to be published as a low value. For example if the button is
triggering a high (1) value when you push it you maybe use it to turn of a LED so the :code:`Switch#State` would then logically be
preferred to be set as 0 and thus used as a variable for controlling that LED. See rules example below.
* **GPIO**: Which GPIO should be used, recommended to not use a latching switch that may set the ESP into flash mode if left
to high/low.
* **Switch type**: Set the switch type to either "Switch" or "Dimmer". Door (reed) switch is a "Switch".
* Switch: The default way of handling a switch is by a on/off button. It's either on (:code:`1`) or off (:code:`0`).
* Dimmer: Not used by door (reed) switches, if you still want to use it you can have a look at the
:ref:`P001_Switch_page` page.
* **Switch button type**: Set the type of switch, "Normal switch", "Push button active low", or "Push button active high".
* Normal switch: This is the general setting to use for a PIR switch.
* Push button active low: Not used by door (reed) switches (in general), if you still want to use it you can have a look at the
:ref:`P001_Switch_page` page.
* **Send boot state**: If checked the unit will publish the switch state when booting. If not checked you may find yourself
with a latching switch caught in limbo. This means that the unit is registering a low/high value but the physical state of
the switch might be the opposite. If you use a mechanical switch that may be physically set to a state you should check this
option.
Advanced event management
^^^^^^^^^^^^^^^^^^^^^^^^^
* **De-bounce (ms)**: How long should the pulse (the time you press the button) be, if set to high you need to have it published
for a longer time before the unit will register it as an state change. You could experiment with this setting to find a good
behavior of the button if you feel that it's not responding according to your preferences.
* **Double click event**: Not used by door (reed) switches (in general), if you still want to use it you can have a look at the
:ref:`P001_Switch_page` page.
* **Double click max interval (ms)**: Same as above..
* **Long press event**: Same as above..
* **Long press min interval (ms)**: Same as above..
* **Use safe button (slower)**: Same as above..
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 (optional for switch plugins).
Indicators/values (recommended settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"State", "State", "0", "N/A", "Usually you just want the state being published when door is actually being opened/closed. If you want a continuous publishing of the state you may use the interval setting to do so."
Rules examples
@@ -41,29 +113,35 @@ Rules examples
.. code-block:: html
//Code below...
on Door#State=1 do
timerSet,1,1
endon
on rules#timer=1 do
if [Door#State]=0
//Action if door is closed
else
//Action if door is opened
endif
endon
Indicators (recommended settings)
---------------------------------
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"XXXXXX", "N/A", "", "", ""
.. .. include:: P001_commands.repl
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:header: "Type", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cg1fhDDI>`_"
"Door switch","`AliExpress 1 ($) <http://s.click.aliexpress.com/e/ccCdXCVi>`_ `Banggood 1 ($) <https://www.banggood.com/search/reed-door.html?p=V3270422659778201806&custlinkid=76099>`_ `eBay 1 ($) <http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575404073&toolid=10001&campid=5338336929&customid=&mpre=https%3A%2F%2Fwww.ebay.com%2Fsch%2Fi.html%3F_odkw%3Ddoor%2Bswitch%26_osacat%3D0%26_from%3DR40%26_trksid%3Dm570.l1313%26_nkw%3Dreed%2Bdoor%26_sacat%3D0>`_"
"Reed switch","`AliExpress 2 ($) <http://s.click.aliexpress.com/e/0gMmOoY>`_ `Banggood 2 ($) <https://www.banggood.com/search/reed-switch.html?p=V3270422659778201806&custlinkid=76096>`_ `eBay 2 ($) <http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=4&pub=5575404073&toolid=10001&campid=5338336929&customid=&mpre=https%3A%2F%2Fwww.ebay.com%2Fsch%2Fi.html%3F_odkw%3Dreed%2Bdoor%26_osacat%3D0%26_from%3DR40%26_trksid%3Dm570.l1313%26_nkw%3Dreed%2Bswitch%26_sacat%3D0>`_"
|affiliate|
More pictures
-------------
.. More pictures
.. -------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 522 KiB

+99 -15
View File
@@ -7,34 +7,111 @@ PIR sensor
|P001_typename|
|P001_status|
.. image:: P001_PIR_sensor_1.jpg
Introduction
------------
A big difference from the regular tactile buttons and a PIR is that a PIR will output a high or low Signal
without someone actually pushing a physical button. The PIR uses a pyro detector which will detect change
in radiated heat. A person or an animal is always radiating some level of heat and when someone enters
the vision of the PIR the amount of heat will change and the PIR will trigger a signal.
Specifications:
* Motion (change in heat)
* Power needed: 5V (typically)
* Output voltage: 3.3V (typically)
.. note::
Some PIR sensor boards have a jumper which will allow you to have the unit send a single pulse when
the motion is detected or send a single repeatedly as long as motion is detected. Good boards also
have a sensitivity adjustment and time delay setting which lets you tweak the way the unit is behaving,
that could be really helpful if the default settings are triggering too much or not enough.
Wiring
------
.. code-block:: html
ESP S8
GPIO (X) <--> TX
GPIO (X) <--> RX
ESP PIR
GPIO (X) <--> I/O or OUT
Power
5.0V <--> VCC
5V <--> VCC
GND <--> GND
Setup
-----
.. image:: P001_Setup_PIR_sensor_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **Motion**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **Internal pull-up**: Check if you want to use the internal pull-up of the ESP (not all GPIO pins have this internal pull-up.)
* **Inverse logic**: Sometimes you may want the physical high value to be published as a low value. For example if the button is
triggering a high (1) value when you push it you maybe use it to turn of a LED so the :code:`Switch#State` would then logically be
preferred to be set as 0 and thus used as a variable for controlling that LED. See rules example below.
* **GPIO**: Which GPIO should be used, recommended to not use a latching switch that may set the ESP into flash mode if left
to high/low.
* **Switch type**: Set the switch type to either "Switch" or "Dimmer". PIR is a "Switch".
* Switch: The default way of handling a switch is by a on/off button. It's either on (:code:`1`) or off (:code:`0`).
* Dimmer: Not used by PIR switches, if you still want to use it you can have a look at the
:ref:`P001_Switch_page` page.
* **Switch button type**: Set the type of switch, "Normal switch", "Push button active low", or "Push button active high".
* Normal switch: This is the general setting to use for a door (reed) switch.
* Push button active low: Not used by PIR switches (in general), if you still want to use it you can have a look at the
:ref:`P001_Switch_page` page.
* **Send boot state**: If checked the unit will publish the switch state when booting. If not checked you may find yourself
with a latching switch caught in limbo. This means that the unit is registering a low/high value but the physical state of
the switch might be the opposite. If you use a mechanical switch that may be physically set to a state you should check this
option.
Advanced event management
^^^^^^^^^^^^^^^^^^^^^^^^^
* **De-bounce (ms)**: How long should the pulse (the time you press the button) be, if set to high you need to have it published
for a longer time before the unit will register it as an state change. You could experiment with this setting to find a good
behavior of the button if you feel that it's not responding according to your preferences.
* **Double click event**: Not used by PIR switches (in general), if you still want to use it you can have a look at the
:ref:`P001_Switch_page` page.
* **Double click max interval (ms)**: Same as above..
* **Long press event**: Same as above..
* **Long press min interval (ms)**: Same as above..
* **Use safe button (slower)**: Same as above..
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 (optional for switch plugins).
Indicators/values (recommended settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"State", "Detection", "0", "N/A", "Usually you just want the state being published when door is actually being opened/closed. If you want a continuous publishing of the state you may use the interval setting to do so."
Rules examples
@@ -42,17 +119,22 @@ Rules examples
.. code-block:: html
//Code below...
on Motion#Detection=1 do
timerSet,1,1
endon
on rules#timer=1 do
if [Motion#Detection]=0
//Action if NO motion is detected
else
//Action if motion is detected
endif
endon
Indicators (recommended settings)
---------------------------------
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"XXXXXX", "N/A", "", "", ""
.. .. include:: P001_commands.repl
Where to buy
------------
@@ -61,7 +143,9 @@ Where to buy
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cg1fhDDI>`_"
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/j0xC1UU>`_"
"Banggood","`Link 2 ($) <https://www.banggood.com/RobotDyn-5V-PIR-Motion-Sensor-Adjustable-Time-Delay-Sensitive-Module-For-Arduino-p-1244536.html?p=V3270422659778201806>`_"
"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%2Fitm%2FNew-HC-SR501-Infrared-PIR-Motion-Sensor-Module-for-Arduino-Raspberry-pi%2F132113984394%3Fepid%3D14013121702%26hash%3Ditem1ec29b6b8a%3Ag%3AkusAAOSwT5xZTInL>`_"
|affiliate|
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

+118 -21
View File
@@ -7,51 +7,143 @@ Switch
|P001_typename|
|P001_status|
.. image:: P001_Switch_1.jpg
Introduction
------------
Any switch module can be used as an digital input. In everyday language the switch is often referred to as a "button".
You may use it by simply connect it to either a GPIO that is normally high (pull-up) or normally low (pull-down). Other
types of switches are door switches (reed switch), sound activated switches and pulse activated switches.
Specifications:
* Give a high or low signal to a GPIO
* Power needed: 3.3V (typically)
* Output voltage: same as input (typically)
Wiring
------
.. code-block:: html
ESP S8
GPIO (X) <--> TX
GPIO (X) <--> RX
ESP Switch/button
GPIO (X) <--> Signal
Power
5.0V <--> VCC
GND <--> GND
3.3V <--> Signal
or
GND <--> Signal
Setup
-----
.. image:: P001_Setup_Switch_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (recommended name **SwitchN**, where N is a number)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **Internal pull-up**: Check if you want to use the internal pull-up of the ESP (not all GPIO pins have this internal pull-up.)
* **Inverse logic**: Sometimes you may want the physical high value to be published as a low value. For example if the button is
triggering a high (1) value when you push it you maybe use it to turn of a LED so the :code:`Switch#State` would then logically be
preferred to be set as 0 and thus used as a variable for controlling that LED. See rules example below.
* **GPIO**: Which GPIO should be used, recommended to not use a latching switch that may set the ESP into flash mode if left
to high/low.
* **Switch type**: Set the switch type to either "Switch" or "Dimmer". Dimmer is used if you have a knob that can be turned and
thus give multiple switch trigger signals.
* Switch: The default way of handling a switch is by a on/off button. It's either on (:code:`1`) or off (:code:`0`).
* Dimmer: If you use the dimmer option you will be able to control the device using a dimmer (knob that can be turned).
The value allowed for dimmers are :code:`0..255` and a new setting is added to the web form (Dim value).
* **Switch button type**: Set the type of switch, "Normal switch", "Push button active low", or "Push button active high".
* Normal switch: If you use a normal switch you should use this (you can always start with this setting).
* Push button active low: If you use a momentary switch you may want the state to be activated when you have it published
and not wait for it to be released. Depending on your setup you can then experiment with the active low / active high
to make it behave as you want.
* Push button active high: See bullet point above.
* **Send boot state**: If checked the unit will publish the switch state when booting. If not checked you may find yourself
with a latching switch caught in limbo. This means that the unit is registering a low/high value but the physical state of
the switch might be the opposite. If you use a mechanical switch that may be physically set to a state you should check this
option.
Advanced event management
^^^^^^^^^^^^^^^^^^^^^^^^^
* **De-bounce (ms)**: How long should the pulse (the time you press the button) be, if set to high you need to have it published
for a longer time before the unit will register it as an state change. You could experiment with this setting to find a good
behavior of the button if you feel that it's not responding according to your preferences.
* **Double click event**: If enabled the unit will detect double clicks which are within the set interval (see below). The double
click event is identified as :code:`Switch#State=3`. There's three options for the double click:
* Active only on low: the double clicks will be counted by how many low signals that is triggered within the set time.
* Active only on high: the double clicks will be counted by how many high signals that is triggered within the set time.
* Active on high & low: the double clicks will be counted by how many high and low signals that is triggered within the set time.
This means that a double click could be registered as a press and release of a button. So not actually double click.
* **Double click max interval (ms)**: This is the interval that you need to perform the double click within.
* **Long press event**: If enabled the unit will detect a long press of a button. There's three different behaviors of the long press:
* Active only on low: this means that the unit will only be triggering the long press event if the signal is low. Two different event
values are used, :code:`10` if the state goes from 0 to 1 (:code:`Switch#State=10`), and :code:`11` if the state goes
from 1 to 0 (:code:`Switch#State=11`).
* Active only on high: same as above but only triggered on high signal.
* Active on high & low: the long press will be triggered both on high and low signals.
* **Long press min interval (ms)**: This is the interval that you need to press the button before the long press event is triggered.
* **Use safe button (slower)**:
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 (optional for switch plugins).
Indicators/values (recommended settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"State", "State", "0", "N/A", "Usually you just want the state being published when an actual push has been happening. If you want a continuous publishing of the state you may use the interval setting to do so."
Rules examples
--------------
.. code-block:: html
//Code below...
on Switch#State do
if [Switch#State]=3
//double click triggered!
GPIO,12,0
else
GPIO,2,[Switch#State]
GPIO,12,1
endif
endon
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
Indicators (recommended settings)
---------------------------------
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"XXXXXX", "N/A", "", "", ""
.. .. include:: P001_commands.repl
Where to buy
------------
@@ -60,10 +152,15 @@ Where to buy
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cg1fhDDI>`_"
"Toggle switch","`AliExpress 1 ($) <http://s.click.aliexpress.com/e/fY7OgXO>`_ `Banggood 1 ($) <https://www.banggood.com/5pcs-12V-Round-Rocker-Toggle-ONOFF-Switch-3-Pins-p-1046835.html?p=V3270422659778201806>`_ `Banggood 2 ($) <https://www.banggood.com/Red-3-Pin-ON-ON-SPDT-Mini-Toggle-Switch-AC-6A125V-3A250V-p-967014.html?p=V3270422659778201806>`_ `eBay 1 ($) <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%3Dtoggle%2Bswitch%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DMomentary%2Bswitch>`_"
"Float switch","`AliExpress 2 ($) <http://s.click.aliexpress.com/e/clw6aFEY>`_ `Banggood 3 ($) <https://www.banggood.com/10W-Black-Side-Mount-Water-Level-Sensor-Controller-Liquid-Float-Switch-p-961256.html?p=V3270422659778201806>`_ `Banggood 4 ($) <https://www.banggood.com/Side-mounted-Liquid-Water-Level-Sensor-Right-Angle-Float-Switch-p-945298.html?p=V3270422659778201806>`_ `eBay 2 ($) <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%3DFloat%2Bswitch%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DMembrane%2Bswitch>`_"
"Membrane switch","`AliExpress 3 ($) <http://s.click.aliexpress.com/e/ZkI1ov6>`_ `Banggood 5 ($) <https://www.banggood.com/4-x-3-Matrix-12-Key-Array-Membrane-Switch-Keypad-Keyboard-For-Arduino-p-87370.html?p=V3270422659778201806>`_ `Banggood 6 ($) <https://www.banggood.com/5Pcs-DC-4-Key-Matrix-Membrane-Switch-Control-Keypad-Keyboard-With-LED-p-965091.html?p=V3270422659778201806>`_ `eBay 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%3DMembrane%2Bswitch%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DCapacitive%2Btouch%2Bswitch>`_"
"Capacitive (touch) switch","`AliExpress 4 ($) <http://s.click.aliexpress.com/e/cMIem1Nq>`_ `Banggood 7 ($) <https://www.banggood.com/TTP223B-Digital-Touch-Sensor-Capacitive-Touch-Switch-Module-For-Arduino-p-1158322.html?p=V3270422659778201806>`_ `Banggood 8 ($) <https://www.banggood.com/Jog-Type-Touch-Sensor-Module-Capacitive-Touch-Switch-Module-p-916212.html?p=V3270422659778201806>`_ `Banggood 9 ($) <https://www.banggood.com/2_7V-6V-HTTM-Series-Capacitive-Touch-Switch-Button-Module-p-1245166.html?p=V3270422659778201806>`_ `eBay 4 ($) <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%3DCapacitive%2Btouch%2Bswitch%26_sacat%3D0>`_"
"Limit switch","`AliExpress 5 ($) <http://s.click.aliexpress.com/e/bWOekFqo>`_ `Banggood 10 ($) <https://www.banggood.com/10Pcs-Micro-Limit-Switch-Roller-Lever-5A-125V-Open-Close-Switch-p-945733.html?p=V3270422659778201806>`_ `Banggood 11 ($) <https://www.banggood.com/10-Types-250VAC-Limit-Switch-IP65-Adjustable-Actuator-Roller-Arm-Rod-Spring-Coil-Endstop-Switch-p-1297617.html?p=V3270422659778201806>`_ `eBay 5 ($) <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%3DLimit%2Bswitch%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DMagnetic%2Breed%2Bswitch>`_"
"Momentary switch","`AliExpress 6 ($) <http://s.click.aliexpress.com/e/bPEYQDfw>`_ `Banggood 12 ($) <https://www.banggood.com/420pcs-14-Types-Momentary-Tact-Tactile-Push-Button-Switch-SMD-Assortment-Kit-Set-p-1154674.html?p=V3270422659778201806>`_ `Banggood 13 ($) <https://www.banggood.com/100-Pcs-Micro-Switch-Tact-Cap-Slim-Cap-Tactile-Push-Button-Switch-Momentary-Tact-p-1277707.html?p=V3270422659778201806>`_ `Banggood 14 ($) <https://www.banggood.com/36V-2A-12mm-Momentary-Push-Button-Switch-LED-Switch-Waterproof-Switch-p-994547.html?p=V3270422659778201806>`_ `eBay 6 ($) <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%3DMomentary%2Bswitch%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DLimit%2Bswitch>`_"
|affiliate|
More pictures
-------------
.. More pictures
.. -------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 942 KiB

+134
View File
@@ -0,0 +1,134 @@
.. These P001 commands should be moved to core (P000)...
:ref:`P000_page` |P000_status|
Supported hardware: |P000_usedby_GPIO|
.. csv-table::
:header: "Command (GPIO/Value)", "Extra information"
:widths: 20, 30
"
``GPIO,<GPIO>,<state>``
GPIO: 0 ... 16
State:
**2** (HIGH-Z, input)
**1** (HIGH, output)
**0** (LOW, output)
","
**Basic on/off.**.
We can control a pin with simple http URL commands. To change the pin to high or low steady output. Setting GPIO to **2** means
that it will be able to detect low level relays (with high impedance, Z).
"
"
``GPIOtoggle,<GPIO>``
GPIO: 0 ... 16
","
**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.
"
"
``LongPulse,<GPIO>,<state>,<duration>``
GPIO: 0 ... 16
State: 1/0
Duration: 1 ... 999 S
","
**To send a *long* pulse to a certain pin.**.
A long pulse is basically the same as the plain pulse. Duration is defined in seconds, which makes it more suitable for longer duration.
This command is not blocking, but will send 2 events to start and stop the pulse. This may have some variation depending on the system load of the module.
Variation is typically up-to 10 msec, but may be up-to a second, depending on active plugins and controllers performing blocking operations.
"
"
``LongPulse_mS,<GPIO>,<state>,<duration>``
GPIO: 0 ... 16
State: 1/0
Duration: 10 ... 15000 msec
","
**To send a *long* pulse to a certain pin.**
A ``LongPulse_mS`` is the same as the regular ``LongPulse``. The only difference is the time base in milliseconds rather than in seconds.
"
"
``Pulse,<GPIO>,<state>,<duration>``
GPIO: 0 ... 16
State: 1/0
Duration: 0 ... 1000 msec
","
**To send a *short* pulse to a certain pin.**
Example to send an active high (1) pulse on GPIO 14 for 500 mSeconds. Pulse duration is in milliseconds. State is 1 or 0.
N.B. this is a blocking call, meaning no other actions will be performed during the pulse.
"
"
``PWM,<GPIO>,<duty>``
``PWM,<GPIO>,<duty>,<duration>``
``PWM,<GPIO>,<duty>,<duration>,<frequency>``
GPIO: 0 ... **15**
Duty: 0 ... 1023
Duration: 100 ... 15000 msec (optional)
Frequency: 100 ... 40000 Hz (optional)
","
**To set a certain PWM level.**
If you have set a certain GPIO to a PWM level and want to use it as a regular HIGH/LOW pin you need to reset by setting the PWM level to 0.
Duration (in msec) parameter will create a fading.
Value of 0 will not set a duration.
Frequency (in Hz) will be set to 1000 Hz when not given.
Frequencies above 30 kHz are not stable and will likely crash the ESP.
"
"
``Servo,<servo>,<GPIO>,<position>``
GPIO: 0 ... **15**
Servo: 1/2
Position: -180 ... 180 (see warning below)
","
**To control a servo motor.**
We currently support a maximum of two servo motors so you can build a pan & tilt device if you like.
.. warning::
Most servos are not able to turn full 360°! Normally the servos are able to go from **-90°** to **90°**, some rare servos do allow for -135° to 135°.
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.
"
-96
View File
@@ -1,96 +0,0 @@
.. include:: _plugin_substitutions_p00x.repl
.. These P001 commands should be moved to core (P000)...
:ref:`P000_page` |P000_status|
Supported hardware: |P000_usedby_GPIO|
.. csv-table::
:header: "Command (GPIO/Value)", "Extra information"
:widths: 20, 30
"
``GPIO,<gpio>,<state>``
GPIO: 0 ... 16
State:
**2** (HIGH-Z)
**1** (HIGH)
**0** (LOW)
","
**Basic on/off.**.
We can control a pin with simple http URL commands. To change the pin to high or low steady output. Setting GPIO to **2** means
that it will be able to detect low level relays (with high impedance, Z).
"
"
``LongPulse,<GPIO>,<state>,<duration>``
GPIO: 0 ... 16
State: 1/0
Duration: 1 ... 999 S
","
**To send a *long* pulse to a certain pin.**.
A long pulse is basically the same as the plain pulse. The only difference is the time base in seconds rather than in milliseconds.
So it's more suitable for longer duration.
"
"
``LongPulse_mS,<GPIO>,<state>,<duration>``
GPIO: 0 ... 16
State: 1/0
Duration: 1000 ... 15000 mS
","
**To send a *long* pulse to a certain pin.**
A long pulse (mS) is the same as the regular long pulse. The only difference is the time base in milliseconds rather than in seconds.
"
"
``Pulse,<GPIO>,<state>,<duration>``
GPIO: 0 ... 16
State: 1/0
Duration: 0 ... 1000 mS
","
**To send a *short* pulse to a certain pin.**
Example to send an active high (1) pulse on GPIO 14 for 500 mSeconds. Pulse duration is in milliseconds. State is 1 or 0.
"
"
``PWM,<GPIO>,<state>``
``PWM,<GPIO>,<state>,<duration>``
GPIO: 0 ... **15**
State: 0 ... 1023
Duration: 100 ... 15000 mS (optional)
","
**To set a certain PWM level.**
If you have set a certain GPIO to a PWM level and want to use it as a regular HIGH/LOW pin you need to reset by setting the PWM level to 0.
You can use the duration (ms) parameter to create a fading.
"
"
``Servo,<servo>,<GPIO>,<position>``
GPIO: 0 ... **15**
Servo: 1/2
Position: -180 ... 180 (see warning below)
","
**To control a servo motor.**
We currently support a maximum of two servo motors so you can build a pan & tilt device if you like.
.. warning::
Most servos are not able to turn full 360°! Normally the servos are able to go from **-90°** to **90°**, some rare servos do allow for -135° to 135°.
"
@@ -0,0 +1,46 @@
.. These P001 commands should be moved to core (P000)...
:ref:`P000_page` |P000_status|
Supported hardware: |P000_usedby_RTTTL| (Ringtones etc.)
.. csv-table::
:header: "Command (GPIO/Value)", "Extra information"
:widths: 20, 30
"
``tone,<gpio>,<tone>,<duration>``
GPIO: 12 ... 16
Tone: 20 ... 13000 Hz
Duration: 100 ... 15000 msec
","
You should try to use GPIO 12...16 since these generally aren't used.
The recommended tone range is 20 Hz ... 13 kHz.
Up-to 40 kHz should be possible to generate, but will be inaudible for humans.
Frequencies above 30 kHz are not stable and will likely crash the ESP.
Duration is set in ms.
N.B. tones with a duration less than 50 msec will be blocking.
Longer duration will use the scheduler, which may cause some fluctuations in the duration.
"
"
``rtttl,<gpio>,<value>``
GPIO: 12 ... 16
Value: d=<duration>,o=<octave>,b=<tempo>,<notes...>
","
You should try to use GPIO 12...16 since these generally aren't used by ESP internal functions.
N.B. Playing a tune is blocking for as long as the tune is playing.
Value can be defined like <name_of_melody:duration,octave,beat,notes....>
For example:
``rtttl,14,test:d=8,o=5,b=180,c6,b,c6,p,g,g-``
`More RTTTL Ringtone Downloads <http://www.picaxe.com/RTTTL-Ringtones-for-Tune-Command/>`_
"
@@ -1,31 +0,0 @@
.. include:: _plugin_substitutions_p00x.repl
.. These P001 commands should be moved to core (P000)...
:ref:`P000_page` |P000_status|
Supported hardware: |P000_usedby_RTTTL| (Ringtones etc.)
.. csv-table::
:header: "Command (GPIO/Value)", "Extra information"
:widths: 20, 30
"
``tone,<gpio>,<tone>,<duration>``
GPIO: 12 ... 16
Tone: 20 ... 13000 Hz
Duration: 100 ... 15000 S
","
You should try to use GPIO 12...16 since these generally aren't used. The recommended tone range is 20...13000 but you could try tones outside this range. Duration is set in ms.
"
"
``rtttl,<gpio>,<value>``
GPIO: 12 ... 16
Value: d=<duration>,o=<octave>,b=<tempo>,<notes...>
","
You should try to use GPIO 12...16 since these generally aren't used by ESP internal functions.
"
+11
View File
@@ -19,12 +19,23 @@ GitHub: |P002_github|_
Maintainer: |P002_maintainer|
Used libraries: |P002_usedlibraries|
Supported hardware
------------------
|P002_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P002_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P002_events.repl
Change log
----------
+13
View File
@@ -19,12 +19,23 @@ GitHub: |P003_github|_
Maintainer: |P003_maintainer|
Used libraries: |P003_usedlibraries|
Supported hardware
------------------
|P003_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P003_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P003_events.repl
Change log
----------
@@ -39,3 +50,5 @@ Change log
|added|
Initial release version.
+107 -19
View File
@@ -7,52 +7,138 @@ LJ12A3
|P003_typename|
|P003_status|
.. image:: P003_LJ12A3_1.jpg
Introduction
------------
The ESP8266 module can be used as a general purpose digital pulse counter device for various digital sensors.
Think about optical sensors with a digital output. To be used for things like gas, water, electricity, door open/close counters, etc.
In this example we will connect an inductive proximity switch (LJ12A3-4-Z/BX).
A LJ12A3-4-Z/BX module can be used in order to detect metal.
For example in your water consumption meter (as seen in picture).
Specifications:
* Inductive proximity sensor
* Detection distance: 4mm
* Working voltage range: 10V-30V
* Dimension: M12x10x55mm
Wiring
------
.. code-block:: html
ESP S8
GPIO (X) <--> TX
GPIO (X) <--> RX
ESP LJ12A3
GPIO (14) <--> Signal (black)
Power
5.0V <--> VCC
GND <--> GND
12V <--> VCC (brown)
GND <--> GND (blue)
.. note:: You need to use a voltage divider to get the signal level down from 12V to 5V.
The LJ12A3-4-Z/BX-**5V** way
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Just buy the 5V version of the proximity sensor and you are good to go.
The resistor way
^^^^^^^^^^^^^^^^
.. image:: P003_LJ12A3_2.png
The 7805 way
^^^^^^^^^^^^
7805 IC specifications:
* Input voltage range 7-35V
* Current rating Ic = 1A
* Output voltage range: Vmax=5.2V, Vmin=4.8V
* Where to buy: `AliExpress ($) <http://s.click.aliexpress.com/e/bmR1wUxq>`_
.. image:: P003_LJ12A3_3.png
.. note:: 7805 is not very efficient and has drop-out voltage problems. A lot of energy is wasted in the form of heat.
Higher the input voltage, less efficient your 7805 will be.
Setup
-----
.. image:: P003_Setup_LJ12A3_1.png
.. danger:: Only task number 1..4 is currently supported for the pulse plugin!
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **WaterMeter**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **GPIO <-- Pulse**: Pulse input is generally set to **GPIO 14 (D5)**.
* **Debounce time**: Debounce time is generally set to **100**.
* **Counter type**: In this example the type is set to **Delta/Total/Time**.
* **Mode type**: Pulse input is generally set to **Falling**
``LOW`` = count when signal go from not low to low (0.8+V to 0.8-V)
``CHANGE`` = count on signal being changed, low to high (0.8-V to 2.4+V) or high to low (2.4+V to 0.8-V)
``RISING`` = count if signal is rising, from low to not low (0.8-V to 0.8+V)
``FALLING`` = count if signal is falling, from high to not high (2.4+V to 2.4-V)
.. warning:: GPIO 16 (D0) is not compatible with pulse counters.
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
"Count", "mL", "5", "2", "Using the formula ``%value%*20*0.1`` to convert the pulse count into liters per minute.
You might have to tweak the value to fit your application, our flow meter gives 0.1L per pulse and since
our interval was set to 5 seconds we have to multiply the value with ``20`` (the reading is done once every
20th of a minute) and also multiply it with ``0.1`` because that is the value in liters (per pulse).
"
"Total", "Total", "N/A", "1", "Total value is the counted pulses since last reboot.
.. note:: Only updated if counter type is set to ``Delta/Total/Time``, ``Total``, or ``Delta/Total``
"
"Time", "Time", "N/A", "0", "Time since last pulse was intercepted, in mSec.
.. note:: Only updated if counter type is set to ``Delta/Total/Time``
"
Rules examples
--------------
.. code-block:: html
//Code below...
On WaterMeter#mL Do
If [WaterMeter#mL]=0
Publish,%sysname%/WaterConsumption/status,No water running
Else
Publish,%sysname%/WaterConsumption/status,Water is being tapped
EndIf
EndOn
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
Indicators (recommended settings)
---------------------------------
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"XXXXXX", "N/A", "", "", ""
.. .. include:: P003_commands.repl
Where to buy
------------
@@ -61,10 +147,12 @@ Where to buy
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cg1fhDDI>`_"
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/1YcZUUo>`_ `Link 2 ($) <http://s.click.aliexpress.com/e/cWBJkHes>`_"
"Banggood","`Link 3 ($) <https://www.banggood.com/LJ12A3-4-ZBY-PNP-DC6-36V-Inductive-Proximity-Sensor-Detection-Switch-p-982679.html?p=V3270422659778201806>`_"
"eBay","`Link 4 ($) <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%3DLJ12A3%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DAnalog%2BPressure%2Bsensor>`_"
|affiliate|
More pictures
-------------
.. More pictures
.. -------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -1,70 +0,0 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P003_Pulse_logic_input_page:
Pulse logic input
=================
|P003_typename|
|P003_status|
Introduction
------------
Specifications:
* General, output as pulse
Wiring
------
.. code-block:: html
ESP S8
GPIO (X) <--> TX
GPIO (X) <--> RX
Power
5.0V <--> VCC
GND <--> GND
Setup
-----
Rules examples
--------------
.. code-block:: html
//Code below...
Indicators (recommended settings)
---------------------------------
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"XXXXXX", "N/A", "", "", ""
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cg1fhDDI>`_"
|affiliate|
More pictures
-------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

+93 -17
View File
@@ -7,10 +7,15 @@ TCR5000
|P003_typename|
|P003_status|
.. image:: P003_TCR5000_1.jpg
Introduction
------------
The ESP8266 module can be used as an general purpose digital pulse counter device for various digital sensors.
Think about optical sensors with a digital output. To be used for things like gas, water, electricity, door open/close counters, etc.
In this example we will connect an optical sensor. Connect the digital output to a GPIO pin on the ESP module.
Specifications:
* IR emitter + phototransistor (for ex. water/electricity meters)
@@ -20,40 +25,92 @@ Specifications:
Wiring
------
.. code-block:: html
ESP S8
GPIO (X) <--> TX
GPIO (X) <--> RX
ESP TCR5000
GPIO (14) <--> S
Power
5.0V <--> VCC
GND <--> GND
5.0V <--> V+
GND <--> G
Setup
-----
.. image:: P003_Setup_TCR5000_1.png
.. danger:: Only task number 1..4 is currently supported for the pulse plugin!
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **PowerMeter**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **GPIO <-- Pulse**: Pulse input is generally set to **GPIO 14 (D5)**.
* **Debounce time**: Debounce time is generally set to **100**.
* **Counter type**: In this example the type is set to **Delta/Total/Time**.
* **Mode type**: Pulse input is generally set to **Falling**
``LOW`` = count when signal go from not low to low (0.8+V to 0.8-V)
``CHANGE`` = count on signal being changed, low to high (0.8-V to 2.4+V) or high to low (2.4+V to 0.8-V)
``RISING`` = count if signal is rising, from low to not low (0.8-V to 0.8+V)
``FALLING`` = count if signal is falling, from high to not high (2.4+V to 2.4-V)
.. warning:: GPIO 16 (D0) is not compatible with pulse counters.
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
"Count", "W", "10", "0", "Using the formula ``%value%*3600/10`` to convert the pulse count into Watts.
You might have to tweak the value to fit your application, our energy meter gives 1Wh per pulse and since
our interval was set to 10 seconds we have to first multiply the value with ``3600`` (3600 seconds per hour) and
also divide that value with ``10`` because we measure the Watt over a time period of 10 seconds (of that hour).
"
"Total", "kWh", "10", "0", "Using the formula ``%value%/1000`` we get the numbers of kWh (1000 Wh = 1 kWh) used since last reboot.
.. note:: Only updated if counter type is set to ``Delta/Total/Time``, ``Total``, or ``Delta/Total``
"
"Time", "Time", "N/A", "0", "Time since last pulse was intercepted, in mSec.
.. note:: Only updated if counter type is set to ``Delta/Total/Time``
"
Rules examples
--------------
.. code-block:: html
//Code below...
On PowerMeter#W Do
If [PowerMeter#W]>1500
NeoPixelAll,255,0,0 //using too much energy!
Else
NeoPixelAll,0,255,0 //good job, low energy consumption
EndIf
EndOn
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
Indicators (recommended settings)
---------------------------------
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"XXXXXX", "N/A", "", "", ""
.. .. include:: P003_commands.repl
Where to buy
------------
@@ -62,10 +119,29 @@ Where to buy
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cg1fhDDI>`_"
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/bo2Sbx4c>`_"
"Banggood","`Link 2 ($) <https://www.banggood.com/TCRT5000-Infrared-Reflective-Switch-IR-Barrier-Line-Track-Sensor-Module-p-1038443.html?p=V3270422659778201806>`_"
"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%3DTCRT5000%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DLJ12A3>`_"
|affiliate|
More pictures
-------------
.. image:: P003_TCR5000_2.gif
A really nice feature of SOME digital pulse counters is the small red led diode which flash for each detected pulse.
Using the adjustment wheel you can fine tune the detection level which makes the device really robust and withstand
unwanted signals from the outside. Turn the wheel until the red led light shines constantly and then turn it back
slowly until it start to detect pulses, this is the level you want to have.
.. image:: P003_TCR5000_3.jpg
.. image:: P003_TCR5000_4.jpg
It is sometimes good to mask the LED used to measure distance/pulses since the reflection could
trigger a pulse.
.. image:: P003_TCR5000_5.jpg
Binary file not shown.

After

Width:  |  Height:  |  Size: 643 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1004 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 898 KiB

+146
View File
@@ -0,0 +1,146 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P003_YFS401_page:
YFS401
======
|P003_typename|
|P003_status|
.. image:: P003_YFS401_1.jpg
Introduction
------------
Just as the ESP may be used with specific pulse counters it may also be used with any generic pulse based unit as long as the pulses are not giving to high voltages.
A generic 5V flow sensor that gives a pulse each complete revolution. You may have to measure what each revolution/pulse means in volume.
The one used in this example is called YF-S401, a 5V unit, which is great to use for watering systems or in this case (pictured) to measure a drainage system.
Specifications:
* General, output as pulse
* Min. working voltage: 4.5V
* Max. working current: 15mA (5V)
* Working voltage range: 5V-12V
* Flow range detectable: approx. 0.3-6L/min
Wiring
------
.. code-block:: html
ESP YFS401
GPIO (14) <--> Signal (yellow)
Power
5.0V <--> VCC (red)
GND <--> GND (black)
Setup
-----
.. image:: P003_Setup_YFS401_1.png
.. danger:: Only task number 1..4 is currently supported for the pulse plugin!
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **WaterMeter**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **Device**: Name of plugin
* **Name**: Name of the task (example name **WaterMeter**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **GPIO <-- Pulse**: Pulse input is generally set to **GPIO 14 (D5)**.
* **Debounce time**: Debounce time is generally set to **100**.
* **Counter type**: In this example the type is set to **Delta/Total/Time**.
* **Mode type**: Pulse input is generally set to **Falling**
``LOW`` = count when signal go from not low to low (0.8+V to 0.8-V)
``CHANGE`` = count on signal being changed, low to high (0.8-V to 2.4+V) or high to low (2.4+V to 0.8-V)
``RISING`` = count if signal is rising, from low to not low (0.8-V to 0.8+V)
``FALLING`` = count if signal is falling, from high to not high (2.4+V to 2.4-V)
.. warning:: GPIO 16 (D0) is not compatible with pulse counters.
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
"Count", "mL", "5", "2", "Using the formula ``%value%*0.65`` to convert the pulse count into milliliters per minute.
You might have to tweak the value to fit your application, our flow meter gives 0.65mL per pulse.
"
"Total", "Total", "N/A", "1", "Total value is the counted pulses since last reboot, for total in liters you could
use this formula ``%value%*0.65*0.001``. 1mL = 0.001L.
.. note:: Only updated if counter type is set to ``Delta/Total/Time``, ``Total``, or ``Delta/Total``
"
"Time", "Time", "N/A", "0", "Time since last pulse was intercepted, in mSec.
.. note:: Only updated if counter type is set to ``Delta/Total/Time``
"
Rules examples
--------------
.. code-block:: html
On WaterMeter#mL Do
If [WaterMeter#mL]=0
Publish,%sysname%/WaterStream/status,Water stream empty
Else
Publish,%sysname%/WaterStream/status,Water is life!
EndIf
EndOn
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
.. .. include:: P003_commands.repl
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cnLNRRM4>`_"
"Banggood","`Link 2 ($) <https://www.banggood.com/G12inch-DN15-Transparent-Water-Flow-Meter-Flowmeter-Hall-Flow-Sensor-Indicator-Counter-p-1101851.html?p=V3270422659778201806>`_ `Link 3 ($) <https://www.banggood.com/G12-Copper-Hall-Effect-Liquid-Water-Flow-Sensor-Flowmeter-Meter-p-1172960.html?p=V3270422659778201806>`_ `Link 4 ($) <https://www.banggood.com/Water-Flow-Sensor-Flowmeter-Switch-Meter-Counter-Hall-Sensor-0_3-6Lmin-p-1100517.html?p=V3270422659778201806>`_"
"eBay","`Link 5 ($) <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%3Dfluid%2Bsensor%2Bmeter%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DFlow%2Bsensor%2Bmeter>`_"
|affiliate|
More pictures
-------------
.. image:: P003_YFS401_2.jpg
.. image:: P003_YFS401_3.jpg
.. image:: P003_YFS401_4.jpg
.. image:: P003_YFS401_5.jpg
Binary file not shown.

After

Width:  |  Height:  |  Size: 468 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 KiB

+13
View File
@@ -19,12 +19,23 @@ GitHub: |P004_github|_
Maintainer: |P004_maintainer|
Used libraries: |P004_usedlibraries|
Supported hardware
------------------
|P004_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P004_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P004_events.repl
Change log
----------
@@ -39,3 +50,5 @@ Change log
|added|
Initial release version.
+92 -17
View File
@@ -7,52 +7,119 @@ DS18b20
|P004_typename|
|P004_status|
.. image:: P004_DS18b20_1.jpg
Introduction
------------
The DS18B20 manufactured by Dallas and Maxxim is a very simple to use temperature sensor with a tolerance of +/- 0.5°C.
.. note:: Cheap remakes from Chinese market might have bigger tolerance and also might have different pinouts.
It's advantages: very simple to use due to "1-wire" data protocol. Chainable, it is possible to chain up to 100
sensors on one cable (remember ESP Easy has 12 tasks max...). No calibration necessary if the tolerance fits your
needs as the sensor gives digital data directly. Many forms available from bare chip to waterproof and tube sensors.
Specifications:
* Temperature (-55 to +125C)
* Temperature (-55C to +125C)
* Voltage requirements: 3.3-5V
.. note:: The DS18B20 runs well on 3.3V so no level shifter or special power supply is needed. But the official
statement is that you should use 5V and a level shifter if you have multiple sensors on a long wire.
Wiring
------
.. image:: P004_DS18b20_5.jpg
.. code-block:: html
ESP S8
GPIO (X) <--> TX
GPIO (X) <--> RX
ESP DS18b20
GPIO (14) <--> 1-wire/D (yellow)
Power
5.0V <--> VCC
GND <--> GND
3.3/5.0V <--> VDD (red)
GND <--> GND (black)
The sensor needs a pull up resistor. If you use the breakout board type the resistor usually is already on the board.
This gets you into problems if using several DS18B20 breakout boards. There should be **only one resistor fore the entire line**
so you might have to remove resistors leaving just one at one end of the line.
Do not use very thin cabling! Tested with a 3x0.14mm² cable the length with 5 Sensors was 10 meters, longer cabling did not work.
Use a phone line cable (2x2x0.6mm²) instead if you need long distances up to 50..100 meters. remember: One (!) pull-up resistor for the whole line!
The preferred structure is a straight line. If possible avoid "stubs". If necessary it can be cabled in a "star" infrastructure.
But be aware that stubs and star form reduce the possible cable length.
Setup
-----
.. image:: P004_Setup_DS18b20_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **TempN**, where N is a number).
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **GPIO <--> 1-wire**: Pulse input is generally set to **GPIO 14 (D5)**.
after pressing submit the following settings are revealed:
* **Device address**: Pick your **sensor address**, hold your hand around it to see which one is changing temperature.
Every DS18b20 has a unique address burned in at production time.
This UID (Unique IDentifier) is used to tell the sensors apart on one single cable.
* **Device resolution**: 9..12 bits, the **lower the resolution the accuracy decreases and the speed increases**.
As temperatures do not change very fast usually a high accuracy can be chosen without problem.
.. note:: If you need a star infrastructure or stubs or if you need just longer cabling there is a way out.
One line runs on one GPIO. But nobody said you can't use two GPIO's. If the cabling gets too long or
you have too much stubs or star cables try to split into two circuits. Place the ESP in the mid and
cut the line into two circuits, for example "Ground Floor" and "1st Floor". Use two GPIO's, one for each circuit.
.. note:: Usually the DS18B20 works without issues. It's also usual that most problems result from cabling mistakes.
With long cabling you might get wrong data sometimes. It might be helpful to reduce the resistor a bit, 2.2 kOhm is lowest possible.
If nothing works disconnect all sensors from line and connect back one by one, checking every time. Cable may be too long
(or too thin for the given distance). Keep cabling away from other cables to avoid interferences. If necessary place a
10µF capacitor on the sensors between 3.3v and GND.
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
"Temperature", "Celsius", "10", "1", ""
Rules examples
--------------
.. code-block:: html
//Code below...
On Temp1#Celsius Do
If [Temp1#Celsius]>37
NeoPixelAll,255,0,0 //Your body temperature is too high!
Else
NeoPixelAll,0,255,0 //Body temperature is OK.
EndIf
EndOn
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
Indicators (recommended settings)
---------------------------------
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"XXXXXX", "N/A", "", "", ""
.. .. include:: P004_commands.repl
Where to buy
------------
@@ -61,10 +128,18 @@ Where to buy
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cg1fhDDI>`_"
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/bWymv0bQ>`_"
"Banggood","`Link 2 ($) <https://www.banggood.com/DS18B20-Waterproof-Digital-Temperature-Temp-Sensor-Probe-1M-2M-3M-5M-10M-15M-p-1211828.html?p=V3270422659778201806>`_ `Link 3 ($) <https://www.banggood.com/10Pcs-DS18B20-Temperature-Sensor-DALLAS-18B20-TO-92-Encapsulation-p-953364.html?p=V3270422659778201806>`_ `Link 4 ($) <https://www.banggood.com/5pcs-PT100-DS18B20-Temperature-Sensor-Stainless-Steel-Bushing-Blind-Tube-Protect-Case-Sleeve-6x50mm-p-1212105.html?p=V3270422659778201806>`_"
"eBay","`Link 5 ($) <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%3DDS18B20%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3Dfluid%2Bsensor%2Bmeter>`_"
|affiliate|
More pictures
-------------
.. image:: P004_DS18b20_2.jpg
.. image:: P004_DS18b20_3.jpg
.. image:: P004_DS18b20_4.jpg
Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

+16
View File
@@ -19,12 +19,23 @@ GitHub: |P005_github|_
Maintainer: |P005_maintainer|
Used libraries: |P005_usedlibraries|
Supported hardware
------------------
|P005_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P005_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P005_events.repl
Change log
----------
@@ -39,3 +50,8 @@ Change log
|added|
Initial release version.
+70 -19
View File
@@ -7,53 +7,102 @@ DHT11/DHT22
|P005_typename|
|P005_status|
.. image:: P005_DHT11_DHT22_1.jpg
Introduction
------------
DHT11 and its sibling DHT22 are temperature and humidity sensors which
using a custom 1-wire protocol. That means that they are not compatible with
the same 1-wire bus as standard 1-wire units.
Specifications:
* Temperature (-40 to +85C)
* Temperature (-40C to +85C)
* Humidity (0-100 % rel. humidity)
Wiring
------
The DHT sensor needs to be connected to a configurable GPIO on the ESP module.
In case you have a simple ESP-01 module, it's best to use the GPIO-2 pin.
.. image:: P005_DHT11_DHT22_2.jpg
DHT11 (blue)
.. image:: P005_DHT11_DHT22_3.jpg
DHT22 (white)
.. code-block:: html
ESP S8
GPIO (X) <--> TX
GPIO (X) <--> RX
ESP DHT11/DHT22
GPIO (X) <--> Data (2nd pin)
Power
5.0V <--> VCC
GND <--> GND
5.0V <--> VCC (1st pin)
GND <--> GND (4th pin)
.. note:: Do not use GPIO 15 as an input for the DHT11/22. During startup of the
ESP8266, this pin must be ``LOW`` for proper operation. It is good to
avoid using GPIO 0 as an input as well. This pin must be ``HIGHT`` at
startup, unless program mode is required. The data pin of the DHT11/22
needs a pull-up resistor. A value of 4.7k - 10k proves to be sufficient.
Setup
-----
.. image:: P005_Setup_DHT11_DHT22_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **DHT**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **GPIO <--> Data**: Pulse input is generally set to **GPIO 14 (D5)**.
* **Sensor model**: Pick your **sensor model**, either DHT11 or DHT22.
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
"Temperature", "Celsius", "10", "1", ""
"Humidity", "RH", "10", "1", ""
Rules examples
--------------
.. code-block:: html
//Code below...
On DHT#Celsius Do
If [DHT#Celsius]>-15
NeoPixelAll,255,0,0 //Red light
Else
NeoPixelAll,0,255,0 //Green light
EndIf
EndOn
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
Indicators (recommended settings)
---------------------------------
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"XXXXXX", "N/A", "", "", ""
.. .. include:: P005_commands.repl
Where to buy
------------
@@ -62,10 +111,12 @@ Where to buy
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cg1fhDDI>`_"
"AliExpress","`Link 1 ($) DHT11 <http://s.click.aliexpress.com/e/Rw9LhDW>`_ `Link 2 ($) DHT22 <http://s.click.aliexpress.com/e/bym03SW8>`_"
"Banggood","`Link 3 ($) DHT11 <https://www.banggood.com/KY-015-DHT11-Temperature-Humidity-Sensor-Module-For-Arduino-p-916173.html?p=V3270422659778201806>`_ `Link 4 ($) DHT22 <https://www.banggood.com/AM2302-DHT22-Temperature-And-Humidity-Sensor-Module-For-Arduino-SCM-p-937403.html?p=V3270422659778201806>`_"
"eBay","`Link 5 ($) DHT11 <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%3DDHT11%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DDHT11>`_ `Link 6 ($) DHT22 <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%3DDHT22%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DDHT22>`_"
|affiliate|
More pictures
-------------
.. More pictures
.. -------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 741 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

+16
View File
@@ -19,12 +19,23 @@ GitHub: |P006_github|_
Maintainer: |P006_maintainer|
Used libraries: |P006_usedlibraries|
Supported hardware
------------------
|P006_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P006_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P006_events.repl
Change log
----------
@@ -39,3 +50,8 @@ Change log
|added|
Initial release version.
+106
View File
@@ -0,0 +1,106 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P006_BMP085_page:
BMP085
======
|P006_typename|
|P006_status|
.. image:: P006_BMP085_1.jpg
Introduction
------------
Specifications:
* Temperature (-40C to +85C)
* Barometric pressure (300-1100 hPa)
Wiring
------
.. code-block:: html
ESP BMP085
GPIO (4) <--> DA (SDA)
GPIO (5) <--> CL (SCL)
Power
3.3V <--> + (plus)
GND <--> - (minus)
.. note:: If you have change the I2C settings in the hardware setup you need to connect to those instead of GPIO 4 and 5.
.. note:: Only use 3.3V BMP085/180 boards. The ESP pins are not 5V tolerant. Depending on the make of the BMP085/180 board,
pull-up resistors on SDA and SDC may be absent. 4k7 types are fine. When more I2C devices are being used, only one set
of pull-up resistors is required or even allowed. It may be necessary to add a ceramic 100nF capacitor across the power
lines, close to the BMP085/180 board.
Setup
-----
.. image:: P006_Setup_BMP085_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **BMP**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **Altitude**: Set the level above sea for your unit. This is done in order to get a correct pressure value.
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
"Temperature", "Celsius", "10", "1", ""
"Pressure", "hPa", "10", "0", ""
Rules examples
--------------
.. code-block:: html
on BMP#hPa do
if BMP#hPa>999
Publish,%sysname%/pressure,Is normal
endif
endon
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
.. .. include:: P006_commands.repl
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/7M2xvpe>`_"
"Banggood","`Link 2 ($) <https://www.banggood.com/GY-68-300-1100hPa-BMP180-BOSCH-Temperature-Module-Atmospheric-Pressure-Sensor-Instead-Of-BMP085-p-1175978.html?p=V3270422659778201806>`_"
"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%3DBMP085%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DBMP085>`_"
|affiliate|
.. More pictures
.. -------------
.. .. image:: P006_BMP085_2.jpg
Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

-71
View File
@@ -1,71 +0,0 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P006_BMP085_BMP180_page:
BMP085/BMP180
=============
|P006_typename|
|P006_status|
Introduction
------------
Specifications:
* Temperature (-40 to +85C)
* Barometric pressure (300-1100 hPa)
Wiring
------
.. code-block:: html
ESP S8
GPIO (X) <--> TX
GPIO (X) <--> RX
Power
5.0V <--> VCC
GND <--> GND
Setup
-----
Rules examples
--------------
.. code-block:: html
//Code below...
Indicators (recommended settings)
---------------------------------
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"XXXXXX", "N/A", "", "", ""
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cg1fhDDI>`_"
|affiliate|
More pictures
-------------
+106
View File
@@ -0,0 +1,106 @@
.. include:: ../Plugin/_plugin_substitutions_p00x.repl
.. _P006_BMP180_page:
BMP180
======
|P006_typename|
|P006_status|
.. image:: P006_BMP180_1.jpg
Introduction
------------
Specifications:
* Temperature (-40C to +85C)
* Barometric pressure (300-1100 hPa)
Wiring
------
.. code-block:: html
ESP BMP180
GPIO (4) <--> DA (SDA)
GPIO (5) <--> CL (SCL)
Power
3.3V <--> + (plus)
GND <--> - (minus)
.. note:: If you have change the I2C settings in the hardware setup you need to connect to those instead of GPIO 4 and 5.
.. note:: Only use 3.3V BMP085/180 boards. The ESP pins are not 5V tolerant. Depending on the make of the BMP085/180 board,
pull-up resistors on SDA and SDC may be absent. 4k7 types are fine. When more I2C devices are being used, only one set
of pull-up resistors is required or even allowed. It may be necessary to add a ceramic 100nF capacitor across the power
lines, close to the BMP085/180 board.
Setup
-----
.. image:: P006_Setup_BMP180_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **BMP**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **Altitude**: Set the level above sea for your unit. This is done in order to get a correct pressure value.
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
"Temperature", "Celsius", "10", "1", ""
"Pressure", "hPa", "10", "0", ""
Rules examples
--------------
.. code-block:: html
on BMP#hPa do
if BMP#hPa>999
Publish,%sysname%/pressure,Is normal
endif
endon
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
.. .. include:: P006_commands.repl
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/8DGS2PI>`_"
"Banggood","`Link 2 ($) <https://www.banggood.com/GY-68-300-1100hPa-BMP180-BOSCH-Temperature-Module-Atmospheric-Pressure-Sensor-Instead-Of-BMP085-p-1175978.html?p=V3270422659778201806>`_"
"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%3DBMP180%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DBMP085%26LH_TitleDesc%3D0>`_"
|affiliate|
More pictures
-------------
.. image:: P006_BMP180_2.jpg
Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

+16
View File
@@ -19,12 +19,23 @@ GitHub: |P007_github|_
Maintainer: |P007_maintainer|
Used libraries: |P007_usedlibraries|
Supported hardware
------------------
|P007_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P007_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P007_events.repl
Change log
----------
@@ -39,3 +50,8 @@ Change log
|added|
Initial release version.
+16
View File
@@ -19,12 +19,23 @@ GitHub: |P008_github|_
Maintainer: |P008_maintainer|
Used libraries: |P008_usedlibraries|
Supported hardware
------------------
|P008_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P008_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P008_events.repl
Change log
----------
@@ -39,3 +50,8 @@ Change log
|added|
Initial release version.
+16
View File
@@ -19,12 +19,23 @@ GitHub: |P009_github|_
Maintainer: |P009_maintainer|
Used libraries: |P009_usedlibraries|
Supported hardware
------------------
|P009_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P009_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P009_events.repl
Change log
----------
@@ -39,3 +50,8 @@ Change log
|added|
Initial release version.
+16
View File
@@ -19,12 +19,23 @@ GitHub: |P010_github|_
Maintainer: |P010_maintainer|
Used libraries: |P010_usedlibraries|
Supported hardware
------------------
|P010_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P010_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P010_events.repl
Change log
----------
@@ -39,3 +50,8 @@ Change log
|added|
Initial release version.
+16
View File
@@ -19,12 +19,23 @@ GitHub: |P011_github|_
Maintainer: |P011_maintainer|
Used libraries: |P011_usedlibraries|
Supported hardware
------------------
|P011_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P011_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P011_events.repl
Change log
----------
@@ -39,3 +50,8 @@ Change log
|added|
Initial release version.
+16
View File
@@ -19,12 +19,23 @@ GitHub: |P012_github|_
Maintainer: |P012_maintainer|
Used libraries: |P012_usedlibraries|
Supported hardware
------------------
|P012_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P012_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P012_events.repl
Change log
----------
@@ -39,3 +50,8 @@ Change log
|added|
Initial release version.
+16
View File
@@ -19,12 +19,23 @@ GitHub: |P013_github|_
Maintainer: |P013_maintainer|
Used libraries: |P013_usedlibraries|
Supported hardware
------------------
|P013_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P013_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P013_events.repl
Change log
----------
@@ -39,3 +50,8 @@ Change log
|added|
Initial release version.
+68 -16
View File
@@ -7,52 +7,102 @@ HC-SR04
|P013_typename|
|P013_status|
.. image:: P013_HC-SR04_1.jpg
Introduction
------------
The HC-SR04 is a ultrasonic distance sensor. It's able to indicate distances between 2 cm up to about 300 cm
at a resolution of about 0.3 cm.
Specifications:
* Ultrasonic distance sensor
* Measure angle: 30°
* Ranging distance: 2cm - 300cm (some have reporting it work good up to 400 cm)
Wiring
------
The HC-SR04 must be run on 5V. Running it with 3.3V will show very weak results or nothing at all.
.. code-block:: html
ESP S8
GPIO (X) <--> TX
GPIO (X) <--> RX
ESP HC-SR04
GPIO (X) <--> Trigger
GPIO (X) <--> Echo (voltage divider!)
Power
5.0V <--> VCC
GND <--> GND
.. warning:: Do not connect 5V directly to the ESP! Read more about :ref:`P000_Level_converter_page`.
Setup
-----
.. image:: P013_Setup_HC-SR04_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **HCSR04**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **GPIO --> Trigger**: Set the GPIO to trigger the signal.
* **GPIO --> Echo, 5V**: Set the GPIO to receive the echo signal, voltage divider is needed.
* **Mode**: ``Value`` is the most used setting, it will output the distance in centimeters.
If you want the plugin to report a ``1`` or a ``0`` you use the ``State`` setting.
State will open up a new field called "Threshold" which will allow you to enter
a value. If the unit detects a value below the given threshold the task will be
set to ``1``, if the detected value is above the given threshold the task will
be ``0``. You should set the interval to zero in the case of using the state
setting, just to make sure the action is triggered as soon as possible.
* **Max distance**: Set the max value the task will show. If the actual value is above the
max distance the max distance will be displayed. Set to ``0`` will disable the max
distance setting. Max according to the specifications is ``300`` cm.
* **Unit**: You can show the output value as imperial without the need to do it using the formula function.
* **Filter**: The signal might be a bit shaky for some applications, try to use the ``Median`` filtering
setting in that case.
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 (1..5 seconds is normal for the ``value`` setting, 0 for the ``state`` setting).
Indicators (recommended settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"Distance", "Distance", "1", "1", "Used to get the actual distance that the sensor is measuring."
"State", "State", "0", "0", "Used to set the value high or low, just like a normal switch input device."
Rules examples
--------------
.. code-block:: html
//Code below...
on HCSR04#distance do
if [HCSR04#distance]<50 and [HCSR04#distance]>45
GPIO,14,1 //light up LED to show that you're at the correct position
else
GPIO,14,0
endif
endon
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
Indicators (recommended settings)
---------------------------------
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"XXXXXX", "N/A", "", "", ""
.. .. include:: P013_commands.repl
Where to buy
------------
@@ -61,10 +111,12 @@ Where to buy
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cg1fhDDI>`_"
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/bGx6Myqk>`_"
"Banggood","`Link 2 ($) <https://www.banggood.com/Wholesale-Ultrasonic-Module-HC-SR04-Distance-Measuring-Ranging-Transducer-Sensor-p-40313.html?p=V3270422659778201806>`_"
"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%3DHC-SR04%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3Dlcd%2B2004>`_"
|affiliate|
More pictures
-------------
.. More pictures
.. -------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 560 KiB

+121
View File
@@ -0,0 +1,121 @@
.. include:: ../Plugin/_plugin_substitutions_p01x.repl
.. _P013_RCW-0001_page:
RCW-0001
========
|P013_typename|
|P013_status|
.. image:: P013_RCW-0001_1.jpg
Introduction
------------
The RCW-0001 is a ultrasonic distance sensor. It's able to indicate distances between 2 cm up to about 300 cm
at a resolution of about 0.3 cm.
Specifications:
* Ultrasonic distance sensor
* Measure angle: 30°
* Ranging distance: 2cm - 300cm (some have reporting it work good up to 400 cm)
Wiring
------
The RCW-0001 must be run on 5V. Running it with 3.3V will show very weak results or nothing at all.
.. code-block:: html
ESP RCW-0001
GPIO (X) <--> Trigger
GPIO (X) <--> Echo (voltage divider!)
Power
5.0V <--> VCC
GND <--> GND
.. warning:: Do not connect 5V directly to the ESP! Read more about :ref:`P000_Level_converter_page`.
Setup
-----
.. image:: P013_Setup_RCW-0001_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **RCW0001**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **GPIO --> Trigger**: Set the GPIO to trigger the signal.
* **GPIO --> Echo, 5V**: Set the GPIO to receive the echo signal, voltage divider is needed.
* **Mode**: ``Value`` is the most used setting, it will output the distance in centimeters.
If you want the plugin to report a ``1`` or a ``0`` you use the ``State`` setting.
State will open up a new field called "Threshold" which will allow you to enter
a value. If the unit detects a value below the given threshold the task will be
set to ``1``, if the detected value is above the given threshold the task will
be ``0``. You should set the interval to zero in the case of using the state
setting, just to make sure the action is triggered as soon as possible.
* **Max distance**: Set the max value the task will show. If the actual value is above the
max distance the max distance will be displayed. Set to ``0`` will disable the max
distance setting. Max according to the specifications is ``300`` cm.
* **Unit**: You can show the output value as imperial without the need to do it using the formula function.
* **Filter**: The signal might be a bit shaky for some applications, try to use the ``Median`` filtering
setting in that case.
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 (1..5 seconds is normal for the ``value`` setting, 0 for the ``state`` setting).
Indicators (recommended settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"Distance", "Distance", "1", "1", "Used to get the actual distance that the sensor is measuring."
"State", "State", "0", "0", "Used to set the value high or low, just like a normal switch input device."
Rules examples
--------------
.. code-block:: html
on RCW0001#distance do
if [RCW0001#distance]<50 and [RCW0001#distance]>45
GPIO,14,1 //light up LED to show that you're at the correct position
else
GPIO,14,0
endif
endon
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
.. .. include:: P013_commands.repl
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/7VyGgVw>`_"
"eBay","`Link 2 ($) <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%3DRCW-0001%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DHC-SR04>`_"
|affiliate|
.. More pictures
.. -------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

+121
View File
@@ -0,0 +1,121 @@
.. include:: ../Plugin/_plugin_substitutions_p01x.repl
.. _P013_US-100_page:
US-100
======
|P013_typename|
|P013_status|
.. image:: P013_US-100_1.jpg
Introduction
------------
The US-100 is a ultrasonic distance sensor. It's able to indicate distances between 2 cm up to about 300 cm
at a resolution of about 0.3 cm.
Specifications:
* Ultrasonic distance sensor
* Measure angle: 30°
* Ranging distance: 2cm - 300cm (some have reporting it work good up to 400 cm)
Wiring
------
The US-100 must be run on 5V. Running it with 3.3V will show very weak results or nothing at all.
.. code-block:: html
ESP US-100
GPIO (X) <--> Trigger
GPIO (X) <--> Echo (voltage divider!)
Power
5.0V <--> VCC
GND <--> GND
.. warning:: Do not connect 5V directly to the ESP! Read more about :ref:`P000_Level_converter_page`.
Setup
-----
.. image:: P013_Setup_US-100_1.png
Task settings
~~~~~~~~~~~~~
* **Device**: Name of plugin
* **Name**: Name of the task (example name **US100**)
* **Enable**: Should the task be enabled or not
Sensor
^^^^^^
* **GPIO --> Trigger**: Set the GPIO to trigger the signal.
* **GPIO --> Echo, 5V**: Set the GPIO to receive the echo signal, voltage divider is needed.
* **Mode**: ``Value`` is the most used setting, it will output the distance in centimeters.
If you want the plugin to report a ``1`` or a ``0`` you use the ``State`` setting.
State will open up a new field called "Threshold" which will allow you to enter
a value. If the unit detects a value below the given threshold the task will be
set to ``1``, if the detected value is above the given threshold the task will
be ``0``. You should set the interval to zero in the case of using the state
setting, just to make sure the action is triggered as soon as possible.
* **Max distance**: Set the max value the task will show. If the actual value is above the
max distance the max distance will be displayed. Set to ``0`` will disable the max
distance setting. Max according to the specifications is ``300`` cm.
* **Unit**: You can show the output value as imperial without the need to do it using the formula function.
* **Filter**: The signal might be a bit shaky for some applications, try to use the ``Median`` filtering
setting in that case.
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 (1..5 seconds is normal for the ``value`` setting, 0 for the ``state`` setting).
Indicators (recommended settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "Indicator", "Value Name", "Interval", "Decimals", "Extra information"
:widths: 8, 5, 5, 5, 40
"Distance", "Distance", "1", "1", "Used to get the actual distance that the sensor is measuring."
"State", "State", "0", "0", "Used to set the value high or low, just like a normal switch input device."
Rules examples
--------------
.. code-block:: html
on US100#distance do
if [US100#distance]<50 and [US100#distance]>45
GPIO,14,1 //light up LED to show that you're at the correct position
else
GPIO,14,0
endif
endon
.. Commands available
.. ~~~~~~~~~~~~~~~~~~
.. .. include:: P013_commands.repl
Where to buy
------------
.. csv-table::
:header: "Store", "Link"
:widths: 5, 40
"AliExpress","`Link 1 ($) <http://s.click.aliexpress.com/e/cGKb9zcy>`_"
"eBay","`Link 2 ($) <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%3DUS-100%26_sacat%3D0%26LH_TitleDesc%3D0%26_osacat%3D0%26_odkw%3DRCW-0001>`_"
|affiliate|
.. More pictures
.. -------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

+16
View File
@@ -19,12 +19,23 @@ GitHub: |P014_github|_
Maintainer: |P014_maintainer|
Used libraries: |P014_usedlibraries|
Supported hardware
------------------
|P014_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P014_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P014_events.repl
Change log
----------
@@ -39,3 +50,8 @@ Change log
|added|
Initial release version.
+16
View File
@@ -19,12 +19,23 @@ GitHub: |P015_github|_
Maintainer: |P015_maintainer|
Used libraries: |P015_usedlibraries|
Supported hardware
------------------
|P015_usedby|
.. Commands available
.. ^^^^^^^^^^^^^^^^^^
.. .. include:: P015_commands.repl
.. Events
.. ~~~~~~
.. .. include:: P015_events.repl
Change log
----------
@@ -39,3 +50,8 @@ Change log
|added|
Initial release version.
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

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