feat: add dimmer board safety package (heatsink NTC + overcurrent + health alarms) - #156
feat: add dimmer board safety package (heatsink NTC + overcurrent + health alarms)#156merryspankersltd wants to merge 1 commit into
Conversation
XavierBerger
left a comment
There was a problem hiding this comment.
Nice job thanks for your contribution. I'll be happy to merge it. I did add few comment about your proposal, mainly on doc since I can't really validate the behavior of the code your provide.
|
|
||
| 3. **Health alarms** (informational, no power cut): | ||
| - *Triac Stuck ON*: current flowing while the regulator is closed (shorted triac) | ||
| - *Boiler Not Powered*: regulator open but no current (dead triac / gate) |
There was a problem hiding this comment.
Boiler Not Powered: regulator open but no current (dead triac / gate)
This could be normal. No?
When the water is hot enough the thermostat cut the current so even if the regulator is at 100% not current is flowing. Is that case taken in account in you module?
| @@ -0,0 +1,53 @@ | |||
| # Dimmer board safety (RobotDyn AC Dimmer 40 A "with current sensor") | |||
|
|
|||
| This package adds local safety for the **RobotDyn AC Dimmer 40 A "with current sensor"** (premium variant: heatsink NTC + 5 V fan + built-in CT current sensor). | |||
There was a problem hiding this comment.
Maybe a picture of the Dimmer will help the user to understand what is the hardware to use.
| @@ -0,0 +1,53 @@ | |||
| # Dimmer board safety (RobotDyn AC Dimmer 40 A "with current sensor") | |||
There was a problem hiding this comment.
1/ The name of this module is not following the convention of naming.
This is a regulator operating a Robodyn 40A module the the name should start with regulator_ fo example : regulator_robodyn_40
2/ As far as I understand, it also had a temperature sensor on heat-sink, isn't it?
| - Home Assistant: temperature_limiter_home_assistant.md | ||
| - DS18B20: temperature_limiter_DS18B20.md | ||
| - Dimmer board safety: | ||
| - RobotDyn 40 A with current sensor: dimmer_safety.md |
There was a problem hiding this comment.
This is a regulator (including additional safety) so it should be in regulator section
| | `overcurrent_restart_current` | `8.0` | Overcurrent restart threshold (A RMS) | | ||
| | `current_calibration_factor` | `1.0` | CT calibration (A per V on the CUR pin), tune on the bench | | ||
|
|
||
| The NTC calibration (`ntc_reference_*`, `ntc_b_coefficient`, `ntc_configuration`) can be adjusted to match the board's divider — see the bench procedure. |
| Il fournit trois niveaux de protection : | ||
|
|
||
| 1. **Limiteur de température du dissipateur** — fonctionne sans WiFi ni Home Assistant : | ||
| - dissipateur >= `heatsink_stop_temperature` → `safety_limit = True` (le moteur passe à 0 %) |
There was a problem hiding this comment.
dissipateur
ici, je parlerais plutôt de température du dissipateur
| 2. **Coupure surintensité** — courant de charge >= `overcurrent_current` → `safety_limit = True` | ||
| - débloqué une fois le courant repassé sous `overcurrent_restart_current` | ||
|
|
||
| 3. **Alarmes de santé** (informatives, pas de coupure) : |
There was a problem hiding this comment.
Alarmes de santé
Là, je dirais plutôt Alarme de sécurité ...
If french is not you native language, I could review this part from English. Anyway, this is still a good start. Thanks.
a12328b to
a749317
Compare
Summary
Adds a new optional package
solar_router/dimmer_safety.yamlproviding local safety for the RobotDyn AC Dimmer 40 A "with current sensor" (premium variant: heatsink NTC, 5 V fan, built-in CT):safety_limit, fail-safe on sensor failure (NaN)safety_limit, restart below lower thresholdThe package owns the shared
safety_limitglobal (same as the temperature limiter packages) — only one safety limiter package per configuration.Files
solar_router/dimmer_safety.yaml— the packageesp32-dimmer-safety.yaml— full usage example (triac + engine_1dimmer + safety)docs/en/dimmer_safety.md,docs/fr/dimmer_safety.md, mkdocs nav entriesValidation
esphome configvalid (esp32dev, with substitutions)tools/check_build_coverage.shOKtools/check_documentation_coverage.shOKmkdocs build --strictOK