NEWS
Драйвер Mega-ESP
-
Д
р
а
й
в
е
р
Mega-ESP
д
л
я
п
р
о
е
к
т
а
http://ab-log.ru/forum/viewtopic.php?f=1&t=1130
п
е
р
е
д
е
л
а
л
и
з
д
р
а
й
в
е
р
а
MegaD-328.cd /opt/iobroker npm install https://github.com/ausHaus/ioBroker.megaesp/tarball/master/ iobroker add megaesp
Н
а
д
а
н
н
ы
й
м
о
м
е
н
т
с
д
е
л
а
л
т
о
л
ь
к
о
с
т
а
н
д
а
р
т
н
ы
е
9
п
о
р
т
о
в
.WS281x -
п
о
к
а
ч
т
о
н
е
д
е
л
а
л
,
з
а
к
а
з
а
л
ж
д
у
I2C -
п
о
к
а
ч
т
о
н
е
д
е
л
а
л
MCP23017, PCA9685 -
з
а
к
а
з
а
л
ж
д
у
Д
р
а
й
в
е
р
с
ч
и
т
ы
в
а
е
т
н
а
с
т
р
о
й
к
и
с
ESP,
в
п
и
с
ы
в
а
е
т
н
а
с
т
р
о
й
к
и
в
ESP,
м
е
н
я
е
т
ip ESP(
п
а
р
о
л
ь
sec
н
е
т
р
о
г
а
й
т
е
и
н
е
м
е
н
я
й
т
е
),
п
р
о
п
и
с
ы
в
а
е
т
и
н
с
т
а
н
ц
и
ю
д
р
а
й
в
е
р
а
"0/".
В
с
ё
о
с
т
а
л
ь
н
о
е
а
н
а
л
о
г
и
ч
н
о
MegaD
С
о
о
т
в
е
т
с
т
в
и
я
п
о
р
т
о
в
:P0 - GPIO5
P1 - GPIO4
P2 - GPIO15 -
н
е
м
о
ж
е
т
б
ы
т
ь
DSen,
л
и
б
о
в
х
о
д
о
м
с
в
н
е
ш
н
и
м
р
е
з
и
с
т
о
р
о
м
п
о
д
т
я
ж
к
и
,P3 - GPIO13
P4 - GPIO12
P5 - GPIO14
P6 - GPIO16 -
н
е
м
о
ж
е
т
б
ы
т
ь
DSen ???P7 - GPIO0 -
н
е
м
о
ж
е
т
б
ы
т
ь
п
р
я
м
ы
м
в
ы
х
о
д
о
м
, (
н
е
л
ь
з
я
п
о
д
к
л
ю
ч
а
т
ь
п
р
я
м
у
ю
н
а
г
р
у
з
к
у
),P8 - GPIO2 -
н
е
м
о
ж
е
т
б
ы
т
ь
п
р
я
м
ы
м
в
ы
х
о
д
о
м
, (
н
е
л
ь
з
я
п
о
д
к
л
ю
ч
а
т
ь
п
р
я
м
у
ю
н
а
г
р
у
з
к
у
),P9 - ADC
П
р
о
б
у
е
м
,
о
т
п
и
с
ы
в
а
е
м
с
я
о
р
е
з
у
л
ь
т
а
т
а
х
. -
Д
р
а
й
в
е
р
Mega-ESP `
Д
р
а
й
в
е
р
у
с
т
а
н
о
в
и
л
с
я
б
е
з
п
р
о
б
л
е
м
.
Н
а
ж
и
м
а
ю
н
а
"Auto_Detekt",
в
и
з
у
а
л
ь
н
о
н
и
ч
е
г
о
н
е
п
р
о
и
с
х
о
д
и
т
,
т
о
л
ь
к
о
в
л
о
г
е
в
и
д
н
о
ч
т
о
ч
т
о
-
т
о
ч
и
т
а
е
т
В
л
о
г
е
:! ````
megaesp-0 2016-08-17 09:12:52.343 info read config from port: http://192.168.2.60/sec/cfg/?cn=1
megaesp-0 2016-08-17 09:12:52.341 error socket hang up
megaesp-0 2016-08-17 09:12:50.334 info read config from port: http://192.168.2.60/sec/?pt=26
megaesp-0 2016-08-17 09:12:50.332 error socket hang up
megaesp-0 2016-08-17 09:12:48.326 info read config from port: http://192.168.2.60/sec/?pt=25
megaesp-0 2016-08-17 09:12:48.324 error socket hang up
megaesp-0 2016-08-17 09:12:46.317 info read config from port: http://192.168.2.60/sec/?pt=24
megaesp-0 2016-08-17 09:12:46.316 error socket hang up
megaesp-0 2016-08-17 09:12:44.308 info read config from port: http://192.168.2.60/sec/?pt=23
megaesp-0 2016-08-17 09:12:44.307 error socket hang up
megaesp-0 2016-08-17 09:12:42.299 info read config from port: http://192.168.2.60/sec/?pt=22
megaesp-0 2016-08-17 09:12:42.298 error socket hang up
megaesp-0 2016-08-17 09:12:40.282 info read config from port: http://192.168.2.60/sec/?pt=21
megaesp-0 2016-08-17 09:12:40.281 error socket hang up
megaesp-0 2016-08-17 09:12:38.269 info read config from port: http://192.168.2.60/sec/?pt=20
megaesp-0 2016-08-17 09:12:38.268 error socket hang up
megaesp-0 2016-08-17 09:12:36.251 info read config from port: http://192.168.2.60/sec/?pt=19
megaesp-0 2016-08-17 09:12:36.244 error socket hang up
megaesp-0 2016-08-17 09:12:34.231 info read config from port: http://192.168.2.60/sec/?pt=18
megaesp-0 2016-08-17 09:12:34.230 error socket hang up
megaesp-0 2016-08-17 09:12:32.221 info read config from port: http://192.168.2.60/sec/?pt=17
megaesp-0 2016-08-17 09:12:32.219 error socket hang up
megaesp-0 2016-08-17 09:12:30.204 info read config from port: http://192.168.2.60/sec/?pt=16
megaesp-0 2016-08-17 09:12:30.203 error socket hang up
megaesp-0 2016-08-17 09:12:28.165 info read config from port: http://192.168.2.60/sec/?pt=15
megaesp-0 2016-08-17 09:12:28.164 error socket hang up
megaesp-0 2016-08-17 09:12:26.147 info read config from port: http://192.168.2.60/sec/?pt=14
megaesp-0 2016-08-17 09:12:26.146 error socket hang up
megaesp-0 2016-08-17 09:12:24.134 info read config from port: http://192.168.2.60/sec/?pt=13
megaesp-0 2016-08-17 09:12:24.134 error socket hang up
megaesp-0 2016-08-17 09:12:22.113 info read config from port: http://192.168.2.60/sec/?pt=12
megaesp-0 2016-08-17 09:12:22.110 error socket hang up
megaesp-0 2016-08-17 09:12:20.096 info read config from port: http://192.168.2.60/sec/?pt=11
megaesp-0 2016-08-17 09:12:20.095 error socket hang up
megaesp-0 2016-08-17 09:12:18.082 info read config from port: http://192.168.2.60/sec/?pt=10
megaesp-0 2016-08-17 09:12:18.071 info read config from port: http://192.168.2.60/sec/?pt=9
megaesp-0 2016-08-17 09:12:18.061 info read config from port: http://192.168.2.60/sec/?pt=8
megaesp-0 2016-08-17 09:12:18.052 info read config from port: http://192.168.2.60/sec/?pt=7
megaesp-0 2016-08-17 09:12:18.042 info read config from port: http://192.168.2.60/sec/?pt=6
megaesp-0 2016-08-17 09:12:18.032 info read config from port: http://192.168.2.60/sec/?pt=5
megaesp-0 2016-08-17 09:12:18.021 info read config from port: http://192.168.2.60/sec/?pt=4
megaesp-0 2016-08-17 09:12:18.012 info read config from port: http://192.168.2.60/sec/?pt=3
megaesp-0 2016-08-17 09:12:18.003 info read config from port: http://192.168.2.60/sec/?pt=2
megaesp-0 2016-08-17 09:12:17.993 info read config from port: http://192.168.2.60/sec/?pt=1
megaesp-0 2016-08-17 09:12:17.979 info read config from port: http://192.168.2.60/sec/?pt=0
megaesp-0 2016-08-17 09:10:51.219 info Device "192.168.2.60" is connected
megaesp-0 2016-08-17 09:10:51.104 info http server listening on port 89
megaesp-0 2016-08-17 09:10:51.072 info starting. Version 0.0.1 in /opt/iobroker/node_modules/iobroker.megaespПри добавлении портов не всё прописалось правильно, все прописались как вход. Но были и вход и выход и деактивированные. На аналоговом порту Р9 (у меня там висит датчик освещённости), в поле ****Typ**** не даёт ничего выбрать, это так и должно? Сам датчик работает и параметры в ioB отображает. -
Д
р
а
й
в
е
р
Mega-ESP `
Д
р
а
й
в
е
р
у
с
т
а
н
о
в
и
л
с
я
б
е
з
п
р
о
б
л
е
м
.
Н
а
ж
и
м
а
ю
н
а
"Auto_Detekt",
в
и
з
у
а
л
ь
н
о
н
и
ч
е
г
о
н
е
п
р
о
и
с
х
о
д
и
т
,
т
о
л
ь
к
о
в
л
о
г
е
в
и
д
н
о
ч
т
о
ч
т
о
-
т
о
ч
и
т
а
е
т
`
Alex
п
а
п
р
о
б
у
й
т
е
б
е
з
MCP23017
и
PCA9685
т
о
л
ь
к
о
с
а
м
а
ESP,
к
а
к
а
я
ESP
у
в
а
с
и
п
р
о
ш
и
в
к
а
?
@Alex1808:
Д
р
а
й
в
е
р
Mega-ESP При добавлении портов не всё прописалось правильно, все прописались как вход. Но были и вход и выход и деактивированные.
П
р
и
д
о
б
а
в
л
е
н
и
и
п
о
р
т
о
в
в
р
у
ч
н
у
ю
н
а
с
т
р
о
й
к
и
н
а
д
о
в
ы
б
и
р
а
т
ь
в
р
у
ч
н
у
ю
@Alex1808:
Д
р
а
й
в
е
р
Mega-ESP На аналоговом порту Р9 (у меня там висит датчик освещённости), в поле ****Typ**** не даёт ничего выбрать, это так и должно? Сам датчик работает и параметры в ioB отображает.
П
о
р
т
P9
м
о
ж
е
т
б
ы
т
ь
т
о
л
ь
к
о
ADCP.S.
С
к
и
н
ь
с
к
р
и
н
ш
о
т
с
п
о
д
к
л
ю
ч
ё
н
н
ы
м
MCP23017
и
к
а
к
и
е
н
а
с
т
р
о
й
к
и
в
п
о
р
т
е
P10
…
-
Alex
п
а
п
р
о
б
у
й
т
е
б
е
з
MCP23017
и
PCA9685
т
о
л
ь
к
о
с
а
м
а
ESP,
к
а
к
а
я
ESP
у
в
а
с
и
п
р
о
ш
и
в
к
а
? `
Т
е
с
т
п
р
о
в
о
д
и
л
н
а
ESP8266 ESP-12E (Wemos D1),
п
р
о
ш
и
в
к
а
п
о
с
л
е
д
н
я
я
(fw: 0.33b2).
Б
е
з
MCP23017
п
о
п
р
о
б
у
ю
с
е
г
о
д
н
я
в
е
ч
е
р
о
м
.> При добавлении портов в ручную настройки надо выбирать в ручную
я
с
н
о
.
з
н
а
ч
и
т
п
о
р
т
ы
д
о
л
ж
н
ы
б
ы
л
и
д
о
б
а
в
и
т
с
я
п
р
и
с
к
а
н
и
р
о
в
а
н
и
и
в
а
в
т
о
-
р
е
ж
и
м
е
?> Порт P9 может быть только ADC
Н
у
я
т
а
к
и
п
о
н
я
л
,
с
а
м
п
о
р
т
р
а
б
о
т
а
е
т
и
ш
л
ё
т
д
а
н
н
ы
е
.> P.S. Скинь скриншот с подключённым MCP23017 и какие настройки в порте P10…
З
д
е
с
ь
!

<link_text text="http://image.prntscr.com/image/da081e63 ... 28f581.png">http://image.prntscr.com/image/da081e63795747c8bb9234aee628f581.png</link_text>" /><link_text text="http://image.prntscr.com/image/e5ef3864 ... 2d0afd.png">http://image.prntscr.com/image/e5ef3864335947febc2124e05e2d0afd.png</link_text>" />
!
!
<link_text text="http://image.prntscr.com/image/327bace1 ... 28a3ec.png">http://image.prntscr.com/image/327bace1ce1d4c208e1fb1d5ff28a3ec.png</link_text>" />~~~~ ~~~~~~Upd.
П
р
о
в
е
р
и
л
б
е
з
М
С
Р
23017,
п
о
р
т
ы
п
р
о
п
и
с
а
л
и
с
ь
а
в
т
о
м
а
т
о
м
!

<link_text text="http://image.prntscr.com/image/68dbf234 ... f3a9f0.png">http://image.prntscr.com/image/68dbf23476014b96a667b42727f3a9f0.png</link_text>" />~~~~~~ -
> P.S. Скинь скриншот с подключённым MCP23017 и какие настройки в порте P10…
З
д
е
с
ь
!

<link_text text="http://image.prntscr.com/image/da081e63 ... 28f581.png">http://image.prntscr.com/image/da081e63795747c8bb9234aee628f581.png</link_text>" /><link_text text="http://image.prntscr.com/image/e5ef3864 ... 2d0afd.png">http://image.prntscr.com/image/e5ef3864335947febc2124e05e2d0afd.png</link_text>" />
!
!
<link_text text="http://image.prntscr.com/image/327bace1 ... 28a3ec.png">http://image.prntscr.com/image/327bace1ce1d4c208e1fb1d5ff28a3ec.png</link_text>" />~~~~~~~~~~
И
з
в
и
н
и
м
н
е
б
ы
html 
В
п
р
и
н
ц
и
п
е
М
С
Р
23017
н
е
д
о
л
ж
е
н
м
е
ш
а
т
ь
.~~~~~~ -
И
з
в
и
н
и
м
н
е
б
ы
html 
В
п
р
и
н
ц
и
п
е
М
С
Р
23017
н
е
д
о
л
ж
е
н
м
е
ш
а
т
ь
. `
т
а
к
?<title>MegaESP</title>[Back](/sec/) -- Ports -- [P10 - IN](/sec/?mc=10) [P11 - IN](/sec/?mc=11) [P12 - IN](/sec/?mc=12) [P13 - IN](/sec/?mc=13) [P14 - IN](/sec/?mc=14) [P15 - IN](/sec/?mc=15) [P16 - IN](/sec/?mc=16) [P17 - IN](/sec/?mc=17) [P18 - OUT](/sec/?mc=18) [P19 - OUT](/sec/?mc=19) [P20 - OUT](/sec/?mc=20) [P21 - OUT](/sec/?mc=21) [P22 - OUT](/sec/?mc=22) [P23 - OUT](/sec/?mc=23) [P24 - OUT](/sec/?mc=24) [P25 - OUT](/sec/?mc=25)<title>MegaESP</title>[Back](/sec/?mc=1) (pin A0) P10/OFF <form action="/sec/">Type: <select name="in"><option value="0">OUT</option><option value="1" selected="">IN</option></select> mod <select name="pm"><option value="0">P</option><option value="1">P&R</option><option value="2" selected="">R</option></select> | <select name="rm"><option value="0" selected="">Default</option><option value="1">Act</option></select> Act: </form> -
И
з
в
и
н
и
м
н
е
б
ы
html 
В
п
р
и
н
ц
и
п
е
М
С
Р
23017
н
е
д
о
л
ж
е
н
м
е
ш
а
т
ь
. `
т
а
к
?<title>MegaESP</title>[Back](/sec/) -- Ports -- [P10 - IN](/sec/?mc=10) [P11 - IN](/sec/?mc=11) [P12 - IN](/sec/?mc=12) [P13 - IN](/sec/?mc=13) [P14 - IN](/sec/?mc=14) [P15 - IN](/sec/?mc=15) [P16 - IN](/sec/?mc=16) [P17 - IN](/sec/?mc=17) [P18 - OUT](/sec/?mc=18) [P19 - OUT](/sec/?mc=19) [P20 - OUT](/sec/?mc=20) [P21 - OUT](/sec/?mc=21) [P22 - OUT](/sec/?mc=22) [P23 - OUT](/sec/?mc=23) [P24 - OUT](/sec/?mc=24) [P25 - OUT](/sec/?mc=25)<title>MegaESP</title>[Back](/sec/?mc=1) (pin A0) P10/OFF <form action="/sec/">Type: <select name="in"><option value="0">OUT</option><option value="1" selected="">IN</option></select> mod <select name="pm"><option value="0">P</option><option value="1">P&R</option><option value="2" selected="">R</option></select> | <select name="rm"><option value="0" selected="">Default</option><option value="1">Act</option></select> Act: </form> ```` `
Д
а
с
п
а
с
и
б
о
? -
И
з
в
и
н
и
м
н
е
б
ы
html 
В
п
р
и
н
ц
и
п
е
М
С
Р
23017
н
е
д
о
л
ж
е
н
м
е
ш
а
т
ь
. `
т
а
к
?<title>MegaESP</title>[Back](/sec/) -- Ports -- [P10 - IN](/sec/?mc=10) [P11 - IN](/sec/?mc=11) [P12 - IN](/sec/?mc=12) [P13 - IN](/sec/?mc=13) [P14 - IN](/sec/?mc=14) [P15 - IN](/sec/?mc=15) [P16 - IN](/sec/?mc=16) [P17 - IN](/sec/?mc=17) [P18 - OUT](/sec/?mc=18) [P19 - OUT](/sec/?mc=19) [P20 - OUT](/sec/?mc=20) [P21 - OUT](/sec/?mc=21) [P22 - OUT](/sec/?mc=22) [P23 - OUT](/sec/?mc=23) [P24 - OUT](/sec/?mc=24) [P25 - OUT](/sec/?mc=25)<title>MegaESP</title>[Back](/sec/?mc=1) (pin A0) P10/OFF <form action="/sec/">Type: <select name="in"><option value="0">OUT</option><option value="1" selected="">IN</option></select> mod <select name="pm"><option value="0">P</option><option value="1">P&R</option><option value="2" selected="">R</option></select> | <select name="rm"><option value="0" selected="">Default</option><option value="1">Act</option></select> Act: </form> ```` `OUT html
с
к
и
н
ь
. -
OUT html
с
к
и
н
ь
. `<title>MegaESP</title>[Back](/sec/?mc=1) (pin B0) P18/OFF [ON](/sec/?mc=18&cmd=18:1) <form action="/sec/">Type: <select name="in"><option value="0" selected="">OUT</option><option value="1">IN</option></select> | <select name="dm"><option value="0" selected="">OFF</option><option value="1">ON</option></select> </form> -
С
п
а
с
и
б
о
з
а
д
р
а
й
в
е
р
.
Н
и
к
а
к
н
е
п
о
й
м
у
ч
т
о
я
д
е
л
а
ю
н
е
т
а
к
…
М
у
ч
а
я
RGB
В
о
б
ъ
е
к
т
а
х
з
н
а
ч
е
н
и
е
у
п
о
р
т
а
PWM - true.
К
о
г
д
а
м
е
н
я
ю
з
н
а
ч
е
н
и
е
,
т
о
о
н
о
п
р
а
к
т
и
ч
е
с
к
и
м
г
н
о
в
е
н
н
о
в
о
з
в
р
а
щ
а
е
т
с
я
с
н
о
в
а
в
true.
В
к
о
н
ф
и
г
е
д
р
а
й
в
е
р
а
Р
О
Л
Ь
у
к
а
з
ы
в
а
л
и
value
и
level
и
п
у
с
т
о
,
в
с
е
р
а
в
н
о
и
л
и
true
и
л
и
false
в
м
е
с
т
о
з
н
а
ч
е
н
и
й
о
т
0
д
о
255.P9
с
ADC
в
ы
д
а
е
т
в
с
е
г
д
а
к
а
к
и
н
у
ж
н
о
ц
и
ф
р
ы
.PS:
С
MQTT
р
а
б
о
т
а
л
о
х
о
р
о
ш
о
. -
С
п
а
с
и
б
о
з
а
д
р
а
й
в
е
р
.
Н
и
к
а
к
н
е
п
о
й
м
у
ч
т
о
я
д
е
л
а
ю
н
е
т
а
к
…
М
у
ч
а
я
RGB
В
о
б
ъ
е
к
т
а
х
з
н
а
ч
е
н
и
е
у
п
о
р
т
а
PWM - true.
К
о
г
д
а
м
е
н
я
ю
з
н
а
ч
е
н
и
е
,
т
о
о
н
о
п
р
а
к
т
и
ч
е
с
к
и
м
г
н
о
в
е
н
н
о
в
о
з
в
р
а
щ
а
е
т
с
я
с
н
о
в
а
в
true.
В
к
о
н
ф
и
г
е
д
р
а
й
в
е
р
а
Р
О
Л
Ь
у
к
а
з
ы
в
а
л
и
value
и
level
и
п
у
с
т
о
,
в
с
е
р
а
в
н
о
и
л
и
true
и
л
и
false
в
м
е
с
т
о
з
н
а
ч
е
н
и
й
о
т
0
д
о
255.P9
с
ADC
в
ы
д
а
е
т
в
с
е
г
д
а
к
а
к
и
н
у
ж
н
о
ц
и
ф
р
ы
.PS:
С
MQTT
р
а
б
о
т
а
л
о
х
о
р
о
ш
о
. `
О
б
н
о
в
и
с
ь
н
а
0.0.2
н
о
е
щ
ё
п
о
к
а
н
е
р
а
б
о
т
а
е
т
RGB
с
е
й
ч
а
с
к
а
к
р
а
с
д
е
л
а
ю
,
н
е
в
ы
х
о
д
и
т
:xcd /opt/iobroker npm install https://github.com/ausHaus/ioBroker.megaesp/tarball/master/ iobroker upload megaesp iobroker restart megaesp -
Bluefox
п
о
м
о
г
и
,
н
и
к
а
к
к
о
м
а
н
д
у
с
'http://espIP/sec/?pt=3&r=25&g=180&b=164'
в
ы
в
е
с
т
и
н
е
м
о
г
у
в
main.js sendCommandToRGB,
т
о
в
с
ё
о
д
н
о
г
о
ц
в
е
т
а
т
о
Send command "pt=2&r=undefined&g=undefined&b=128" to 192.168.1.20 :xmain.js "function sendCommandToRGB"
function sendCommandToRGB(port, value) { //'http://espIP/sec/?pt=3&r=25&g=25&b=25' ////////////////////////////// var data = 'pt=' + port + (value || 0); ////////////////////////////// var parts = adapter.config.ip.split(':'); var options = { host: parts[0], port: parts[1] || 80, path: '/' + adapter.config.password + '/?' + data }; adapter.log.debug('Send command "' + data + '" to ' + adapter.config.ip); // Set up the request http.get(options, function (res) { var xmldata = ''; res.setEncoding('utf8'); res.on('error', function (e) { adapter.log.warn(e.toString()); }); res.on('data', function (chunk) { xmldata += chunk; }); res.on('end', function () { adapter.log.debug('Response "' + xmldata + '"'); }); }).on('error', function (e) { adapter.log.warn('Got error by post request ' + e.toString()); }); }main.js "sendCommandToRGB"
adapter.on('stateChange', function (id, state) { if (id && state && !state.ack) { if (!ports[id]) { adapter.log.error('Unknown port ID ' + id); return; ........ ........ if (parseFloat(state.val) == state.val) { // If number => set position state.val = parseFloat(state.val); if (state.val < 0) { adapter.log.warn(': invalid control value ' + state.val + '. Value must be positive'); state.val = 0; } ........ ........ if (ports[id].common.type == 'string') { //////////////////////////////////////////////////// } else if (id.indexOf('_red') !== -1) { var red = (ports[id].native.red, state.val); adapter.log.debug('R: ' + red); } else if (id.indexOf('_green') !== -1) { var green = (ports[id].native.green, state.val); adapter.log.debug('G: ' + green); } else if (id.indexOf('_blue') !== -1) { var blue = (ports[id].native.blue, state.val); adapter.log.debug('B: ' + blue); adapter.log.debug('RGB: ' + red + green + blue); state.val = ('&r=' + red + '&g=' + green + '&b=' + blue); sendCommandToRGB(ports[id].native.port, state.val); ////////////////////////////////////////// } else { ports[id].native.offset = parseFloat(ports[id].native.offset || 0) || 0; ports[id].native.factor = parseFloat(ports[id].native.factor || 1) || 1; state.val = (state.val - ports[id].native.offset) / ports[id].native.factor; state.val = Math.round(state.val); sendCommand(ports[id].native.port, state.val); } } } });log
megaesp.0 2016-08-23 02:27:58.730 debug megaesp.0 Response "Back P2 val. 0-255 megaesp.0 2016-08-23 02:27:58.730 debug megaesp.0 Send command "pt=2&r=undefined&g=undefined&b=128" to 192.168.1.20 megaesp.0 2016-08-23 02:27:58.729 debug megaesp.0 RGB: undefinedundefined128 megaesp.0 2016-08-23 02:27:58.729 debug megaesp.0 B: 128 megaesp.0 2016-08-23 02:27:58.729 info megaesp.0 try to control megaesp.0.p2_P2_blue with 128 megaesp.0 2016-08-23 02:27:58.729 debug megaesp.0 G: 130 megaesp.0 2016-08-23 02:27:58.729 info megaesp.0 try to control megaesp.0.p2_P2_green with 130 megaesp.0 2016-08-23 02:27:58.728 debug inMem message megaesp.0.* megaesp.0.p2_P2_blue megaesp.0 2016-08-23 02:27:58.728 debug inMem message megaesp.0.* megaesp.0.p2_P2_green megaesp.0 2016-08-23 02:27:58.686 debug megaesp.0 R: 185 megaesp.0 2016-08-23 02:27:58.686 info megaesp.0 try to control megaesp.0.p2_P2_red with 185 megaesp.0 2016-08-23 02:27:58.684 debug inMem message megaesp.0.* megaesp.0.p2_P2_red -
О
б
н
о
в
и
с
ь
н
а
0.0.2
н
о
е
щ
ё
п
о
к
а
н
е
р
а
б
о
т
а
е
т
RGB
с
е
й
ч
а
с
к
а
к
р
а
с
д
е
л
а
ю
,
н
е
в
ы
х
о
д
и
т
:xcd /opt/iobroker npm install https://github.com/ausHaus/ioBroker.megaesp/tarball/master/ iobroker upload megaesp iobroker restart megaesp ```` `
Д
а
у
м
е
н
я
и
т
а
к
0.0.2
в
е
р
с
и
я
.
Я
и
с
п
о
л
ь
з
у
ю
т
р
и
в
ы
х
о
д
а
к
а
к
PWM,
а
н
е
WS2811
…
И
л
и
м
о
ж
н
о
RGB
п
о
д
к
л
ю
ч
и
т
ь
п
о
д
р
у
г
о
м
у
?
Ч
т
о
з
а
м
е
т
и
л
,
е
с
л
и
и
с
п
о
л
ь
з
у
ю
Philips HUE
и
RGB color,
т
о
ц
в
е
т
а
р
е
г
у
л
и
р
у
ю
т
с
я
...
А
е
с
л
и
farbtastic
т
о
н
е
т
.
А
з
н
а
ч
е
н
и
я
е
с
л
и
с
м
о
т
р
е
т
ь
-
т
о
true!!!
О
б
ъ
е
к
т
ы
ц
в
е
т
о
в
п
р
о
п
и
с
ы
в
а
ю
в
о
в
к
л
а
д
к
е
R.G.B. -
Bluefox
п
о
м
о
г
и
,
н
и
к
а
к
к
о
м
а
н
д
у
с
'http://espIP/sec/?pt=3&r=25&g=180&b=164'
в
ы
в
е
с
т
и
н
е
м
о
г
у
в
main.js sendCommandToRGB,
т
о
в
с
ё
о
д
н
о
г
о
ц
в
е
т
а
т
о
Send command "pt=2&r=undefined&g=undefined&b=128" to 192.168.1.20 :xmain.js "function sendCommandToRGB" `
М
н
е
б
ы
л
о
б
ы
п
р
о
щ
е
,
е
с
л
и
б
ы
к
о
д
б
ы
л
н
а
г
и
т
е
.! ```
`var rgbs = {};
! ....
! function sendCommandToRGB(rgbId) {
rgbs[rgbId].timer = null;
var port = ports[rgbId + '_blue'].native.port;//'http://espIP/sec/?pt=3&r=25&g=25&b=25' var data = 'pt=' + port + '&r=' + (rgbs[rgbId].red || 0) + '&g=' + (rgbs[rgbId].green || 0) + '&b=' + (rgbs[rgbId].blue || 0);! var parts = adapter.config.ip.split(':');
! var options = {
host: parts[0],
port: parts[1] || 80,
path: '/' + adapter.config.password + '/?' + data
};
adapter.log.debug('Send command "' + data + '" to ' + adapter.config.ip);
// Set up the request
http.get(options, function (res) {
var xmldata = '';
res.setEncoding('utf8');
res.on('error', function (e) {
adapter.log.warn(e.toString());
});
res.on('data', function (chunk) {
xmldata += chunk;
});
res.on('end', function () {
adapter.log.debug('Response "' + xmldata + '"');
});
}).on('error', function (e) {
adapter.log.warn('Got error by post request ' + e.toString());
});
}
! .....
! adapter.on('stateChange', function (id, state) {
....
if (ports[id].common.type === 'string') { ////////////////////////////////////////////////////
! } else if (id.match(/_red|_blue|green^/)) {
var pos = id.lastIndexOf('');
var rgbId = id.substring(0, pos);
var color = id.substring(pos + 1);rgbs[rgbId] = rgbs[rgbId] || {}; rgbs[rgbId][color] = state.val; // stop timer if running if (rgbs[rgbId].timer) clearTimeout(rgbs[rgbId].timer); // if no more changes in 100 ms, send command to device rgbs[rgbId].timer = setTimeout(sendCommandToRGB, 100, rgbId); } else { ... }`[/color] -
Bluefox
п
о
м
о
г
и
,
н
и
к
а
к
к
о
м
а
н
д
у
с
'http://espIP/sec/?pt=3&r=25&g=180&b=164'
в
ы
в
е
с
т
и
н
е
м
о
г
у
в
main.js sendCommandToRGB,
т
о
в
с
ё
о
д
н
о
г
о
ц
в
е
т
а
т
о
Send command "pt=2&r=undefined&g=undefined&b=128" to 192.168.1.20 :xmain.js "function sendCommandToRGB" `
М
н
е
б
ы
л
о
б
ы
п
р
о
щ
е
,
е
с
л
и
б
ы
к
о
д
б
ы
л
н
а
г
и
т
е
.! ```
`var rgbs = {};
! ....
! function sendCommandToRGB(rgbId) {
rgbs[rgbId].timer = null;
var port = ports[rgbId + '_blue'].native.port;//'http://espIP/sec/?pt=3&r=25&g=25&b=25'
var data = 'pt=' + port + '&r=' + (rgbs[rgbId].red || 0) + '&g=' + (rgbs[rgbId].green || 0) + '&b=' + (rgbs[rgbId].blue || 0);! var parts = adapter.config.ip.split(':');
! var options = {
host: parts[0],
port: parts[1] || 80,
path: '/' + adapter.config.password + '/?' + data
};
adapter.log.debug('Send command "' + data + '" to ' + adapter.config.ip);
// Set up the request
http.get(options, function (res) {
var xmldata = '';
res.setEncoding('utf8');
res.on('error', function (e) {
adapter.log.warn(e.toString());
});
res.on('data', function (chunk) {
xmldata += chunk;
});
res.on('end', function () {
adapter.log.debug('Response "' + xmldata + '"');
});
}).on('error', function (e) {
adapter.log.warn('Got error by post request ' + e.toString());
});
}
! .....
! adapter.on('stateChange', function (id, state) {
....
if (ports[id].common.type === 'string') { ////////////////////////////////////////////////////
! } else if (id.match(/_red|_blue|green^/)) {
var pos = id.lastIndexOf('');
var rgbId = id.substring(0, pos);
var color = id.substring(pos + 1);rgbs[rgbId] = rgbs[rgbId] || {}; rgbs[rgbId][color] = state.val; // stop timer if running if (rgbs[rgbId].timer) clearTimeout(rgbs[rgbId].timer); // if no more changes in 100 ms, send command to device rgbs[rgbId].timer = setTimeout(sendCommandToRGB, 100, rgbId);} else {
...
}`
С
п
а
с
и
б
о
,
с
е
й
ч
а
с
б
у
д
у
п
р
о
б
ы
в
а
т
ь

!
У
ж
е
д
в
е
н
е
д
е
л
и
т
а
м
:roll: https://github.com/ausHaus/ioBroker.megaesp
! P.S.
В
с
ё
в
р
о
д
е
н
е
п
л
о
х
о
н
о
о
д
и
н
ц
в
е
т
о
т
п
р
а
в
л
я
е
т
н
а
"cmd"
~~[code]~~megaesp-0 2016-08-23 17:52:39.516 debug Response for 192.168.1.20[all]: 155;255;80;temp:20.00/hum:79.60;temp:19.50;ON;RGB;NC;NC;33 megaesp-0 2016-08-23 17:52:39.420 debug getPortState http://192.168.1.20/sec/?cmd=all megaesp-0 2016-08-23 17:52:35.634 debug Response "Back P6 val. 0-255 megaesp-0 2016-08-23 17:52:35.615 debug Send command "pt=6&r=255&g=209&b=0" to 192.168.1.20 inMem 2016-08-23 17:52:35.591 debug message megaesp.0.* megaesp.0.p6_P6 val=null, ack=true, ts=1471963955585, q=0, from=system.adapter.megaesp.0, lc=1471961464774 megaesp-0 2016-08-23 17:52:35.568 debug Response "Done" megaesp-0 2016-08-23 17:52:35.547 debug Send command "cmd=6:43" to 192.168.1.20 megaesp-0 2016-08-23 17:52:35.546 info try to control megaesp.0.p6_P6_blue with 43 inMem 2016-08-23 17:52:35.541 debug message megaesp.0.* megaesp.0.p6_P6_blue val=43, ack=false, ts=1471963955507, q=0, from=system.adapter.socketio.0, lc=1471963954498 megaesp-0 2016-08-23 17:52:35.514 info try to control megaesp.0.p6_P6_green with 209 inMem 2016-08-23 17:52:35.511 debug message megaesp.0.* megaesp.0.p6_P6_green val=209, ack=false, ts=1471963955497, q=0, from=system.adapter.socketio.0, lc=1471963954490 megaesp-0 2016-08-23 17:52:35.486 info try to control megaesp.0.p6_P6_red with 255 inMem 2016-08-23 17:52:35.479 debug message megaesp.0.* megaesp.0.p6_P6_red val=255, ack=false, ts=1471963955466, q=0, from=system.adapter.socketio.0, lc=1471963952798[/code]
! P.S.2
Д
о
б
а
в
и
л
"....|blue|^..."
~~[code]~~} else if (id.match(/_red|_green|_blue|_^/)) {[/code]
р
а
б
о
т
а
е
т
н
о
р
м
а
л
ь
н
о
[/color]
``` ` -
Ч
т
о
з
а
м
е
т
и
л
,
е
с
л
и
и
с
п
о
л
ь
з
у
ю
Philips HUE
и
RGB color,
т
о
ц
в
е
т
а
р
е
г
у
л
и
р
у
ю
т
с
я
…
А
е
с
л
и
farbtastic
т
о
н
е
т
.
А
з
н
а
ч
е
н
и
я
е
с
л
и
с
м
о
т
р
е
т
ь
-
т
о
true!!!
О
б
ъ
е
к
т
ы
ц
в
е
т
о
в
п
р
о
п
и
с
ы
в
а
ю
в
о
в
к
л
а
д
к
е
R.G.B.
П
о
д
п
р
а
в
и
л
,
п
р
о
б
у
й
0.0.3cd /opt/iobroker npm install https://github.com/ausHaus/ioBroker.megaesp/tarball/master/ iobroker upload megaesp iobroker restart megaesp -
Ч
т
о
з
а
м
е
т
и
л
,
е
с
л
и
и
с
п
о
л
ь
з
у
ю
Philips HUE
и
RGB color,
т
о
ц
в
е
т
а
р
е
г
у
л
и
р
у
ю
т
с
я
…
А
е
с
л
и
farbtastic
т
о
н
е
т
.
А
з
н
а
ч
е
н
и
я
е
с
л
и
с
м
о
т
р
е
т
ь
-
т
о
true!!!
О
б
ъ
е
к
т
ы
ц
в
е
т
о
в
п
р
о
п
и
с
ы
в
а
ю
в
о
в
к
л
а
д
к
е
R.G.B.
П
о
д
п
р
а
в
и
л
,
п
р
о
б
у
й
0.0.3cd /opt/iobroker npm install https://github.com/ausHaus/ioBroker.megaesp/tarball/master/ iobroker upload megaesp iobroker restart megaesp ```` `
С
п
а
с
и
б
о
!
Т
е
п
е
р
ь
н
о
р
м
.PS:
А
у
В
а
с
P6
к
а
к
с
к
о
н
ф
и
г
у
р
и
р
о
в
а
н
?
В
о
п
р
о
с
с
н
я
т
…
п
о
н
я
л
ч
т
о
WS2811.
А
к
т
о
в
с
т
р
е
ч
а
л
в
п
р
о
д
а
ж
е
и
г
д
е
WS2811
в
DIP
к
о
р
п
у
с
е
,
ч
т
о
б
ы
о
т
д
е
л
ь
н
о
к
н
е
м
у
у
с
и
л
и
т
е
л
и
п
о
д
к
л
ю
ч
и
т
ь
м
о
ж
н
о
б
ы
л
о
. -
Bluefox
п
о
м
о
г
и
,
н
и
к
а
к
к
о
м
а
н
д
у
с
'http://espIP/sec/?pt=3&r=25&g=180&b=164'
в
ы
в
е
с
т
и
н
е
м
о
г
у
в
main.js sendCommandToRGB,
т
о
в
с
ё
о
д
н
о
г
о
ц
в
е
т
а
т
о
Send command "pt=2&r=undefined&g=undefined&b=128" to 192.168.1.20 :xmain.js "function sendCommandToRGB" `
М
н
е
б
ы
л
о
б
ы
п
р
о
щ
е
,
е
с
л
и
б
ы
к
о
д
б
ы
л
н
а
г
и
т
е
.! ```
`var rgbs = {};
! ....
! function sendCommandToRGB(rgbId) {
rgbs[rgbId].timer = null;
var port = ports[rgbId + '_blue'].native.port;//'http://espIP/sec/?pt=3&r=25&g=25&b=25' var data = 'pt=' + port + '&r=' + (rgbs[rgbId].red || 0) + '&g=' + (rgbs[rgbId].green || 0) + '&b=' + (rgbs[rgbId].blue || 0);! var parts = adapter.config.ip.split(':');
! var options = {
host: parts[0],
port: parts[1] || 80,
path: '/' + adapter.config.password + '/?' + data
};
adapter.log.debug('Send command "' + data + '" to ' + adapter.config.ip);
// Set up the request
http.get(options, function (res) {
var xmldata = '';
res.setEncoding('utf8');
res.on('error', function (e) {
adapter.log.warn(e.toString());
});
res.on('data', function (chunk) {
xmldata += chunk;
});
res.on('end', function () {
adapter.log.debug('Response "' + xmldata + '"');
});
}).on('error', function (e) {
adapter.log.warn('Got error by post request ' + e.toString());
});
}
! .....
! adapter.on('stateChange', function (id, state) {
....
if (ports[id].common.type === 'string') { ////////////////////////////////////////////////////
! } else if (id.match(/_red|_blue|green^/)) {
var pos = id.lastIndexOf('');
var rgbId = id.substring(0, pos);
var color = id.substring(pos + 1);rgbs[rgbId] = rgbs[rgbId] || {}; rgbs[rgbId][color] = state.val; // stop timer if running if (rgbs[rgbId].timer) clearTimeout(rgbs[rgbId].timer); // if no more changes in 100 ms, send command to device rgbs[rgbId].timer = setTimeout(sendCommandToRGB, 100, rgbId); } else { ... }`
С
п
а
с
и
б
о
,
с
е
й
ч
а
с
б
у
д
у
п
р
о
б
ы
в
а
т
ь

!
У
ж
е
д
в
е
н
е
д
е
л
и
т
а
м
:roll: https://github.com/ausHaus/ioBroker.megaesp
! P.S.
В
с
ё
в
р
о
д
е
н
е
п
л
о
х
о
н
о
о
д
и
н
ц
в
е
т
о
т
п
р
а
в
л
я
е
т
н
а
"cmd"
~~[code]~~megaesp-0 2016-08-23 17:52:39.516 debug Response for 192.168.1.20[all]: 155;255;80;temp:20.00/hum:79.60;temp:19.50;ON;RGB;NC;NC;33 megaesp-0 2016-08-23 17:52:39.420 debug getPortState http://192.168.1.20/sec/?cmd=all megaesp-0 2016-08-23 17:52:35.634 debug Response "Back P6 val. 0-255 megaesp-0 2016-08-23 17:52:35.615 debug Send command "pt=6&r=255&g=209&b=0" to 192.168.1.20 inMem 2016-08-23 17:52:35.591 debug message megaesp.0.* megaesp.0.p6_P6 val=null, ack=true, ts=1471963955585, q=0, from=system.adapter.megaesp.0, lc=1471961464774 megaesp-0 2016-08-23 17:52:35.568 debug Response "Done" megaesp-0 2016-08-23 17:52:35.547 debug Send command "cmd=6:43" to 192.168.1.20 megaesp-0 2016-08-23 17:52:35.546 info try to control megaesp.0.p6_P6_blue with 43 inMem 2016-08-23 17:52:35.541 debug message megaesp.0.* megaesp.0.p6_P6_blue val=43, ack=false, ts=1471963955507, q=0, from=system.adapter.socketio.0, lc=1471963954498 megaesp-0 2016-08-23 17:52:35.514 info try to control megaesp.0.p6_P6_green with 209 inMem 2016-08-23 17:52:35.511 debug message megaesp.0.* megaesp.0.p6_P6_green val=209, ack=false, ts=1471963955497, q=0, from=system.adapter.socketio.0, lc=1471963954490 megaesp-0 2016-08-23 17:52:35.486 info try to control megaesp.0.p6_P6_red with 255 inMem 2016-08-23 17:52:35.479 debug message megaesp.0.* megaesp.0.p6_P6_red val=255, ack=false, ts=1471963955466, q=0, from=system.adapter.socketio.0, lc=1471963952798[/code]
! P.S.2
Д
о
б
а
в
и
л
"....|blue|^..."
~~[code]~~} else if (id.match(/_red|_green|_blue|_^/)) {[/code]
р
а
б
о
т
а
е
т
н
о
р
м
а
л
ь
н
о
filename="RGB.png" index="0">~~
Т
а
м
о
ш
и
б
к
а
б
ы
л
а
в
regexp.
Я
т
е
б
е
pull request
о
т
п
р
а
в
и
л
.[/color]
```
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden