Add dimming_curve to dimmable lights and variable fans #143
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/yaml-dimming-curve"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
YN-25.
dimmable_lightandvariable_fantake an optionaldimming_curve, one of thectrl::Easenames in snake_case (linear,quad_in,quad_out,quad_in_out, and the same forcubic,quartandquint), defaultlinear. The generator sets.outputEaseon thePwmConfig, as the hand-written lighting node does withQuintInfor its seating and kitchen circuits; a linear curve emits nothing, so existing nodes generate the same code. The fade ease stays linear. The names come from one table in the generator that mirrors the enum inlib/node-runtime/src/easing.h, and the schema takes its enum from it.heater_blowerdoes not take the field.Generator, schema, README and Python tests only. The README gets the field in both type rows and a short paragraph on the names. The LOLIN32 fixture uses
quint_inon its fan andquad_in_outon its ceiling light, so CI compiles two curves.Tested: Python 144 (was 140), none skipped locally. Tests cover the mapping for a spread of names, the default and its unchanged output, an unknown name, the field being refused on a plain light, and the schema; always emitting Linear fails them. All fixtures build.