Improve error messages for failed commands from DeviceSet
Simplify BaseCmd.getMsg to return textMsg if available, else hubMsg (not both)