Exemplo n.º 1
0
 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")
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
 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)
Exemplo n.º 7
0
 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)
Exemplo n.º 8
0
 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)
Exemplo n.º 9
0
 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)
Exemplo n.º 10
0
 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)
Exemplo n.º 11
0
 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)
Exemplo n.º 12
0
 def testRoot(self):
     t = adapter.Topic("AqaraHub1", "AqaraHub2/XXYYCC/linkquality")
     self.assertEqual(t.getExpectedRootTopic(), "AqaraHub1")
     self.assertEqual(t.getRootTopic(), "AqaraHub2")
     self.assertFalse(t.checkRootTopic())