Sensor playback
Step through a short stretch of smart-home sensor events and see the four representations built from the same window of events.
Synthetic data, educational illustration. The floor plan, sensors and events on this page were invented for the demo. They are not CASAS data, and the views simplify what my thesis implements. Differences are listed below the demo.
What the demo shows
A smart home like those in the CASAS datasets has no cameras. It logs events such as a motion sensor turning on or a door opening. To classify what a resident is doing, I cut the log into short windows of consecutive events and derive several representations from each window. They are four views of one stream, not four separate sensors.
Sensor log
- Timestamped motion and door events
- One house, one metadata file
Event windows
- 30 events, stride 15
- Windows never mix activity labels
Four derived views
- Sequence of event features
- Deterministic text summary
- Floor-plan raster image
- Event graph
Encoders
- Transformer
- Transformer
- CNN
- Graph network
Fusion and classifier
- Fusion transformer
- Auxiliary heads per view
- Activity label
- Sequence
- The events in the window, in order, each described by numbers: which sensor, its state, how far into the window it happened, the gap since the previous event and the time of day.
- Text
- A deterministic summary written by fixed rules: time of day, dominant room, rooms visited in order, pace and the busiest sensors.
- Raster
- The activations blurred onto a grid laid over the floor plan, so a model can see where in the home activity happened.
- Graph
- Events as nodes joined in time order, to later events from the same sensor, and to the physical sensor that produced them.
Try it
Press play, drag the timeline or pick an event. The floor plan and all four views update together.
- Filled: active (ON or open)
- Outlined: inactive (OFF or closed)
- Ring: current event
The dashed line is an inferred path joining the last few motion activations. It is a guess drawn between sensor positions, not tracked movement: sparse motion and door sensors cannot give exact continuous tracking.
Current event (synthetic)
- Timestamp
- 06:52:10
- Sensor
- M01 (Bedroom motion, Bedroom)
- State
- ON
- Annotation
- Wake upHand-written label for this synthetic day, not a model prediction.
Events
Select a row to jump to that event.
Four views of the same window
The window is the last 8 events up to the current one. All four views are computed from it.
Each event in the window becomes a row of numbers, in time order. A transformer reads this to see order and timing. The current window holds 1 event.
| event | sensor | state | time in window | log gap | hour sin / cos |
|---|---|---|---|---|---|
| 1 | M01 | 1 | 0.00 | 0.00 | 0.97 / -0.23 |
How this differs from the research implementation
- Window size: the demo uses the last 8 events so every view fits on screen. The thesis uses 30-event windows with a stride of 15.
- Sequence: the demo shows five feature columns. The thesis sequence encoder uses seven feature groups per event, including sensor type, a state-transition indicator and day of week.
- Text: the demo's rules are a small illustration of the idea. The thesis summary also includes dwell fractions, revisit tokens and per-sensor count tokens.
- Raster: the demo uses a 32 by 20 grid with three channels. The thesis rasterizes a 96 by 96 image per window with six base channels plus one channel per zone.
- Graph: the demo draws three edge types and no node features. The thesis graph also has temporal-proximity edges between different sensors and node features such as floor-plan coordinates and window duration.
- No learning: nothing here is a model. There are no predictions, confidence scores or live inference. The annotations on each event are hand-written labels for the synthetic day.
Read the full case study of the thesis projectSee the platform built around it: HomeSense