The Home Assistant Core consists of four core parts. On top of this it includes a ton of helper classes to deal with common scenario's, like providing an entity or dealing with locations.
- Event Bus: facilitates the firing and listening of events -- the beating heart of Home Assistant.
- State Machine: keeps track of the states of things and fires a
state_changedevent when a state has been changed.
- Service Registry: listens on the event bus for
call_serviceevents and allows other code to register services.
- Timer: sends a
time_changedevent every 1 second on the event bus.