1.2 KiB
1.2 KiB
Prompt - Modbus to MQTT App
Use these development guidelines for this repository.
Goals
- Keep the app config-driven and backward compatible.
- Avoid breaking MQTT topics or HA discovery behavior.
- Prefer readable logs and safe defaults.
Core behavior
- Read Modbus registers and publish to MQTT.
- Support per-entity refresh intervals (seconds or minutes).
- Use batching for contiguous Modbus reads.
- Publish only on change by default (configurable).
- Publish availability (LWT) and metrics.
Configuration rules
src/config.yamlis the active config file.- Validate config on startup (required fields, unique_id).
- Support
state_topicoverride per entity. - Support
value_mapfor text mapping. - Allow computed entities (
input_type: computed).
Reliability
- Reconnect Modbus with exponential backoff.
- Backoff per entity after read errors.
- Keep MQTT connection stable and log failures.
Observability
- Log at INFO by default, allow DEBUG via config.
- Optional file logging via
log_file. - Metrics to
<topic_prefix>/metrics.
Changes checklist
- Update README and CHANGELOG when behavior changes.
- Keep ASCII where possible (avoid accents in new files).
- Add minimal comments only when logic is not obvious.