Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SPmini T1 #121

Open
Mario1234 opened this issue Aug 10, 2017 · 3 comments
Open

SPmini T1 #121

Mario1234 opened this issue Aug 10, 2017 · 3 comments

Comments

@Mario1234
Copy link

Mario1234 commented Aug 10, 2017

I think this API doesn't support model SPmini T1.
I recorded some raw data about what e-control Android app receive after power on the smart plug.
smart plug sends this message of 48bytes:
00 00 00 00 00 00 00 00 02 00 00 00 e1 07 17 18
0b 04 0a 08 00 00 00 00 0a 00 08 01 56 98 00 00
f0 c0 00 00 00 00 06 00 00 00 00 00 00 00 00 00

I couldnt record the power on message sent from e-control.

As additional info I recorded it at day 10 of month 8 year 2017 13:24:20 Spain
07e1 is 2017 in hexadecimal
its thursnday so day 4 of the week
0a mybe its day 10th of the month
08 its 8th month of the year
0b I think its 11am for no Spanish people
18 is 24min
14 is 20sec
My plug MAC address is 34:EA:34:F1:4B:2D

I hope anyone who wanna do reverse engineering might find this interesting.

The only thing I could realized is that when you plug the device it starts to send
a hello message of 48 bytes saying its MAC address, not encrypted by port 15001 udp.
So you can get MAC address from position 42 to 47 like:
macAddress[0]=receivedData[47];
macAddress[1]=receivedData[46];
macAddress[2]=receivedData[45];
macAddress[3]=receivedData[44];
macAddress[4]=receivedData[43];
macAddress[5]=receivedData[42];

Also e-control sends tcp packets to broadlink server:
f1 00 01 76 00 00 00 04 11 02 59 ca 9c dd 93 2e
36 fc 39 fd be 01 dd a2 e2 34 92 ad b7 c1 a9 a4
af e4 d9 37 38 41 93 e2 ec 89 68 35 4e c1 75 5e
19 c6 6c 9c 77 f2 ef 5a a6 fd c3 ef 4e 1a b5 7b
9b 47 9f 21 fd 48 f2 c4 b6 45 dd 51 fc 06 3b cd
cd bb e4 25 c7 46 a0 3e ee 80 ac eb 5c 4c e1 e0
d3 3e e7 9e f0 86 b0 61 a0 fd 0b b6 2a e8 65 dd
5d 46 42 a7 d5 86 1e af 41 fc 45 93 ec ab 98 3c
8a e4 3e de ff 7e b9 0b 66 dd 62 02 a7 bf e7 08
4c d9 c9 74 29 ad 1a b5 55 c6 47 36 e8 68 39 9d
18 96 4a ba e8 2f b4 c4 90 b8 05 0e 62 2e f7 23
65 07 91 81 68 09 91 5a d5 ec 57 ec cf f4 52 f6
ed e1 b4 57 dd ec 00 4f db 64 16 f4 7f 1f 5e ad
4c bc fc 8e ed 1d 7d 1e fe 80 a6 16 44 6f e5 68
7b 8a 36 80 9f 6b 97 de 64 ad 1f 3b 2d c2 54 0e
99 6b 78 3a 1a c8 a0 1f 1e 8d 2c 7f c6 0d f3 86
86 b2 03 3b 3c 18 df 96 1c a4 d1 0a f3 e1 aa 7e
db 8a 18 b8 05 72 d7 70 f7 18 f0 f1 e3 f7 26 38
97 a1 62 82 c9 c3 fd 90 b4 dc c3 03 44 9f d7 f5
35 02 d8 46 87 e9 c2 cc ff 87 45 a5 57 18 97 54
c6 e2 65 28 62 79 51 ed 74 1a d4 fc 55 f4 d2 61
b0 fc 54 46 a5 57 a2 ea b3 4f 77 33 c3 40 f5 41
bb f7 8c 9d 48 48 79 8f 81 6c bf 48 15 16 49 e3
71 ee 03 a0 02 16 b2 1c d8 72

and received from server:
f3 00 00 aa 00 00 38 40 00 74 00 00 38 40 00 00
ef 00 fe 00 f1 00 fc 00 ac 00 20 00 9a 00 3a 82
90 8d 6a 9b bd 5c 78 69 fc b2 5a 87 59 4b 23 79
39 85 98 8f 5f 79 8e fc 47 24 af db 64 fd ff 31
e6 06 02 93 e5 fb 39 a9 85 ee 57 da 06 d5 6e e2
c5 63 7d 18 b1 5e ae 70 d7 43 0f f3 e7 33 b8 47
d0 d7 02 fd 03 d2 de 89 85 3e ba b1 28 0a b7 b1
70 d3 b0 8f 8c 3c e0 81 2b 98 80 58 d5 93 07 4d
93 bf 7e 7a 97 f3 6e e6 d1 a8 b5 91 5a f4 ee 59
47 b2 94 fd 0f 91 1b 3a de 20 8b 09 03 15 b4 1e
0c 88 b4 f6 f8 0d 8c 74 c1 f5 03 44 ca 89 f4 00
00 c4 c8 53 99 1b 39 36 11 60 56 c5 a1 40 69 16
1e 06 d6 fe 01 43 8a e4 44 46 b2 3c ee 63 6d 07
78 1c cb 7f b4 78 b4 0a 72 3e 12 67 37 e5 ff d7
76 e6 3d fa b2 1b c2 d5 72 ed 00 55 a3 44 f2 e3
24 6d 2e 72 dc 43 aa 98 77 0f d9 c1 88 29 15 e1
22 de 49 d1 d9 7e 5b 63 ea 97 f6 46 ea 4c d8 43
24 4e 2c 6d 53 5a 7f 66 9a 6c 9e 51 f5 ca de a4
55 14 76 a5 26 a9 66 3b f3 ae 98 6b 6e 57 77 dc
46 ba 7b cd 32 3d 05 a4 8d e3 6f 7d e5 49 de 24
6e b1 ff ba f7 f4 0b e1 61 84 fa f8 23 1e f2 85
81 f1 ff 09 c0 aa 38 2b 3a ab a1 6c 42 65 d9 f9
dc 8a 4a 49 93 9e 49 3b 6f 60 f7 e5 f4 a5 6f 4e
64 09 1d ec 77 76

recorded at day 10 of month 8 year 2017 11:40 Spain

@Mario1234
Copy link
Author

I made some coding in Java and C++ that works in the same way as this broadlink API.

SPmini T1 worked with:
https://github.com/mjg59/python-broadlink
https://github.com/Mario1234/java-broadlink
https://github.com/Mario1234/cpp-broadlink

Maybe someone find my codes usefull

@HyperDevil
Copy link

HyperDevil commented Apr 23, 2018

Hi,
I bought a clas ohlson home - wifi smart plug
According to the DHCP information: Broadlink_Outlet-T1-59-1a-a3
So i assume its a T1 just like yours.

UDP port 16680:
00:00:00:00:00:00:02:00:00:00:e2:07:25:30:0e:01:17:04:00:00:00:00:15:03:00:0a:8e:8a:00:00:59:c1:00:00:00:00:06:00:00:00:00:00:00:00:00:00

17:04 is probably the time

These commands are broadcasted to 244.0.0.251, not 255.255.255.0, unsure why.
The app accesses 32000access.ibroadlink.com, also unsure why it needs that.

Anybody got this working in python without using the clas ohlson home app?

@felipediel
Copy link
Collaborator

Hi @Mario1234. Do we have this device here? If not, could you please tell me the devtype (PID) so I can add it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants