Smart Home Models

models

Our smart home models are what enables our smart home to understand the raw events and data that it receives and to then process it within a useful context. It basically adds much more meaning to the data.

We use models to model a number of things:

  1. The physical structure of the smart home in terms of rooms or zones, their layout and relationship to each other.
  2. The users of the smart home and their roles, permissions, contact information, relationships, etc.
  3. Objects and their types (sensors, device, appliances, etc.) and their attributes and characteristics.

The powerful thing about smart home models is that each one enables unlimited re-use. Instead of buying a physical smart thermostat, we can model one in software and deploy as many as we want around our home at zero cost. The basic hardware elements of a thermostat (temperature sensor, boiler actuator, etc.) are much simpler and cheaper and can be deployed at much lower cost. These are also modelled.

The whole user experience of using these thermostats is then much better because it allows any of our user interfaces to be used to control them. They also all work using whole home context, making them much smarter. They inherit all of the user models and thus inherit the permissions models. Each thermostat also has access to all of the other smart home capabilities modelled, such as voice announcements, notifications, alarms, logs, etc.

Smart home models also allow each individual element of the contextual smart home to inherit all of the other capabilities within in it. This means something that is really quite dumb in isolation becomes amazingly smart as part of the whole. This is why we like smart home models a lot! :-)

Objects

Our contextual smart home knows about everything in our home because it is modelled as an object.

Object Types

Every modelled object has an associated type and these types are also modelled in terms of their attributes and characteristics. This means that every instance of an object inherits all of its capabilities and limitations.

Appliance

A (binary) device that can be switched on or off by those with permissions.