def test_decode(self): m = my.Message("255;255;3;0;0;57\n") self.assertEqual(m.node_id, 255) self.assertEqual(m.child_id, 255) self.assertEqual(m.type, MessageType.internal) self.assertEqual(m.sub_type, Internal.I_BATTERY_LEVEL) self.assertEqual(m.ack, 0) self.assertEqual(m.payload, '57')
def test_decode(self): """Test decode of message.""" msg = my.Message('255;255;3;0;0;57\n') self.assertEqual(msg.node_id, 255) self.assertEqual(msg.child_id, 255) self.assertEqual(msg.type, MessageType.internal) self.assertEqual(msg.sub_type, Internal.I_BATTERY_LEVEL) self.assertEqual(msg.ack, 0) self.assertEqual(msg.payload, '57')
def test_encode(self): m = my.Message() m.node_id = 255 m.child_id = 255 m.type = MessageType.internal m.sub_type = Internal.I_BATTERY_LEVEL m.ack = 0 m.payload = 57 cmd = m.encode() self.assertEqual(cmd, "255;255;3;0;0;57\n")
def gw_start(event): """Trigger to start of the gateway and any persistence.""" if persistence: for node_id in gateway.sensors: node = gateway.sensors[node_id] for child_id in node.children: msg = mysensors.Message().modify(node_id=node_id, child_id=child_id) gateway.event_callback(msg) gateway.start() hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, lambda event: gateway.stop())
def test_encode(self): """Test encode of message.""" msg = my.Message() cmd = msg.encode() self.assertEqual(cmd, '0;0;0;0;0;\n') msg.node_id = 255 msg.child_id = 255 msg.type = MessageType.internal msg.sub_type = Internal.I_BATTERY_LEVEL msg.ack = 0 msg.payload = 57 cmd = msg.encode() self.assertEqual(cmd, '255;255;3;0;0;57\n')
def gw_start(event): """Callback to trigger start of gateway and any persistence.""" if persistence: for node_id in gateway.sensors: node = gateway.sensors[node_id] for child_id in node.children: child = node.children[child_id] for value_type in child.values: msg = mysensors.Message().modify( node_id=node_id, child_id=child_id, type=1, sub_type=value_type) gateway.event_callback(msg) gateway.start() hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, lambda event: gateway.stop())
def test_decode_bad_message(self): """Test decode of bad message.""" with self.assertRaises(ValueError): my.Message('bad;bad;bad;bad;bad;bad\n')
def test_encode_bad_message(self): """Test encode of bad message.""" msg = my.Message() msg.sub_type = 'bad' cmd = msg.encode() self.assertEqual(cmd, None)