Summary
The cav_cook_mode field on Wolf ranges and wall ovens is a small integer (we've observed 0 in idle states). The official Sub-Zero Android app supports multiple cook modes (bake, roast, convection, steam, defrost, broil, proof, microwave, etc.) but the numeric enum mapping is in the compiled Dart bytecode and isn't extractable from the APK strings dump.
To support a select control entity for cook mode (#67), we need this enum mapping.
How to capture
- Pair an oven with the integration (any model — Wolf range or wall oven).
- Turn on Debug Mode (the appliance's
*_debug_switch in HA).
- On the appliance physically, cycle through cook modes in order: Bake → Roast → Convection → Convection Bake → Convection Roast → Steam → Broil → Convection Broil → Proof → Defrost → ... etc. (Use whatever modes the appliance supports.)
- Each mode change triggers a small push notification on D5:
{"props":{"cav_cook_mode": <int>}, "msg_types": 2}.
- With Debug Mode on, those land as
Response[1/1]: lines in the ESPHome log. Note the integer for each mode.
What we need
A table like this for at least one Wolf range and one Wall Oven, since dual-fuel ranges may have different mode sets than electric wall ovens:
| Mode (UI label) |
cav_cook_mode value |
| Off |
0 |
| Bake |
? |
| Convection Bake |
? |
| Roast |
? |
| ... |
... |
For dual-oven appliances, also confirm the same enum applies to cav2_cook_mode.
Where to put the result
Once captured:
References
🤖 Generated from APK reverse-engineering session, captured for follow-up.
Summary
The
cav_cook_modefield on Wolf ranges and wall ovens is a small integer (we've observed0in idle states). The official Sub-Zero Android app supports multiple cook modes (bake, roast, convection, steam, defrost, broil, proof, microwave, etc.) but the numeric enum mapping is in the compiled Dart bytecode and isn't extractable from the APK strings dump.To support a
selectcontrol entity for cook mode (#67), we need this enum mapping.How to capture
*_debug_switchin HA).{"props":{"cav_cook_mode": <int>}, "msg_types": 2}.Response[1/1]:lines in the ESPHome log. Note the integer for each mode.What we need
A table like this for at least one Wolf range and one Wall Oven, since dual-fuel ranges may have different mode sets than electric wall ovens:
cav_cook_modevalueFor dual-oven appliances, also confirm the same enum applies to
cav2_cook_mode.Where to put the result
Once captured:
docs/ble-protocol.adocas appliance-specific reference.selectentity options in Add control entities (number/switch/select) for writable BLE properties #67.References
docs/advanced.adoc§ Debug Mode for the capture workflow.tests/fixtures/walloven_push_cook_mode.json🤖 Generated from APK reverse-engineering session, captured for follow-up.