mwittig / node-milight-promise

A node module to control Milight LED bulbs and OEM equivalents such as Rocket LED, Limitless LED Applamp, Easybulb, s`luce, iLight, iBulb, and Kreuzer
MIT License
114 stars 27 forks source link

new milight v3 / limitless v6 hubs... #11

Closed duecedriver closed 7 years ago

duecedriver commented 7 years ago

any progress updating for the new hubs? I found the api for the new hubs on limitlessled wesite if it helps..


Section 1. Manual Web Browser Wifi Bridge v6 Setup.
Connect Phone to Milight AccessPoint
Use Phone Web Browser to http://10.10.100.254
Username: admin
Password: admin
Work Mode: change to STA mode, press Save
STA Setting: Scan for your Home Wifi Router
Encryption Method: WPA2PSK
Encryption Algorithm: AES
Password: enter your home wifi router password here.
Obtain an IP address automatically: Enable
Restart: Click Ok
Now put your phone back on your home wifi network, and open the app, it should see the wifi bridge, assuming you entered your wifi password correctly a few steps back. :)
Section 2. Searching for LimitlessLED v6 Bridge/s on the LAN.
We have a Windows App for this called LimitlessLED Admin tool v5/v6
If you are building your own Program, use the following (If you want more exact C# code for this, email us)
UDP.IP = “255.255.255.255″; // IP.Broadcast
UDP.PORT = 48899;
UDP.SendBytes(UTF8.GetBytes(“HF-A11ASSISTHREAD”)); // v6 Bridge (for v5 use “Link_Wi-Fi”)
receiveBytes = UDP.Receive();
response = UTF8.GetString(receiveBytes);
//returns IP address of the wifi bridge, the unique MAC address, and the name(which is always the same)
// 10.1.1.27,ACCF23F57AD4,HF-LPB100
// 10.1.1.31,ACCF23F57D80,HF-LPB100
Section 3. Wifi Bridge v6 Protocol
UDP.IP = “255.255.255.255″; (or direct Wifi Bridge IP Address)
UDP.PORT = 5987;
UDP.SEND (hex bytes, see below)
SN = Sequential Hex Number (Sequence Number) 0×01 -> 0xFF
WB = Wifi Bridge ID 0×01 -> 0xFF
RGBW/WW/CW Commands
UDP Hex Send Format: 80 00 00 00 11 {WifiBridgeID} 00 00 {SequenceNumber} 00 {COMMAND} {ZONE NUMBER} 00 {Checksum}
UDP Hex Response: 88 00 00 00 03 00 {SequenceNumber} 00
List of {COMMAND}s:
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 = Dual White Light ON (Color RGB OFF)
31 00 00 08 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 08 02 SS 00 00 00 = Saturation (SS hex values 0×00 to 0×64 : examples: 00 = 0%, 19 = 25%, 32 = 50%, 4B, = 75%, 64 = 100%)
31 00 00 08 03 BN 00 00 00 = BrightNess (BN hex values 0×00 to 0×64 : examples: 00 = 0%, 19 = 25%, 32 = 50%, 4B, = 75%, 64 = 100%)
31 00 00 08 05 KV 00 00 00 = Kelvin (KV hex values 0×00 to 0×64 : 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 0×01 to 0×09 : 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 = 0×01)
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 0×01 to 0×09 : 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 0×00 to 0×64 : examples: 00 = 0%, 19 = 25%, 32 = 50%, 4B, = 75%, 64 = 100%)
Valid List for {ZONE NUMBER}
0×00 All
0×01 Zone1
0×02 Zone2
0×03 Zone3
0×04 Zone4
Checksum:
RGBW/WW/CW Checksum Byte Calculation is the sum of the last 11 bytes before end of the UDP packet. The checksum is then added to the end of the UDP message.
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 WB 00 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 WB 00 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 WB 00 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 WB 00 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 WB 00 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 WB 00 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 WB 00 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 WB 00 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 WB 00 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 WB 00 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 WB 00 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 WB 00 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 WB 00 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 WB 00 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 A301 AE 08 2D 46 61 41 A7 F6 DC AF D3 E6 00 00 1E
UDP.Response: 28 00 00 00 11 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(WB) 00 (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)
Section 4. Smart Link Setup Services
** Warning only have one wifi bridge powered up at a time when setup using smart link (In case you have more than one in your home) **
Smart-link is all about getting your brand new wifi bridge onto your home wifi router network.
SmartLink saves the user time during the setup phase, from having to switch to the bridge in the wifi settings to set it up. Instead it is done using a sync button underneath the Wifi Bridge v6 and an app.
If you want to build smart-link into your own app.
SMART LINK UDP port 49999 Default Password “8888″
UDP.IP = “10.1.1.255″
UDP.PORT = 49999
UDP.Send Whilst Waiting: 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05
Section 5. Cloud Remote Internet access Services
If you want to build an app that controls the lights over the internet, more information will be made available here.
http://www.xlink.cn/
So that enterprises have the power of things. Cloud-to-cloud platform, easily and securely connected devices, rapid development of Internet of things applications,
In the Internet of Things data extraction value.
Default Cloud Server: Amazon Web Services Cloud ec2-52-63-118-215.ap-southeast-2.compute.amazonaws.com [52.63.118.215] cm2.xlink.cn
Default Cloud Port: 23778
Cloud Server Login TCP.Send: 10 00 00 00 1A 02 4B 4B 59 DB 00 10 32 32 30 66 61 32 61 66 66 65 36 63 61 32 30 30 00 00 3C
Cloud TCP.Read Login Response: 18 00 00 00 02 00 00
Cloud Keep Alive: TCP.Send: D0 00 00 00 00
Cloud Keep Alive: TCP.Read: D8 00 00 00 00
Cloud TCP sent: A0 00 00 00 07 69 F0 3D F3 00 0B 00
Cloud response: A8 00 00 00 13 69 F0 3D F3 00 0B 00 07 00 09 x l i n k _ d e v
Cloud TCP sent:
Cloud response: 6{“device_id”:1777352179,”type”:”offline”,”operator”:0}
mwittig commented 7 years ago

Thank your very much. Please see https://github.com/mwittig/node-milight-promise/issues/7