Client for Ubiquiti's mFi system
================================

The APIs in this library (and tool) should not be considered stable!

To install::

 $ pip install mficlient

To get started, set your connection information like this::

 $ export MFI="https://user:password@192.168.1.123:6443"

Then you can run the client, doing something like::

 $ mfi dump_sensors
                Model |                Label |        Tag  |      Value | Extra
 -------------------------------------------------------------------------------
           Output 12v |        Relay Control |     output  |          0 | 0.0
           Output 24v |                Relay |     output  |          0 | 0.0
     Ubiquiti mFi-THS |                 Temp | temperature |       14.3 | None
        Input Digital |          Garage Door |      input  |          1 | None
               Outlet |       Heater Control | active_pwr  |   5.810242 | 1.0
      Ubiquiti mFi-CS |              Furnace |       amps  |     1.0539 | None
      Ubiquiti mFi-CS |         Water Heater |       amps  |        0.0 | None

 $ mfi control_device --device 'Heater Control' --state on

Client API example::

 >>> c = mficlient.MFiClient('192.168.1.123', 'admin', 'password')
 >>> p = c.get_port(label='Water Heater Control')
 >>> p.model
 'Outlet'
 >>> p.value
 5.746462
 >>> p.tag
 'active_pwr'
 >>> p.data
 {'rpt_time': 1456258144771, 'mac': 'redacted', 'locked': False, 'label': 'Water Heater Control', 'wattHours': 8001.875, 'y': 222.18320610687024, 'map_id': 'redacted', 'output': 1.0, 'fovrotation': 0, 'active_pwr': 5.746462, 'pf': 0.678653, 'reported_val': 1.0, '_id': 'redacted', 'i_rms': 0.069931, 'fovradius': 10, 'v_rms': 121.082737, 'val_time': 1456258144000, 'port': '1', 'energy_sum': 8001.875, 'wattHoursBase': 0.0, 'tag': 'active_pwr', 'val': 5.746462, 'wh_rpt_time': 1456258144761, 'model': 'Outlet', 'x': 564.8839694656489, 'fovangle': 1.5707963267948966, 'output_val': 1.0}
  >>> p.control(False)
