aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mcrute@gmail.com>2013-09-07 18:44:59 -0400
committerMike Crute <mcrute@gmail.com>2013-09-07 18:44:59 -0400
commitd2d6bc8887aab1af4768ba893e1c7928df2873e4 (patch)
treea2e398e88b2cea91806591858e04b6e351d0cffb
parentef2a2420c9602d36c1d85df09e3f4b0b55203771 (diff)
downloadubntmfi-d2d6bc8887aab1af4768ba893e1c7928df2873e4.tar.bz2
ubntmfi-d2d6bc8887aab1af4768ba893e1c7928df2873e4.tar.xz
ubntmfi-d2d6bc8887aab1af4768ba893e1c7928df2873e4.zip
Update inform protocol notes
-rw-r--r--inform_protocol.txt15
1 files changed, 14 insertions, 1 deletions
diff --git a/inform_protocol.txt b/inform_protocol.txt
index f4d9c41..2a846a5 100644
--- a/inform_protocol.txt
+++ b/inform_protocol.txt
@@ -1,7 +1,17 @@
1Ubiquiti Inform Protocol 1Ubiquiti Inform Protocol
2======================== 2========================
3 3
4These are just some unstructured notes about the inform protocol at this point. 4The mFi uses the Ubiquiti inform protocol to handle all communications to and
5from the controller. This is the way that it transmits the current state of the
6system to the controller (looks like it just sends mca-dump output) as well as
7how it receives the instructions from the controller as to what to enable or
8disable.
9
10Everything appears to be pull-based, even provisioning. This makes sense with
11the cloud controller where the controller has no access to your network. I
12haven't documented yet how anything works within the protocol, that's next.
13This documents the overall procol itself.
14
5 15
6Packet Structure 16Packet Structure
7---------------- 17----------------
@@ -26,5 +36,8 @@ device auth key from the database or a master key that is hard coded if the
26device hasn't been provisioned yet. The master key is hard coded in the 36device hasn't been provisioned yet. The master key is hard coded in the
27controller code in the DeviceManager class and pretty easy to find. 37controller code in the DeviceManager class and pretty easy to find.
28 38
39On devices running protocol version 1 the encrypted payload is just JSON data.
40In version 0 of the protocol the data was key=value pairs separated by
41newlines. All of the mFi hardware I have access to uses protocol version 1.
29 42
30MASTER_KEY = "ba86f2bbe107c7c57eb5f2690775c712" 43MASTER_KEY = "ba86f2bbe107c7c57eb5f2690775c712"