One application of Ambient Intelligence (AmI) that supports people in their daily activities is the smart home, which has become a popular topic for research over the past 10 years. The smart home can support the inhabitant in a variety of ways, such as watching for potential risks, detecting any abnormality, adapting the home for environmental conditions and inducing behavioural change. This often requires the smart home to recognise the behaviours of the inhabitant. In this paper, we introduce a method that can accurately recognise the inhabitant's behaviours. This includes both the segmentation of the sensor stream and the identification of behaviours. We demonstrate our algorithm on sensor data from real smart homes.