Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d0fb2dcf2 | ||
|
|
29eee7139e | ||
|
|
e8445684ac | ||
|
|
7728186906 | ||
|
|
c5761db451 | ||
|
|
4b808e7b7d | ||
|
|
c2e8fbbd24 | ||
|
|
3e7d641973 | ||
|
|
37d6140434 | ||
|
|
acfbb6b7fe | ||
|
|
478950b67b | ||
|
|
d213880da6 | ||
|
|
d8577c2fa8 | ||
|
|
74713e5fa4 | ||
|
|
a8bfa71bd5 | ||
|
|
0a0eb59043 | ||
|
|
75228c7d08 | ||
|
|
e89f5afd45 | ||
|
|
4906c7b390 | ||
|
|
ac968b5bec | ||
|
|
12cfea924a | ||
|
|
702cfebf8b | ||
|
|
1bc7630f4f | ||
|
|
4641297a64 | ||
|
|
765a6d10b8 | ||
|
|
a2879b588a | ||
|
|
d5f2fa21fd | ||
|
|
09d89eaa4b | ||
|
|
e383949413 | ||
|
|
85d849d825 | ||
|
|
4e42e426cf | ||
|
|
097d34758e | ||
|
|
14b8f1b183 | ||
|
|
27453a59d9 | ||
|
|
78ae8f097f | ||
|
|
29ce3a8e34 | ||
|
|
107673bd9a | ||
|
|
6e3135416f | ||
|
|
179969b79e | ||
|
|
4be24ab480 | ||
|
|
1ade390468 | ||
|
|
593d4f255b | ||
|
|
7fbd484391 | ||
|
|
954565844d | ||
|
|
91940f0335 | ||
|
|
1d2bd8f18b | ||
|
|
957539e9e4 | ||
|
|
3cb09febd6 | ||
|
|
831bdf60a1 | ||
|
|
0c1c6b5c7a | ||
|
|
b620188d2a | ||
|
|
b6736e7c95 | ||
|
|
d7866164ea | ||
|
|
77714d3105 | ||
|
|
3d7f032ad1 | ||
|
|
8f1f55b6b1 | ||
|
|
a4c029f6f3 | ||
|
|
391452246f | ||
|
|
e028b9d02a | ||
|
|
7f70abd1c2 | ||
|
|
2564bcd4b8 | ||
|
|
c1a0a26cd4 | ||
|
|
7118dce882 | ||
|
|
77062e50ce | ||
|
|
29447d0c8d | ||
|
|
5aa3eb7344 | ||
|
|
de08cd6570 | ||
|
|
24b6cf4874 | ||
|
|
b03a7678c9 | ||
|
|
061b691497 | ||
|
|
a780a811f2 | ||
|
|
c07ad1780c | ||
|
|
203c33fe8c | ||
|
|
200cb17656 | ||
|
|
1572e86b82 | ||
|
|
1e0fd8a284 | ||
|
|
62ce776c74 | ||
|
|
85515281d6 | ||
|
|
19ef8eb796 | ||
|
|
0b64c3d04f | ||
|
|
236a0098c2 | ||
|
|
749f0b9c55 | ||
|
|
f0861ac66f | ||
|
|
ab18f25c5e | ||
|
|
4cc5eca3f5 | ||
|
|
ec345b1dcc | ||
|
|
5e798fa3a9 | ||
|
|
0260fad1a9 | ||
|
|
555f6d2dd8 | ||
|
|
128f8e270d | ||
|
|
8626a130a8 | ||
|
|
5b9a87308a | ||
|
|
3b1dd8f21f | ||
|
|
9a05eaf828 | ||
|
|
61d4c50db3 | ||
|
|
6290cb42bc | ||
|
|
30d3598684 | ||
|
|
5880c9173d | ||
|
|
64b65cca42 | ||
|
|
3d507bdbb9 | ||
|
|
c392e772c0 | ||
|
|
af778d28ac | ||
|
|
c57150efec | ||
|
|
d40c449f8d | ||
|
|
0ad7fad5c1 | ||
|
|
bdda128be8 | ||
|
|
55c1e0c1b9 | ||
|
|
c8f0a7ac58 | ||
|
|
1362363295 | ||
|
|
f604ce490b | ||
|
|
6643eb4aaa | ||
|
|
4890d13543 | ||
|
|
82358574ba | ||
|
|
63e98d805b | ||
|
|
7d27151ccd | ||
|
|
a5d5c77314 | ||
|
|
e7d21b0bc7 | ||
|
|
cd570cafba | ||
|
|
8d257df2dd | ||
|
|
30cbb4c0e7 | ||
|
|
0485edc274 | ||
|
|
6400c495e2 | ||
|
|
af20984079 | ||
|
|
a9b0762d30 | ||
|
|
47cdbb4ee5 | ||
|
|
989ba1f8b9 | ||
|
|
e0f4991ea3 | ||
|
|
86d4ecc5cf | ||
|
|
9a80251b76 | ||
|
|
293a40e2ac | ||
|
|
e10ac8543d | ||
|
|
82f1594ee7 | ||
|
|
d5aa9faf15 | ||
|
|
e964d85987 | ||
|
|
74ed9af212 | ||
|
|
2732d3ae0e | ||
|
|
eee1555c31 | ||
|
|
30441c48ed | ||
|
|
d54781f9b7 | ||
|
|
89984fa891 | ||
|
|
0354aa72c2 | ||
|
|
1b595bb843 | ||
|
|
5ba75be5cd | ||
|
|
e2d05edf72 | ||
|
|
9194357b83 | ||
|
|
40582bcb38 | ||
|
|
7b71d5aafc | ||
|
|
2ac50e20af | ||
|
|
c8a81a9dba | ||
|
|
93e9abbeea | ||
|
|
5e31e286f0 | ||
|
|
ee40ac7d75 | ||
|
|
4b623b0455 | ||
|
|
de1f157e9a | ||
|
|
8d15fedb05 | ||
|
|
316691ad07 | ||
|
|
1011831cce | ||
|
|
7ec6e20c5b | ||
|
|
672da98f5b | ||
|
|
7a628f6d78 | ||
|
|
850a3e1f3b | ||
|
|
ab57241933 | ||
|
|
9e48525659 | ||
|
|
358b0d0ad2 | ||
|
|
8cf1d7436d | ||
|
|
80ccd94ca8 | ||
|
|
362a02a60e | ||
|
|
1bc3a28706 | ||
|
|
b7782944a6 | ||
|
|
8b403377c3 | ||
|
|
1e885afdad | ||
|
|
a87315ac26 | ||
|
|
d46d4eaa29 | ||
|
|
586f39ecd9 | ||
|
|
63e3113236 | ||
|
|
f973bef3df | ||
|
|
73c2e4f0ef | ||
|
|
3b2fc1804e | ||
|
|
6f2f5a1356 | ||
|
|
a87da3c4a3 | ||
|
|
66b06e93b1 | ||
|
|
ef5f5199a4 | ||
|
|
73e0ed4996 | ||
|
|
c0ce3f0cec | ||
|
|
bf91e3286c | ||
|
|
843e638d1e | ||
|
|
6142b22fbf | ||
|
|
ab4a670541 | ||
|
|
708806cf42 | ||
|
|
e8aea2028f | ||
|
|
0e0b753423 | ||
|
|
7aaedba05e | ||
|
|
04e59c587c | ||
|
|
f34b9ab404 | ||
|
|
495559e47b | ||
|
|
ee68009b47 | ||
|
|
278b3a1402 | ||
|
|
bd3bfb7930 | ||
|
|
0977b7e70e | ||
|
|
008ccf3789 | ||
|
|
4b93eee1c2 | ||
|
|
b650778482 | ||
|
|
95ed0fd1be | ||
|
|
f3b33c7ada | ||
|
|
f0a2cff6f8 | ||
|
|
2f56ba7606 | ||
|
|
db04fbf4b0 | ||
|
|
329b93bb73 | ||
|
|
edf7f2eabf | ||
|
|
667f09ce68 | ||
|
|
714ff77e9b | ||
|
|
fa9efcdb2b | ||
|
|
4715519b7b | ||
|
|
272f3f965d | ||
|
|
b964d8391b | ||
|
|
91a24fd3c2 | ||
|
|
cf95d0ca37 | ||
|
|
81428a0d22 | ||
|
|
44475079df | ||
|
|
bf46ebb0f3 | ||
|
|
7956583c96 | ||
|
|
5c1d68b627 | ||
|
|
1ac0a96b41 | ||
|
|
fa21426852 | ||
|
|
a72c6b4965 | ||
|
|
8f24fa6c3e | ||
|
|
042f219bf6 | ||
|
|
40757016e1 | ||
|
|
8edae2146a | ||
|
|
741b702c85 | ||
|
|
999e43a834 | ||
|
|
18eedf6616 | ||
|
|
3ec78b68a2 | ||
|
|
63217fb341 | ||
|
|
c2c311eb78 | ||
|
|
1a55b991b9 | ||
|
|
66bba2caae | ||
|
|
4d2a76ada8 | ||
|
|
c4681b5589 | ||
|
|
c752b30d04 | ||
|
|
5713900d0f | ||
|
|
d9d826650c | ||
|
|
032d51cd75 | ||
|
|
6eef558183 | ||
|
|
b20eede516 | ||
|
|
416e162c2d | ||
|
|
4744d638e4 | ||
|
|
b8aa681421 | ||
|
|
90b37e4bd0 | ||
|
|
b708d6f6d4 | ||
|
|
5ee18ec556 | ||
|
|
140b102dc4 | ||
|
|
fc354fc545 | ||
|
|
baa211bc74 | ||
|
|
bf96e341d6 | ||
|
|
f824c1a050 | ||
|
|
f9f6a35ded | ||
|
|
11c72fcb02 | ||
|
|
96352c3cfb | ||
|
|
08c14a9d70 | ||
|
|
32b76694d6 | ||
|
|
dcf0bde7b6 | ||
|
|
43e74893cc | ||
|
|
0caa805452 | ||
|
|
6f03a81217 | ||
|
|
64907207fc | ||
|
|
6216e79dd3 | ||
|
|
5cc65a7d9d | ||
|
|
d36fc492fc | ||
|
|
fc03a845b4 | ||
|
|
a8b7268f32 | ||
|
|
8838f38322 | ||
|
|
a1cb8be2b4 | ||
|
|
0e0c25dc5b | ||
|
|
c1e13a0392 | ||
|
|
70c0d10687 | ||
|
|
ec767f6c1c | ||
|
|
3afb44cd6e | ||
|
|
5903c72751 | ||
|
|
370f1eb207 | ||
|
|
69104b161a | ||
|
|
e7beea5cfb | ||
|
|
e2b30e2d6b | ||
|
|
36a44ca787 | ||
|
|
346ff67f8e | ||
|
|
06697e212e | ||
|
|
b3b8a9fd59 | ||
|
|
2c29ec467b | ||
|
|
8d275631b3 | ||
|
|
a7f1d6153c | ||
|
|
dcfc8ffd01 | ||
|
|
fd9f63aab9 | ||
|
|
8b8174daef | ||
|
|
ddce8865b9 | ||
|
|
708adf2190 | ||
|
|
f4a98ea43c | ||
|
|
9affa6b1c4 | ||
|
|
17f403db5d | ||
|
|
7d135716dd | ||
|
|
6c747d15fc | ||
|
|
218ace372b | ||
|
|
ea98eb516b | ||
|
|
8bcbd2b024 | ||
|
|
2e6f7dcfdb | ||
|
|
b101bd15e3 | ||
|
|
db6f022401 | ||
|
|
cbd7b69a27 | ||
|
|
6c838846c4 | ||
|
|
3a647a9ab1 | ||
|
|
255f297f8a | ||
|
|
398f805a3a | ||
|
|
395abb6e7b | ||
|
|
c32ee98cda | ||
|
|
2973f32f5a | ||
|
|
680f60e167 | ||
|
|
9a46820d40 | ||
|
|
25b2269e6b | ||
|
|
7c3bcabe1d | ||
|
|
e1d2832195 | ||
|
|
cdeaeeaf14 | ||
|
|
36d6c7d448 | ||
|
|
52893300f7 | ||
|
|
b339b75eb3 | ||
|
|
8a984e6e78 | ||
|
|
e7e4aa1acb | ||
|
|
f8ae031be7 | ||
|
|
a516892ce6 | ||
|
|
caa7e12eb7 | ||
|
|
7064e76c97 | ||
|
|
e05cbfc8cb | ||
|
|
4650c638ed | ||
|
|
509574e3cb | ||
|
|
9487d85766 | ||
|
|
9b1151baa6 | ||
|
|
40009a49f9 | ||
|
|
0a4f7cf174 | ||
|
|
b13541cf58 | ||
|
|
c8094bbecd | ||
|
|
98c4905827 | ||
|
|
c298c5a457 | ||
|
|
3bcfb5b0f5 | ||
|
|
7824466685 | ||
|
|
f30530d470 | ||
|
|
02ef853e1e | ||
|
|
ed50071953 | ||
|
|
122c1932e8 | ||
|
|
59b5adfeee | ||
|
|
4de68afc7a | ||
|
|
5a768fb094 | ||
|
|
fd272367f2 | ||
|
|
20635e91c8 | ||
|
|
9b71379687 | ||
|
|
4476bd1016 | ||
|
|
3b49dca5f5 | ||
|
|
3c1c84b288 | ||
|
|
1d005250c5 | ||
|
|
8c0ded31be | ||
|
|
63d6b3944f | ||
|
|
e6f24edd32 | ||
|
|
827ef08f50 | ||
|
|
f4e84ea4c6 | ||
|
|
520cee5d0d | ||
|
|
5b80edb943 | ||
|
|
6256cb5255 | ||
|
|
2fbe1a2655 | ||
|
|
d9028a732c | ||
|
|
09a79a5892 | ||
|
|
8ed77ffb01 | ||
|
|
a7142f4a3c | ||
|
|
9d7750b881 | ||
|
|
89da79bbdc | ||
|
|
2add0fcae2 | ||
|
|
e1495f9520 | ||
|
|
e52f85e893 | ||
|
|
e26cf54e47 | ||
|
|
b912e5c0a9 | ||
|
|
af9d4d925e | ||
|
|
fc950b141f | ||
|
|
331462877f | ||
|
|
50635d8024 | ||
|
|
108bdb4b01 | ||
|
|
0c0db4f401 | ||
|
|
77b283197d | ||
|
|
021374bf09 | ||
|
|
8db694bde6 | ||
|
|
c304efb1b4 | ||
|
|
60edd5208e | ||
|
|
b6e96a0086 | ||
|
|
72862e7169 | ||
|
|
25c2f55219 | ||
|
|
65d072dcf7 | ||
|
|
89b30dcd88 | ||
|
|
7948efb6fe | ||
|
|
05723163cc | ||
|
|
79123392a9 | ||
|
|
ccf2929e69 | ||
|
|
8ae51cda1c | ||
|
|
ebe11246a1 | ||
|
|
43dfa03f2f | ||
|
|
ce1ab3e718 | ||
|
|
c9fa53914a | ||
|
|
4acedced42 | ||
|
|
dd8a67adcd | ||
|
|
ab893a7d14 | ||
|
|
aaae79c8d9 | ||
|
|
6ae627b32a | ||
|
|
8369c330de | ||
|
|
2290de3c98 | ||
|
|
3f00ef5dde | ||
|
|
afeed445ca | ||
|
|
b76e8b4e8b | ||
|
|
dab8c16e05 | ||
|
|
84a31c0af9 | ||
|
|
bdfa4b7eec | ||
|
|
99a77ad343 | ||
|
|
0b4c605f43 | ||
|
|
eabf79be54 | ||
|
|
b14fe5de32 | ||
|
|
ed3d8f5371 | ||
|
|
459e103a73 | ||
|
|
c62fab5eec | ||
|
|
ecba3c79e2 | ||
|
|
5146803833 | ||
|
|
d708a62efe | ||
|
|
a22563e21d |
@@ -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/)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,3 +1,3 @@
|
||||
recommonmark==0.4.0
|
||||
Sphinx==1.8.1
|
||||
Sphinx==1.8.4
|
||||
sphinx-bootstrap-theme==0.6.5
|
||||
|
||||
@@ -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
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
----------
|
||||
|
||||
|
||||
@@ -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
|
||||
------------
|
||||
|
||||
@@ -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
|
||||
-------------------------
|
||||
|
||||
@@ -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
|
||||
------------
|
||||
|
||||
@@ -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``
|
||||
"
|
||||
@@ -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
|
||||
|
||||
"
|
||||
@@ -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
|
||||
----------
|
||||
|
||||
|
||||
@@ -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
|
||||
.. -------------
|
||||
|
||||
|
After Width: | Height: | Size: 522 KiB |
@@ -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|
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 128 KiB |
|
After Width: | Height: | Size: 128 KiB |
|
After Width: | Height: | Size: 129 KiB |
@@ -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
|
||||
.. -------------
|
||||
|
||||
|
After Width: | Height: | Size: 942 KiB |
@@ -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.
|
||||
"
|
||||
@@ -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.
|
||||
"
|
||||
@@ -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
|
||||
----------
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
.. -------------
|
||||
|
||||
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
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
|
||||
-------------
|
||||
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 103 KiB |
@@ -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
|
||||
|
||||
|
After Width: | Height: | Size: 643 KiB |
|
After Width: | Height: | Size: 1004 KiB |
|
After Width: | Height: | Size: 500 KiB |
|
After Width: | Height: | Size: 722 KiB |
|
After Width: | Height: | Size: 898 KiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 468 KiB |
|
After Width: | Height: | Size: 554 KiB |
|
After Width: | Height: | Size: 161 KiB |
|
After Width: | Height: | Size: 483 KiB |
|
After Width: | Height: | Size: 585 KiB |
@@ -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.
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
After Width: | Height: | Size: 524 KiB |
|
After Width: | Height: | Size: 248 KiB |
|
After Width: | Height: | Size: 627 KiB |
|
After Width: | Height: | Size: 581 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 84 KiB |
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
.. -------------
|
||||
|
||||
|
After Width: | Height: | Size: 741 KiB |
|
After Width: | Height: | Size: 130 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 84 KiB |
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
After Width: | Height: | Size: 66 KiB |
@@ -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
|
||||
-------------
|
||||
@@ -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
|
||||
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 288 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 79 KiB |
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
.. -------------
|
||||
|
||||
|
After Width: | Height: | Size: 560 KiB |
@@ -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
|
||||
.. -------------
|
||||
|
After Width: | Height: | Size: 136 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 95 KiB |
@@ -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
|
||||
.. -------------
|
||||
|
After Width: | Height: | Size: 231 KiB |
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 86 KiB |
@@ -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
|
||||