Skip to content

feat: expose running firmware version and native config hash - #28

Merged
flowcool merged 1 commit into
upstream/staging-v2r1from
upstream/firmware-version-diagnostic
Oct 20, 2026
Merged

flowcool merged 1 commit into
upstream/staging-v2r1from
upstream/firmware-version-diagnostic

Conversation

@flowcool

@flowcool flowcool commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Behavior

Publish ESPHome Version as a diagnostic using existing friendly-name conventions. Keep the native effective-configuration hash, omit the timestamp. This identifies the running image without local fleet metadata or HA migration.

Target: flowcool/Smart_Plant:upstream/staging-v2r1. Source 37d21f3, predecessor c16403e. Open after the preceding contribution merges so this PR contains only its owned change. The upstream baseline is bcf373144b2d5c7e3a712fd02698e2e98e45aeed. No PR to JGAguado is authorized.

Verification

Both exact-source ESPHome 2026.9.0 full builds pass: API hash 0x67ba409c and MQTT hash 0xc5c12a50. Frozen synthetic fixtures and complete logs are retained under ignored tmp/profiles/37d21f3-*-build.log. Version platform schema accepts hide_hash:false. No deployment is inferred from a build or dashboard record.

Inspect the semantic diff and git -c core.whitespace=cr-at-eol diff --check; preserve existing line endings. All tracked YAML parses. Firmware fixtures use local fonts/public images and synthetic credentials, never devices or shared builders. Local compilation does not prove deployment.

Rollback: revert this isolated PR on staging. No automatic deployment, fleet/NAS/cache purge/MQTT/HA action.

AI assistance

Codex prepared the port or extraction. The author inspected the behavior, contribution boundary, actual-source tests, compatibility and diff. Existing staging OTA confirmation and native shutdown remain intact.

CodeRabbit review

Require current-head completed review and yaml-syntax before merge. Florent approved one manual review request per ignored PR for this series only. Documentation-only PRs use the standing docs gate. Record review/head/checks/merge in owner infra-3rr.68.

Summary by CodeRabbit

  • Nouvelles fonctionnalités
    • Ajout d’un capteur diagnostique affichant la version du firmware ESPHome en cours d’exécution.
    • L’horodatage est masqué, tandis que le hash de version reste visible.

@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f47fd0dd-01c5-424c-8411-c8ad415de097
📥 Commits

Reviewing files that changed from the base of the PR and between ce16a1b and 37d21f3.

📒 Files selected for processing: 1
  • examples/multi-device/packages/smart_plant_core.yaml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 4 remain after this review.

📜 Recent review details
🧰 Additional context used
📚 Code guidelines: 2
.claude/rules/esphome-yaml.md — auto-discovered
AGENTS.md — auto-discovered
📓 Path-based instructions: 2
Source excerpt: `use_address` must be in the `wifi:` block of the device YAML, not only in `substitutions:` — the ESPHome CLI reads YAML without resolving packages.

📄 CodeRabbit inference engine (.claude/rules/esphome-yaml.md)

Files:

  • examples/multi-device/packages/smart_plant_core.yaml
Source excerpt: Parse changed YAML and run `git diff --check`; inspect both `git diff --numstat` and the semantic diff before committing.

📄 CodeRabbit inference engine (AGENTS.md)

Files:

  • examples/multi-device/packages/smart_plant_core.yaml
🔇 Additional comments: 1
examples/multi-device/packages/smart_plant_core.yaml: 1

291-298: LGTM!

Walkthrough

La configuration multi-appareil ajoute un capteur texte diagnostique qui publie la version ESPHome en cours d’exécution. Il masque l’horodatage et conserve le hash visible.

Changes

Publication de la version ESPHome

Layer / File(s) Summary
Déclaration du capteur
examples/multi-device/packages/smart_plant_core.yaml
La configuration ajoute le capteur texte ESPHome Version. Il masque l’horodatage, affiche le hash et utilise la catégorie diagnostic.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~4 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to 37d21

The diagnostic sensor change is contract-correct and introduces no identified merge-blocking risk.

Architecture risk: 🔵 Low · up to 37d21

The change affects 1 system.

Changed systems: examples

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — examples (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in examples/multi-device/packages/smart_plant_core.yaml: Ajout d’un capteur texte diagnostique publiant la version ESPHome courante, sans horodatage mais avec le hash visible.
Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed Le titre décrit clairement la modification principale : exposer la version ESPHome en cours et conserver le hash de configuration natif.
Description check Passed La description couvre le comportement, la vérification, l’assistance IA et les conditions de revue. Elle est suffisamment complète. Les commandes, résultats attendus et résultats observés pourraient t…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

La description couvre le comportement, la vérification, l’assistance IA et les conditions de revue. Elle est suffisamment complète. Les commandes, résultats attendus et résultats observés pourraient toutefois être séparés plus explicitement, et la preuve de revue CodeRabbit avec l’URL et le SHA reste à renseigner.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Un lapin lit la version,
Le hash brille dans le jardin,
L’horodatage reste caché,
Le capteur veille en silence,
Et les feuilles dansent au matin.

Comment @coderabbitai help to get the list of available commands.

@flowcool

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@flowcool
flowcool merged commit 2202c09 into upstream/staging-v2r1 Oct 20, 2026
2 checks passed
@flowcool
flowcool deleted the upstream/firmware-version-diagnostic branch October 20, 2026 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant