Страница 5 из 7

Re: Освещение Mi-Light (MiLight)

Добавлено: Ср янв 11, 2017 8:30 am
havenofear
sergejey писал(а):Даже не знаю, чем могу помочь... Если там такой же контроллер, как и старый, то должно работать по рекомендациям из темы. Если не такой и изменился протокол, то надо искать как с ним работать и реализовывать поддержку.
У этого контроллера плюс ко всему есть ещё лампочка в нём самом. Я подозреваю, что пробллема заключается в том, что этот контроллер может испускать сигналы от разных пультов. И я просто через скрипт испускаю не тот :)

Re: Освещение Mi-Light (MiLight)

Добавлено: Ср янв 11, 2017 8:37 am
havenofear
Этот скрипт, котороый используется в этой теме переписан с данного сайта http://www.limitlessled.com/dev/ он был на версию v4 сейчас там версия 6, которая по описаню должна подходить для моего контроллера.
СпойлерПоказать
Изображение
У них есть LimitlessLED Wifi Bridge v6.0 Sample Windows App. приложение для винды, которое без проблем находит мой контроллер, определяет его, может перезапускать, меня в нем настройки. Так же в нем есть команды на выключение включение ламп и так далее. Так вот, когда я выполняю команды - ничего не происходит. Хотя в логе пишется, что всё просто прекрасно
СпойлерПоказать
Start Wifi Bridge Session...
Send UDP commands to 192.168.1.140 port 5987
Sent: 20 00 00 00 16 02 62 3A D5 ED A3 01 AE 08 2D 46 61 41 A7 F6 DC
AF D3 E6 00 00 1E
Received: 28 00 00 00 11 00 02 F0 FE 6B 16 9F 98 50 AA 44 A5 00 01 1A 00 00
LimitlessLEDWifiBridgeSessionID1 is C1
LimitlessLEDWifiBridgeSessionID2 is 00
IP Address is 192.168.1.140
MAC Address is FE:6B:16:9F:98:50
Sequence Number is 2A
Checksum is 3F
Sent: 80 00 00 00 11 C1 00 00 2A 00 31 00 00 08 04 01 00 00 00 01 00 3F
Command SUCCESSFUL.
Received: 88 00 00 00 03 00 2A 01
Command completed.
То же самое и с МД. Никаких ошибок, просто тишина.

Re: Освещение Mi-Light (MiLight)

Добавлено: Ср янв 11, 2017 4:32 pm
havenofear
Подскажите, как перехватить пакеты, которые приложение на iOS отправляется на wifi box.

Re: Освещение Mi-Light (MiLight)

Добавлено: Чт янв 12, 2017 7:52 am
havenofear
Нашел ошибку в работе приложения под винду. Оно передаёт комманду 80 00 00 00 11 41 00 00 BC 00 31 00 00 08!!! 03 06 00 00 00 01 00 42 а должно 80 00 00 00 11 41 00 00 BC 00 31 00 00 07!!! 03 06 00 00 00 01 00 42. Видимо 07 и 08 это именно модели пульта. Хотя хз. Там вообще напутано с командами... :) Теперь надо понять как это всё привязать к МД.. Может кто-то помочь прикрутить яваскрипт к мд?:))
Сейчас команды отправляются совсем по-другому http://www.limitlessled.com/dev/
СпойлерПоказать
'use strict';
var dgram = require('dgram');

var debug=false;

var DEFAULT_HOST ;
var DEFAULT_PORT ;
var DEFAULT_REPEATS=3 ;

var PREAMPLE = [0x80,0x00,0x00,0x00,0x11]

var FILLER = 0x00

var CMDS={
ON: [0x31,0,0,0x08,0x04,0x01,0,0,0],
OFF: [0x31,0,0,0x08,0x04,0x02,0,0,0],
NIGHT: [0x31,0,0,0x08,0x04,0x05,0,0,0],
WHITEON: [0x31,0,0,0x08,0x05,0x64,0,0,0],
REG: [0x33,0,0,0,0,0,0,0,0,0],
BON: [0x31,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00],
BOFF:[0x31,0x00,0x00,0x00,0x03,0x04,0x00,0x00,0x00],
BWHITE:[0x31 ,0x00 ,0x00 ,0x00 ,0x03 ,0x05 ,0x00 ,0x00 ,0x00],
};
var socket;


var zoneCtlRGBWWFactory=function(zoneID){
var color=0x7A;
var brightness=0x32;
//var saturation=0x32;
//var colorTemp=0x4B;
var zone=zoneID;
if(zone > 4 || zone <0 ) console.log("invalid zone");

return {
on: function(){
return [0x31, 0x00, 0x00, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, zoneID];
},
off: function(){
return [0x31, 0x00, 0x00, 0x07, 0x03, 0x02, 0x00, 0x00, 0x00, zoneID];
},
nightMode: function() {
return [0x31, 0x00, 0x00, 0x07, 0x03, 0x06, 0x00, 0x00, 0x00, zoneID];
},
whiteMode:function() {
return [0x31, 0x00, 0x00, 0x07, 0x03, 0x05, 0x00, 0x00, 0x00, zoneID];
},
brightnessUp:function(){
brightness=Math.min(brightness+5,0x64);
return [0x31, 0x00, 0x00, 0x07, 0x02, brightness, 0x00, 0x00, 0x00, zoneID]
},
brightnessDown:function(){
brightness=Math.max(brightness-5,0x00);
return [0x31, 0x00, 0x00, 0x07, 0x02, brightness, 0x00, 0x00, 0x00, zoneID]
},
brightnessSet:function(b){
brightness=Math.max(b,0x00);
brightness=Math.min(b,0xFF);
return [0x31, 0x00, 0x00, 0x07, 0x02, brightness, 0x00, 0x00, 0x00, zoneID]
},
colorUp:function(){
color=Math.min(color+5,0xFF);
return [0x31, 0x00, 0x00, 0x07, 0x01, color, color, color, color, zoneID]
},
colorDown:function(){
color=Math.max(color-5,0x00);
return [0x31, 0x00, 0x00, 0x07, 0x01, color, color, color, color, zoneID]
},
colorSet:function(c){
color=c;
return [0x31, 0x00, 0x00, 0x07, 0x01, color, color, color, color, zoneID]
},
colorRGB:function(rgb){
return rgbHandler(rgb,this);
},
mode:function(mode){
return [0x31, 0x00, 0x00, 0x07, 0x04, mode, 0x00, 0x00, 0x00, zoneID]
},
modeSpeedUp:function(){
return [0x31, 0x00, 0x00, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, zoneID]
},
modeSpeedDown:function(){
return [0x31, 0x00, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x00, zoneID]
},
link:function(){
console.log("link not captured");
return [0x3D,0,0,0x07,0,0,0,0,0,zoneID]
},
unlink:function(){
console.log("link not captured");
return [0x3E,0,0,0x07,0,0,0,0,0,zoneID]
},
command(fnName,arg){
if (this[fnName]) {
var cmds=this[fnName](arg);
if (Array.isArray(cmds) && Array.isArray(cmds[0])){
cmds.forEach(function(elem){sendCmd(elem)})
} else {
sendCmd(cmds);//single cmd`
}
}
}
}
}

var baseCtlFactory=function(){
var color=0x7A;
var brightness=0x32;
var zoneID=0x01;
return {
on:function(){return [0x31,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00,zoneID]},
off:function(){return [0x31,0x00,0x00,0x00,0x03,0x04,0x00,0x00,0x00,zoneID]},
whiteMode:function(){return [0x31 ,0x00 ,0x00 ,0x00 ,0x03 ,0x05 ,0x00 ,0x00 ,0x00,zoneID]},
brightnessUp:function(){
brightness=Math.min(brightness+5,0x64);
return [0x31,0x00,0x00,0x00,0x02,brightness,0x00,0x00,0x00,zoneID]
},
brightnessDown:function(){
brightness=Math.max(brightness-5,0x00);
return [0x31,0x00,0x00,0x00,0x02,brightness,0x00,0x00,0x00,zoneID]
},
brightnessSet:function(b){
brightness=Math.max(b,0x00);
brightness=Math.min(b,0xFF);
return [0x31,0x00,0x00,0x00,0x02,brightness,0x00,0x00,0x00,zoneID]
},
colorUp:function(){
color=Math.min(color+5,0xFF);
return [0x31,0x00,0x00,0x00,0x01,color,color,color,color,zoneID]
},
colorDown:function(){
color=Math.max(color-5,0x00);
return [0x31,0x00,0x00,0x00,0x01,color,color,color,color,zoneID]
},
colorSet:function(c){
color=c;
return [0x31,0x00,0x00,0x00,0x01,color,color,color,color,zoneID]
},
colorRGB:function(rgb){
return rgbHandler(rgb,this);
},
mode:function(mode){
return [0x31,0x00,0x00,0x00,0x04,mode,0,0,0,zoneID]
},
command(fnName,arg){
if (this[fnName]) {
var cmds=this[fnName](arg);
if (Array.isArray(cmds) && Array.isArray(cmds[0])){
cmds.forEach(function(elem){sendCmd(elem)})
} else {
sendCmd(cmds);//single cmd`
}
}
}
}

};

var bridgeID;
var bridgeID2;
var seqNum=0x02;

var sendCmd = function(CMD,repeats){
if (typeof repeats === 'undefined') { repeats = DEFAULT_REPEATS};

var out=[];
//console.log("#"+WB.toString('hex')+"-"+CMD.toString("hex"));
out=out.concat(PREAMPLE,bridgeID,bridgeID2,0x00,seqNum,FILLER,CMD)
var chkSum=calcCheckSum(out);
out = out.concat(chkSum);
//console.log(JSON.stringify(out));
if (debug) console.log("#"+out.toString('hex'));
out=new Buffer(out);
seqNum=(seqNum+1)%256;
if(debug) console.log("Sending: " + out.toString('hex'));
for (var i=0;i {
//console.log('Received %d bytes from %s:%d\n',
// msg.length, rinfo.address, rinfo.port);
var hmsg=msg.toString('hex');
var resp=(msg.toString('hex').substring(0,10));
if (_func[resp]) {
_func[resp](msg)
} else {
console.log("Unknown code");
console.log(hmsg);
}
});

var initiate=function(host,port){
//socket.send(payload,0,payload.length,DEFAULT_PORT,DEFAULT_HOST,function(a,b){});
DEFAULT_HOST=host;
DEFAULT_PORT=port;
//socket.bind();
//socket.bind(DEFAULT_PORT);
var payload=new Buffer([0x20,0x00,0x00,0x00,0x16,0x02,0x62,0x3a,0xd5,0xed,0xa3,0x01,0xae,0x08,0x2d,0x46,0x61,0x41,0xa7,0xf6,0xdc,0xaf,0xfe,0xf7,0x00,0x00,0x1e]);
if (debug) console.log(payload.toString('hex'));
sendFrame(payload);
};




exports.initiate= initiate;
exports.baseCtlFactory= baseCtlFactory;
exports.zoneCtlRGBWFactory= zoneCtlRGBWFactory;
exports.zoneCtlRGBWWFactory= zoneCtlRGBWWFactory;
exports.sendCmd= sendCmd;
Я правда не уверен, что это всё правильно написано. Там есть описание того, как это должно работать - отправка запрососв и тд. Но я вообще в программировании не силён :(
Описание того, как должно всё работать:
СпойлерПоказать
all values below are in hex, 0xFF means 255 in decimal aka FF in hex, aka 1 byte of FF, aka 8 bits of 11111111.
UDP.IP = "255.255.255.255"; (or direct Wifi Bridge IP Address)
UDP.PORT = 5987; //(decimal integer 5987)
UDP.SEND (hex bytes, see below)
SN = Sequential Byte
Sequential byte just helps with keeping commands in the correct order, and it helps to ignore duplicate packets already received. increment this byte for each new command by 1.
WB1 = LimitlessLED Wifi Bridge Session ID1
WB2 = LimitlessLED Wifi Bridge Session ID2
to get the WB1 and WB2 send this command
UDP.SEND hex bytes: 20 00 00 00 16 02 62 3A D5 ED A3 01 AE 08 2D 46 61 41 A7 F6 DC AF (D3 E6) 00 00 1E <-- Send this to the ip address of the wifi bridge v6
UDP.Response: 28 00 00 00 11 00 02 (AC CF 23 F5 7A D4)(mac) 69 F0 3C 23 00 01 (05 00)(<--WifiBridgeSessionID1 & WifiBridgeSessionID2) 00 <-- (example response 1)
UDP.Response: 28 00 00 00 11 00 02 (AC CF 23 F5 7A D4)(mac) 69 F0 3C 23 00 01 (17 01)(<--WifiBridgeSessionID1 & WifiBridgeSessionID2) 00 <-- (example response 2)
UDP.Response: 28 00 00 00 11 00 02 (AC CF 23 F5 7A D4)(mac) 69 F0 3C 23 00 01 (F2 00)(<--WifiBridgeSessionID1 & WifiBridgeSessionID2) 00 <-- (example response 3)
WB1 = LimitlessLED Wifi Bridge Session ID1 = response[19] (20th byte of response above)
WB2 = LimitlessLED Wifi Bridge Session ID2 = response[20] (21st byte of response above)
RGBW/WW/CW Commands
UDP Hex Send Format: 80 00 00 00 11 {WifiBridgeSessionID1} {WifiBridgeSessionID2} 00 {SequenceNumber} 00 {COMMAND} {ZONE NUMBER} 00 {Checksum}
UDP Hex Response: 88 00 00 00 03 00 {SequenceNumber} 00
List of {COMMAND}s:
format of {command} 9 byte packet = 0x31 {PasswordByte1 default 00} {PasswordByte2 default 00} {remoteStyle 08 for RGBW/WW/CW or 00 for bridge lamp} {LightCommandByte1} {LightCommandByte2} 0x00 0x00 0x00 {Zone1-4 0=All} 0x00 {Checksum}
31 00 00 08 04 01 00 00 00 = Light ON
31 00 00 08 04 02 00 00 00 = Light OFF
31 00 00 08 04 05 00 00 00 = Night Light ON
31 00 00 08 05 64 00 00 00 = White Light ON (Color RGB OFF)
31 00 00 08 01 BA BA BA BA = Set Color to Blue (0xBA) (0xFF = Red, D9 = Lavender, BA = Blue, 85 = Aqua, 7A = Green, 54 = Lime, 3B = Yellow, 1E = Orange)
31 00 00 08 02 SS 00 00 00 = Saturation (SS hex values 0x00 to 0x64 : examples: 00 = 0%, 19 = 25%, 32 = 50%, 4B, = 75%, 64 = 100%)
31 00 00 08 03 BN 00 00 00 = BrightNess (BN hex values 0x00 to 0x64 : examples: 00 = 0%, 19 = 25%, 32 = 50%, 4B, = 75%, 64 = 100%)
31 00 00 08 05 KV 00 00 00 = Kelvin (KV hex values 0x00 to 0x64 : examples: 00 = 2700K (Warm White), 19 = 3650K, 32 = 4600K, 4B, = 5550K, 64 = 6500K (Cool White))
31 00 00 08 06 MO 00 00 00 = Mode Number (MO hex values 0x01 to 0x09 : examples: 01 = Mode1, 02 = Mode2, 03 = Mode3 .. 09 = Mode9)
31 00 00 08 04 04 00 00 00 = Mode Speed Decrease--
31 00 00 08 04 03 00 00 00 = Mode Speed Increase++
3D 00 00 08 00 00 00 00 00 = Link (Sync Bulb within 3 seconds of lightbulb socket power on)
3E 00 00 08 00 00 00 00 00 = UnLink (Clear Bulb within 3 seconds of lightbulb socket power on)
Wifi Bridge iBox LED Lamp {COMMAND}s (Zone Number = 0x01)
31 00 00 00 03 03 00 00 00 = Wifi Bridge Lamp ON
31 00 00 00 03 04 00 00 00 = Wifi Bridge Lamp OFF
31 00 00 00 04 MO 00 00 00 = Mode Number (MO hex values 0x01 to 0x09 : examples: 01 = Mode1, 02 = Mode2, 03 = Mode3 .. 09 = Mode9)
31 00 00 00 03 01 00 00 00 = Mode Speed Decrease--
31 00 00 00 03 02 00 00 00 = Mode Speed Increase++
31 00 00 00 01 BA BA BA BA = Set Color to Blue (BA) (FF = Red, D9 = Lavender, BA = Blue, 85 = Aqua, 7A = Green, 54 = Lime, 3B = Yellow, 1E = Orange)
31 00 00 00 03 04 00 00 00 = Set Color to White (is ignored when Lamp is OFF, it does NOT turn the Lamp ON)
31 00 00 00 02 BN 00 00 00 = BrightNess (BN hex values 0x00 to 0x64 : examples: 00 = 0%, 19 = 25%, 32 = 50%, 4B, = 75%, 64 = 100%)
Valid List for {ZONE NUMBER}
0x00 All
0x01 Zone1
0x02 Zone2
0x03 Zone3
0x04 Zone4
Checksum:
RGBW/WW/CW Checksum Byte Calculation is the sum of the 11 bytes before end of the UDP packet. The checksum is then added to the end of the UDP message.
take the 9 bytes of the command, and 1 byte of the zone, and add the 0 = the checksum = (checksum & 0xFF)
e.g. SUM((31 00 00 08 04 01 00 00 00)(command) 01(zone) 00) = 3F(chksum)
EXAMPLES
LimitlessLED Wifi Bridge Light ON 80 00 00 00 11 WB 00 00 SN 00 (31 00 00 00 03 03 00 00 00)(cmd) 01(zone) 00 38(chksum) UDP response: (88 00 00 00 03 00 SN 00)
LimitlessLED Wifi Bridge Light OFF 80 00 00 00 11 WB 00 00 SN 00 (31 00 00 00 03 04 00 00 00)(cmd) 01(zone) 00 39(chksum) UDP response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone 1 ON 80 00 00 00 11(length hex) (17 01)(WB1WB2) 00 SN 00 (31 00 00 08 04 01 00 00 00)(cmd) 01(zone) 00 3F(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone1 OFF 80 00 00 00 11(length hex) (17 01)(WB1WB2) 00 SN 00 (31 00 00 08 04 02 00 00 00)(cmd) 01(zone) 00 40(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone 2 ON 80 00 00 00 11(length hex) (17 01)(WB1WB2) 00 SN 00 (31 00 00 08 04 01 00 00 00)(cmd) 02(zone) 00 40(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone2 OFF 80 00 00 00 11(length hex) (17 01)(WB1WB2) 00 SN 00 (31 00 00 08 04 02 00 00 00)(cmd) 02(zone) 00 41(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone 3 ON 80 00 00 00 11(length hex) (17 01)(WB1WB2) 00 SN 00 (31 00 00 08 04 01 00 00 00)(cmd) 03(zone) 00 41(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone3 OFF 80 00 00 00 11(length hex) (17 01)(WB1WB2) 00 SN 00 (31 00 00 08 04 02 00 00 00)(cmd) 03(zone) 00 42(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone 4 ON 80 00 00 00 11(length hex) (17 01)(WB1WB2) 00 SN 00 (31 00 00 08 04 01 00 00 00)(cmd) 04(zone) 00 42(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone4 OFF 80 00 00 00 11(length hex) (17 01)(WB1WB2) 00 SN 00 (31 00 00 08 04 02 00 00 00)(cmd) 04(zone) 00 43(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW ZoneALL ON 80 00 00 00 11(length hex) (17 01)(WB1WB2) 00 SN 00 (31 00 00 08 04 01 00 00 00)(cmd) 00(zone) 00 3E(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW ZoneALLOFF 80 00 00 00 11(length hex) (17 01)(WB1WB2) 00 SN 00 (31 00 00 08 04 02 00 00 00)(cmd) 00(zone) 00 3F(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone 1 Link 80 00 00 00 11 WB1 WB2 00 SN 00 (3D 00 00 08 00 00 00 00 00)(link cmd) 01(zone) 00 46(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone 2 Link 80 00 00 00 11 WB1 WB2 00 SN 00 (3D 00 00 08 00 00 00 00 00)(link cmd) 02(zone) 00 47(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone 3 Link 80 00 00 00 11 WB1 WB2 00 SN 00 (3D 00 00 08 00 00 00 00 00)(link cmd) 03(zone) 00 48(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone 4 Link 80 00 00 00 11 WB1 WB2 00 SN 00 (3D 00 00 08 00 00 00 00 00)(link cmd) 04(zone) 00 49(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone 1 UnLink 80 00 00 00 11 WB 00 00 SN 00 (3E 00 00 08 00 00 00 00 00)(unlink cmd) 01(zone) 00 47(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone 2 UnLink 80 00 00 00 11 WB 00 00 SN 00 (3E 00 00 08 00 00 00 00 00)(unlink cmd) 02(zone) 00 48(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone 3 UnLink 80 00 00 00 11 WB 00 00 SN 00 (3E 00 00 08 00 00 00 00 00)(unlink cmd) 03(zone) 00 49(chksum) response: (88 00 00 00 03 00 SN 00)
RGBW/WW/CW Zone 4 UnLink 80 00 00 00 11 WB 00 00 SN 00 (3E 00 00 08 00 00 00 00 00)(unlink cmd) 04(zone) 00 4A(chksum) response: (88 00 00 00 03 00 SN 00)
Keep Alive Messages
KEEP ALIVES (Every 5 seconds) Wifi Bridge 1: D0 00 00 00 02 (WB) 00 (response: D8 00 00 00 07 (AC CF 23 F5 7A D4) 01)
KEEP ALIVES (Every 5 seconds) Wifi Bridge 1: D0 00 00 00 02 1D 00 (response: D8 00 00 00 07 (AC CF 23 F5 7A D4) 01)
KEEP ALIVES (Every 5 seconds) Wifi Bridge 2: D0 00 00 00 02 7C 00 (response: D8 00 00 00 07 (AC CF 23 F5 7D 80) 01)
Click Search for Devices:
UDP.Send (255.255.255.255:5987) Bytes: 10 00 00 00 24 02 ee 3e 02 39 38 35 62 31 35 37 62 66 36 66 63 34 33 33 36 38 61 36 33 34 36 37 65 61 33 62 31 39 64 30 64
GET ALL WIFI BRIDGE CLOUD KEYS on LAN using UDP
UDP.IP = "255.255.255.255"
UDP.port = 5987
UDP.SEND hex bytes: 10 00 00 00 0A 02 D3 E6 01 (AC CF 23 F5 7A D4)(MAC address)
UDP.Response: 18 00 00 00 40 02 (AC CF 23 F5 7A D4)(mac) 00 20 (985b157bf6fc43368a63467ea3b19d0d)(ASCII Tokenkey) 01 00 01 17 63 00 00 05 00 09 (xlink_dev)(ASCII) 07 5B CD 15
UDP.SEND hex bytes: 20 00 00 00 16 02 62 3A D5 ED A3 01 AE 08 2D 46 61 41 A7 F6 DC AF D3 E6 00 00 1E
UDP.Response: 28 00 00 00 11(LENGTH) 00 02 (AC CF 23 F5 7A D4)(mac) 69 F0 3C 23 00 01 05 00 00
UDP.SEND hex bytes: D0 00 00 00 02 05(WB1) 00(WB2)
UDP.Response: response: D8 00 00 00 07 (AC CF 23 F5 7A D4) 01)
example2: 10 00 00 00 0A 02 FE E7 01 (AC CF 23 F5 7A D4)(MAC address)
example3: 10 00 00 00 0A 02 FE 51 01 (AC CF 23 F5 7D 80)(MAC address)
Может кто-то помочь с написанием?

Re: Освещение Mi-Light (MiLight)

Добавлено: Чт янв 19, 2017 1:57 pm
havenofear
Вопрос всё ещё актуален :(

Re: Освещение Mi-Light (MiLight)

Добавлено: Пт янв 27, 2017 7:54 am
havenofear
Появилось рабочее решение для новых контроллеров MiLight. За это отдельное спасибо за помощь пользователю Eraser. Если кому-то будет нужно- обращайтесь

Re: Освещение Mi-Light (MiLight)

Добавлено: Сб янв 28, 2017 10:16 am
CAMCOH
Очень нужно, обращаюсь!
Помогите с решением для нового контроллера.

Re: Освещение Mi-Light (MiLight)

Добавлено: Пн фев 27, 2017 9:09 am
Sensei
havenofear писал(а):Появилось рабочее решение для новых контроллеров MiLight. За это отдельное спасибо за помощь пользователю Eraser. Если кому-то будет нужно- обращайтесь
Поделитесь опытом пожалуйста. Заказывать нового поколения или нет, теперь в сомнениях

Re: Освещение Mi-Light (MiLight)

Добавлено: Ср мар 15, 2017 3:26 pm
Jager
Появился в продаже новый пульт для Mi-Light
Изображение

Re: Освещение Mi-Light (MiLight)

Добавлено: Пт мар 17, 2017 10:42 pm
karo
kak nastroyit etot novi milight . pomagiteeee pojalustaaa