SafeOrBeamPositioner and Blower devices have no name attribute in the __init__.py method. Instead, the prefix is passed as name to the parent.
This isn't an immediate issue because the DeviceManager within dodal and the DeviceProcessor within ophyd-async end up renaming the device anyway to the function name / attribute name so was never detected via tests. However, to keep the API consistent, and to wire in the correct name when the device is first initialised, this should be corrected to add an optional name attribute and passed to the parent classes like all other devices.
SafeOrBeamPositioner and Blower devices have no name attribute in the
__init__.pymethod. Instead, the prefix is passed as name to the parent.This isn't an immediate issue because the
DeviceManagerwithin dodal and theDeviceProcessorwithin ophyd-async end up renaming the device anyway to the function name / attribute name so was never detected via tests. However, to keep the API consistent, and to wire in the correct name when the device is first initialised, this should be corrected to add an optional name attribute and passed to the parent classes like all other devices.