#pragma once #include // Unique per-node identity derived from the ESP32's factory MAC (PRD 5.1). // Two nodes flashed with the identical binary still land on distinct MQTT // topics and distinct HA entity ids, so adding a node never collides with an // existing one. namespace node_id { // Must be called once in setup(), before anything reads the values below. void begin(); // e.g. "soil-node-a1b2c3" -- lowercase, safe for MQTT topics and HA object ids. const char *slug(); // e.g. "Soil Node A1B2C3" -- shown as the device name in Home Assistant. const char *friendlyName(); // e.g. "a1:b2:c3:d4:e5:f6" const char *macAddress(); } // namespace node_id