docs / mockups
Dashboard Mockup
Design specification for the BI dashboards — tenant views with RLS, admin compare view, Gold layer visuals. Built before Power BI deployment as an interactive reference.
01 · views
Three roles, three experiences. Tenants see only their apartment (RLS enforced in Power BI Service via
dim_apartment[apt_key] filter). Admin bypasses RLS — both apartments visible side-by-side.app.powerbi.com / uc2-domotic / Overview
RLS: role_jimmy⚡
UC2 \u00b7 Apartments DomoticJimmy D. (Apt A) · Last refresh 14:28⚠ CO₂ 1048 ppm — Living Room · threshold exceeded · open window recommended
Overview
Environment
Energy
Presence
Sensor Health
Date2023-08-18 → 2023-10-27RoomAllLiving RmKitchenBedroom
Avg Temp
meteos · all rooms
21.3°C
avg today
↑ +0.4° vs yesterday
CO₂ Peak
meteos · max
1048
ppm · Living Room
↑ >1000 threshold
Energy Today
plugs · kWh
3.4
kWh
↑ +0.8 vs avg
Presence
motions · hours
6.2h
occupied today
→ Normal
Sensors
sensor_health_day
12/12
online
✓ All OK
Temperature by Room — Donut Charts
meteos · temp_c · ● today (inner ring) · ● yearly avg Aug–Oct 2023 (outer ring) · click for today's hourly chart
23.1
°C
Living Rm
avg 21.8°C
+0.8° vs yest.
▶ details
21.0
°C
Kitchen
avg 20.4°C
+0.2° vs yest.
▶ details
18.4
°C
Bedroom
avg 19.2°C
-0.7° vs yest.
▶ details
20.7
°C
Office
avg 20.1°C
+0.5° vs yest.
▶ details
21.5
°C
Hallway
avg 21.0°C
+0.5° vs yest.
▶ details
17.9
°C
Bathroom
avg 18.6°C
-0.3° vs yest.
▶ details
Today (inner)
Yearly avg (outer)
▶ click a room for today's hourly chartEnergy by Room — kWh
plugs + consumptions · today
Kitchen
1.82
Living Rm
1.54
Panel
1.28
Bedroom
0.54
Office
0.38
Presence Heatmap — Room × Hour
motions · matrix visual · conditional formatting
| 0 | 3 | 6 | 9 | 12 | 15 | 18 | 21 | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Living Rm | ||||||||||||||||||||||||
| Kitchen | ||||||||||||||||||||||||
| Office | ||||||||||||||||||||||||
| Hallway | ||||||||||||||||||||||||
| Bathroom | ||||||||||||||||||||||||
| Bedroom |
None
Low
Med
High
Peak
Apt Info
Buildings · MySQL
houseNameApt A
residents3
isHeatingOn1 · ON
buildingYear1978
02 · report pages
Five pages per tenant view
Each page maps to one or more Gold fact tables. Slicers cross-filter all visuals on the page.
| Page | Fact table(s) | Key visuals | Source sensors |
|---|---|---|---|
| Overview | all 4 | KPI cards · donut row · heatmap · apt info | meteos · plugs · motions |
| Environment | fact_environment_minute | Donut row · line chart · CO₂/humidity bars · table | meteos · humidities · doorsWindows |
| Energy | fact_energy_minute + fact_prediction | kWh bars · 7-day + ML forecast · weather table · per-device | plugs · consumptions |
| Presence | fact_presence_minute | Heatmap matrix · hours bars · 7-day trend | motions · doorsWindows |
| Sensor Health | fact_sensor_health_day | Uptime % · error count · null rate · health table | all sensors · DIErrors |
03 · privacy & rls
Row-Level Security — Power BI Service
Tenant isolation enforced at the data model level. Zero cross-visibility between apartments.
| Role | DAX filter | Pages visible |
|---|---|---|
| role_jimmy | dim_apartment[apt_key] = 1 | Overview · Env · Energy · Presence · Health |
| role_jeremie | dim_apartment[apt_key] = 2 | Overview · Env · Energy · Presence · Health |
| admin | — bypassed — | Admin Compare + all tenant pages |