Data Quality Report - Weather & Energy
Overall Status: CRITICAL
Report generated: 2026-08-23 14:37:17
Part 1: Weather Data Quality
1.1 Data Freshness
Shows when each station last received data. Active stations: KPWM (Portland Jetport) and zastmet (personal weather station).
| Station |
Last Record |
Hours Stale |
Status |
| KPWM |
2026-08-23 07:51 |
6.0 |
WARNING |
| E4229 |
2026-08-23 10:01 |
4.0 |
OK |
| E4279 |
2026-08-23 10:15 |
4.0 |
OK |
| G5290 |
2026-08-23 10:15 |
4.0 |
OK |
| G5544 |
2026-08-23 10:15 |
4.0 |
OK |
| zastmet |
2026-08-23 14:30 |
0.1 |
OK |
| ecobee_Main Floor |
2026-08-23 18:15 |
0.0 |
OK |
| ecobee_Basement |
2026-08-23 18:15 |
0.0 |
OK |
1.2 Data Completeness (Last 7 Days)
| Station |
Expected |
Actual |
Completeness |
Status |
| KPWM |
168 |
194 |
100.0% |
OK |
| E4229 |
168 |
657 |
100.0% |
OK |
| E4279 |
168 |
679 |
100.0% |
OK |
| G5290 |
168 |
1916 |
100.0% |
OK |
| G5544 |
168 |
1901 |
100.0% |
OK |
| zastmet |
2016 |
1600 |
79.4% |
CRITICAL |
| ecobee_Main Floor |
2016 |
2009 |
99.7% |
OK |
| ecobee_Basement |
2016 |
2009 |
99.7% |
OK |
1.3 Range Validation (Last 30 Days)
| Station |
Sensor |
Expected Range |
Actual Min |
Actual Max |
Violations |
Status |
| KPWM |
Temperature |
-40 to 110 |
50.0 |
91.0 |
0 |
OK |
| KPWM |
Humidity |
0 to 100 |
0.0 |
100.0 |
0 |
OK |
| KPWM |
Pressure |
920 to 1080 |
1004.4 |
1023.7 |
0 |
OK |
| KPWM |
Wind Speed |
0 to 150 |
0.0 |
18.0 |
0 |
OK |
| E4229 |
Temperature |
-40 to 110 |
0.0 |
90.0 |
0 |
OK |
| E4229 |
Humidity |
0 to 100 |
0.0 |
99.0 |
0 |
OK |
| E4229 |
Pressure |
920 to 1080 |
1000.1 |
1023.3 |
0 |
OK |
| E4229 |
Wind Speed |
0 to 150 |
0.0 |
9.0 |
0 |
OK |
| E4279 |
Temperature |
-40 to 110 |
45.0 |
88.0 |
0 |
OK |
| E4279 |
Humidity |
0 to 100 |
1.0 |
100.0 |
0 |
OK |
| E4279 |
Pressure |
920 to 1080 |
1003.0 |
1023.1 |
0 |
OK |
| E4279 |
Wind Speed |
0 to 150 |
0.0 |
5.0 |
0 |
OK |
| G5290 |
Temperature |
-40 to 110 |
46.0 |
90.0 |
0 |
OK |
| G5290 |
Humidity |
0 to 100 |
35.0 |
98.0 |
0 |
OK |
| G5290 |
Pressure |
920 to 1080 |
1003.2 |
1022.9 |
0 |
OK |
| G5290 |
Wind Speed |
0 to 150 |
0.0 |
6.0 |
0 |
OK |
| G5544 |
Temperature |
-40 to 110 |
47.0 |
89.0 |
0 |
OK |
| G5544 |
Humidity |
0 to 100 |
40.0 |
97.0 |
0 |
OK |
| G5544 |
Pressure |
920 to 1080 |
1004.5 |
1024.7 |
0 |
OK |
| G5544 |
Wind Speed |
0 to 150 |
0.0 |
1.0 |
0 |
OK |
1.4 Station Summary
| Station |
Total Records |
First Record |
Last Record |
| KPWM |
100,692 |
N/A |
2026-08-23 07:51 |
| E4229 |
297,869 |
N/A |
2026-08-23 10:01 |
| E4279 |
289,076 |
N/A |
2026-08-23 10:15 |
| G5290 |
173,143 |
2024-08-23 |
2026-08-23 10:15 |
| G5544 |
165,504 |
2024-11-27 |
2026-08-23 10:15 |
| zastmet |
180,793 |
2024-01-22 |
2026-08-23 14:30 |
Part 2: Energy Data Quality
2.1 Energy Data Freshness
Checks how current the energy data sources are.
| Source |
Table |
Last Record |
Staleness |
Status |
| Electric Meter (hourly) |
electric_use |
2026-07-02 |
1239 hours |
CRITICAL |
| Utility Bills (monthly) |
v_monthly_utilities |
2026-06-02 |
82 days |
WARNING |
2.2 Energy Data Completeness
| Source |
Period |
Expected |
Actual |
Completeness |
Status |
| Electric Meter |
Last 30 days |
720 |
0.0 |
0.0% |
CRITICAL |
| Electricity Bills |
Since 2017 |
113 |
113.0 |
100.0% |
OK |
| Gas Bills |
Since 2017 |
113 |
109.0 |
96.5% |
OK |
2.3 Energy Range Validation
| Metric |
Expected Range |
Actual Min |
Actual Max |
Average |
Outliers |
Status |
| Monthly Electricity (kWh) |
200 - 3000 |
472.0 |
2069.0 |
1114.0 |
0.0 |
OK |
| Monthly Gas (therms) |
0 - 200 |
20.0 |
288.0 |
112.0 |
18.0 |
WARNING |
2.4 Energy Summary
| Source |
Total Records |
First Record |
Last Record |
Total Value |
| Electric Meter (hourly) |
108,564 |
2014-02-01 |
2026-07-02 |
160,300 kWh (net of solar export) |
| Utility Bills (monthly) |
113 months |
2017-01-02 |
2026-06-02 |
125,915 kWh + 12,201 therms |
Part 3: Energy Trends & Periodicity
3.1 Usage Trends Over Time
Blue bars show monthly usage, red line shows 12-month rolling average to reveal trends.
3.2 Seasonal Patterns
Average usage by month showing seasonal patterns. Error bars indicate variability.
Part 4: Solar Data Quality (SolarEdge)
4.1 API Sync Status
Status of each data type fetched from the SolarEdge API (seh_sync_metadata).
Errors here indicate the API call failed and data may be stale.
| Data Type |
Last Sync |
Last Data Timestamp |
Records Synced |
Status |
Error |
| environmental |
2026-08-23 14:34 |
2026-08-23 14:34 |
1 |
OK |
|
| inventory |
2026-08-23 14:34 |
2026-08-23 14:34 |
6 |
OK |
|
| inverter_telemetry |
2026-08-23 14:34 |
2026-08-23 14:31 |
13 |
OK |
|
| optimizer_telemetry |
2026-08-23 14:34 |
2026-08-23 14:34 |
0 |
OK |
|
| power |
2026-08-23 14:34 |
2026-08-23 14:34 |
5 |
OK |
|
| storage |
2026-08-23 14:34 |
2026-08-23 14:34 |
0 |
OK |
|
| power_details |
2026-08-23 14:34 |
2026-08-23 14:30 |
5 |
OK |
|
| site |
2026-08-23 14:34 |
2026-08-23 14:34 |
1 |
OK |
|
| equipment |
2026-08-23 14:34 |
2026-08-23 14:34 |
1 |
OK |
|
| energy |
2026-08-23 14:34 |
2026-08-23 00:00 |
2 |
OK |
|
4.2 Power Reading Completeness (Last 14 Days)
SolarEdge sends 15-minute readings (96 expected per full day).
PARTIAL means today is still in progress.
CRITICAL means fewer than 80% of readings were received.
| Date |
Readings |
Completeness |
Peak (W) |
Avg (W) |
Status |
| 2026-08-23 |
58 |
60.4% |
4,237 |
1,065 |
PARTIAL |
| 2026-08-22 |
95 |
99.0% |
4,989 |
922 |
OK |
| 2026-08-21 |
95 |
99.0% |
11,246 |
2,488 |
OK |
| 2026-08-20 |
95 |
99.0% |
10,972 |
2,011 |
OK |
| 2026-08-19 |
95 |
99.0% |
11,147 |
2,533 |
OK |
| 2026-08-18 |
95 |
99.0% |
9,945 |
1,325 |
OK |
| 2026-08-17 |
95 |
99.0% |
2,470 |
544 |
OK |
| 2026-08-16 |
95 |
99.0% |
10,724 |
2,533 |
OK |
| 2026-08-15 |
95 |
99.0% |
11,247 |
2,573 |
OK |
| 2026-08-14 |
95 |
99.0% |
11,244 |
2,760 |
OK |
| 2026-08-13 |
95 |
99.0% |
10,627 |
1,827 |
OK |
| 2026-08-12 |
95 |
99.0% |
10,914 |
2,202 |
OK |
| 2026-08-11 |
95 |
99.0% |
11,244 |
2,473 |
OK |
| 2026-08-10 |
95 |
99.0% |
11,017 |
2,555 |
OK |
| 2026-08-09 |
95 |
99.0% |
11,254 |
2,408 |
OK |
4.3 Daily Energy Completeness (Last 30 Days)
Daily energy totals from seh_energy_readings.
Missing days indicate the API did not return data for that date.
Today is always missing until the day is complete.
Missing days (excl. today): 0
| Date |
Energy (Wh) |
Energy (kWh) |
Status |
| 2026-08-23 |
14,769 |
14.77 |
OK |
| 2026-08-22 |
21,918 |
21.92 |
OK |
| 2026-08-21 |
59,752 |
59.75 |
OK |
| 2026-08-20 |
45,406 |
45.41 |
OK |
| 2026-08-19 |
60,659 |
60.66 |
OK |
| 2026-08-18 |
31,182 |
31.18 |
OK |
| 2026-08-17 |
13,095 |
13.10 |
OK |
| 2026-08-16 |
59,359 |
59.36 |
OK |
| 2026-08-15 |
62,383 |
62.38 |
OK |
| 2026-08-14 |
65,104 |
65.10 |
OK |
| 2026-08-13 |
43,091 |
43.09 |
OK |
| 2026-08-12 |
52,693 |
52.69 |
OK |
| 2026-08-11 |
58,044 |
58.04 |
OK |
| 2026-08-10 |
60,536 |
60.54 |
OK |
| 2026-08-09 |
57,226 |
57.23 |
OK |
| 2026-08-08 |
33,367 |
33.37 |
OK |
| 2026-08-07 |
52,326 |
52.33 |
OK |
| 2026-08-06 |
64,175 |
64.17 |
OK |
| 2026-08-05 |
56,384 |
56.38 |
OK |
| 2026-08-04 |
67,099 |
67.10 |
OK |
| 2026-08-03 |
11,514 |
11.51 |
OK |
| 2026-08-02 |
60,168 |
60.17 |
OK |
| 2026-08-01 |
63,495 |
63.49 |
OK |
| 2026-07-31 |
52,425 |
52.42 |
OK |
| 2026-07-30 |
40,768 |
40.77 |
OK |
| 2026-07-29 |
21,398 |
21.40 |
OK |
| 2026-07-28 |
43,400 |
43.40 |
OK |
| 2026-07-27 |
67,820 |
67.82 |
OK |
| 2026-07-26 |
69,461 |
69.46 |
OK |
| 2026-07-25 |
67,873 |
67.87 |
OK |
4.4 Solar Data Summary
10,175.3
Total kWh Produced
| Metric |
Value |
Status |
| Power data freshness |
0h since last reading |
OK |
| Data collection start |
2026-01-27 |
OK |
| Days with data / Calendar days |
209 / 209 (100.0%) |
OK |
4.5 Historic Data Gaps (Full Collection History)
Itemized list of all days since data collection began that have missing or
low-completeness readings. Days with <95% power readings are flagged WARNING;
days with <80% are CRITICAL. The first day of collection is expected to be partial.
2026-01-27
Collection Start
209
Calendar Days in Span
0
Days with No Power Data
Power Reading Gaps (<95% completeness, excl. today)
| Date |
Readings |
Completeness |
Status |
Note |
| 2026-01-27 |
41 |
42.7% |
CRITICAL |
First day — collection started mid-day |
Missing Daily Energy Records
No missing daily energy records — all calendar days in the collection span have energy data.
Quality Check Thresholds
Weather Data
- Freshness: Warning at 4h, Critical at 24h
- Completeness: Warning at 95%, Critical at 80%
- Temperature Range: -40F to 110F
Energy Data
- Utility Bill Freshness: Warning at 45 days, Critical at 90 days
- Monthly Electricity: 200 - 3000 kWh
- Monthly Gas: 0 - 200 therms
Data Quality Report generated by data_quality_report.py
Part of the Cumberland Center Weather Monitoring System