Newer
Older
pyenergenie / doc / branch_new_devices_june16.txt
@David Whale David Whale on 3 Jun 2016 4 KB Documented messages from 3 new devices
New devices to add:

--------------------------------------------------------------------------------

MiHome Light
  MIHO008 OOK White
  MIHO024 OOK Black Nickel
  MIHO025 OOK Chrome
  MIHO026 OOK Brushed Steel

  RX ONLY
  OOK, OUTER_TIMES=1, OUTER_DELAY=0, INNER_TIMES=75


--------------------------------------------------------------------------------

MiHome Motion Sensor
  MIHO032
  TX ONLY
  FSK
  PRODUCTID=0x0C


JOIN BUTTON:
No route to an object, for device:(4, 12, 4042)
{
  'header': {
    'sensorid': 4042,
    'productid': 12,                   <------- THIS
    'encryptPIP': 13298,
    'mfrid': 4
  },
  'type': 'OK',
  'rxtimestamp': 1464955109.109954,
  'recs': [
    {
      'paramunit': '',
      'typeid': 0,
      'length': 0,
      'wr': True,
      'paramname': 'JOIN',             <------ THIS
      'paramid': 106
    }
  ]
}


MOTION:
No route to an object, for device:(4, 12, 4042)
{
  'header': {
    'sensorid': 4042,
    'productid': 12,
    'encryptPIP': 13298,
    'mfrid': 4
  },
  'type': 'OK',
  'rxtimestamp': 1464955035.384384,
  'recs': [
    {
      'paramunit': '',
      'typeid': 0,
      'valuebytes': [1],
      'value': 1,                            <-------- THIS
      'length': 1,
      'wr': False,
      'paramname': 'MOTION_DETECTOR',        <-------- THIS
      'paramid': 109
    }
  ]
}

Once motion is detected, there is a transmission holdoff timer for 60 seconds
before it goes to no motion mode (light flashes once, no transmission)

NO MOTION: (60 second timeout from motion)
No route to an object, for device:(4, 12, 4042)
{
  'header':
  {
    'sensorid': 4042,
    'productid': 12,
    'encryptPIP': 13298,
    'mfrid': 4
  },
  'type': 'OK',
  'rxtimestamp': 1464955276.68883,
  'recs': [
    {
      'paramunit': '',
      'typeid': 0,
      'valuebytes': [0],
      'value': 0,
      'length': 1,
      'wr': False,
      'paramname': 'MOTION_DETECTOR',
      'paramid': 109
    }
  ]
}


LOW BATTERY:
{
  'header': {
    'sensorid': 4042,
    'productid': 12,
    'encryptPIP': 13298,
    'mfrid': 4
  },
  'type': 'OK',
  'rxtimestamp': 1464955580.958382,
  'recs': [
    {
      'paramunit': '',
      'typeid': 0,
      'valuebytes': [66],
      'value': 66,             <-------- THIS (alarm 0x42 is 'battery alarm occurred), 0x62 would be 'cleared'
      'length': 1,
      'wr': False,
      'paramname': 'ALARM',    <-------- THIS (see 'Alarms' on Page 7 of OpenThings specification)
      'paramid': 33
    }
  ]
}


--------------------------------------------------------------------------------

MiHome Open Sensor
  MIHO033
  TX ONLY
  FSK
  PRODUCTID=0x0D

JOIN BUTTON PRESSED:
{
  'header':{
    'sensorid': 2817,
    'productid': 13,          <---------- THIS
    'encryptPIP': 13298,
    'mfrid': 4
  },
  'type': 'OK',
  'rxtimestamp': 1464953871.31946,
  'recs': [
    {
      'paramunit': '',
      'typeid': 0,
      'length': 0,
      'wr': True,
      'paramname': 'JOIN',     <-------- THIS
      'paramid': 106
    }
  ]
}

MAGNET ATTACHED:
{
  'header': {
    'sensorid': 2817,
    'productid': 13,
    'encryptPIP': 13298,
    'mfrid': 4
  },
  'type': 'OK',
  'rxtimestamp': 1464953936.18644,
  'recs': [
    {
      'paramunit': '',
      'typeid': 0,
      'valuebytes': [0],
      'value': 0,                       <-------- THIS
      'length': 1,
      'wr': False,
      'paramname': 'DOOR_SENSOR',       <-------- THIS
      'paramid': 100
    }
  ]
}

MAGNET REMOVED:
{
  'header': {
    'sensorid': 2817,
    'productid': 13,
    'encryptPIP': 13298,
    'mfrid': 4
  },
  'type': 'OK',
  'rxtimestamp': 1464954026.97475,
  'recs': [
    {
      'paramunit': '',
      'typeid': 0,
      'valuebytes': [1],
      'value': 1,                       <-------- THIS
      'length': 1,
      'wr': False,
      'paramname': 'DOOR_SENSOR',       <-------- THIS
      'paramid': 100
    }
  ]
}

--------------------------------------------------------------------------------


KNOCK ON TODOs
- need to pass forward radio config parameters to get INNER_TIMES=75 for the MiHome Light.
  - need to think about config.tx_repeats vs get_config() - these are different concepts

- code up product id's
- code up paramid's for decoding messages
- decide how to handle low battery alarm, this is the first alarm we have seen.

--------------------------------------------------------------------------------