Skip to content

v0.3.8 - Model profiles (extensible per-machine behaviour)

Choose a tag to compare

@actabi actabi released this 06 Jun 22:33

Internal refactor + docs, no functional change for supported machines.

  • Per-model behaviour now lives in one class per machine family (model_profiles.py: SoulProfile, ElettaProfile) instead of if is_eletta branches across the coordinator. Adding first-class support for a new model is now a single ModelProfile subclass.
  • Unknown models default to learn-and-replay (works on any Coffee Link machine once taught), avoiding the silent-failure an unrecognised model used to hit.
  • README: "Adding a new machine model" - exactly what diagnostics to capture (device id, Last Captured Command per drink + wake, recipe dump) so a new machine can be added.

PrimaDonna Soul (synthesize) and Eletta Explore (learn-and-replay) behaviour unchanged. 41 unit tests pass.