1
0
Fork
You've already forked esphome-components
0

feat(configs): publish AtomS3U rig + atlas kit telemetry to the grow MQTT broker #13

Closed
stackdrift wants to merge 2 commits from feat/edge-mqtt-to-broker into main
pull from: feat/edge-mqtt-to-broker
merge into: stackdrift:main
stackdrift:main
stackdrift:chore/retire-grow-device-configs
stackdrift:fix/scd4x-vpd-metadata
stackdrift:fix/atlas-ec-labels-vpd-precision

Summary

  • Adds MQTT publishing for the Atlas Hydro Monitor and AtomS3U Sensor Rig under the site broker topic tree: grow/daniel-home/<device>/....
  • Enables scoped ESPHome MQTT discovery for grow-app with discovery: true and discovery_prefix: grow/daniel-home/_discovery.
  • Keeps firmware debug logs off the MQTT bus with log_topic.level: NONE.
  • Publishes retained grow-app UI layout metadata from each device on connect:
    • grow/daniel-home/atlas-hydro-monitor/_ui/config
    • grow/daniel-home/atoms3u-sensor-rig/_ui/config
  • Uses schema: grow-ui.v1 metadata to define metric tiles, grouped controls, calibration sections, thermal/threshold sections, and default-open/default-closed behavior.
  • Adds the AtomS3U DLight/BH1750 illuminance sensor to the environmental readings.

Grow App UI Metadata

Atlas Hydro Monitor publishes layout metadata for:

  • At a Glance metrics: Water Temp, Water pH, Water EC, Water TDS, Water ORP
  • Circuit Controls
  • Temperature Compensation
  • pH, EC, RTD, and ORP Calibration sections
  • Maintenance
  • Diagnostics fallback

AtomS3U Sensor Rig publishes layout metadata for:

  • Environment metrics: CO2, Temperature, Humidity, VPD, Illuminance, Pressure
  • Thresholds & Alerts
  • Thermal Camera
  • Maintenance
  • Diagnostics fallback

Test Plan

  • ./docker/esphome compile configs/atlas-hydro-kit.yaml
  • ./docker/esphome compile configs/test-atoms3u-sensors.yaml
  • Retained _ui/config payloads were manually published to mosquitto-site during grow-app LAN deployment so the live app can consume the layout immediately.
  • Live grow-app snapshot confirmed both UI configs are loaded.

Follow-up

ESPHome 2026年5月1日 warns that two EC calibration names contain /; cleanup is tracked separately in issue #14.

## Summary - Adds MQTT publishing for the Atlas Hydro Monitor and AtomS3U Sensor Rig under the site broker topic tree: `grow/daniel-home/<device>/...`. - Enables scoped ESPHome MQTT discovery for grow-app with `discovery: true` and `discovery_prefix: grow/daniel-home/_discovery`. - Keeps firmware debug logs off the MQTT bus with `log_topic.level: NONE`. - Publishes retained grow-app UI layout metadata from each device on connect: - `grow/daniel-home/atlas-hydro-monitor/_ui/config` - `grow/daniel-home/atoms3u-sensor-rig/_ui/config` - Uses `schema: grow-ui.v1` metadata to define metric tiles, grouped controls, calibration sections, thermal/threshold sections, and default-open/default-closed behavior. - Adds the AtomS3U DLight/BH1750 illuminance sensor to the environmental readings. ## Grow App UI Metadata Atlas Hydro Monitor publishes layout metadata for: - At a Glance metrics: Water Temp, Water pH, Water EC, Water TDS, Water ORP - Circuit Controls - Temperature Compensation - pH, EC, RTD, and ORP Calibration sections - Maintenance - Diagnostics fallback AtomS3U Sensor Rig publishes layout metadata for: - Environment metrics: CO2, Temperature, Humidity, VPD, Illuminance, Pressure - Thresholds & Alerts - Thermal Camera - Maintenance - Diagnostics fallback ## Test Plan - `./docker/esphome compile configs/atlas-hydro-kit.yaml` - `./docker/esphome compile configs/test-atoms3u-sensors.yaml` - Retained `_ui/config` payloads were manually published to `mosquitto-site` during grow-app LAN deployment so the live app can consume the layout immediately. - Live grow-app snapshot confirmed both UI configs are loaded. ## Follow-up ESPHome 2026年5月1日 warns that two EC calibration names contain `/`; cleanup is tracked separately in issue #14.
Phase 0 edge layer of the grow-control system: both bench devices now speak
MQTT to our own broker (mosquitto-site on media-server) instead of leaning on
Home Assistant as the data path.
Each device gets an mqtt: block alongside its existing api: (HA stays an
optional observer, never in the critical path). State publishes under
grow/<site>/<device>/ with <site>=daniel-home, authenticating as the
site-scoped edge credential. discovery is off (no HA attached; keeps the
broker ACL scoped to grow/daniel-home/#) and firmware DEBUG logs are kept off
the bus via log_topic level NONE (serial + API still carry them) so neither
the broker nor the site->central bridge is flooded by the MLX per-frame / ezo
debug spam.
Verified live: both devices connect, publish their full sensor set plus
retained setpoints and a status birth, and the data bridges through to the
central aggregator.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Author
Owner
Copy link

Update: latest branch head 3690ed0 adds retained grow UI metadata publishing for both device configs.

The branch now has:

  • discovery: true
  • discovery_prefix: grow/daniel-home/_discovery
  • retained _ui/config publishes for atlas-hydro-monitor and atoms3u-sensor-rig using schema grow-ui.v1

The PR description above is stale and still describes the earlier discovery:false version.

Update: latest branch head 3690ed0 adds retained grow UI metadata publishing for both device configs. The branch now has: - discovery: true - discovery_prefix: grow/daniel-home/_discovery - retained _ui/config publishes for atlas-hydro-monitor and atoms3u-sensor-rig using schema grow-ui.v1 The PR description above is stale and still describes the earlier discovery:false version.
Author
Owner
Copy link

Superseded by the fleet split in stackdrift/grow-fleet. The real Atlas Hydro and AtomS3U MQTT/config ownership now lives there, so this config PR should not land in esphome-components.

Superseded by the fleet split in stackdrift/grow-fleet. The real Atlas Hydro and AtomS3U MQTT/config ownership now lives there, so this config PR should not land in esphome-components.

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
stackdrift/esphome-components!13
Reference in a new issue
stackdrift/esphome-components
No description provided.
Delete branch "feat/edge-mqtt-to-broker"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?