henrygd/beszel · warning
no SMART data in response
Error message
no SMART data in response
What it means
unmarshalLegacyResponse returns this when a GetSmartData response has resp.SmartData == nil for either dest type (*map[string]smart.SmartData or *smart.SmartDataResponse). The agent responded but included no S.M.A.R.T. data.
Source
Thrown at internal/hub/transport/transport.go:94
return errors.New("no logs in response")
}
*d = *resp.String
return nil
case common.GetContainerInfo:
d, ok := dest.(*string)
if !ok {
return fmt.Errorf("unexpected dest type for GetContainerInfo: %T", dest)
}
if resp.String == nil {
return errors.New("no info in response")
}
*d = *resp.String
return nil
case common.GetSmartData:
switch d := dest.(type) {
case *map[string]smart.SmartData:
if resp.SmartData == nil {
return errors.New("no SMART data in response")
}
*d = resp.SmartData
return nil
case *smart.SmartDataResponse:
if resp.SmartData == nil {
return errors.New("no SMART data in response")
}
d.Data = resp.SmartData
d.Complete = resp.SmartComplete
return nil
default:
return fmt.Errorf("unexpected dest type for GetSmartData: %T", dest)
}
case common.GetSystemdInfo:
d, ok := dest.(*systemd.ServiceDetails)
if !ok {
return fmt.Errorf("unexpected dest type for GetSystemdInfo: %T", dest)
}View on GitHub (pinned to b38fb7dafa)
Solutions
- Verify smartctl is installed and runnable (sudo smartctl --scan) on the agent host
- Remove nonexistent disks from the hub's disk configuration, or add matching disks
- Update the agent to a version supporting SMART data
- Grant the agent permission to run smartctl (sudoers / capabilities)
- If SMART is genuinely unavailable (VM), disable SMART monitoring for that system
Defensive patterns
Strategy: validation
Validate before calling
// only request SMART data for hosts/disks that support it
if !hostSupportsSmart(host) { // e.g. bare metal with smartctl installed
return nil
} Try / catch
if err := UnmarshalResponse(resp, common.GetSmartData, dest); err != nil {
if strings.Contains(err.Error(), "no SMART data") {
return nil // disable SMART panel for this system
}
return err
} Prevention
- Install smartctl on agent hosts and grant permission
- Remove VM/unsupported disks from SMART monitoring config
- Verify disks exist before adding them to the hub
When it happens
Trigger: UnmarshalResponse on a GetSmartData request where the legacy AgentResponse's SmartData field is nil.
Common situations: Host has no disks supporting SMART (VMs, containers); smartctl not installed or lacking permissions on the agent host; agent version not supporting SMART data; disks in the hub config that don't exist.
Related errors
- no system data in response
- no fingerprint in response
- no logs in response
- no info in response
- system exists
AI-assisted analysis of henrygd/beszel@b38fb7dafa (2026-08-31).
Data as JSON: /api/errors/fe906adce5e0feb6.
Report an issue: GitHub.