Files
froling_modbus2mqtt/README.md
2025-12-24 16:21:23 +01:00

60 lines
1.8 KiB
Markdown

# froling_modbus2mqtt
Passerelle Modbus -> MQTT pour chaudiere Froling, avec autodiscovery Home Assistant.
## Fonctionnement
- Lit des registres Modbus (input/holding/coils/discrete) et publie sur MQTT.
- Chaque entite peut avoir sa frequence (secondes ou minutes).
- Autodiscovery HA publie automatiquement les capteurs.
- Optimisations: lectures Modbus par batch, publication sur changement uniquement (optionnel).
- Fiabilite: LWT MQTT + reconnexion Modbus avec backoff.
## Fichier de configuration
L'application lit `src/config.yaml` (monte dans le conteneur).
Parametres globaux utiles:
- `refresh_rate`: intervalle par defaut.
- `log_level` / `log_file`: logs console et fichier optionnel.
- `publish_on_change_only`: publier uniquement si la valeur change.
- `metrics_interval`: envoi des metrics MQTT.
- `buffer_volume_l`, `buffer_min_temp_c`: calcul Stock energie.
- `modbus.reconnect_min` / `modbus.reconnect_max`: backoff reconnexion.
Parametres par entite:
- `refresh` + `refresh_unit` (`s` ou `m`)
- `state_topic` (sinon genere avec `topic_prefix` et `name`)
- `value_map` (SystemStatus, FurnaceStatus, etc.)
## Entites calculees
Type `input_type: computed` pour les valeurs derivees.
Exemple Stock energie (kWh) base sur Tampon Haut/Bas:
```yaml
buffer_volume_l: 1000
buffer_min_temp_c: 25
...
- name: "Stock energie"
unique_id: "stock_energie_sensor"
type: "sensor"
unit_of_measurement: "kWh"
state_topic: "froling/S3Turbo/STOCK_ENERGIE/state"
input_type: "computed"
formula: "buffer_energy_kwh"
sources:
- "tampon_haut_sensor"
- "tampon_bas_sensor"
precision: 2
```
## MQTT
- Availability: `<topic_prefix>/availability`
- Metrics: `<topic_prefix>/metrics` (reads, errors, published, uptime)
## Lancer en Docker
```bash
docker compose up -d --build
```
## Changelog
Voir `CHANGELOG.md`.