Open
Description
This issue seems somewhat similar to #745
Expected Behavior
With databroker backed by intake I am able to access the configuration parameters of devices like this:
db = databroker.catalog['xyz']
run = db[-1]
run.primary.config['det'].read()
This gives an xarray of device configuration parameters. I would like the same functionality using a databroker with a tiled server like this:
from tiled.client import from_uri
db = from_uri("http://localhost:8000/api")
run = db[-1]
run.primary.config['det'].read()
Current Behavior
I get the following error when I try to access the config data:
HTTPStatusError: Server error '500 Internal Server Error' for url 'http://localhost:8000/api/v1/metadata/df8df11a-28f6-4e43-af52-e9c5722d271a/primary/config/det'
For more information, server admin can search server logs for correlation ID None.
Possible Solution
Steps to Reproduce (for bugs)
from bluesky import RunEngine
from bluesky.plans import scan
from ophyd.sim import det,motor
from tiled.client import from_uri
## Set up env
RE = RunEngine({})
db = from_uri("http://localhost:8000",api_key="secret")
def post_document(name,doc):
db.post_document(name, doc)
RE.subscribe(post_document)
RE(scan([det],motor,1,2,10))
db[-1].primary.config['motor'].read() # this somehow returns config data
db[-1].primary.config['det'].read() # this fails
Context
I want to use the data inside the configuration parameters to populate a Nexus File . Similarly to the Issue #745 the data is still accessible under:
run.primary.data.metadata['descriptors'][0]['configuration']['det']['data']
Your Environment
databroker==2.0.0b46
tiled==0.1.0b7
Metadata
Metadata
Assignees
Labels
No labels