Skip to content

Add toaster oven appliance support - #537

Open
lunaroja wants to merge 3 commits into
simbaja:masterfrom
lunaroja:codex/toaster-oven-support
Open

Add toaster oven appliance support#537
lunaroja wants to merge 3 commits into
simbaja:masterfrom
lunaroja:codex/toaster-oven-support

Conversation

@lunaroja

@lunaroja lunaroja commented Jul 14, 2026

Copy link
Copy Markdown

Summary

  • add toaster oven appliance type support
  • add toaster oven light control
  • add oven-style toaster oven mode and target-temperature control
  • add named toaster oven diagnostics for cook mode, current state, cook time remaining, remote enabled, Crisp Finish, and convection
  • document toaster oven support in README, HACS info, and changelog

Issue context

Closes #324
Closes #378
Closes #477

Related prior reports: #163 and #355.

These reports all describe Café/Couture toaster oven models that appear in SmartHQ but are not discovered or represented by this integration. This change adds a toaster oven appliance API for ErdApplianceType.TOASTER_OVEN, maps that appliance type into discovery, and exposes validated toaster oven light, cook setup controls, and named diagnostics similar to the existing oven entities.

The toaster oven cook setup is exposed through the same Home Assistant water_heater platform shape used by ovens in this integration. On the tested Café model, remote cook commands update the appliance cook profile and leave the appliance in its normal "Awaiting Start" flow until Start is pressed on the product.

Validation

  • python3 -m compileall -q custom_components/ge_home
  • git diff --check
  • Tested on a live Home Assistant instance with a Café C9OAAAS4RW3 toaster oven
  • Verified light control through Home Assistant
  • Verified SmartHQ remote cook setup updates are reflected in Home Assistant
  • Verified Home Assistant water_heater.set_operation_mode and water_heater.set_temperature service calls are accepted by the live toaster oven entity
  • Verified named toaster oven diagnostics appear in Home Assistant for cook mode, current state, cook time remaining, remote enabled, Crisp Finish, and convection
  • Verified state transitions for Awaiting Start, active Cooking, and Complete using a live 1-minute bake cycle
  • Verified Crisp Finish maps to the toaster oven cook mode and convection maps to the live fan/convection flag

@lunaroja
lunaroja marked this pull request as ready for review July 15, 2026 00:20
@lunaroja
lunaroja force-pushed the codex/toaster-oven-support branch from b5cc612 to 4a97950 Compare July 15, 2026 06:49
@simbaja

simbaja commented Jul 19, 2026

Copy link
Copy Markdown
Owner

@lunaroja, can you check v2026.7.0-dev0 to see if I got it all incorporated? I upstreamed the new ERDs into the SDK instead of having them in this integration. If I didn't quite get it right, can you please submit new updates to both repositories?

@lunaroja

Copy link
Copy Markdown
Author

Thanks, I checked this against the SDK release line and pushed 5fe039a to align the integration with the upstreamed SDK definitions.

What changed:

  • bumped the integration requirement to gehomesdk==2026.7.2
  • replaced the toaster oven raw ERD strings with ErdCode.TOASTER_OVEN_*
  • switched cook-setting parsing/writes over to ToasterOvenCookSetting / ErdToasterOvenCookMode
  • switched toaster oven state/convection/cook-time reads to the SDK decoded values
  • removed the duplicate local cook-mode map from the integration

I kept the integration-level derived display for the live-tested Awaiting Start / Complete behavior, since that depends on current state plus cook-time remaining rather than just the raw SDK enum.

Validation run:

  • python3 -m compileall -q custom_components/ge_home
  • git diff --check
  • SDK encode/decode smoke test for ToasterOvenCookSetting

I did not find anything else that obviously needs a new SDK PR right now; the named ERDs and toaster oven value/converter types are present in the published SDK.

@simbaja

simbaja commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Can you compare against the 2026.7.x-working branch? That's the one that the newest dev release is based on and should have the functionality incorporated. I simplified a bit since many of the sensors didn't need to be custom, they could just be default sensors.

@lunaroja

Copy link
Copy Markdown
Author

Thanks, that clarified the missing piece. I compared this PR against upstream/2026.7.x-working and pushed 6961129 to bring the toaster oven integration shape in line with that branch without pulling in unrelated release-branch work.

What changed in the follow-up:

  • removed the custom toaster oven state sensor bundle
  • removed the temporary GeErdRawBoolLight
  • switched the ordinary diagnostics to the default entities: GeErdSensor, GeErdBinarySensor, and GeErdPropertySensor
  • kept toaster-oven-specific code only where it still seems needed: the on/off light control entity and Crisp Finish binary sensor
  • kept the existing PR branch identifier behavior rather than copying the newer entity_identifier changes from 2026.7.x-working

Validation run after the simplification:

  • python3 -m compileall -q custom_components/ge_home
  • git diff --check
  • SDK encode/decode smoke test for the default Bake / 350F / 600s toaster oven setting

So the first follow-up aligned the PR with the SDK definitions; this one aligns the Home Assistant entity implementation with your 2026.7.x-working simplification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Request to add Toaster Oven New appliance support – Café Couture Counter-top Oven (CTOV) Toaster Oven does not show but Fridge does

2 participants