Shore power and block heaters, on a schedule (all three rigs)
On each rig
- A shore power inlet (weatherproof, with a cover), feeding:
- the engine block heater
- a shore charger for the house battery (alongside solar and the DC-DC charger, see dual-battery.md)
- Behind a GFCI, wired and fused for the inlet's rating.
- Block heaters run from shore power only. At several hundred watts to over a kilowatt, never from the house battery or an inverter.
At home: switched and scheduled
- One switched outlet or relay per parking spot, controlled locally (a Shelly-type device with a local API, no cloud), driven by the home hub.
- When to heat: start before departure, earlier the colder it is, capped at a few hours; skip it when it's mild. Rule of thumb to begin with, then tuned from what the coolant temperature actually does (the engine sensors, engine-can.md).
- Departures from the calendar, or set by hand from the bar.
The scheduling problem (ASP)
If the heaters and chargers share a garage circuit, running everything at once can trip the breaker. The rules plan each hour:
- Facts: each rig's departure time, its heater and charger wattage, the forecast low, the circuit's limit, the house batteries' state of charge.
- Constraints: the circuit's load never above its limit (with margin); each engine warm by its departure; heaters off above the "too mild" temperature.
- Preferences: finish heating close to departure (not hours early), charge batteries in the remaining time, least energy overall.
- Output: a timetable per outlet, and
misra explain-style reasons ("Chevy first: it leaves at 06:30; F100 waits for the 4Runner's charger to finish").
misra checks
- The outlet says it's on but the heater draws nothing (a cord unplugged, a heater element gone).
- Coolant temperature doesn't rise while heating.
- The house battery isn't charging on shore power.