Device
COSORI Smart Air Fryer Toaster Oven, 30L/32QT (sold at Costco/Walmart/Amazon as "COSORI Smart 32QT Toaster Oven Air Fryer")
- deviceType:
CTO-R301S-SUSW
- configModule:
VS_WFBO_OVN_CTO-R301S_OFL_US
- type:
SKA
- connectionType:
wifi+BTOnboarding
- Sibling models exist (e.g.
CTO-R302S-SUSR, the 26QT variant) sharing the VS_WFBO_OVN config-module family — presumably one implementation covers the line.
Current behavior
The device is returned by /cloud/v2/deviceManaged/devices but is not present in device_map.py, so pyvesync (tested on 3.4.2) silently drops it — manager.devices ends up empty and update() logs No devices to update. In Home Assistant this surfaces as a successfully-authenticated VeSync integration with zero devices, which is confusing to debug (nothing hints an unsupported device was skipped).
Raw device-list payload (identifiers redacted)
{
"deviceRegion": "US",
"isOwner": true,
"deviceName": "Smart Air Fryer Toaster Oven",
"cid": "vssk240e05d4...",
"deviceStatus": "off",
"connectionStatus": "online",
"connectionType": "wifi+BTOnboarding",
"deviceType": "CTO-R301S-SUSW",
"type": "SKA",
"uuid": "af3f84b3-....",
"configModule": "VS_WFBO_OVN_CTO-R301S_OFL_US",
"macID": "44:1d:64:...",
"deviceFirstSetupTime": "Jul 16, 2026 8:36:49 PM",
"subDeviceList": null,
"extension": null,
"deviceProp": null
}
Ask
Add the CTO-R301S (and ideally the VS_WFBO_OVN family) to the device map — even status-only support (on/off, cook state, remaining time, temperatures) would be valuable for Home Assistant users. The VeSync app exposes cook mode, target/current temp, timer, and start/stop for this device.
Happy to capture API traffic for specific endpoints, run test builds against the physical device, or provide additional payloads — the unit is on my bench and I can iterate quickly.
Also noting the debugging papercut: an INFO/WARNING log naming skipped unsupported deviceTypes would have saved a lot of head-scratching versus the bare No devices to update.
Device
COSORI Smart Air Fryer Toaster Oven, 30L/32QT (sold at Costco/Walmart/Amazon as "COSORI Smart 32QT Toaster Oven Air Fryer")
CTO-R301S-SUSWVS_WFBO_OVN_CTO-R301S_OFL_USSKAwifi+BTOnboardingCTO-R302S-SUSR, the 26QT variant) sharing theVS_WFBO_OVNconfig-module family — presumably one implementation covers the line.Current behavior
The device is returned by
/cloud/v2/deviceManaged/devicesbut is not present indevice_map.py, so pyvesync (tested on 3.4.2) silently drops it —manager.devicesends up empty andupdate()logsNo devices to update. In Home Assistant this surfaces as a successfully-authenticated VeSync integration with zero devices, which is confusing to debug (nothing hints an unsupported device was skipped).Raw device-list payload (identifiers redacted)
{ "deviceRegion": "US", "isOwner": true, "deviceName": "Smart Air Fryer Toaster Oven", "cid": "vssk240e05d4...", "deviceStatus": "off", "connectionStatus": "online", "connectionType": "wifi+BTOnboarding", "deviceType": "CTO-R301S-SUSW", "type": "SKA", "uuid": "af3f84b3-....", "configModule": "VS_WFBO_OVN_CTO-R301S_OFL_US", "macID": "44:1d:64:...", "deviceFirstSetupTime": "Jul 16, 2026 8:36:49 PM", "subDeviceList": null, "extension": null, "deviceProp": null }Ask
Add the
CTO-R301S(and ideally theVS_WFBO_OVNfamily) to the device map — even status-only support (on/off, cook state, remaining time, temperatures) would be valuable for Home Assistant users. The VeSync app exposes cook mode, target/current temp, timer, and start/stop for this device.Happy to capture API traffic for specific endpoints, run test builds against the physical device, or provide additional payloads — the unit is on my bench and I can iterate quickly.
Also noting the debugging papercut: an
INFO/WARNINGlog naming skipped unsupporteddeviceTypes would have saved a lot of head-scratching versus the bareNo devices to update.