Home Environment Monitor & Weather Assistant
A self-hosted home-environment system that turns several asynchronous inputs into timely, explainable household decisions. Deterministic rules decide what the evidence supports; a small local language model may narrate that result, but it never receives the raw numbers or invents the recommendation.
01 · Problem
What needed solving
Indoor humidity, air quality, ventilation and rapidly changing local weather interact. Separate dashboards show measurements, but they do not answer the practical question: what should I do now, and why?
Combine home automation, environmental data and local AI in a system where advice remains testable and safe when any one service fails.
02 · Constraints
The difficult parts
- Reconcile seven concurrent inputs with different update schedules and failure modes.
- Turn temperature and relative humidity into decisions that reflect absolute humidity and real ventilation conditions.
- Use local language generation without letting it alter measurements, thresholds or safety boundaries.
- Keep the service useful during API, model or sensor outages.
03 · Approach
How the work was structured
- Built one asynchronous service around sensor messages, local radio data, official warnings and forecasts.
- Stored time-series data in InfluxDB and used Grafana for long-term inspection.
- Encoded ventilation, humidity and air-quality decisions as deterministic, bilingual rules shared by live and forecast paths.
- Passed only an approved categorical result—not raw measurements—to a local 1.5B language model for concise narration.
- Rejected generated text containing numbers, advice, health claims or unsupported descriptors and fell back to the deterministic message.
04 · Validation
What can be claimed now
The system has 241 automated tests covering rule behaviour, failure paths and message constraints. It runs continuously under a hardened systemd service with monitored inputs and verified backups.
The working system provides dashboards, warnings, forecasts and command responses through Telegram while preserving a strict boundary between calculation and generated language.
05 · Learning
What the project clarified
- AI is safer and more useful here as a constrained presentation layer, not the decision engine.
- A forecast is easier to trust when it uses the same predicate as the live recommendation.
- Environmental advice needs physical reasoning and explicit failure behaviour, not just threshold alerts.