def testIn(self): t = adapter.Topic("AqaraHub", "AqaraHub/XXYYCC/1/in/Temperature") self.assertEqual(t.getExpectedRootTopic(), "AqaraHub") self.assertEqual(t.getRootTopic(), "AqaraHub") self.assertTrue(t.checkRootTopic()) self.assertEqual(t.getDeviceID(), "XXYYCC") self.assertEqual(t.getTopic(), "1/in/Temperature") self.assertEqual(t.getInTopic(), "Temperature")
def testLinkQuality(self): (devices, dev, proxy) = self.getMock() topic = 'AqaraHub/00158D00025EEA0D/linkquality' data = '15' t = adapter.Topic('AqaraHub', topic) proxy.processData(t, data) self.assertEqual(dev.SignalLevel, 1) self.assertEqual(dev.BatteryLevel, 255)
def testTopic(self): t = adapter.Topic("AqaraHub", "AqaraHub/XXYYCC/linkquality") self.assertEqual(t.getExpectedRootTopic(), "AqaraHub") self.assertEqual(t.getRootTopic(), "AqaraHub") self.assertTrue(t.checkRootTopic()) self.assertEqual(t.getDeviceID(), "XXYYCC") self.assertEqual(t.getTopic(), "linkquality") self.assertEqual(t.getInTopic(), None)
def testXiaomiBlockBattTooLow(self): (devices, dev, proxy) = self.getMock() topic = 'AqaraHub/00158D000272C69E/1/in/Basic/Report Attributes/0xFF01' data = '{"type":"xiaomi_ff01","value":{"1":{"type":"uint16","value":2505},"10":{"type":"uint16","value":0},"100":{"type":"int16","value":2206},"101":{"type":"uint16","value":5527},"102":{"type":"int32","value":102982},"4":{"type":"uint16","value":17320},"5":{"type":"uint16","value":6},"6":{"type":"uint40","value":1}}}' t = adapter.Topic('AqaraHub', topic) proxy.processData(t, data) self.assertEqual(dev.sValue, "22.06;55.27;0;1029.82;0") self.assertEqual(dev.BatteryLevel, 0) self.assertEqual(dev.SignalLevel, 100)
def testPressure(self): (devices, dev, proxy) = self.getMock() topic = 'AqaraHub/00158D000272C69E/1/in/Pressure Measurement/Report Attributes/ScaledValue' data = '{"type":"int16","value":9973}' t = adapter.Topic('AqaraHub', topic) proxy.processData(t, data) self.assertEqual(dev.sValue, "11.22;59.33;0;997.30;0") self.assertEqual(dev.SignalLevel, 100) self.assertEqual(dev.BatteryLevel, 255)
def testHumidity(self): (devices, dev, proxy) = self.getMock() topic = 'AqaraHub/00158D000272C69E/1/in/Relative Humidity Measurement/Report Attributes/MeasuredValue' data = '{"type":"uint16","value":3947}' t = adapter.Topic('AqaraHub', topic) proxy.processData(t, data) self.assertEqual(dev.sValue, "11.22;39.47;0;1024.01;0") self.assertEqual(dev.SignalLevel, 100) self.assertEqual(dev.BatteryLevel, 255)
def testTemperature(self): (devices, dev, proxy) = self.getMock() topic = 'AqaraHub/00158D000272C69E/1/in/Temperature Measurement/Report Attributes/MeasuredValue' data = '{"type":"int16","value":2128}' t = adapter.Topic('AqaraHub', topic) proxy.processData(t, data) self.assertEqual(dev.sValue, "21.28;59.33;0;1024.01;0") self.assertEqual(dev.SignalLevel, 100) self.assertEqual(dev.BatteryLevel, 255)
def testXiaomiBlockOn(self): (devices, dev, proxy) = self.getMock() topic = 'AqaraHub/00158D00025EEA0D/1/in/Basic/Report Attributes/0xFF01' data = '{"type":"xiaomi_ff01","value":{"1":{"type":"uint16","value":3055},"10":{"type":"uint16","value":0},"100":{"type":"bool","value":true},"3":{"type":"int8","value":22},"4":{"type":"uint16","value":424},"5":{"type":"uint16","value":102},"6":{"type":"uint40","value":1}}}' t = adapter.Topic('AqaraHub', topic) proxy.processData(t, data) self.assertEqual(dev.nValue, 1) self.assertEqual(dev.sValue, "") self.assertEqual(dev.BatteryLevel, 100) self.assertEqual(dev.SignalLevel, 100)
def testDoorOpenOn(self): (devices, dev, proxy) = self.getMock() topic = 'AqaraHub/00158D00025EEA0D/1/in/OnOff/Report Attributes/OnOff' data = '{"type":"bool","value":true}' t = adapter.Topic('AqaraHub', topic) proxy.processData(t, data) self.assertEqual(dev.nValue, 1) self.assertEqual(dev.sValue, "") self.assertEqual(dev.SignalLevel, 100) self.assertEqual(dev.BatteryLevel, 255)
def testOccupancy(self): (devices, dev, proxy) = self.getMock() topic = 'AqaraHub/00158D0002E96C81/1/in/Occupancy Sensing/Report Attributes/Occupancy' data = '{"type":"map8","value":[true,false,false,false,false,false,false,false]}' t = adapter.Topic('AqaraHub', topic) proxy.processData(t, data) self.assertEqual(dev.nValue, 1) self.assertEqual(dev.sValue, "") self.assertEqual(dev.SignalLevel, 100) self.assertEqual(dev.BatteryLevel, 255)
def testIlluminance(self): (devices, dev, proxy) = self.getMock() topic = 'AqaraHub/00158D0002E96C81/1/in/Illuminance Measurement/Report Attributes/0x0000' data = '{"type":"uint16","value":6}' t = adapter.Topic('AqaraHub', topic) proxy.processData(t, data) self.assertEqual(dev.nValue, 0) #self.assertEqual(dev.sValue, "6.0") self.assertEqual(dev.SignalLevel, 100) self.assertEqual(dev.BatteryLevel, 255)
def testRoot(self): t = adapter.Topic("AqaraHub1", "AqaraHub2/XXYYCC/linkquality") self.assertEqual(t.getExpectedRootTopic(), "AqaraHub1") self.assertEqual(t.getRootTopic(), "AqaraHub2") self.assertFalse(t.checkRootTopic())