Design phase: no unit has been built or measured yet. Help build the first one

Night schedule

Your night, as a curve.

Schedules run on the hub, no subscription. A schedule is a few points: a temperature at a number of minutes after bedtime, joined by straight lines and held flat at the ends. Before your wake time, a ramp warms the bed to wake you gently; at the wake time the side turns off.

13 °C18 °C23 °C28 °C33 °C38 °C43 °C23:0000:0001:0002:0003:0004:0005:0006:0007:00WAKEOFF

Drag a point, or focus it and use the arrow keys (up/down 0.5 °C, left/right 5 min). Double-click the chart to add a point; press Delete to remove the focused one.

Schedule points
ClockMinutes after bedtimeSetpoint
23:00024.0 °C
23:303021.0 °C
01:0012020.0 °C
04:0030023.0 °C
06:0042025.0 °C

For your hub (ESPHome YAML)

    points:
      - { at: 0min, temperature: 24 }
      - { at: 30min, temperature: 21 }
      - { at: 120min, temperature: 20 }
      - { at: 300min, temperature: 23 }
      - { at: 420min, temperature: 25 }
    wake_ramp: 30min
    wake_temperature: 32

Paste into the switch: - platform: opod block of your hub config. Nothing is stored or sent anywhere.

The default program

24 °C at bedtime, cooling to 20 °C for early deep sleep, then easing warmer toward morning, with a 30-minute ramp to 32 °C. It comes straight from the reference code.

Same math, three times

This chart uses a TypeScript port of the reference schedule. The Python reference, the C++ hub component and this page are all tested against the same golden vectors.

Limits stay fixed

Every point is clamped to the 13–43 °C setpoint range. What your kit can actually reach depends on the kit and the room: see kits.