EnviroHub
An environmental monitoring platform consisting of an ESP measurement node, a local Edge Gateway, and a sanitized public site projection. This screen is intended for observation and engineering verification.
ENVIROHUB
SYSTEM INFORMATION / OPERATOR REFERENCE
Purpose, architecture, smart-home integration, status logic, and explanations of EnviroHub service parameters.
An environmental monitoring platform consisting of an ESP measurement node, a local Edge Gateway, and a sanitized public site projection. This screen is intended for observation and engineering verification.
The active ESP32-S3 publishes only real data from a BMP390, a backup BMP58x barometer, two SHT45 sensors and a replacement SCD41. CO₂ now traverses the full MQTT/Edge/site path; O₂ is the only environmental channel not connected yet.
Only allowlisted environmental metrics and station-availability events reach the site. Internal device identifiers, Wi-Fi/RSSI, MQTT credentials, and complete local history remain on the Edge Gateway.
The dashboard requests a fresh state snapshot every 15 seconds. Selecting a chart period also loads the corresponding data range immediately.
The ESP obtains UTC through SNTP after every boot and resynchronizes daily. Raspberry Pi has independent NTP synchronization. Measurements continue with time_valid=false if trusted time is unavailable.
The panel sends a desired revision through the Raspberry Pi outbound HTTPS session and retained MQTT. A setting is considered applied only after the ESP stores it in NVS and returns it through config/reported.
Threshold and hardware alerts are calculated on the Edge Gateway after durable storage. Telegram receives messages on NORMAL → WARNING → CRITICAL transitions and on recovery.
Analytics includes minimum, maximum, P05/P50/P95, standard deviation, time in the target range, separate excursions, and comparison with the preceding period.
The ESP first maintains a human-readable FAT journal on microSD to survive a link outage. Raspberry Pi keeps the primary full history in Edge SQLite/WAL. The vlasovlab.ru adapter receives a separate allowlisted public projection for charts; it is neither the only nor a complete copy of the source data.
The read-only Yandex Smart Home integration reuses the same sanitized public projection as the operator console. Temperature, humidity, and pressure are available in Home with Alice and through voice requests to Alice on Yandex Station. It needs neither a second MQTT broker nor another telemetry collector.
The active ESP32-S3 publishes real readings from a BMP390, a backup BMP58x, two SHT45 sensors and a replacement SCD41. Indoor and outdoor temperature/humidity use independent I²C buses; CO₂ is measured on I²C-A. The O₂ channel is not connected yet.
A digital temperature and relative-humidity sensor. The first unit measures indoor air; placement will be validated against ESP self-heating and enclosure influence.
The second SHT45 is commissioned on a separate I²C bus and provides the outdoor channel pair. Its permanent installation needs protected but ventilated placement outside the station’s internal thermal zone.
The verified BMP390 is the primary pressure channel and BMP58x is its automatic fallback. Their internal temperature measurements remain part of pressure compensation and are not exposed as separate environmental readings.
An active photoacoustic digital CO₂ sensor. The measurement path uses pressure compensation, ASC, guarded FRC, and retained calibration metadata.
An electrochemical sensor connected through a dedicated analog front end and external precision ADC. The panel will distinguish raw ADC data, the processed reading, and calibration state.
Builds versioned telemetry, preserves sequence identity, and publishes MQTT availability. Last Will reports a broken connection even when no new measurement packet is produced.
Validates data, commits it atomically to SQLite/WAL, returns an application acknowledgment, and maintains the outbound synchronization queue. Raspberry Pi is the hardware platform for this node.
Accepts exact batches, removes duplicates, stores an isolated public projection, and serves the operator panel. The home network accepts no inbound Internet connection.
The read-only provider uses the same public projection. Alice reports temperature, humidity, and pressure through Yandex Station without a second MQTT broker or another telemetry collector.
The short line in the top status identifies the first unavailable segment: ESP, MQTT, or EDGE/UPLINK. The last label combines the Edge Gateway and its outbound Internet path, which the site cannot distinguish without an independent channel.
The top status shows used microSD space and its total FAT filesystem size, followed by the real disk footprint of the primary Edge SQLite/WAL database on Raspberry Pi. These service values travel only as current state and are not written into either database or measurement history; the site projection size is not shown here.
Freshness of the latest confirmed Edge Gateway → site delivery. This is separate from the ESP connection status.
Number of unique measurement records confirmed by the receiving site database.
Number of accepted HTTPS batches. One batch may contain multiple records; an identical retry does not increase the counter.
Number of confirmed online/offline transitions received from MQTT availability and Last Will.
The operator sets a desired interval from 1 to 20 minutes. The actual interval is read only from confirmed ESP config/reported data.
Shows whether the ESP has trusted UTC time and the age of its latest SNTP synchronization.
Every provider reports sample presence and quality. Missing, stale, invalid, or uncalibrated channels become explicit alerts.
Response time of the public read API for the latest dashboard request. This is not sensor measurement latency.
Aggregation step for points in the selected chart range. It limits drawing density without deleting source history.
An explicit MQTT availability online report was received and telemetry remains inside the freshness window.
No explicit offline event exists, but an expected telemetry packet is delayed. This is a warning, not a confirmed disconnect.
The Edge Gateway received MQTT Last Will/offline after losing the ESP, or the emergency freshness timeout was exceeded.
RECENT AVAILABILITY