Previous kick-start only fired when duty < 200, but all level duties are
≥230, so L1 starts from rest at PWM 230 and the rotor can't break static
friction. Now we briefly drive 100% on any off→on transition before
dropping to the target duty.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Fan speed is now auto-selected from a temperature table (levels 1-5 at
28/30/32/34/36C mapping to PWM duties 230/236/242/249/255) with 1C
hysteresis. State and level are published to MQTT for Home Assistant.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>