Fix: scheduler never automated Daikin AC — missing from AC_DEVICE_TYPES

routes/override.js and ac-control.js's commandAcDevice() got a daikin branch when the
driver was built, but scheduler.js's own separate AC_DEVICE_TYPES filter (used for
automatic occupied/vacant scheduling at room state transitions) was never updated —
so every scheduler tick for a zone with only a daikin device logged "No devices to
command" and silently skipped it. Manual control worked fine (different code path),
which is why it wasn't caught until a real unit got stuck on after a manual test.

Note: this does NOT retroactively fix a unit already stuck from a missed transition —
the scheduler only applies at state transitions, not continuously, so a currently-on
unit needs a manual off (or the next real transition) to actually turn off.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
jtricerolph 2026-08-26 10:46:00 +00:00
parent 930f3d867f
commit b6352cf5f7

View file

@ -17,7 +17,7 @@ const ACTIVE_BOOKING_STATUSES = ['confirmed', 'unconfirmed', 'arrived']
const CANCELLED_STATUSES = ['cancelled', 'no_show']
const HEAT_STATES = ['heating_up', 'occupied']
const COOL_STATES = ['vacant', 'cooling_down', 'booked']
const AC_DEVICE_TYPES = ['mhi_modbus', 'mhi_mqtt'] // matches routes/override.js's mhi-control scope
const AC_DEVICE_TYPES = ['mhi_modbus', 'mhi_mqtt', 'daikin'] // every device_type commandAcDevice() knows how to drive
let timerHandle = null
let running = false